From: mcr Date: Tue, 30 Mar 2004 14:42:38 +0000 (+0000) Subject: update changes file X-Git-Tag: tcpdump-3.9.1~411 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/d2669e52ae7d1540e7c041e4dfe05176fa9abe8e update changes file --- diff --git a/CHANGES b/CHANGES index 41861ef0..86f87eb0 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,9 @@ -$Header: /tcpdump/master/tcpdump/CHANGES,v 1.86 2004-03-29 17:29:41 mcr Exp $ +$Header: /tcpdump/master/tcpdump/CHANGES,v 1.87 2004-03-30 14:42:38 mcr Exp $ + +Tue. March 30, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.3 release + + No changes from 3.8.2. Version bumped only to maintain consistency + with libpcap 0.8.3. Mon. March 29, 2004. mcr@sandelman.ottawa.on.ca. Summary for 3.8.2 release diff --git a/Makefile.in b/Makefile.in index 8fb9f26b..cd557199 100644 --- a/Makefile.in +++ b/Makefile.in @@ -17,7 +17,7 @@ # WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. # -# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.282 2004-03-28 20:33:27 fenner Exp $ (LBL) +# @(#) $Header: /tcpdump/master/tcpdump/Makefile.in,v 1.283 2004-03-30 14:42:39 mcr Exp $ (LBL) # # Various configurable paths (remember to edit Makefile.in, not Makefile) @@ -71,6 +71,7 @@ CSRC = addrtoname.c gmpls.c oui.c gmt2local.c machdep.c parsenfsfh.c \ print-beep.c print-bfd.c print-bgp.c print-bootp.c print-cdp.c \ print-chdlc.c print-cip.c print-cnfp.c print-decnet.c \ print-domain.c print-dvmrp.c print-enc.c print-egp.c \ + print-eap.c \ print-esp.c print-ether.c print-fddi.c print-fr.c \ print-gre.c print-hsrp.c print-icmp.c print-igmp.c \ print-igrp.c print-ip.c print-ipcomp.c print-ipfc.c \ diff --git a/VERSION b/VERSION index cc1923a4..f44a4862 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.8 +4.0-PRE-CVS diff --git a/interface.h b/interface.h index e91c593b..ca3e69b5 100644 --- a/interface.h +++ b/interface.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.225 2004-03-23 07:15:36 guy Exp $ (LBL) + * @(#) $Header: /tcpdump/master/tcpdump/interface.h,v 1.226 2004-03-30 14:42:40 mcr Exp $ (LBL) */ #ifndef tcpdump_interface_h @@ -61,31 +61,6 @@ extern char *strdup(const char *); extern char *strsep(char **, const char *); #endif -struct tok { - int v; /* value */ - const char *s; /* string */ -}; - -extern int aflag; /* translate network and broadcast addresses */ -extern int dflag; /* print filter code */ -extern int eflag; /* print ethernet header */ -extern int fflag; /* don't translate "foreign" IP address */ -extern int nflag; /* leave addresses as numbers */ -extern int Nflag; /* remove domains from printed host names */ -extern int qflag; /* quick (shorter) output */ -extern int Rflag; /* print sequence # field in AH/ESP*/ -extern int sflag; /* use the libsmi to translate OIDs */ -extern int Sflag; /* print raw TCP sequence numbers */ -extern int tflag; /* print packet arrival time */ -extern int uflag; /* Print undecoded NFS handles */ -extern int vflag; /* verbose */ -extern int xflag; /* print packet in hex */ -extern int Xflag; /* print packet in hex/ascii */ -extern int Aflag; /* print packet only in ascii observing TAB, LF, CR and SPACE as graphical chars */ -extern char *espsecret; -extern char *tcpmd5secret; - -extern int packettype; /* as specified by -T */ #define PT_VAT 1 /* Visual Audio Tool */ #define PT_WB 2 /* distributed White Board */ #define PT_RPC 3 /* Remote Procedure Call */ @@ -162,9 +137,7 @@ extern void relts_print(int); extern int fn_print(const u_char *, const u_char *); extern int fn_printn(const u_char *, u_int, const u_char *); -extern const char *tok2str(const struct tok *, const char *, int); extern int mask2plen(u_int32_t); -extern char *bittok2str(const struct tok *, const char *, int); extern const char *tok2strary_internal(const char **, int, const char *, int); #define tok2strary(a,f,i) tok2strary_internal(a, sizeof(a)/sizeof(a[0]),f,i) @@ -329,4 +302,37 @@ extern u_int16_t in_cksum_shouldbe(u_int16_t, u_int16_t); struct bpf_program; extern void bpf_dump(struct bpf_program *, int); + #endif + +#include "netdissect.h" + +/* forward compatibility */ + +netdissect_options *gndo; + +#define dflag gndo->ndo_dflag +#define eflag gndo->ndo_eflag +#define fflag gndo->ndo_fflag +#define nflag gndo->ndo_nflag +#define Nflag gndo->ndo_Nflag +#define Oflag gndo->ndo_Oflag +#define pflag gndo->ndo_pflag +#define qflag gndo->ndo_qflag +#define Rflag gndo->ndo_Rflag +#define sflag gndo->ndo_sflag +#define Sflag gndo->ndo_Sflag +#define tflag gndo->ndo_tflag +#define Uflag gndo->ndo_Uflag +#define uflag gndo->ndo_uflag +#define vflag gndo->ndo_vflag +#define xflag gndo->ndo_xflag +#define Xflag gndo->ndo_Xflag +#define Cflag gndo->ndo_Cflag +#define Aflag gndo->ndo_Aflag +#define packettype gndo->ndo_packettype +#define espsecret gndo->ndo_espsecret +#define tcpmd5secret gndo->ndo_tcpmd5secret +#define Wflag gndo->ndo_Wflag +#define WflagChars gndo->ndo_WflagChars +#define Cflag_count gndo->ndo_Cflag_count diff --git a/print-ether.c b/print-ether.c index cbfefce0..6474f059 100644 --- a/print-ether.c +++ b/print-ether.c @@ -20,7 +20,7 @@ */ #ifndef lint static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.89 2004-03-17 23:24:36 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/print-ether.c,v 1.90 2004-03-30 14:42:40 mcr Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -69,6 +69,7 @@ const struct tok ethertype_values[] = { { ETHERTYPE_PPP, "PPP" }, { ETHERTYPE_PPPOED, "PPPoE D" }, { ETHERTYPE_PPPOES, "PPPoE S" }, + { ETHERTYPE_EAPOL, "EAPOL" }, { ETHERTYPE_JUMBO, "Jumbo" }, { ETHERTYPE_LOOPBACK, "Loopback" }, { ETHERTYPE_ISO, "OSI" }, @@ -284,6 +285,10 @@ ether_encap_print(u_short ether_type, const u_char *p, pppoe_print(p, length); return (1); + case ETHERTYPE_EAPOL: + eap_print(gndo, p, length); + return (1); + case ETHERTYPE_PPP: if (length) { printf(": "); diff --git a/tcpdump.c b/tcpdump.c index 2e1b533d..2fe89cd4 100644 --- a/tcpdump.c +++ b/tcpdump.c @@ -30,7 +30,7 @@ static const char copyright[] _U_ = "@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 2000\n\ The Regents of the University of California. All rights reserved.\n"; static const char rcsid[] _U_ = - "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.238 2004-03-23 18:57:33 fenner Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/tcpdump/tcpdump.c,v 1.239 2004-03-30 14:42:40 mcr Exp $ (LBL)"; #endif /* @@ -70,6 +70,7 @@ extern int SIZE_BUF; #include #endif /* WIN32 */ +#include "netdissect.h" #include "interface.h" #include "addrtoname.h" #include "machdep.h" @@ -77,30 +78,8 @@ extern int SIZE_BUF; #include "gmt2local.h" #include "pcap-missing.h" -int dflag; /* print filter code */ -int eflag; /* print ethernet header */ -int fflag; /* don't translate "foreign" IP address */ -static int Lflag; /* list available data link types and exit */ -int nflag; /* leave addresses as numbers */ -int Nflag; /* remove domains from printed host names */ -static int Oflag = 1; /* run filter code optimizer */ -static int pflag; /* don't go promiscuous */ -int qflag; /* quick (shorter) output */ -int Rflag = 1; /* print sequence # field in AH/ESP*/ -int sflag = 0; /* use the libsmi to translate OIDs */ -int Sflag; /* print raw TCP sequence numbers */ -int tflag = 1; /* print packet arrival time */ -int Uflag = 0; /* "unbuffered" output of dump files */ -int uflag = 0; /* Print undecoded NFS handles */ -int vflag; /* verbose */ -int xflag; /* print packet in hex */ -int Xflag; /* print packet in ascii as well as hex */ -static off_t Cflag = 0; /* rotate dump files after this many bytes */ -int Aflag = 0; /* print packet only in ascii observing LF, CR, TAB, SPACE */ -static int dlt = -1; /* if != -1, ask libpcap for the DLT it names */ -static int Cflag_count = 0; /* Keep track of which file number we're writing */ -static int Wflag = 0; /* recycle output files after this number of files */ -static int WflagChars = 0; +netdissect_options Gndo; +netdissect_options *gndo = &Gndo; /* * Define the maximum number of files for the -C flag, and how many @@ -110,12 +89,7 @@ static int WflagChars = 0; #define MAX_CFLAG 1000000 #define MAX_CFLAG_CHARS 6 -const char *dlt_name = NULL; - -char *espsecret = NULL; /* ESP secret key */ -char *tcpmd5secret = NULL; /* TCP-MD5 secret key */ - -int packettype; +int Lflag; /* list available data link types and exit */ static int infodelay; static int infoprint; @@ -397,6 +371,20 @@ MakeFilename(char *buffer, char *orig_name, int cnt, int max_chars) sprintf(buffer, "%s%0*d", orig_name, max_chars, cnt); } +static int tcpdump_printf(netdissect_options *ndo _U_, + const char *fmt, ...) +{ + + va_list args; + int ret; + + va_start(args, fmt); + ret=vfprintf(stdout, fmt, args); + va_end(args); + + return ret; +}; + int main(int argc, char **argv) { @@ -425,6 +413,12 @@ main(int argc, char **argv) if(wsockinit() != 0) return 1; #endif /* WIN32 */ + gndo->ndo_Oflag=1; + gndo->ndo_Rflag=1; + gndo->ndo_tflag=1; + gndo->ndo_dlt=-1; + gndo->ndo_printf=tcpdump_printf; + cnt = -1; device = NULL; infile = NULL; @@ -703,10 +697,11 @@ main(int argc, char **argv) break; case 'y': - dlt_name = optarg; - dlt = pcap_datalink_name_to_val(dlt_name); - if (dlt < 0) - error("invalid data link type %s", dlt_name); + gndo->ndo_dltname = optarg; + gndo->ndo_dlt = + pcap_datalink_name_to_val(gndo->ndo_dltname); + if (gndo->ndo_dlt < 0) + error("invalid data link type %s", gndo->ndo_dltname); break; #if defined(HAVE_PCAP_DEBUG) || defined(HAVE_YYDEBUG) @@ -836,9 +831,9 @@ main(int argc, char **argv) #endif /* WIN32 */ if (Lflag) show_dlts_and_exit(pd); - if (dlt >= 0) { + if (gndo->ndo_dlt >= 0) { #ifdef HAVE_PCAP_SET_DATALINK - if (pcap_set_datalink(pd, dlt) < 0) + if (pcap_set_datalink(pd, gndo->ndo_dlt) < 0) error("%s", pcap_geterr(pd)); #else /* @@ -846,13 +841,13 @@ main(int argc, char **argv) * data link type, so we only let them * set it to what it already is. */ - if (dlt != pcap_datalink(pd)) { + if (gndo->ndo_dlt != pcap_datalink(pd)) { error("%s is not one of the DLTs supported by this device\n", - dlt_name); + gndo->ndo_dltname); } #endif (void)fprintf(stderr, "%s: data link type %s\n", - program_name, dlt_name); + program_name, gndo->ndo_dltname); (void)fflush(stderr); } i = pcap_snapshot(pd); @@ -917,9 +912,10 @@ main(int argc, char **argv) type = pcap_datalink(pd); printinfo.printer = lookup_printer(type); if (printinfo.printer == NULL) { - dlt_name = pcap_datalink_val_to_name(type); - if (dlt_name != NULL) - error("unsupported data link type %s", dlt_name); + gndo->ndo_dltname = pcap_datalink_val_to_name(type); + if (gndo->ndo_dltname != NULL) + error("unsupported data link type %s", + gndo->ndo_dltname); else error("unsupported data link type %d", type); }