This commit is contained in:
Adam Ierymenko 2019-08-28 15:22:28 -07:00
parent 933404b1dd
commit ef12c5af99
No known key found for this signature in database
GPG Key ID: C8877CF2D7A5D7F3

View File

@ -436,11 +436,14 @@ int main(int argc,char **argv)
socklen_t sl = sizeof(in6);
const int pl = (int)recvfrom(s6,pkt.unsafeData(),pkt.capacity(),0,(struct sockaddr *)&in6,&sl);
if (pl > 0) {
try {
pkt.setSize((unsigned int)pl);
handlePacket(s6,reinterpret_cast<const InetAddress *>(&in6),pkt);
} catch ( ... ) {
printf("* unexpected exception" ZT_EOL_S);
if (pl >= ZT_PROTO_MIN_FRAGMENT_LENGTH) {
try {
pkt.setSize((unsigned int)pl);
handlePacket(s6,reinterpret_cast<const InetAddress *>(&in6),pkt);
} catch ( ... ) {
char ipstr[128];
printf("* unexpected exception handling packet from %s" ZT_EOL_S,reinterpret_cast<const InetAddress *>(&in6)->toString(ipstr));
}
}
} else {
break;
@ -456,11 +459,14 @@ int main(int argc,char **argv)
socklen_t sl = sizeof(in4);
const int pl = (int)recvfrom(s4,pkt.unsafeData(),pkt.capacity(),0,(struct sockaddr *)&in4,&sl);
if (pl > 0) {
try {
pkt.setSize((unsigned int)pl);
handlePacket(s4,reinterpret_cast<const InetAddress *>(&in4),pkt);
} catch ( ... ) {
printf("* unexpected exception" ZT_EOL_S);
if (pl >= ZT_PROTO_MIN_FRAGMENT_LENGTH) {
try {
pkt.setSize((unsigned int)pl);
handlePacket(s4,reinterpret_cast<const InetAddress *>(&in4),pkt);
} catch ( ... ) {
char ipstr[128];
printf("* unexpected exception handling packet from %s" ZT_EOL_S,reinterpret_cast<const InetAddress *>(&in4)->toString(ipstr));
}
}
} else {
break;