| # 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]"); |
| } |