void clean_shutdown();
void print_report();
-pthread_t pthread_reader;
-
int ns = 0, nr = 0;
int udpfd;
int t = 0;
break;
case 'm' :
max_packets = atoi(optarg);
- if (packet_length < 64)
+ if (max_packets < 50)
{
printf("You must send at least 50 packets.\n");
return -1;
for (; count > 1; count -= 2)
{
- sum += ntohs(*(u32 *)addr);
+ sum += ntohs(*(u16 *)addr);
addr += 2;
}
- if (count > 1) sum += *(unsigned char *)addr;
+ if (count > 0) sum += *(unsigned char *)addr;
// take only 16 bits out of the 32 bit sum and add up the carries
- while (sum >> 16)
+ if (sum >> 16)
sum = (sum & 0xFFFF) + (sum >> 16);
// one's complement the result
controlfree(r);
break;
case CONFNAK :
- // Ack whatever address we are given - it's ours
- r = ppp_ipcp(s, CONFACK, time(NULL) % 255);
- ppp_lcp_add_option(r, 3, 4, address); // Request 0.0.0.0
+ // Request whatever address we are given - it's ours
+ r = ppp_ipcp(s, CONFREQ, time(NULL) % 255);
+ ppp_lcp_add_option(r, 3, 4, address);
ppp_send(r);
controlfree(r);
printf("Session %d: %s\n", s, inet_toa(address));