From 9731b1425d93c85e6b5b4134b748cad55099c90b Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Wed, 1 Dec 2004 15:34:12 +0000 Subject: [PATCH] Bah. Ben points out that SSH_1_ version strings should still end in \n, and also that `\r' and `\n' don't mean what I think they mean on all compilers (Mac reverses them). [originally from svn r4941] --- ssh.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ssh.c b/ssh.c index cb8380ca..e0facac1 100644 --- a/ssh.c +++ b/ssh.c @@ -2149,7 +2149,7 @@ static int do_ssh_init(Ssh ssh, unsigned char c) ssh->rdpkt2_state.incoming_sequence = 0; s->vstring[s->vslen] = 0; - s->vstring[strcspn(s->vstring, "\r\n")] = '\0';/* remove EOL chars */ + s->vstring[strcspn(s->vstring, "\015\012")] = '\0';/* remove EOL chars */ { char *vlog; vlog = snewn(20 + s->vslen, char); @@ -2184,13 +2184,13 @@ static int do_ssh_init(Ssh ssh, unsigned char c) /* * Construct a v2 version string. */ - verstring = dupprintf("SSH-2.0-%s\r\n", sshver); + verstring = dupprintf("SSH-2.0-%s\015\012", sshver); ssh->version = 2; } else { /* * Construct a v1 version string. */ - verstring = dupprintf("SSH-%s-%s\r\n", + verstring = dupprintf("SSH-%s-%s\012", (ssh_versioncmp(s->version, "1.5") <= 0 ? s->version : "1.5"), sshver); @@ -2205,9 +2205,9 @@ static int do_ssh_init(Ssh ssh, unsigned char c) */ SHA_Init(&ssh->exhashbase); sha_string(&ssh->exhashbase, verstring, - strcspn(verstring, "\r\n")); + strcspn(verstring, "\015\012")); sha_string(&ssh->exhashbase, s->vstring, - strcspn(s->vstring, "\r\n")); + strcspn(s->vstring, "\015\012")); /* * Initialise SSHv2 protocol. @@ -2224,7 +2224,7 @@ static int do_ssh_init(Ssh ssh, unsigned char c) ssh->s_rdpkt = ssh1_rdpkt; } logeventf(ssh, "We claim version: %.*s", - strcspn(verstring, "\r\n"), verstring); + strcspn(verstring, "\015\012"), verstring); sk_write(ssh->s, verstring, strlen(verstring)); sfree(verstring); }