1
0
mirror of https://github.com/nmap/nmap.git synced 2025-12-11 02:09:03 +00:00

Rearrange libpcap patch files for AIX compatibility.

The patch that moves "config.h" to the top of scanner.l (and hence
scanner.c) has to happen before the files are pregenerated, otherwise
there is an error on AIX:

In file included from scanner.c:2792:
/usr/include/unistd.h:171: error: conflicting types for 'lseek64'
/usr/include/unistd.h:169: error: previous declaration of 'lseek64' was here
This commit is contained in:
david
2012-04-13 15:50:15 +00:00
parent 1c9c9cc8c7
commit 1eba012356
7 changed files with 171 additions and 178 deletions

View File

@@ -1,4 +1,4 @@
From c0ccc9cd933823a642b1ccfa4c78fea1b672e731 Mon Sep 17 00:00:00 2001 From 0198a593ef29d7af319b02dd33f251b58d117827 Mon Sep 17 00:00:00 2001
From: David Fifield <david@bamsoftware.com> From: David Fifield <david@bamsoftware.com>
Date: Mon, 9 Apr 2012 16:55:51 -0700 Date: Mon, 9 Apr 2012 16:55:51 -0700
Subject: [PATCH 1/4] Don't autogenerate Lex/Yacc files. Subject: [PATCH 1/4] Don't autogenerate Lex/Yacc files.

View File

@@ -1,7 +1,7 @@
From edb5f1e2f1d2a010f2d4a1e421efc7895b9e41c9 Mon Sep 17 00:00:00 2001 From 3807934db1b073534a01d9a8546cddcec9be501f Mon Sep 17 00:00:00 2001
From: David Fifield <david@bamsoftware.com> From: David Fifield <david@bamsoftware.com>
Date: Mon, 9 Apr 2012 17:02:40 -0700 Date: Mon, 9 Apr 2012 17:02:40 -0700
Subject: [PATCH 3/4] Add the --disable-packet-ring configure option. Subject: [PATCH 2/4] Add the --disable-packet-ring configure option.
This allows the creation of 32-bit binaries that are compatible with This allows the creation of 32-bit binaries that are compatible with
64-bit Linux kernels before version 2.6.27. 64-bit Linux kernels before version 2.6.27.

View File

@@ -1,7 +1,7 @@
From 289ac878ff758d548628e7702618db3b0e141e0c Mon Sep 17 00:00:00 2001 From 6a31f45eb5ae5c7319263806c2962c844efb0e99 Mon Sep 17 00:00:00 2001
From: David Fifield <david@bamsoftware.com> From: David Fifield <david@bamsoftware.com>
Date: Mon, 9 Apr 2012 17:10:19 -0700 Date: Mon, 9 Apr 2012 17:10:19 -0700
Subject: [PATCH 4/4] Add a memset call that removes a Valgrind error. Subject: [PATCH 3/4] Add a memset call that removes a Valgrind error.
http://seclists.org/nmap-dev/2010/q3/796 http://seclists.org/nmap-dev/2010/q3/796
--- ---

View File

@@ -1,7 +1,7 @@
From 4945c5795ad655f01203d3356f6fbce0ebffdfc4 Mon Sep 17 00:00:00 2001 From c819d7677bafa2b8f899f50895b498275c0a6375 Mon Sep 17 00:00:00 2001
From: David Fifield <david@bamsoftware.com> From: David Fifield <david@bamsoftware.com>
Date: Mon, 9 Apr 2012 19:48:21 -0700 Date: Mon, 9 Apr 2012 19:48:21 -0700
Subject: [PATCH 5/5] Include <netpacket/packet.h> before "pcap/bpf.h". Subject: [PATCH 4/4] Include <netpacket/packet.h> before "pcap/bpf.h".
On Solaris 11, <netpacket/packet.h> includes <net/bpf.h>, which defines On Solaris 11, <netpacket/packet.h> includes <net/bpf.h>, which defines
the symbols bpf_program and bpf_insn. The included "pcap/bpf.h" also the symbols bpf_program and bpf_insn. The included "pcap/bpf.h" also

View File

@@ -9,6 +9,8 @@ cd nmap
rsync -rv --delete ~/libpcap-X.Y/ ~/nmap/libpcap/ rsync -rv --delete ~/libpcap-X.Y/ ~/nmap/libpcap/
git add -A libpcap git add -A libpcap
cd libpcap cd libpcap
# Apply the pre-configure patch.
git apply -p0 --directory=libpcap/ ~/NMAP_MODIFICATIONS/pre-configure.patch
./configure ./configure
make grammar.c scanner.c scanner.h tokdefs.h make grammar.c scanner.c scanner.h tokdefs.h
git add grammar.c scanner.c scanner.h tokdefs.h git add grammar.c scanner.c scanner.h tokdefs.h

View File

@@ -1,13 +1,3 @@
From d7f1dc6156f619b81de682a0c89cf47884a798de Mon Sep 17 00:00:00 2001
From: David Fifield <david@bamsoftware.com>
Date: Mon, 9 Apr 2012 17:06:04 -0700
Subject: [PATCH 2/4] Move the inclusion of config.h to the top of scanner.l.
This works around _LARGE_FILES difficulties on AIX.
---
scanner.l | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git scanner.l scanner.l diff --git scanner.l scanner.l
index 064e9c8..93d7b97 100644 index 064e9c8..93d7b97 100644
--- scanner.l --- scanner.l
@@ -34,6 +24,3 @@ index 064e9c8..93d7b97 100644
#ifdef WIN32 #ifdef WIN32
#include <pcap-stdinc.h> #include <pcap-stdinc.h>
#else /* WIN32 */ #else /* WIN32 */
--
1.7.9.5

