2009年11月18日(Wed)

OpenSolarisのCIFS共有にFreeBSDのmount_smbfsで接続する

…と失敗します。OpenSolaris側のログには

Nov 18 08:54:18 opensolaris smbd[386]: [ID 653746 daemon.notice] SmbLogon[WORKGROUPN\USERNAME]: NO_SUCH_USER

と残っています。

失敗する理由はmount_smbfsがユーザー名を大文字に変換しておりOpenSolarisがこれを受け付けないためなのですが、CIFSの仕様上どっちが正しいのかはわかりません。FreeBSD側で大文字に変換するのを止める(というか小文字に変換する)ようにしたら接続できました。以下のパッチを当てて、libsmbを作り直し(/usr/src/lib/libsmbでmake)です。

*** /usr/src/contrib/smbfs/lib/smb/ctx.c.old    2009-05-10 19:16:09.000000000 +0900
--- /usr/src/contrib/smbfs/lib/smb/ctx.c        2009-11-18 09:19:15.000000000 +0900
***************
*** 331,337 ****
                smb_error("user name '%s' too long", 0, name);
                return ENAMETOOLONG;
        }
!       nls_str_upper(ctx->ct_ssn.ioc_user, name);
        return 0;
  }

--- 331,337 ----
                smb_error("user name '%s' too long", 0, name);
                return ENAMETOOLONG;
        }
!       nls_str_lower(ctx->ct_ssn.ioc_user, name);
        return 0;
  }

ただし、(このパッチとは関係なく)日本語通りません。日本語通らないならNFSでもいいような。


タグ

www.flickr.com
This is a Flickr badge showing public items from suzukis tagged with japan. Make your own badge here.

最近の話題 RSS feed

最近のコメント

この日記のはてなブックマーク数
メール("no-spam."を削除してください)