You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.9 KiB
116 lines
3.9 KiB
# --- T2-COPYRIGHT-NOTE-BEGIN --- |
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch. |
|
# |
|
# T2 SDE: package/.../ebtables/gcc4.patch |
|
# Copyright (C) 2004 - 2006 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)
|
|
|