auto-import ebtables-2.0.6-4 on branch devel from ebtables-2.0.6-4.src.rpm
This commit is contained in:
parent
b146ba17d8
commit
871a94d185
@ -0,0 +1 @@
|
||||
ebtables-v2.0.6.tar.gz
|
11
ebtables-2.0.6-gcc34.patch
Normal file
11
ebtables-2.0.6-gcc34.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- ebtables-v2.0.6/ebtables.c.old Thu Sep 9 22:39:49 2004
|
||||
+++ ebtables-v2.0.6/ebtables.c Thu Sep 9 22:40:18 2004
|
||||
@@ -1170,7 +1170,7 @@ static int check_rule_exists(int rule_nr
|
||||
if (!t->compare(t->t, u_e->t))
|
||||
continue;
|
||||
return i;
|
||||
-letscontinue:
|
||||
+letscontinue:;
|
||||
}
|
||||
return -1;
|
||||
}
|
98
ebtables-2.0.6-gcc4.patch
Normal file
98
ebtables-2.0.6-gcc4.patch
Normal file
@ -0,0 +1,98 @@
|
||||
--- ebtables-v2.0.6/extensions/ebt_ip.c.BAD 2005-05-31 11:45:44.000000000 -0500
|
||||
+++ ebtables-v2.0.6/extensions/ebt_ip.c 2005-05-31 11:48:53.000000000 -0500
|
||||
@@ -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;
|
||||
--- ebtables-v2.0.6/extensions/ebt_vlan.c.BAD 2005-05-31 11:44:12.000000000 -0500
|
||||
+++ ebtables-v2.0.6/extensions/ebt_vlan.c 2005-05-31 11:54:06.000000000 -0500
|
||||
@@ -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)
|
||||
--- ebtables-v2.0.6/extensions/ebt_limit.c.BAD 2005-05-31 11:55:53.000000000 -0500
|
||||
+++ ebtables-v2.0.6/extensions/ebt_limit.c 2005-05-31 11:56:16.000000000 -0500
|
||||
@@ -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));
|
76
ebtables.spec
Normal file
76
ebtables.spec
Normal file
@ -0,0 +1,76 @@
|
||||
Name: ebtables
|
||||
Version: 2.0.6
|
||||
Release: 4%{?dist}
|
||||
Summary: Ethernet Bridge frame table administration tool
|
||||
License: GPL
|
||||
Group: System Environment/Base
|
||||
URL: http://ebtables.sourceforge.net/
|
||||
Source0: http://dl.sf.net/ebtables/ebtables-v%{version}.tar.gz
|
||||
Source1: ebtables.sysv
|
||||
Patch0: ebtables-2.0.6-gcc34.patch
|
||||
Patch1: ebtables-2.0.6-gcc4.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
%description
|
||||
Ethernet bridge tables is a firewalling tool to transparantly filter network
|
||||
traffic passing a bridge. The filtering possibilities are limited to link
|
||||
layer filtering and some basic filtering on higher network layers.
|
||||
|
||||
The ebtables tool can be used together with the other Linux filtering tools,
|
||||
like iptables. There are no known incompatibility issues.
|
||||
|
||||
%prep
|
||||
%setup -n ebtables-v%{version}
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
install -D -m0755 ebtables $RPM_BUILD_ROOT/sbin/ebtables
|
||||
install -D -m0755 %{SOURCE1} $RPM_BUILD_ROOT%{_initrddir}/ebtables
|
||||
install -D -m0644 ethertypes $RPM_BUILD_ROOT%{_sysconfdir}/ethertypes
|
||||
install -D -m0644 ebtables.8 $RPM_BUILD_ROOT%{_mandir}/man8/ebtables.8
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%post
|
||||
/sbin/chkconfig --add ebtables
|
||||
|
||||
%preun
|
||||
if [ $1 -eq 0 ]; then
|
||||
/sbin/service ebtables stop &>/dev/null || :
|
||||
/sbin/chkconfig --del ebtables
|
||||
fi
|
||||
|
||||
%postun
|
||||
/sbin/service ebtables condrestart &>/dev/null || :
|
||||
|
||||
%files
|
||||
%defattr(-, root, root, 0755)
|
||||
%doc ChangeLog COPYING THANKS
|
||||
%doc %{_mandir}/man8/ebtables.8*
|
||||
%config(noreplace) %{_sysconfdir}/ethertypes
|
||||
%{_initrddir}/ebtables
|
||||
/sbin/ebtables
|
||||
|
||||
%changelog
|
||||
* Fri Jul 1 2005 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.6-4
|
||||
- remove INSTALL file
|
||||
|
||||
* Tue May 31 2005 Tom "spot" Callaway <tcallawa@redhat.com> 2.0.6-3
|
||||
- reworked for Fedora Extras
|
||||
- add gcc4 fix
|
||||
- move init file into SOURCE1
|
||||
|
||||
* Thu Dec 02 2004 Dag Wieers <dag@wieers.com> - 2.0.6-2
|
||||
- Added patch for gcc 3.4. (Nigel Smith)
|
||||
|
||||
* Tue Apr 27 2004 Dag Wieers <dag@wieers.com> - 2.0.6-2
|
||||
- Cosmetic changes.
|
||||
|
||||
* Tue Apr 27 2004 Dag Wieers <dag@wieers.com> - 2.0.6-1
|
||||
- Initial package. (using DAR)
|
144
ebtables.sysv
Normal file
144
ebtables.sysv
Normal file
@ -0,0 +1,144 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# init script for the Ethernet Bridge filter tables
|
||||
#
|
||||
# Original written by Dag Wieers <dag@wieers.com>.
|
||||
# Modified by Tom "spot" Callaway <tcallawa@redhat.com>
|
||||
#
|
||||
# chkconfig: - 15 85
|
||||
# description: Ethernet Bridge filtering tables
|
||||
#
|
||||
# config: /etc/sysconfig/ebtables.filter
|
||||
# config: /etc/sysconfig/ebtables.nat
|
||||
# config: /etc/sysconfig/ebtables.route
|
||||
|
||||
source /etc/init.d/functions
|
||||
source /etc/sysconfig/network
|
||||
|
||||
# Check that networking is up.
|
||||
[ ${NETWORKING} = "no" ] && exit 0
|
||||
|
||||
[ -x /sbin/ebtables ] || exit 1
|
||||
|
||||
RETVAL=0
|
||||
RETVAL_FILTER=0
|
||||
RETVAL_NAT=0
|
||||
RETVAL_BROUTE=0
|
||||
prog="ebtables"
|
||||
desc="Ethernet bridge filtering"
|
||||
|
||||
initialize() {
|
||||
# Initialize $TYPE tables
|
||||
echo -n $" $TYPE tables: "
|
||||
if [ -r /etc/sysconfig/ebtables.$TYPE ]; then
|
||||
/sbin/ebtables -t $TYPE --atomic-file /etc/sysconfig/ebtables.$TYPE --atomic-commit > /dev/null || RETVAL=1
|
||||
else
|
||||
echo -n "not configured"
|
||||
fi
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
success "$TYPE startup"
|
||||
else
|
||||
failure "$TYPE startup"
|
||||
fi
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
start() {
|
||||
echo "Starting $desc ($prog): "
|
||||
# Initialize filter tables
|
||||
TYPE=filter
|
||||
initialize
|
||||
RETVAL_FILTER=$RETVAL
|
||||
RETVAL=0
|
||||
|
||||
# Initialize NAT tables
|
||||
echo
|
||||
TYPE=nat
|
||||
initialize
|
||||
RETVAL_NAT=$RETVAL
|
||||
RETVAL=0
|
||||
|
||||
# Initialize broute tables
|
||||
echo
|
||||
TYPE=broute
|
||||
initialize
|
||||
RETVAL_BROUTE=$RETVAL
|
||||
RETVAL=0
|
||||
|
||||
RETVAL=`expr $RETVAL_BROUTE + $RETVAL_NAT + $RETVAL_FILTER`
|
||||
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
rm -f /var/lock/subsys/$prog
|
||||
fi
|
||||
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo -n $"Stopping $desc ($prog): "
|
||||
/sbin/ebtables -t filter --init-table || RETVAL=1
|
||||
/sbin/ebtables -t nat --init-table || RETVAL=1
|
||||
/sbin/ebtables -t broute --init-table || RETVAL=1
|
||||
|
||||
for mod in $(grep -E '^(ebt|ebtable)_' /proc/modules | cut -f1 -d' ') ebtables; do
|
||||
/sbin/rmmod $mod || RETVAL=1
|
||||
done
|
||||
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
success "$prog shutdown"
|
||||
rm -f /var/lock/subsys/$prog
|
||||
else
|
||||
failure "$prog shutdown"
|
||||
fi
|
||||
|
||||
echo
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
restart() {
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
save() {
|
||||
echo -n $"Saving $desc ($prog): "
|
||||
/sbin/ebtables -t filter --atomic-file /etc/sysconfig/ebtables.filter --atomic-save || RETVAL=1
|
||||
/sbin/ebtables -t nat --atomic-file /etc/sysconfig/ebtables.nat --atomic-save || RETVAL=1
|
||||
/sbin/ebtables -t broute --atomic-file /etc/sysconfig/ebtables.broute --atomic-save || RETVAL=1
|
||||
|
||||
if [ $RETVAL -eq 0 ]; then
|
||||
success "$prog saved"
|
||||
else
|
||||
failure "$prog saved"
|
||||
fi
|
||||
echo
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart|reload)
|
||||
restart
|
||||
;;
|
||||
condrestart)
|
||||
[ -e /var/lock/subsys/$prog ] && restart
|
||||
RETVAL=$?
|
||||
;;
|
||||
save)
|
||||
save
|
||||
;;
|
||||
status)
|
||||
status $prog
|
||||
RETVAL=$?
|
||||
;;
|
||||
*)
|
||||
echo $"Usage $0 {start|stop|restart|condrestart|save|status}"
|
||||
RETVAL=1
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
Loading…
Reference in New Issue
Block a user