[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: On non-PIC PAM module for OpenSolaris.
From: |
Mats Erik Andersson |
Subject: |
Re: On non-PIC PAM module for OpenSolaris. |
Date: |
Sat, 6 Apr 2013 13:52:22 +0200 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
fredag den 5 april 2013 klockan 21:47 skrev Mats Erik Andersson detta:
> onsdag den 3 april 2013 klockan 10:32 skrev Simon Josefsson detta:
> >
> > I have added -shared now, it makes sense to me as well.
>
> It does not suffice, I must still use '--with-pic' in order
> to build the module. Without that switch, the CCLD step, i.e.,
> "libtool: compile: ..." aborts with an error. There is no
> helping message inspite of "make V=1".
Solved! Manually inserting only "-DPIC" to LTCOMPILE is
sufficient to get a successful compilation on OpenIndiana.
The reason is that "pam_shishi.c" enforces some erroneous
and non-portable macro trickery on its own.
Based on the following observations
* PAM_EXTERN exists in Linux-PAM and OpenPAM, not in Sun-PAM.
* PAM_STATIC is peculiar to Linux-PAM.
* The header <security/pam_modules.c> should be empowered
to decide on implementation specific details.
* Russell Allbery claimed only shared modules to make sense!
I have tested the patch below with successful builds on
Debian Squeeze, FreeBSD 9.1, and OpenIndiana oi_151a7
starting from
$ ./configure CFLAGS='-Wall -Wextra' --with-libgcrypt
This covers Linux-PAM, OpenPAM, and Sun-PAM. Please audit
the patch for verification that I have not overlooked
some detail.
Best regards,
Mats E A