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