Steve Tell
2001-Feb-21 07:06 UTC
bug?: building RPM of 2.5.1p1 uses wrong pam.d/ssh file for RH6 vs RH7
(I'm using RedHat 6.2 and openssl-0.9.5a-3) After rebuilding binary RPMs using openssh-2.5.1p1-1.src.rpm, I was unable to ssh in to a system upgraded to the new openssh-server-2.5.1p1.rpm After the failure, /var/log/messages on the destination indicated lots of PAM errors of the form "sshd[22814]: PAM [dlerror: /lib/security/pam_stack.so: can not open shared object file: No such file or directory]" I traced the problem to the fact that /etc/pam.d/ssh was copied from the RedHat 7 version, contrib/redhat/sshd.pam-7.x, instead of the one for RedHat 6.2 and eariler, sshd.pam-7.x Replacing the file fixed that particular system, but the rpm itself contains the wrong file. It would appear that the conditional in openssh.spec that is supposed to select the redhat version is reversed: If "--define rh7" is specified, the 6.2 file, "sshd.pam" is used, else specified, then the file for 7.0, "sshd.pam-7.x" is used The patch below fixes this by swapping if/else parts of the conditional. OTOH, if the conditional is thought to be correct without this patch, then the name of the define (and the documents comments) could really use to be made more clear... Steve -- Steve Tell tell at telltronics.org *** openssh.spec Mon Feb 19 05:51:50 2001 --- /usr/src/redhat/SPECS/openssh.spec Wed Feb 21 01:36:49 2001 *************** *** 190,198 **** install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -d $RPM_BUILD_ROOT%{_libexecdir}/openssh %if %{redhat7} - install -m644 contrib/redhat/sshd.pam $RPM_BUILD_ROOT/etc/pam.d/sshd - %else install -m644 contrib/redhat/sshd.pam-7.x $RPM_BUILD_ROOT/etc/pam.d/sshd %endif install -m755 contrib/redhat/sshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd --- 190,198 ---- install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -d $RPM_BUILD_ROOT%{_libexecdir}/openssh %if %{redhat7} install -m644 contrib/redhat/sshd.pam-7.x $RPM_BUILD_ROOT/etc/pam.d/sshd + %else + install -m644 contrib/redhat/sshd.pam $RPM_BUILD_ROOT/etc/pam.d/sshd %endif install -m755 contrib/redhat/sshd.init $RPM_BUILD_ROOT/etc/rc.d/init.d/sshd