Lines 820-838
parse_reply(struct msghdr *msg, int cc, void *addr, struct timeval *tv)
Link Here
|
820 |
icp->type != ICMP_SOURCE_QUENCH); |
809 |
icp->type != ICMP_SOURCE_QUENCH); |
821 |
if (error_pkt) { |
810 |
if (error_pkt) { |
822 |
acknowledge(ntohs(icp1->un.echo.sequence)); |
811 |
acknowledge(ntohs(icp1->un.echo.sequence)); |
823 |
if (working_recverr) { |
812 |
return 0; |
824 |
return 0; |
|
|
825 |
} else { |
826 |
static int once; |
827 |
/* Sigh, IP_RECVERR for raw socket |
828 |
* was broken until 2.4.9. So, we ignore |
829 |
* the first error and warn on the second. |
830 |
*/ |
831 |
if (once++ == 1) |
832 |
fprintf(stderr, "\rWARNING: kernel is not very fresh, upgrade is recommended.\n"); |
833 |
if (once == 1) |
834 |
return 0; |
835 |
} |
836 |
} |
813 |
} |
837 |
nerrors+=error_pkt; |
814 |
nerrors+=error_pkt; |
838 |
if (options&F_QUIET) |
815 |
if (options&F_QUIET) |