port from Linux-PAM 0.79 to 0.99.6.2

Thorsten Kukuk kukuk at suse.de
Wed Nov 21 09:11:32 UTC 2007


On Tue, Nov 20, PoWah Wong wrote:

> I have old programs using Linux-PAM 0.79.  I like to
> use 0.99.6.2.
> 0.99.6.2 is compiled successfully.
> Compiling the old programs with 0.99.6.2 have these
> errors.

This looks more like you try to compile 0.99.6.2 with
old headers from Linux-PAM 0.79 and that fails.

> Any document or thread for porting?
> 
> $ make
> ...
> if gcc -DHAVE_CONFIG_H -I. -I. -I..   
> -I../libpam/include -I../libpamc/include
> -I../libpam_misc/include -g -O2 -W -Wall
> -Wbad-function-cast -Wcast-align -Wcast-qual
> -Wmissing-declarations -Wmissing-prototypes
> -Wpointer-arith -Wreturn-type -Wstrict-prototypes
> -Wwrite-strings -Winline -Wshadow -MT
> pam_unix_passwd.o -MD -MP -MF
> ".deps/pam_unix_passwd.Tpo" -c -o pam_unix_passwd.o
> pam_unix_passwd.c; \
>         then mv -f ".deps/pam_unix_passwd.Tpo"
> ".deps/pam_unix_passwd.Po"; else rm -f
> ".deps/pam_unix_passwd.Tpo"; exit 1; fi
> pam_unix_passwd.c:38:33: error: security/_pam_aconf.h:
> No such file or directory

_pam_aconf.h is an Linux-PAM internal config header and should have
never been installed before. It does not exist any longer, you should
remove the inclusion from your code.

> pam_unix_passwd.c:76:35: error:
> security/_pam_modutil.h: No such file or directory

It security/pam_modutil.h now.

PAM header files starting with "_" should not be used directly
by developers.

> pam_unix_passwd.c:78:22: error: yppasswd.h: No such
> file or directory
> pam_unix_passwd.c:79:17: error: md5.h: No such file or
> directory
> pam_unix_passwd.c:80:21: error: support.h: No such
> file or directory

This are all internal files from Linux-PAM and all there.

