Samba 3.2.0pre2 リリースノート
Samba 3.2.0pre2リリースノート(2008年3月4日)
これは2番目のSamba 3.2.0プレビューリリースです。これは*製品環境を意図したものではなく*テスト用途のみにデザインされたものです。 https://bugzilla.samba.org/ にあるSambaバグ報告システムを経由して、見つかったバグのレポートをお願いします。
Sambaは現在GPL V3で頒布されていることに注意してください。ライセンスのより詳細な条項については、リリースノートに伴っているCOPYINGファイルを参照することができます。
Samba 3.2.0における大きな拡張は以下の通りです:
- ファイルサービス
- いくつかのDCE/RPCインタフェースのためのIDLで生成された解析レイヤの使用
- ホストOSからMAX_PATHで設定されるものを受けた、ファイル名コンポーネントの256バイト制限とパス名上の1024バイト制限がなくなった。
- レジストリベースの構成システムの導入。
- 改良されたCIFS UNIX拡張のサポート。
- ファイルサービスクラスタの実験的なサポート。
- サーバ、クライアントツールとライブラリにおけるIPv6のサポート。
- xattrに代替のデータストリームを保存することのサポート。
- クライアントツール、ライブラリとサーバにおける暗号化SMB転送。
- Kerberos経由のVistaクライアント認証のサポート。
- Winbindとアクティブディレクトリ統合
- Windows2003 におけるフォレスト間、transivive trustと1方向のドメインの信頼の完全サポート。
- pam_winbindとNSSロックアップ経由での userPrincipalNameログオンのサポート。
- NSS呼び出し経由のネストされたドメイングループの拡張。
- Active Directory Signingポリシーのサポート。
- 新しいLPGL Winbind クライアントライブラリ (libwbclient.so)。
- New LGPL Winbind client library (libwbclient.so).
- ドメイン参加(Join)
- ドメインへの参加に関連する問い合わせのための新しいNetApiライブラリ(libnetapi.so)とGTK+ ドメイン参加GUIのサンプル。
- ドメインへのリモートでの参加と脱退のための新しいクライアントとサーバサポート。
- Windows 2008 ドメインへの参加のサポート。
- ユーザとグループ
- ローカルグループマッピングテーブルのための新しいldbバックエンド。
- 認証操作のための、セキュリティ規定値のレベルの向上。
- ドキュメント
- オライリーからの"Using Samba"第三版のHTMLバージョンドキュメントの同梱。
ライセンスがGPLv3になりました
Sambaチームは3.2とそれ以降のリリースについて、バージョン3のGNU一般公的利用許諾を適用することにしました。GPLv3は現在頒布されているSambaに適用しているGPLv2ライセンスの更新版です。 これは他のライセンスとの互換性を改善するために更新されたもので、21世紀のフリーソフトウェアが必要とすることに対してよりよく対応している更新されたバージョンのライセンスです。
オリジナルの通知は以下にあります。
http://news.samba.org/announcements/samba_gplv3/
認証のための新しいセキュリティ既定値
クライアントとサーバアプリケーション両方で、LanManパスワードのサポートが無効になりました。 さらに追加で、smbclientやすべてのlibsmbclientベースのアプリのようなクライアントユーティリテイ中で、既定値で、平文認証要求は無効になりました。 これは、DOS、Windows 9x/MEとOS/2ホストからの接続に影響します。 アップデートしたパラメータの詳細は"変更点"セクションに書いてあります。
レジストリ構成バックエンド
Sambaはsmb.conf設定の補助として、レジストリベースの構成バックエンドを使う ことができるようになりました。この機能は、smb.confの[global]セクション中で "config backend = registry" と "registry shares = yes" を設定することで 有効にでき、また、"net conf" コマンドで管理することができます。
より詳細な情報は、smb.conf(5)と net(8)マニュアルページにあります。
なくなった機能
Pythonバインディングとlibmsprc共有ライブラリは公式なメンテナがいなくなったために削除されました。
現在のkernelバージョン中では smbfsはもはやサポートされず、smbmountはこのSambaバージョンでは削除されました。その代わりにcifs(mount.cifs)を使ってください。 smbmount/mount.smbfsの代わりにmount.cifsを呼び出すラッパの例は、examples/scripts/mount/mount.smbfsにあります。
libsmbclientのAPI変更
より簡単に読めるようにソースコードの構成を維持する一方で、libsmbclient のABI互換性を維持することは、非常に難しくなりました。 ABI互換性を維持し、コードの保守と拡張をより簡単にするという目標に向かって、APIが拡張されました。 特に、SMBCCTXコンテクスト構造体のフィールドは、ユーザーによる参照、更新を意図しておらず、利用は推奨されていません。 これまでSMBCCTXコンテクスト構造体のメンバーにアクセスしてきたアプリケーションは、再コンパイルの際に警告が行われるでしょう。 これは意図的なものであるため、新しいインターフェースに合わせた多少の変更を実装することを推奨します。 ほとんど大部分のアプリケーションでは変更箇所の多くが少しの変更だけで、多くのアプリケーションでは変更そのものが必要ないでしょう。 例えば、KDE (konqueror)では新しいインターフェースに合わせた変更が必要なことを確認しましたが、それは1つのファイルのたった4行の変更だけでした。
アプリケーションが自身でコンテクスト構造体の値を更新したり、参照したりするかわりに、構造体のそれぞれ設定可能なメンバーについて、setter(更新)とgetter(参照)の関数が用意されました。 同様に smbc_option_get() と smbc_option_set()関数の代わりに、setterとgetterインターフェースが用意されました。 setterとgetterは、libsmbclient.hの下記のコメントブロックに、すべて記載されています。
Getters and setters for CONFIGURATION Getters and setters for OPTIONS Getters and setters for FUNCTIONS Callable functions for files Callable functions for directories Callable functions applicable to both files and directories
"deprecated"の警告を削除するために必要な変更例を示します。
/* Set the debug level */ context->debug = 99;
次のように変更してください。
smbc_setDebug(context, 99);
/* Specify the authentication callback function */ context->callbacks.auth_fn = auth_smbc_get_data;
次のように変更してください。
smbc_setFunctionAuthData(context, auth_smbc_get_data);
/* Specify the new-style authentication callback with context parameter */ smbc_option_set("auth_function", auth_smbc_get_data_with_ctx);
次のように変更してください。
smbc_setFunctionAuthDataWithContext(context, auth_smbc_get_data_with_ctx);
/* Set kerberos flags */ context->flags = (SMB_CTX_FLAG_USE_KERBEROS | SMB_CTX_FLAG_FALLBACK_AFTER_KERBEROS);
次のように変更してください。
smbc_setOptionUseKerberos(context, 1); smbc_setOptionFallbackAfterKerberos(context, 1);
Changes
smb.conf のパラメーター変更
パラメーター名 更新内容 デフォルト値 -------------- ----------- ------- client lanman auth デフォルト値変更 No client ldap sasl wrapping 新規 plain client plaintext auth デフォルト値変更 No clustering 新規 No cluster addresses 新規 "" config backend 新規 file ctdb socket 新規 "" debug class 新規 No administrative share 新規 No lanman auth デフォルト値変更 No ldap debug level 新規 0 ldap debug threshold 新規 10 mangle map 削除 min receive file size 新規 0 open files database hashsize 削除 read bmpx 削除 registry shares 新規 No winbind expand groups 新規 1 winbind rpc only 新規 No