diff options
-rw-r--r-- | mactelnet.c | 2 | ||||
-rw-r--r-- | mactelnet.h | 2 | ||||
-rw-r--r-- | main.c | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/mactelnet.c b/mactelnet.c index 2acc1c4..8030b49 100644 --- a/mactelnet.c +++ b/mactelnet.c @@ -26,7 +26,7 @@ unsigned char mt_mactelnet_cpmagic[4] = { 0x56, 0x34, 0x12, 0xff }; -int initPacket(struct mt_packet *packet, unsigned char ptype, unsigned char *srcmac, unsigned char *dstmac, unsigned short sessionkey, unsigned short counter) { +int initPacket(struct mt_packet *packet, unsigned char ptype, unsigned char *srcmac, unsigned char *dstmac, unsigned short sessionkey, unsigned int counter) { unsigned char *data = packet->data; /* Packet version */ diff --git a/mactelnet.h b/mactelnet.h index d992de4..91e17e8 100644 --- a/mactelnet.h +++ b/mactelnet.h @@ -65,7 +65,7 @@ struct mt_packet { unsigned char data[MT_PACKET_LEN]; }; -extern int initPacket(struct mt_packet *packet, unsigned char ptype, unsigned char *srcmac, unsigned char *dstmac, unsigned short sessionkey, unsigned short counter); +extern int initPacket(struct mt_packet *packet, unsigned char ptype, unsigned char *srcmac, unsigned char *dstmac, unsigned short sessionkey, unsigned int counter); extern int addControlPacket(struct mt_packet *packet, char cptype, void *cpdata, int data_len); extern void parsePacket(unsigned char *data, struct mt_mactelnet_hdr *pkthdr); extern int parseControlPacket(unsigned char *data, const int data_len, struct mt_mactelnet_control_hdr *cpkthdr); @@ -40,8 +40,8 @@ int sockfd; int deviceIndex; -int outcounter = 0; -int incounter = 0; +unsigned int outcounter = 0; +unsigned int incounter = 0; int sessionkey = 0; int running = 1; @@ -152,7 +152,7 @@ void handlePacket(unsigned char *data, int data_len) { /* Accept first packet, and all packets greater than incounter, and if counter has wrapped around. */ - if (incounter == 0 || pkthdr.counter > incounter || incounter - pkthdr.counter > 32768) { + if (incounter == 0 || pkthdr.counter > incounter || (incounter - pkthdr.counter) > 65535) { incounter = pkthdr.counter; } else { /* Ignore double or old packets */ |