aboutsummaryrefslogtreecommitdiff
path: root/src/client.c
diff options
context:
space:
mode:
authorFranklin Wei <frankhwei536@gmail.com>2015-12-05 13:20:26 -0500
committerFranklin Wei <frankhwei536@gmail.com>2015-12-05 13:20:26 -0500
commitd04045c6e7e0bfa2585773ed6db5d9f83b5a56b8 (patch)
tree215ce96e0f2de497bd257f582384aba49d5942bf /src/client.c
parent5f271a712c0f9353ddfd7871e2a6e2d610289087 (diff)
downloadnetcosm-d04045c6e7e0bfa2585773ed6db5d9f83b5a56b8.zip
netcosm-d04045c6e7e0bfa2585773ed6db5d9f83b5a56b8.tar.gz
netcosm-d04045c6e7e0bfa2585773ed6db5d9f83b5a56b8.tar.bz2
netcosm-d04045c6e7e0bfa2585773ed6db5d9f83b5a56b8.tar.xz
telnet support
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);