X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvprocunhide;fp=scripts%2Fvprocunhide;h=31c17f712f9cf2efbff8a0091b4fc6fbc9bc790e;hb=9c78378bebc1a9f3d400f422df8ede9efea57dea;hp=0000000000000000000000000000000000000000;hpb=faa778968d1a7dfeaebc9fe4b847e691dc62fd15;p=util-vserver.git diff --git a/scripts/vprocunhide b/scripts/vprocunhide new file mode 100755 index 0000000..31c17f7 --- /dev/null +++ b/scripts/vprocunhide @@ -0,0 +1,95 @@ +#!/bin/bash +# $Id$ +# +# Copyright (C) 2004 Enrico Scholz +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; version 2 of the License. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} +test -e "$UTIL_VSERVER_VARS" || { + echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 + exit 1 +} +. "$UTIL_VSERVER_VARS" +. "$_LIB_FUNCTIONS" + +function showHelp() +{ + echo $\ +"Usage: vprocunhide + +Return values: + 0 ... no errors + 1 ... configuration error + 2 ... some files were changed but errors occured on other ones + 3 ... operation failed on every file + +Report bugs to <$PACKAGE_BUGREPORT>." + exit 0 +} + +function showVersion() +{ + echo \ +$"vprocunhide $PACKAGE_VERSION -- unhides /proc entries +This program is part of $PACKAGE_STRING + +Copyright (C) 2004 Enrico Scholz +This program is free software; you may redistribute it under the terms of +the GNU General Public License. This program has absolutely no warranty." + exit 0 +} + + +while test -n "$1"; do + case "$1" in + --help) showHelp;; + --version) showVersion;; + esac +done + +findFile UNHIDEFILE \ + "$__CONFDIR"/.defaults/apps/vprocunhide/files \ + "$__PKGLIBDEFAULTDIR"/vprocunhide-files + +ok=1 +passed= +while read filename; do + params=() + + case "$filename" in + (\#*) continue;; + (\~*) params=( --admin --watch --hide ); filename=${filename#\~};; + (-*) params=( --admin --hide ); filename=${filename#-};; + (:*) params=( --watch --hide ); filename=${filename#:};; + (!*) params=( --hide ); filename=${filename#!};; + (+*) params=( --!hide ); filename=${filename#+};; + (*) params=( --!hide );; + esac + + case "$filename" in + (*/) params=( "${params[@]}" -R );; + (*) ;; + esac + + set -- $filename + test -e "$1" || continue + + $_SETATTR -x "${params[@]}" "$@" && passed=1 || ok= +done <"$UNHIDEFILE" + +test -n "$ok" && exit 0 || \ +test -n "$passed" && exit 2 || \ +exit 3