Compare commits

..

66 Commits

Author SHA1 Message Date
Tom Eastep
b0f6de62d0 Delete superfluous line from shorewall-init.service.debian
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 14:29:39 -08:00
Tom Eastep
17ce463b2d Don't delete files that are still valid in 4.6.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:48:53 -08:00
Tom Eastep
a3e467b8e3 Use setup_logread() in lib.cli-std
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:08:51 -08:00
Tom Eastep
b84f6aef55 Add some comments in get_params()
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:06:37 -08:00
Tom Eastep
376999970b More tweaks to params processing and exporting
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:06:15 -08:00
Tom Eastep
7d98721169 Add Cygwin-specific code in get_params()
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:05:59 -08:00
Tom Eastep
489ee29e53 More param handling fixes
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:05:44 -08:00
Tom Eastep
05d99c8500 Don't export variables with parentheses in their names
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 11:05:28 -08:00
Tom Eastep
3336db6f86 Change to IP_FORWARDING=keep in shorewall6.conf files
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 10:59:34 -08:00
Tom Eastep
b90513bd62 Start optional interfaces when there are no providers
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 10:56:46 -08:00
Tom Eastep
2bf6b92c02 Install/uninstall/configure fixes from Matt Darfeuille
Also add OpenWRT support

Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-08 10:56:37 -08:00
Tom Eastep
e0861408cd Handle MAC addresses in IPv6
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-12-07 15:24:13 -08:00
Tom Eastep
326cf8ba0a Correct permissions on certain files in $CONFDIR/$PRODUCT
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-10-26 13:09:30 -07:00
Tom Eastep
41880276a9 Deal with missing 'hostname' utility
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-10-26 13:09:10 -07:00
Tom Eastep
6835caf484 Correct error message
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-10-26 13:08:43 -07:00
Tom Eastep
266863713d Delete main default routes when there are 'load=' or 'fallback=' interfaces
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-10-14 07:46:00 -07:00
Tom Eastep
85e44c70eb Add the Meta-connection to Tinc
- Both the macro and the tunnel type are updated

Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-17 09:17:35 -07:00
Tom Eastep
03d99de8d5 Correct handling of reset
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-11 15:02:32 -07:00
Tom Eastep
426636458c Correct shorewall6 mangle man page
- Replace 'TTL' by 'HL'

Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-08 12:25:59 -07:00
Tom Eastep
0aa5cb5086 Allow non-experts to use the user bits in the fw mark
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-07 11:35:47 -07:00
Tom Eastep
eddd58d459 Move a line of code
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-06 10:33:09 -07:00
Tom Eastep
1bf13e5fda Provide default for SHOREWALL_SHELL
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-06 10:29:36 -07:00
Tom Eastep
682a449e7b Correct more Mangle examples
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-02 13:08:05 -07:00
Tom Eastep
9e98d30c92 Correct handling of log levels with default actions
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-02 08:55:18 -07:00
Tom Eastep
582755edf4 Unconditionally get inline matches
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-02 08:03:22 -07:00
Tom Eastep
dea1f853ea Correct progress messages
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-09-01 12:42:01 -07:00
Tom Eastep
e15a6f452e Cosmetic changes to first_entry() calls
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-31 10:54:30 -07:00
Tom Eastep
656eaabce9 Correct a typo
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-31 09:39:40 -07:00
Tom Eastep
f42dc6def1 Uniform mechanism for inserting conversion comments
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-30 15:35:05 -07:00
Tom Eastep
6e303aef69 Fix $convert/$tcrules mess
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-29 18:52:11 -07:00
Tom Eastep
ab260dc5b1 Place a header in a created mangle file during update -t
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-29 12:52:21 -07:00
Tom Eastep
55ab498291 Don't enforce FASTACCEPT/BLACKLISTNEWONLY on convert
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-29 12:51:52 -07:00
Tom Eastep
10cda4cee7 Update man pages for 'minute' and 'second' in LOGLIMIT specifications
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-27 15:49:59 -07:00
Tom Eastep
de74273dbb Assume EXPORTMODULES=No if it doesn't exist in old file during update
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-27 15:15:03 -07:00
Tom Eastep
af1e2f6c8b Read capabilities file before the .conf file
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-27 11:26:26 -07:00
Tom Eastep
dc2406d25b update -t also converts the 'tos' file
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-26 13:51:02 -07:00
Tom Eastep
e0734a45ee Allow 'seconds' and 'minutes' in LOGLIMIT specifications
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-26 12:53:36 -07:00
Tom Eastep
28df894add Improve 'update'
- convert BLACKLISTNEWONLY
- convert LOGRATE and LOGBURST
- default USE_DEFAULT_RT to No

Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-26 12:50:56 -07:00
Tom Eastep
1d8873d3d5 Correct the shorewall6-hosts man page
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-26 12:28:57 -07:00
Tom Eastep
ad06ec3eef Correct IPV6 range parsing
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-26 11:52:51 -07:00
Tom Eastep
eae492cef5 Some rules manpage updates
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-22 09:24:47 -07:00
Tom Eastep
05f9f926c4 Move fatal_error() to lib.base
Signed-off-by: Tom Eastep <teastep@shorewall.net>

Conflicts:
	Shorewall-core/lib.common
2015-08-21 14:32:09 -07:00
Tom Eastep
a709395949 Allow 'none' in the log level argument to AutoBL
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-21 13:40:12 -07:00
Tom Eastep
7956c5f6e0 Update a message to refer to the 'mangle' file rather than 'tcrules'
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-20 14:48:29 -07:00
Tom Eastep
4b003163d6 Use NYTProf for profiling.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 14:05:15 -07:00
Tom Eastep
67aef659b5 Tweak tcrules references
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 12:57:36 -07:00
Tom Eastep
39982c20c4 Restore the text of tcrules warning message
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 12:34:35 -07:00
Tom Eastep
2b1f33c391 Don't unlink the tcrules file.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 11:48:23 -07:00
Tom Eastep
1c33717cf5 Reverse the change to delete host routes
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 11:06:28 -07:00
Tom Eastep
cd8fe38c85 Delete host routes added to the main routing table for providers
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 10:44:37 -07:00
Tom Eastep
d525419c65 Correct wording of an error message
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-19 10:44:00 -07:00
Tom Eastep
0e67357d63 Rewrite the trace/debugging section of the start/stop article
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-18 16:00:37 -07:00
Tom Eastep
537f53f611 Restore [Install] section in the Debian .service files
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-17 07:41:15 -07:00
Tom Eastep
3b1ad1e284 Delete 'conflicts=' from Shorewall-init .service files
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-17 06:40:36 -07:00
Tom Eastep
9d3f35a22d Enable new update options in compiler.pl
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-16 11:57:36 -07:00
Tom Eastep
7c2a969de0 Correct handling of notrack file.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-14 09:26:45 -07:00
Tom Eastep
8bdea65325 Update manpages for new update options
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-13 16:12:28 -07:00
Tom Eastep
fd46c0ffed Correct handling of termination after .conf file not updated
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-13 15:42:38 -07:00
Tom Eastep
60acddbb37 Add conversion version and date to the converted files.
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-13 14:37:13 -07:00
Tom Eastep
306dc34b31 Correct convert_blacklist()
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-13 13:22:14 -07:00
Tom Eastep
f5c6a6fe82 Correct tcrules update
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-13 13:21:51 -07:00
Tom Eastep
af2b7910bd Port update changes from 5.0.0
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-12 12:33:09 -07:00
Tom Eastep
3b59e46799 Restore Debian-specific service files
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-12 10:19:07 -07:00
Tom Eastep
955a2e38b7 Merge branch 'master' of ssh://git.code.sf.net/p/shorewall/code 2015-08-10 17:49:40 -07:00
Tom Eastep
4c4c5a436a Allow zero-valued options on multi-zoned interfaces
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-07 14:09:08 -07:00
Tom Eastep
d949824f94 Correct shorewall-mangle(5) examples
Signed-off-by: Tom Eastep <teastep@shorewall.net>
2015-08-06 10:15:57 -07:00
381 changed files with 4880 additions and 2785 deletions

View File

@@ -1,4 +1,4 @@
Shoreline Firewall (Shorewall) Version 5 Shoreline Firewall (Shorewall) Version 4
----- ---- ----- ----
----------------------------------------------------------------------------- -----------------------------------------------------------------------------

View File

