Testing wanted: OpenSSH 4.8

Corinna Vinschen vinschen at redhat.com
Thu Mar 13 21:35:30 EST 2008


Hi,

On Mar 13 11:50, Damien Miller wrote:
> Hi,
> 
> We are preparing to make the release of OpenSSH 4.8 soon, so we would
> greatly appreciate testing of snapshot releases in as many environments
> and on as many operating systems as possible.

Built for current Cygwin relase 1.5.25-11.

There's a bug in scp.c when including poll.h.  For some reason it only
tries to include sys/poll.h, but not the POSIX-compliant poll.h.  I had
to apply the below patch to be able to build scp:

Index: scp.c
===================================================================
RCS file: /cvs/openssh/scp.c,v
retrieving revision 1.178
diff -p -u -r1.178 scp.c
--- scp.c	29 Feb 2008 04:07:02 -0000	1.178
+++ scp.c	13 Mar 2008 09:38:56 -0000
@@ -78,8 +78,12 @@
 #ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#ifdef HAVE_SYS_POLL_H
-# include <sys/poll.h>
+#ifdef HAVE_POLL_H
+#include <poll.h>
+#else
+# ifdef HAVE_SYS_POLL_H
+#  include <sys/poll.h>
+# endif
 #endif
 #ifdef HAVE_SYS_TIME_H
 # include <sys/time.h>

After applying this patch, everything built OOTB and the testsuite ran
more or less fine, except for the puttygen stuff, which I don't have
installed. 

There's also a fail in sftp-cmds.sh:

  sftp commands: lls
  lls failed

It turns out to be two bugs in the test script:

  verbose "$tid: lls"
  echo "cd ${OBJ}\nlls" | ${SFTP} -P ${SFTPSERVER} 2>&1 | \
	  grep -q copy.dd || fail "lls failed"

First of all, when testing "lls", the cd should be "lcd".

Second, coreutils' echo(1) command does not understand the \n syntax,
unless you also specify the -e option.  I assume the most portable
approach is to embed a real LF in the command, like in the below patch
(which also fixes the cd v. lcd bug:

Index: regress/sftp-cmds.sh
===================================================================
RCS file: /cvs/openssh/regress/sftp-cmds.sh,v
retrieving revision 1.16
diff -p -u -r1.16 sftp-cmds.sh
--- regress/sftp-cmds.sh	12 Mar 2008 12:59:44 -0000	1.16
+++ regress/sftp-cmds.sh	13 Mar 2008 10:14:33 -0000
@@ -44,7 +44,8 @@ rm -rf ${COPY} ${COPY}.1 ${COPY}.2 ${COP
 mkdir ${COPY}.dd
 
 verbose "$tid: lls"
-echo "cd ${OBJ}\nlls" | ${SFTP} -P ${SFTPSERVER} 2>&1 | \
+echo "lcd ${OBJ}
+lls" | ${SFTP} -P ${SFTPSERVER} 2>&1 | \
 	grep -q copy.dd || fail "lls failed"
 
 verbose "$tid: lls w/path"

Also sftp-glob fails on Cygwin, because it tests for files which can't
be created on Windows file systems where certain characters are not
allowed in filenames ( '"', '<', '>', '?', '\\', '|', '*' ':' ).
I don't have a patch for that right now, especially given that the next
major version of Cygwin will probably allow to create files with these
characters using a trick which is also used by Interix(*) :)


Corinna


(*) Filenames are stored in UTF-16 on Windows filesystems.  All invalid
    chars just get or'ed with 0xf000 when storing the filename and
    and'ed with 0xff when retrieving the filename from the file system.

-- 
Corinna Vinschen
Cygwin Project Co-Leader
Red Hat


More information about the openssh-unix-dev mailing list