[samba-jp:19049] Re: Samba-3.0.23c build error on NetBSD/cobalt 4.99.4

NAKAJI Hiroyuki nakaji @ kankyo-u.ac.jp
2006年 12月 7日 (木) 19:43:26 JST


>>>>> In [samba-jp] 
>>>>>	Takahiro Kambe <taca @ back-street.net> wrote:
> In message <877ix46ndl.fsf @ roddy.4407.kankyo-u.ac.jp>
> 	on Thu, 07 Dec 2006 18:55:50 +0900,
> 	NAKAJI Hiroyuki <nakaji @ kankyo-u.ac.jp> wrote:
> > NetBSD/cobalt 4.99.4 で、Samba-3.0.23c を作るときエラーが生じることがある
> > というお話です。Samba-3.0.23c そのままで、
> > 
> > configure --with-winbind --with-pam --with-pam_smbpass ...
> > 
> > とすると、
> > 
> > Compiling nsswitch/pam_winbind.c with -fPIC -DPIC
> > nsswitch/pam_winbind.c: In function '_winbind_read_password':
> > nsswitch/pam_winbind.c:710: error: 'PAM_AUTHTOK_RECOVER_ERR' undeclared (first use in this function)
> pkgsrcにて、/net/samba/patches/ 以下に、

> $NetBSD: patch-ae,v 1.8 2005/11/14 08:05:27 jlam Exp $

> --- auth/pampass.c.orig	2005-10-12 13:03:28.000000000 -0400
> +++ auth/pampass.c
> @@ -43,6 +43,10 @@
 
>  #include <security/pam_appl.h>
 
> +#ifndef PAM_AUTHTOK_RECOVER_ERR  
> +#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR
> +#endif
> +
>  /*
>   * Structure used to communicate between the conversation function
>   * and the server_login/change password functions.


> といったクダリがあります。NetBSD特有なのか、Open PAMで引っ掛かるのかは
> 定かではありません。

FreeBSD 7.0-CURRENT では同じ configure オプションでもエラーにならなかった
ので、NetBSD 特有なのかもしれません。

…、と思いましたが、nsswitch/pam_winbind.h に、

#if defined(SUNOS5) || defined(SUNOS4) || defined(HPUX) || defined(FREEBSD) || defined(AIX)

/* Solaris always uses dynamic pam modules */
#define PAM_EXTERN extern
#include <security/pam_appl.h> 

#ifndef PAM_AUTHTOK_RECOVER_ERR
#define PAM_AUTHTOK_RECOVER_ERR PAM_AUTHTOK_RECOVERY_ERR
#endif

#endif

というのがあるので、FreeBSD ではエラーにならないのでした。

configure で、これらの OS の判定を行っていますが、NetBSD は判定対象OSに入っ
ていませんでした。

つまり、Samba では NetBSD がそれほど考慮されていないのではないかと考えられ
ます。:-p

configure と pam_winbind.h の修正だけですむような気がしてきましたので、も
うちょっと調べてみます。
-- 
NAKAJI Hiroyuki (中治 弘行)



samba-jp メーリングリストの案内