Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 366151 | Differences between
and this patch

Collapse All | Expand All

(-)hping3-20051105.orig/parseoptions.c (-43 / +43 lines)
Lines 39-72 Link Here
39
39
40
static struct ago_optlist hping_optlist[] = {
40
static struct ago_optlist hping_optlist[] = {
41
	{ 'c',	"count",	OPT_COUNT,		AGO_NEEDARG },
41
	{ 'c',	"count",	OPT_COUNT,		AGO_NEEDARG },
42
	{ 'i',	"interval",	OPT_INTERVAL,		AGO_NEEDARG|AGO_EXCEPT0 },
42
	{ 'i',	"interval",	OPT_INTERVAL,		AGO_NEEDARG },
43
	{ 'n',	"numeric",	OPT_NUMERIC,		AGO_NOARG },
43
	{ 'n',	"numeric",	OPT_NUMERIC,		AGO_NOARG },
44
	{ 'q',	"quiet",	OPT_QUIET,		AGO_NOARG },
44
	{ 'q',	"quiet",	OPT_QUIET,		AGO_NOARG },
45
	{ 'I',	"interface",	OPT_INTERFACE,		AGO_NEEDARG },
45
	{ 'I',	"interface",	OPT_INTERFACE,		AGO_NEEDARG },
46
	{ 'h',	"help",		OPT_HELP,		AGO_NOARG },
46
	{ 'h',	"help",		OPT_HELP,		AGO_NOARG },
47
	{ 'v',	"version",	OPT_VERSION,		AGO_NOARG },
47
	{ 'v',	"version",	OPT_VERSION,		AGO_NOARG },
48
	{ 'p',	"destport",	OPT_DESTPORT,		AGO_NEEDARG|AGO_EXCEPT0 },
48
	{ 'p',	"destport",	OPT_DESTPORT,		AGO_NEEDARG },
49
	{ 's',	"baseport",	OPT_BASEPORT,		AGO_NEEDARG|AGO_EXCEPT0 },
49
	{ 's',	"baseport",	OPT_BASEPORT,		AGO_NEEDARG },
50
	{ 't',	"ttl",		OPT_TTL,		AGO_NEEDARG },
50
	{ 't',	"ttl",		OPT_TTL,		AGO_NEEDARG },
51
	{ 'N',	"id",		OPT_ID,			AGO_NEEDARG|AGO_EXCEPT0 },
51
	{ 'N',	"id",		OPT_ID,			AGO_NEEDARG },
52
	{ 'w',	"win",		OPT_WIN,		AGO_NEEDARG|AGO_EXCEPT0 },
52
	{ 'w',	"win",		OPT_WIN,		AGO_NEEDARG },
53
	{ 'a',	"spoof",	OPT_SPOOF,		AGO_NEEDARG|AGO_EXCEPT0 },
53
	{ 'a',	"spoof",	OPT_SPOOF,		AGO_NEEDARG|AGO_EXCEPT0 },
54
	{ 'F',	"fin",		OPT_FIN,		AGO_NOARG|AGO_EXCEPT0 },
54
	{ 'F',	"fin",		OPT_FIN,		AGO_NOARG },
55
	{ 'S',	"syn",		OPT_SYN,		AGO_NOARG|AGO_EXCEPT0 },
55
	{ 'S',	"syn",		OPT_SYN,		AGO_NOARG },
56
	{ 'R',	"rst",		OPT_RST,		AGO_NOARG|AGO_EXCEPT0 },
56
	{ 'R',	"rst",		OPT_RST,		AGO_NOARG },
57
	{ 'P',	"push",		OPT_PUSH,		AGO_NOARG|AGO_EXCEPT0 },
57
	{ 'P',	"push",		OPT_PUSH,		AGO_NOARG },
58
	{ 'A',	"ack",		OPT_ACK,		AGO_NOARG|AGO_EXCEPT0 },
58
	{ 'A',	"ack",		OPT_ACK,		AGO_NOARG },
59
	{ 'U',	"urg",		OPT_URG,		AGO_NOARG|AGO_EXCEPT0 },
59
	{ 'U',	"urg",		OPT_URG,		AGO_NOARG },
60
	{ 'X',	"xmas",		OPT_XMAS,		AGO_NOARG|AGO_EXCEPT0 },
60
	{ 'X',	"xmas",		OPT_XMAS,		AGO_NOARG },
61
	{ 'Y',	"ymas",		OPT_YMAS,		AGO_NOARG|AGO_EXCEPT0 },
61
	{ 'Y',	"ymas",		OPT_YMAS,		AGO_NOARG },
62
	{ 'f',	"frag",		OPT_FRAG,		AGO_NOARG|AGO_EXCEPT0 },
62
	{ 'f',	"frag",		OPT_FRAG,		AGO_NOARG },
63
	{ 'x',	"morefrag",	OPT_MOREFRAG,		AGO_NOARG|AGO_EXCEPT0 },
63
	{ 'x',	"morefrag",	OPT_MOREFRAG,		AGO_NOARG },
64
	{ 'y',	"dontfrag",	OPT_DONTFRAG,		AGO_NOARG },
64
	{ 'y',	"dontfrag",	OPT_DONTFRAG,		AGO_NOARG },
65
	{ 'g',	"fragoff",	OPT_FRAGOFF,		AGO_NEEDARG|AGO_EXCEPT0 },
65
	{ 'g',	"fragoff",	OPT_FRAGOFF,		AGO_NEEDARG },
66
	{ 'O',	"tcpoff",	OPT_TCPOFF,		AGO_NEEDARG|AGO_EXCEPT0 },
66
	{ 'O',	"tcpoff",	OPT_TCPOFF,		AGO_NEEDARG },
67
	{ 'r',	"rel",		OPT_REL,		AGO_NOARG },
67
	{ 'r',	"rel",		OPT_REL,		AGO_NOARG },
68
	{ 'd',	"data",		OPT_DATA,		AGO_NEEDARG|AGO_EXCEPT0 },
68
	{ 'd',	"data",		OPT_DATA,		AGO_NEEDARG },
69
	{ '0',	"rawip",	OPT_RAWIP,		AGO_NOARG|AGO_EXCEPT0 },
69
	{ '0',	"rawip",	OPT_RAWIP,		AGO_NOARG },
70
	{ '1',	"icmp",		OPT_ICMP,		AGO_NOARG },
70
	{ '1',	"icmp",		OPT_ICMP,		AGO_NOARG },
71
	{ '2',	"udp",		OPT_UDP,		AGO_NOARG },
71
	{ '2',	"udp",		OPT_UDP,		AGO_NOARG },
72
	{ '8',	"scan",		OPT_SCAN,		AGO_NEEDARG },
72
	{ '8',	"scan",		OPT_SCAN,		AGO_NEEDARG },
Lines 77-110 Link Here
77
	{ 'W',	"winid",	OPT_WINID,		AGO_NOARG },
77
	{ 'W',	"winid",	OPT_WINID,		AGO_NOARG },
78
	{ 'k',	"keep",		OPT_KEEP,		AGO_NOARG },
78
	{ 'k',	"keep",		OPT_KEEP,		AGO_NOARG },
79
	{ 'E',	"file",		OPT_FILE,		AGO_NEEDARG|AGO_EXCEPT0 },
79
	{ 'E',	"file",		OPT_FILE,		AGO_NEEDARG|AGO_EXCEPT0 },
80
	{ 'j',	"dump",		OPT_DUMP,		AGO_NOARG|AGO_EXCEPT0 },
80
	{ 'j',	"dump",		OPT_DUMP,		AGO_NOARG },
81
	{ 'J',	"print",	OPT_PRINT,		AGO_NOARG|AGO_EXCEPT0 },
81
	{ 'J',	"print",	OPT_PRINT,		AGO_NOARG },
82
	{ 'e',	"sign",		OPT_SIGN,		AGO_NEEDARG|AGO_EXCEPT0 },
82
	{ 'e',	"sign",		OPT_SIGN,		AGO_NEEDARG|AGO_EXCEPT0 },
83
	{ '9',	"listen",	OPT_LISTEN,		AGO_NEEDARG|AGO_EXCEPT0 },
83
	{ '9',	"listen",	OPT_LISTEN,		AGO_NEEDARG|AGO_EXCEPT0 },
84
	{ 'B',	"safe",		OPT_SAFE,		AGO_NOARG|AGO_EXCEPT0 },
84
	{ 'B',	"safe",		OPT_SAFE,		AGO_NOARG|AGO_EXCEPT0 },
85
	{ 'T',	"traceroute",	OPT_TRACEROUTE,		AGO_NOARG },
85
	{ 'T',	"traceroute",	OPT_TRACEROUTE,		AGO_NOARG },
86
	{ 'o',	"tos",		OPT_TOS,		AGO_NEEDARG },
86
	{ 'o',	"tos",		OPT_TOS,		AGO_NEEDARG },
87
	{ 'm',	"mtu",		OPT_MTU,		AGO_NEEDARG|AGO_EXCEPT0 },
87
	{ 'm',	"mtu",		OPT_MTU,		AGO_NEEDARG },
88
	{ 'Q',	"seqnum",	OPT_SEQNUM,		AGO_NOARG|AGO_EXCEPT0 },
88
	{ 'Q',	"seqnum",	OPT_SEQNUM,		AGO_NOARG },
89
	{ 'b',	"badcksum",	OPT_BADCKSUM,		AGO_NOARG|AGO_EXCEPT0 },
89
	{ 'b',	"badcksum",	OPT_BADCKSUM,		AGO_NOARG },
90
	{ 'M',	"setseq",	OPT_SETSEQ,		AGO_NEEDARG|AGO_EXCEPT0 },
90
	{ 'M',	"setseq",	OPT_SETSEQ,		AGO_NEEDARG },
91
	{ 'L',	"setack",	OPT_SETACK,		AGO_NEEDARG|AGO_EXCEPT0 },
91
	{ 'L',	"setack",	OPT_SETACK,		AGO_NEEDARG },
92
	{ 'C',	"icmptype",	OPT_ICMPTYPE,		AGO_NEEDARG|AGO_EXCEPT0 },
92
	{ 'C',	"icmptype",	OPT_ICMPTYPE,		AGO_NEEDARG },
93
	{ 'K',	"icmpcode",	OPT_ICMPCODE,		AGO_NEEDARG|AGO_EXCEPT0 },
93
	{ 'K',	"icmpcode",	OPT_ICMPCODE,		AGO_NEEDARG },
94
	{ 'u',	"end",		OPT_END,		AGO_NOARG|AGO_EXCEPT0 },
94
	{ 'u',	"end",		OPT_END,		AGO_NOARG|AGO_EXCEPT0 },
95
	{ 'G',	"rroute",	OPT_RROUTE,		AGO_NOARG },
95
	{ 'G',	"rroute",	OPT_RROUTE,		AGO_NOARG },
96
	{ 'H',	"ipproto",	OPT_IPPROTO,		AGO_NEEDARG|AGO_EXCEPT0 },
96
	{ 'H',	"ipproto",	OPT_IPPROTO,		AGO_NEEDARG },
97
	{ '\0',	"icmp-help",	OPT_ICMP_HELP,		AGO_NOARG },
97
	{ '\0',	"icmp-help",	OPT_ICMP_HELP,		AGO_NOARG },
98
	{ '\0',	"icmp-ipver",	OPT_ICMP_IPVER,		AGO_NEEDARG|AGO_EXCEPT0 },
98
	{ '\0',	"icmp-ipver",	OPT_ICMP_IPVER,		AGO_NEEDARG },
99
	{ '\0',	"icmp-iphlen",	OPT_ICMP_IPHLEN, 	AGO_NEEDARG|AGO_EXCEPT0 },
99
	{ '\0',	"icmp-iphlen",	OPT_ICMP_IPHLEN, 	AGO_NEEDARG },
100
	{ '\0', "icmp-iplen",	OPT_ICMP_IPLEN,	 	AGO_NEEDARG|AGO_EXCEPT0 },
100
	{ '\0', "icmp-iplen",	OPT_ICMP_IPLEN,	 	AGO_NEEDARG },
101
	{ '\0',	"icmp-ipid",	OPT_ICMP_IPID,	 	AGO_NEEDARG|AGO_EXCEPT0 },
101
	{ '\0',	"icmp-ipid",	OPT_ICMP_IPID,	 	AGO_NEEDARG },
102
	{ '\0',	"icmp-ipproto",	OPT_ICMP_IPPROTO, 	AGO_NEEDARG|AGO_EXCEPT0 },
102
	{ '\0',	"icmp-ipproto",	OPT_ICMP_IPPROTO, 	AGO_NEEDARG },
103
	{ '\0', "icmp-cksum",	OPT_ICMP_CKSUM,   	AGO_NEEDARG|AGO_EXCEPT0 },
103
	{ '\0', "icmp-cksum",	OPT_ICMP_CKSUM,   	AGO_NEEDARG },
104
	{ '\0',	"icmp-ts",	OPT_ICMP_TS,		AGO_NOARG },
104
	{ '\0',	"icmp-ts",	OPT_ICMP_TS,		AGO_NOARG },
105
	{ '\0', "icmp-addr",	OPT_ICMP_ADDR,		AGO_NOARG },
105
	{ '\0', "icmp-addr",	OPT_ICMP_ADDR,		AGO_NOARG },
106
	{ '\0', "tcpexitcode",	OPT_TCPEXITCODE,	AGO_NOARG },
106
	{ '\0', "tcpexitcode",	OPT_TCPEXITCODE,	AGO_NOARG },
107
	{ '\0',	"fast",		OPT_FAST,		AGO_NOARG|AGO_EXCEPT0 },
107
	{ '\0',	"fast",		OPT_FAST,		AGO_NOARG },
108
	{ '\0',	"faster",	OPT_FASTER,		AGO_NOARG|AGO_EXCEPT0 },
108
	{ '\0',	"faster",	OPT_FASTER,		AGO_NOARG|AGO_EXCEPT0 },
109
	{ '\0',	"tr-keep-ttl",	OPT_TR_KEEP_TTL,	AGO_NOARG },
109
	{ '\0',	"tr-keep-ttl",	OPT_TR_KEEP_TTL,	AGO_NOARG },
110
	{ '\0', "tcp-timestamp",OPT_TCP_TIMESTAMP,	AGO_NOARG },
110
	{ '\0', "tcp-timestamp",OPT_TCP_TIMESTAMP,	AGO_NOARG },
Lines 112-126 Link Here
112
	{ '\0',	"tr-no-rtt",	OPT_TR_NO_RTT,		AGO_NOARG },
112
	{ '\0',	"tr-no-rtt",	OPT_TR_NO_RTT,		AGO_NOARG },
113
	{ '\0', "rand-dest",	OPT_RAND_DEST,		AGO_NOARG },
113
	{ '\0', "rand-dest",	OPT_RAND_DEST,		AGO_NOARG },
114
	{ '\0', "rand-source",	OPT_RAND_SOURCE,	AGO_NOARG },
114
	{ '\0', "rand-source",	OPT_RAND_SOURCE,	AGO_NOARG },
115
	{ '\0', "lsrr",		OPT_LSRR, 		AGO_NEEDARG|AGO_EXCEPT0 },
115
	{ '\0', "lsrr",		OPT_LSRR, 		AGO_NEEDARG },
116
	{ '\0', "ssrr",		OPT_SSRR, 		AGO_NEEDARG|AGO_EXCEPT0 },
116
	{ '\0', "ssrr",		OPT_SSRR, 		AGO_NEEDARG },
117
	{ '\0', "route-help",   OPT_ROUTE_HELP,		AGO_NOARG },
117
	{ '\0', "route-help",   OPT_ROUTE_HELP,		AGO_NOARG },
118
	{ '\0', "apd-send",	OPT_APD_SEND,		AGO_NEEDARG },
118
	{ '\0', "apd-send",	OPT_APD_SEND,		AGO_NEEDARG },
119
	{ '\0', "icmp-ipsrc",	OPT_ICMP_IPSRC,		AGO_NEEDARG|AGO_EXCEPT0 },
119
	{ '\0', "icmp-ipsrc",	OPT_ICMP_IPSRC,		AGO_NEEDARG },
120
	{ '\0', "icmp-ipdst",	OPT_ICMP_IPDST,		AGO_NEEDARG|AGO_EXCEPT0 },
120
	{ '\0', "icmp-ipdst",	OPT_ICMP_IPDST,		AGO_NEEDARG },
121
	{ '\0', "icmp-gw",	OPT_ICMP_GW,		AGO_NEEDARG|AGO_EXCEPT0 },
121
	{ '\0', "icmp-gw",	OPT_ICMP_GW,		AGO_NEEDARG },
122
	{ '\0', "icmp-srcport", OPT_ICMP_SRCPORT,	AGO_NEEDARG|AGO_EXCEPT0 },
122
	{ '\0', "icmp-srcport", OPT_ICMP_SRCPORT,	AGO_NEEDARG },
123
	{ '\0', "icmp-dstport", OPT_ICMP_DSTPORT,	AGO_NEEDARG|AGO_EXCEPT0 },
123
	{ '\0', "icmp-dstport", OPT_ICMP_DSTPORT,	AGO_NEEDARG },
124
	{ '\0', "force-icmp",	OPT_FORCE_ICMP,		AGO_NOARG },
124
	{ '\0', "force-icmp",	OPT_FORCE_ICMP,		AGO_NOARG },
125
	{ '\0', "beep",		OPT_BEEP,		AGO_NOARG },
125
	{ '\0', "beep",		OPT_BEEP,		AGO_NOARG },
126
	{ '\0', "flood",	OPT_FLOOD,		AGO_NOARG },
126
	{ '\0', "flood",	OPT_FLOOD,		AGO_NOARG },

Return to bug 366151