1#!/bin/sh 2# Copyright (c) 2020 Petr Vorel <pvorel@suse.cz> 3# Copyright (c) 2017 Oracle and/or its affiliates. All Rights Reserved. 4# Copyright (c) International Business Machines Corp., 2000 5 6TST_TESTFUNC=do_test 7TST_SETUP=do_setup 8TST_NEEDS_TMPDIR=1 9TST_NEEDS_CMDS="rpcinfo wc" 10 11do_setup() 12{ 13 check_rpc 14 15 # Create file with 1 tcp and 1 udp line. Use for variable assignments. 16 rpcinfo -p $(tst_ipaddr) | grep tcp | sed -n 2p > rpc_out 17 rpcinfo -p $(tst_ipaddr) | grep udp | sed -n 2p >> rpc_out 18 19 wc -l rpc_out | grep -q "2" || \ 20 tst_brk TBROK "Not enough programs registered on $(tst_ipaddr)" 21 22 # Using "rpc_out" file created above, assign variables for rpcinfo opts 23 TPNUM=$(grep tcp rpc_out | awk '{print $1}') 24 TVNUM=$(grep tcp rpc_out | awk '{print $2}') 25 TCPNAME=$(grep tcp rpc_out | awk '{print $5}') 26 UPNUM=$(grep udp rpc_out | awk '{print $1}') 27 UVNUM=$(grep udp rpc_out | awk '{print $2}') 28 UDPNAME=$(grep udp rpc_out | awk '{print $5}') 29} 30 31do_test() 32{ 33 local thost="$(tst_ipaddr)" 34 35 EXPECT_RHOST_PASS rpcinfo -p $thost | grep -q portmapper 36 EXPECT_RHOST_PASS rpcinfo -t $thost $TPNUM 37 EXPECT_RHOST_PASS rpcinfo -t $thost $TPNUM $TVNUM 38 EXPECT_RHOST_PASS rpcinfo -t $thost $TCPNAME 39 EXPECT_RHOST_PASS rpcinfo -t $thost $TCPNAME $TVNUM 40 EXPECT_RHOST_PASS rpcinfo -u $thost 100000 41 EXPECT_RHOST_PASS rpcinfo -u $thost 100000 2 42 EXPECT_RHOST_PASS rpcinfo -u $thost portmapper 43 EXPECT_RHOST_PASS rpcinfo -u $thost portmapper 2 44 45 tst_res TINFO "Test rpcinfo with missing or bad options" 46 EXPECT_RHOST_FAIL rpcinfo -p bogushost 47 EXPECT_RHOST_FAIL rpcinfo -bogusflag 48 EXPECT_RHOST_FAIL rpcinfo -t $thost 49 EXPECT_RHOST_FAIL rpcinfo -u $thost 50 EXPECT_RHOST_FAIL rpcinfo -u $thost bogusprog 51 EXPECT_RHOST_FAIL rpcinfo -u $thost 11579 52 EXPECT_RHOST_FAIL rpcinfo -u $thost 100000 5 53} 54 55. rpc_lib.sh 56tst_run 57