[ Avaa Bypassed ]




Upload:

Command:

www-data@18.190.217.76: ~ $
#!/usr/bin/env bash
#############################################################################
# Update webmin/usermin to the latest develop version  from GitHub repo
# inspired by authentic-theme/theme-update.sh script, thanks @iliajie
#
VERS="1.6.9, 2020-06-18"
#
COPY=" Kay Marquardt <kay@rrr.de>         https://github.com/gnadelwartz"
#############################################################################
IAM=`basename $0`

# don't ask -y given
ASK="YES"
if [[ "$1" == "-y" || "$1" == "-yes"  || "$1" == "-f" || "$1" == "-force" ]] ; then
        ASK="NO"
        shift
fi

if [[ "$1" == "-nc" ]] ; then
    NCOLOR="YES"
    shift
fi

# predefined colors for echo -e on terminal
if [[ -t 1 && "${NCOLOR}" != "YES" ]] ;  then
    RED='\e[49;0;31;82m'
    BLUE='\e[49;1;34;182m'
    GREEN='\e[49;32;5;82m'
    ORANGE='\e[49;0;33;82m'
    PURPLE='\e[49;1;35;82m'
    LGREY='\e[49;1;37;182m'
    GREY='\e[1;30m'
    CYAN='\e[36m'
    NC='\e[0m'
fi

# Get webmin/usermin dir based on script's location
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
PROD="webmin" # default

if [[ -r "${DIR}/uconfig.cgi" ]] ; then
  if [[ -d "${DIR}/webmin" ]] ; then
    echo -e "${RED}Error: found Usermin but also Webmin files. aborting ...${NC}"
    exit 1
  fi
  PROD="usermin"
else
  if [[ -d "${DIR}/language" ]] ; then
    echo -e "${RED}Error: found Webmin but also Usermin files. aborting ...${NC}"
    exit 1
  fi
  PROD="webmin"
fi
echo -e "${ORANGE}${PROD^} detected ...${NC}"

# where to get source
HOST="https://github.com"
REPO="webmin/$PROD"
GIT="git"
CURL="curl"
BRANCH=""

# temporary locations for git clone
WTEMP="${DIR}/.~files/webadmin"
UTEMP="${DIR}/.~files/useradmin"
TEMP=$WTEMP
[[ "$PROD" == "usermin" ]] && TEMP=$UTEMP
LTEMP="${DIR}/.~lang"


# help requested output usage
if [[ "$1" == "-h" || "$1" == "--help" ]] ; then
    if [[ "$1" != "--help" ]] ; then
        echo -e "${NC}${ORANGE}This is the webmin develop update script, ${VERS}${NC}"
        echo "Usage:  ${IAM} [-force] [-repo:username/xxxmin] [-branch:xxx] [-release[:number]] [-file file|dir/ ...]"
    else
        cat <<EOF | more

${IAM}                                           ${VERS}

Name:
    update-from-repo.sh - webmin script to pull new versions or files from repo

Usage:
    ${IAM}
        [-force] [-repo:username/xxxmin] [-branch:xxx] [-release[:number]]
        [-file file|dir/ ...]
        [-h|--help]

Parameters:
    -force (-yes)
        unattended install, do not ask
    -nc or STDOUT is a pipe (|)
        do not output colors
    -repo
        pull from alternative github repo, format: -repo:username/reponame
        reponame must be "webmin" or "usermin"
        default github repo: webmin/webmin
    -branch
        pull given branch from repository
    -release
        pull a released version, default: -release:latest
    -file
        pull only the given file(s) or dir(s)/ from repo
        dir has to be specified with trailing '/'
        file or dir/ must not start with a slash and
        must not contain '../'
    -h
        short usage line
    --help
        display this help page

Examples:
    ${IAM}
        update everthing from default webmin repository

    ${IAM} -force   OR   ${IAM} -yes
        same but without asking,

    ${IAM} -force -repo:webmin/webmin
        update from webmin's repository without asking

    ${IAM} -file module/module.info
        pull module.info for given module

    ${IAM} -file cpan/
        pull everything in dir cpan

    ${IAM} -file cpan/*
        pull only already existing files in cpan

    ${IAM} -file module/lang/
        pull all files in lang/ dir of a module

    ${IAM} -fore -repo:webmin/webmin -file */lang/
        pull lang files for all existing */lang/ dirs from webmin
        repository without asking

