summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'main.c')
-rw-r--r--main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/main.c b/main.c
index a9dd7eb..4c05244 100644
--- a/main.c
+++ b/main.c
@@ -192,7 +192,7 @@ void handlePacket(unsigned char *data, int data_len) {
int main (int argc, char **argv) {
int insockfd;
int result;
- char data[200];
+ char data[1500];
struct sockaddr_in si_me;
char buff[1500];
int plen = 0;
@@ -345,12 +345,14 @@ int main (int argc, char **argv) {
handlePacket(buff, result);
}
if (FD_ISSET(0, &read_fds)) {
- unsigned char key = getc(stdin);
+ unsigned char keydata[100];
+ int datalen;
+ datalen = read(STDIN_FILENO, &keydata, 100);
memset(data, 0, sizeof(data));
plen = initPacket(data, MT_PTYPE_DATA, srcmac, dstmac, sessionkey, outcounter);
- outcounter ++;
- memcpy(data + plen, &key, 1);
- result = sendUDP(data, plen + 1);
+ outcounter += datalen;
+ memcpy(data + plen, &keydata, datalen);
+ result = sendUDP(data, plen + datalen);
}
} else {
/* keepalive */