#を含む文字は鬼門?
untitled.s#1 という名前のファイルを dav_svn 経由で投げ込もうとしてハマる.httpdのエラーメッセージはこんな感じ.
[error] [client 192.168.0.90] buggy client used un-escaped hash in Request-URI
なんじゃらほい.
エラーログをさらに詳細に取ってみる.
[Wed Nov 05 17:50:31 2008] [debug] mod_auth_apple2.c(448): [client ] mod_auth_apple: Cache hit for user monaka uri /secret/SashimiKnife/trunk/untitled.s took 0 ms; result = 'success' [Wed Nov 05 17:50:31 2008] [debug] mod_auth_apple2.c(492): [client 192.168.0.90] mod_auth_apple: Short name for user hogehoge set to hogehoge [Wed Nov 05 17:50:31 2008] [info] [client 192.168.0.90] mod_auth_apple: Authenticated user hogehoge uri /secret/SashimiKnife/trunk/untitled.s [Wed Nov 05 17:50:31 2008] [debug] mod_digest_apple2.c(688): [client 192.168.0.90] mod_digest_apple: Declining non-digest auth_type [Wed Nov 05 17:50:31 2008] [info] [client 192.168.0.90] mod_auth_apple: Authorized user 'hogehoge' uri '/secret/SashimiKnife/trunk/untitled.s' per group 'webdav' [Wed Nov 05 17:50:31 2008] [error] [client 192.168.0.90] buggy client used un-escaped hash in Request-URI
ううーむ.確かに # の後ろがブッ飛んでるなぁ….
Lepard 付属の svnやsvkが古いからかと思って,TortoiseSVNの最新を落としてきてWindows上でやってみたものの,同様のエラーが出るっぽい.
検索すると,2004年頃に同様の話題がどこかのMLで出ていたらしいが,解決法は出ていない.
もしかして,Leopard Server 付属の dav_svn に問題があるのかしら.
仮にTortoiseSVNと他のバージョンのdav_svnでも再現するとなると,もっと声が挙っていても不思議ではないはずだし.
tcpdumpでおっかけてみた.
しつこく.
0x0000: 4500 013e 0310 4000 4006 b469 c0a8 005a E..>..@.@..i...Z 0x0010: c0a8 0096 f4e7 0050 5a70 6453 4f3e 1f07 .......PZpdSO>.. 0x0020: 8018 ffff 0ce5 0000 0101 080a 1e62 4d74 .............bMt 0x0030: 2716 3229 5052 4f50 4649 4e44 202f 7365 '.2)PROPFIND./se (中略) 0x0050: 652f 7472 756e 6b2f 756e 7469 746c 6564 e/trunk/untitled 0x0060: 2e73 2532 3333 2048 5454 502f 312e 310d .s%233.HTTP/1.1.
うーむ.ちゃんとエスケーブしているように見えるのだが,戻ってくるのは…
0x0000: 4500 036f ae04 4000 4006 0744 c0a8 0096 E..o..@.@..D.... 0x0010: c0a8 005a 0050 f506 4fb9 44ed cd50 9438 ...Z.P..O.D..P.8 0x0020: 8018 ffff d3f6 0000 0101 080a 2716 3db5 ............'.=. 0x0030: 1e62 58fe 4854 5450 2f31 2e31 2034 3030 .bX.HTTP/1.1.400 0x0040: 2042 6164 2052 6571 7565 7374 0d0a 4461 .Bad.Request..Da 0x0050: 7465 3a20 5765 642c 2030 3520 4e6f 7620 te:.Wed,.05.Nov.
こいつだ.