@@ -28,7 +28,7 @@
# #
# Build updates this # Build updates this
# #
VERSION=4.6.12 VERSION=4.5.2.1
case "$BASH_VERSION" in case "$BASH_VERSION" in
[4-9].*) [4-9].*)
@@ -91,6 +91,8 @@ for p in $@; do
fi fi
done done
cd $(dirname $0)
vendor=${params[HOST]} vendor=${params[HOST]}
if [ -z "$vendor" ]; then if [ -z "$vendor" ]; then
@@ -102,7 +104,7 @@ if [ -z "$vendor" ]; then
vendor=redhat vendor=redhat
;; ;;
debian|ubuntu) debian|ubuntu)
ls -l /sbin/init |fgrep -q systemd | vendor=debian.systemd | vendor=debian.sysvinit vendor=debian
;; ;;
opensuse) opensuse)
vendor=suse vendor=suse
@@ -122,7 +124,6 @@ if [ -z "$vendor" ]; then
params[HOST]=apple params[HOST]=apple
rcfile=shorewallrc.apple rcfile=shorewallrc.apple
;; ;;
cygwin*|CYGWIN*) cygwin*|CYGWIN*)
params[HOST]=cygwin params[HOST]=cygwin
rcfile=shorewallrc.cygwin rcfile=shorewallrc.cygwin
@@ -130,7 +131,7 @@ if [ -z "$vendor" ]; then
*) *)
if [ -f /etc/debian_version ]; then if [ -f /etc/debian_version ]; then
params[HOST]=debian params[HOST]=debian
rcfile=shorewallrc.debian.sysvinit ls -l /sbin/init | fgrep -q systemd && rcfile=shorewallrc.debian.systemd || rcfile=shorewallrc.debian.sysvinit
elif [ -f /etc/redhat-release ]; then elif [ -f /etc/redhat-release ]; then
params[HOST]=redhat params[HOST]=redhat
rcfile=shorewallrc.redhat rcfile=shorewallrc.redhat
@@ -143,28 +144,38 @@ if [ -z "$vendor" ]; then
elif [ -f /etc/arch-release ] ; then elif [ -f /etc/arch-release ] ; then
params[HOST]=archlinux params[HOST]=archlinux
rcfile=shorewallrc.archlinux rcfile=shorewallrc.archlinux
elif [ -f /etc/openwrt_release ]; then
params[HOST]=openwrt
rcfile=shorewallrc.openwrt
else else
params[HOST]=linux params[HOST]=linux
rcfile=shorewallrc.default rcfile=shorewallrc.default
fi fi
;; ;;
esac esac
vendor=${params[HOST]} vendor=${params[HOST]}
elif [ $vendor = linux ]; then
rcfile=shorewallrc.default;
else else
rcfile=shorewallrc.$vendor if [ $vendor = linux ]; then
rcfile=shorewallrc.default;
elif [ $vendor = debian -a -f /etc/debian_version ]; then
ls -l /sbin/init | fgrep -q systemd && rcfile=shorewallrc.debian.systemd || rcfile=shorewallrc.debian.sysvinit
else
rcfile=shorewallrc.$vendor
fi
if [ ! -f $rcfile ]; then if [ ! -f $rcfile ]; then
echo "ERROR: $vendor is not a recognized host type" >&2 echo "ERROR: $vendor is not a recognized host type" >&2
exit 1 exit 1
elif [ $vendor = default ]; then
params[HOST]=linux
vendor=linux
fi fi
fi fi
if [ $vendor = linux ]; then if [ $vendor = linux ]; then
echo "INFO: Creating a generic Linux installation - " `date`; echo "INFO: Creating a generic Linux installation - " `date`;
else else
echo "INFO: Creating a ${vendor}-specific installation - " `date`; echo "INFO: Creating a ${params[HOST]}-specific installation - " `date`;
fi fi
echo echo
@@ -177,6 +188,7 @@ done
echo '#' > shorewallrc echo '#' > shorewallrc
echo "# Created by Shorewall Core version $VERSION configure - " `date` >> shorewallrc echo "# Created by Shorewall Core version $VERSION configure - " `date` >> shorewallrc
echo "# rc file: $rcfile" >> shorewallrc
echo '#' >> shorewallrc echo '#' >> shorewallrc
if [ $# -gt 0 ]; then if [ $# -gt 0 ]; then

View File

@@ -31,7 +31,7 @@ use strict;
# Build updates this # Build updates this
# #
use constant { use constant {
VERSION => '4.6.12' VERSION => '4.5.2.1'
}; };
my %params; my %params;
@@ -52,6 +52,9 @@ for ( @ARGV ) {
$params{$pn} = $pv; $params{$pn} = $pv;
} }
use File::Basename;
chdir dirname($0);
my $vendor = $params{HOST}; my $vendor = $params{HOST};
my $rcfile; my $rcfile;
my $rcfilename; my $rcfilename;
@@ -81,12 +84,37 @@ unless ( defined $vendor ) {
} }
if ( defined $vendor ) { if ( defined $vendor ) {
$rcfilename = $vendor eq 'linux' ? 'shorewallrc.default' : 'shorewallrc.' . $vendor; if ( $vendor eq 'debian' && -f '/etc/debian_version' ) {
die qq("ERROR: $vendor" is not a recognized host type) unless -f $rcfilename; if ( -l '/sbin/init' ) {
if ( readlink('/sbin/init') =~ /systemd/ ) {
$rcfilename = 'shorewallrc.debian.systemd';
} else {
$rcfilename = 'shorewallrc.debian.sysvinit';
}
} else {
$rcfilename = 'shorewallrc.debian.sysvinit';
}
} else {
$rcfilename = $vendor eq 'linux' ? 'shorewallrc.default' : 'shorewallrc.' . $vendor;
}
unless ( -f $rcfilename ) {
die qq("ERROR: $vendor" is not a recognized host type);
} elsif ( $vendor eq 'default' ) {
$params{HOST} = $vendor = 'linux';
}
} else { } else {
if ( -f '/etc/debian_version' ) { if ( -f '/etc/debian_version' ) {
$vendor = 'debian'; $vendor = 'debian';
if ( -l '/sbin/init' ) {
if ( readlink '/sbin/init' =~ /systemd/ ) {
$rcfilename = 'debian.systemd';
} else {
$rcfilename = 'shorewallrc.debian.sysvinit'; $rcfilename = 'shorewallrc.debian.sysvinit';
}
} else {
$rcfilename = 'shorewallrc.debian.sysvinit';
}
} elsif ( -f '/etc/redhat-release' ){ } elsif ( -f '/etc/redhat-release' ){
$vendor = 'redhat'; $vendor = 'redhat';
$rcfilename = 'shorewallrc.redhat'; $rcfilename = 'shorewallrc.redhat';
@@ -143,7 +171,8 @@ my $outfile;
open $outfile, '>', 'shorewallrc' or die "Can't open 'shorewallrc' for output: $!"; open $outfile, '>', 'shorewallrc' or die "Can't open 'shorewallrc' for output: $!";
printf $outfile "#\n# Created by Shorewall Core version %s configure.pl - %s %2d %04d %02d:%02d:%02d\n#\n", VERSION, $abbr[$localtime[4]], $localtime[3], 1900 + $localtime[5] , @localtime[2,1,0]; printf $outfile "#\n# Created by Shorewall Core version %s configure.pl - %s %2d %04d %02d:%02d:%02d\n", VERSION, $abbr[$localtime[4]], $localtime[3], 1900 + $localtime[5] , @localtime[2,1,0];
print $outfile "# rc file: $rcfilename\n#\n";
print $outfile "# Input: @ARGV\n#\n" if @ARGV; print $outfile "# Input: @ARGV\n#\n" if @ARGV;

View File

@@ -66,15 +66,6 @@ mywhich() {
return 2 return 2
} }
run_install()
{
if ! install $*; then
echo
echo "ERROR: Failed to install $*" >&2
exit 1
fi
}
cant_autostart() cant_autostart()
{ {
echo echo
@@ -88,7 +79,20 @@ delete_file() # $1 = file to delete
install_file() # $1 = source $2 = target $3 = mode install_file() # $1 = source $2 = target $3 = mode
{ {
run_install $T $OWNERSHIP -m $3 $1 ${2} if cp -f $1 $2; then
if chmod $3 $2; then
if [ -n "$OWNER" ]; then
if chown $OWNER:$GROUP $2; then
return
fi
else
return 0
fi
fi
fi
echo "ERROR: Failed to install $2" >&2
exit 1
} }
require() require()
@@ -181,10 +185,6 @@ done
[ "${INITFILE}" != 'none/' ] && require INITSOURCE && require INITDIR [ "${INITFILE}" != 'none/' ] && require INITSOURCE && require INITDIR
T="-T"
INSTALLD='-D'
if [ -z "$BUILD" ]; then if [ -z "$BUILD" ]; then
case $(uname) in case $(uname) in
cygwin*|CYGWIN*) cygwin*|CYGWIN*)
@@ -226,6 +226,8 @@ if [ -z "$BUILD" ]; then
BUILD=suse BUILD=suse
elif [ -f /etc/arch-release ] ; then elif [ -f /etc/arch-release ] ; then
BUILD=archlinux BUILD=archlinux
elif [ -f ${CONFDIR}/openwrt_release ] ; then
BUILD=openwrt
else else
BUILD=linux BUILD=linux
fi fi
@@ -252,17 +254,15 @@ case $BUILD in
[ -z "$OWNER" ] && OWNER=root [ -z "$OWNER" ] && OWNER=root
[ -z "$GROUP" ] && GROUP=wheel [ -z "$GROUP" ] && GROUP=wheel
INSTALLD=
T=
;; ;;
*) *)
[ -z "$OWNER" ] && OWNER=root if [ $(id -u) -eq 0 ]; then
[ -z "$GROUP" ] && GROUP=root [ -z "$OWNER" ] && OWNER=root
[ -z "$GROUP" ] && GROUP=root
fi
;; ;;
esac esac
OWNERSHIP="-o $OWNER -g $GROUP"
# #
# Determine where to install the firewall script # Determine where to install the firewall script
# #
@@ -276,7 +276,7 @@ case "$HOST" in
apple) apple)
echo "Installing Mac-specific configuration..."; echo "Installing Mac-specific configuration...";
;; ;;
debian|gentoo|redhat|slackware|archlinux|linux|suse) debian|gentoo|redhat|slackware|archlinux|linux|suse|openwrt)
;; ;;
*) *)
echo "ERROR: Unknown HOST \"$HOST\"" >&2 echo "ERROR: Unknown HOST \"$HOST\"" >&2
@@ -305,7 +305,6 @@ if [ -n "$DESTDIR" ]; then
if [ $BUILD != cygwin ]; then if [ $BUILD != cygwin ]; then
if [ `id -u` != 0 ] ; then if [ `id -u` != 0 ] ; then
echo "Not setting file owner/group permissions, not running as root." echo "Not setting file owner/group permissions, not running as root."
OWNERSHIP=""
fi fi
fi fi
fi fi
@@ -407,9 +406,9 @@ fi
if [ ${SHAREDIR} != /usr/share ]; then if [ ${SHAREDIR} != /usr/share ]; then
for f in lib.*; do for f in lib.*; do
if [ $BUILD != apple ]; then if [ $BUILD != apple ]; then
eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SHAREDIR}/shorewall/$f eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${SHAREDIR}/shorewall/$f
else else
eval sed -i \'\' -e \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SHAREDIR}/shorewall/$f eval sed -i \'\' -e \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${SHAREDIR}/shorewall/$f
fi fi
done done
fi fi

View File

@@ -1,7 +1,7 @@
# #
# Shorewall 5.0 -- /usr/share/shorewall/lib.base # Shorewall 4.5 -- /usr/share/shorewall/lib.base
# #
# (c) 1999-2015 - Tom Eastep (teastep@shorewall.net) # (c) 1999-2014 - Tom Eastep (teastep@shorewall.net)
# #
# Complete documentation is available at http://shorewall.net # Complete documentation is available at http://shorewall.net
# #

View File

