View | Details | Raw Unified | Return to bug 232764
Collapse All | Expand All

(-)b/share/examples/ipfw/change_rules.sh (-12 / +20 lines)
Lines 67-73 TMPFILE=`mktemp -t ${tempfoo}` || exit 1 Link Here
67
get_yes_no() {
67
get_yes_no() {
68
	while true
68
	while true
69
	do
69
	do
70
		echo -n "$1 (Y/N) ? " 
70
		echo -n "$1 (Y/N) ? "
71
		read -t 30 a
71
		read -t 30 a
72
		if [ $? != 0 ]; then
72
		if [ $? != 0 ]; then
73
			a="No";
73
			a="No";
Lines 94-100 case "${firewall_type}" in Link Here
94
[Cc][Ll][Oo][Ss][Ee][Dd]|\
94
[Cc][Ll][Oo][Ss][Ee][Dd]|\
95
[Oo][Pp][Ee][Nn]|\
95
[Oo][Pp][Ee][Nn]|\
96
[Ss][Ii][Mm][Pp][Ll][Ee]|\
96
[Ss][Ii][Mm][Pp][Ll][Ee]|\
97
[Uu][Nn][Kk][Nn][Oo][Ww][Nn])
97
[Uu][Nn][Kk][Nn][Oo][Ww][Nn]|\
98
[Ww][Oo][Rr][Kk][Ss][Tt][Aa][Tt][Ii][Oo][Nn])
98
	edit_file="${firewall_script}"
99
	edit_file="${firewall_script}"
99
	rules_edit=no
100
	rules_edit=no
100
	;;
101
	;;
Lines 109-115 esac Link Here
109
if [ -f ${edit_file}.new ]; then
110
if [ -f ${edit_file}.new ]; then
110
	get_yes_no "A new rules file already exists, do you want to use it"
111
	get_yes_no "A new rules file already exists, do you want to use it"
111
	[ $a = 'No' ] && cp ${edit_file} ${edit_file}.new
112
	[ $a = 'No' ] && cp ${edit_file} ${edit_file}.new
112
else 
113
else
113
	cp ${edit_file} ${edit_file}.new
114
	cp ${edit_file} ${edit_file}.new
114
fi
115
fi
115
116
Lines 142-155 get_yes_no "Would you like to see the resulting new rules" Link Here
142
get_yes_no "Type y to keep the new rules"
143
get_yes_no "Type y to keep the new rules"
143
[ $a != 'Yes' ] && restore_rules
144
[ $a != 'Yes' ] && restore_rules
144
145
145
DATE=`date "+%Y%m%d%H%M"`
146
if diff -qF "^# .*[A-Za-z]" -u ${edit_file} ${edit_file}.new > /dev/null; then
146
cp ${edit_file} ${edit_file}.$DATE
147
	cat <<-!
147
mv ${edit_file}.new ${edit_file} 
148
		The new rules are now installed. No difference to previous rules.
148
cat <<!
149
	!
149
The new rules are now installed. The previous rules have been preserved in
150
else
150
the file ${edit_file}.$DATE
151
	DATE=`date "+%Y%m%d%H%M"`
151
!
152
	cp ${edit_file} ${edit_file}.$DATE
152
diff -F "^# .*[A-Za-z]" -u ${edit_file}.$DATE ${edit_file} \
153
	mv ${edit_file}.new ${edit_file}
153
    | mail -s "`hostname` Firewall rule change" root
154
	cat <<-!
155
		The new rules are now installed. The previous rules have been preserved in
156
		the file ${edit_file}.$DATE
157
	!
158
	diff -F "^# .*[A-Za-z]" -u ${edit_file}.$DATE ${edit_file} \
159
		| mail -s "`hostname` Firewall rule change" root
160
fi
161
154
rm ${TMPFILE}
162
rm ${TMPFILE}
155
exit 0
163
exit 0

Return to bug 232764