|  | # Hack in support for an "exclude" config option for the init module, so | 
|  | # we can hide certain system services that shouldn't really be configurable | 
|  | # via the web interface | 
|  | # | 
|  | # Upstream-status: Pending | 
|  | # | 
|  | # Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | 
|  | # Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | 
|  | --- | 
|  | init/index.cgi   | 27 ++++++++++++++------------- | 
|  | init/init-lib.pl |  5 +++-- | 
|  | 2 files changed, 17 insertions(+), 15 deletions(-) | 
|  |  | 
|  | Index: webmin-1.850/init/index.cgi | 
|  | =================================================================== | 
|  | --- webmin-1.850.orig/init/index.cgi | 
|  | +++ webmin-1.850/init/index.cgi | 
|  | @@ -45,19 +45,20 @@ elsif ($init_mode eq "init" && $access{' | 
|  | : "$config{'init_dir'}/$ac[0]"); | 
|  | } | 
|  | @runlevels = &list_runlevels(); | 
|  | -	foreach $r (@runlevels) { | 
|  | -		foreach $w ("S", "K") { | 
|  | -			foreach $a (&runlevel_actions($r, $w)) { | 
|  | -				@ac = split(/\s+/, $a); | 
|  | -				if (!$nodemap{$ac[2]}) { | 
|  | -					push(@acts, $ac[1]); | 
|  | -					push(@actsl, | 
|  | -					     "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); | 
|  | -					push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); | 
|  | -					} | 
|  | -				} | 
|  | -			} | 
|  | -		} | 
|  | +	# Assume there won't be any of these broken actions | 
|  | +	#foreach $r (@runlevels) { | 
|  | +	#	foreach $w ("S", "K") { | 
|  | +	#		foreach $a (&runlevel_actions($r, $w)) { | 
|  | +	#			@ac = split(/\s+/, $a); | 
|  | +	#			if (!$nodemap{$ac[2]}) { | 
|  | +	#				push(@acts, $ac[1]); | 
|  | +	#				push(@actsl, | 
|  | +	#				     "1+$r+$ac[0]+$ac[1]+$ac[2]+$w"); | 
|  | +	#				push(@actsf, "$config{'init_base'}/rc$r.d/$w$ac[0]$ac[1]"); | 
|  | +	#				} | 
|  | +	#			} | 
|  | +	#		} | 
|  | +	#	} | 
|  |  | 
|  | # For each action, look at /etc/rc*.d/* files to see if it is | 
|  | # started at boot | 
|  | Index: webmin-1.850/init/init-lib.pl | 
|  | =================================================================== | 
|  | --- webmin-1.850.orig/init/init-lib.pl | 
|  | +++ webmin-1.850/init/init-lib.pl | 
|  | @@ -124,8 +124,9 @@ List boot time action names from init.d, | 
|  | =cut | 
|  | sub list_actions | 
|  | { | 
|  | -local($dir, $f, @stbuf, @rv); | 
|  | +local($dir, $f, @stbuf, @rv, @exclude); | 
|  | $dir = $config{init_dir}; | 
|  | +@exclude = split(/,/, $config{exclude}); | 
|  | opendir(DIR, $dir); | 
|  | foreach $f (sort { lc($a) cmp lc($b) } readdir(DIR)) { | 
|  | if ($f eq "." || $f eq ".." || $f =~ /\.bak$/ || $f eq "functions" || | 
|  | @@ -133,7 +134,7 @@ foreach $f (sort { lc($a) cmp lc($b) } r | 
|  | -d "$dir/$f" || $f =~ /\.swp$/ || $f eq "skeleton" || | 
|  | $f =~ /\.lock$/ || $f =~ /\.dpkg-(old|dist)$/ || | 
|  | $f =~ /^\.depend\./ || $f eq '.legacy-bootordering' || | 
|  | -	    $f =~ /^mandrake/) { next; } | 
|  | +	    $f =~ /^mandrake/ || grep {$_ eq $f} @exclude ) { next; } | 
|  | if (@stbuf = stat("$dir/$f")) { | 
|  | push(@rv, "$f $stbuf[1]"); | 
|  | } |