From 1e2b9ced0146a87d367e8a4a816c255ad6610aed Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Thu, 1 Feb 2001 14:09:00 +0000 Subject: [PATCH] Ignore the zero byte at the start of the rlogin main protocol [originally from svn r920] --- rlogin.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/rlogin.c b/rlogin.c index 9ce73095..e20b9e68 100644 --- a/rlogin.c +++ b/rlogin.c @@ -49,8 +49,22 @@ static int rlogin_receive (Socket skt, int urgent, char *data, int len) { * on 0x10 and 0x20 respectively. I'm not convinced it's * worth it... */ + } else { + /* + * Main rlogin protocol. This is really simple: the first + * byte is expected to be NULL and is ignored, and the rest + * is printed. + */ + static int firstbyte = 1; + if (firstbyte) { + if (data[0] == '\0') { + data++; + len--; + } + firstbyte = 0; + } + c_write(data, len); } - c_write(data, len); return 1; }