yawsのwebdavサポートの謎

HTTPでファイルサーバにアクセスできるwebdavって便利ですよね。並行指向パラダイム言語のerlangで開発されているWebサーバyawsでもwebdavサポートがされているらしいので、早速試した見たという話。

設定

yaws.confのバーチャルサーバセクションに以下のように書くだけ。

dav=true

apacheでも同じような感じだけど、この後がyawsではドハマり。

yaws-1.87でやってみた

ダメですねぇ。マウントできず、話にならない。ということで、いつものようにパッチを作成。これで、Windows XP対応の netdrive.exe であれば普通にwebdavサーバとして振る舞ってくれるはずです。
yaws-1.87-dav.patch

変更点の骨子

  1. OPTIONS *のサポート(多分意味は無い)
  2. ファイル書き込みの際、Content-Lengthタイプのバグ修正
  3. PROPFINDで存在しないファイルの場合500じゃなくて404を返す。
  4. PROPPATCHでいろいろごにょごにょしたけど成果はゼロ。
  5. でもWindowsのnetdrive.exeではかなり幸せ。

今の問題点

  1. MacOSXではリードオンリーボリュームとなる
  2. まだPROPPATCHをサポートしていない
  3. もちろんLOCKもサポートしていない(OPTIONSの応答は嘘)

ソースを見るとところどころ、'FIX ME'とあるので作成者は直して欲しいはずだったのに、誰も直してくれなかったのねって感じです。
反響があれば、本家にもフィードバックしますけど、興味ある人いるのだろうか。
あ、反響というのは、パッチのバグ状況という意味でです。