Call for testing: OpenSSH-6.2

Damien Miller djm at mindrot.org
Mon Mar 4 10:45:14 EST 2013


On Fri, 1 Mar 2013, Kevin Brott wrote:

> # *5 make tests fails immediately - xlc_r
> # *6 make tests fails immediately - gcc

I suspect that the patch I just sent will avoid these.

> # *7 Make tests fails here:  hangs forever
>      run test forwarding.sh ...
>      Warning: Could not request remote forwarding.
>      ssh_exchange_identification: Connection closed by remote host
>      cmp: EOF on /usr/src/UTILS/SSH/openssh/regress/ls.copy
>      corrupted copy of /bin/ls
>      Warning: remote port forwarding failed for listen port 3350

This might be a spurious failure caused by the regress script picking a
port that is already in use on the host running the tests. Could you
check whether anything is using ports 3300-3399? You can adjust the 
leading digits of the ports that the test choses using the 'base='
variable at the start of regress/forwarding.sh

> # *8 make test failes here:
>      run test integrity.sh ...
>      test integrity: hmac-sha1 @2900 Invalid modification spec "xor:2900:1"
> ssh_exchange_identification: Connection closed by remote host.
>      unexpected error mac hmac-sha1 at 2900

This one is strange - the modpipe tool is not parsing its commandline
properly. I suspect that HP/UX's sscanf(3) lacks the "hh" conversion.

Could you try this patch?


Index: regress/modpipe.c
===================================================================
RCS file: /var/cvs/openssh/regress/modpipe.c,v
retrieving revision 1.5
diff -u -p -r1.5 modpipe.c
--- regress/modpipe.c	20 Feb 2013 10:16:09 -0000	1.5
+++ regress/modpipe.c	3 Mar 2013 23:44:12 -0000
@@ -74,20 +76,29 @@ static void
 parse_modification(const char *s, struct modification *m)
 {
 	char what[16+1];
-	int n;
+	int n, m1, m2;
 
 	bzero(m, sizeof(*m));
-	if ((n = sscanf(s, "%16[^:]%*[:]%lli%*[:]%hhi%*[:]%hhi",
-	    what, &m->offset, &m->m1, &m->m2)) < 3)
+	if ((n = sscanf(s, "%16[^:]%*[:]%lli%*[:]%i%*[:]%i",
+	    what, &m->offset, &m1, &m2)) < 3)
 		errx(1, "Invalid modification spec \"%s\"", s);
 	if (strcasecmp(what, "xor") == 0) {
-		m->what = MOD_XOR;
 		if (n > 3)
 			errx(1, "Invalid modification spec \"%s\"", s);
+		if (m1 < 0 || m1 > 0xff)
+			errx(1, "Invalid XOR modification value");
+		m->what = MOD_XOR;
+		m->m1 = m1;
 	} else if (strcasecmp(what, "andor") == 0) {
-		m->what = MOD_AND_OR;
 		if (n != 4)
 			errx(1, "Invalid modification spec \"%s\"", s);
+		if (m1 < 0 || m1 > 0xff)
+			errx(1, "Invalid AND modification value");
+		if (m2 < 0 || m2 > 0xff)
+			errx(1, "Invalid OR modification value");
+		m->what = MOD_AND_OR;
+		m->m1 = m1;
+		m->m2 = m2;
 	} else
 		errx(1, "Invalid modification type \"%s\"", what);
 }


More information about the openssh-unix-dev mailing list