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