summaryrefslogtreecommitdiff
path: root/openwrt/package/ebtables/patches/ebtables-2.0.6-gcc4.patch
blob: cf64aed3aa28370cb018305be513c4e12f89a807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# --- T2-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# 
# T2 SDE: package/.../ebtables/gcc4.patch
# Copyright (C) 2004 - 2005 The T2 SDE Project
# 
# More information can be found in the files COPYING and README.
# 
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- T2-COPYRIGHT-NOTE-END ---
diff -Nur ebtables-v2.0.6.orig/extensions/ebt_ip.c ebtables-v2.0.6/extensions/ebt_ip.c
--- ebtables-v2.0.6.orig/extensions/ebt_ip.c	2003-11-02 20:22:56.000000000 +0200
+++ ebtables-v2.0.6/extensions/ebt_ip.c	2005-11-01 18:48:56.000000000 +0200
@@ -244,6 +244,7 @@
 	struct ebt_ip_info *ipinfo = (struct ebt_ip_info *)(*match)->data;
 	char *end;
 	long int i;
+	unsigned char j;
 
 	switch (c) {
 	case IP_SOURCE:
@@ -313,7 +314,7 @@
 			ipinfo->invflags |= EBT_IP_PROTO;
 		if (optind > argc)
 			print_error("Missing IP protocol argument");
-		(unsigned char) i = strtoul(argv[optind - 1], &end, 10);
+		j = strtoul(argv[optind - 1], &end, 10);
 		if (*end != '\0') {
 			struct protoent *pe;
 
@@ -324,7 +325,7 @@
 				     argv[optind - 1]);
 			ipinfo->protocol = pe->p_proto;
 		} else {
-			ipinfo->protocol = (unsigned char) i;
+			ipinfo->protocol = j;
 		}
 		ipinfo->bitmask |= EBT_IP_PROTO;
 		break;
diff -Nur ebtables-v2.0.6.orig/extensions/ebt_limit.c ebtables-v2.0.6/extensions/ebt_limit.c
--- ebtables-v2.0.6.orig/extensions/ebt_limit.c	2003-11-02 20:22:56.000000000 +0200
+++ ebtables-v2.0.6/extensions/ebt_limit.c	2005-11-01 18:48:56.000000000 +0200
@@ -203,15 +203,15 @@
 
 static struct ebt_u_match limit_match =
 {
-	.name		EBT_LIMIT_MATCH,
-	.size		sizeof(struct ebt_limit_info),
-	.help		print_help,
-	.init		init,
-	.parse		parse,
-	.final_check	final_check,
-	.print		print,
-	.compare	compare,
-	.extra_ops	opts,
+	.name	=	EBT_LIMIT_MATCH,
+	.size	=	sizeof(struct ebt_limit_info),
+	.help	=	print_help,
+	.init	=	init,
+	.parse	=	parse,
+	.final_check =	final_check,
+	.print	=	print,
+	.compare =	compare,
+	.extra_ops =	opts,
 };
 
 static void _init(void) __attribute((constructor));
diff -Nur ebtables-v2.0.6.orig/extensions/ebt_vlan.c ebtables-v2.0.6/extensions/ebt_vlan.c
--- ebtables-v2.0.6.orig/extensions/ebt_vlan.c	2003-11-02 20:22:56.000000000 +0200
+++ ebtables-v2.0.6/extensions/ebt_vlan.c	2005-11-01 18:48:56.000000000 +0200
@@ -135,14 +135,16 @@
 	    (struct ebt_vlan_info *) (*match)->data;
 	char *end;
 	struct ebt_vlan_info local;
+	unsigned short id, encap;
+	unsigned char prio;
 
 	switch (c) {
 	case VLAN_ID:
 		check_option(flags, OPT_VLAN_ID);
 		CHECK_INV_FLAG(EBT_VLAN_ID);
 		CHECK_IF_MISSING_VALUE;
-		(unsigned short) local.id =
-		    strtoul(argv[optind - 1], &end, 10);
+		id = strtoul(argv[optind - 1], &end, 10);
+		local.id = (uint16_t) id;
 		CHECK_RANGE(local.id > 4094 || *end != '\0');
 		vlaninfo->id = local.id;
 		SET_BITMASK(EBT_VLAN_ID);
@@ -152,8 +154,8 @@
 		check_option(flags, OPT_VLAN_PRIO);
 		CHECK_INV_FLAG(EBT_VLAN_PRIO);
 		CHECK_IF_MISSING_VALUE;
-		(unsigned char) local.prio =
-		    strtoul(argv[optind - 1], &end, 10);
+		prio = strtoul(argv[optind - 1], &end, 10);
+		local.prio = (uint8_t) prio;
 		CHECK_RANGE(local.prio >= 8 || *end != '\0');
 		vlaninfo->prio = local.prio;
 		SET_BITMASK(EBT_VLAN_PRIO);
@@ -163,8 +165,8 @@
 		check_option(flags, OPT_VLAN_ENCAP);
 		CHECK_INV_FLAG(EBT_VLAN_ENCAP);
 		CHECK_IF_MISSING_VALUE;
-		(unsigned short) local.encap =
-		    strtoul(argv[optind - 1], &end, 16);
+		encap = strtoul(argv[optind - 1], &end, 16);
+		local.encap = (uint16_t) encap;
 		if (*end != '\0') {
 			ethent = getethertypebyname(argv[optind - 1]);
 			if (ethent == NULL)