Exit codes:
    0 - success
    1 - abort on error or user request, nothing changed
    2 - not run as root
    3 - git not found
    4 - stage 1: git clone failed
    5 - stage 2: makedist failed
    6 - stage 3: update with setup.sh failed, installation may in bad state!

Author:
    ${COPY}

EOF
    fi
    exit 0
fi

# check for required webmin / usermin files in current dir
if [[ ! -r "${DIR}/setup.sh" || ! -r "${DIR}/miniserv.pl" || ! -d "${DIR}/authentic-theme" ]] ; then
    echo -e "${NC}${RED}Error: the current dir does not contain a valid webmin or usermin installation, aborting ...${NC}"
    exit 1
fi


# need to be root
if [[ $EUID -ne 0 ]]; then
    echo -e "${RED}Error: This command has to be run under the root user. aborting ...${NC}"
    exit 2
fi

# search for config location
echo -en "${CYAN}Search for ${RPOD^} configuration ... ${NC}"
for conf in /etc/${PROD} /var/packages/${PROD}/target/etc
do
    if [[ -r "${conf}/miniserv.conf" ]] ; then
        MINICONF="${conf}/miniserv.conf"
        echo  -e "${ORANGE}found: ${MINICONF}${NC}"
        break
    fi
done

# check for other locations if not in default
if [[ "${MINICONF}" == "" ]] ; then
    MINICONF=`find /* -maxdepth 6 -regex ".*/${PROD}.*/miniserv\.conf" 2>/dev/null | grep ${PROD} | head -n 1`
    echo  -e "${ORANGE}found: ${MINICONF}${NC} (alternative location)"
fi

# check if miniserv.conf found
if [[ "${MINICONF}" != "" ]] ; then
    # add PATH from config to system PATH
    export PATH="${PATH}:`grep path= ${MINICONF} | sed 's/^path=//'`"
    ETC="`grep env_WEBMIN_CONFIG= ${MINICONF} | sed 's/^env_WEBMIN_CONFIG=//'`"
	echo  -e "${ORANGE}Config path for ${PROD^} is: ${NC} ${ETC}"
	echo  -e "${ORANGE}Install path for ${PROD^} is:${NC} ${DIR}\n"
else
    echo -e "${RED}Error: found no miniserv configuration. aborting ...${NC}"
    exit 1
fi

# check if PROD is in ETC and DIR
if [[ "${ETC}" != *"${RPOD}"* || "${DIR}" != *"${RPOD}"* ]] ; then
    echo -e "${RED}Warning:${ORANGE} Config or Install path does not contain \"${PROD}\"!${NC} consider to ${ORANGE}NOT${NC} update!\n"
    WARNINGS="yes"
fi

# check if git is availible
if type ${GIT} >/dev/null 2>&1 ; then
    true
else
    echo -e "${RED}Error: Command \`git\` is not installed or not in the \`PATH\`. aborting ...${NC}"
    exit 3
fi

# check if curl is availible
if type ${CURL} >/dev/null 2>&1 ; then
    true
else
    # flag as not availible, not needed without -repo or -release:latest
    CURL=""
fi


################
# lets start

