From 195ad572d10aac1d780a6f1d8e80de48530681ea Mon Sep 17 00:00:00 2001 From: guy Date: Sat, 28 Oct 2000 10:18:39 +0000 Subject: [PATCH] Allow "clnp", as well as "esis" and "isis", as OSI protocols for which we can check. --- gencode.c | 14 +++++++++++++- gencode.h | 3 ++- grammar.y | 5 +++-- scanner.l | 3 ++- 4 files changed, 20 insertions(+), 5 deletions(-) diff --git a/gencode.c b/gencode.c index 15099e5..f41ac66 100644 --- a/gencode.c +++ b/gencode.c @@ -21,7 +21,7 @@ */ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.131 2000-10-28 10:05:46 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/gencode.c,v 1.132 2000-10-28 10:18:39 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -1290,6 +1290,9 @@ gen_host(addr, mask, proto, dir) case Q_ISIS: bpf_error("'isis' modifier applied to host"); + case Q_CLNP: + bpf_error("'clnp' modifier applied to host"); + default: abort(); } @@ -1379,6 +1382,9 @@ gen_host6(addr, mask, proto, dir) case Q_ISIS: bpf_error("'isis' modifier applied to host"); + case Q_CLNP: + bpf_error("'clnp' modifier applied to host"); + default: abort(); } @@ -1577,6 +1583,10 @@ gen_proto_abbrev(proto) b1 = gen_proto(ISO10589_ISIS, Q_ISO, Q_DEFAULT); break; + case Q_CLNP: + b1 = gen_proto(ISO8473_CLNP, Q_ISO, Q_DEFAULT); + break; + default: abort(); } @@ -1801,6 +1811,8 @@ lookup_proto(name, proto) v = ISO9542_ESIS; else if (strcmp(name, "isis") == 0) v = ISO10589_ISIS; + else if (strcmp(name, "clnp") == 0) + v = ISO8473_CLNP; else bpf_error("unknown osi proto '%s'", name); break; diff --git a/gencode.h b/gencode.h index 345fe62..d1adf68 100644 --- a/gencode.h +++ b/gencode.h @@ -18,7 +18,7 @@ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * @(#) $Header: /tcpdump/master/libpcap/gencode.h,v 1.45 2000-10-28 09:30:21 guy Exp $ (LBL) + * @(#) $Header: /tcpdump/master/libpcap/gencode.h,v 1.46 2000-10-28 10:18:40 guy Exp $ (LBL) */ /* Address qualifiers. */ @@ -63,6 +63,7 @@ #define Q_ISO 22 #define Q_ESIS 23 #define Q_ISIS 24 +#define Q_CLNP 25 /* Directional qualifiers. */ diff --git a/grammar.y b/grammar.y index 9ca8e02..09368d7 100644 --- a/grammar.y +++ b/grammar.y @@ -22,7 +22,7 @@ */ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/libpcap/grammar.y,v 1.63 2000-10-28 09:30:22 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/grammar.y,v 1.64 2000-10-28 10:18:40 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -117,7 +117,7 @@ pcap_parse() %token LEN %token IPV6 ICMPV6 AH ESP %token VLAN -%token ISO ESIS ISIS +%token ISO ESIS ISIS CLNP %type ID %type EID @@ -262,6 +262,7 @@ pname: LINK { $$ = Q_LINK; } | ISO { $$ = Q_ISO; } | ESIS { $$ = Q_ESIS; } | ISIS { $$ = Q_ISIS; } + | CLNP { $$ = Q_CLNP; } ; other: pqual TK_BROADCAST { $$ = gen_broadcast($1); } | pqual TK_MULTICAST { $$ = gen_multicast($1); } diff --git a/scanner.l b/scanner.l index 1bf1965..bf1f4e9 100644 --- a/scanner.l +++ b/scanner.l @@ -22,7 +22,7 @@ #ifndef lint static const char rcsid[] = - "@(#) $Header: /tcpdump/master/libpcap/scanner.l,v 1.69 2000-10-28 09:30:22 guy Exp $ (LBL)"; + "@(#) $Header: /tcpdump/master/libpcap/scanner.l,v 1.70 2000-10-28 10:18:40 guy Exp $ (LBL)"; #endif #ifdef HAVE_CONFIG_H @@ -195,6 +195,7 @@ esis return ESIS; es-is return ESIS; isis return ISIS; is-is return ISIS; +clnp return CLNP; host return HOST; net return NET;