Samba 3.2.0pre2 リリースノート

提供: Samba-JP
移動先: 案内検索

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とアクティブディレクトリの統合
    • Windows 2003 のクロスフォレスト、信頼関係の推移、1方向の信頼ドメインの完全サポート
    • pam_winbindとNSS探索経由の userPrincipalNameログオンのサポート
    • NSS呼び出し経由のネストされたドメイングループの拡張
    • Active Directory LDAP Signingポリシーのサポート
    • 新しい LPGL Winbind クライアントライブラリ (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ホストからの接続に影響します。 アップデートしたパラメータの詳細は"Changes"セクションに書いてあります。


レジストリ構成バックエンド

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