help-shishi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#924123: shishi: FTBFS with pam >= 1.3 (was: with gcc 8.3)


From: Steve Langasek
Subject: Bug#924123: shishi: FTBFS with pam >= 1.3 (was: with gcc 8.3)
Date: Sun, 31 Mar 2019 18:06:34 -0700
User-agent: Mutt/1.10.1 (2018-07-13)

Hi Bernhard,

On Sun, Mar 31, 2019 at 11:27:47PM +0200, Bernhard R. Link wrote:
> Control: retitle -1 shishi: FTBFS with pam >= 1.3
> 
> Just some litte fly-by comment looking over RC bugs affecting testing:
> 
> I can also reproduce the FTBFS in an unstable chroot (so nothing testing
> specific with that build failure).
> 
> The log is not really helpful here, as libtool only prints stderr of the
> -DPIC compilation, but hides stderr of the non-PIC compilation, while
> only the non-PIC compilation fails (the PIC case only produces harmless
> warnings).
> 
> Unhiding the output of that gcc run gives the following result:
> 
> | pam_shishi.c: In function 'pam_sm_authenticate':
> | pam_shishi.c:185:48: warning: cast to pointer from integer of different 
> size [-Wint-to-pointer-cast]
> |    pam_set_data (pamh, "shishi_setcred_return", (void *) retval, NULL);
> |                                                 ^
> | pam_shishi.c: At top level:
> | pam_shishi.c:292:8: error: variable '_pam_shishi_modstruct' has initializer 
> but incomplete type
> |  struct pam_module _pam_shishi_modstruct = {
> |         ^~~~~~~~~~
> | pam_shishi.c:293:3: warning: excess elements in struct initializer
> |    "pam_shishi",
> |    ^~~~~~~~~~~~
> | pam_shishi.c:293:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:294:3: warning: excess elements in struct initializer
> |    pam_sm_authenticate,
> |    ^~~~~~~~~~~~~~~~~~~
> | pam_shishi.c:294:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:295:3: warning: excess elements in struct initializer
> |    pam_sm_setcred,
> |    ^~~~~~~~~~~~~~
> | pam_shishi.c:295:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:296:3: warning: excess elements in struct initializer
> |    pam_sm_acct_mgmt,
> |    ^~~~~~~~~~~~~~~~
> | pam_shishi.c:296:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:297:3: warning: excess elements in struct initializer
> |    pam_sm_open_session,
> |    ^~~~~~~~~~~~~~~~~~~
> | pam_shishi.c:297:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:298:3: warning: excess elements in struct initializer
> |    pam_sm_close_session,
> |    ^~~~~~~~~~~~~~~~~~~~
> | pam_shishi.c:298:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:299:3: warning: excess elements in struct initializer
> |    pam_sm_chauthtok
> |    ^~~~~~~~~~~~~~~~
> | pam_shishi.c:299:3: note: (near initialization for '_pam_shishi_modstruct')
> | pam_shishi.c:292:19: error: storage size of '_pam_shishi_modstruct' isn't 
> known
> |  struct pam_module _pam_shishi_modstruct = {
> |                    ^~~~~~~~~~~~~~~~~~~~~
> | /usr/include/security/pam_modules.h: In function 'pam_sm_authenticate':
> | pam_shishi.c:127:7: warning: ignoring return value of 'asprintf', declared 
> with attribute warn_unused_result [-Wunused-result]
> |        asprintf ((char **) &msg[0].msg, "Password for address@hidden': ",
> |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> |    shishi_principal_default (h), shishi_realm_default (h));
> |    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

> Looking at the sourcecode of the pam sourcepackage, it seems like suppor
> for PAM_STATIC was removed with pam upstream 1.3.0, which hit Debian
> with 1.3.1-3 uploaded 2019-02-12.

> Taking a look at other pam_modules, they do not define PAM_STATIC
> themself under any circumstances but only check it,
> while extra/pam_shishi/pam_shishi.c contains:

> | #ifndef PIC
> | #define PAM_STATIC
> | #endif

> Looking around at some old pam documentation, my guess is that
> PAM_STATIC is only to be used if modules are to be linked into libpam
> directly. So I think those three lines above are in error and without
> them this build failure might also be fixed.

> @vorlon: could you take a look if my understanding of PAM_STATIC is
> correct and it is nothing that should be defined if compiled as
> an pam module outside of the pam source tree?

That's correct. PAM_STATIC was non-standard, broken through most of the life
of Linux-PAM, and is now obsolete; and there is no reason for anything
outside of the Linux-PAM tree to ever be building non-PIC PAM modules.  This
package should stop trying to build a PAM module as a static library.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
address@hidden                                     address@hidden

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]