diff options
Diffstat (limited to 'src/client.c')
| -rw-r--r-- | src/client.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/client.c b/src/client.c index 5555bd5..18c390c 100644 --- a/src/client.c +++ b/src/client.c @@ -13,6 +13,11 @@ void __attribute__((format(printf,1,2))) out(const char *fmt, ...) write(client_fd, buf, sizeof(buf)); } +void out_raw(const unsigned char *buf, size_t len) +{ + write(client_fd, buf, len); +} + #define BUFSZ 128 char *client_read(void) @@ -32,6 +37,8 @@ tryagain: printf("Read '%s'\n", buf); if(buf[0] & 0x80) { + telnet_handle_command((unsigned char*)buf); + free(buf); goto tryagain; } @@ -54,6 +61,8 @@ void client_main(int fd, struct sockaddr_in *addr, int total) { client_fd = fd; + telnet_init(); + char *ip = inet_ntoa(addr->sin_addr); printf("New client %s\n", ip); printf("Total clients: %d\n", total); |