View File

@@ -1,6 +1,13 @@
#line 2 "scanner.c" #line 2 "scanner.c"
#line 2 "scanner.l"
/* Must come first for _LARGE_FILE_API on AIX. */
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#line 4 "scanner.c"
#line 11 "scanner.c"
#define YY_INT_ALIGNED short int #define YY_INT_ALIGNED short int
@@ -2688,7 +2695,8 @@ int pcap__flex_debug = 0;
#define YY_RESTORE_YY_MORE_OFFSET #define YY_RESTORE_YY_MORE_OFFSET
char *pcap_text; char *pcap_text;
#line 1 "scanner.l" #line 1 "scanner.l"
#line 2 "scanner.l"
#line 9 "scanner.l"
/* /*
* Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 * Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997
* The Regents of the University of California. All rights reserved. * The Regents of the University of California. All rights reserved.
@@ -2715,10 +2723,6 @@ static const char rcsid[] _U_ =
"@(#) $Header: /tcpdump/master/libpcap/scanner.l,v 1.112 2008-02-06 10:21:30 guy Exp $ (LBL)"; "@(#) $Header: /tcpdump/master/libpcap/scanner.l,v 1.112 2008-02-06 10:21:30 guy Exp $ (LBL)";
#endif #endif
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef WIN32 #ifdef WIN32
#include <pcap-stdinc.h> #include <pcap-stdinc.h>
#else /* WIN32 */ #else /* WIN32 */
@@ -2780,7 +2784,7 @@ static const char *in_buffer;
#define yylval pcap_lval #define yylval pcap_lval
extern YYSTYPE yylval; extern YYSTYPE yylval;
#line 2784 "scanner.c" #line 2788 "scanner.c"
#define INITIAL 0 #define INITIAL 0
@@ -2949,9 +2953,9 @@ YY_DECL
register char *yy_cp, *yy_bp; register char *yy_cp, *yy_bp;
register int yy_act; register int yy_act;
#line 189 "scanner.l" #line 192 "scanner.l"
#line 2955 "scanner.c" #line 2959 "scanner.c"
if ( !(yy_init) ) if ( !(yy_init) )
{ {
@@ -3036,92 +3040,92 @@ do_action: /* This label is used only to access EOF actions. */
case 1: case 1:
YY_RULE_SETUP YY_RULE_SETUP
#line 190 "scanner.l" #line 193 "scanner.l"
return DST; return DST;
YY_BREAK YY_BREAK
case 2: case 2:
YY_RULE_SETUP YY_RULE_SETUP
#line 191 "scanner.l" #line 194 "scanner.l"
return SRC; return SRC;
YY_BREAK YY_BREAK
case 3: case 3:
YY_RULE_SETUP YY_RULE_SETUP
#line 193 "scanner.l" #line 196 "scanner.l"
return LINK; return LINK;
YY_BREAK YY_BREAK
case 4: case 4:
YY_RULE_SETUP YY_RULE_SETUP
#line 194 "scanner.l" #line 197 "scanner.l"
return LINK; return LINK;
YY_BREAK YY_BREAK
case 5: case 5:
YY_RULE_SETUP YY_RULE_SETUP
#line 195 "scanner.l" #line 198 "scanner.l"
return ARP; return ARP;
YY_BREAK YY_BREAK
case 6: case 6:
YY_RULE_SETUP YY_RULE_SETUP
#line 196 "scanner.l" #line 199 "scanner.l"
return RARP; return RARP;
YY_BREAK YY_BREAK
case 7: case 7:
YY_RULE_SETUP YY_RULE_SETUP
#line 197 "scanner.l" #line 200 "scanner.l"
return IP; return IP;
YY_BREAK YY_BREAK
case 8: case 8:
YY_RULE_SETUP YY_RULE_SETUP
#line 198 "scanner.l" #line 201 "scanner.l"
return SCTP; return SCTP;
YY_BREAK YY_BREAK
case 9: case 9:
YY_RULE_SETUP YY_RULE_SETUP
#line 199 "scanner.l" #line 202 "scanner.l"
return TCP; return TCP;
YY_BREAK YY_BREAK
case 10: case 10:
YY_RULE_SETUP YY_RULE_SETUP
#line 200 "scanner.l" #line 203 "scanner.l"
return UDP; return UDP;
YY_BREAK YY_BREAK
case 11: case 11:
YY_RULE_SETUP YY_RULE_SETUP
#line 201 "scanner.l" #line 204 "scanner.l"
return ICMP; return ICMP;
YY_BREAK YY_BREAK
case 12: case 12:
YY_RULE_SETUP YY_RULE_SETUP
#line 202 "scanner.l" #line 205 "scanner.l"
return IGMP; return IGMP;
YY_BREAK YY_BREAK
case 13: case 13:
YY_RULE_SETUP YY_RULE_SETUP
#line 203 "scanner.l" #line 206 "scanner.l"
return IGRP; return IGRP;
YY_BREAK YY_BREAK
case 14: case 14:
YY_RULE_SETUP YY_RULE_SETUP
#line 204 "scanner.l" #line 207 "scanner.l"
return PIM; return PIM;
YY_BREAK YY_BREAK
case 15: case 15:
YY_RULE_SETUP YY_RULE_SETUP
#line 205 "scanner.l" #line 208 "scanner.l"
return VRRP; return VRRP;
YY_BREAK YY_BREAK
case 16: case 16:
YY_RULE_SETUP YY_RULE_SETUP
#line 206 "scanner.l" #line 209 "scanner.l"
return CARP; return CARP;
YY_BREAK YY_BREAK
case 17: case 17:
YY_RULE_SETUP YY_RULE_SETUP
#line 207 "scanner.l" #line 210 "scanner.l"
return RADIO; return RADIO;
YY_BREAK YY_BREAK
case 18: case 18:
YY_RULE_SETUP YY_RULE_SETUP
#line 209 "scanner.l" #line 212 "scanner.l"
{ {
#ifdef INET6 #ifdef INET6
return IPV6; return IPV6;
@@ -3132,7 +3136,7 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 19: case 19:
YY_RULE_SETUP YY_RULE_SETUP
#line 216 "scanner.l" #line 219 "scanner.l"
{ {
#ifdef INET6 #ifdef INET6
return ICMPV6; return ICMPV6;
@@ -3143,162 +3147,162 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 20: case 20:
YY_RULE_SETUP YY_RULE_SETUP
#line 223 "scanner.l" #line 226 "scanner.l"
return AH; return AH;
YY_BREAK YY_BREAK
case 21: case 21:
YY_RULE_SETUP YY_RULE_SETUP
#line 224 "scanner.l" #line 227 "scanner.l"
return ESP; return ESP;
YY_BREAK YY_BREAK
case 22: case 22:
YY_RULE_SETUP YY_RULE_SETUP
#line 226 "scanner.l" #line 229 "scanner.l"
return ATALK; return ATALK;
YY_BREAK YY_BREAK
case 23: case 23:
YY_RULE_SETUP YY_RULE_SETUP
#line 227 "scanner.l" #line 230 "scanner.l"
return AARP; return AARP;
YY_BREAK YY_BREAK
case 24: case 24:
YY_RULE_SETUP YY_RULE_SETUP
#line 228 "scanner.l" #line 231 "scanner.l"
return DECNET; return DECNET;
YY_BREAK YY_BREAK
case 25: case 25:
YY_RULE_SETUP YY_RULE_SETUP
#line 229 "scanner.l" #line 232 "scanner.l"
return LAT; return LAT;
YY_BREAK YY_BREAK
case 26: case 26:
YY_RULE_SETUP YY_RULE_SETUP
#line 230 "scanner.l" #line 233 "scanner.l"
return SCA; return SCA;
YY_BREAK YY_BREAK
case 27: case 27:
YY_RULE_SETUP YY_RULE_SETUP
#line 231 "scanner.l" #line 234 "scanner.l"
return MOPRC; return MOPRC;
YY_BREAK YY_BREAK
case 28: case 28:
YY_RULE_SETUP YY_RULE_SETUP
#line 232 "scanner.l" #line 235 "scanner.l"
return MOPDL; return MOPDL;
YY_BREAK YY_BREAK
case 29: case 29:
YY_RULE_SETUP YY_RULE_SETUP
#line 234 "scanner.l" #line 237 "scanner.l"
return ISO; return ISO;
YY_BREAK YY_BREAK
case 30: case 30:
YY_RULE_SETUP YY_RULE_SETUP
#line 235 "scanner.l" #line 238 "scanner.l"
return ESIS; return ESIS;
YY_BREAK YY_BREAK
case 31: case 31:
YY_RULE_SETUP YY_RULE_SETUP
#line 236 "scanner.l" #line 239 "scanner.l"
return ESIS; return ESIS;
YY_BREAK YY_BREAK
case 32: case 32:
YY_RULE_SETUP YY_RULE_SETUP
#line 237 "scanner.l" #line 240 "scanner.l"
return ISIS; return ISIS;
YY_BREAK YY_BREAK
case 33: case 33:
YY_RULE_SETUP YY_RULE_SETUP
#line 238 "scanner.l" #line 241 "scanner.l"
return ISIS; return ISIS;
YY_BREAK YY_BREAK
case 34: case 34:
YY_RULE_SETUP YY_RULE_SETUP
#line 239 "scanner.l" #line 242 "scanner.l"
return L1; return L1;
YY_BREAK YY_BREAK
case 35: case 35:
YY_RULE_SETUP YY_RULE_SETUP
#line 240 "scanner.l" #line 243 "scanner.l"
return L2; return L2;
YY_BREAK YY_BREAK
case 36: case 36:
YY_RULE_SETUP YY_RULE_SETUP
#line 241 "scanner.l" #line 244 "scanner.l"
return IIH; return IIH;
YY_BREAK YY_BREAK
case 37: case 37:
YY_RULE_SETUP YY_RULE_SETUP
#line 242 "scanner.l" #line 245 "scanner.l"
return LSP; return LSP;
YY_BREAK YY_BREAK
case 38: case 38:
YY_RULE_SETUP YY_RULE_SETUP
#line 243 "scanner.l" #line 246 "scanner.l"
return SNP; return SNP;
YY_BREAK YY_BREAK
case 39: case 39:
YY_RULE_SETUP YY_RULE_SETUP
#line 244 "scanner.l" #line 247 "scanner.l"
return CSNP; return CSNP;
YY_BREAK YY_BREAK
case 40: case 40:
YY_RULE_SETUP YY_RULE_SETUP
#line 245 "scanner.l" #line 248 "scanner.l"
return PSNP; return PSNP;
YY_BREAK YY_BREAK
case 41: case 41:
YY_RULE_SETUP YY_RULE_SETUP
#line 247 "scanner.l" #line 250 "scanner.l"
return CLNP; return CLNP;
YY_BREAK YY_BREAK
case 42: case 42:
YY_RULE_SETUP YY_RULE_SETUP
#line 249 "scanner.l" #line 252 "scanner.l"
return STP; return STP;
YY_BREAK YY_BREAK
case 43: case 43:
YY_RULE_SETUP YY_RULE_SETUP
#line 251 "scanner.l" #line 254 "scanner.l"
return IPX; return IPX;
YY_BREAK YY_BREAK
case 44: case 44:
YY_RULE_SETUP YY_RULE_SETUP
#line 253 "scanner.l" #line 256 "scanner.l"
return NETBEUI; return NETBEUI;
YY_BREAK YY_BREAK
case 45: case 45:
YY_RULE_SETUP YY_RULE_SETUP
#line 255 "scanner.l" #line 258 "scanner.l"
return HOST; return HOST;
YY_BREAK YY_BREAK
case 46: case 46:
YY_RULE_SETUP YY_RULE_SETUP
#line 256 "scanner.l" #line 259 "scanner.l"
return NET; return NET;
YY_BREAK YY_BREAK
case 47: case 47:
YY_RULE_SETUP YY_RULE_SETUP
#line 257 "scanner.l" #line 260 "scanner.l"
return NETMASK; return NETMASK;
YY_BREAK YY_BREAK
case 48: case 48:
YY_RULE_SETUP YY_RULE_SETUP
#line 258 "scanner.l" #line 261 "scanner.l"
return PORT; return PORT;
YY_BREAK YY_BREAK
case 49: case 49:
YY_RULE_SETUP YY_RULE_SETUP
#line 259 "scanner.l" #line 262 "scanner.l"
return PORTRANGE; return PORTRANGE;
YY_BREAK YY_BREAK
case 50: case 50:
YY_RULE_SETUP YY_RULE_SETUP
#line 260 "scanner.l" #line 263 "scanner.l"
return PROTO; return PROTO;
YY_BREAK YY_BREAK
case 51: case 51:
YY_RULE_SETUP YY_RULE_SETUP
#line 261 "scanner.l" #line 264 "scanner.l"
{ {
#ifdef NO_PROTOCHAIN #ifdef NO_PROTOCHAIN
bpf_error("%s not supported", pcap_text); bpf_error("%s not supported", pcap_text);
@@ -3309,336 +3313,336 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 52: case 52:
YY_RULE_SETUP YY_RULE_SETUP
#line 269 "scanner.l" #line 272 "scanner.l"
return GATEWAY; return GATEWAY;
YY_BREAK YY_BREAK
case 53: case 53:
YY_RULE_SETUP YY_RULE_SETUP
#line 271 "scanner.l" #line 274 "scanner.l"
return TYPE; return TYPE;
YY_BREAK YY_BREAK
case 54: case 54:
YY_RULE_SETUP YY_RULE_SETUP
#line 272 "scanner.l" #line 275 "scanner.l"
return SUBTYPE; return SUBTYPE;
YY_BREAK YY_BREAK
case 55: case 55:
YY_RULE_SETUP YY_RULE_SETUP
#line 273 "scanner.l" #line 276 "scanner.l"
return DIR; return DIR;
YY_BREAK YY_BREAK
case 56: case 56:
YY_RULE_SETUP YY_RULE_SETUP
#line 274 "scanner.l" #line 277 "scanner.l"
return ADDR1; return ADDR1;
YY_BREAK YY_BREAK
case 57: case 57:
YY_RULE_SETUP YY_RULE_SETUP
#line 275 "scanner.l" #line 278 "scanner.l"
return ADDR2; return ADDR2;
YY_BREAK YY_BREAK
case 58: case 58:
YY_RULE_SETUP YY_RULE_SETUP
#line 276 "scanner.l" #line 279 "scanner.l"
return ADDR3; return ADDR3;
YY_BREAK YY_BREAK
case 59: case 59:
YY_RULE_SETUP YY_RULE_SETUP
#line 277 "scanner.l" #line 280 "scanner.l"
return ADDR4; return ADDR4;
YY_BREAK YY_BREAK
case 60: case 60:
YY_RULE_SETUP YY_RULE_SETUP
#line 278 "scanner.l" #line 281 "scanner.l"
return RA; return RA;
YY_BREAK YY_BREAK
case 61: case 61:
YY_RULE_SETUP YY_RULE_SETUP
#line 279 "scanner.l" #line 282 "scanner.l"
return TA; return TA;
YY_BREAK YY_BREAK
case 62: case 62:
YY_RULE_SETUP YY_RULE_SETUP
#line 281 "scanner.l" #line 284 "scanner.l"
return LESS; return LESS;
YY_BREAK YY_BREAK
case 63: case 63:
YY_RULE_SETUP YY_RULE_SETUP
#line 282 "scanner.l" #line 285 "scanner.l"
return GREATER; return GREATER;
YY_BREAK YY_BREAK
case 64: case 64:
YY_RULE_SETUP YY_RULE_SETUP
#line 283 "scanner.l" #line 286 "scanner.l"
return CBYTE; return CBYTE;
YY_BREAK YY_BREAK
case 65: case 65:
YY_RULE_SETUP YY_RULE_SETUP
#line 284 "scanner.l" #line 287 "scanner.l"
return TK_BROADCAST; return TK_BROADCAST;
YY_BREAK YY_BREAK
case 66: case 66:
YY_RULE_SETUP YY_RULE_SETUP
#line 285 "scanner.l" #line 288 "scanner.l"
return TK_MULTICAST; return TK_MULTICAST;
YY_BREAK YY_BREAK
case 67: case 67:
YY_RULE_SETUP YY_RULE_SETUP
#line 287 "scanner.l" #line 290 "scanner.l"
return AND; return AND;
YY_BREAK YY_BREAK
case 68: case 68:
YY_RULE_SETUP YY_RULE_SETUP
#line 288 "scanner.l" #line 291 "scanner.l"
return OR; return OR;
YY_BREAK YY_BREAK
case 69: case 69:
YY_RULE_SETUP YY_RULE_SETUP
#line 289 "scanner.l" #line 292 "scanner.l"
return '!'; return '!';
YY_BREAK YY_BREAK
case 70: case 70:
YY_RULE_SETUP YY_RULE_SETUP
#line 291 "scanner.l" #line 294 "scanner.l"
return LEN; return LEN;
YY_BREAK YY_BREAK
case 71: case 71:
YY_RULE_SETUP YY_RULE_SETUP
#line 292 "scanner.l" #line 295 "scanner.l"
return INBOUND; return INBOUND;
YY_BREAK YY_BREAK
case 72: case 72:
YY_RULE_SETUP YY_RULE_SETUP
#line 293 "scanner.l" #line 296 "scanner.l"
return OUTBOUND; return OUTBOUND;
YY_BREAK YY_BREAK
case 73: case 73:
YY_RULE_SETUP YY_RULE_SETUP
#line 295 "scanner.l" #line 298 "scanner.l"
return VLAN; return VLAN;
YY_BREAK YY_BREAK
case 74: case 74:
YY_RULE_SETUP YY_RULE_SETUP
#line 296 "scanner.l" #line 299 "scanner.l"
return MPLS; return MPLS;
YY_BREAK YY_BREAK
case 75: case 75:
YY_RULE_SETUP YY_RULE_SETUP
#line 297 "scanner.l" #line 300 "scanner.l"
return PPPOED; return PPPOED;
YY_BREAK YY_BREAK
case 76: case 76:
YY_RULE_SETUP YY_RULE_SETUP
#line 298 "scanner.l" #line 301 "scanner.l"
return PPPOES; return PPPOES;
YY_BREAK YY_BREAK
case 77: case 77:
YY_RULE_SETUP YY_RULE_SETUP
#line 300 "scanner.l" #line 303 "scanner.l"
return LANE; return LANE;
YY_BREAK YY_BREAK
case 78: case 78:
YY_RULE_SETUP YY_RULE_SETUP
#line 301 "scanner.l" #line 304 "scanner.l"
return LLC; return LLC;
YY_BREAK YY_BREAK
case 79: case 79:
YY_RULE_SETUP YY_RULE_SETUP
#line 302 "scanner.l" #line 305 "scanner.l"
return METAC; return METAC;
YY_BREAK YY_BREAK
case 80: case 80:
YY_RULE_SETUP YY_RULE_SETUP
#line 303 "scanner.l" #line 306 "scanner.l"
return BCC; return BCC;
YY_BREAK YY_BREAK
case 81: case 81:
YY_RULE_SETUP YY_RULE_SETUP
#line 304 "scanner.l" #line 307 "scanner.l"
return OAM; return OAM;
YY_BREAK YY_BREAK
case 82: case 82:
YY_RULE_SETUP YY_RULE_SETUP
#line 305 "scanner.l" #line 308 "scanner.l"
return OAMF4; return OAMF4;
YY_BREAK YY_BREAK
case 83: case 83:
YY_RULE_SETUP YY_RULE_SETUP
#line 306 "scanner.l" #line 309 "scanner.l"
return OAMF4EC; return OAMF4EC;
YY_BREAK YY_BREAK
case 84: case 84:
YY_RULE_SETUP YY_RULE_SETUP
#line 307 "scanner.l" #line 310 "scanner.l"
return OAMF4SC; return OAMF4SC;
YY_BREAK YY_BREAK
case 85: case 85:
YY_RULE_SETUP YY_RULE_SETUP
#line 308 "scanner.l" #line 311 "scanner.l"
return SC; return SC;
YY_BREAK YY_BREAK
case 86: case 86:
YY_RULE_SETUP YY_RULE_SETUP
#line 309 "scanner.l" #line 312 "scanner.l"
return ILMIC; return ILMIC;
YY_BREAK YY_BREAK
case 87: case 87:
YY_RULE_SETUP YY_RULE_SETUP
#line 310 "scanner.l" #line 313 "scanner.l"
return VPI; return VPI;
YY_BREAK YY_BREAK
case 88: case 88:
YY_RULE_SETUP YY_RULE_SETUP
#line 311 "scanner.l" #line 314 "scanner.l"
return VCI; return VCI;
YY_BREAK YY_BREAK
case 89: case 89:
YY_RULE_SETUP YY_RULE_SETUP
#line 312 "scanner.l" #line 315 "scanner.l"
return CONNECTMSG; return CONNECTMSG;
YY_BREAK YY_BREAK
case 90: case 90:
YY_RULE_SETUP YY_RULE_SETUP
#line 313 "scanner.l" #line 316 "scanner.l"
return METACONNECT; return METACONNECT;
YY_BREAK YY_BREAK
case 91: case 91:
YY_RULE_SETUP YY_RULE_SETUP
#line 315 "scanner.l" #line 318 "scanner.l"
return PF_IFNAME; return PF_IFNAME;
YY_BREAK YY_BREAK
case 92: case 92:
YY_RULE_SETUP YY_RULE_SETUP
#line 316 "scanner.l" #line 319 "scanner.l"
return PF_RSET; return PF_RSET;
YY_BREAK YY_BREAK
case 93: case 93:
YY_RULE_SETUP YY_RULE_SETUP
#line 317 "scanner.l" #line 320 "scanner.l"
return PF_RNR; return PF_RNR;
YY_BREAK YY_BREAK
case 94: case 94:
YY_RULE_SETUP YY_RULE_SETUP
#line 318 "scanner.l" #line 321 "scanner.l"
return PF_SRNR; return PF_SRNR;
YY_BREAK YY_BREAK
case 95: case 95:
YY_RULE_SETUP YY_RULE_SETUP
#line 319 "scanner.l" #line 322 "scanner.l"
return PF_REASON; return PF_REASON;
YY_BREAK YY_BREAK
case 96: case 96:
YY_RULE_SETUP YY_RULE_SETUP
#line 320 "scanner.l" #line 323 "scanner.l"
return PF_ACTION; return PF_ACTION;
YY_BREAK YY_BREAK
case 97: case 97:
YY_RULE_SETUP YY_RULE_SETUP
#line 322 "scanner.l" #line 325 "scanner.l"
return FISU; return FISU;
YY_BREAK YY_BREAK
case 98: case 98:
YY_RULE_SETUP YY_RULE_SETUP
#line 323 "scanner.l" #line 326 "scanner.l"
return LSSU; return LSSU;
YY_BREAK YY_BREAK
case 99: case 99:
YY_RULE_SETUP YY_RULE_SETUP
#line 324 "scanner.l" #line 327 "scanner.l"
return LSSU; return LSSU;
YY_BREAK YY_BREAK
case 100: case 100:
YY_RULE_SETUP YY_RULE_SETUP
#line 325 "scanner.l" #line 328 "scanner.l"
return MSU; return MSU;
YY_BREAK YY_BREAK
case 101: case 101:
YY_RULE_SETUP YY_RULE_SETUP
#line 326 "scanner.l" #line 329 "scanner.l"
return SIO; return SIO;
YY_BREAK YY_BREAK
case 102: case 102:
YY_RULE_SETUP YY_RULE_SETUP
#line 327 "scanner.l" #line 330 "scanner.l"
return OPC; return OPC;
YY_BREAK YY_BREAK
case 103: case 103:
YY_RULE_SETUP YY_RULE_SETUP
#line 328 "scanner.l" #line 331 "scanner.l"
return DPC; return DPC;
YY_BREAK YY_BREAK
case 104: case 104:
YY_RULE_SETUP YY_RULE_SETUP
#line 329 "scanner.l" #line 332 "scanner.l"
return SLS; return SLS;
YY_BREAK YY_BREAK
case 105: case 105:
/* rule 105 can match eol */ /* rule 105 can match eol */
YY_RULE_SETUP YY_RULE_SETUP
#line 331 "scanner.l" #line 334 "scanner.l"
; ;
YY_BREAK YY_BREAK
case 106: case 106:
YY_RULE_SETUP YY_RULE_SETUP
#line 332 "scanner.l" #line 335 "scanner.l"
return pcap_text[0]; return pcap_text[0];
YY_BREAK YY_BREAK
case 107: case 107:
YY_RULE_SETUP YY_RULE_SETUP
#line 333 "scanner.l" #line 336 "scanner.l"
return GEQ; return GEQ;
YY_BREAK YY_BREAK
case 108: case 108:
YY_RULE_SETUP YY_RULE_SETUP
#line 334 "scanner.l" #line 337 "scanner.l"
return LEQ; return LEQ;
YY_BREAK YY_BREAK
case 109: case 109:
YY_RULE_SETUP YY_RULE_SETUP
#line 335 "scanner.l" #line 338 "scanner.l"
return NEQ; return NEQ;
YY_BREAK YY_BREAK
case 110: case 110:
YY_RULE_SETUP YY_RULE_SETUP
#line 336 "scanner.l" #line 339 "scanner.l"
return '='; return '=';
YY_BREAK YY_BREAK
case 111: case 111:
YY_RULE_SETUP YY_RULE_SETUP
#line 337 "scanner.l" #line 340 "scanner.l"
return LSH; return LSH;
YY_BREAK YY_BREAK
case 112: case 112:
YY_RULE_SETUP YY_RULE_SETUP
#line 338 "scanner.l" #line 341 "scanner.l"
return RSH; return RSH;
YY_BREAK YY_BREAK
case 113: case 113:
YY_RULE_SETUP YY_RULE_SETUP
#line 339 "scanner.l" #line 342 "scanner.l"
{ yylval.e = pcap_ether_aton(((char *)pcap_text)+1); { yylval.e = pcap_ether_aton(((char *)pcap_text)+1);
return AID; } return AID; }
YY_BREAK YY_BREAK
case 114: case 114:
YY_RULE_SETUP YY_RULE_SETUP
#line 341 "scanner.l" #line 344 "scanner.l"
{ yylval.e = pcap_ether_aton((char *)pcap_text); { yylval.e = pcap_ether_aton((char *)pcap_text);
return EID; } return EID; }
YY_BREAK YY_BREAK
case 115: case 115:
YY_RULE_SETUP YY_RULE_SETUP
#line 343 "scanner.l" #line 346 "scanner.l"
{ yylval.i = stoi((char *)pcap_text); return NUM; } { yylval.i = stoi((char *)pcap_text); return NUM; }
YY_BREAK YY_BREAK
case 116: case 116:
YY_RULE_SETUP YY_RULE_SETUP
#line 344 "scanner.l" #line 347 "scanner.l"
{ {
yylval.s = sdup((char *)pcap_text); return HID; } yylval.s = sdup((char *)pcap_text); return HID; }
YY_BREAK YY_BREAK
case 117: case 117:
YY_RULE_SETUP YY_RULE_SETUP
#line 346 "scanner.l" #line 349 "scanner.l"
{ {
#ifdef INET6 #ifdef INET6
struct addrinfo hints, *res; struct addrinfo hints, *res;
@@ -3658,157 +3662,157 @@ YY_RULE_SETUP
YY_BREAK YY_BREAK
case 118: case 118:
YY_RULE_SETUP YY_RULE_SETUP
#line 362 "scanner.l" #line 365 "scanner.l"
{ bpf_error("bogus ethernet address %s", pcap_text); } { bpf_error("bogus ethernet address %s", pcap_text); }
YY_BREAK YY_BREAK
case 119: case 119:
YY_RULE_SETUP YY_RULE_SETUP
#line 363 "scanner.l" #line 366 "scanner.l"
{ yylval.i = 0; return NUM; } { yylval.i = 0; return NUM; }
YY_BREAK YY_BREAK
case 120: case 120:
YY_RULE_SETUP YY_RULE_SETUP
#line 364 "scanner.l" #line 367 "scanner.l"
{ yylval.i = 1; return NUM; } { yylval.i = 1; return NUM; }
YY_BREAK YY_BREAK
case 121: case 121:
YY_RULE_SETUP YY_RULE_SETUP
#line 365 "scanner.l" #line 368 "scanner.l"
{ yylval.i = 0; return NUM; } { yylval.i = 0; return NUM; }
YY_BREAK YY_BREAK
case 122: case 122:
YY_RULE_SETUP YY_RULE_SETUP
#line 366 "scanner.l" #line 369 "scanner.l"
{ yylval.i = 3; return NUM; } { yylval.i = 3; return NUM; }
YY_BREAK YY_BREAK
case 123: case 123:
YY_RULE_SETUP YY_RULE_SETUP
#line 367 "scanner.l" #line 370 "scanner.l"
{ yylval.i = 4; return NUM; } { yylval.i = 4; return NUM; }
YY_BREAK YY_BREAK
case 124: case 124:
YY_RULE_SETUP YY_RULE_SETUP
#line 368 "scanner.l" #line 371 "scanner.l"
{ yylval.i = 5; return NUM; } { yylval.i = 5; return NUM; }
YY_BREAK YY_BREAK
case 125: case 125:
YY_RULE_SETUP YY_RULE_SETUP
#line 369 "scanner.l" #line 372 "scanner.l"
{ yylval.i = 8; return NUM; } { yylval.i = 8; return NUM; }
YY_BREAK YY_BREAK
case 126: case 126:
YY_RULE_SETUP YY_RULE_SETUP
#line 370 "scanner.l" #line 373 "scanner.l"
{ yylval.i = 9; return NUM; } { yylval.i = 9; return NUM; }
YY_BREAK YY_BREAK
case 127: case 127:
YY_RULE_SETUP YY_RULE_SETUP
#line 371 "scanner.l" #line 374 "scanner.l"
{ yylval.i = 10; return NUM; } { yylval.i = 10; return NUM; }
YY_BREAK YY_BREAK
case 128: case 128:
YY_RULE_SETUP YY_RULE_SETUP
#line 372 "scanner.l" #line 375 "scanner.l"
{ yylval.i = 11; return NUM; } { yylval.i = 11; return NUM; }
YY_BREAK YY_BREAK
case 129: case 129:
YY_RULE_SETUP YY_RULE_SETUP
#line 373 "scanner.l" #line 376 "scanner.l"
{ yylval.i = 12; return NUM; } { yylval.i = 12; return NUM; }
YY_BREAK YY_BREAK
case 130: case 130:
YY_RULE_SETUP YY_RULE_SETUP
#line 374 "scanner.l" #line 377 "scanner.l"
{ yylval.i = 13; return NUM; } { yylval.i = 13; return NUM; }
YY_BREAK YY_BREAK
case 131: case 131:
YY_RULE_SETUP YY_RULE_SETUP
#line 375 "scanner.l" #line 378 "scanner.l"
{ yylval.i = 14; return NUM; } { yylval.i = 14; return NUM; }
YY_BREAK YY_BREAK
case 132: case 132:
YY_RULE_SETUP YY_RULE_SETUP
#line 376 "scanner.l" #line 379 "scanner.l"
{ yylval.i = 15; return NUM; } { yylval.i = 15; return NUM; }
YY_BREAK YY_BREAK
case 133: case 133:
YY_RULE_SETUP YY_RULE_SETUP
#line 377 "scanner.l" #line 380 "scanner.l"
{ yylval.i = 16; return NUM; } { yylval.i = 16; return NUM; }
YY_BREAK YY_BREAK
case 134: case 134:
YY_RULE_SETUP YY_RULE_SETUP
#line 378 "scanner.l" #line 381 "scanner.l"
{ yylval.i = 17; return NUM; } { yylval.i = 17; return NUM; }
YY_BREAK YY_BREAK
case 135: case 135:
YY_RULE_SETUP YY_RULE_SETUP
#line 379 "scanner.l" #line 382 "scanner.l"
{ yylval.i = 18; return NUM; } { yylval.i = 18; return NUM; }
YY_BREAK YY_BREAK
case 136: case 136:
YY_RULE_SETUP YY_RULE_SETUP
#line 380 "scanner.l" #line 383 "scanner.l"
{ yylval.i = 13; return NUM; } { yylval.i = 13; return NUM; }
YY_BREAK YY_BREAK
case 137: case 137:
YY_RULE_SETUP YY_RULE_SETUP
#line 381 "scanner.l" #line 384 "scanner.l"
{ yylval.i = 0x01; return NUM; } { yylval.i = 0x01; return NUM; }
YY_BREAK YY_BREAK
case 138: case 138:
YY_RULE_SETUP YY_RULE_SETUP
#line 382 "scanner.l" #line 385 "scanner.l"
{ yylval.i = 0x02; return NUM; } { yylval.i = 0x02; return NUM; }
YY_BREAK YY_BREAK
case 139: case 139:
YY_RULE_SETUP YY_RULE_SETUP
#line 383 "scanner.l" #line 386 "scanner.l"
{ yylval.i = 0x04; return NUM; } { yylval.i = 0x04; return NUM; }
YY_BREAK YY_BREAK
case 140: case 140:
YY_RULE_SETUP YY_RULE_SETUP
#line 384 "scanner.l" #line 387 "scanner.l"
{ yylval.i = 0x08; return NUM; } { yylval.i = 0x08; return NUM; }
YY_BREAK YY_BREAK
case 141: case 141:
YY_RULE_SETUP YY_RULE_SETUP
#line 385 "scanner.l" #line 388 "scanner.l"
{ yylval.i = 0x10; return NUM; } { yylval.i = 0x10; return NUM; }
YY_BREAK YY_BREAK
case 142: case 142:
YY_RULE_SETUP YY_RULE_SETUP
#line 386 "scanner.l" #line 389 "scanner.l"
{ yylval.i = 0x20; return NUM; } { yylval.i = 0x20; return NUM; }
YY_BREAK YY_BREAK
case 143: case 143:
YY_RULE_SETUP YY_RULE_SETUP
#line 387 "scanner.l" #line 390 "scanner.l"
{ {
yylval.s = sdup((char *)pcap_text); return ID; } yylval.s = sdup((char *)pcap_text); return ID; }
YY_BREAK YY_BREAK
case 144: case 144:
YY_RULE_SETUP YY_RULE_SETUP
#line 389 "scanner.l" #line 392 "scanner.l"
{ yylval.s = sdup((char *)pcap_text + 1); return ID; } { yylval.s = sdup((char *)pcap_text + 1); return ID; }
YY_BREAK YY_BREAK
case 145: case 145:
YY_RULE_SETUP YY_RULE_SETUP
#line 390 "scanner.l" #line 393 "scanner.l"
{ {
bpf_error("illegal token: %s", pcap_text); } bpf_error("illegal token: %s", pcap_text); }
YY_BREAK YY_BREAK
case 146: case 146:
YY_RULE_SETUP YY_RULE_SETUP
#line 392 "scanner.l" #line 395 "scanner.l"
{ bpf_error("illegal char '%c'", *pcap_text); } { bpf_error("illegal char '%c'", *pcap_text); }
YY_BREAK YY_BREAK
case 147: case 147:
YY_RULE_SETUP YY_RULE_SETUP
#line 393 "scanner.l" #line 396 "scanner.l"
ECHO; ECHO;
YY_BREAK YY_BREAK
#line 3812 "scanner.c" #line 3816 "scanner.c"
case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(INITIAL):
yyterminate(); yyterminate();
@@ -4705,7 +4709,7 @@ void pcap_free (void * ptr )
#define YYTABLES_NAME "yytables" #define YYTABLES_NAME "yytables"
#line 393 "scanner.l" #line 396 "scanner.l"
void void