Mailing List Archive

openssh 1.2pre13 on Linux/i386 RH4.2 problems
Can't compile sshd.c because of pam errors. The errors are attached
below, and I apologize for the >75 chars a line. RH4.2, with the
latest updates, runs pam-0.57-5. I could upgrade PAM from source, but
I'd probably break other programs.

gcc -g -O2 -Wall -I/usr/local/ssl/include -DETCDIR=\"/etc/ssh\" -DSSH_PROGRAM=\"/usr/bin/ssh\" -DASKPASS_PROGRAM=\"/usr/libexec/ssh/ssh-askpass\" -DHAVE_CONFIG_H -c sshd.c -o sshd.o
sshd.c: In function `pam_cleanup_proc':
sshd.c:224: warning: passing arg 1 of `pam_strerror' makes integer from pointer without a cast
sshd.c:224: too many arguments to function `pam_strerror'
sshd.c:231: warning: passing arg 1 of `pam_strerror' makes integer from pointer without a cast
sshd.c:231: too many arguments to function `pam_strerror'
... more of these...
make: *** [sshd.o] Error 1
Re: openssh 1.2pre13 on Linux/i386 RH4.2 problems [ In reply to ]
Berend De Schouwer wrote:
>
> Can't compile sshd.c because of pam errors. The errors are attached
> below, and I apologize for the >75 chars a line. RH4.2, with the
> latest updates, runs pam-0.57-5. I could upgrade PAM from source, but
> I'd probably break other programs.

Yes, the original RFC for PAM from SunSoft said that pam_strerror()
should have the RH4.x behavior, but then when Sun released their own
version of PAM (in Solaris 2.6) it had the RH5.x behavior. Although it
pained me to break backward compatibility, everyone agreed that it was
the right thing to do in this case. [.It had positive implications for
being able to add internationalization support to PAM, and is why Sun
had done what they did.]

> From the 4.2 box:
> grep pam_strerror _pam_types.h
> extern const char *pam_strerror(int errnum);
>
> From a 5.2 box:
> grep pam_strerror _pam_types.h
> extern const char *pam_strerror(pam_handle_t *pamh, int errnum);

It won't change again.

Cheers

Andrew