patchはこのページの後半で取得できる。
| 使用には十分な注意が必要である。 ファイルシステムにダメージが出ても差し支えないような環境で試されたい。 無保証。 |
SambaをNetatalkと共に使う場合、 Netatalkが独自に作る管理用のファイル/ディレクトリにWindowsから干渉できないように、
veto files = /.AppleDouble/.AppleDesktop/Network Trash Folder/Icon?/
のように書くということが、一般的に行われている。
ところでこの中の最後「Icon?」の?マークはワイルドカードで、 任意の一文字にマッチさせるためのものである。 これはMacOSにおいてカスタムアイコンを付けた場合に 「Icon^M」(^Mは16進で0x0dのコード)という名前のファイルができるので、 これをveto filesとして指定したいが、 smb.confに^Mを指定するシンタックスがないので、 次善策としてとる手段である。
この方法では、 Windows側から「Iconプラス1文字」というファイル名を扱うことがまったくできなくなってしまう。
そこでSambaに小さな拡張を施し、 8進数を使って^Mそのものを指定できるようなパッチを作成した。 パッチは、source/lib/util.cのset_namearray()に対する1箇所である。
このパッチを当てると、 veto filesのように、 値としてファイル名を / (スラッシュ)で区切って書くパラメータについて、 ファイル名の一部として \nnn のように文字コードを指定できるようになる。 ここで nnn は1桁から3桁までの8進数である。
従って件のveto filesについては、
veto files = /.AppleDouble/.AppleDesktop/Network Trash Folder/Icon\015/
と書けばよいことになる。
|
使用には十分な注意が必要である。
ファイルシステムにダメージが出ても差し支えないような環境で試されたい。
無保証。
バグを発見した場合は kanai@nadmin.org まで。 |
Samba用 unofficial patch
samba.octal-20001102.diff
このパッチは、 Sambaのバージョン2.0.7 および 2.0.7-ja-2.0(日本語版) に適用できる。