]> git.pld-linux.org Git - packages/tcpdump.git/blob - tcpdump-glibc2.1.patch
- release 2,
[packages/tcpdump.git] / tcpdump-glibc2.1.patch
1 diff -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  
24 diff -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  
36 diff -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
53 diff -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>
75 diff -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>
96 diff -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  
111 diff -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 */
132 diff -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>
153 diff -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>
174 diff -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>
202 diff -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;
322 diff -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>
341 diff -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>
362 diff -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 ");
811 diff -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>
832 diff -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>
851 diff -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  
868 diff -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>
889 diff -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>
906 diff -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)
938 diff -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>
959 diff -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  
978 diff -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>
1013 diff -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
1030 diff -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>
1069 diff -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>
1096 diff -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
1130 diff -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 },
1144 diff -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.262572 seconds and 3 git commands to generate.