summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mactelnet.c2
-rw-r--r--mactelnet.h2
-rw-r--r--main.c6
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);
diff --git a/main.c b/main.c
index 545c317..cea231d 100644
--- a/main.c
+++ b/main.c
@@ -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 */