summaryrefslogtreecommitdiff
path: root/net/scotty3/files/patch-ab
blob: 06393a6dc6db3a03b59c684adbd519691f004fd3 (plain) (blame)
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
--- ../tkined/apps/ip_discover.tcl	Thu Sep 12 22:01:03 1996
+++ /usr/local/lib/tkined1.4.5/apps/ip_discover.tcl	Tue Mar  4 23:05:50 1997
@@ -30,6 +30,7 @@
 set columns 16
 set report true
 set debug false
+set communities {public private}
 
 
 ##
@@ -343,20 +344,22 @@
 }
 
 proc discover_snmp {} {
-    global nodes address snmp
+    global nodes address snmp communities
     global icmp_retries icmp_timeout
     set start [clock seconds]
     mib load rfc1213.mib
-    foreach id [array names nodes] {
-        set ip $address($id)
-	if {[catch {snmp session -address $ip \
-		-retries $icmp_retries -timeout $icmp_timeout} s]} continue
-	if {[catch {
-	    $s get sysObjectID.0 [list discover_snmp_callback $id "%S" "%E"]
-	} msg]} {
-	    writeln "Oops: $ip get sysObjectID.0: $msg"
+    foreach com $communities {
+	foreach id [array names nodes] {
+	    set ip $address($id)
+	    if {[catch {snmp session -address $ip -community $com \
+		    -retries $icmp_retries -timeout $icmp_timeout} s]} continue
+	    if {[catch {
+		$s get sysObjectID.0 [list discover_snmp_callback $id "%S" "%E"]
+	    } msg]} {
+		writeln "Oops: $ip get sysObjectID.0: $msg"
+	    }
+	    update
 	}
-        update
     }
     snmp wait
     set count [llength [array names snmp]]
@@ -1276,6 +1279,7 @@
     global email_trace
     global report
     global debug
+    global communities
 
     set result [ined request "IP-Discover Parameter" \
 	[list [list "# of ICMP retries:" $icmp_retries scale 1 10] \
@@ -1287,7 +1291,8 @@
           [list "Nodes per row:" $columns scale 10 40] \
           [list "Email Discover Routes:" $email_trace radio true false] \
           [list "Write Report:" $report radio true false] \
-          [list "Debug Mode:" $debug radio true false] ] \
+          [list "Debug Mode:" $debug radio true false]  \
+          [list "SNMP Communities:" $communities entry 10] ] \
         [list "set values" cancel] ]
 
     if {[lindex $result 0] == "cancel"} return
@@ -1302,6 +1307,7 @@
     set email_trace      [lindex $result  8]
     set report           [lindex $result  9]
     set debug            [lindex $result 10]
+    set communities      [lindex $result 11]
 
     icmp -retries $icmp_retries
     icmp -timeout $icmp_timeout