summaryrefslogtreecommitdiff
path: root/testing/fulltests/default/T070com2sec_simple
blob: 9f76fcd4016c98b81670e2d2dce95682b3de1318 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#!/bin/sh

. ../support/simple_eval_tools.sh

HEADER com2sec directive

SKIPIFNOT NETSNMP_TRANSPORT_UDP_DOMAIN
SKIPIF NETSNMP_NO_DEBUGGING

#
# Begin test
#

# 401a Test missing CONTEXT
CONFIGAGENT 'com2sec -Cn'
# 401b Test empty CONTEXT
CONFIGAGENT 'com2sec -Cn ""'
# 401c Test overlong CONTEXT (34 chars)
CONFIGAGENT 'com2sec -Cn 1234567890123456789012345678901234'

# 402a Test missing secName
CONFIGAGENT 'com2sec'
# 402b Test empty secName
CONFIGAGENT 'com2sec ""'
# 402c Test overlong secName (34 chars)
CONFIGAGENT 'com2sec 1234567890123456789012345678901234'
# 402d Test valid context and missing secName
CONFIGAGENT 'com2sec -Cn 123456789012345678901234567890123'
# 402e Test valid context and empty secName
CONFIGAGENT 'com2sec -Cn 123456789012345678901234567890123 ""'

# 403a Test missing network address
CONFIGAGENT 'com2sec t403a'
# 403b Test empty network address
CONFIGAGENT 'com2sec t403b ""'
# 403c Test forbidden value (now why it is forbidden...)
CONFIGAGENT 'com2sec t403c NETWORK'

# 404a Test missing community
CONFIGAGENT 'com2sec t404a default'
# 404b Test empty community
CONFIGAGENT 'com2sec t404b default ""'
# 404c Test forbidden value (now why it is forbidden...)
CONFIGAGENT 'com2sec t404c default COMMUNITY'
# 404d Test overlong community (255 chars)
CONFIGAGENT 'com2sec t404d default 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345'
# 404e Test valid community
CONFIGAGENT 'com2sec t404e default 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234'

# 405a Test 'default' configuration
CONFIGAGENT 'com2sec t405a default c405a'
# 405b Test ip address configuration
CONFIGAGENT 'com2sec t405b 10.0.0.0 c405b'
# 405c Test valid numeric mask
CONFIGAGENT 'com2sec t405c 10.0.0.0/8 c405c'
# 405d Test invalid numeric mask (too big)
CONFIGAGENT 'com2sec t405d 10.0.0.0/33 c405d'
# 405e Test invalid numeric mask (negative)
CONFIGAGENT 'com2sec t405e 10.0.0.0/-1 c405e'
# 405f Test valid ip address mask
CONFIGAGENT 'com2sec t405f 10.0.0.0/255.0.0.0 c405f'
# 405g Test invalid ip address mask
CONFIGAGENT 'com2sec t405g 10.0.0.0/512.0.0.0 c405g'
# 405h Test invalid ip address mask
CONFIGAGENT 'com2sec t405h 10.0.0.0/hh c405h'
# 405i Test address with 1 bits not covered by the mask
CONFIGAGENT 'com2sec t405i 10.0.0.0/3.192.0.0 c405i'
# 405j Test that 0.0.0.0 works (alias for default)
CONFIGAGENT 'com2sec t405j 0.0.0.0 c405j'
# 405k Test that 0.0.0.0/0 works (alias for default)
CONFIGAGENT 'com2sec t405k 0.0.0.0/0 c405k'
# 405l Test that 0.0.0.0/0.0.0.0 works (alias for default)
CONFIGAGENT 'com2sec t405l 0.0.0.0/0.0.0.0 c405l'

# 406a Test maximally long address/mask
CONFIGAGENT 'com2sec t406a 255.255.255.255/255.255.255.255 c406a'

# 407a Test non existant host name
CONFIGAGENT 'com2sec t407a no.such.address. c407a'
# 407b Test maximally long host name/mask
CONFIGAGENT 'com2sec t407b a23456789012345678901234567890123456789012345678901234567890123.a23456789012345678901234567890123456789012345678901234567890123.a23456789012345678901234567890123456789012345678901234567890123.a234567890123456789012345678901234567890123456789012345678901./255.255.255.255 c407b'

# 408 Lookup tests, require network access
# 408a Test lookup returning a single host
CONFIGAGENT 'com2sec t408a www.ietf.org c408a'
# 408a Test lookup returning multiple hosts
CONFIGAGENT 'com2sec t408b www.google.com c408b'

# 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
}

SAVECHECKAGENT 'line 1: Error: missing CONTEXT_NAME parameter'
SAVECHECKAGENT 'line 2: Error: missing NAME parameter'
SAVECHECKAGENT 'line 3: Error: context name too long'
CHECKAGENTCOUNT atleastone 'line 4: Error: Blank line following com2sec 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'
SAVECHECKAGENT 'line 9: Error: missing SOURCE parameter'
SAVECHECKAGENT 'line 10: Error: empty SOURCE parameter'
SAVECHECKAGENT 'line 11: Error: example config NETWORK not properly configured'
SAVECHECKAGENT 'line 12: Error: missing COMMUNITY parameter'
SAVECHECKAGENT 'line 13: Error: empty COMMUNITY parameter'
SAVECHECKAGENT 'line 14: Error: example config COMMUNITY not properly configured'
SAVECHECKAGENT 'line 15: Error: community name too long'
SAVECHECKAGENT '<"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234", 0.0.0.0/0.0.0.0> => "t404e"'
SAVECHECKAGENT '<"c405a", 0.0.0.0/0.0.0.0> => "t405a"'
SAVECHECKAGENT '<"c405b", 10.0.0.0/255.255.255.255> => "t405b"'
SAVECHECKAGENT '<"c405c", 10.0.0.0/255.0.0.0> => "t405c"'
SAVECHECKAGENT 'line 20: Error: bad mask length'
SAVECHECKAGENT 'line 21: Error: bad mask length'
SAVECHECKAGENT '<"c405f", 10.0.0.0/255.0.0.0> => "t405f"'
SAVECHECKAGENT 'line 23: Error: bad mask'
SAVECHECKAGENT 'line 24: Error: bad mask'
SAVECHECKAGENT 'line 25: Error: source/mask mismatch'
SAVECHECKAGENT '<"c405j", 0.0.0.0/255.255.255.255> => "t405j"'
SAVECHECKAGENT '<"c405k", 0.0.0.0/0.0.0.0> => "t405k"'
SAVECHECKAGENT '<"c405l", 0.0.0.0/0.0.0.0> => "t405l"'
SAVECHECKAGENT '<"c406a", 255.255.255.255/255.255.255.255> => "t406a"'
SAVECHECKAGENT 'line 30: Error:' # msg from h_strerror so it varies
SAVECHECKAGENT 'line 31: Error:' # msg from h_strerror so it varies

CHECKAGENT '<"c408a"'
if [ "$snmp_last_test_result" -eq 0 ] ; then
  CHECKAGENT 'line 32: Error:'
  if [ "$snmp_last_test_result" -ne 1 ] ; then
    return_value=1
    FINISHED
  fi
elif [ "$snmp_last_test_result" -ne 1 ] ; then
  return_value=1
  FINISHED
fi

CHECKAGENT '<"c408b"'
if [ "$snmp_last_test_result" -eq 0 ] ; then
  CHECKAGENT 'line 33: Error:'
  if [ "$snmp_last_test_result" -ne 1 ] ; then
    return_value=1
  fi
elif [ "$snmp_last_test_result" -ne 1 ] ; then
  return_value=1
fi

FINISHED