From 636634f244bbe04c703b5019f26578ac5441fefd Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Sat, 23 Jan 2016 15:25:34 -0500 Subject: stuff --- src/client.c | 4 ++-- src/globals.h | 1 + src/room.c | 4 ++-- src/telnet.c | 6 ++++-- 4 files changed, 9 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client.c b/src/client.c index 91cbbac..cbfe63b 100644 --- a/src/client.c +++ b/src/client.c @@ -155,6 +155,7 @@ void send_master(unsigned char cmd, const void *data, size_t sz) if(data) memcpy(req + sizeof(pid_t) + 1, data, sz); + assert(1 + sizeof(pid_t) + sz <= MSG_MAX); write(to_parent, req, 1 + sizeof(pid_t) + sz); /* poll till we get data */ @@ -279,8 +280,6 @@ bool poll_requests(void) unsigned char cmd = packet[0]; - debugf("Child gets code %d\n", cmd); - switch(cmd) { case REQ_BCASTMSG: @@ -658,6 +657,7 @@ auth: //} } + /* unprivileged commands */ if(!strcmp(tok, "QUIT") || !strcmp(tok, "EXIT")) { free(cmd); diff --git a/src/globals.h b/src/globals.h index 9fb2e5d..1daac8e 100644 --- a/src/globals.h +++ b/src/globals.h @@ -26,6 +26,7 @@ #include #include +#include #include #include #include diff --git a/src/room.c b/src/room.c index f63f69e..82cf8db 100644 --- a/src/room.c +++ b/src/room.c @@ -175,7 +175,7 @@ bool world_load(const char *fname, const struct roomdata_t *data, size_t data_sz for(unsigned i = 0; i < world_sz; ++i) { - world[i].users = hash_init((userdb_size() + 1) / 2, pid_hash, pid_equal); + world[i].users = hash_init((userdb_size() / 2) + 1, pid_hash, pid_equal); world[i].id = read_roomid(fd); memcpy(&world[i].data, data + i, sizeof(struct roomdata_t)); @@ -227,7 +227,7 @@ void world_init(const struct roomdata_t *data, size_t sz, const char *name) } } - world[i].users = hash_init((userdb_size() + 1) / 2, pid_hash, pid_equal); + world[i].users = hash_init((userdb_size() / 2) + 1, pid_hash, pid_equal); world_sz = i + 1; } diff --git a/src/telnet.c b/src/telnet.c index a4efac4..a28752a 100644 --- a/src/telnet.c +++ b/src/telnet.c @@ -16,11 +16,11 @@ * along with this program. If not, see . */ +#define TELCMDS +#define TELOPTS #include "globals.h" #include "client.h" - -#define TELCMDS #include "telnet.h" static uint16_t term_width, term_height; @@ -109,6 +109,7 @@ void telnet_echo_off(void) { const unsigned char seq[] = { IAC, WILL, TELOPT_ECHO, + IAC, DONT, TELOPT_ECHO, }; out_raw(seq, ARRAYLEN(seq)); } @@ -117,6 +118,7 @@ void telnet_echo_on(void) { const unsigned char seq[] = { IAC, WONT, TELOPT_ECHO, + IAC, DO, TELOPT_ECHO, }; out_raw(seq, ARRAYLEN(seq)); } -- cgit v1.1