FS#32308 - [libtirpc] 0.2.2-3 breaks systemd-logind and pam
Attached to Project:
Arch Linux
Opened by zless (roentgen) - Tuesday, 30 October 2012, 22:05 GMT
Last edited by Tom Gundersen (tomegun) - Friday, 02 November 2012, 09:33 GMT
Opened by zless (roentgen) - Tuesday, 30 October 2012, 22:05 GMT
Last edited by Tom Gundersen (tomegun) - Friday, 02 November 2012, 09:33 GMT
|
Details
Description:
After upgrading to libtirpc 0.2.2-3 from testing login is not possible. journalctl shows: login[608]: PAM unable to dlopen(/usr/lib/security/pam_unix.so): /usr/lib/security/pam_unix.so: undefined symbol: log_debug login[608]: PAM adding faulty module: /usr/lib/security/pam_unix.so login[608]: FAILED LOGIN SESSION FROM tty1 FOR root, Module is unknown Downgrading to the core version fixes things. |
This task depends upon
Closed by Tom Gundersen (tomegun)
Friday, 02 November 2012, 09:33 GMT
Reason for closing: Fixed
Additional comments about closing: Rebuild of pam will be needed for next release, for now everything is fine.
Friday, 02 November 2012, 09:33 GMT
Reason for closing: Fixed
Additional comments about closing: Rebuild of pam will be needed for next release, for now everything is fine.
Fix debugging-related namespace pollution.
From: Nick Alcock <nick.alcock@oracle.com>
When GSS is compiled in, libtirpc exports three symbols, 'log_debug',
'log_status', and 'log_hexdump', which do nothing unless DEBUG is #defined
at libtirpc compile time. This is a pretty abominable piece of namespace
pollution: these symbols are quite likely to be used for local debugging
routines by other binaries and shared libraries, and those local calls
are now likely to go astray into libtirpc's do-nothing versions instead.
So this changes the names of these functions. This is technically an ABI
break, but since these symbols are undocumented and useless (with variable
behaviour depending on whether DEBUG was #defined, and only present at
all if GSS was compiled in) anything using those symbols was broken anyway.
(A quick grep of my local sources shows numerous other local users of
the name log_debug() in particular, including LVM, libassuan, GnuPG, gvfs,
and dhcp. If you include binaries as well as intra-shared-library calls,
the count goes much higher.)
Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
Signed-off-by: Steve Dickson <steved@redhat.com>
Looks like I'll have to revive my arch install and see what on earth arch has done to pam_unix.so...
https://projects.archlinux.org/svntogit/packages.git/log/trunk?h=packages/pam
We'll probably have to bump soname or do a versioned-symbol dance for this. sigh.