summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHåkon Nessjøen <haakon.nessjoen@gmail.com>2010-12-23 03:10:56 +0100
committerHåkon Nessjøen <haakon.nessjoen@gmail.com>2010-12-23 03:10:56 +0100
commitff590f394b61c88922ef5a5bb5349b81c6d0be55 (patch)
treefabd5883a0f96f2cb90cb7b53c717bb112b9c36b
parent53ef36ccf50163e72b646ef4bf673669f9c8de2e (diff)
downloadMAC-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.c8
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 */