#include <sys/types.h>
#include <sys/poll.h>
#include <sys/time.h>
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
-struct icmphdr {
- u_int8_t type;
- u_int8_t code;
- u_int16_t checksum;
-};
-
-struct reqhdr {
- u_int8_t type;
- u_int8_t code;
- u_int16_t checksum;
- u_int16_t id;
- u_int16_t seq;
-};
-
-struct rephdr {
- u_int8_t type;
- u_int8_t code;
- u_int16_t checksum;
- u_int16_t id;
- u_int16_t seq;
- int32_t ttl;
-
-};
-
-#define ICMP_NAMEREQ 37
-#define ICMP_NAMEREP 38
+#include "icmpdefs.h"
unsigned char buf[65536];
fprintf(stderr, "domain name decompression not implemented, aborting\n");
exit(1);
}
+ if((int)*p + (p - dnbuf) >= size) {
+ fprintf(stderr, "malformed domain name\n");
+ return;
+ }
fprintf(f, "%.*s", (int)*p, p + 1);
p += 1 + (int)*p;
if(*p != 0)
/*
* Local Variables:
- * compile-command: "gcc -Wall -g -o idnlookup idnlookup.c"
+ * compile-command: "make CFLAGS='-Wall -g'"
* End:
*/