Home | History | Annotate | Line # | Download | only in admin
      1      1.1  joerg #!/bin/sh
      2      1.1  joerg 
      3      1.1  joerg pkg_admin=@PKG_ADMIN@
      4      1.1  joerg 
      5      1.1  joerg usage() {
      6      1.1  joerg 	echo 'Usage: audit-packages [-deqsVv] [-c config_file] [-F file]' >& $2
      7      1.1  joerg 	echo '                      [-g file] [-h file]' >& $2
      8      1.1  joerg 	echo '                      [-K pkg_dbdir] [-n package] [-p package]' >& $2
      9      1.1  joerg 	echo '                      [-Q varname] [-t type]' >& $2
     10  1.1.1.2  joerg 	echo "Please use the audit, audit-pkg, audit-batch and fetch-pkg-vulnerabilities" >& $2
     11  1.1.1.2  joerg 	echo "commands of pkg_admin instead." >& $2
     12      1.1  joerg 	exit $1
     13      1.1  joerg }
     14      1.1  joerg 
     15      1.1  joerg do_pkgdb=
     16      1.1  joerg do_eol=
     17      1.1  joerg do_fetch=
     18      1.1  joerg do_quiet=
     19      1.1  joerg do_sign=
     20      1.1  joerg do_verbose=
     21      1.1  joerg do_check_file=
     22      1.1  joerg do_check_pattern=
     23      1.1  joerg do_check_installed=
     24      1.1  joerg do_check_vul_file=
     25      1.1  joerg do_limit_type=
     26      1.1  joerg do_print_var=
     27      1.1  joerg 
     28      1.1  joerg args=`getopt F:K:Q:Vc:deg:h:n:p:qst:v $*`
     29      1.1  joerg if [ $? -ne 0 ]; then
     30      1.1  joerg 	usage 1 2
     31      1.1  joerg fi
     32      1.1  joerg 
     33      1.1  joerg set -- $args
     34      1.1  joerg 
     35      1.1  joerg while [ $# -gt 0 ]; do
     36      1.1  joerg 	case "$1" in
     37      1.1  joerg 	-F)
     38      1.1  joerg 		do_check_file=$2
     39      1.1  joerg 		shift
     40      1.1  joerg 		;;
     41      1.1  joerg 	-K)
     42      1.1  joerg 		do_pkgdb="$1 $2"
     43      1.1  joerg 		shift
     44      1.1  joerg 		;;
     45      1.1  joerg 	-Q)
     46      1.1  joerg 		do_print_var="$2"
     47      1.1  joerg 		shift
     48      1.1  joerg 		;;
     49      1.1  joerg 	-V)
     50      1.1  joerg 		exec ${pkg_admin} -V
     51      1.1  joerg 		;;
     52      1.1  joerg 	-c)
     53      1.1  joerg 		echo "The audit-packages wrapper does not support -c" >&2
     54  1.1.1.2  joerg 		echo "Please use the audit, audit-pkg, audit-batch and fetch-pkg-vulnerabilities" >& 2
     55  1.1.1.2  joerg 		echo "commands of pkg_admin instead." >& 2
     56      1.1  joerg 		exit 1
     57      1.1  joerg 		;;
     58      1.1  joerg 	-d)
     59      1.1  joerg 		do_fetch=1
     60      1.1  joerg 		;;
     61      1.1  joerg 	-e)
     62      1.1  joerg 		do_eol=-e
     63      1.1  joerg 		;;
     64      1.1  joerg 	-g)
     65      1.1  joerg 		echo "The audit-packages wrapper does not support -g" >&2
     66      1.1  joerg 		echo "Please switch to \`\`pkg_admin fetch-pkg-vulnerabilities''." >&2
     67      1.1  joerg 		exit 1
     68      1.1  joerg 		;;
     69      1.1  joerg 	-h)
     70      1.1  joerg 		do_check_vul_file=$2
     71      1.1  joerg 		shift
     72      1.1  joerg 		;;
     73      1.1  joerg 	-n)
     74      1.1  joerg 		do_check_pattern=$2
     75      1.1  joerg 		shift
     76      1.1  joerg 		;;
     77      1.1  joerg 	-p)
     78      1.1  joerg 		do_check_installed=$2
     79      1.1  joerg 		shift
     80      1.1  joerg 		;;
     81      1.1  joerg 	-q)
     82      1.1  joerg 		do_quiet=-q
     83      1.1  joerg 		;;
     84      1.1  joerg 	-s)
     85      1.1  joerg 		do_sign=-s
     86      1.1  joerg 		;;
     87      1.1  joerg 	-t)
     88      1.1  joerg 		do_limit_type="-t $2"
     89      1.1  joerg 		shift
     90      1.1  joerg 		;;
     91      1.1  joerg 	-v)
     92      1.1  joerg 		do_verbose="$do_verbose -v"
     93      1.1  joerg 		;;
     94      1.1  joerg 	esac
     95      1.1  joerg 	shift
     96      1.1  joerg done
     97      1.1  joerg 
     98      1.1  joerg if [ -n "${do_fetch}" ]; then
     99      1.1  joerg 	exec ${pkg_admin} ${do_pkgdb} fetch-pkg-vulnerabilities ${do_sign}
    100      1.1  joerg fi
    101      1.1  joerg 
    102      1.1  joerg if [ -n "${do_check_vul_file}" ]; then
    103      1.1  joerg 	exec ${pkg_admin} ${do_pkgdb} check-pkg-vulnerabilities ${do_sign} "${do_check_vul_file}"
    104      1.1  joerg fi
    105      1.1  joerg 
    106      1.1  joerg if [ -n "${do_print_var}" ]; then
    107      1.1  joerg 	exec ${pkg_admin} ${do_pkgdb} config-var "${do_print_var}"
    108      1.1  joerg fi
    109      1.1  joerg 
    110      1.1  joerg if [ -n "${do_check_file}" ]; then
    111      1.1  joerg 	if [ -n "${do_check_pattern}" -o -n "${do_check_installed}" ]; then
    112      1.1  joerg 		echo "Only one of -F, -n or -p is interpreted at a time." >& 2
    113      1.1  joerg 		usage 1 2
    114      1.1  joerg 	fi
    115      1.1  joerg 	exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit-pkg \
    116      1.1  joerg 	    ${do_eol} ${do_limit_type} ${do_check_file}
    117      1.1  joerg fi
    118      1.1  joerg 
    119      1.1  joerg if [ -n "${do_check_pattern}" ]; then
    120      1.1  joerg 	if [ -n "${do_check_installed}" ]; then
    121      1.1  joerg 		echo "Only one of -F, -n or -p is interpreted at a time." >& 2
    122      1.1  joerg 		usage 1 2
    123      1.1  joerg 	fi
    124      1.1  joerg 	exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit-pkg \
    125      1.1  joerg 	    ${do_eol} ${do_limit_type} ${do_check_pattern}
    126      1.1  joerg fi
    127      1.1  joerg 
    128      1.1  joerg # If do_check_installed is empty, all packages are checked.
    129      1.1  joerg exec ${pkg_admin} ${do_pkgdb} ${do_verbose} ${do_quiet} audit \
    130      1.1  joerg     ${do_eol} ${do_limit_type} ${do_check_installed}
    131