@@ -1,7 +1,7 @@
# #
# Shorewall 5.0 -- /usr/share/shorewall/lib.cli. # Shorewall 4.5 -- /usr/share/shorewall/lib.cli.
# #
# (c) 1999-2015 - Tom Eastep (teastep@shorewall.net) # (c) 1999-2014 - Tom Eastep (teastep@shorewall.net)
# #
# Complete documentation is available at http://shorewall.net # Complete documentation is available at http://shorewall.net
# #
@@ -143,29 +143,63 @@ timed_read ()
} }
# #
# Determine if 'syslog -C' is running # Determine if 'syslogd -C' or logd -S is running
# #
syslog_circular_buffer() { syslog_circular_buffer() {
local pid local pid
local tty local tty
local flags local flags
local cputime local time
local path local path
local args local args
local arg local arg
ps ax 2> /dev/null | while read pid tty flags cputime path args; do ps w 2> /dev/null | (
case $path in while read pid tty stat time path args; do
syslogd|*/syslogd) case $path in
for arg in $args; do syslogd|*/syslogd)
if [ x$arg = x-C ]; then for arg in $args; do
echo Yes case $arg in
return -C*)
fi return 0
done ;;
;; esac
esac done
done ;;
logd|*/logd)
for arg in $args; do
case $arg in
-S*)
return 0
;;
esac
done
;;
esac
done
return 1 )
}
setup_logread() {
[ -z "$LOGFILE" ] && LOGFILE=/var/log/messages
if syslog_circular_buffer; then
LOGFILE=logread
if qt mywhich tac; then
g_logread="logread | tac"
else
g_logread="logread"
fi
elif [ -r $LOGFILE ]; then
if qt mywhich tac; then
g_logread="tac $LOGFILE"
else
g_logread="cat $LOGFILE"
fi
else
fatal_error "LOGFILE ($LOGFILE) does not exist or is not readable!"
fi
} }
# #
@@ -173,31 +207,59 @@ syslog_circular_buffer() {
# #
packet_log() # $1 = number of messages packet_log() # $1 = number of messages
{ {
if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then if qt mywhich tac; then
if [ $g_family -eq 4 ]; then if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | head -n$1 | tac | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/ if [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | head -n$1 | tac | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | head -n$1 | tac | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | head -n$1 | tac | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else else
$g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | head -n$1 | tac | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/ $g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | head -n$1 | tac | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | head -n$1 | tac | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else else
$g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | head -n$1 | tac | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/ if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then
fi if [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | tail -n$1 | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | tail -n$1 | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | tail -n$1 | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*:.*DST=' | tail -n$1 | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
fi
} }
search_log() # $1 = IP address to search for search_log() # $1 = IP address to search for
{ {
if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then if qt mywhich tac; then
if [ $g_family -eq 4 ]; then if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/ if [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else else
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/ $g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else else
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | tac | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/ if [ -n "$g_showmacs" -o $VERBOSITY -gt 2 ]; then
if [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | sed 's/ kernel://; s/\[.*\] //' | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | sed -r 's/ kernel://; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
elif [ $g_family -eq 4 ]; then
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | sed 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] '// | sed s/" $host $LOGFORMAT"/" "/
else
$g_logread | grep 'IN=.* OUT=.*SRC=.*\..*DST=' | grep "$1" | sed -r 's/ kernel://; s/MAC=.* SRC=/SRC=/; s/\[.*\] //; s/0000:/:/g; s/:::+/::/g; s/:0+/:/g' | sed s/" $host $LOGFORMAT"/" "/
fi
fi fi
} }
@@ -280,17 +342,7 @@ show_bl() {
logwatch() # $1 = timeout -- if negative, prompt each time that logwatch() # $1 = timeout -- if negative, prompt each time that
# an 'interesting' packet count changes # an 'interesting' packet count changes
{ {
if [ -z "$LOGFILE" ]; then setup_logread
LOGFILE=/var/log/messages
if [ -n "$(syslog_circular_buffer)" ]; then
g_logread="logread | tac"
elif [ -r $LOGFILE ]; then
g_logread="tac $LOGFILE"
else
fatal_error "LOGFILE ($LOGFILE) does not exist!"
fi
fi
host=$(echo $g_hostname | sed 's/\..*$//') host=$(echo $g_hostname | sed 's/\..*$//')
oldrejects=$($g_tool -L -v -n | grep 'LOG') oldrejects=$($g_tool -L -v -n | grep 'LOG')
@@ -388,16 +440,30 @@ do_save() {
status=0 status=0
if [ -f ${VARDIR}/firewall ]; then if [ -f ${VARDIR}/firewall ]; then
if $iptables_save | grep -v -- '-A dynamic.* -j ACCEPT' > ${VARDIR}/restore-$$; then if [ -n "$WORKAROUNDS" ]; then
cp -f ${VARDIR}/firewall $g_restorepath if $iptables_save | iptablesbug | grep -v -- '-A dynamic.* -j ACCEPT' > ${VARDIR}/restore-$$; then
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-iptables cp -f ${VARDIR}/firewall $g_restorepath
chmod +x $g_restorepath mv -f ${VARDIR}/restore-$$ ${g_restorepath}-iptables
echo " Currently-running Configuration Saved to $g_restorepath" chmod +x $g_restorepath
run_user_exit save echo " Currently-running Configuration Saved to $g_restorepath"
run_user_exit save
else
rm -f ${VARDIR}/restore-$$
echo " ERROR: Currently-running Configuration Not Saved" >&2
status=1
fi
else else
rm -f ${VARDIR}/restore-$$ if $iptables_save | grep -v -- '-A dynamic.* -j ACCEPT' > ${VARDIR}/restore-$$; then
echo " ERROR: Currently-running Configuration Not Saved" >&2 cp -f ${VARDIR}/firewall $g_restorepath
status=1 mv -f ${VARDIR}/restore-$$ ${g_restorepath}-iptables
chmod +x $g_restorepath
echo " Currently-running Configuration Saved to $g_restorepath"
run_user_exit save
else
rm -f ${VARDIR}/restore-$$
echo " ERROR: Currently-running Configuration Not Saved" >&2
status=1
fi
fi fi
else else
echo " ERROR: ${VARDIR}/firewall does not exist" >&2 echo " ERROR: ${VARDIR}/firewall does not exist" >&2
@@ -409,11 +475,24 @@ do_save() {
resolve_arptables resolve_arptables
if [ -n "$arptables" ]; then if [ -n "$arptables" ]; then
if ${arptables}-save > ${VARDIR}/restore-$$; then if [ -n "$WORKAROUNDS" ]; then
if grep -q '^-A' ${VARDIR}/restore-$$; then #
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-arptables # 'sed' command is a hack to work around broken arptables_jf
else #
rm -f ${VARDIR}/restore-$$ if ${arptables}-save | sed 's/-p[[:space:]]\+0\([[:digit:]]\)00\/ffff/-p 000\1\/ffff/' > ${VARDIR}/restore-$$; then
if grep -q '^-A' ${VARDIR}/restore-$$; then
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-arptables
else
rm -f ${VARDIR}/restore-$$
fi
fi
else
if ${arptables}-save > ${VARDIR}/restore-$$; then
if grep -q '^-A' ${VARDIR}/restore-$$; then
mv -f ${VARDIR}/restore-$$ ${g_restorepath}-arptables
else
rm -f ${VARDIR}/restore-$$
fi
fi fi
fi fi
else else
@@ -454,12 +533,28 @@ do_save() {
esac esac
if [ -n "$IPSET" ]; then if [ -n "$IPSET" ]; then
if eval $IPSET -S > ${VARDIR}/ipsets.tmp; then if [ -n "$WORKAROUNDS" ]; then
# if [ -f /etc/debian_version ] && [ $(cat /etc/debian_version) = 5.0.3 ]; then
# Don't save an 'empty' file #
# # The 'grep -v' is a hack for a bug in ipset's nethash implementation when xtables-addons is applied to Lenny
grep -qE -- '^(-N|create )' ${VARDIR}/ipsets.tmp && mv -f ${VARDIR}/ipsets.tmp ${g_restorepath}-ipsets #
hack='| grep -v /31'
else
hack=
fi
if eval $IPSET -S $hack > ${VARDIR}/ipsets.tmp; then
#
# Don't save an 'empty' file
#
grep -qE -- '^(-N|create )' ${VARDIR}/ipsets.tmp && mv -f ${VARDIR}/ipsets.tmp ${g_restorepath}-ipsets
fi
fi fi
elif eval $IPSET -S > ${VARDIR}/ipsets.tmp; then
#
# Don't save an 'empty' file
#
grep -qE -- '^(-N|create )' ${VARDIR}/ipsets.tmp && mv -f ${VARDIR}/ipsets.tmp ${g_restorepath}-ipsets
fi fi
;; ;;
[Nn]o|ipv4|ipv6) [Nn]o|ipv4|ipv6)
@@ -1038,17 +1133,7 @@ show_command() {
log) log)
[ $# -gt 2 ] && usage 1 [ $# -gt 2 ] && usage 1
if [ -z "$LOGFILE" ]; then setup_logread
LOGFILE=/var/log/messages
if [ -n "$(syslog_circular_buffer)" ]; then
g_logread="logread | tac"
elif [ -r $LOGFILE ]; then
g_logread="tac $LOGFILE"
else
fatal_error "LOGFILE ($LOGFILE) does not exist!"
fi
fi
echo "$g_product $SHOREWALL_VERSION Log ($LOGFILE) at $g_hostname - $(date)" echo "$g_product $SHOREWALL_VERSION Log ($LOGFILE) at $g_hostname - $(date)"
echo echo
@@ -1427,17 +1512,7 @@ do_dump_command() {
esac esac
done done
if [ -z "$LOGFILE" ]; then setup_logread
LOGFILE=/var/log/messages
if [ -n "$(syslog_circular_buffer)" ]; then
g_logread="logread | tac"
elif [ -r $LOGFILE ]; then
g_logread="tac $LOGFILE"
else
fatal_error "LOGFILE ($LOGFILE) does not exist! - See http://www.shorewall.net/shorewall_logging.html"
fi
fi
g_ipt_options="$g_ipt_options $g_ipt_options1" g_ipt_options="$g_ipt_options $g_ipt_options1"
@@ -1592,7 +1667,7 @@ do_dump_command() {
echo echo
ss -${g_family}tunap qt mywhich ss && ss -${g_family}tunap || { qt mywhich netstat && netatat -tunap; }
if [ -n "$TC_ENABLED" ]; then if [ -n "$TC_ENABLED" ]; then
heading "Traffic Control" heading "Traffic Control"
@@ -3520,15 +3595,7 @@ get_config() {
[ -n "$PATH" ] || PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin [ -n "$PATH" ] || PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
[ -z "$LOGFILE" ] && LOGFILE=/var/log/messages setup_logread
if ( ps ax 2> /dev/null | grep -v grep | qt grep 'syslogd.*-C' ) ; then
g_logread="logread | tac"
elif [ -r $LOGFILE ]; then
g_logread="tac $LOGFILE"
else
fatal_error "LOGFILE ($LOGFILE) does not exist!"
fi
# #
# See if we have a real version of "tail" -- use separate redirection so # See if we have a real version of "tail" -- use separate redirection so
# that ash (aka /bin/sh on LRP) doesn't crap # that ash (aka /bin/sh on LRP) doesn't crap
@@ -3590,7 +3657,13 @@ get_config() {
VERBOSITY=2 VERBOSITY=2
fi fi
g_hostname=$(hostname 2> /dev/null) if qt mywhich hostname; then
g_hostname=$(hostname 2> /dev/null)
elif qt mywhich uname; then
g_hostname=$(uname -n 2> /dev/null)
else
g_hostname=localhost
fi
if [ -n "$IPSET" ]; then if [ -n "$IPSET" ]; then
case "$IPSET" in case "$IPSET" in
@@ -3744,7 +3817,7 @@ start_command() {
} }
# #
# Reload/Restart Command Executor # Restart Command Executor
# #
restart_command() { restart_command() {
local finished local finished
@@ -3803,11 +3876,11 @@ restart_command() {
[ -n "$g_nolock" ] || mutex_on [ -n "$g_nolock" ] || mutex_on
if [ -x ${VARDIR}/firewall ]; then if [ -x ${VARDIR}/firewall ]; then
run_it ${VARDIR}/firewall $g_debugging $COMMAND run_it ${VARDIR}/firewall $g_debugging restart
rc=$? rc=$?
else else
error_message "${VARDIR}/firewall is missing or is not executable" error_message "${VARDIR}/firewall is missing or is not executable"
logger -p kern.err "ERROR:$g_product $COMMAND failed" logger -p kern.err "ERROR:$g_product restart failed"
rc=6 rc=6
fi fi
@@ -3969,6 +4042,7 @@ shorewall_cli() {
g_refreshchains=:none: g_refreshchains=:none:
g_confess= g_confess=
g_update= g_update=
g_convert=
g_annotate= g_annotate=
g_recovering= g_recovering=
g_timestamp= g_timestamp=
@@ -3977,10 +4051,14 @@ shorewall_cli() {
g_conditional= g_conditional=
g_file= g_file=
g_doing="Compiling" g_doing="Compiling"
g_directives=
g_inline= g_inline=
g_tcrules=
g_counters= g_counters=
g_loopback= g_loopback=
g_compiled= g_compiled=
g_routestopped=
g_notrack=
VERBOSE= VERBOSE=
VERBOSITY=1 VERBOSITY=1
@@ -4159,7 +4237,7 @@ shorewall_cli() {
run_it $g_firewall $g_debugging reset $@ run_it $g_firewall $g_debugging reset $@
[ -n "$g_nolock" ] || mutex_off [ -n "$g_nolock" ] || mutex_off
;; ;;
reload|restart) restart)
get_config Yes Yes get_config Yes Yes
shift shift
restart_command $@ restart_command $@

View File

@@ -1,7 +1,7 @@
# #
# Shorewall 5.0 -- /usr/share/shorewall/lib.common. # Shorewall 4.5 -- /usr/share/shorewall/lib.common.
# #
# (c) 2010-2015 - Tom Eastep (teastep@shorewall.net) # (c) 2010-2014 - Tom Eastep (teastep@shorewall.net)
# #
# Complete documentation is available at http://shorewall.net # Complete documentation is available at http://shorewall.net
# #
@@ -33,7 +33,7 @@ startup_error() # $* = Error Message
echo " ERROR: $@: Firewall state not changed" >&2 echo " ERROR: $@: Firewall state not changed" >&2
if [ $LOG_VERBOSITY -ge 0 ]; then if [ $LOG_VERBOSITY -ge 0 ]; then
timestamp="$(date +'%_b %d %T') " timestamp="$(date +'%b %d %T') "
echo "${timestamp} ERROR: $@" >> $STARTUP_LOG echo "${timestamp} ERROR: $@" >> $STARTUP_LOG
fi fi
@@ -50,7 +50,7 @@ startup_error() # $* = Error Message
esac esac
if [ $LOG_VERBOSITY -ge 0 ]; then if [ $LOG_VERBOSITY -ge 0 ]; then
timestamp="$(date +'%_b %d %T') " timestamp="$(date +'%b %d %T') "
case $COMMAND in case $COMMAND in
start) start)
@@ -71,35 +71,108 @@ startup_error() # $* = Error Message
} }
# #
# Create the required option string and run the passed script using # Get the Shorewall version of the passed script
#
get_script_version() { # $1 = script
local temp
local version
local ifs
local digits
local verbosity
if [ -z "$WORKAROUNDS" -o "$g_compiled" = "$g_file" ]; then
#
# Unless WORKAROUNDS=No, either this script was just compiled or AUTOMAKE
# determined that re-compilation wasn't needed
#
temp="$SHOREWALL_VERSION"
else
verbosity="$VERBOSITY"
VERBOSITY=0
temp=$( $SHOREWALL_SHELL $1 version | tail -n 1 )
fi
if [ -z "$temp" ]; then
version=0
else
temp=${temp%-*}
ifs=$IFS
IFS=.
temp=$(echo $temp)
IFS=$ifs
digits=0
for temp in $temp; do
version=${version}$(printf '%02d' $temp)
digits=$(($digits + 1))
[ $digits -eq 3 ] && break
done
fi
echo $version
VERBOSITY="$verbosity"
}
#
# Do required exports or create the required option string and run the passed script using
# $SHOREWALL_SHELL # $SHOREWALL_SHELL
# #
run_it() { run_it() {
local script local script
local options local options
local version
export VARDIR export VARDIR
script=$1 script=$1
shift shift
if [ x$1 = xtrace -o x$1 = xdebug ]; then version=$(get_script_version $script)
options="$1 -"
shift; if [ $version -lt 040408 ]; then
#
# Old script that doesn't understand 4.4.8 script options
#
export RESTOREFILE
export VERBOSITY
export NOROUTES=$g_noroutes
export PURGE=$g_purge
export TIMESTAMP=$g_timestamp
export RECOVERING=$g_recovering
case "$g_program" in
*-lite)
#
# Shorewall Lite
#
export LOGFORMAT
export IPTABLES
;;
esac
else else
options='-' #
# 4.4.8 or later -- no additional exports required
#
if [ x$1 = xtrace -o x$1 = xdebug ]; then
options="$1 -"
shift;
else
options='-'
fi
[ -n "$g_noroutes" ] && options=${options}n
[ -n "$g_timestamp" ] && options=${options}t
[ -n "$g_purge" ] && options=${options}p
[ -n "$g_recovering" ] && options=${options}r
[ -n "$g_counters" ] && options=${options}c
options="${options}V $VERBOSITY"
[ -n "$RESTOREFILE" ] && options="${options} -R $RESTOREFILE"
fi fi
[ -n "$g_noroutes" ] && options=${options}n
[ -n "$g_timestamp" ] && options=${options}t
[ -n "$g_purge" ] && options=${options}p
[ -n "$g_recovering" ] && options=${options}r
[ -n "$g_counters" ] && options=${options}c
options="${options}V $VERBOSITY"
[ -n "$RESTOREFILE" ] && options="${options} -R $RESTOREFILE"
$SHOREWALL_SHELL $script $options $@ $SHOREWALL_SHELL $script $options $@
} }
@@ -499,9 +572,9 @@ in_network() # $1 = IP address, $2 = CIDR network
# #
# Query NetFilter about the existence of a filter chain # Query NetFilter about the existence of a filter chain
# #
chain_exists() # $1 = chain name chain_exists() # $1 = chain name, $2 = table name (optional)
{ {
qt1 $g_tool -L $1 -n qt1 $g_tool -t ${2:-filter} -L $1 -n
} }
# #
@@ -709,12 +782,15 @@ mutex_on()
local lockf local lockf
lockf=${LOCKFILE:=${VARDIR}/lock} lockf=${LOCKFILE:=${VARDIR}/lock}
local lockpid local lockpid
local lockd
MUTEX_TIMEOUT=${MUTEX_TIMEOUT:-60} MUTEX_TIMEOUT=${MUTEX_TIMEOUT:-60}
if [ $MUTEX_TIMEOUT -gt 0 ]; then if [ $MUTEX_TIMEOUT -gt 0 ]; then
[ -d ${VARDIR} ] || mkdir -p ${VARDIR} lockd=$(dirname $LOCKFILE)
[ -d "$lockd" ] || mkdir -p "$lockd"
if [ -f $lockf ]; then if [ -f $lockf ]; then
lockpid=`cat ${lockf} 2> /dev/null` lockpid=`cat ${lockf} 2> /dev/null`
@@ -734,6 +810,11 @@ mutex_on()
chmod u+w ${lockf} chmod u+w ${lockf}
echo $$ > ${lockf} echo $$ > ${lockf}
chmod u-w ${lockf} chmod u-w ${lockf}
elif qt mywhich lock; then
lock -${MUTEX_TIMEOUT} -r1 ${lockf}
chmod u+w ${lockf}
echo $$ > ${lockf}
chmod u-w ${lockf}
else else
while [ -f ${lockf} -a ${try} -lt ${MUTEX_TIMEOUT} ] ; do while [ -f ${lockf} -a ${try} -lt ${MUTEX_TIMEOUT} ] ; do
sleep 1 sleep 1

View File

@@ -1,5 +1,5 @@
# #
# Apple OS X Shorewall 5.0 rc file # Apple OS X Shorewall 4.5 rc file
# #
BUILD=apple BUILD=apple
HOST=apple HOST=apple

View File

@@ -1,5 +1,5 @@
# #
# Arch Linux Shorewall 5.0 rc file # Arch Linux Shorewall 4.5 rc file
# #
BUILD= #Default is to detect the build system BUILD= #Default is to detect the build system
HOST=archlinux HOST=archlinux

View File

@@ -1,5 +1,5 @@
# #
# Cygwin Shorewall 5.0 rc file # Cygwin Shorewall 4.5 rc file
# #
BUILD=cygwin BUILD=cygwin
HOST=cygwin HOST=cygwin

View File

@@ -15,7 +15,7 @@ INITFILE= #Name of the product's installed SysV init script
INITSOURCE=init.debian.sh #Name of the distributed file to be installed as the SysV init script INITSOURCE=init.debian.sh #Name of the distributed file to be installed as the SysV init script
ANNOTATED= #If non-zero, annotated configuration files are installed ANNOTATED= #If non-zero, annotated configuration files are installed
SYSCONFFILE=default.debian #Name of the distributed file to be installed in $SYSCONFDIR SYSCONFFILE=default.debian #Name of the distributed file to be installed in $SYSCONFDIR
SERVICEFILE=$PRODUCT.service.debian #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service SERVICEFILE=$PRODUCT.service.debian #Name of the file to install in $SYSTEMD. Default is $PRODUCT.service
SYSCONFDIR=/etc/default #Directory where SysV init parameter files are installed SYSCONFDIR=/etc/default #Directory where SysV init parameter files are installed
SERVICEDIR=/lib/systemd/system #Directory where .service files are installed (systems running systemd only) SERVICEDIR=/lib/systemd/system #Directory where .service files are installed (systems running systemd only)
SPARSE=Yes #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR SPARSE=Yes #If non-empty, only install $PRODUCT/$PRODUCT.conf in $CONFDIR

View File

@@ -1,5 +1,5 @@
# #
# Default Shorewall 5.0 rc file # Default Shorewall 4.5 rc file
# #
HOST=linux #Generic Linux HOST=linux #Generic Linux
BUILD= #Default is to detect the build system BUILD= #Default is to detect the build system

View File

@@ -0,0 +1,26 @@
#
# Created by Shorewall Core version 5.0.2-RC1 configure - Fri, Nov 06, 2015 10:02:03 AM
#
# Input: host=openwrt
#
HOST=openwrt
PREFIX=/usr
SHAREDIR=${PREFIX}/share
LIBEXECDIR=${PREFIX}/share
PERLLIBDIR=${PREFIX}/share/shorewall
CONFDIR=/etc
SBINDIR=/sbin
MANDIR=${PREFIX}/man
INITDIR=/etc/init.d
INITSOURCE=init.openwrt.sh
INITFILE=$PRODUCT
AUXINITSOURCE=
AUXINITFILE=
SERVICEDIR=
SERVICEFILE=
SYSCONFFILE=default.openwrt
SYSCONFDIR=${CONFDIR}/sysconfig
SPARSE=
ANNOTATED=
VARLIB=/lib
VARDIR=${VARLIB}/$PRODUCT

View File

@@ -1,5 +1,5 @@
# #
# RedHat/FedoraShorewall 5.0 rc file # RedHat/FedoraShorewall 4.5 rc file
# #
BUILD= #Default is to detect the build system BUILD= #Default is to detect the build system
HOST=redhat HOST=redhat

View File

@@ -1,5 +1,5 @@
# #
# Slackware Shorewall 5.0 rc file # Slackware Shorewall 4.5 rc file
# #
BUILD=slackware BUILD=slackware
HOST=slackware HOST=slackware

View File

@@ -1,5 +1,5 @@
# #
# SuSE Shorewall 5.0 rc file # SuSE Shorewall 4.5 rc file
# #
BUILD= #Default is to detect the build system BUILD= #Default is to detect the build system
HOST=suse HOST=suse

View File

@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
# #
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V5.0 # The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.5
# #
# This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt] # This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
# #

View File

@@ -1,5 +1,5 @@
#! /bin/bash #! /bin/bash
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V5.0 # The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.5
# #
# (c) 2010,2012-2014 - Tom Eastep (teastep@shorewall.net) # (c) 2010,2012-2014 - Tom Eastep (teastep@shorewall.net)
# #

View File

@@ -1,5 +1,5 @@
#! /bin/bash #! /bin/bash
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V5.0 # The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.5
# #
# This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt] # This program is under GPL [http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt]
# #
@@ -38,7 +38,7 @@
# 0 - success # 0 - success
# 1 - generic or unspecified error # 1 - generic or unspecified error
# 2 - invalid or excess argument(s) # 2 - invalid or excess argument(s)
# 3 - unimplemented feature # 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege # 4 - insufficient privilege
# 5 - program is not installed # 5 - program is not installed
# 6 - program is not configured # 6 - program is not configured

View File

@@ -397,6 +397,7 @@ if [ $HOST = debian ]; then
[ $configure -eq 1 ] || mkdir -p ${DESTDIR}${CONFDIR}/default [ $configure -eq 1 ] || mkdir -p ${DESTDIR}${CONFDIR}/default
install_file sysconfig ${DESTDIR}${ETC}/default/shorewall-init 0644 install_file sysconfig ${DESTDIR}${ETC}/default/shorewall-init 0644
echo "sysconfig file installed in ${DESTDIR}${SYSCONFDIR}/${PRODUCT}"
fi fi
IFUPDOWN=ifupdown.debian.sh IFUPDOWN=ifupdown.debian.sh
@@ -490,7 +491,11 @@ esac
if [ -z "$DESTDIR" ]; then if [ -z "$DESTDIR" ]; then
if [ $configure -eq 1 -a -n "$first_install" ]; then if [ $configure -eq 1 -a -n "$first_install" ]; then
if [ $HOST = debian ]; then if [ $HOST = debian ]; then
if mywhich insserv; then if [ -n "$SERVICEDIR" ]; then
if systemctl enable ${PRODUCT}.service; then
echo "Shorewall Init will start automatically at boot"
fi
elif mywhich insserv; then
if insserv ${INITDIR}/shorewall-init; then if insserv ${INITDIR}/shorewall-init; then
echo "Shorewall Init will start automatically at boot" echo "Shorewall Init will start automatically at boot"
else else
@@ -554,7 +559,7 @@ fi
[ -z "${DESTDIR}" ] && [ ! -f ~/.shorewallrc ] && cp ${SHAREDIR}/shorewall/shorewallrc . [ -z "${DESTDIR}" ] && [ ! -f ~/.shorewallrc ] && cp ${SHAREDIR}/shorewall/shorewallrc .
if [ -f ${DESTDIR}/etc/ppp ]; then if [ -d ${DESTDIR}/etc/ppp ]; then
case $HOST in case $HOST in
debian|suse) debian|suse)
for directory in ip-up.d ip-down.d ipv6-up.d ipv6-down.d; do for directory in ip-up.d ip-down.d ipv6-up.d ipv6-down.d; do

View File

@@ -1,5 +1,5 @@
#!/bin/bash #!/bin/bash
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V5.0 # The Shoreline Firewall (Shorewall) Packet Filtering Firewall - V4.6
# #
# (c) 2012-2014 - Tom Eastep (teastep@shorewall.net) # (c) 2012-2014 - Tom Eastep (teastep@shorewall.net)
# #

View File

@@ -16,4 +16,4 @@ ExecStart=/sbin/shorewall-init start
ExecStop=/sbin/shorewall-init stop ExecStop=/sbin/shorewall-init stop
[Install] [Install]
WantedBy=network-pre.target WantedBy=basic.target

View File

@@ -2,6 +2,7 @@
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall # The Shoreline Firewall (Shorewall) Packet Filtering Firewall
# #
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com> # Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
# Copyright 2015 Tom Eastep <teastep@shorewall.net>
# #
[Unit] [Unit]
Description=Shorewall firewall (bootup security) Description=Shorewall firewall (bootup security)
@@ -15,3 +16,6 @@ EnvironmentFile=-/etc/default/shorewall-init
StandardOutput=syslog StandardOutput=syslog
ExecStart=/sbin/shorewall-init start ExecStart=/sbin/shorewall-init start
ExecStop=/sbin/shorewall-init stop ExecStop=/sbin/shorewall-init stop
[Install]
WantedBy=basic.target

View File

@@ -2,6 +2,7 @@
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall # The Shoreline Firewall (Shorewall) Packet Filtering Firewall
# #
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com> # Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
# Copyright 2015 Tom Eastep <teastep@shorewall.net>
# #
[Unit] [Unit]
Description=Shorewall firewall (bootup security) Description=Shorewall firewall (bootup security)

View File

@@ -174,9 +174,13 @@ if [ -f "$INITSCRIPT" ]; then
remove_file $INITSCRIPT remove_file $INITSCRIPT
fi fi
if [ -n "$SYSTEMD" ]; then if [ -z "${SERVICEDIR}" ]; then
SERVICEDIR="$SYSTEMD"
fi
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable shorewall-init.service [ $configure -eq 1 ] && systemctl disable shorewall-init.service
rm -f $SYSTEMD/shorewall-init.service rm -f $SERVICEDIR/shorewall-init.service
fi fi
[ "$(readlink -m -q ${SBINDIR}/ifup-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifup-local [ "$(readlink -m -q ${SBINDIR}/ifup-local)" = ${SHAREDIR}/shorewall-init ] && remove_file ${SBINDIR}/ifup-local
@@ -202,8 +206,10 @@ if [ -d ${CONFDIR}/ppp ]; then
done done
for file in if-up.local if-down.local; do for file in if-up.local if-down.local; do
if grep -qF Shorewall-based ${CONFDIR}/ppp/$FILE; then if [ -f ${CONFDIR}/ppp/$file ]; then
remove_file ${CONFDIR}/ppp/$FILE if grep -qF Shorewall-based ${CONFDIR}/ppp/$FILE; then
remove_file ${CONFDIR}/ppp/$FILE
fi
fi fi
done done
fi fi

View File

@@ -1,5 +1,5 @@
# #
# Shorewall Lite version 5 - Default Config Path # Shorewall Lite version 4.1 - Default Config Path
# #
# /usr/share/shorewall-lite/configpath # /usr/share/shorewall-lite/configpath
# #

View File

@@ -67,15 +67,6 @@ mywhich() {
return 2 return 2
} }
run_install()
{
if ! install $*; then
echo
echo "ERROR: Failed to install $*" >&2
exit 1
fi
}
cant_autostart() cant_autostart()
{ {
echo echo
@@ -89,7 +80,28 @@ delete_file() # $1 = file to delete
install_file() # $1 = source $2 = target $3 = mode install_file() # $1 = source $2 = target $3 = mode
{ {
run_install $T $OWNERSHIP -m $3 $1 ${2} if cp -f $1 $2; then
if chmod $3 $2; then
if [ -n "$OWNER" ]; then
if chown $OWNER:$GROUP $2; then
return
fi
else
return 0
fi
fi
fi
echo "ERROR: Failed to install $2" >&2
exit 1
}
make_directory() # $1 = directory , $2 = mode
{
mkdir -p $1
chmod 755 $1
[ -n "$OWNERSHIP" ] && chown $OWNERSHIP $1
} }
require() require()
@@ -187,7 +199,7 @@ elif [ -z "${VARDIR}" ]; then
VARDIR=${VARLIB}/${PRODUCT} VARDIR=${VARLIB}/${PRODUCT}
fi fi
for var in SHAREDIR LIBEXECDIRDIRDIR CONFDIR SBINDIR VARLIB VARDIR; do for var in SHAREDIR LIBEXECDIR CONFDIR SBINDIR VARLIB VARDIR; do
require $var require $var
done done
@@ -201,8 +213,6 @@ PATH=${SBINDIR}:/bin:/usr${SBINDIR}:/usr/bin:/usr/local/bin:/usr/local${SBINDIR}
# Determine where to install the firewall script # Determine where to install the firewall script
# #
cygwin= cygwin=
INSTALLD='-D'
T='-T'
if [ -z "$BUILD" ]; then if [ -z "$BUILD" ]; then
case $(uname) in case $(uname) in
@@ -245,6 +255,8 @@ if [ -z "$BUILD" ]; then
BUILD=slackware BUILD=slackware
elif [ -f ${CONFDIR}/arch-release ] ; then elif [ -f ${CONFDIR}/arch-release ] ; then
BUILD=archlinux BUILD=archlinux
elif [ -f ${CONFDIR}/openwrt_release ]; then
BUILD=openwrt
else else
BUILD=linux BUILD=linux
fi fi
@@ -260,16 +272,16 @@ case $BUILD in
apple) apple)
[ -z "$OWNER" ] && OWNER=root [ -z "$OWNER" ] && OWNER=root
[ -z "$GROUP" ] && GROUP=wheel [ -z "$GROUP" ] && GROUP=wheel
INSTALLD=
T=
;; ;;
*) *)
[ -z "$OWNER" ] && OWNER=root if [ $(id -u) -eq 0 ]; then
[ -z "$GROUP" ] && GROUP=root [ -z "$OWNER" ] && OWNER=root
[ -z "$GROUP" ] && GROUP=root
fi
;; ;;
esac esac
OWNERSHIP="-o $OWNER -g $GROUP" [ -n "$OWNER" ] && OWNERSHIP="$OWNER:$GROUP"
[ -n "$HOST" ] || HOST=$BUILD [ -n "$HOST" ] || HOST=$BUILD
@@ -300,6 +312,9 @@ case "$HOST" in
suse) suse)
echo "Installing Suse-specific configuration..." echo "Installing Suse-specific configuration..."
;; ;;
openwrt)
echo "Installing OpenWRT-specific configuration..."
;;
linux) linux)
;; ;;
*) *)
@@ -316,8 +331,9 @@ if [ -n "$DESTDIR" ]; then
OWNERSHIP="" OWNERSHIP=""
fi fi
install -d $OWNERSHIP -m 755 ${DESTDIR}/${SBINDIR} make_directory ${DESTDIR}${SBINDIR} 755
install -d $OWNERSHIP -m 755 ${DESTDIR}${INITDIR} make_directory ${DESTDIR}${INITDIR} 755
else else
if [ ! -f ${SHAREDIR}/shorewall/coreversion ]; then if [ ! -f ${SHAREDIR}/shorewall/coreversion ]; then
echo "$PRODUCT $VERSION requires Shorewall Core which does not appear to be installed" >&2 echo "$PRODUCT $VERSION requires Shorewall Core which does not appear to be installed" >&2
@@ -357,7 +373,7 @@ fi
delete_file ${DESTDIR}/usr/share/$PRODUCT/xmodules delete_file ${DESTDIR}/usr/share/$PRODUCT/xmodules
install_file $PRODUCT ${DESTDIR}${SBINDIR}/$PRODUCT 0544 install_file $PRODUCT ${DESTDIR}${SBINDIR}/$PRODUCT 0544
[ -n "${INITFILE}" ] && install -d $OWNERSHIP -m 755 ${DESTDIR}${INITDIR} [ -n "${INITFILE}" ] && make_directory ${DESTDIR}${INITDIR} 755
echo "$Product control program installed in ${DESTDIR}${SBINDIR}/$PRODUCT" echo "$Product control program installed in ${DESTDIR}${SBINDIR}/$PRODUCT"
@@ -399,7 +415,7 @@ fi
if [ -n "$SERVICEDIR" ]; then if [ -n "$SERVICEDIR" ]; then
mkdir -p ${DESTDIR}${SERVICEDIR} mkdir -p ${DESTDIR}${SERVICEDIR}
[ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service [ -z "$SERVICEFILE" ] && SERVICEFILE=$PRODUCT.service
run_install $OWNERSHIP -m 644 $SERVICEFILE ${DESTDIR}${SERVICEDIR}/$PRODUCT.service install_file $SERVICEFILE ${DESTDIR}${SERVICEDIR}/$PRODUCT.service 644
[ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SERVICEDIR}/$PRODUCT.service [ ${SBINDIR} != /sbin ] && eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${SERVICEDIR}/$PRODUCT.service
echo "Service file $SERVICEFILE installed as ${DESTDIR}${SERVICEDIR}/$PRODUCT.service" echo "Service file $SERVICEFILE installed as ${DESTDIR}${SERVICEDIR}/$PRODUCT.service"
fi fi
@@ -421,9 +437,9 @@ fi
# #
# Install the Makefile # Install the Makefile
# #
run_install $OWNERSHIP -m 0600 Makefile ${DESTDIR}${CONFDIR}/$PRODUCT install_file Makefile ${DESTDIR}${CONFDIR}/$PRODUCT/Makefile 0600
[ $SHAREDIR = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${CONFDIR}/$PRODUCT/Makefile [ $SHAREDIR = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${CONFDIR}/$PRODUCT/Makefile
[ $SBINDIR = /sbin ] || eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}/${CONFDIR}/$PRODUCT/Makefile [ $SBINDIR = /sbin ] || eval sed -i \'s\|/sbin/\|${SBINDIR}/\|\' ${DESTDIR}${CONFDIR}/$PRODUCT/Makefile
echo "Makefile installed as ${DESTDIR}${CONFDIR}/$PRODUCT/Makefile" echo "Makefile installed as ${DESTDIR}${CONFDIR}/$PRODUCT/Makefile"
# #
@@ -438,7 +454,7 @@ echo "Default config path file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/confi
for f in lib.* ; do for f in lib.* ; do
if [ -f $f ]; then if [ -f $f ]; then
install_file $f ${DESTDIR}${SHAREDIR}/$PRODUCT/$f 0644 install_file $f ${DESTDIR}${SHAREDIR}/$PRODUCT/$f 0644
echo "Library ${f#*.} file installed as ${DESTDIR}/${SHAREDIR}/$PRODUCT/$f" echo "Library ${f#*.} file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/$f"
fi fi
done done
@@ -451,7 +467,7 @@ echo "Common functions linked through ${DESTDIR}${SHAREDIR}/$PRODUCT/functions"
# #
install_file shorecap ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shorecap 0755 install_file shorecap ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shorecap 0755
[ $SHAREDIR = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${LIBEXECDIR}/$PRODUCT/shorecap [ $SHAREDIR = /usr/share ] || eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shorecap
echo echo
echo "Capability file builder installed in ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shorecap" echo "Capability file builder installed in ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shorecap"
@@ -461,17 +477,17 @@ echo "Capability file builder installed in ${DESTDIR}${LIBEXECDIR}/$PRODUCT/shor
# #
if [ -f modules ]; then if [ -f modules ]; then
run_install $OWNERSHIP -m 0600 modules ${DESTDIR}${SHAREDIR}/$PRODUCT install_file modules ${DESTDIR}${SHAREDIR}/$PRODUCT/modules 0600
echo "Modules file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/modules" echo "Modules file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/modules"
fi fi
if [ -f helpers ]; then if [ -f helpers ]; then
run_install $OWNERSHIP -m 0600 helpers ${DESTDIR}${SHAREDIR}/$PRODUCT install_file helpers ${DESTDIR}${SHAREDIR}/$PRODUCT/helpers 600
echo "Helper modules file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/helpers" echo "Helper modules file installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/helpers"
fi fi
for f in modules.*; do for f in modules.*; do
run_install $OWNERSHIP -m 0644 $f ${DESTDIR}${SHAREDIR}/$PRODUCT/$f install_file $f ${DESTDIR}${SHAREDIR}/$PRODUCT/$f 644
echo "Module file $f installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/$f" echo "Module file $f installed as ${DESTDIR}${SHAREDIR}/$PRODUCT/$f"
done done
@@ -482,17 +498,17 @@ done
if [ -d manpages ]; then if [ -d manpages ]; then
cd manpages cd manpages
[ -n "$INSTALLD" ] || mkdir -p ${DESTDIR}${MANDIR}/man5/ ${DESTDIR}${MANDIR}/man8/ mkdir -p ${DESTDIR}${MANDIR}/man5/ ${DESTDIR}${MANDIR}/man8/
for f in *.5; do for f in *.5; do
gzip -c $f > $f.gz gzip -c $f > $f.gz
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${MANDIR}/man5/$f.gz install_file $f.gz ${DESTDIR}${MANDIR}/man5/$f.gz 644
echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man5/$f.gz" echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man5/$f.gz"
done done
for f in *.8; do for f in *.8; do
gzip -c $f > $f.gz gzip -c $f > $f.gz
run_install $T $INSTALLD $OWNERSHIP -m 0644 $f.gz ${DESTDIR}${MANDIR}/man8/$f.gz install_file $f.gz ${DESTDIR}${MANDIR}/man8/$f.gz 644
echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man8/$f.gz" echo "Man page $f.gz installed to ${DESTDIR}${MANDIR}/man8/$f.gz"
done done
@@ -502,7 +518,7 @@ if [ -d manpages ]; then
fi fi
if [ -d ${DESTDIR}${CONFDIR}/logrotate.d ]; then if [ -d ${DESTDIR}${CONFDIR}/logrotate.d ]; then
run_install $OWNERSHIP -m 0644 logrotate ${DESTDIR}${CONFDIR}/logrotate.d/$PRODUCT install_file logrotate ${DESTDIR}${CONFDIR}/logrotate.d/$PRODUCT 644
echo "Logrotate file installed as ${DESTDIR}${CONFDIR}/logrotate.d/$PRODUCT" echo "Logrotate file installed as ${DESTDIR}${CONFDIR}/logrotate.d/$PRODUCT"
fi fi
@@ -533,13 +549,13 @@ if [ -n "$SYSCONFFILE" -a -f "$SYSCONFFILE" -a ! -f ${DESTDIR}${SYSCONFDIR}/${PR
chmod 755 ${DESTDIR}${SYSCONFDIR} chmod 755 ${DESTDIR}${SYSCONFDIR}
fi fi
run_install $OWNERSHIP -m 0644 ${SYSCONFFILE} ${DESTDIR}${SYSCONFDIR}/${PRODUCT} install_file ${SYSCONFFILE} ${DESTDIR}${SYSCONFDIR}/${PRODUCT} 0640
echo "$SYSCONFFILE installed in ${DESTDIR}${SYSCONFDIR}/${PRODUCT}" echo "$SYSCONFFILE installed in ${DESTDIR}${SYSCONFDIR}/${PRODUCT}"
fi fi
if [ ${SHAREDIR} != /usr/share ]; then if [ ${SHAREDIR} != /usr/share ]; then
eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SHAREDIR}/${PRODUCT}/lib.base eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${SHAREDIR}/${PRODUCT}/lib.base
eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}/${SBINDIR}/$PRODUCT eval sed -i \'s\|/usr/share/\|${SHAREDIR}/\|\' ${DESTDIR}${SBINDIR}/$PRODUCT
fi fi
if [ $configure -eq 1 -a -z "$DESTDIR" -a -n "$first_install" -a -z "${cygwin}${mac}" ]; then if [ $configure -eq 1 -a -z "$DESTDIR" -a -n "$first_install" -a -z "${cygwin}${mac}" ]; then
@@ -587,6 +603,13 @@ if [ $configure -eq 1 -a -z "$DESTDIR" -a -n "$first_install" -a -z "${cygwin}${
else else
cant_autostart cant_autostart
fi fi
elif [ $HOST = openwrt -a -f ${CONFDIR}/rc.common ]; then
/etc/init.d/$PRODUCT enable
if /etc/init.d/$PRODUCT enabled; then
echo "$PRODUCT will start automatically at boot"
else
cant_autostart
fi
elif [ "$INITFILE" != rc.${PRODUCT} ]; then #Slackware starts this automatically elif [ "$INITFILE" != rc.${PRODUCT} ]; then #Slackware starts this automatically
cant_autostart cant_autostart
fi fi

View File

@@ -329,21 +329,6 @@
<arg choice="plain"><replaceable>address</replaceable></arg> <arg choice="plain"><replaceable>address</replaceable></arg>
</cmdsynopsis> </cmdsynopsis>
<cmdsynopsis>
<command>shorewall-lite</command>
<arg
choice="opt"><option>trace</option>|<option>debug</option><arg><option>nolock</option></arg></arg>
<arg>-<replaceable>options</replaceable></arg>
<arg choice="plain"><option>reload</option></arg>
<arg><option>-n</option></arg>
<arg><option>-p</option><arg><option>-C</option></arg></arg>
</cmdsynopsis>
<cmdsynopsis> <cmdsynopsis>
<command>shorewall-lite</command> <command>shorewall-lite</command>
@@ -723,7 +708,6 @@
<para>If <option>-f</option> is given, the command will be processed <para>If <option>-f</option> is given, the command will be processed
by the compiled script that executed the last successful <emphasis by the compiled script that executed the last successful <emphasis
role="bold">start</emphasis>, <emphasis role="bold">start</emphasis>, <emphasis
role="bold">reload</emphasis>, <emphasis
role="bold">restart</emphasis> or <emphasis role="bold">restart</emphasis> or <emphasis
role="bold">refresh</emphasis> command if that script exists.</para> role="bold">refresh</emphasis> command if that script exists.</para>
</listitem> </listitem>
@@ -1042,32 +1026,6 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry>
<term><emphasis role="bold">reload </emphasis>[-n] [-p]
[-<option>C</option>]</term>
<listitem>
<para>Added in Shorewall 5.0.0, <emphasis
role="bold">reload</emphasis> is similar to <emphasis
role="bold">shorewall-lite start</emphasis> except that it assumes
that the firewall is already started. Existing connections are
maintained.</para>
<para>The <option>-n</option> option causes Shorewall-lite to avoid
updating the routing table(s).</para>
<para>The <option>-p</option> option causes the connection tracking
table to be flushed; the <command>conntrack</command> utility must
be installed to use this option.</para>
<para>The <option>-C</option> option was added in Shorewall 4.6.5.
If the specified (or implicit) firewall script is the one that
generated the current running configuration, then the running
netfilter configuration will be reloaded as is so as to preserve the
iptables packet and byte counters.</para>
</listitem>
</varlistentry>
<varlistentry> <varlistentry>
<term><emphasis role="bold">reset [<replaceable>chain</replaceable>, <term><emphasis role="bold">reset [<replaceable>chain</replaceable>,
...]</emphasis><acronym/></term> ...]</emphasis><acronym/></term>
@@ -1085,10 +1043,9 @@
[-<option>C</option>]</term> [-<option>C</option>]</term>
<listitem> <listitem>
<para>Beginning with Shorewall 5.0.0, this command performs a true <para>Restart is similar to <emphasis role="bold">shorewall-lite
restart. The firewall is completely stopped as if a start</emphasis> except that it assumes that the firewall is already
<command>stop</command> command had been issued then it is started started. Existing connections are maintained.</para>
again.</para>
<para>The <option>-n</option> option causes Shorewall-lite to avoid <para>The <option>-n</option> option causes Shorewall-lite to avoid
updating the routing table(s).</para> updating the routing table(s).</para>

View File

@@ -1,5 +1,5 @@
############################################################################### ###############################################################################
# /etc/shorewall-lite/shorewall-lite.conf Version 5 - Change the following # /etc/shorewall-lite/shorewall-lite.conf Version 4 - Change the following
# variables to override the values in the shorewall.conf file used to # variables to override the values in the shorewall.conf file used to
# compile /var/lib/shorewall-lite/firewall. Those values may be found in # compile /var/lib/shorewall-lite/firewall. Those values may be found in
# /var/lib/shorewall-lite/firewall.conf. # /var/lib/shorewall-lite/firewall.conf.

View File

@@ -2,6 +2,7 @@
# The Shoreline Firewall (Shorewall) Packet Filtering Firewall # The Shoreline Firewall (Shorewall) Packet Filtering Firewall
# #
# Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com> # Copyright 2011 Jonathan Underwood <jonathan.underwood@gmail.com>
# Copyright 2015 Tom Eastep <teastep@shorewall.net>
# #
[Unit] [Unit]
Description=Shorewall IPv4 firewall (lite) Description=Shorewall IPv4 firewall (lite)
@@ -16,7 +17,6 @@ EnvironmentFile=-/etc/default/shorewall-lite
StandardOutput=syslog StandardOutput=syslog
ExecStart=/sbin/shorewall-lite $OPTIONS start $STARTOPTIONS ExecStart=/sbin/shorewall-lite $OPTIONS start $STARTOPTIONS
ExecStop=/sbin/shorewall-lite $OPTIONS stop ExecStop=/sbin/shorewall-lite $OPTIONS stop
ExecReload=/sbin/shorewall-lite $OPTIONS reload $RELOADOPTIONS
[Install] [Install]
WantedBy=basic.target WantedBy=basic.target

View File

@@ -168,7 +168,15 @@ if [ $configure -eq 1 ]; then
fi fi
if [ -L ${SHAREDIR}/shorewall-lite/init ]; then if [ -L ${SHAREDIR}/shorewall-lite/init ]; then
FIREWALL=$(readlink -m -q ${SHAREDIR}/shorewall-lite/init) if [ $HOST = openwrt ]; then
if [ $configure -eq 1 ] && /etc/init.d/shorewall-lite enabled; then
/etc/init.d/shorewall-lite disable
fi
FIREWALL=$(readlink ${SHAREDIR}/shorewall-lite/init)
else
FIREWALL=$(readlink -m -q ${SHAREDIR}/shorewall-lite/init)
fi
elif [ -n "$INITFILE" ]; then elif [ -n "$INITFILE" ]; then
FIREWALL=${INITDIR}/${INITFILE} FIREWALL=${INITDIR}/${INITFILE}
fi fi
@@ -187,9 +195,11 @@ if [ -f "$FIREWALL" ]; then
remove_file $FIREWALL remove_file $FIREWALL
fi fi
if [ -n "$SYSTEMD" ]; then [ -z "$SERVICEDIR" ] && SERVICEDIR="$SYSTEMD"
if [ -n "$SERVICEDIR" ]; then
[ $configure -eq 1 ] && systemctl disable ${PRODUCT} [ $configure -eq 1 ] && systemctl disable ${PRODUCT}
rm -f $SYSTEMD/shorewall-lite.service rm -f $SERVICEDIR/shorewall-lite.service
fi fi
rm -f ${SBINDIR}/shorewall-lite rm -f ${SBINDIR}/shorewall-lite
@@ -199,6 +209,7 @@ rm -rf ${VARDIR}/shorewall-lite
rm -rf ${SHAREDIR}/shorewall-lite rm -rf ${SHAREDIR}/shorewall-lite
rm -rf ${LIBEXECDIR}/shorewall-lite rm -rf ${LIBEXECDIR}/shorewall-lite
rm -f ${CONFDIR}/logrotate.d/shorewall-lite rm -f ${CONFDIR}/logrotate.d/shorewall-lite
rm -f ${SYSCONFDIR}/shorewall-lite
rm -f ${MANDIR}/man5/shorewall-lite* rm -f ${MANDIR}/man5/shorewall-lite*
rm -f ${MANDIR}/man8/shorewall-lite* rm -f ${MANDIR}/man8/shorewall-lite*

View File

@@ -1,4 +1,4 @@
Shoreline Firewall (Shorewall) Version 5 Shoreline Firewall (Shorewall) Version 4
----- ---- ----- ----
----------------------------------------------------------------------------- -----------------------------------------------------------------------------

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - AMQP Macro # Shorewall version 4 - AMQP Macro
# #
# /usr/share/shorewall/macro.AMQP # /usr/share/shorewall/macro.AMQP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Audited AllowICMPs Macro # Shorewall version 4 - Audited AllowICMPs Macro
# #
# /usr/share/shorewall/macro.A_AllowICMPs # /usr/share/shorewall/macro.A_AllowICMPs
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Audited DropDNSrep Macro # Shorewall version 4 - Audited DropDNSrep Macro
# #
# /usr/share/shorewall/macro.A_DropDNSrep # /usr/share/shorewall/macro.A_DropDNSrep
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - ADropUPnP Macro # Shorewall version 4 - ADropUPnP Macro
# #
# /usr/share/shorewall/macro.A_DropUPnP # /usr/share/shorewall/macro.A_DropUPnP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Samba 4 Macro # Shorewall version 4 - Samba 4 Macro
# #
# /usr/share/shorewall/macro.ActiveDir # /usr/share/shorewall/macro.ActiveDir
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - AllowICMPs Macro # Shorewall version 4 - AllowICMPs Macro
# #
# /usr/share/shorewall/macro.AllowICMPs # /usr/share/shorewall/macro.AllowICMPs
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Amanda Macro # Shorewall version 4 - Amanda Macro
# #
# /usr/share/shorewall/macro.Amanda # /usr/share/shorewall/macro.Amanda
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Auth Macro # Shorewall version 4 - Auth Macro
# #
# /usr/share/shorewall/macro.Auth # /usr/share/shorewall/macro.Auth
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - BGP Macro # Shorewall version 4 - BGP Macro
# #
# /usr/share/shorewall/macro.BGP # /usr/share/shorewall/macro.BGP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - blacklist Macro # Shorewall version 4 - blacklist Macro
# #
# /usr/share/shorewall/macro.blacklist # /usr/share/shorewall/macro.blacklist
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - BitTorrent Macro # Shorewall version 4 - BitTorrent Macro
# #
# /usr/share/shorewall/macro.BitTorrent # /usr/share/shorewall/macro.BitTorrent
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - BitTorrent 3.2 Macro # Shorewall version 4 - BitTorrent 3.2 Macro
# #
# /usr/share/shorewall/macro.BitTorrent32 # /usr/share/shorewall/macro.BitTorrent32
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - CVS Macro # Shorewall version 4 - CVS Macro
# #
# /usr/share/shorewall/macro.CVS # /usr/share/shorewall/macro.CVS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Citrix/ICA Macro # Shorewall version 4 - Citrix/ICA Macro
# #
# /usr/share/shorewall/macro.Citrix # /usr/share/shorewall/macro.Citrix
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DAAP Macro # Shorewall version 4 - DAAP Macro
# #
# /usr/share/shorewall/macro.DAAP # /usr/share/shorewall/macro.DAAP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DCC Macro # Shorewall version 4 - DCC Macro
# #
# /usr/share/shorewall/macro.DCC # /usr/share/shorewall/macro.DCC
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DHCPfwd Macro # Shorewall version 4 - DHCPfwd Macro
# #
# /usr/share/shorewall/macro.DHCPfwd # /usr/share/shorewall/macro.DHCPfwd
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DNS Macro # Shorewall version 4 - DNS Macro
# #
# /usr/share/shorewall/macro.DNS # /usr/share/shorewall/macro.DNS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Distcc Macro # Shorewall version 4 - Distcc Macro
# #
# /usr/share/shorewall/macro.Distcc # /usr/share/shorewall/macro.Distcc
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Drop Macro # Shorewall version 4 - Drop Macro
# #
# /usr/share/shorewall/macro.Drop # /usr/share/shorewall/macro.Drop
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DropDNSrep Macro # Shorewall version 4 - DropDNSrep Macro
# #
# /usr/share/shorewall/macro.DropDNSrep # /usr/share/shorewall/macro.DropDNSrep
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - DropUPnP Macro # Shorewall version 4 - DropUPnP Macro
# #
# /usr/share/shorewall/macro.DropUPnP # /usr/share/shorewall/macro.DropUPnP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Edonkey Macro # Shorewall version 4 - Edonkey Macro
# #
# /usr/share/shorewall/macro.Edonkey # /usr/share/shorewall/macro.Edonkey
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - FTP Macro # Shorewall version 4 - FTP Macro
# #
# /usr/share/shorewall/macro.FTP # /usr/share/shorewall/macro.FTP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Finger Macro # Shorewall version 4 - Finger Macro
# #
# /usr/share/shorewall/macro.Finger # /usr/share/shorewall/macro.Finger
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - GNUnet Macro # Shorewall version 4 - GNUnet Macro
# #
# /usr/share/shorewall/macro.GNUnet # /usr/share/shorewall/macro.GNUnet
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - GRE Macro # Shorewall version 4 - GRE Macro
# #
# /usr/share/shorewall/macro.GRE # /usr/share/shorewall/macro.GRE
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Git Macro # Shorewall version 4 - Git Macro
# #
# /usr/share/shorewall/macro.Git # /usr/share/shorewall/macro.Git
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Gnutella Macro # Shorewall version 4 - Gnutella Macro
# #
# /usr/share/shorewall/macro.Gnutella # /usr/share/shorewall/macro.Gnutella
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Citrix/Goto Meeting macro # Shorewall version 4 - Citrix/Goto Meeting macro
# #
# /usr/share/shorewall/macro.Goto-Meeting # /usr/share/shorewall/macro.Goto-Meeting
# by Eric Teeter # by Eric Teeter

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - HKP Macro # Shorewall version 4 - HKP Macro
# #
# /usr/share/shorewall/macro.HKP # /usr/share/shorewall/macro.HKP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - HTTP Macro # Shorewall version 4 - HTTP Macro
# #
# /usr/share/shorewall/macro.HTTP # /usr/share/shorewall/macro.HTTP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - HTTPS Macro # Shorewall version 4 - HTTPS Macro
# #
# /usr/share/shorewall/macro.HTTPS # /usr/share/shorewall/macro.HTTPS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - ICPV2 Macro # Shorewall version 4 - ICPV2 Macro
# #
# /usr/share/shorewall/macro.ICPV2 # /usr/share/shorewall/macro.ICPV2
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - ICQ Macro # Shorewall version 4 - ICQ Macro
# #
# /usr/share/shorewall/macro.ICQ # /usr/share/shorewall/macro.ICQ
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - ILO Macro # Shorewall version 4 - ILO Macro
# #
# /usr/share/shorewall/macro.ILO # /usr/share/shorewall/macro.ILO
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IMAP Macro # Shorewall version 4 - IMAP Macro
# #
# /usr/share/shorewall/macro.IMAP # /usr/share/shorewall/macro.IMAP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IMAPS Macro # Shorewall version 4 - IMAPS Macro
# #
# /usr/share/shorewall/macro.IMAPS # /usr/share/shorewall/macro.IMAPS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPIP Macro # Shorewall version 4 - IPIP Macro
# #
# /usr/share/shorewall/macro.IPIP # /usr/share/shorewall/macro.IPIP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPMI Macro # Shorewall version 4 - IPMI Macro
# #
# /usr/share/shorewall/macro.IPMI # /usr/share/shorewall/macro.IPMI
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPP Broadcast Macro # Shorewall version 4 - IPP Broadcast Macro
# #
# /usr/share/shorewall/macro.IPPbrd # /usr/share/shorewall/macro.IPPbrd
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPPserver Macro # Shorewall version 4 - IPPserver Macro
# #
# /usr/share/shorewall/macro.IPPserver # /usr/share/shorewall/macro.IPPserver
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPsec Macro # Shorewall version 4 - IPsec Macro
# #
# /usr/share/shorewall/macro.IPsec # /usr/share/shorewall/macro.IPsec
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPsecah Macro # Shorewall version 4 - IPsecah Macro
# #
# /usr/share/shorewall/macro.IPsecah # /usr/share/shorewall/macro.IPsecah
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - IPsecnat Macro # Shorewall version 4 - IPsecnat Macro
# #
# /usr/share/shorewall/macro.IPsecnat # /usr/share/shorewall/macro.IPsecnat
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 IRC Macro # Shorewall version 4 IRC Macro
# #
# /usr/share/shorewall/macro.IRC # /usr/share/shorewall/macro.IRC
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - JAP Macro # Shorewall version 4 - JAP Macro
# #
# /usr/share/shorewall/macro.JAP # /usr/share/shorewall/macro.JAP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Jabber Macro # Shorewall version 4 - Jabber Macro
# #
# /usr/share/shorewall/macro.Jabber # /usr/share/shorewall/macro.Jabber
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - JabberPlain Macro # Shorewall version 4 - JabberPlain Macro
# #
# /usr/share/shorewall/macro.JabberPlain # /usr/share/shorewall/macro.JabberPlain
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - JabberSecure (SSL) Macro # Shorewall version 4 - JabberSecure (SSL) Macro
# #
# /usr/share/shorewall/macro.JabberSecure # /usr/share/shorewall/macro.JabberSecure
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Kerberos Macro # Shorewall version 4 - Kerberos Macro
# #
# /usr/share/shorewall/macro.Kerberos # /usr/share/shorewall/macro.Kerberos
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - L2TP Macro # Shorewall version 4 - L2TP Macro
# #
# /usr/share/shorewall/macro.L2TP # /usr/share/shorewall/macro.L2TP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - LDAP Macro # Shorewall version 4 - LDAP Macro
# #
# /usr/share/shorewall/macro.LDAP # /usr/share/shorewall/macro.LDAP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - LDAPS Macro # Shorewall version 4 - LDAPS Macro
# #
# /usr/share/shorewall/macro.LDAPS # /usr/share/shorewall/macro.LDAPS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - MSNP Macro # Shorewall version 4 - MSNP Macro
# #
# /usr/share/shorewall/macro.MSNP # /usr/share/shorewall/macro.MSNP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - MSSQL Macro # Shorewall version 4 - MSSQL Macro
# #
# /usr/share/shorewall/macro.MSSQL # /usr/share/shorewall/macro.MSSQL
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Mail Macro # Shorewall version 4 - Mail Macro
# #
# /usr/share/shorewall/macro.Mail # /usr/share/shorewall/macro.Mail
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - MongoDB Macro # Shorewall version 4 - MongoDB Macro
# #
# /usr/share/shorewall/macro.MongoDB # /usr/share/shorewall/macro.MongoDB
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - Munin Macro # Shorewall version 4 - Munin Macro
# #
# /usr/share/shorewall/macro.Munin # /usr/share/shorewall/macro.Munin
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - MySQL Macro # Shorewall version 4 - MySQL Macro
# #
# /usr/share/shorewall/macro.MySQL # /usr/share/shorewall/macro.MySQL
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 NNTP Macro # Shorewall version 4 NNTP Macro
# #
# /usr/share/shorewall/macro.NNTP # /usr/share/shorewall/macro.NNTP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 NNTPS Macro # Shorewall version 4 NNTPS Macro
# #
# /usr/share/shorewall/macro.NNTPS # /usr/share/shorewall/macro.NNTPS
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - NTP Macro # Shorewall version 4 - NTP Macro
# #
# /usr/share/shorewall/macro.NTP # /usr/share/shorewall/macro.NTP
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - NTPbi Macro # Shorewall version 4 - NTPbi Macro
# #
# /usr/share/shorewall/macro.NTPbi # /usr/share/shorewall/macro.NTPbi
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - NTPbrd Macro # Shorewall version 4 - NTPbrd Macro
# #
# /usr/share/shorewall/macro.NTPbrd # /usr/share/shorewall/macro.NTPbrd
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - OSPF Macro # Shorewall version 4 - OSPF Macro
# #
# /usr/share/shorewall/macro.OSPF # /usr/share/shorewall/macro.OSPF
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - OpenVPN Macro # Shorewall version 4 - OpenVPN Macro
# #
# /usr/share/shorewall/macro.OpenVPN Macro # /usr/share/shorewall/macro.OpenVPN Macro
# #

View File

@@ -1,5 +1,5 @@
# #
# Shorewall version 5 - PCA Macro # Shorewall version 4 - PCA Macro
# #
# /usr/share/shorewall/macro.PCA # /usr/share/shorewall/macro.PCA
# #

Some files were not shown because too many files have changed in this diff Show More