Package: shorewall
Version: 3.2.6-2
Severity: wishlist

Simply put, it would be nice if given a directory, the INCLUDE directive
would process all the files therein, which this patch does.

--- functions.orig	2006-11-18 17:40:07.000000000 +0000
+++ functions	2007-07-12 11:43:27.942659031 +0100
@@ -1856,7 +1856,17 @@
 	while read first rest; do
 	    if [ "x$first"  = "xINCLUDE" ]; then
 		if [ $2 -lt 4 ]; then
-		    read_file $(find_file $(expand ${rest%#*})) $(($2 + 1))
+		    file=$(find_file $(expand ${rest%#*}))
+		    if [ -d "$file" ]; then
+			for each in "$file"/*;
+			do
+			  if [ -e "$each" ]; then  # Allow empty directories
+			      read_file "$each" $2 # Don't increment counter
+			  fi
+			done
+		    else
+			read_file $(find_file $(expand ${rest%#*})) $(($2 + 1))
+		    fi
 		else
 		    error_message "WARNING: INCLUDE in $1 ignored (nested too deeply)"
 		fi
Matthew

-- 
I must take issue with the term "a mere child", for it has been my
invariable experience that the company of a mere child is infinitely
preferable to that of a mere adult.
                                           --  Fran Lebowitz

Reply via email to