mailing list of musl libc
 help / color / mirror / code / Atom feed
* make -i with linux-pam
@ 2012-05-14  3:58 Isaac Dunham
  2012-05-14  4:11 ` Rich Felker
  0 siblings, 1 reply; 19+ messages in thread
From: Isaac Dunham @ 2012-05-14  3:58 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 126 bytes --]

Here's the log from running make -i (a second time) in linux-pam

(current musl, with strdupa added to string.h)

Isaac Dunham

[-- Attachment #2: errlog-pam --]
[-- Type: application/octet-stream, Size: 54158 bytes --]

make  all-recursive
make[1]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3'
Making all in libpam
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam'
Making all in tests
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/tests'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/tests'
Making all in libpamc
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc'
Making all in test
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc/test'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc/test'
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc'
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpamc'
Making all in libpam_misc
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam_misc'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam_misc'
Making all in modules
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules'
Making all in pam_access
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_access'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_access'
Making all in pam_cracklib
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_cracklib'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_cracklib'
Making all in pam_debug
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_debug'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_debug'
Making all in pam_deny
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_deny'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_deny'
Making all in pam_echo
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_echo'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_echo'
Making all in pam_env
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_env'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_env'
Making all in pam_exec
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_exec'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_exec'
Making all in pam_faildelay
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_faildelay'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_faildelay'
Making all in pam_filter
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter'
Making all in upperLOWER
make[4]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter/upperLOWER'
make[4]: Nothing to be done for `all'.
make[4]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter/upperLOWER'
make[4]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter'
make[4]: Nothing to be done for `all-am'.
make[4]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter'
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_filter'
Making all in pam_ftp
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_ftp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_ftp'
Making all in pam_group
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_group'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DPAM_GROUP_CONF=\"/opt/musl/etc/security/group.conf\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_group.la -rpath /opt/musl/lib/security pam_group.lo -L../../libpam -lpam 
libtool: link: musl-gcc -shared  .libs/pam_group.o   -Wl,-rpath -Wl,/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs -Wl,-rpath -Wl,/opt/musl/lib -L/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam /home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs/libpam.so -lssp_nonshared -ldl  -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname -Wl,pam_group.so -o .libs/pam_group.so
.libs/pam_group.o: In function `check_account':
pam_group.c:(.text+0x12fe): undefined reference to `innetgr'
collect2: ld returned 1 exit status
make[3]: [pam_group.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_group'
Making all in pam_issue
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_issue'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_issue'
Making all in pam_keyinit
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_keyinit'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_keyinit'
Making all in pam_lastlog
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_lastlog'
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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_lastlog.lo -MD -MP -MF .deps/pam_lastlog.Tpo -c -o pam_lastlog.lo pam_lastlog.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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_lastlog.lo -MD -MP -MF .deps/pam_lastlog.Tpo -c pam_lastlog.c  -fPIC -DPIC -o .libs/pam_lastlog.o
pam_lastlog.c: In function ‘last_login_read’:
pam_lastlog.c:167: error: ‘_PATH_LASTLOG’ undeclared (first use in this function)
pam_lastlog.c:167: error: (Each undeclared identifier is reported only once
pam_lastlog.c:167: error: for each function it appears in.)
pam_lastlog.c: In function ‘last_login_write’:
pam_lastlog.c:268: error: ‘_PATH_LASTLOG’ undeclared (first use in this function)
pam_lastlog.c:325: warning: implicit declaration of function ‘logwtmp’
pam_lastlog.c: In function ‘last_login_date’:
pam_lastlog.c:341: error: ‘_PATH_LASTLOG’ undeclared (first use in this function)
make[3]: [pam_lastlog.lo] Error 1 (ignored)
mv -f .deps/pam_lastlog.Tpo .deps/pam_lastlog.Plo
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_lastlog.la -rpath /opt/musl/lib/security pam_lastlog.lo -L../../libpam -lpam -lutil 
libtool: link: `pam_lastlog.lo' is not a valid libtool object
make[3]: [pam_lastlog.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_lastlog'
Making all in pam_limits
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_limits'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_limits'
Making all in pam_listfile
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_listfile'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_listfile'
Making all in pam_localuser
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_localuser'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_localuser'
Making all in pam_loginuid
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_loginuid'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_loginuid'
Making all in pam_mail
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_mail'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_mail'
Making all in pam_mkhomedir
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_mkhomedir'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_mkhomedir'
Making all in pam_motd
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_motd'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_motd'
Making all in pam_namespace
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_namespace'
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DSECURECONF_DIR=\"/opt/musl/etc/security/\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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_namespace.lo -MD -MP -MF .deps/pam_namespace.Tpo -c -o pam_namespace.lo pam_namespace.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DSECURECONF_DIR=\"/opt/musl/etc/security/\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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_namespace.lo -MD -MP -MF .deps/pam_namespace.Tpo -c pam_namespace.c  -fPIC -DPIC -o .libs/pam_namespace.o
In file included from pam_namespace.c:37:
pam_namespace.h:169: error: ‘LOGIN_NAME_MAX’ undeclared here (not in a function)
pam_namespace.c: In function ‘process_line’:
pam_namespace.c:307: warning: initialization from incompatible pointer type
pam_namespace.c: In function ‘parse_config_file’:
pam_namespace.c:548: warning: passing argument 2 of ‘pam_modutil_getpwnam’ from incompatible pointer type
../../libpam/include/security/pam_modutil.h:57: note: expected ‘const char *’ but argument is of type ‘const char **’
pam_namespace.c:551: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘const char **’
pam_namespace.c:560: warning: passing argument 2 of ‘pam_modutil_getpwnam’ from incompatible pointer type
../../libpam/include/security/pam_modutil.h:57: note: expected ‘const char *’ but argument is of type ‘const char **’
pam_namespace.c:563: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘const char **’
pam_namespace.c:645: warning: comparison between signed and unsigned integer expressions
pam_namespace.c: In function ‘get_user_data’:
pam_namespace.c:1899: warning: passing argument 1 of ‘strncat’ from incompatible pointer type
/opt/musl/include/string.h:33: note: expected ‘char *’ but argument is of type ‘const char **’
pam_namespace.c:1899: warning: passing argument 3 of ‘strncat’ makes integer from pointer without a cast
/opt/musl/include/string.h:33: note: expected ‘size_t’ but argument is of type ‘const char **’
pam_namespace.c:1906: warning: passing argument 1 of ‘strncat’ from incompatible pointer type
/opt/musl/include/string.h:33: note: expected ‘char *’ but argument is of type ‘const char **’
pam_namespace.c:1906: warning: passing argument 3 of ‘strncat’ makes integer from pointer without a cast
/opt/musl/include/string.h:33: note: expected ‘size_t’ but argument is of type ‘const char **’
pam_namespace.c:1918: warning: passing argument 1 of ‘strncat’ from incompatible pointer type
/opt/musl/include/string.h:33: note: expected ‘char *’ but argument is of type ‘const char **’
pam_namespace.c:1918: warning: passing argument 3 of ‘strncat’ makes integer from pointer without a cast
/opt/musl/include/string.h:33: note: expected ‘size_t’ but argument is of type ‘const char **’
make[3]: [pam_namespace.lo] Error 1 (ignored)
mv -f .deps/pam_namespace.Tpo .deps/pam_namespace.Plo
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DSECURECONF_DIR=\"/opt/musl/etc/security/\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_namespace.la -rpath /opt/musl/lib/security pam_namespace.lo md5.lo argv_parse.lo -L../../libpam -lpam  
libtool: link: `pam_namespace.lo' is not a valid libtool object
make[3]: [pam_namespace.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_namespace'
Making all in pam_nologin
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_nologin'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_nologin'
Making all in pam_permit
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_permit'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_permit'
Making all in pam_pwhistory
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_pwhistory'
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT opasswd.lo -MD -MP -MF .deps/opasswd.Tpo -c -o opasswd.lo opasswd.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT opasswd.lo -MD -MP -MF .deps/opasswd.Tpo -c opasswd.c  -fPIC -DPIC -o .libs/opasswd.o
opasswd.c: In function ‘compare_password’:
opasswd.c:102: error: storage size of ‘output’ isn’t known
opasswd.c:106: warning: implicit declaration of function ‘crypt_r’
opasswd.c:102: warning: unused variable ‘output’
make[3]: [opasswd.lo] Error 1 (ignored)
mv -f .deps/opasswd.Tpo .deps/opasswd.Plo
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_pwhistory.la -rpath /opt/musl/lib/security pam_pwhistory.lo opasswd.lo -L../../libpam -lpam -l 
libtool: link: `opasswd.lo' is not a valid libtool object
make[3]: [pam_pwhistory.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_pwhistory'
Making all in pam_rhosts
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_rhosts'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_rhosts.la -rpath /opt/musl/lib/security pam_rhosts.lo -L../../libpam -lpam 
libtool: link: musl-gcc -shared  .libs/pam_rhosts.o   -Wl,-rpath -Wl,/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs -Wl,-rpath -Wl,/opt/musl/lib -L/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam /home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs/libpam.so -lssp_nonshared -ldl  -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname -Wl,pam_rhosts.so -o .libs/pam_rhosts.so
.libs/pam_rhosts.o: In function `pam_sm_authenticate':
pam_rhosts.c:(.text+0x36c): undefined reference to `ruserok'
collect2: ld returned 1 exit status
make[3]: [pam_rhosts.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_rhosts'
Making all in pam_rootok
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_rootok'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_rootok'
Making all in pam_securetty
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_securetty'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_securetty'
Making all in pam_selinux
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_selinux'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_selinux'
Making all in pam_sepermit
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_sepermit'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_sepermit'
Making all in pam_shells
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_shells'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_shells'
Making all in pam_stress
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_stress'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_stress'
Making all in pam_succeed_if
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_succeed_if'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_succeed_if.la -rpath /opt/musl/lib/security pam_succeed_if.lo -L../../libpam -lpam 
libtool: link: musl-gcc -shared  .libs/pam_succeed_if.o   -Wl,-rpath -Wl,/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs -Wl,-rpath -Wl,/opt/musl/lib -L/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam /home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs/libpam.so -lssp_nonshared -ldl  -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname -Wl,pam_succeed_if.so -o .libs/pam_succeed_if.so
.libs/pam_succeed_if.o: In function `evaluate_innetgr':
pam_succeed_if.c:(.text+0x666): undefined reference to `innetgr'
.libs/pam_succeed_if.o: In function `evaluate_notinnetgr':
pam_succeed_if.c:(.text+0x6b0): undefined reference to `innetgr'
collect2: ld returned 1 exit status
make[3]: [pam_succeed_if.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_succeed_if'
Making all in pam_tally
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tally'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tally'
Making all in pam_tally2
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tally2'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tally2'
Making all in pam_time
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_time'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DPAM_TIME_CONF=\"/opt/musl/etc/security/time.conf\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_time.la -rpath /opt/musl/lib/security pam_time.lo -L../../libpam -lpam 
libtool: link: musl-gcc -shared  .libs/pam_time.o   -Wl,-rpath -Wl,/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs -Wl,-rpath -Wl,/opt/musl/lib -L/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam /home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs/libpam.so -lssp_nonshared -ldl  -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname -Wl,pam_time.so -o .libs/pam_time.so
.libs/pam_time.o: In function `check_account':
pam_time.c:(.text+0x10af): undefined reference to `innetgr'
collect2: ld returned 1 exit status
make[3]: [pam_time.la] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_time'
Making all in pam_timestamp
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_timestamp'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_timestamp'
Making all in pam_tty_audit
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tty_audit'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_tty_audit'
Making all in pam_umask
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_umask'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_umask'
Making all in pam_unix
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_unix'
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT bigcrypt.lo -MD -MP -MF .deps/bigcrypt.Tpo -c -o bigcrypt.lo bigcrypt.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT bigcrypt.lo -MD -MP -MF .deps/bigcrypt.Tpo -c bigcrypt.c  -fPIC -DPIC -o .libs/bigcrypt.o
bigcrypt.c: In function ‘bigcrypt’:
bigcrypt.c:71: error: dereferencing pointer to incomplete type
bigcrypt.c:76: error: dereferencing pointer to incomplete type
bigcrypt.c:108: warning: implicit declaration of function ‘crypt_r’
bigcrypt.c:108: warning: assignment makes pointer from integer without a cast
bigcrypt.c:129: warning: assignment makes pointer from integer without a cast
make[3]: [bigcrypt.lo] Error 1 (ignored)
mv -f .deps/bigcrypt.Tpo .deps/bigcrypt.Plo
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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.lo -MD -MP -MF .deps/pam_unix_passwd.Tpo -c -o pam_unix_passwd.lo pam_unix_passwd.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -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.lo -MD -MP -MF .deps/pam_unix_passwd.Tpo -c pam_unix_passwd.c  -fPIC -DPIC -o .libs/pam_unix_passwd.o
pam_unix_passwd.c:57:21: error: rpc/rpc.h: No such file or directory
In file included from pam_unix_passwd.c:79:
yppasswd.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_xpasswd’
yppasswd.h:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_yppasswd’
pam_unix_passwd.c: In function ‘_do_setpass’:
pam_unix_passwd.c:332: error: ‘CLIENT’ undeclared (first use in this function)
pam_unix_passwd.c:332: error: (Each undeclared identifier is reported only once
pam_unix_passwd.c:332: error: for each function it appears in.)
pam_unix_passwd.c:332: error: ‘clnt’ undeclared (first use in this function)
pam_unix_passwd.c:334: error: storage size of ‘err’ isn’t known
pam_unix_passwd.c:358: warning: implicit declaration of function ‘clnt_create’
pam_unix_passwd.c:359: warning: implicit declaration of function ‘authunix_create_default’
pam_unix_passwd.c:363: warning: implicit declaration of function ‘clnt_call’
pam_unix_passwd.c:364: error: ‘xdrproc_t’ undeclared (first use in this function)
pam_unix_passwd.c:364: error: expected ‘)’ before ‘xdr_yppasswd’
pam_unix_passwd.c:372: warning: implicit declaration of function ‘clnt_sperrno’
pam_unix_passwd.c:381: warning: implicit declaration of function ‘auth_destroy’
pam_unix_passwd.c:382: warning: implicit declaration of function ‘clnt_destroy’
pam_unix_passwd.c:334: warning: unused variable ‘err’
pam_unix_passwd.c: In function ‘_pam_unix_approve_pass’:
pam_unix_passwd.c:492: warning: comparison between signed and unsigned integer expressions
make[3]: [pam_unix_passwd.lo] Error 1 (ignored)
mv -f .deps/pam_unix_passwd.Tpo .deps/pam_unix_passwd.Plo
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT passverify.lo -MD -MP -MF .deps/passverify.Tpo -c -o passverify.lo passverify.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT passverify.lo -MD -MP -MF .deps/passverify.Tpo -c passverify.c  -fPIC -DPIC -o .libs/passverify.o
passverify.c: In function ‘verify_pwd_hash’:
passverify.c:108: error: dereferencing pointer to incomplete type
passverify.c:110: error: dereferencing pointer to incomplete type
passverify.c:111: warning: implicit declaration of function ‘crypt_r’
passverify.c:111: warning: passing argument 1 of ‘strdup’ makes pointer from integer without a cast
/opt/musl/include/string.h:62: note: expected ‘const char *’ but argument is of type ‘int’
passverify.c:112: error: dereferencing pointer to incomplete type
passverify.c: In function ‘unix_update_passwd’:
passverify.c:794: warning: implicit declaration of function ‘putpwent’
passverify.c: In function ‘unix_update_shadow’:
passverify.c:931: warning: assignment discards qualifiers from pointer target type
make[3]: [passverify.lo] Error 1 (ignored)
mv -f .deps/passverify.Tpo .deps/passverify.Plo
/bin/sh ../../libtool --tag=CC   --mode=compile musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT yppasswd_xdr.lo -MD -MP -MF .deps/yppasswd_xdr.Tpo -c -o yppasswd_xdr.lo yppasswd_xdr.c
libtool: compile:  musl-gcc -DHAVE_CONFIG_H -I. -I../.. -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT yppasswd_xdr.lo -MD -MP -MF .deps/yppasswd_xdr.Tpo -c yppasswd_xdr.c  -fPIC -DPIC -o .libs/yppasswd_xdr.o
yppasswd_xdr.c:15:21: error: rpc/rpc.h: No such file or directory
In file included from yppasswd_xdr.c:16:
yppasswd.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_xpasswd’
yppasswd.h:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_yppasswd’
yppasswd_xdr.c:19: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_xpasswd’
yppasswd_xdr.c:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_yppasswd’
make[3]: [yppasswd_xdr.lo] Error 1 (ignored)
mv -f .deps/yppasswd_xdr.Tpo .deps/yppasswd_xdr.Plo
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -no-undefined -avoid-version -module -Wl,--version-script=./../modules.map -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_unix.la -rpath /opt/musl/lib/security bigcrypt.lo pam_unix_acct.lo pam_unix_auth.lo pam_unix_passwd.lo pam_unix_sess.lo support.lo passverify.lo yppasswd_xdr.lo md5_good.lo md5_broken.lo -L../../libpam -lpam -l  
libtool: link: `bigcrypt.lo' is not a valid libtool object
make[3]: [pam_unix.la] Error 1 (ignored)
musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT bigcrypt-bigcrypt.o -MD -MP -MF .deps/bigcrypt-bigcrypt.Tpo -c -o bigcrypt-bigcrypt.o `test -f 'bigcrypt.c' || echo './'`bigcrypt.c
bigcrypt.c: In function ‘bigcrypt’:
bigcrypt.c:71: error: dereferencing pointer to incomplete type
bigcrypt.c:76: error: dereferencing pointer to incomplete type
bigcrypt.c:108: warning: implicit declaration of function ‘crypt_r’
bigcrypt.c:108: warning: assignment makes pointer from integer without a cast
bigcrypt.c:129: warning: assignment makes pointer from integer without a cast
make[3]: [bigcrypt-bigcrypt.o] Error 1 (ignored)
mv -f .deps/bigcrypt-bigcrypt.Tpo .deps/bigcrypt-bigcrypt.Po
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o bigcrypt bigcrypt-bigcrypt.o bigcrypt-bigcrypt_main.o -l 
libtool: link: musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o bigcrypt bigcrypt-bigcrypt.o bigcrypt-bigcrypt_main.o  -lssp_nonshared -l
gcc: bigcrypt-bigcrypt.o: No such file or directory
make[3]: [bigcrypt] Error 1 (ignored)
musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_chkpwd\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT unix_chkpwd-bigcrypt.o -MD -MP -MF .deps/unix_chkpwd-bigcrypt.Tpo -c -o unix_chkpwd-bigcrypt.o `test -f 'bigcrypt.c' || echo './'`bigcrypt.c
bigcrypt.c: In function ‘bigcrypt’:
bigcrypt.c:71: error: dereferencing pointer to incomplete type
bigcrypt.c:76: error: dereferencing pointer to incomplete type
bigcrypt.c:108: warning: implicit declaration of function ‘crypt_r’
bigcrypt.c:108: warning: assignment makes pointer from integer without a cast
bigcrypt.c:129: warning: assignment makes pointer from integer without a cast
make[3]: [unix_chkpwd-bigcrypt.o] Error 1 (ignored)
mv -f .deps/unix_chkpwd-bigcrypt.Tpo .deps/unix_chkpwd-bigcrypt.Po
musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_chkpwd\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT unix_chkpwd-passverify.o -MD -MP -MF .deps/unix_chkpwd-passverify.Tpo -c -o unix_chkpwd-passverify.o `test -f 'passverify.c' || echo './'`passverify.c
passverify.c: In function ‘verify_pwd_hash’:
passverify.c:108: error: dereferencing pointer to incomplete type
passverify.c:110: error: dereferencing pointer to incomplete type
passverify.c:111: warning: implicit declaration of function ‘crypt_r’
passverify.c:111: warning: passing argument 1 of ‘strdup’ makes pointer from integer without a cast
/opt/musl/include/string.h:62: note: expected ‘const char *’ but argument is of type ‘int’
passverify.c:112: error: dereferencing pointer to incomplete type
passverify.c: In function ‘unix_update_passwd’:
passverify.c:794: warning: implicit declaration of function ‘putpwent’
passverify.c: In function ‘unix_update_shadow’:
passverify.c:931: warning: assignment discards qualifiers from pointer target type
make[3]: [unix_chkpwd-passverify.o] Error 1 (ignored)
mv -f .deps/unix_chkpwd-passverify.Tpo .deps/unix_chkpwd-passverify.Po
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_chkpwd\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -pie -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o unix_chkpwd unix_chkpwd-unix_chkpwd.o unix_chkpwd-md5_good.o unix_chkpwd-md5_broken.o unix_chkpwd-bigcrypt.o unix_chkpwd-passverify.o -l   
libtool: link: musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fpie -DHELPER_COMPILE=\"unix_chkpwd\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -pie -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o unix_chkpwd unix_chkpwd-unix_chkpwd.o unix_chkpwd-md5_good.o unix_chkpwd-md5_broken.o unix_chkpwd-bigcrypt.o unix_chkpwd-passverify.o  -lssp_nonshared -l
gcc: unix_chkpwd-bigcrypt.o: No such file or directory
gcc: unix_chkpwd-passverify.o: No such file or directory
make[3]: [unix_chkpwd] Error 1 (ignored)
musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT unix_update-bigcrypt.o -MD -MP -MF .deps/unix_update-bigcrypt.Tpo -c -o unix_update-bigcrypt.o `test -f 'bigcrypt.c' || echo './'`bigcrypt.c
bigcrypt.c: In function ‘bigcrypt’:
bigcrypt.c:71: error: dereferencing pointer to incomplete type
bigcrypt.c:76: error: dereferencing pointer to incomplete type
bigcrypt.c:108: warning: implicit declaration of function ‘crypt_r’
bigcrypt.c:108: warning: assignment makes pointer from integer without a cast
bigcrypt.c:129: warning: assignment makes pointer from integer without a cast
make[3]: [unix_update-bigcrypt.o] Error 1 (ignored)
mv -f .deps/unix_update-bigcrypt.Tpo .deps/unix_update-bigcrypt.Po
musl-gcc -DHAVE_CONFIG_H -I. -I../..   -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -MT unix_update-passverify.o -MD -MP -MF .deps/unix_update-passverify.Tpo -c -o unix_update-passverify.o `test -f 'passverify.c' || echo './'`passverify.c
passverify.c: In function ‘verify_pwd_hash’:
passverify.c:108: error: dereferencing pointer to incomplete type
passverify.c:110: error: dereferencing pointer to incomplete type
passverify.c:111: warning: implicit declaration of function ‘crypt_r’
passverify.c:111: warning: passing argument 1 of ‘strdup’ makes pointer from integer without a cast
/opt/musl/include/string.h:62: note: expected ‘const char *’ but argument is of type ‘int’
passverify.c:112: error: dereferencing pointer to incomplete type
passverify.c: In function ‘unix_update_passwd’:
passverify.c:794: warning: implicit declaration of function ‘putpwent’
passverify.c: In function ‘unix_update_shadow’:
passverify.c:931: warning: assignment discards qualifiers from pointer target type
make[3]: [unix_update-passverify.o] Error 1 (ignored)
mv -f .deps/unix_update-passverify.Tpo .deps/unix_update-passverify.Po
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\"  -fpie -DHELPER_COMPILE=\"unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -pie -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o unix_update unix_update-unix_update.o unix_update-md5_good.o unix_update-md5_broken.o unix_update-bigcrypt.o unix_update-passverify.o -l  
libtool: link: musl-gcc -I../../libpam/include -I../../libpamc/include -DCHKPWD_HELPER=\"/opt/musl/sbin/unix_chkpwd\" -DUPDATE_HELPER=\"/opt/musl/sbin/unix_update\" -fpie -DHELPER_COMPILE=\"unix_update\" -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -pie -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o unix_update unix_update-unix_update.o unix_update-md5_good.o unix_update-md5_broken.o unix_update-bigcrypt.o unix_update-passverify.o  -lssp_nonshared -l
gcc: unix_update-bigcrypt.o: No such file or directory
gcc: unix_update-passverify.o: No such file or directory
make[3]: [unix_update] Error 1 (ignored)
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_unix'
Making all in pam_userdb
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_userdb'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_userdb'
Making all in pam_warn
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_warn'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_warn'
Making all in pam_wheel
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_wheel'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_wheel'
Making all in pam_xauth
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_xauth'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_xauth'
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules'
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules'
Making all in po
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/po'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/po'
Making all in conf
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf'
Making all in pam_conv1
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf/pam_conv1'
make  all-am
make[4]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf/pam_conv1'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_conv1 pam_conv_l.o pam_conv_y.o  
libtool: link: musl-gcc -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o pam_conv1 pam_conv_l.o pam_conv_y.o  -lssp_nonshared
pam_conv_l.o: In function `yylex':
pam_conv_l.c:(.text+0x37a): undefined reference to `yywrap'
pam_conv_l.o: In function `input':
pam_conv_l.c:(.text+0xcdf): undefined reference to `yywrap'
collect2: ld returned 1 exit status
make[4]: [pam_conv1] Error 1 (ignored)
make[4]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf/pam_conv1'
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf/pam_conv1'
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf'
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/conf'
Making all in doc
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc'
Making all in man
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/man'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/man'
Making all in specs
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/specs'
make  all-am
make[4]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/specs'
/bin/sh ../../libtool --tag=CC   --mode=link musl-gcc  -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow  -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o padout parse_l.o parse_y.o  
libtool: link: musl-gcc -fno-stack-protector -D_GNU_SOURCE -D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -o padout parse_l.o parse_y.o  -lssp_nonshared
parse_l.o: In function `yylex':
parse_l.c:(.text+0x383): undefined reference to `yywrap'
parse_l.o: In function `input':
parse_l.c:(.text+0xce8): undefined reference to `yywrap'
collect2: ld returned 1 exit status
make[4]: [padout] Error 1 (ignored)
./padout < ./draft-morgan-pam.raw > draft-morgan-pam-current.txt
/bin/sh: ./padout: No such file or directory
make[4]: [draft-morgan-pam-current.txt] Error 127 (ignored)
make[4]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/specs'
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/specs'
Making all in sag
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/sag'
echo "No fo2pdf processor installed, skip PDF generation"
No fo2pdf processor installed, skip PDF generation
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/sag'
Making all in adg
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/adg'
echo "No fo2pdf processor installed, skip PDF generation"
No fo2pdf processor installed, skip PDF generation
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/adg'
Making all in mwg
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/mwg'
echo "No fo2pdf processor installed, skip PDF generation"
No fo2pdf processor installed, skip PDF generation
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc/mwg'
make[3]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc'
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/doc'
Making all in examples
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/examples'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/examples'
Making all in xtests
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/xtests'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3/xtests'
make[2]: Entering directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3'
make[2]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3'
make[1]: Leaving directory `/home/ibid/misc/src/musl/Linux-PAM-1.1.3'

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-14  3:58 make -i with linux-pam Isaac Dunham
@ 2012-05-14  4:11 ` Rich Felker
  2012-05-14 18:01   ` Isaac Dunham
  2012-05-15  0:09   ` Isaac Dunham
  0 siblings, 2 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-14  4:11 UTC (permalink / raw)
  To: musl

On Sun, May 13, 2012 at 08:58:24PM -0700, Isaac Dunham wrote:
> .libs/pam_group.o: In function `check_account':
> pam_group.c:(.text+0x12fe): undefined reference to `innetgr'

This can be solved with a stub implementation the netgr stuff (all
functions behave as if there are no netgroups defined).

> pam_lastlog.c: In function ‘last_login_read’:
> pam_lastlog.c:167: error: ‘_PATH_LASTLOG’ undeclared (first use in this function)

Fixed.

> pam_namespace.h:169: error: ‘LOGIN_NAME_MAX’ undeclared here (not in a function)

Fixed.

> ../../libpam/include/security/pam_modutil.h:57: note: expected ‘const char *’ but argument is of type ‘const char **’
> pam_namespace.c:551: warning: format ‘%s’ expects type ‘char *’, but argument 4 has type ‘const char **’

This sounds bad; any idea what the cause is?

> opasswd.c: In function ‘compare_password’:
> opasswd.c:102: error: storage size of ‘output’ isn’t known
> opasswd.c:106: warning: implicit declaration of function ‘crypt_r’
> opasswd.c:102: warning: unused variable ‘output’

The code is there but has no exposed interface...

> .libs/pam_rhosts.o: In function `pam_sm_authenticate':
> pam_rhosts.c:(.text+0x36c): undefined reference to `ruserok'

This is junk... insecure legacy rhosts stuff. Can it be disabled?
Adding code to support it seems bad.

> pam_unix_passwd.c:57:21: error: rpc/rpc.h: No such file or directory

This would need an external rpc implementation, but I question why
unix_passwd support needs rpc to begin with...

> In file included from pam_unix_passwd.c:79:
> yppasswd.h:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_xpasswd’
> yppasswd.h:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘xdr_yppasswd’

Ugly NIS stuff...

> passverify.c: In function ‘unix_update_passwd’:
> passverify.c:794: warning: implicit declaration of function ‘putpwent’

Should not be hard to add.

Basically the problems break down into:
- missing crypt_r public interface
- missing NIS/RPC
- missing rhosts stuff
- missing netgroup stuff
- a few minor header file issues

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-14  4:11 ` Rich Felker
@ 2012-05-14 18:01   ` Isaac Dunham
  2012-05-14 18:17     ` Rich Felker
  2012-05-15  0:09   ` Isaac Dunham
  1 sibling, 1 reply; 19+ messages in thread
From: Isaac Dunham @ 2012-05-14 18:01 UTC (permalink / raw)
  To: musl

On Mon, 14 May 2012 00:11:06 -0400
Rich Felker <dalias@aerifal.cx> wrote:
> > pam_lastlog.c: In function ‘last_login_read’:
> > pam_lastlog.c:167: error: ‘_PATH_LASTLOG’ undeclared (first use in
> > this function)
> Fixed.
> 
> > pam_namespace.h:169: error: ‘LOGIN_NAME_MAX’ undeclared here (not
> > in a function)
> Fixed.
Thanks.
> > .libs/pam_rhosts.o: In function `pam_sm_authenticate':
> > pam_rhosts.c:(.text+0x36c): undefined reference to `ruserok'
> 
> This is junk... insecure legacy rhosts stuff. Can it be disabled?
> Adding code to support it seems bad.
Delete from SUBDIRS in the Makefile (or Makefile.in?) to disable
building a module...
> > pam_unix_passwd.c:57:21: error: rpc/rpc.h: No such file or directory
> 
> This would need an external rpc implementation, but I question why
> unix_passwd support needs rpc to begin with...
..
> Ugly NIS stuff...
Looks like NIS uses RPC...
I think I'll disable pam_unix for the time being.
> > passverify.c: In function ‘unix_update_passwd’:
> > passverify.c:794: warning: implicit declaration of function
> > ‘putpwent’
> Should not be hard to add.
> 
> Basically the problems break down into:
> - missing crypt_r public interface
> - missing NIS/RPC
> - missing rhosts stuff
> - missing netgroup stuff
> - a few minor header file issues

Isaac Dunham



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-14 18:01   ` Isaac Dunham
@ 2012-05-14 18:17     ` Rich Felker
  0 siblings, 0 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-14 18:17 UTC (permalink / raw)
  To: musl

On Mon, May 14, 2012 at 11:01:33AM -0700, Isaac Dunham wrote:
> > > pam_unix_passwd.c:57:21: error: rpc/rpc.h: No such file or directory
> > 
> > This would need an external rpc implementation, but I question why
> > unix_passwd support needs rpc to begin with...
> ...
> > Ugly NIS stuff...
> Looks like NIS uses RPC...
> I think I'll disable pam_unix for the time being.

I don't understand why pam_unix is performing NIS lookups. It should
just be using getpwnam_r, which would automatically support NIS if the
underlying getpwnam_r does and would avoid the dependency on systems
that don't have/need it.

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-14  4:11 ` Rich Felker
  2012-05-14 18:01   ` Isaac Dunham
@ 2012-05-15  0:09   ` Isaac Dunham
  2012-05-16  3:24     ` Rich Felker
  1 sibling, 1 reply; 19+ messages in thread
From: Isaac Dunham @ 2012-05-15  0:09 UTC (permalink / raw)
  To: musl

On Mon, 14 May 2012 00:11:06 -0400
Rich Felker <dalias@aerifal.cx> wrote:

> On Sun, May 13, 2012 at 08:58:24PM -0700, Isaac Dunham wrote:
> > .libs/pam_group.o: In function `check_account':
> > pam_group.c:(.text+0x12fe): undefined reference to `innetgr'
> 
innetgr stub attached as patch.

> 
> Basically the problems break down into:
> - missing crypt_r public interface
> - missing NIS/RPC
> - missing rhosts stuff
> - missing netgroup stuff
> - a few minor header file issues

Apparently also logwtmp is missing:
====
Making all in pam_lastlog
make[3]: Entering directory
`/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_lastlog' /bin/sh ../../libtool
--tag=CC   --mode=link musl-gcc -I../../libpam/include
-I../../libpamc/include -fno-stack-protector -D_GNU_SOURCE
-D_BSD_SOURCE -I/opt/musl/linux-headers/include -I/opt/musl/pincl
-lssp_nonshared -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual
-Wmissing-declarations -Wmissing-prototypes -Wpointer-arith
-Wreturn-type -Wstrict-prototypes -Wwrite-strings -Winline -Wshadow
-no-undefined -avoid-version -module
-Wl,--version-script=./../modules.map -Wl,--as-needed
-Wl,--no-undefined -Wl,-O1 -o pam_lastlog.la
-rpath /opt/musl/lib/security pam_lastlog.lo -L../../libpam -lpam
-lutil libtool: link: musl-gcc -shared  .libs/pam_lastlog.o
-Wl,-rpath -Wl,/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs
-Wl,-rpath -Wl,/opt/musl/lib
-L/home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam /home/ibid/misc/src/musl/Linux-PAM-1.1.3/libpam/.libs/libpam.so
-lssp_nonshared -ldl -lutil  -Wl,--version-script=./../modules.map
-Wl,--as-needed -Wl,--no-undefined -Wl,-O1   -Wl,-soname
-Wl,pam_lastlog.so -o .libs/pam_lastlog.so .libs/pam_lastlog.o: In
function `last_login_write': pam_lastlog.c:(.text+0x9ea): undefined
reference to `logwtmp' .libs/pam_lastlog.o: In function
`pam_sm_close_session': pam_lastlog.c:(.text+0x11b4): undefined
reference to `logwtmp' collect2: ld returned 1 exit status make[3]: ***
[pam_lastlog.la] Error 1 make[3]: Leaving directory
`/home/ibid/misc/src/musl/Linux-PAM-1.1.3/modules/pam_lastlog'

====
logwtmp would be _BSD_SOURCE || _GNU_SOURCE

Due to what logwtmp does (construct a wtmp log entry, then add to the
system logfile), a stub doesn't sound sensible unless you
actually want all logins to go unrecorded...however, it looks close to
trivial to actually implement.
The BSDs implement this with strncpy--should an implementation for
musl use XOPEN or GNU functions only, or are strn* acceptable?



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-15  0:09   ` Isaac Dunham
@ 2012-05-16  3:24     ` Rich Felker
  2012-05-16 14:23       ` Isaac Dunham
  2012-05-21 19:12       ` aep
  0 siblings, 2 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-16  3:24 UTC (permalink / raw)
  To: musl

On Mon, May 14, 2012 at 05:09:31PM -0700, Isaac Dunham wrote:
> On Mon, 14 May 2012 00:11:06 -0400
> Rich Felker <dalias@aerifal.cx> wrote:
> 
> > On Sun, May 13, 2012 at 08:58:24PM -0700, Isaac Dunham wrote:
> > > .libs/pam_group.o: In function `check_account':
> > > pam_group.c:(.text+0x12fe): undefined reference to `innetgr'
> > 
> innetgr stub attached as patch.

Patch missing. But I think it should just be extra aliases in
src/network/ent.c...

> Due to what logwtmp does (construct a wtmp log entry, then add to the
> system logfile), a stub doesn't sound sensible unless you
> actually want all logins to go unrecorded...however, it looks close to
> trivial to actually implement.

Syslog is for recording login events in the proper way
(private/confidential for only admins to see). utmp and wtmp are
misguided, insecure practices from the 1980s culture where it was
considered rude to put a password on your unix account; they exist to
publish to the world (well, everyone with accounts on the machine)
your login status and the history of your logins. If this weren't a
sufficiently serious privacy breach in itself, the api for writing
these entries also requires that you have access to the utmp/wtmp
files for write, meaning historically all programs that wrote them had
suid-root (and later sgid-utmp), resulting in countless serious vulns.

If someone wants to present a good argument FOR supporting utmp/wtmp,
I'm willing to listen and consider it, but in the absence of that I
think making them silently ignore attempts to write anything is the
most useful behavior from a privacy and security standpoint.

[Actually, anybody up for writing a modern implementation of
utmp/wtmp? Ιt would include an https implementation to log into
Facebook/Twitter (your preference!) and publish the date, time, ip
address, etc. of your login as your status update/tweet for the whole
world to see!]

> The BSDs implement this with strncpy--should an implementation for
> musl use XOPEN or GNU functions only, or are strn* acceptable?

Huh? strncpy is pure C; it's always available to use.

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-16  3:24     ` Rich Felker
@ 2012-05-16 14:23       ` Isaac Dunham
  2012-05-21 19:12       ` aep
  1 sibling, 0 replies; 19+ messages in thread
From: Isaac Dunham @ 2012-05-16 14:23 UTC (permalink / raw)
  To: musl

[-- Attachment #1: Type: text/plain, Size: 1466 bytes --]

On Tue, 15 May 2012 23:24:49 -0400
Rich Felker <dalias@aerifal.cx> wrote:

> On Mon, May 14, 2012 at 05:09:31PM -0700, Isaac Dunham wrote:
> > On Mon, 14 May 2012 00:11:06 -0400
> > Rich Felker <dalias@aerifal.cx> wrote:
> > 
> > > On Sun, May 13, 2012 at 08:58:24PM -0700, Isaac Dunham wrote:
> > > > .libs/pam_group.o: In function `check_account':
> > > > pam_group.c:(.text+0x12fe): undefined reference to `innetgr'
> > > 
> > innetgr stub attached as patch.
> 
> Patch missing. But I think it should just be extra aliases in
> src/network/ent.c...
Thought I'd attached it. Oh well.
Here's a version with it in ent.c as recommended.
> > Due to what logwtmp does (construct a wtmp log entry, then add to
> > the system logfile), a stub doesn't sound sensible unless you
> > actually want all logins to go unrecorded...however, it looks close
> > to trivial to actually implement.
> 
> Syslog is for recording login events in the proper way
> (private/confidential for only admins to see). utmp and wtmp are
> misguided, insecure practices from the 1980s culture where it was
> considered rude to put a password on your unix account; they exist to
> publish to the world (well, everyone with accounts on the machine)
> your login status and the history of your logins...
Stub version attached.
With these two patches and some hacking of the PAM source, I got PAM
working.

> Huh? strncpy is pure C; it's always available to use.

Somehow mixed it up with strlcpy.


[-- Attachment #2: logwtmp.dif --]
[-- Type: application/octet-stream, Size: 758 bytes --]

diff --git a/include/utmp.h b/include/utmp.h
index b145a11..8ffe3d7 100644
--- a/include/utmp.h
+++ b/include/utmp.h
@@ -33,6 +33,7 @@ struct utmp *pututline(const struct utmp *);
 void         setutent(void);
 
 void updwtmp(const char *, const struct utmp *);
+void logwtmp(const char *, const char *, const char *);
 
 #define _PATH_UTMP "/dev/null"
 #define _PATH_WTMP "/dev/null"
diff --git a/src/stub/utmpx.c b/src/stub/utmpx.c
index c483e4e..1d51d96 100644
--- a/src/stub/utmpx.c
+++ b/src/stub/utmpx.c
@@ -34,6 +34,10 @@ void updwtmpx(const char *f, const struct utmpx *u)
 {
 }
 
+void logwtmp(const char *l, const char *n, const char *h)
+{
+}
+
 weak_alias(endutxent, endutent);
 weak_alias(setutxent, setutent);
 weak_alias(getutxent, getutent);

[-- Attachment #3: innet-stub.diff --]
[-- Type: text/x-patch, Size: 717 bytes --]

diff --git a/include/netdb.h b/include/netdb.h
index 33b7a0a..3849829 100644
--- a/include/netdb.h
+++ b/include/netdb.h
@@ -147,6 +147,8 @@ int *__h_errno_location(void);
 #define TRY_AGAIN      2
 #define NO_RECOVERY    3
 #define NO_DATA        4
+
+int innetgr(const char *, const char *, const char *, const char *);
 #endif
 
 
diff --git a/src/network/ent.c b/src/network/ent.c
index 4c2f24b..ebc0890 100644
--- a/src/network/ent.c
+++ b/src/network/ent.c
@@ -12,6 +12,11 @@ void *gethostent()
 void endhostent(void)
 {
 }
+int innetgr(const char *netgroup, const char *host, 
+	const char *user, const char *domain) 
+{
+	return 0;
+}
 
 weak_alias(sethostent, setnetent);
 weak_alias(gethostent, getnetent);

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-16  3:24     ` Rich Felker
  2012-05-16 14:23       ` Isaac Dunham
@ 2012-05-21 19:12       ` aep
  2012-05-21 19:28         ` Rich Felker
  1 sibling, 1 reply; 19+ messages in thread
From: aep @ 2012-05-21 19:12 UTC (permalink / raw)
  To: musl

On Tue, 15 May 2012 23:24:49 -0400, Rich Felker wrote:

> If someone wants to present a good argument FOR supporting utmp/wtmp,

not at all, but i wonder if glibs util function could be combined with 
musl, for people who want to kill zombies once at a time rather then all 
at once.
I remember from a security workshop, that someone just ended up 
patching utmp _out_ of libc because it seemed unfeasible to fix all of 
the code from last century.
Libutil doesn't seem to provide much more then that. Sounds like a 
decent abstraction of "crap" once could reuse?


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 19:12       ` aep
@ 2012-05-21 19:28         ` Rich Felker
  2012-05-21 20:24           ` aep
  0 siblings, 1 reply; 19+ messages in thread
From: Rich Felker @ 2012-05-21 19:28 UTC (permalink / raw)
  To: musl

On Mon, May 21, 2012 at 09:12:43PM +0200, aep wrote:
> On Tue, 15 May 2012 23:24:49 -0400, Rich Felker wrote:
> 
> >If someone wants to present a good argument FOR supporting utmp/wtmp,
> 
> not at all, but i wonder if glibs util function could be combined
> with musl,

If one really wanted a library with these functions, I think there are
better places to copy the source from than glibc.

> for people who want to kill zombies once at a time rather
> then all at once.

Not sure what you mean here... Are you talking about using these files
to kill processes that users left running after logging out? Or what?

> I remember from a security workshop, that someone just ended up
> patching utmp _out_ of libc because it seemed unfeasible to fix all
> of the code from last century.

Sounds like a good idea, but just stubifying it all sounds better.

> Libutil doesn't seem to provide much more then that. Sounds like a
> decent abstraction of "crap" once could reuse?

-lutil is part of POSIX; in musl it's an empty .a file. I'm not sure
it would be a good idea to replace libutil with something else,
because programs using stuff from POSIX that's allowed to need -lutil
might add -lutil to the link command line.

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 19:28         ` Rich Felker
@ 2012-05-21 20:24           ` aep
  2012-05-21 20:55             ` Rich Felker
  2012-05-22 16:51             ` Christian Neukirchen
  0 siblings, 2 replies; 19+ messages in thread
From: aep @ 2012-05-21 20:24 UTC (permalink / raw)
  To: musl

On Mon, 21 May 2012 15:28:59 -0400, Rich Felker wrote:

> Not sure what you mean here... Are you talking about using these 
> files
> to kill processes that users left running after logging out? Or what?

haha, no. I was more refering to the fact that i'm pretty sure no one 
_wants_ utmp. It's just that you need it around for compiling code from 
last century.

But yeah, dropping in glibc seems like more work then just implementing 
it.


> -lutil is part of POSIX; in musl it's an empty .a file. I'm not sure
> it would be a good idea to replace libutil with something else,
> because programs using stuff from POSIX that's allowed to need -lutil
> might add -lutil to the link command line.

How does that work with sysvinit? And a couple of utils are going to be 
broken too. hence i was wondering about an approach to get these working 
without actually having to have that stone age functionality in musl 
itself.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 20:24           ` aep
@ 2012-05-21 20:55             ` Rich Felker
  2012-05-21 21:08               ` aep
  2012-05-22 16:51             ` Christian Neukirchen
  1 sibling, 1 reply; 19+ messages in thread
From: Rich Felker @ 2012-05-21 20:55 UTC (permalink / raw)
  To: musl

On Mon, May 21, 2012 at 10:24:47PM +0200, aep wrote:
> >-lutil is part of POSIX; in musl it's an empty .a file. I'm not sure
> >it would be a good idea to replace libutil with something else,
> >because programs using stuff from POSIX that's allowed to need -lutil
> >might add -lutil to the link command line.
> 
> How does that work with sysvinit? And a couple of utils are going to
> be broken too. hence i was wondering about an approach to get these
> working without actually having to have that stone age functionality
> in musl itself.

As far as I know it's no problem. Are you saying there are programs
that rely on having information from utmp/wtmp to do their job (and
whose job is valid, unlike things like w/who/finger/etc.)?

Keep in mind that utmp is normally writable by gid utmp, so if any
sgid-utmp program (e.g. a terminal emulator) has any vuln, you can
write arbitrary data to utmp. That means programs which act based on
the contents of utmp almost surely convert these nuisance-level vulns
to privilege-escalation vulns, so I suspect they were all fixed not to
act on utmp a long time ago..

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 20:55             ` Rich Felker
@ 2012-05-21 21:08               ` aep
  2012-05-21 21:20                 ` Rich Felker
  0 siblings, 1 reply; 19+ messages in thread
From: aep @ 2012-05-21 21:08 UTC (permalink / raw)
  To: musl


> As far as I know it's no problem.

Well it works anyway, but gets very nervous about the lack of utmp. 
whines something about security being threatened. At least that's what i 
remember from a bootup log.
Also init wasn't able to tell its runlevel because it stores it via 
utmp. Something like that.


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 21:08               ` aep
@ 2012-05-21 21:20                 ` Rich Felker
  0 siblings, 0 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-21 21:20 UTC (permalink / raw)
  To: musl

On Mon, May 21, 2012 at 11:08:46PM +0200, aep wrote:
> 
> >As far as I know it's no problem.
> 
> Well it works anyway, but gets very nervous about the lack of utmp.
> whines something about security being threatened. At least that's
> what i remember from a bootup log.

Bleh. I'd be interested to see the details, but it should probably
just be fixed upstream with a --disable-utmp option.

> Also init wasn't able to tell its runlevel because it stores it via
> utmp. Something like that.

If so, that's a major vuln. And stupid, since it can just store it in
a variable in its own memory space...

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-21 20:24           ` aep
  2012-05-21 20:55             ` Rich Felker
@ 2012-05-22 16:51             ` Christian Neukirchen
  2012-05-22 17:50               ` Rich Felker
  2012-05-22 18:22               ` aep
  1 sibling, 2 replies; 19+ messages in thread
From: Christian Neukirchen @ 2012-05-22 16:51 UTC (permalink / raw)
  To: musl

aep <aep@exys.org> writes:

> On Mon, 21 May 2012 15:28:59 -0400, Rich Felker wrote:
>
>> Not sure what you mean here... Are you talking about using these
>> files
>> to kill processes that users left running after logging out? Or what?
>
> haha, no. I was more refering to the fact that i'm pretty sure no one
> _wants_ utmp. It's just that you need it around for compiling code
> from last century.

A bit OT: I realize utmp has major flaws, but the feature itself (seeing
which users are logged in) I consider useful, for machines with more
than one user.  How else can that be done?

-- 
Christian Neukirchen  <chneukirchen@gmail.com>  http://chneukirchen.org


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-22 16:51             ` Christian Neukirchen
@ 2012-05-22 17:50               ` Rich Felker
  2012-05-22 18:22               ` aep
  1 sibling, 0 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-22 17:50 UTC (permalink / raw)
  To: musl

On Tue, May 22, 2012 at 06:51:50PM +0200, Christian Neukirchen wrote:
> > haha, no. I was more refering to the fact that i'm pretty sure no one
> > _wants_ utmp. It's just that you need it around for compiling code
> > from last century.
> 
> A bit OT: I realize utmp has major flaws, but the feature itself (seeing
> which users are logged in) I consider useful, for machines with more
> than one user.  How else can that be done?

Assuming the logins are not on local vts, ls -l /dev/pts works well.
This is actually a fairly major information leak, and I'm not sure how
to close it. Removing read permission from /dev/pts does not really
help because one can just call stat on each sequential number and see
if it exists and who owns it. Removing search permission from /dev/pts
would prevent ptys from being used whatsoever.

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-22 16:51             ` Christian Neukirchen
  2012-05-22 17:50               ` Rich Felker
@ 2012-05-22 18:22               ` aep
  2012-05-22 18:28                 ` Rich Felker
  1 sibling, 1 reply; 19+ messages in thread
From: aep @ 2012-05-22 18:22 UTC (permalink / raw)
  To: musl


On Tue, 22 May 2012 18:51:50 +0200, Christian Neukirchen wrote:

> A bit OT: I realize utmp has major flaws, but the feature itself 
> (seeing
> which users are logged in) I consider useful,

That ... actually is the flaw.

> for machines with more
> than one user.  How else can that be done?

If your requirements are identical to utmp (only one possible login 
mechanism, compromising user privacy is intended), then utmp is the way 
to go.
What's from the 60s, is just cramming it into libc and giving John Doe 
write access for logging his lunch times.
Which is why i argued not to make it a stub, but instead fail compiling 
and let users figure out where to get a logwtmp from (maybe even 
submitting it upstream to pam!)
People actually using PAM, will probably also want "who" to work, and 
if pam is the god given login system on your machine, then there's 
nothing wrong with giving it exclusive utmp access.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-22 18:22               ` aep
@ 2012-05-22 18:28                 ` Rich Felker
  2012-05-22 18:45                   ` aep
  0 siblings, 1 reply; 19+ messages in thread
From: Rich Felker @ 2012-05-22 18:28 UTC (permalink / raw)
  To: musl

On Tue, May 22, 2012 at 08:22:58PM +0200, aep wrote:
> Which is why i argued not to make it a stub, but instead fail
> compiling and let users figure out where to get a logwtmp from
> (maybe even submitting it upstream to pam!)
> People actually using PAM, will probably also want "who" to work,
> and if pam is the god given login system on your machine, then
> there's nothing wrong with giving it exclusive utmp access.

I don't see how using PAM would imply that you want your system to
leak information. They might be _used to_ it working, but that doesn't
necessarily mean they "want" it.

With that said, one acceptable approach might be to have utmp/wtmp
support exist, but silently bail out (reporting success) if the file
does not exist. That would make it easy for administrators who want
secure systems to avoid the information leak (making these files
symlinks to /dev/null also works; that's what I used to do).

Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-22 18:28                 ` Rich Felker
@ 2012-05-22 18:45                   ` aep
  2012-05-22 20:00                     ` Rich Felker
  0 siblings, 1 reply; 19+ messages in thread
From: aep @ 2012-05-22 18:45 UTC (permalink / raw)
  To: musl

> They might be _used to_ it working, but that doesn't
> necessarily mean they "want" it.

Heh, this is where the difference in mindset shows. I tend to think 
people using things, actually want them.

> With that said, one acceptable approach might be to have utmp/wtmp
> support exist, but silently bail out (reporting success) if the file
> does not exist.

having utmp in libc is just so utterly wrong in the first place.
This really belongs in the higher stack, where decisions like that can 
be made based on config files.
Maybe some admins want to log ips, maybe some just usernames, some 
prefer binary logs, some prefer cleartext, etc..

Sounds like an interesting problem for your platform vision :)



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: make -i with linux-pam
  2012-05-22 18:45                   ` aep
@ 2012-05-22 20:00                     ` Rich Felker
  0 siblings, 0 replies; 19+ messages in thread
From: Rich Felker @ 2012-05-22 20:00 UTC (permalink / raw)
  To: musl

On Tue, May 22, 2012 at 08:45:24PM +0200, aep wrote:
> >They might be _used to_ it working, but that doesn't
> >necessarily mean they "want" it.
> 
> Heh, this is where the difference in mindset shows. I tend to think
> people using things, actually want them.

That would make sense if there were any evidence they chose to use
them, but if they just ended up with these things by default, it's not
so clear...

> >With that said, one acceptable approach might be to have utmp/wtmp
> >support exist, but silently bail out (reporting success) if the file
> >does not exist.
> 
> having utmp in libc is just so utterly wrong in the first place.
> This really belongs in the higher stack, where decisions like that
> can be made based on config files.

It really belongs in PAM. And not by PAM just making calls to libc,
but by PAM doing its own utmp-like thing if the admin wants to.

> Sounds like an interesting problem for your platform vision :)

No, sounds like a problem for somebody else's. My view is that layer
upon layer of unnecessary crap like this that's leaked into all sorts
of progams is what's led us to a bad platform. Part of why I'm such a
supporter of the POSIX standard in particular is because, despite the
flaws of some of its interfaces designed by committee, they did a
great job of looking at the historical corpus of crap and making
decisions about which interfaces are actually necessary and useful to
write user-facing applications, and which ones were purely part of the
ugly inner workings of historical systems. utmp is clearly among the
latter.

My platform goals are (in the abstract):

(1) To be able to run user-facing applications.

(2) To Get Stuff Done™ at the system level, without a lot of regard
for how it was traditionally done.

I suppose some people who are attached to tradition won't like the
last part of #2, but they don't like it in the FDO regime either, and
yet they go along with it, even though the FDO stuff generally doesn't
Get Stuff Done™ and suffers from massive bloat and unpredictable or
unstable behavior..


Rich


^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2012-05-22 20:00 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-14  3:58 make -i with linux-pam Isaac Dunham
2012-05-14  4:11 ` Rich Felker
2012-05-14 18:01   ` Isaac Dunham
2012-05-14 18:17     ` Rich Felker
2012-05-15  0:09   ` Isaac Dunham
2012-05-16  3:24     ` Rich Felker
2012-05-16 14:23       ` Isaac Dunham
2012-05-21 19:12       ` aep
2012-05-21 19:28         ` Rich Felker
2012-05-21 20:24           ` aep
2012-05-21 20:55             ` Rich Felker
2012-05-21 21:08               ` aep
2012-05-21 21:20                 ` Rich Felker
2012-05-22 16:51             ` Christian Neukirchen
2012-05-22 17:50               ` Rich Felker
2012-05-22 18:22               ` aep
2012-05-22 18:28                 ` Rich Felker
2012-05-22 18:45                   ` aep
2012-05-22 20:00                     ` Rich Felker

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).