diff options
author | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2010-12-23 03:10:56 +0100 |
---|---|---|
committer | Håkon Nessjøen <haakon.nessjoen@gmail.com> | 2010-12-23 03:10:56 +0100 |
commit | ff590f394b61c88922ef5a5bb5349b81c6d0be55 (patch) | |
tree | fabd5883a0f96f2cb90cb7b53c717bb112b9c36b | |
parent | 53ef36ccf50163e72b646ef4bf673669f9c8de2e (diff) | |
download | MAC-Telnet-ff590f394b61c88922ef5a5bb5349b81c6d0be55.tar.gz MAC-Telnet-ff590f394b61c88922ef5a5bb5349b81c6d0be55.zip |
Fix silly bug that made mactelnetd connections time out after only 65k bytes
-rw-r--r-- | mactelnetd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mactelnetd.c b/mactelnetd.c index cd4252f..a07fdb3 100644 --- a/mactelnetd.c +++ b/mactelnetd.c @@ -69,8 +69,8 @@ unsigned char mt_direction_fromserver = 1; /** Connection struct */ struct mt_connection { unsigned short seskey; - unsigned short incounter; - unsigned short outcounter; + unsigned int incounter; + unsigned int outcounter; time_t lastdata; int terminalMode; unsigned char username[30]; @@ -302,7 +302,7 @@ void doLogin(struct mt_connection *curconn, struct mt_mactelnet_hdr *pkthdr) { syslog(LOG_INFO, "(%d) User %s logged in.", curconn->seskey, curconn->username); /* Initialize terminal environment */ - setenv("USER", user->pw_name,1); + setenv("USER", user->pw_name, 1); setenv("HOME", user->pw_dir, 1); setenv("SHELL", user->pw_shell, 1); setenv("TERM", curconn->terminal_type, 1); @@ -515,7 +515,7 @@ void handlePacket(unsigned char *data, int data_len, const struct sockaddr_in *a /* Accept first packet, and all packets greater than incounter, and if counter has wrapped around. */ - if (curconn->incounter == 0 || pkthdr.counter > curconn->incounter || (curconn->incounter - pkthdr.counter) > 65535) { + if (curconn->incounter == 0 || pkthdr.counter > curconn->incounter || (curconn->incounter - pkthdr.counter) > 16777216) { curconn->incounter = pkthdr.counter; } else { /* Ignore double or old packets */ |