ja-samba3。

職場で試験運用ちうの産婆鯖を3.0.23へportupgradeしようとしたら,コンパイル エラーが発生。関数 strupper_m, strlower_m への引数が足らん,と。ぐぐったところ, パッチ samba-3.0.23-i18n-20060712 に問題がある模様。
そのパッチは, lib/util_str.c に定義されている同関数を書き換えており,引数が1個から2個に変わっている。ソース中のコメントを見ると, “文字コード セットのなかには,大文字←→小文字の変換を行うとバイト数が増えるものがある” とのことで,変換後の文字列を納めるバッファのサイズを第2引数で貰うやうにした様子だ。この部分は前バージョン3.0.22でも同じで,関数の内容も変わっていない…が! 3.0.23ではそれらを呼び出すところで,引数が1個のままになっている箇所がある。まさにここで,コンパイル エラーを起こしていた。

引数が1個のままの箇所
関数ファイル
strupper_mnsswitch/winbindd_pam.c501
utils/net_ads.c968
strlower_mnsswitch/winbindd_pam.c552
utils/net_ads.c972

この4箇所だけなら,手で直してもよさそうだったが,バッファ サイズをどうすべきかいまいっちょ判らなかったので放置 w。これらのファイルは, make configでActive Directory support, WinBIND supportを無効にしておけばコンパイルされないので,とりあえずそれで回避した。