#!/bin/sh # PCP QA Test No. 546 # Check parsing of PMCD access section user/group extensions with errors # # Copyright (c) 2013 Red Hat. # Copyright (c) 2011 Ken McDonell. All Rights Reserved. # seq=`basename $0` echo "QA output created by $seq" . ./common.secure _get_libpcp_config $unix_domain_sockets || _notrun "No unix domain socket support available" status=1 # failure is the default! $sudo rm -rf $tmp.* $seq.full trap "cd $here; rm -rf $tmp.*; exit \$status" 0 1 2 3 15 _filter() { _filter_pmcd_log \ | sed \ -e "s:$tmp:TMP:g" \ -e "s:$userid $username:USERID USERNAME:g" \ -e "s:$groupid $groupname:GROUPID GROUPNAME:g" \ -e "s:$userid\($username\):USERID(USERNAME):g" \ -e "s:$groupid\($groupname\):GROUPID(GROUPNAME):g" \ } # new access control cases, not checked in QA 051 or 454 # real QA test starts here export PCP_PMCDCONF_PATH=$tmp.conf export PMCD_PORT=9876 export PMCD_SOCKET=$tmp.pmcd.socket # user test cases cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow user nosuchuser ; allow user $username : ; allow user $username : fetch, ; allow user $username : fetch, maximum 7 connections, store, maximum 3 connections; allow user $username : fetch, maximum foo connections; End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow user $username : store End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow user $username, nosuchuser End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log # group test cases cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow group nosuchgroup ; allow group $groupname : ; allow group $groupname : fetch, ; allow group $groupname : fetch, maximum 7 connections, store, maximum 3 connections; allow group $groupname : fetch, maximum foo connections; End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow group $groupname : store End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log cat <$tmp.conf sample 29 pipe binary $PCP_PMDAS_DIR/sample/pmdasample -d 29 [access] allow group $groupname, nosuchgroup End-of-File pmcd -f -x $seq.full -l $tmp.log _filter <$tmp.log # success, all done status=0 exit