]> git.pld-linux.org Git - packages/tcpdump.git/blame - tcpdump-glibc2.1.patch
- release 2,
[packages/tcpdump.git] / tcpdump-glibc2.1.patch
CommitLineData
f2e111ec
AM
1diff -urN tcpdump-3.4.orig/Makefile.in tcpdump-3.4/Makefile.in
2--- tcpdump-3.4.orig/Makefile.in Sat Jul 3 17:50:45 1999
3+++ tcpdump-3.4/Makefile.in Sat Jul 3 19:03:02 1999
4@@ -41,8 +41,8 @@
5
6 CC = @CC@
7 PROG = tcpdump
8-CCOPT = @V_CCOPT@
9-INCLS = -I. @V_INCLS@
10+CCOPT = @V_CCOPT@ -DINET6=1
11+INCLS = -I/usr/include/pcap @V_INCLS@
12 DEFS = @DEFS@ -DHAVE_FDDI
13
14 # Standard CFLAGS
15@@ -73,7 +73,7 @@
16 print-snmp.c print-sunrpc.c print-tcp.c print-tftp.c print-tr.c \
17 print-udp.c print-wb.c addrtoname.c bpf_dump.c gmt2local.c \
18 machdep.c parsenfsfh.c util.c savestr.c setsignal.c \
19- print-smb.c smbutil.c
20+ print-smb.c smbutil.c print-ipv6.c print-icmpv6.c
21 LOCALSRC =
22 GENSRC = version.c
23
24diff -urN tcpdump-3.4.orig/addrtoname.c tcpdump-3.4/addrtoname.c
25--- tcpdump-3.4.orig/addrtoname.c Sat Jul 3 17:50:45 1999
26+++ tcpdump-3.4/addrtoname.c Sat Jul 3 17:58:06 1999
27@@ -62,7 +62,7 @@
28 #include <stdlib.h>
29 #include <unistd.h>
30
31-#ifdef INET6
32+#if defined(INET6) && __GLIBC__ < 2
33 #include <netinet6/in6.h>
34 #endif /* INET6 */
35
36diff -urN tcpdump-3.4.orig/linux-include/netinet/ip_icmp.h tcpdump-3.4/linux-include/netinet/ip_icmp.h
37--- tcpdump-3.4.orig/linux-include/netinet/ip_icmp.h Sat Jul 3 17:50:45 1999
38+++ tcpdump-3.4/linux-include/netinet/ip_icmp.h Sat Jul 3 19:12:53 1999
39@@ -33,6 +33,7 @@
40 * @(#)ip_icmp.h 8.1 (Berkeley) 6/10/93
41 */
42
43+#ifndef _NO_INCLUDE_LOCAL
44 /*
45 * Interface Control Message Protocol Definitions.
46 * Per RFC 792, September 1981.
47@@ -157,4 +158,5 @@
48 void icmp_reflect __P((struct mbuf *));
49 void icmp_send __P((struct mbuf *, struct mbuf *));
50 int icmp_sysctl __P((int *, u_int, void *, size_t *, void *, size_t));
51+#endif
52 #endif
53diff -urN tcpdump-3.4.orig/print-atalk.c tcpdump-3.4/print-atalk.c
54--- tcpdump-3.4.orig/print-atalk.c Sat Jul 3 17:50:45 1999
55+++ tcpdump-3.4/print-atalk.c Sat Jul 3 17:58:06 1999
56@@ -39,12 +39,15 @@
57 #include <netinet/in.h>
58 #include <netinet/in_systm.h>
59 #include <netinet/ip.h>
60-#include <netinet/ip_var.h>
61 #include <netinet/if_ether.h>
62 #include <netinet/udp.h>
63-#include <netinet/udp_var.h>
64 #include <netinet/tcp.h>
65-#include <netinet/tcpip.h>
66+
67+#if ! __GLIBC__ >= 2
68+# include <netinet/ip_var.h>
69+# include <netinet/udp_var.h>
70+# include <netinet/tcpip.h>
71+#endif
72
73 #include <stdio.h>
74 #include <stdlib.h>
75diff -urN tcpdump-3.4.orig/print-atm.c tcpdump-3.4/print-atm.c
76--- tcpdump-3.4.orig/print-atm.c Sat Jul 3 17:50:45 1999
77+++ tcpdump-3.4/print-atm.c Sat Jul 3 17:58:06 1999
78@@ -37,11 +37,14 @@
79 #include <netinet/if_ether.h>
80 #include <netinet/in_systm.h>
81 #include <netinet/ip.h>
82-#include <netinet/ip_var.h>
83 #include <netinet/udp.h>
84-#include <netinet/udp_var.h>
85 #include <netinet/tcp.h>
86-#include <netinet/tcpip.h>
87+
88+#if ! __GLIBC__ >= 2
89+# include <netinet/ip_var.h>
90+# include <netinet/udp_var.h>
91+# include <netinet/tcpip.h>
92+#endif
93
94 #include <stdio.h>
95 #include <pcap.h>
96diff -urN tcpdump-3.4.orig/print-ax25.c tcpdump-3.4/print-ax25.c
97--- tcpdump-3.4.orig/print-ax25.c Sat Jul 3 17:50:45 1999
98+++ tcpdump-3.4/print-ax25.c Sat Jul 3 17:58:06 1999
99@@ -26,7 +26,10 @@
100 #include <netinet/in.h>
101 #include <netinet/in_systm.h>
102 #include <netinet/ip.h>
103-#include <netinet/ip_var.h>
104+
105+#if ! __GLIBC__ >= 2
106+# include <netinet/ip_var.h>
107+#endif
108
109 #include <stdio.h>
110
111diff -urN tcpdump-3.4.orig/print-domain.c tcpdump-3.4/print-domain.c
112--- tcpdump-3.4.orig/print-domain.c Sat Jul 3 17:50:45 1999
113+++ tcpdump-3.4/print-domain.c Sat Jul 3 17:58:06 1999
114@@ -38,11 +38,14 @@
115 #include <netinet/if_ether.h>
116 #include <netinet/in_systm.h>
117 #include <netinet/ip.h>
118-#include <netinet/ip_var.h>
119 #include <netinet/udp.h>
120-#include <netinet/udp_var.h>
121 #include <netinet/tcp.h>
122-#include <netinet/tcpip.h>
123+
124+#if ! __GLIBC__ >= 2
125+# include <netinet/ip_var.h>
126+# include <netinet/udp_var.h>
127+# include <netinet/tcpip.h>
128+#endif
129
130 #ifdef NOERROR
131 #undef NOERROR /* Solaris sucks */
132diff -urN tcpdump-3.4.orig/print-dvmrp.c tcpdump-3.4/print-dvmrp.c
133--- tcpdump-3.4.orig/print-dvmrp.c Sat Jul 3 17:50:45 1999
134+++ tcpdump-3.4/print-dvmrp.c Sat Jul 3 17:58:06 1999
135@@ -31,11 +31,14 @@
136 #include <netinet/in.h>
137 #include <netinet/in_systm.h>
138 #include <netinet/ip.h>
139-#include <netinet/ip_var.h>
140 #include <netinet/udp.h>
141-#include <netinet/udp_var.h>
142 #include <netinet/tcp.h>
143-#include <netinet/tcpip.h>
144+
145+#if ! __GLIBC__ >= 2
146+# include <netinet/ip_var.h>
147+# include <netinet/udp_var.h>
148+# include <netinet/tcpip.h>
149+#endif
150
151 #include <stdio.h>
152 #include <string.h>
153diff -urN tcpdump-3.4.orig/print-ether.c tcpdump-3.4/print-ether.c
154--- tcpdump-3.4.orig/print-ether.c Sat Jul 3 17:50:45 1999
155+++ tcpdump-3.4/print-ether.c Sat Jul 3 17:58:06 1999
156@@ -42,11 +42,14 @@
157 #include <netinet/if_ether.h>
158 #include <netinet/in_systm.h>
159 #include <netinet/ip.h>
160-#include <netinet/ip_var.h>
161 #include <netinet/udp.h>
162-#include <netinet/udp_var.h>
163 #include <netinet/tcp.h>
164-#include <netinet/tcpip.h>
165+
166+#if ! __GLIBC__ >= 2
167+# include <netinet/ip_var.h>
168+# include <netinet/udp_var.h>
169+# include <netinet/tcpip.h>
170+#endif
171
172 #if defined(__GLIBC__) && __GLIBC__ >= 2
173 #include <linux/sockios.h>
174diff -urN tcpdump-3.4.orig/print-icmp.c tcpdump-3.4/print-icmp.c
175--- tcpdump-3.4.orig/print-icmp.c Sat Jul 3 17:50:45 1999
176+++ tcpdump-3.4/print-icmp.c Sat Jul 3 17:58:06 1999
177@@ -34,16 +34,21 @@
178 #endif
179 #include <net/if.h>
180
181+#if ! __GLIBC__ >= 2
182+# include <netinet/ip_var.h>
183+# include <netinet/udp_var.h>
184+# include <netinet/tcpip.h>
185+#else
186+# define __FAVOR_BSD
187+#endif
188+
189 #include <netinet/in.h>
190 #include <netinet/if_ether.h>
191 #include <netinet/in_systm.h>
192 #include <netinet/ip.h>
193 #include <netinet/ip_icmp.h>
194-#include <netinet/ip_var.h>
195 #include <netinet/udp.h>
196-#include <netinet/udp_var.h>
197 #include <netinet/tcp.h>
198-#include <netinet/tcpip.h>
199
200 #include <stdio.h>
201 #include <string.h>
202diff -urN tcpdump-3.4.orig/print-icmpv6.c tcpdump-3.4/print-icmpv6.c
203--- tcpdump-3.4.orig/print-icmpv6.c Sat Jul 3 17:50:45 1999
204+++ tcpdump-3.4/print-icmpv6.c Sat Jul 3 19:31:02 1999
205@@ -107,30 +107,42 @@
206 #include <sys/types.h>
207 #include <sys/socket.h>
208
209-#include <net/if.h>
210-
211 #include <netinet/in.h>
212-#include <netinet/if_ether.h>
213 #include <netinet/in_systm.h>
214 #include <netinet/ip.h>
215-#include <netinet/ip_icmp.h>
216-#include <netinet/ip_var.h>
217 #include <netinet/udp.h>
218-#include <netinet/udp_var.h>
219 #include <netinet/tcp.h>
220-#include <netinet/tcpip.h>
221-
222-#include <netinet6/ipv6.h>
223-#include <netinet6/in6.h>
224-#include <netinet6/ipv6_var.h>
225-#include <netinet6/ipv6_icmp.h>
226-#include <stdio.h>
227
228-#include <string.h>
229+#if ! __GLIBC__ >= 2
230+# include <netinet/ip_var.h>
231+# include <netinet/udp_var.h>
232+# include <netinet/tcpip.h>
233+#endif
234+
235+#include <netdb.h>
236+
237+#if __GLIBC__ >= 2
238+# include <netinet/ip6.h>
239+# include <netinet/icmp6.h>
240+# include <netinet/ip_icmp.h>
241+#else
242+# include <netinet6/in6.h>
243+# include <netinet6/ipv6.h>
244+#endif
245
246+#include <stdio.h>
247+#ifdef __STDC__
248+#include <stdlib.h>
249+#endif
250+#include <unistd.h>
251+
252 #include "interface.h"
253 #include "addrtoname.h"
254
255+#define __u8 u_int8_t
256+#define __u16 u_int16_t
257+#define __u32 u_int32_t
258+
259 char *ipv6addr_string(struct in6_addr *);
260
261 struct na_hdr
262@@ -360,7 +372,11 @@
263 void
264 icmpv6_print(register const u_char *bp, int length)
265 {
266+#if __GLIBC__ >= 2
267+ register const struct icmp6_hdr *dp;
268+#else
269 register const struct ipv6_icmp *dp;
270+#endif
271 register char *str;
272 register const struct ipv6 *oip;
273 register const struct udphdr *ouh;
274@@ -376,6 +392,47 @@
275
276 str = buf;
277 *str = '\0';
278+
279+/* Translation from NRL to Glibc defines */
280+#if __GLIBC__ >= 2
281+# define ICMPV6_MINLEN ICMP_MINLEN
282+# define ICMPV6_ECHOREPLY ICMP6_ECHO_REPLY
283+# define ICMPV6_ECHO ICMP6_ECHO_REQUEST
284+# define ICMPV6_TOOBIG ICMP6_PACKET_TOO_BIG
285+/* Destination unreachable */
286+# define ICMPV6_UNREACH ICMP6_DST_UNREACH
287+# define ICMPV6_UNREACH_NOROUTE ICMP6_DST_UNREACH_NOROUTE
288+# define ICMPV6_UNREACH_ADMIN ICMP6_DST_UNREACH_ADMIN
289+# define ICMPV6_UNREACH_NOTNEIGHBOR ICMP6_DST_UNREACH_NOTNEIGHBOR
290+# define ICMPV6_UNREACH_ADDRESS ICMP6_DST_UNREACH_ADDR
291+# define ICMPV6_UNREACH_PORT ICMP6_DST_UNREACH_NOPORT
292+/* Membership */
293+# define ICMPV6_GRPQUERY ICMP6_MEMBERSHIP_QUERY
294+# define ICMPV6_GRPREPORT ICMP6_MEMBERSHIP_REPORT
295+# define ICMPV6_GRPTERM ICMP6_MEMBERSHIP_REDUCTION
296+/* Time exceeded */
297+# define ICMPV6_TIMXCEED ICMP6_TIME_EXCEEDED
298+# define ICMPV6_TIMXCEED_INTRANS ICMP6_TIME_EXCEED_TRANSIT
299+# define ICMPV6_TIMXCEED_REASS ICMP6_TIME_EXCEED_REASSEMBLY
300+/* Parameter problems */
301+# define ICMPV6_PARAMPROB ICMP6_PARAM_PROB
302+# define ICMPV6_PARAMPROB_PROB ICMP6_PARAMPROB_HEADER
303+# define ICMPV6_PARAMPROB_NEXTHDR ICMP6_PARAMPROB_NEXTHEADER
304+# define ICMPV6_PARAMPROB_BADOPT ICMP6_PARAMPROB_OPTION
305+/* Neighbor discovery */
306+# define ICMPV6_ROUTERSOL ND_ROUTER_SOLICIT
307+# define ICMPV6_ROUTERADV ND_ROUTER_ADVERT
308+# define ICMPV6_NEIGHBORSOL ND_NEIGHBOR_SOLICIT
309+# define ICMPV6_NEIGHBORADV ND_NEIGHBOR_ADVERT
310+# define ICMPV6_REDIRECT ND_REDIRECT
311+
312+# define icmp_type icmp6_type
313+# define icmp_code icmp6_code
314+# define icmp_nexthopmtu icmp6_mtu
315+# define icmp_grpdelay icmp6_maxdelay
316+# define icmp_paramptr icmp6_pptr
317+#endif
318+
319
320 if (left < ICMPV6_MINLEN)
321 goto trunc;
322diff -urN tcpdump-3.4.orig/print-igrp.c tcpdump-3.4/print-igrp.c
323--- tcpdump-3.4.orig/print-igrp.c Sat Jul 3 17:50:45 1999
324+++ tcpdump-3.4/print-igrp.c Sat Jul 3 17:58:06 1999
325@@ -33,9 +33,13 @@
326 #include <netinet/in.h>
327 #include <netinet/in_systm.h>
328 #include <netinet/ip.h>
329-#include <netinet/ip_var.h>
330 #include <netinet/udp.h>
331-#include <netinet/udp_var.h>
332+
333+#if ! __GLIBC__ >= 2
334+# include <netinet/ip_var.h>
335+# include <netinet/udp_var.h>
336+# include <netinet/tcpip.h>
337+#endif
338
339 #include <errno.h>
340 #include <stdio.h>
341diff -urN tcpdump-3.4.orig/print-ip.c tcpdump-3.4/print-ip.c
342--- tcpdump-3.4.orig/print-ip.c Sat Jul 3 17:50:45 1999
343+++ tcpdump-3.4/print-ip.c Sat Jul 3 17:58:06 1999
344@@ -36,11 +36,14 @@
345 #include <netinet/in.h>
346 #include <netinet/in_systm.h>
347 #include <netinet/ip.h>
348-#include <netinet/ip_var.h>
349 #include <netinet/udp.h>
350-#include <netinet/udp_var.h>
351 #include <netinet/tcp.h>
352-#include <netinet/tcpip.h>
353+
354+#if ! __GLIBC__ >= 2
355+# include <netinet/ip_var.h>
356+# include <netinet/udp_var.h>
357+# include <netinet/tcpip.h>
358+#endif
359
360 #ifdef HAVE_MALLOC_H
361 #include <malloc.h>
362diff -urN tcpdump-3.4.orig/print-ipv6.c tcpdump-3.4/print-ipv6.c
363--- tcpdump-3.4.orig/print-ipv6.c Sat Jul 3 17:50:45 1999
364+++ tcpdump-3.4/print-ipv6.c Sat Jul 3 19:02:24 1999
365@@ -111,16 +111,23 @@
366 #include <netinet/in.h>
367 #include <netinet/in_systm.h>
368 #include <netinet/ip.h>
369-#include <netinet/ip_var.h>
370 #include <netinet/udp.h>
371-#include <netinet/udp_var.h>
372 #include <netinet/tcp.h>
373-#include <netinet/tcpip.h>
374+
375+#if ! __GLIBC__ >= 2
376+# include <netinet/ip_var.h>
377+# include <netinet/udp_var.h>
378+# include <netinet/tcpip.h>
379+#endif
380
381 #include <netdb.h>
382-#include <netinet6/in6.h>
383
384-#include <netinet6/ipv6.h>
385+#if __GLIBC__ >= 2
386+# include <netinet/ip6.h>
387+#else
388+# include <netinet6/in6.h>
389+# include <netinet6/ipv6.h>
390+#endif
391
392 #include <stdio.h>
393 #ifdef __STDC__
394@@ -162,7 +169,7 @@
395 printf(" Pad%d", optlen);
396 break;
397 case 194:
398- printf(" Jumbo %d", ntohl(*(__u32*)optptr));
399+ printf(" Jumbo %d", ntohl(*(u_int32_t*)optptr));
400 if (optlen != 6)
401 printf(" <len %d is wrong>", optlen);
402 break;
403@@ -193,7 +200,14 @@
404 printf(" } ");
405 }
406
407+#if __GLIBC__ >= 2
408+static void frag_print(struct ip6_frag *ip)
409+# define frag_reserved ip6f_reserved
410+# define frag_id ip6f_ident
411+# define frag_bitsoffset ip6f_offlg
412+#else
413 static void frag_print(struct ipv6_fraghdr *ip)
414+#endif
415 {
416 u_int16_t bitoffset;
417 printf(" frag[");
418@@ -206,7 +220,15 @@
419 printf(" id=%u] ", ntohl(ip->frag_id));
420 }
421
422+#if __GLIBC__ >= 2
423+static void route_print(struct ip6_rthdr0 *ip)
424+#define i6sr_type ip6r0_type
425+#define i6sr_numaddrs ip6r0_len
426+#define i6sr_left ip6r0_segleft
427+#define i6sr_reserved ip6r0_reserved
428+#else
429 static void route_print(struct ipv6_srcroute0 *ip)
430+#endif
431 {
432 printf("rthdr%d ", ip->i6sr_type);
433 if (ip->i6sr_type == 0) {
434@@ -216,7 +238,7 @@
435 while (n > 0) {
436 if (n == ip->i6sr_left)
437 printf ("|> ");
438- if (htonl(1<<i)&*(__u32*)&ip->i6sr_reserved)
439+ if (htonl(1<<i)&*(u_int32_t*)&ip->i6sr_reserved)
440 printf("!");
441 printf("%s ", ipv6addr_string(a));
442 a++;
443@@ -224,7 +246,7 @@
444 n--;
445 }
446 if (i>0) {
447- if (htonl(1<<i)&*(__u32*)&ip->i6sr_reserved)
448+ if (htonl(1<<i)&*(u_int32_t*)&ip->i6sr_reserved)
449 printf("! ");
450 }
451 }
452@@ -264,7 +286,11 @@
453 void ipv6_print (register const u_char *bp, register int length)
454 {
455 char buf[80];
456+#if __GLIBC__ >= 2
457+ register const struct ip6_hdr *ip;
458+#else
459 register const struct ipv6 *ip;
460+#endif
461 u_int8_t nhdr;
462 int first = 1, len=0;
463 char *cp;
464@@ -272,12 +298,21 @@
465 struct hostent *name;
466 int is_fragment = 0;
467
468- ip= (const struct ipv6 *) bp;
469+#if __GLIBC__ >= 2
470+ ip= (const struct ip6_hdr *) bp;
471+ if (bp + sizeof(struct ip6_hdr) > snapend) {
472+#else
473+ ip= (const struct ipv6_hdr *) bp;
474 if (bp + sizeof(struct ipv6) > snapend) {
475+#endif
476 printf("[|ipv6]");
477 return;
478 }
479+#if __GLIBC__ >= 2
480+ if (length < sizeof(struct ip6_hdr)){
481+#else
482 if (length < sizeof(struct ipv6)){
483+#endif
484 if (partial_frame)
485 (void)printf("truncated-ipv6 %d", length);
486 else
487@@ -285,7 +320,11 @@
488 return;
489 }
490
491+#if __GLIBC__ >= 2
492+ len = sizeof(struct ip6_hdr) + ntohs(ip->ip6_plen);
493+#else
494 len = sizeof(struct ipv6) + ntohs(ip->ipv6_length);
495+#endif
496
497 if (length < len) {
498 if (!partial_frame) {
499@@ -295,13 +334,24 @@
500 }
501 length = len;
502
503+#if __GLIBC__ >= 2
504+ len = sizeof(struct ip6_hdr);
505+
506+ printf(" %s > %s ", ipv6addr_string(&(ip->ip6_src)),
507+ ipv6addr_string(&(ip->ip6_dst)));
508+#else
509 len = sizeof(struct ipv6);
510
511 printf("%s > %s ", ipv6addr_string(&(ip->ipv6_src)),
512 ipv6addr_string(&(ip->ipv6_dst)));
513+#endif
514
515 if (vflag) {
516+#if __GLIBC__ >= 2
517+ p = ntohl(ip->ip6_flow);
518+#else
519 p = ntohl(ip->ipv6_versfl);
520+#endif
521 printf(" (");
522 if ((p>>28) != 6)
523 printf("v%d, ", p>>28); /* version */
524@@ -318,20 +368,40 @@
525 }
526 if (p&0x00fffff)
527 printf("fl 0x%05x, ", p&0x00fffff); /* flow label */
528+#if __GLIBC__ >= 2
529+ printf("len %d, ", ntohs(ip->ip6_plen)); /* payload length */
530+ printf("hop %d) ", ip->ip6_hlim);
531+#else
532 printf("len %d, ", ntohs(ip->ipv6_length)); /* payload length */
533 printf("hop %d) ", ip->ipv6_hoplimit);
534+#endif
535 }
536-
537+
538+#if __GLIBC__ >= 2
539+ nhdr = ip->ip6_nxt;
540+#else
541 nhdr = ip->ipv6_nexthdr;
542+#endif
543 cp = (char *)(ip + 1);
544
545+#if __GLIBC__ >= 2
546+ while (( nhdr != IPPROTO_NONE) && (nhdr != IPPROTO_TCP) &&
547+ (nhdr != IPPROTO_UDP) && (nhdr != IPPROTO_ICMPV6) &&
548+ (nhdr != IPPROTO_IPIP) && (nhdr != IPPROTO_IPV6) &&
549+ (nhdr != IPPROTO_RSVP)) {
550+#else
551 while ((nhdr!=NEXTHDR_NONE)&&(nhdr!=NEXTHDR_TCP)&&(nhdr!=NEXTHDR_UDP)
552 &&(nhdr!=NEXTHDR_ICMPV6)&&(nhdr!=NEXTHDR_IPV4)&&
553 (nhdr!=NEXTHDR_IPV6) && (nhdr!=IPPROTO_RSVP) &&
554 (nhdr!=IPPROTO_PIM)) {
555+#endif
556 switch (nhdr) {
557
558+#if __GLIBC__ >= 2
559+ case IPPROTO_HOPOPTS:
560+#else
561 case NEXTHDR_HOP: /* hop by hop (0)*/
562+#endif
563 len += (cp[1]+1)<<3;
564 if (bp+len <= snapend)
565 hop_print(cp);
566@@ -340,66 +410,140 @@
567 nhdr = cp[0];
568 cp += (cp[1]+1)<<3;
569 break;
570-
571+#if __GLIBC__ >= 2
572+ case IPPROTO_ROUTING:
573+ len += sizeof (struct ip6_rthdr0 );
574+#else
575 case NEXTHDR_ROUTING: /* routing header (43)*/
576 len += sizeof (struct ipv6_srcroute0 );
577+#endif
578 if (bp+len<=snapend && vflag)
579+#if __GLIBC__ >= 2
580+ route_print((struct ipv6_rthdr0 *)cp);
581+#else
582 route_print((struct ipv6_srcroute0 *)cp);
583+#endif
584 else
585 printf(" route-hdr");
586 nhdr = cp[0];
587 cp += (cp[1]+1)<<3;
588 break;
589-
590+#if __GLIBC__ >= 2
591+ case IPPROTO_FRAGMENT:
592+ len += sizeof (struct ip6_frag);
593+#else
594 case NEXTHDR_FRAGMENT: /* fragment header (44)*/
595 len += sizeof (struct ipv6_fraghdr);
596+#endif
597 if (bp+len <= snapend && vflag)
598+#if __GLIBC__ >= 2
599+ frag_print((struct ipv6_frag *)cp);
600+#else
601 frag_print((struct ipv6_fraghdr *)cp);
602+#endif
603 else
604 printf(" frag ");
605- if (!((((struct ipv6_fraghdr *)cp)->frag_bitsoffset) & htons(0xfff8))) {
606+#if __GLIBC__ >= 2
607+ if (!((((struct ip6_frag *)cp)->ip6f_offlg) & htons(IP6F_OFF_MASK))) {
608+#else
609+ /* IP6_OFFMASK as defined in netinet/ipv6.h doesn't
610+ care about endianess */
611+ if (!((((struct ipv6_fraghdr *)cp)->frag_bitsoffset) & htons(IP6_OFFMASK))) {
612+#endif
613 nhdr = cp[0];
614 cp += 8;
615 is_fragment = 1;
616 break;
617 }
618+#if __GLIBC__ >= 2
619+ nhdr = ((struct ip6_frag *) cp)->ip6f_nxt;
620+#else
621 nhdr = ((struct ipv6_fraghdr *) cp)->frag_nexthdr;
622+#endif
623 printf("nhdr=");
624 switch (nhdr) {
625+#if __GLIBC__ >= 2
626+ case IPPROTO_HOPOPTS:
627+#else
628 case NEXTHDR_HOP:
629+#endif
630 printf("hop");
631 break;
632+#if __GLIBC__ >= 2
633+ case IPPROTO_IGMP:
634+#else
635 case NEXTHDR_IGMP:
636+#endif
637 printf("igmp");
638 break;
639+#if __GLIBC__ >= 2
640+ case IPPROTO_TCP:
641+#else
642 case NEXTHDR_TCP:
643+#endif
644 printf("tcp");
645 break;
646+#if __GLIBC__ >= 2
647+ case IPPROTO_UDP:
648+#else
649 case NEXTHDR_UDP:
650+#endif
651 printf("udp");
652 break;
653+#if __GLIBC__ >= 2
654+ case IPPROTO_IPV6:
655+#else
656 case NEXTHDR_IPV6:
657+#endif
658 printf("ipv6");
659 break;
660+#if __GLIBC__ >= 2
661+ case IPPROTO_ROUTING:
662+#else
663 case NEXTHDR_ROUTING:
664+#endif
665 printf("routing");
666 break;
667+#if __GLIBC__ >= 2
668+ case IPPROTO_FRAGMENT:
669+#else
670 case NEXTHDR_FRAGMENT:
671+#endif
672 printf("frag");
673 break;
674+#if __GLIBC__ >= 2
675+ case IPPROTO_ESP:
676+#else
677 case NEXTHDR_ESP:
678+#endif
679 printf("esp");
680 break;
681+#if __GLIBC__ >= 2
682+ case IPPROTO_AH:
683+#else
684 case NEXTHDR_AH:
685+#endif
686 printf("auth");
687 break;
688+#if __GLIBC__ >= 2
689+ case IPPROTO_ICMPV6:
690+#else
691 case NEXTHDR_ICMPV6:
692+#endif
693 printf("icmpv6");
694 break;
695+#if __GLIBC__ >= 2
696+ case IPPROTO_NONE:
697+#else
698 case NEXTHDR_NONE:
699+#endif
700 printf("no next");
701 break;
702+#if __GLIBC__ >= 2
703+ case IPPROTO_DSTOPTS:
704+#else
705 case NEXTHDR_DEST:
706+#endif
707 printf("dest");
708 break;
709 default:
710@@ -407,7 +551,11 @@
711 }
712 return;
713
714+#if __GLIBC__ >= 2
715+ case IPPROTO_ESP:
716+#else
717 case NEXTHDR_ESP: /* encapsulation header (50)*/
718+#endif
719 len += sizeof(u_int32_t);
720 #ifdef IPSEC
721 if (bp + len <= snapend && vflag) {
722@@ -415,10 +563,14 @@
723 printf(" ");
724 } else
725 #endif
726- printf(" esp spi=%08x", *(__u32*)cp);
727+ printf(" esp spi=%08x", *(u_int32_t*)cp);
728 return;
729
730+#if __GLIBC__ >= 2
731+ case IPPROTO_AH:
732+#else
733 case NEXTHDR_AH: /* authentication header (51)*/
734+#endif
735 #ifdef IPSEC
736 len += sizeof(struct ipsec_ah) + sizeof(u_int32_t) * ((struct ipsec_ah *)cp)->ah_datalen;
737 if (bp+len <= snapend && vflag) {
738@@ -430,13 +582,17 @@
739 cp += ((struct ipsec_ah *)cp)->ah_datalen * sizeof (u_int32_t)+ sizeof(struct ipsec_ah);
740 #else
741 len += (cp[1] + 2)<<2;
742- printf(" ah spi=%08x", *(__u32*)(cp+4));
743+ printf(" ah spi=%08x", *(u_int32_t*)(cp+4));
744 nhdr = cp[0];
745 cp += (cp[1]+2)<<2;
746 #endif
747 break;
748
749+#if __GLIBC__ >= 2
750+ case IPPROTO_DSTOPTS:
751+#else
752 case NEXTHDR_DEST: /* destination options header (60)*/
753+#endif
754 len += (cp[1]+1)<<3;
755 if (bp + len <= snapend && vflag)
756 dest_print(cp);
757@@ -457,27 +613,53 @@
758 if (is_fragment)
759 partial_frame++;
760 switch (nhdr) {
761+#if __GLIBC__ >= 2
762+ case IPPROTO_TCP:
763+#else
764 case NEXTHDR_TCP:
765+#endif
766 tcp_print(cp, len, (const u_char *)ip);
767 break;
768+#if __GLIBC__ >= 2
769+ case IPPROTO_UDP:
770+#else
771 case NEXTHDR_UDP:
772+#endif
773 udp_print(cp, len, (const u_char *)ip);
774 break;
775+#if __GLIBC__ >= 2
776+ case IPPROTO_ICMPV6:
777+#else
778 case NEXTHDR_ICMPV6:
779+#endif
780 icmpv6_print(cp, len);
781 break;
782+#if __GLIBC__ >= 2
783+ case IPPROTO_IPIP:
784+#else
785 case NEXTHDR_IPV4:
786+#endif
787 printf(": v4-in-v6");
788 ip_print(cp, len);
789 break;
790+#if __GLIBC__ >= 2
791+ case IPPROTO_IPV6:
792+#else
793 case NEXTHDR_IPV6:
794+#endif
795 printf(": v6-in-v6");
796 ipv6_print(cp, len);
797 break;
798+#if __GLIBC__ >= 2
799+ case IPPROTO_RSVP:
800+#else
801 case IPPROTO_RSVP:
802+#endif
803 printf(" RSVP ");
804+#ifdef RSVP_TCPDUMP
805 ntoh_rsvp_packet(cp, len);
806 rsvp_print_pkt(cp, len);
807+#endif
808 break;
809 case IPPROTO_PIM:
810 printf(" PIMv2 ");
811diff -urN tcpdump-3.4.orig/print-ipx.c tcpdump-3.4/print-ipx.c
812--- tcpdump-3.4.orig/print-ipx.c Sat Jul 3 17:50:45 1999
813+++ tcpdump-3.4/print-ipx.c Sat Jul 3 17:58:06 1999
814@@ -34,11 +34,14 @@
815 #include <netinet/in.h>
816 #include <netinet/in_systm.h>
817 #include <netinet/ip.h>
818-#include <netinet/ip_var.h>
819 #include <netinet/udp.h>
820-#include <netinet/udp_var.h>
821 #include <netinet/tcp.h>
822-#include <netinet/tcpip.h>
823+
824+#if ! __GLIBC__ >= 2
825+# include <netinet/ip_var.h>
826+# include <netinet/udp_var.h>
827+# include <netinet/tcpip.h>
828+#endif
829
830 #ifdef __STDC__
831 #include <stdlib.h>
832diff -urN tcpdump-3.4.orig/print-krb.c tcpdump-3.4/print-krb.c
833--- tcpdump-3.4.orig/print-krb.c Sat Jul 3 17:50:45 1999
834+++ tcpdump-3.4/print-krb.c Sat Jul 3 17:58:06 1999
835@@ -33,9 +33,13 @@
836 #include <netinet/in.h>
837 #include <netinet/in_systm.h>
838 #include <netinet/ip.h>
839-#include <netinet/ip_var.h>
840 #include <netinet/udp.h>
841-#include <netinet/udp_var.h>
842+
843+#if ! __GLIBC__ >= 2
844+# include <netinet/ip_var.h>
845+# include <netinet/udp_var.h>
846+# include <netinet/tcpip.h>
847+#endif
848
849 #include <ctype.h>
850 #include <errno.h>
851diff -urN tcpdump-3.4.orig/print-nfs.c tcpdump-3.4/print-nfs.c
852--- tcpdump-3.4.orig/print-nfs.c Sat Jul 3 17:50:45 1999
853+++ tcpdump-3.4/print-nfs.c Sat Jul 3 17:58:06 1999
854@@ -38,7 +38,12 @@
855 #include <netinet/if_ether.h>
856 #include <netinet/in_systm.h>
857 #include <netinet/ip.h>
858-#include <netinet/ip_var.h>
859+
860+#if ! __GLIBC__ >= 2
861+# include <netinet/ip_var.h>
862+# include <netinet/udp_var.h>
863+# include <netinet/tcpip.h>
864+#endif
865
866 #include <rpc/rpc.h>
867
868diff -urN tcpdump-3.4.orig/print-null.c tcpdump-3.4/print-null.c
869--- tcpdump-3.4.orig/print-null.c Sat Jul 3 17:50:45 1999
870+++ tcpdump-3.4/print-null.c Sat Jul 3 17:58:06 1999
871@@ -45,11 +45,14 @@
872 #include <netinet/in_systm.h>
873 #include <netinet/ip.h>
874 #include <netinet/if_ether.h>
875-#include <netinet/ip_var.h>
876 #include <netinet/udp.h>
877-#include <netinet/udp_var.h>
878 #include <netinet/tcp.h>
879-#include <netinet/tcpip.h>
880+
881+#if ! __GLIBC__ >= 2
882+# include <netinet/ip_var.h>
883+# include <netinet/udp_var.h>
884+# include <netinet/tcpip.h>
885+#endif
886
887 #include <pcap.h>
888 #include <stdio.h>
889diff -urN tcpdump-3.4.orig/print-ospf.c tcpdump-3.4/print-ospf.c
890--- tcpdump-3.4.orig/print-ospf.c Sat Jul 3 17:50:45 1999
891+++ tcpdump-3.4/print-ospf.c Sat Jul 3 17:58:06 1999
892@@ -33,7 +33,12 @@
893 #include <netinet/in.h>
894 #include <netinet/in_systm.h>
895 #include <netinet/ip.h>
896-#include <netinet/ip_var.h>
897+
898+#if ! __GLIBC__ >= 2
899+# include <netinet/ip_var.h>
900+# include <netinet/udp_var.h>
901+# include <netinet/tcpip.h>
902+#endif
903
904 #include <ctype.h>
905 #include <stdio.h>
906diff -urN tcpdump-3.4.orig/print-pim.c tcpdump-3.4/print-pim.c
907--- tcpdump-3.4.orig/print-pim.c Sat Jul 3 17:50:45 1999
908+++ tcpdump-3.4/print-pim.c Sat Jul 3 18:49:27 1999
909@@ -31,11 +31,14 @@
910 #include <netinet/in.h>
911 #include <netinet/in_systm.h>
912 #include <netinet/ip.h>
913-#include <netinet/ip_var.h>
914 #include <netinet/udp.h>
915-#include <netinet/udp_var.h>
916 #include <netinet/tcp.h>
917-#include <netinet/tcpip.h>
918+
919+#if ! __GLIBC__ >= 2
920+# include <netinet/ip_var.h>
921+# include <netinet/udp_var.h>
922+# include <netinet/tcpip.h>
923+#endif
924
925 #include <stdio.h>
926 #include <stdlib.h>
927@@ -43,6 +46,10 @@
928
929 #include "interface.h"
930 #include "addrtoname.h"
931+
932+#define __u32 u_int32_t
933+#define __u16 u_int16_t
934+#define __u8 u_int8_t
935
936 void
937 pim_print(register const u_char *bp, register u_int len)
938diff -urN tcpdump-3.4.orig/print-raw.c tcpdump-3.4/print-raw.c
939--- tcpdump-3.4.orig/print-raw.c Sat Jul 3 17:50:45 1999
940+++ tcpdump-3.4/print-raw.c Sat Jul 3 17:58:06 1999
941@@ -40,11 +40,14 @@
942 #include <netinet/in_systm.h>
943 #include <netinet/ip.h>
944 #include <netinet/if_ether.h>
945-#include <netinet/ip_var.h>
946 #include <netinet/udp.h>
947-#include <netinet/udp_var.h>
948 #include <netinet/tcp.h>
949-#include <netinet/tcpip.h>
950+
951+#if ! __GLIBC__ >= 2
952+# include <netinet/ip_var.h>
953+# include <netinet/udp_var.h>
954+# include <netinet/tcpip.h>
955+#endif
956
957 #include <pcap.h>
958 #include <stdio.h>
959diff -urN tcpdump-3.4.orig/print-rip.c tcpdump-3.4/print-rip.c
960--- tcpdump-3.4.orig/print-rip.c Sat Jul 3 17:50:45 1999
961+++ tcpdump-3.4/print-rip.c Sat Jul 3 17:58:06 1999
962@@ -31,9 +31,13 @@
963 #include <netinet/in.h>
964 #include <netinet/in_systm.h>
965 #include <netinet/ip.h>
966-#include <netinet/ip_var.h>
967 #include <netinet/udp.h>
968-#include <netinet/udp_var.h>
969+
970+#if ! __GLIBC__ >= 2
971+# include <netinet/ip_var.h>
972+# include <netinet/udp_var.h>
973+# include <netinet/tcpip.h>
974+#endif
975
976 #include <stdio.h>
977
978diff -urN tcpdump-3.4.orig/print-sl.c tcpdump-3.4/print-sl.c
979--- tcpdump-3.4.orig/print-sl.c Sat Jul 3 17:50:45 1999
980+++ tcpdump-3.4/print-sl.c Sat Jul 3 17:58:06 1999
981@@ -35,7 +35,7 @@
982 #include <sys/timeb.h>
983 #include <sys/file.h>
984 #include <sys/ioctl.h>
985-#include <sys/mbuf.h>
986+#include "./sys/mbuf.h"
987 #include <sys/socket.h>
988
989 #if __STDC__
990@@ -47,14 +47,17 @@
991 #include <netinet/in_systm.h>
992 #include <netinet/ip.h>
993 #include <netinet/if_ether.h>
994-#include <netinet/ip_var.h>
995 #include <netinet/udp.h>
996-#include <netinet/udp_var.h>
997 #include <netinet/tcp.h>
998-#include <netinet/tcpip.h>
999
1000-#include <net/slcompress.h>
1001-#include <net/slip.h>
1002+#if ! __GLIBC__ >= 2
1003+# include <netinet/ip_var.h>
1004+# include <netinet/udp_var.h>
1005+# include <netinet/tcpip.h>
1006+#endif
1007+
1008+#include "./net/slcompress.h"
1009+#include "./net/slip.h"
1010
1011 #include <ctype.h>
1012 #include <netdb.h>
1013diff -urN tcpdump-3.4.orig/print-sunrpc.c tcpdump-3.4/print-sunrpc.c
1014--- tcpdump-3.4.orig/print-sunrpc.c Sat Jul 3 17:50:45 1999
1015+++ tcpdump-3.4/print-sunrpc.c Sat Jul 3 17:58:06 1999
1016@@ -43,7 +43,12 @@
1017 #include <netinet/if_ether.h>
1018 #include <netinet/in_systm.h>
1019 #include <netinet/ip.h>
1020-#include <netinet/ip_var.h>
1021+
1022+#if ! __GLIBC__ >= 2
1023+# include <netinet/ip_var.h>
1024+# include <netinet/udp_var.h>
1025+# include <netinet/tcpip.h>
1026+#endif
1027
1028 #include <rpc/rpc.h>
1029 #ifdef HAVE_RPC_RPCENT_H
1030diff -urN tcpdump-3.4.orig/print-tcp.c tcpdump-3.4/print-tcp.c
1031--- tcpdump-3.4.orig/print-tcp.c Sat Jul 3 17:50:45 1999
1032+++ tcpdump-3.4/print-tcp.c Sat Jul 3 17:58:06 1999
1033@@ -32,20 +32,31 @@
1034 #include <sys/param.h>
1035 #include <sys/time.h>
1036
1037+#if ! __GLIBC__ >= 2
1038+# include <netinet/ip_var.h>
1039+# include <netinet/udp_var.h>
1040+# include <netinet/tcpip.h>
1041+#else
1042+# define __FAVOR_BSD
1043+#endif
1044+
1045 #include <netinet/in.h>
1046 #include <netinet/in_systm.h>
1047 #include <netinet/ip.h>
1048-#include <netinet/ip_var.h>
1049 #include <netinet/tcp.h>
1050-#include <netinet/tcpip.h>
1051
1052 #ifdef HAVE_MEMORY_H
1053 #include <memory.h>
1054 #endif
1055 #include <stdio.h>
1056+
1057 #ifdef INET6
1058-#include <netinet6/in6.h>
1059-#include <netinet6/ipv6.h>
1060+# if __GLIBC__ >= 2
1061+# include <netinet/ip6.h>
1062+# else
1063+# include <netinet6/in6.h>
1064+# include <netinet6/ipv6.h>
1065+# endif
1066 #endif /* INET6 */
1067
1068 #include <stdlib.h>
1069diff -urN tcpdump-3.4.orig/print-tr.c tcpdump-3.4/print-tr.c
1070--- tcpdump-3.4.orig/print-tr.c Sat Jul 3 17:50:45 1999
1071+++ tcpdump-3.4/print-tr.c Sat Jul 3 17:58:06 1999
1072@@ -33,16 +33,20 @@
1073 #endif
1074 #include <net/if.h>
1075
1076+#include <asm/types.h>
1077 #include <netinet/in.h>
1078 #include <netinet/if_tr.h>
1079 #include <netinet/if_ether.h> /* just to get ETHERMTU */
1080 #include <netinet/in_systm.h>
1081 #include <netinet/ip.h>
1082-#include <netinet/ip_var.h>
1083 #include <netinet/udp.h>
1084-#include <netinet/udp_var.h>
1085 #include <netinet/tcp.h>
1086-#include <netinet/tcpip.h>
1087+
1088+#if ! __GLIBC__ >= 2
1089+# include <netinet/ip_var.h>
1090+# include <netinet/udp_var.h>
1091+# include <netinet/tcpip.h>
1092+#endif
1093
1094 #include <stdio.h>
1095 #include <pcap.h>
1096diff -urN tcpdump-3.4.orig/print-udp.c tcpdump-3.4/print-udp.c
1097--- tcpdump-3.4.orig/print-udp.c Sat Jul 3 17:50:45 1999
1098+++ tcpdump-3.4/print-udp.c Sat Jul 3 17:58:06 1999
1099@@ -33,15 +33,26 @@
1100 #include <sys/time.h>
1101 #include <sys/socket.h>
1102
1103+#if ! __GLIBC__ >= 2
1104+# include <netinet/ip_var.h>
1105+# include <netinet/udp_var.h>
1106+# include <netinet/tcpip.h>
1107+#else
1108+# define __FAVOR_BSD
1109+#endif
1110+
1111 #include <netinet/in.h>
1112 #include <netinet/in_systm.h>
1113 #include <netinet/ip.h>
1114-#include <netinet/ip_var.h>
1115 #include <netinet/udp.h>
1116-#include <netinet/udp_var.h>
1117+
1118 #ifdef INET6
1119-#include <netinet6/in6.h>
1120-#include <netinet6/ipv6.h>
1121+# if __GLIBC__ >= 2
1122+# include <netinet/ip6.h>
1123+# else
1124+# include <netinet6/in6.h>
1125+# include <netinet6/ipv6.h>
1126+# endif
1127 #endif
1128
1129 #ifdef NOERROR
1130diff -urN tcpdump-3.4.orig/tcpdump.c tcpdump-3.4/tcpdump.c
1131--- tcpdump-3.4.orig/tcpdump.c Sat Jul 3 17:50:45 1999
1132+++ tcpdump-3.4/tcpdump.c Sat Jul 3 17:58:06 1999
1133@@ -104,8 +104,8 @@
1134 static struct printer printers[] = {
1135 { ether_if_print, DLT_EN10MB },
1136 { tr_if_print, DLT_IEEE802 },
1137- { sl_if_print, DLT_SLIP },
1138- { sl_bsdos_if_print, DLT_SLIP_BSDOS },
1139+/* { sl_if_print, DLT_SLIP }, */
1140+/* { sl_bsdos_if_print, DLT_SLIP_BSDOS }, */
1141 { ppp_if_print, DLT_PPP },
1142 { ppp_bsdos_if_print, DLT_PPP_BSDOS },
1143 { fddi_if_print, DLT_FDDI },
1144diff -urN tcpdump-3.4.orig/xxx tcpdump-3.4/xxx
1145--- tcpdump-3.4.orig/xxx Thu Jan 1 01:00:00 1970
1146+++ tcpdump-3.4/xxx Sat Jul 3 17:58:06 1999
1147@@ -0,0 +1,6 @@
1148+#if ! __GLIBC__ >= 2
1149+# include <netinet/ip_var.h>
1150+# include <netinet/udp_var.h>
1151+# include <netinet/tcpip.h>
1152+#endif
1153+
This page took 0.267864 seconds and 4 git commands to generate.