diff options
Diffstat (limited to 'testing/fulltests/default/T072com2secunix_simple')
-rw-r--r-- | testing/fulltests/default/T072com2secunix_simple | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/testing/fulltests/default/T072com2secunix_simple b/testing/fulltests/default/T072com2secunix_simple new file mode 100644 index 0000000..a89de5d --- /dev/null +++ b/testing/fulltests/default/T072com2secunix_simple @@ -0,0 +1,111 @@ +#!/bin/sh + +. ../support/simple_eval_tools.sh + +HEADER com2secunix directive + +SKIPIFNOT NETSNMP_TRANSPORT_UNIX_DOMAIN +SKIPIF NETSNMP_NO_DEBUGGING +SKIPIFNOT SIZEOF_SOCKADDR_UN_SUN_PATH + +# +# Prepare test +# +if [ `uname -s` = SunOS ] +then AWK=nawk +else AWK=awk +fi + +sun_path_sized=`$AWK '/^#define SIZEOF_SOCKADDR_UN_SUN_PATH/ { res = "a"; for(n = 2; n < $3; ++n) { res = res substr("1234567890", n % 10, 1); } print res; }' $SNMP_UPDIR/include/net-snmp/net-snmp-config.h` + +# +# Begin test +# + +# u01a Test missing CONTEXT +CONFIGAGENT 'com2secunix -Cn' +# u01a Test empty CONTEXT +CONFIGAGENT 'com2secunix -Cn ""' +# u01c Test overlong CONTEXT (34 chars) +CONFIGAGENT 'com2secunix -Cn 1234567890123456789012345678901234' + +# u02a Test missing secName +CONFIGAGENT 'com2secunix' +# u02b Test empty secName +CONFIGAGENT 'com2secunix ""' +# u02c Test overlong secName (34 chars) +CONFIGAGENT 'com2secunix 1234567890123456789012345678901234' +# u02d Test valid context and missing secName +CONFIGAGENT 'com2secunix -Cn 123456789012345678901234567890123' +# u02e Test valid context and empty secName +CONFIGAGENT 'com2secunix -Cn 123456789012345678901234567890123 ""' + +# u03a Test missing sockpath +CONFIGAGENT 'com2secunix tu03a' +# u03b Test empty sockpath +CONFIGAGENT 'com2secunix tu03b ""' +# u03c Test overlong sockpath (sizeof(sockaddr_un.sun_path) chars) +CONFIGAGENT "com2secunix tu03c ${sun_path_sized}x" +# u03d Test valid sockpath (sizeof(sockaddr_un.sun_path) - 1 chars) +CONFIGAGENT "com2secunix tu03d ${sun_path_sized}" + +# u04a Test missing community +CONFIGAGENT 'com2secunix tu04a default' +# u04b Test empty community +CONFIGAGENT 'com2secunix tu04b default ""' +# u04c Test forbidden value (now why it is forbidden...) +CONFIGAGENT 'com2secunix tu04c default COMMUNITY' +# u04d Test overlong community (255 chars) +CONFIGAGENT 'com2secunix tu04d default 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345' +# u04e Test valid community +CONFIGAGENT 'com2secunix tu04e default 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234' + +# u05a Test 'default' configuration +CONFIGAGENT 'com2secunix tu05a default cu05a' + +# u07a Test non existant sockpath +CONFIGAGENT 'com2secunix tu07a /dev/null/no/such cu07a' + +# Default agent setup +CONFIGAGENT "[snmp] persistentdir $SNMP_TMP_PERSISTENTDIR" +# Dummy config to prevent the basic_setup warning +CONFIGAGENT 'rocommunity public 127.0.0.0/8' + +AGENT_FLAGS='-Dnetsnmp_udp_parse_security,netsnmp_udp6_parse_security,netsnmp_unix_parse_security' + +STARTAGENT + +SAVECHECKAGENT() { + CHECKAGENT "$@" + if [ "x$return_value" != "x0" ] ; then + FINISHED + fi +} + +# u01 +SAVECHECKAGENT 'line 1: Error: missing CONTEXT_NAME parameter' +SAVECHECKAGENT 'line 2: Error: missing NAME parameter' +SAVECHECKAGENT 'line 3: Error: context name too long' +# u02 +CHECKAGENTCOUNT atleastone 'line 4: Error: Blank line following com2secunix token.' +SAVECHECKAGENT 'line 5: Error: empty NAME parameter' +SAVECHECKAGENT 'line 6: Error: security name too long' +SAVECHECKAGENT 'line 7: Error: missing NAME parameter' +SAVECHECKAGENT 'line 8: Error: empty NAME parameter' +# u03 +SAVECHECKAGENT 'line 9: Error: missing SOCKPATH parameter' +SAVECHECKAGENT 'line 10: Error: empty SOCKPATH parameter' +SAVECHECKAGENT 'line 11: Error: sockpath too long' +SAVECHECKAGENT 'line 12: Error: missing COMMUNITY parameter' +# u04 +SAVECHECKAGENT 'line 13: Error: missing COMMUNITY parameter' +SAVECHECKAGENT 'line 14: Error: empty COMMUNITY parameter' +SAVECHECKAGENT 'line 15: Error: example config COMMUNITY not properly configured' +SAVECHECKAGENT 'line 16: Error: community name too long' +SAVECHECKAGENT '<"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234", ""> => "tu04e"' +# u05 +SAVECHECKAGENT '<"cu05a", ""> => "tu05a"' +# u07 +SAVECHECKAGENT '<"cu07a", "/dev/null/no/such"> => "tu07a"' + +FINISHED |