# alternative repo given
if [[ "$1" == "-repo"* ]]; then
        if [[ "$1" == *":"* ]] ; then
          REPO=${1##*:}
          if [[ "${REPO##*/}" != "webmin" && "${REPO##*/}" != "usermin" ]] ; then
			  echo -e "${RED}Error: \"${REPO}\" is not a valid repository name! aborting ...${NC}"
			  exit 1
		  fi
          if [[ "${REPO##*/}" != "${PROD}" ]] ; then
			  echo -e "${RED}Error: \"${REPO}\" is not a valid ${PROD^} repository name! aborting ...${NC}"
			  exit 1
		  fi
          shift
        else
          echo -e "${RED}Error: Missing argument for parameter \"-repo\". aborting ...${NC}"
          exit 1
        fi
fi

# alternative branch given
if [[ "$1" == *"-branch"* ]]; then
        if [[ "$1" == *":"* ]] ; then
          BRANCH=" --branch ${1##*:}"
          shift
        else
          echo -e "${ORANGE}./`basename $0`:${NC} Missing argument for parameter -branch aborting ..."
          exit 1
        fi
fi

# warn about possible side effects because webmins makedist.pl try cd to /usr/local/webmin (and more)
[[ -d "/usr/local/webadmin" ]] && echo -e "${RED}Warning:${ORANGE} Develop dir /usr/local/webadmin exist, update may fail!${NC}"

################
# really update?
REPLY="y"

if [ "${ASK}" == "YES" ] ; then
    if [[ "$1" != "-release"* ]] ; then
        echo -e "${RED}Warning:${ORANGE} you are updating from DEV repository${NC} ${HOST}/${REPO}${BRANCH} ${ORANGE}, this may break your installation!${NC}"
    fi
    read -p "Would you like to update "${PROD^}" from ${HOST}/${REPO}${BRANCH} [y/N] " -n 1 -r
    echo
fi

if [[ ! $REPLY =~ ^[Yy]$ ]]; then
   # something different the y entered
   echo -e "${PURPLE}Operation aborted.${NC}"
   exit 1
fi

################
# here we go
    
  # Enter to the dir first - important if run from different location
  cd ${DIR}
  
  # remove temporary files from failed run
  rm -rf .~files
  # pull source from github
  if [[ "$1" == *"-release"* ]]; then
        if [[ "$1" == *":"* ]] && [[ "$1" != *"latest"* ]]; then
          RRELEASE=${1##*:}
        elif [[ "${CURL}" != "" ]] ; then
          RRELEASE=`${CURL} -s -L https://github.com/${REPO}/blob/master/version  | sed -n '/id="LC1"/s/.*">\([^<]*\).*/\1/p'`
        else
          echo -e "${RED}Error: Command \`curl\` is not installed or not in the \`PATH\`.${NC} try with -release:1.881"
          exit 3
        fi
        shift
        echo -e "${CYAN}Pulling in latest release of${NC} ${ORANGE}${PROD^}${NC} $RRELEASE ($HOST/$REPO)..."
        RS="$(${GIT} clone --depth 1 --branch $RRELEASE -q $HOST/$REPO.git "${TEMP}" 2>&1)"
        if [[ "$RS" == *"ould not find remote branch"* ]]; then
          ERROR="Release ${RRELEASE} doesn't exist. "
        fi
  else
        echo -e "${CYAN}Pulling in latest changes for${NC} ${ORANGE}${PROD^}${NC} $RRELEASE (${HOST}/${REPO}${BRANCH}) ..."
        ${GIT} clone --depth 1 --quiet  ${BRANCH} $HOST/$REPO.git "${TEMP}"
  fi
  # on usermin!! pull also webmin to resolve symlinks later!
  WEBMREPO=`echo ${REPO} | sed "s/\/usermin$/\/webmin/"`
  if [[ "${REPO}" != "${WEBMREPO}" ]]; then
        echo -e "${CYAN}Pulling also latest changes for${NC} ${ORANGE}Webmin${NC} ($HOST/$WEBMREPO) ..."
        ${GIT} clone --depth 1 --quiet  $HOST/$WEBMREPO.git "${WTEMP}"
  fi

  # Check for possible errors
  if [ $? -eq 0 ] && [ -f "${TEMP}/version" ]; then

    ####################
    # start processing pulled source
    # add latest changeset date to original version, works with git 1.7+
    if [[ "${RRELEASE}" == "" ]] ; then
        version="`head -n 1 ${TEMP}/version``cd ${TEMP}; ${GIT} log -n1 --pretty='format:%cd' --date=format:'%m%d%H%M'`"
    else
        version="${RRELEASE}"
    fi
    DOTVER=`echo ${version} | sed 's/-/./'`
    TARBALL="${TEMP}/tarballs/${PROD}-${DOTVER}"
    ###############
    # start update
    echo -en "${CYAN}Start update for${NC} ${PROD^} ${version}..."
    # create missing dirs, simulate authentic present
    mkdir ${TEMP}/tarballs ${TEMP}/authentic-theme
    cp authentic-theme/LICENSE ${TEMP}/authentic-theme
    # put dummy clear and tar in PATH
    echo -e "#!/bin/sh\necho" > ${TEMP}/clear; chmod +x ${TEMP}/clear
    echo -e "#!/bin/sh\necho" > ${TEMP}/tar; chmod +x ${TEMP}/tar
    export PATH="${TEMP}:${PATH}"
    # run makedist.pl
    ( cd ${TEMP}; perl makedist.pl ${DOTVER} 2>&1) | while read input; do echo -n "."; done
    echo -e "\n"
    if [[ ! -f "${TARBALL}.tar.gz" ]] ; then
        echo -e "${RED}Error: makedist.pl failed! ${NC}aborting ..."
        rm -rf .~files
        exit 5
    fi
    rm -rf ${TEMP}/tar

    # check for additional standard modules not in default dist
    for module in `ls */module.info`
    do
        if [[ -f ${TEMP}/${module} && ! -f  "${TARBALL}/$module" ]]; then
          module=`dirname $module`
          echo -e "${CYAN}Adding nonstandard${NC} ${ORANGE}$module${NC} to ${PROD^}"
          cp -r -L ${TEMP}/${module} ${TARBALL}/
        fi
    done

    # insert perl path
    config_dir=`grep env_WEBMIN_CONFIG= ${MINICONF}| sed 's/.*_WEBMIN_CONFIG=//'`
    perl=`cat $config_dir/perl-path`
    echo  -e "${CYAN}Insert perl path${NC} ${perl} ..."
    ( cd ${TARBALL}; sed -i --follow-symlinks "1 s|#\!/.*$|#!${perl}|" `find . -name '*.cgi' ; find . -name '*.pl'` )

    # copy all or only given files ...
    if [[ "$1" != "-file" ]] ; then
        ############
        # prepeare unattended FULL upgrade
        echo "${version}" >"${TARBALL}/version"
        atboot="NO"
        makeboot="NO"
        nouninstall="YES"
        [[ -x "${perl}" ]] && noperlpath="YES"
        #nostart="YES"
        export config_dir atboot nouninstall makeboot nostart noperlpath
        ( cd ${TARBALL}; ./setup.sh ${DIR} ) | grep -v -e "^$" -e "done$" -e "chmod" -e "chgrp" -e "chown"
        if [[ "${TARBALL}/version" -nt "${MINICONF}" ]] ; then
            echo -e "${RED}Error: update failed, ${PROD} may in a bad state! ${NC}aborting ..."
            rm -rf .~files
            exit 6
        fi

        # run authenric-thme update, possible unattended
        if [[ -x authentic-theme/theme-update.sh ]] ; then
            if [[ "${ASK}" == "YES" ]] ; then
                authentic-theme/theme-update.sh
            else
                yes | authentic-theme/theme-update.sh
            fi
        fi
    else
        ##################
        # pull specified files only
        shift
        FILES="$*"
        for file in ${FILES}
        do
            # check for / and ../
            if [[ "${file}" == "/"* || "${file}" == *"../"* ]] ; then
                echo -e "${RED}Warning:${ORANGE} / and ../ are not allowed!${NC} skipping ${file} ..."
                WARNINGS="yes"
                continue
            fi
            if [[ "$file" == *"/" && -d "${TARBALL}/${file}" ]] ; then
                echo -e "${BLUE}Copy dir ${ORANGE}${file}${NC} from ${ORANGE}${REPO}${NC} to ${PROD^} ..."
                dest=${file%%/*}
                [[ "${dest}" == "${file}" ]] && dest="."
                cp -r "${TARBALL}/${file}" "${dest}" | sed 's/^.*\/tarballs\///'
                FOUND="${FOUND}${file} "
            else
                if [ -f "${TARBALL}/${file}" ] ; then
                    echo -e "${CYAN}Copy file ${ORANGE}${file}${NC} from ${ORANGE}${REPO}${NC} to ${PROD^} ..."
                    mv "${file}" "${file}.bak"
                    cp "${TARBALL}/${file}" "${file}"
                    if [[ "$?" -eq "0" ]] ; then
                        rm -rf "${file}.bak"
                    else
                        echo -e "${RED}Warning:${ORANGE} cp ${file} failed,${NC} restore original!"
                        WARNINGS="yes"
                    fi
                    FOUND="${FOUND}${file} "
                elif [[ ! -d "${TARBALL}/${file}" ]] ; then
                    echo -e "${RED}Warning:${ORANGE} No such file or directory: ${file},${NC} skipping ..."
                    WARNINGS="yes"
                fi
            fi
        done
        FILES='$*'
        # restart webmin
        if [[ -d "${ETC}" ]] ; then
            echo
            ${ETC}/restart
        fi
    fi
  else
        # something went wrong
        echo -e "${RED}${ERROR} Error: update failed:${NC}${ORANGE} ${GIT} clone ${BRANCH} $RRELEASE $HOST/$REPO.git ${NC}"
        exit 4
  fi

  ###########
  # we are at the end, clean up

  # remove temporary files
  echo -e "\n${CYAN}Clean up temporary files ...${NC}"
  rm -rf .~files
  # fix permissions, should be done by makedist.pl?
  echo -e "${CYAN}Make scripts executable ...${NC}"
  chmod -R +X ${DIR}
  chmod +x *.pl *.cgi *.pm *.sh */*.pl */*.cgi */*.pm */*.sh

  # thats all folks
  [[ "${WARNINGS}" != "" ]] && WARNINGS="(with warnings)"
  echo -e "\n${CYAN}Updating ${PROD^} ${ORANGE}${FOUND}${NC} to Version `cat version`, done ${RED}${WARNINGS}${NC}"

# update success
exit 0

Filemanager

Name Type Size Permission Actions
acl Folder 0755
adsl-client Folder 0755
apache Folder 0755
at Folder 0755
authentic-theme Folder 0755
backup-config Folder 0755
bacula-backup Folder 0755
bandwidth Folder 0755
bin Folder 0755
bind8 Folder 0755
blue-theme Folder 0755
change-user Folder 0755
cluster-copy Folder 0755
cluster-cron Folder 0755
cluster-passwd Folder 0755
cluster-shell Folder 0755
cluster-software Folder 0755
cluster-useradmin Folder 0755
cluster-usermin Folder 0755
cluster-webmin Folder 0755
cpan Folder 0755
cron Folder 0755
custom Folder 0755
dfsadmin Folder 0755
dhcpd Folder 0755
dovecot Folder 0755
exim Folder 0755
exports Folder 0755
fail2ban Folder 0755
fdisk Folder 0755
fetchmail Folder 0755
filemin Folder 0755
filter Folder 0755
firewall Folder 0755
firewall6 Folder 0755
firewalld Folder 0755
fsdump Folder 0755
gray-theme Folder 0755
grub Folder 0755
heartbeat Folder 0755
htaccess-htpasswd Folder 0755
idmapd Folder 0755
images Folder 0755
inetd Folder 0755
init Folder 0755
inittab Folder 0755
ipfilter Folder 0755
ipfw Folder 0755
ipsec Folder 0755
iscsi-client Folder 0755
iscsi-server Folder 0755
iscsi-target Folder 0755
iscsi-tgtd Folder 0755
jabber Folder 0755
krb5 Folder 0755
lang Folder 0755
ldap-client Folder 0755
ldap-server Folder 0755
ldap-useradmin Folder 0755
logrotate Folder 0755
logviewer Folder 0755
lpadmin Folder 0755
lvm Folder 0755
mailboxes Folder 0755
mailcap Folder 0755
man Folder 0755
mon Folder 0755
mount Folder 0755
mysql Folder 0755
net Folder 0755
nis Folder 0755
openslp Folder 0755
package-updates Folder 0755
pam Folder 0755
pap Folder 0755
passwd Folder 0755
phpini Folder 0755
postfix Folder 0755
postgresql Folder 0755
ppp-client Folder 0755
pptp-client Folder 0755
pptp-server Folder 0755
proc Folder 0755
procmail Folder 0755
proftpd Folder 0755
qmailadmin Folder 0755
quota Folder 0755
raid Folder 0755
samba Folder 0755
sarg Folder 0755
sendmail Folder 0755
servers Folder 0755
shell Folder 0755
shorewall Folder 0755
shorewall6 Folder 0755
smart-status Folder 0755
smf Folder 0755
software Folder 0755
spam Folder 0755
squid Folder 0755
sshd Folder 0755
status Folder 0755
stunnel Folder 0755
syslog Folder 0755
syslog-ng Folder 0755
system-status Folder 0755
tcpwrappers Folder 0755
time Folder 0755
tunnel Folder 0755
unauthenticated Folder 0755
updown Folder 0755
useradmin Folder 0755
usermin Folder 0755
vendor_perl Folder 0755
vgetty Folder 0755
webalizer Folder 0755
webmin Folder 0755
webmincron Folder 0755
webminlog Folder 0755
wuftpd Folder 0755
xinetd Folder 0755
xterm Folder 0755
LICENCE File 1.48 KB 0644
LICENCE.ja File 1.62 KB 0644
README.md File 4.25 KB 0644
WebminCore.pm File 7.85 KB 0644
acl_security.pl File 4.51 KB 0755
changepass.pl File 868 B 0755
chooser.cgi File 7.21 KB 0755
config-aix File 227 B 0644
config-cobalt-linux File 264 B 0644
config-coherent-linux File 264 B 0644
config-corel-linux File 264 B 0644
config-debian-linux File 264 B 0644
config-freebsd File 256 B 0644
config-generic-linux File 264 B 0644
config-gentoo-linux File 264 B 0644
config-hpux File 243 B 0644
config-irix File 284 B 0644
config-lib.pl File 10.82 KB 0755
config-macos File 260 B 0644
config-mandrake-linux File 278 B 0644
config-msc-linux File 264 B 0644
config-netbsd File 283 B 0644
config-open-linux File 264 B 0644
config-openbsd File 241 B 0644
config-openmamba-linux File 264 B 0644
config-openserver File 236 B 0644
config-osf1 File 266 B 0644
config-pardus-linux File 264 B 0644
config-redhat-linux File 264 B 0644
config-slackware-linux File 280 B 0644
config-sol-linux File 264 B 0644
config-solaris File 417 B 0644
config-suse-linux File 264 B 0644
config-syno-linux File 364 B 0644
config-trustix-linux File 264 B 0644
config-turbo-linux File 264 B 0644
config-united-linux File 264 B 0644
config-unixware File 286 B 0644
config-windows File 88 B 0644
config.cgi File 1.55 KB 0755
config_save.cgi File 1.64 KB 0755
copyconfig.pl File 4.33 KB 0755
create-module.pl File 3.82 KB 0755
date_chooser.cgi File 2.19 KB 0755
deb-name File 7 B 0644
defaultacl File 98 B 0644
defaulttheme File 16 B 0644
entities_map.txt File 1.47 KB 0644
fastrpc.cgi File 10.18 KB 0755
favicon.ico File 14.73 KB 0644
feedback.cgi File 6.37 KB 0755
feedback_form.cgi File 3.45 KB 0755
group_chooser.cgi File 7.36 KB 0755
help.cgi File 2.94 KB 0755
index.cgi File 5.61 KB 0755
install-module.pl File 1.54 KB 0755
install-type File 4 B 0644
javascript-lib.pl File 14.69 KB 0755
lang_list.txt File 3.41 KB 0644
maketemp.pl File 424 B 0755
mime.types File 12.42 KB 0644
miniserv.pem File 2.9 KB 0644
miniserv.pl File 179.71 KB 0755
module_chooser.cgi File 4.14 KB 0755
newmods.pl File 1.25 KB 0755
os_list.txt File 34.18 KB 0644
oschooser.pl File 4.55 KB 0755
pam_login.cgi File 2.83 KB 0755
password_change.cgi File 7 KB 0755
password_form.cgi File 1.3 KB 0755
perlpath.pl File 571 B 0755
record-failed.pl File 503 B 0755
record-login.pl File 513 B 0755
record-logout.pl File 516 B 0755
robots.txt File 26 B 0644
rpc.cgi File 4 KB 0755
run-postinstalls.pl File 1 KB 0755
run-uninstalls.pl File 1004 B 0755
safeacl File 44 B 0644
session_login.cgi File 3.55 KB 0755
setup-repos.sh File 4.66 KB 0755
setup.bat File 3.09 KB 0644
setup.pl File 30.33 KB 0755
setup.sh File 32.06 KB 0755
switch_skill.cgi File 293 B 0755
switch_user.cgi File 404 B 0755
thirdparty.pl File 1.73 KB 0755
ui-lib.pl File 82.8 KB 0755
update-from-repo.sh File 14.8 KB 0755
uptracker.cgi File 2.88 KB 0755
user_chooser.cgi File 7.29 KB 0755
version File 6 B 0644
web-lib-funcs.pl File 356.13 KB 0755
web-lib.pl File 907 B 0755
webmin-daemon File 80 B 0644
webmin-init File 1.93 KB 0755
webmin-pam File 101 B 0644
webmin-search-lib.pl File 9.42 KB 0755
webmin-systemd File 371 B 0644
webmin_search.cgi File 2.63 KB 0755
xmlrpc.cgi File 7.53 KB 0755