author | Jiri Sasek <Jiri.Sasek@Oracle.COM> |
Wed, 04 May 2016 14:21:51 -0700 | |
changeset 5920 | 1e847165fde2 |
parent 5727 | 382d4e90640b |
permissions | -rw-r--r-- |
5727
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
1 |
The patch has been taken from community and modifies directory creation code to happen after the domain selection code so that the directory creation code knows what directory to create. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
2 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
3 |
The details can be found in the following location |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
4 |
https://sourceforge.net/p/net-snmp/code/ci/b066a45975a505545b064c5492f7d7fe0a7623dd/ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
5 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
6 |
--- net-snmp-5.4.1/agent/mibgroup/agentx/master.c 2007-01-22 08:19:47.000000000 -0800 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
7 |
+++ copy_net-snmp-5.4.1/agent/mibgroup/agentx/master.c 2016-01-30 01:41:53.175843516 -0800 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
8 |
@@ -60,13 +60,6 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
9 |
char *agentx_sockets; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
10 |
char *cp1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
11 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
12 |
-#ifdef NETSNMP_TRANSPORT_UNIX_DOMAIN |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
13 |
- int agentx_dir_perm; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
14 |
- int agentx_sock_perm; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
15 |
- int agentx_sock_user; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
16 |
- int agentx_sock_group; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
17 |
-#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
18 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
19 |
if (netsnmp_ds_get_boolean(NETSNMP_DS_APPLICATION_ID, NETSNMP_DS_AGENT_ROLE) != MASTER_AGENT) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
20 |
return; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
21 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
22 |
@@ -89,7 +82,6 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
23 |
agentx_sockets = strdup(""); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
24 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
25 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
26 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
27 |
DEBUGMSGTL(("agentx/master", "initializing...\n")); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
28 |
snmp_sess_init(&sess); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
29 |
sess.version = AGENTX_VERSION_1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
30 |
@@ -98,6 +90,18 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
31 |
NETSNMP_DS_AGENT_AGENTX_TIMEOUT); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
32 |
sess.retries = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
33 |
NETSNMP_DS_AGENT_AGENTX_RETRIES); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
34 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
35 |
+#ifdef NETSNMP_TRANSPORT_UNIX_DOMAIN |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
36 |
+ { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
37 |
+ int agentx_dir_perm = |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
38 |
+ netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
39 |
+ NETSNMP_DS_AGENT_X_DIR_PERM); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
40 |
+ if (agentx_dir_perm == 0) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
41 |
+ agentx_dir_perm = NETSNMP_AGENT_DIRECTORY_MODE; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
42 |
+ netsnmp_unix_create_path_with_mode(agentx_dir_perm); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
43 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
44 |
+#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
45 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
46 |
cp1 = agentx_sockets; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
47 |
while (cp1) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
48 |
netsnmp_transport *t; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
49 |
@@ -111,44 +115,15 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
50 |
if (cp1 != NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
51 |
*cp1++ = '\0'; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
52 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
53 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
54 |
- if (sess.peername[0] == '/') { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
55 |
-#ifdef NETSNMP_TRANSPORT_UNIX_DOMAIN |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
56 |
- /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
57 |
- * If this is a Unix pathname, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
58 |
- * try and create the directory first. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
59 |
- */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
60 |
- agentx_dir_perm = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
61 |
- NETSNMP_DS_AGENT_X_DIR_PERM); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
62 |
- if (agentx_dir_perm == 0) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
63 |
- agentx_dir_perm = NETSNMP_AGENT_DIRECTORY_MODE; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
64 |
- if (mkdirhier(sess.peername, (mode_t)agentx_dir_perm, 1)) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
65 |
- snmp_log(LOG_ERR, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
66 |
- "Failed to create the directory for the agentX socket: %s\n", |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
67 |
- sess.peername); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
68 |
- } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
69 |
-#else |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
70 |
- netsnmp_sess_log_error(LOG_WARNING, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
71 |
- "unix domain support not available\n", |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
72 |
- &sess); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
73 |
-#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
74 |
- } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
75 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
76 |
- /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
77 |
- * Otherwise, let 'snmp_open' interpret the string. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
78 |
- */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
79 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
80 |
+ /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
81 |
+ * Let 'snmp_open' interpret the descriptor. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
82 |
+ */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
83 |
sess.local_port = AGENTX_PORT; /* Indicate server & set default port */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
84 |
sess.remote_port = 0; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
85 |
sess.callback = handle_master_agentx_packet; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
86 |
errno = 0; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
87 |
t = netsnmp_transport_open_server("agentx", sess.peername); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
88 |
- if (t == NULL && errno == EADDRINUSE) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
89 |
- /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
90 |
- * Could be a left-over socket (now deleted) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
91 |
- * Try again |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
92 |
- */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
93 |
- t = netsnmp_transport_open_server("agentx", sess.peername); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
94 |
- } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
95 |
if (t == NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
96 |
/* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
97 |
* diagnose snmp_open errors with the input netsnmp_session |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
98 |
@@ -169,41 +144,52 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
99 |
netsnmp_sess_log_error(LOG_WARNING, buf, &sess); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
100 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
101 |
} else { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
102 |
- session = |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
103 |
- snmp_add_full(&sess, t, NULL, agentx_parse, NULL, NULL, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
104 |
- agentx_realloc_build, agentx_check_packet, NULL); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
105 |
- } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
106 |
- if (session == NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
107 |
- netsnmp_transport_free(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
108 |
- } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
109 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
110 |
#ifdef NETSNMP_TRANSPORT_UNIX_DOMAIN |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
111 |
+ if (t->domain == netsnmp_UnixDomain && t->local != NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
112 |
/* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
113 |
* Apply any settings to the ownership/permissions of the AgentX socket |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
114 |
*/ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
115 |
- agentx_sock_perm = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
116 |
- NETSNMP_DS_AGENT_X_SOCK_PERM); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
117 |
- agentx_sock_user = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
118 |
- NETSNMP_DS_AGENT_X_SOCK_USER); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
119 |
- agentx_sock_group = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
120 |
- NETSNMP_DS_AGENT_X_SOCK_GROUP); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
121 |
- |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
122 |
- if (agentx_sock_perm != 0) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
123 |
- chmod(sess.peername, agentx_sock_perm); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
124 |
- if (agentx_sock_user || agentx_sock_group) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
125 |
- /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
126 |
- * If either of user or group haven't been set, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
127 |
- * then leave them unchanged. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
128 |
- */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
129 |
- if (agentx_sock_user == 0 ) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
130 |
- agentx_sock_user = -1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
131 |
- if (agentx_sock_group == 0 ) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
132 |
- agentx_sock_group = -1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
133 |
- chown(sess.peername, agentx_sock_user, agentx_sock_group); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
134 |
+ int agentx_sock_perm = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
135 |
+ NETSNMP_DS_AGENT_X_SOCK_PERM); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
136 |
+ int agentx_sock_user = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
137 |
+ NETSNMP_DS_AGENT_X_SOCK_USER); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
138 |
+ int agentx_sock_group = netsnmp_ds_get_int(NETSNMP_DS_APPLICATION_ID, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
139 |
+ NETSNMP_DS_AGENT_X_SOCK_GROUP); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
140 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
141 |
+ char name[sizeof(struct sockaddr_un) + 1]; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
142 |
+ memcpy(name, t->local, t->local_length); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
143 |
+ name[t->local_length] = '\0'; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
144 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
145 |
+ if (agentx_sock_perm != 0) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
146 |
+ chmod(name, agentx_sock_perm); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
147 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
148 |
+ if (agentx_sock_user || agentx_sock_group) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
149 |
+ /* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
150 |
+ * If either of user or group haven't been set, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
151 |
+ * then leave them unchanged. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
152 |
+ */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
153 |
+ if (agentx_sock_user == 0 ) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
154 |
+ agentx_sock_user = -1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
155 |
+ if (agentx_sock_group == 0 ) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
156 |
+ agentx_sock_group = -1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
157 |
+ chown(name, agentx_sock_user, agentx_sock_group); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
158 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
159 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
160 |
#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
161 |
+ session = |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
162 |
+ snmp_add_full(&sess, t, NULL, agentx_parse, NULL, NULL, |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
163 |
+ agentx_realloc_build, agentx_check_packet, NULL); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
164 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
165 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
166 |
+ if (session == NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
167 |
+ netsnmp_transport_free(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
168 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
169 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
170 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
171 |
+#ifdef NETSNMP_TRANSPORT_UNIX_DOMAIN |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
172 |
+ netsnmp_unix_dont_create_path(); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
173 |
+#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
174 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
175 |
SNMP_FREE(agentx_sockets); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
176 |
DEBUGMSGTL(("agentx/master", "initializing... DONE\n")); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
177 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
178 |
--- net-snmp-5.4.1/include/net-snmp/library/snmpUnixDomain.h 2006-10-27 13:19:44.000000000 -0700 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
179 |
+++ copy_net-snmp-5.4.1/include/net-snmp/library/snmpUnixDomain.h 2016-01-29 03:24:45.623926107 -0800 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
180 |
@@ -41,9 +41,20 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
181 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
182 |
void netsnmp_unix_ctor(void); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
183 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
184 |
+/* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
185 |
+ * Support functions |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
186 |
+ */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
187 |
+void netsnmp_unix_create_path_with_mode(int mode); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
188 |
+void netsnmp_unix_dont_create_path(void); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
189 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
190 |
#ifdef __cplusplus |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
191 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
192 |
#endif |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
193 |
+#else |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
194 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
195 |
+#define netsnmp_unix_create_path_with_mode(x) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
196 |
+#define netsnmp_unix_dont_create_path() |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
197 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
198 |
#endif /*NETSNMP_TRANSPORT_UNIX_DOMAIN */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
199 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
200 |
#endif/*_SNMPUNIXDOMAIN_H*/ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
201 |
--- net-snmp-5.4.1/snmplib/snmpUnixDomain.c 2007-04-30 03:07:13.000000000 -0700 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
202 |
+++ copy_net-snmp-5.4.1/snmplib/snmpUnixDomain.c 2016-01-29 03:30:08.333575786 -0800 |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
203 |
@@ -252,7 +252,25 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
204 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
205 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
206 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
207 |
+static int create_path = 0; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
208 |
+static mode_t create_mode; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
209 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
210 |
+/** If trying to create unix sockets in nonexisting directories then |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
211 |
+ * try to create the directory with mask mode. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
212 |
+ */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
213 |
+void netsnmp_unix_create_path_with_mode(int mode) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
214 |
+{ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
215 |
+ create_path = 1; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
216 |
+ create_mode = mode; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
217 |
+} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
218 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
219 |
+/** If trying to create unix sockets in nonexisting directories then |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
220 |
+ * fail. |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
221 |
+ */ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
222 |
+void netsnmp_unix_dont_create_path(void) |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
223 |
+{ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
224 |
+ create_path = 0; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
225 |
+} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
226 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
227 |
/* |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
228 |
* Open a Unix-domain transport for SNMP. Local is TRUE if addr is the local |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
229 |
@@ -308,7 +326,7 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
230 |
t->flags = NETSNMP_TRANSPORT_FLAG_STREAM; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
231 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
232 |
if (local) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
233 |
- t->local = (u_char *)malloc(strlen(addr->sun_path)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
234 |
+ t->local = (u_char *)malloc(strlen(addr->sun_path)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
235 |
if (t->local == NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
236 |
netsnmp_transport_free(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
237 |
return NULL; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
238 |
@@ -325,6 +343,16 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
239 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
240 |
unlink(addr->sun_path); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
241 |
rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
242 |
+ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
243 |
+ if (rc != 0 && errno == ENOENT && create_path) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
244 |
+ rc = mkdirhier(addr->sun_path, create_mode, 1); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
245 |
+ if (rc != 0) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
246 |
+ netsnmp_unix_close(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
247 |
+ netsnmp_transport_free(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
248 |
+ return NULL; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
249 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
250 |
+ rc = bind(t->sock, (struct sockaddr *) addr, SUN_LEN(addr)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
251 |
+ } |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
252 |
if (rc != 0) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
253 |
DEBUGMSGTL(("netsnmp_unix_transport", |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
254 |
"couldn't bind \"%s\", errno %d (%s)\n", |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
255 |
@@ -358,7 +386,7 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
256 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
257 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
258 |
} else { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
259 |
- t->remote = (u_char *)malloc(strlen(addr->sun_path)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
260 |
+ t->remote = (u_char *)malloc(strlen(addr->sun_path)); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
261 |
if (t->remote == NULL) { |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
262 |
netsnmp_transport_free(t); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
263 |
return NULL; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
264 |
@@ -385,8 +413,8 @@ |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
265 |
sup->server.sun_family = AF_UNIX; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
266 |
strcpy(sup->server.sun_path, addr->sun_path); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
267 |
sup->local = 0; |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
268 |
- netsnmp_sock_buffer_set(t->sock, SO_SNDBUF, local, 0); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
269 |
- netsnmp_sock_buffer_set(t->sock, SO_RCVBUF, local, 0); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
270 |
+ netsnmp_sock_buffer_set(t->sock, SO_SNDBUF, local, 0); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
271 |
+ netsnmp_sock_buffer_set(t->sock, SO_RCVBUF, local, 0); |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
272 |
} |
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
273 |
|
382d4e90640b
22761186 Error: Couldn't open a master agentx socket to listen on
Vishwas Shekarappa Gudiyavar <vishwas.shekarappa.gudiyavar@oracle.com>
parents:
diff
changeset
|
274 |
/* |