Call for testing: OpenSSH-6.2

Tom Christensen tgc at jupiterrise.com
Thu Mar 7 08:07:22 EST 2013


On 02/26/2013 11:09 PM, Damien Miller wrote:
> Snapshot releases for portable OpenSSH are available from
> http://www.mindrot.org/openssh_snap/
>

I tried to build the 20130307 snapshot on IRIX 5.3 but ran into problems.

First problem is that configure hangs in the select+rlimit test.
Taking away the setrlimit calls changes nothing so I guess it might have 
something to do with the use of /dev/null, though replacing /dev/null 
with /dev/zero does not help either.
There did not seem to be a way to bypass the test (ie. setting something 
like 'select_works_with_rlimit=no') so I had to modify configure to 
avoid it.

Bypassing the select+rlimit test the build then continues until this 
happens:
gcc -g -O2 -Wall -Wpointer-arith -Wuninitialized -Wsign-compare 
-Wformat-security -fno-strict-aliasing -D_FORTIFY_SOURCE=2 
-fno-builtin-memset -std=gnu99  -I. -I.. -I. -I./.. 
-I/usr/tgcware/include/openssl -I/usr/tgcware/include -DHAVE_CONFIG_H -c 
port-tun.c
In file included from port-tun.c:24:
/usr/include/netinet/ip.h:34: error: redefinition of `struct ip'
/usr/include/netinet/ip.h:112: error: redefinition of `struct ip_timestamp'
/usr/include/netinet/ip.h:124: error: redefinition of `union ipt_timestamp'
/usr/include/netinet/ip.h:126: error: redefinition of `struct ipt_ta'
make[1]: *** [port-tun.o] Error 1

As a workaround I removed
#include <netinet/in_systm.h>
#include <netinet/ip.h>
from defines.h.

With that workaround the build then continues until sshd is linked:
gcc -o sshd sshd.o auth-rhosts.o auth-passwd.o auth-rsa.o auth-rh-rsa.o 
audit.o audit-bsm.o audit-linux.o platform.o sshpty.o sshlogin.o 
servconf.o serverloop.o auth.o auth1.o auth2.o auth-options.o session.o 
auth-chall.o auth2-chall.o groupaccess.o auth-skey.o auth-bsdauth.o 
auth2-hostbased.o auth2-kbdint.o auth2-none.o auth2-passwd.o 
auth2-pubkey.o auth2-jpake.o monitor_mm.o monitor.o monitor_wrap.o 
kexdhs.o kexgexs.o kexecdhs.o auth-krb5.o auth2-gss.o gss-serv.o 
gss-serv-krb5.o loginrec.o auth-pam.o auth-shadow.o auth-sia.o 
md5crypt.o sftp-server.o sftp-common.o roaming_common.o roaming_serv.o 
sandbox-null.o sandbox-rlimit.o sandbox-systrace.o sandbox-darwin.o 
sandbox-seccomp-filter.o -L. -Lopenbsd-compat/ 
-Wl,-rpath,/usr/tgcware/lib -L/usr/tgcware/lib -Wl,-no_rqs -lssh 
-lopenbsd-compat  -lcrypto -lz  -lgen
ld: ERROR 33: Unresolved text symbol "usleep" -- 1st referenced by sshd.o.
ld: INFO 60: Output file removed because of error.
collect2: ld returned 1 exit status

IRIX 5.3 does not have usleep anywhere. I worked around this by 
replacing usleep with sginap.

A generic IRIX issue is the use of killpg in sshd.c.
sshd.c: In function `grace_alarm_handler':
sshd.c:368: warning: implicit declaration of function `killpg'

On IRIX using this function requires _BSD_SIGNALS to be defined
otherwise results are unpredictable.
See the manpage here for more details:
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi?cmd=getdoc&coll=0650&db=man&fname=3%20killpg

Looking at the kill() manpage it seems to me that killpg could be 
replaced with kill(0, SIGTERM) to achieve the same thing.

With all the workarounds I can get the build to complete.
The testsuite hangs in the 'test stderr data transfer: proto 2' tests 
(both with and without -n) which is unchanged from previous releases.

-tgc


More information about the openssh-unix-dev mailing list