2007-07-10

pound + https + mod_dav_svn

poundでHTTPSを受けてmod_dav_svn(apache22+subversion1.4.3)に流すとsvn copyとかで400 Bad gatewayを喰らう。

http://www.apsis.ch/pound/pound_list/archive/2007/2007-03/1172871379000

によれば RewriteDestination 1 すれば通るはず。んが通らない。

ソースおっかけてrewrite destinationしてるとこのURLを表示してみたら、パスが「//」で始まっていた。これはあやしいと修正してみたら通った!


--- http.c.orig Fri May 18 17:34:53 2007
+++ http.c Tue Jul 10 13:13:31 2007
@@ -818,7 +818,7 @@
}
str_be(caddr, MAXBUF - 1, cur_backend);
strcpy(loc_path, buf + matches[3].rm_so);
- snprintf(buf, MAXBUF, "Destination: http://%s/%s", caddr, loc_path);
+ snprintf(buf, MAXBUF, "Destination: http://%s%s", caddr, loc_path);
free(headers[n]);
if((headers[n] = strdup(buf)) == NULL) {
logmsg(LOG_WARNING, "rewrite Destination - out of memory: %s", strerror(errno));


この現象が出るのは特定の組み合わせだけなのかな?