SWATでnmbdの起動ステータスが取得できない

提供: Samba-JP
移動先:案内検索
KB番号 J0051
最終更新日 2001/08/07
作成者 たかはしもとのぶ
最終更新者

対象

この文書は、以下のプロダクトに付いて説明したものです。

  • Samba 2.0.10日本語版リリース1.0

現象

Samba 2.0.10 日本語版リリース1.0にバージョンアップすると、以下のような現象が発生することがあります。

  • SWATで「動作状況」からnmbdの動作状況を確認すると、常に「停止中」にみえる
  • Sambaがマスタブラウザとして機能しない
  • ブラウズリスト上でSambaサーバが確認できない

原因

これはSamba 2.0.10日本語版リリース1.0の不具合で、シングルバイトのcoding systemパラメータを指定した場合(デフォルトの場合)に発生します。

lib/util_str.c 中の Strncpy() および Strncpy_fill() 関数は、global_is_multibyte_codepage が False の場合に、while() 中で n が一つ余計に減算されてしまいます。 この為、文字列が 15 文字未満の場合には空文字の数が一つ狂うことで、文字列の長さが1バイト短くなってしまい、予想外の事象が発生する可能性があります。また15 文字以上あった場合には MAX_INT ほど buffer overrun してしまいます。これは非常に危険です。

対処策

この問題に対応したSamba 2.0.10日本語版リリース1.1を利用してください。

この技術情報は sugj-tech:3872, samba-jp:10452 からの一連のスレッドの議論を元に作成されています。