OS X LionからSambaにアクセスできない

LionになってSambaがAppleのオリジナルコードで置き換えられたらしく、Sambaで共有されてるNASをマウントできない。
この記事に従ってハックするとマウント出来るらしいのだが、自分の場合出来なかったので代替策。

MacPortsでsamba3をインストールする。samba4はなぜかうまく接続できないので使わない。

sudo port install samba3 +universal

このとき、samba4がインストールされているとビルドに失敗するらしい(これに気づくのに時間がかかった)ので、その場合にはdeactivateするなりしておく。

sudo port deactivate samba4

samba3をインストールすると、smbclientが使えるようになる。smbclientを使うとftpコマンドのようにsambaサーバーにアクセスできる。


これでも使えることは使えるのだが、コマンドベースだとなかなか使いにくい。やっぱりマウント出来たほうがありがたい。調べてみると幾つかマウントするためのツールがあるみたいだけど、うまくビルドできなかったり。
そこでlibsmbclientのAPIを使ってsambaをマウントするFuseを勉強がてら書いてみた。

libsmbclientはマルチスレッドには対応していないらしいので、mutex lockをかけている。
読み込むアドレスとかユーザー名パスワードとかがハードコーディングされてるのがちょっと問題。どうやってFuseのオプションと協調すべきなのかよくわからなかったので放置。