aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/client.c')
-rw-r--r--src/client.c9
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);