> pam_unix_passwd.c: In function ‘crypt_md5_wrapper’:
> pam_unix_passwd.c:155: error: ‘MD5_CTX’ undeclared
> (first use in this function)
> pam_unix_passwd.c:155: error: (Each undeclared
> identifier is reported only once
> pam_unix_passwd.c:155: error: for each function it
> appears in.)
> pam_unix_passwd.c:155: error: expected ‘;’ before
> ‘ctx’
> pam_unix_passwd.c:162: warning: implicit declaration
> of function ‘GoodMD5Init’
> pam_unix_passwd.c:162: error: ‘ctx’ undeclared (first
> use in this function)
> pam_unix_passwd.c:164: warning: implicit declaration
> of function ‘GoodMD5Update’
> pam_unix_passwd.c:170: warning: implicit declaration
> of function ‘GoodMD5Final’
> pam_unix_passwd.c:178: warning: implicit declaration
> of function ‘Goodcrypt_md5’
> pam_unix_passwd.c:178: warning: assignment makes
> pointer from integer without a cast
> pam_unix_passwd.c: In function ‘getNISserver’:
> pam_unix_passwd.c:190: warning: implicit declaration
> of function ‘_log_err’
> pam_unix_passwd.c:199: error: ‘YPPASSWDPROG’
> undeclared (first use in this function)
> pam_unix_passwd.c:199: error: ‘YPPASSWDPROC_UPDATE’
> undeclared (first use in this function)
> pam_unix_passwd.c: In function ‘check_old_password’:
> pam_unix_passwd.c:232: warning: initialization makes
> pointer from integer without a cast
> pam_unix_passwd.c:234: warning: implicit declaration
> of function ‘_pam_delete’
> pam_unix_passwd.c: In function ‘save_old_password’:
> pam_unix_passwd.c:340: warning: implicit declaration
> of function ‘_pammodutil_getpwnam’
> pam_unix_passwd.c:340: warning: assignment makes
> pointer from integer without a cast
> pam_unix_passwd.c: In function ‘_do_setpass’:
> pam_unix_passwd.c:545: warning: implicit declaration
> of function ‘_unix_comesfromsource’
> pam_unix_passwd.c:551: warning: implicit declaration
> of function ‘on’
> pam_unix_passwd.c:551: error: ‘UNIX_SHADOW’ undeclared
> (first use in this function)
> pam_unix_passwd.c:551: warning: implicit declaration
> of function ‘_unix_shadowed’
> pam_unix_passwd.c:559: error: ‘UNIX_NIS’ undeclared
> (first use in this function)
> pam_unix_passwd.c:561: error: storage size of ‘yppwd’
> isn’t known
> pam_unix_passwd.c:593: error: ‘YPPASSWDPROG’
> undeclared (first use in this function)
> pam_unix_passwd.c:593: error: ‘YPPASSWDVERS’
> undeclared (first use in this function)
> pam_unix_passwd.c:598: error: ‘YPPASSWDPROC_UPDATE’
> undeclared (first use in this function)
> pam_unix_passwd.c:598: error: ‘xdr_yppasswd’
> undeclared (first use in this function)
> pam_unix_passwd.c:561: warning: unused variable
> ‘yppwd’
> pam_unix_passwd.c: In function ‘_unix_verify_shadow’:
> pam_unix_passwd.c:634: warning: unused parameter
> ‘ctrl’
> pam_unix_passwd.c: In function
> ‘_pam_unix_approve_pass’:
> pam_unix_passwd.c:715: error: ‘UNIX_DEBUG’ undeclared
> (first use in this function)
> pam_unix_passwd.c:718: warning: implicit declaration
> of function ‘_make_remark’
> pam_unix_passwd.c:727: warning: dereferencing
> type-punned pointer will break strict-aliasing rules
> pam_unix_passwd.c:744: error: ‘UNIX_REMEMBER_PASSWD’
> undeclared (first use in this function)
> pam_unix_passwd.c: In function ‘pam_sm_chauthtok’:
> pam_unix_passwd.c:777: warning: implicit declaration
> of function ‘_set_ctrl’
> pam_unix_passwd.c:794: error: ‘UNIX_DEBUG’ undeclared
> (first use in this function)
> pam_unix_passwd.c:820: warning: implicit declaration
> of function ‘_unix_getpwnam’
> pam_unix_passwd.c:839: error: ‘UNIX__NONULL’
> undeclared (first use in this function)
> pam_unix_passwd.c:840: warning: implicit declaration
> of function ‘set’
> pam_unix_passwd.c:840: error: ‘UNIX__NULLOK’
> undeclared (first use in this function)
> pam_unix_passwd.c:842: error: ‘UNIX__PRELIM’
> undeclared (first use in this function)
> pam_unix_passwd.c:851: warning: implicit declaration
> of function ‘_unix_blankpasswd’
> pam_unix_passwd.c:869: error: ‘UNIX__OLD_PASSWD’
> undeclared (first use in this function)
> pam_unix_passwd.c:870: warning: implicit declaration
> of function ‘_unix_read_password’
> pam_unix_passwd.c:885: warning: implicit declaration
> of function ‘_unix_verify_password’
> pam_unix_passwd.c:905: warning: implicit declaration
> of function ‘off’
> pam_unix_passwd.c:905: error: ‘UNIX__IAMROOT’
> undeclared (first use in this function)
> pam_unix_passwd.c:911: error: ‘UNIX__UPDATE’
> undeclared (first use in this function)
> pam_unix_passwd.c:932: error: ‘UNIX_NOT_SET_PASS’
> undeclared (first use in this function)
> pam_unix_passwd.c:934: warning: dereferencing
> type-punned pointer will break strict-aliasing rules
> pam_unix_passwd.c:937: warning: dereferencing
> type-punned pointer will break strict-aliasing rules
> pam_unix_passwd.c:954: error: ‘UNIX_USE_AUTHTOK’
> undeclared (first use in this function)
> pam_unix_passwd.c:955: error: ‘UNIX_USE_FIRST_PASS’
> undeclared (first use in this function)
> pam_unix_passwd.c:1057: error: ‘UNIX_MD5_PASS’
> undeclared (first use in this function)
> pam_unix_passwd.c:1073: error: ‘UNIX_BIGCRYPT’
> undeclared (first use in this function)
> make[2]: *** [pam_unix_passwd.o] Error 1
> make[2]: Leaving directory
> `/home/powah/util_vob_pam/Linux-PAM-0.99.6.2/examples'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory
> `/home/powah/util_vob_pam/Linux-PAM-0.99.6.2'
> make: *** [all] Error 2
> 
> 
> 
> 
>       Ask a question on any topic and get answers from real people. Go to Yahoo! Answers and share what you know at http://ca.answers.yahoo.com
> 
> _______________________________________________
> Pam-list mailing list
> Pam-list at redhat.com
> https://www.redhat.com/mailman/listinfo/pam-list

-- 
Thorsten Kukuk, Project Manager/Release Manager SLES
SUSE LINUX Products GmbH, Maxfeldstr. 5, D-90409 Nuernberg
GF: Markus Rex, HRB 16746 (AG Nuernberg)




More information about the Pam-list mailing list