Add SNMPv3 support and update to latest deps

closes #705
This commit is contained in:
Steve-Mcl
2022-04-21 16:49:03 +01:00
parent 4b99a5f4d1
commit a7762ea91b
3 changed files with 572 additions and 445 deletions

View File

@@ -1,3 +1,47 @@
<style id="node-red-node-snmp-common-style">
.form-row.form-row-snmpv1v2.hidden {
display: none !important;
}
.form-row.form-row-snmpv3.hidden {
display: none !important;
}
.form-row.form-row-snmpv3-auth.hidden {
display: none;
}
</style>
<script type="text/javascript" id="node-red-node-snmp-common-script">
const node_snmp_common = {
oneditprepare: function (node) {
$("#node-input-version").on("change", function(evt) {
const isV3 = $("#node-input-version").val() === "v3";
$(".form-row-snmpv1v2").toggleClass("hidden", isV3);
$(".form-row-snmpv3").toggleClass("hidden", !isV3);
$("#node-input-auth").trigger("change");
});
$("#node-input-auth").on("change", function(evt) {
const isV3 = $("#node-input-version").val() === "v3";
const auth = $("#node-input-auth").val();
if(isV3) {
switch (auth) {
case "authNoPriv":
$(".form-row-snmpv3-auth").toggleClass("hidden", false);
$(".form-row-snmpv3-priv").toggleClass("hidden", true);
break;
case "authPriv":
$(".form-row-snmpv3-auth").toggleClass("hidden", false);
$(".form-row-snmpv3-priv").toggleClass("hidden", false);
break;
default: //"noAuthNoPriv":
$(".form-row-snmpv3-auth").toggleClass("hidden", true);
$(".form-row-snmpv3-priv").toggleClass("hidden", true);
break;
}
}
});
$("#node-input-version").trigger("change");
}
}
</script>
<script type="text/html" data-template-name="snmp">
<div class="form-row">
<label for="node-input-host"><i class="fa fa-globe"></i> Host</label>
@@ -13,43 +57,43 @@
<span style="margin-left:50px;">Timeout</span>
<input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;">&nbsp;S
</div>
<div class="form-row">
<div class="form-row form-row-snmpv1v2">
<label for="node-input-community"><i class="fa fa-user"></i> Community</label>
<input type="text" id="node-input-community" placeholder="public">
</div>
<!-- Following Data is used for V3 Only -->
<div class="form-row">
<div class="form-row form-row-snmpv3">
<label for="node-input-username"><i class="fa fa-user"></i> Username</label>
<input type="text" id="node-input-username" placeholder="username">
</div>
<div class="form-row">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth. </label>
<div class="form-row form-row-snmpv3">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
<select type="text" id="node-input-auth" style="width:150px;">
<option value="noAuthNoPriv">noAuthNoPriv</option>
<option value="authNoPriv">authNoPriv</option>
<option value="authPriv">authPriv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authprot"><i class="fa fa-user-secret"></i> Auth.Prot. </label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
<select type="text" id="node-input-authprot" style="width:150px;">
<option value="None">None</option>
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
</select>
<span style="margin-left:50px;">Priv.Prot.</span>
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
<select type="text" id="node-input-privprot" style="width:150px;">
<option value="None">None</option>
<option value="DES">DES</option>
<option value="AES">AES</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authkey"><i class="fa fa-user"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row">
<label for="node-input-privkey"><i class="fa fa-user"></i> Priv.Key</label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
<input type="password" id="node-input-privkey" placeholder="Encryption key">
</div>
<!-- End of unique data for V3 -->
@@ -68,9 +112,9 @@
<p>Simple SNMP oid or oid list fetcher. Triggered by any input.</p>
<p><code>msg.host</code> may contain the host.</p>
<p><code>msg.community</code> may contain the community.</p>
<p><code>msg.username</code> may contain the username.</p>
<p><code>msg.authkey</code> may contain the digest security key.</p>
<p><code>msg.privkey</code> may contain the encryption security key.</p>
<p><code>msg.username</code> may contain the username. (V3 only)</p>
<p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
<p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
<p><code>msg.oid</code> may contain a comma separated list of oids to request. (no spaces)</p>
<p>OIDs must be numeric. iso. is the same a 1. </p>
<p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
@@ -85,14 +129,16 @@
version: { value: "v1", required: true },
timeout: { value: 5 },
community: { value: "public" },
username: { value: "" },
auth: { value: "noAuthNoPriv", required: true },
authprot: { value: "None", required: true },
privprot: { value: "None", required: true },
authkey: { value: "" },
privkey: { value: "" },
authprot: { value: "MD5", required: true },
privprot: { value: "DES", required: true },
oids: { value: "" },
name: { value: "" }
name: { value: "" },
},
credentials: {
username: { type: "text" },
authkey: { type: "password" },
privkey: { type: "password" }
},
inputs: 1,
outputs: 1,
@@ -102,6 +148,9 @@
},
labelStyle: function () {
return this.name ? "node_label_italic" : "";
},
oneditprepare: function () {
node_snmp_common.oneditprepare(this);
}
});
</script>
@@ -123,49 +172,49 @@
<span style="margin-left:50px;">Timeout</span>
<input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;">&nbsp;S
</div>
<div class="form-row">
<div class="form-row form-row-snmpv1v2">
<label for="node-input-community"><i class="fa fa-user"></i> Community</label>
<input type="text" id="node-input-community" placeholder="public">
</div>
<!-- Following Data is used for V3 Only -->
<div class="form-row">
<div class="form-row form-row-snmpv3">
<label for="node-input-username"><i class="fa fa-user"></i> Username</label>
<input type="text" id="node-input-username" placeholder="username">
</div>
<div class="form-row">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth. </label>
<div class="form-row form-row-snmpv3">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
<select type="text" id="node-input-auth" style="width:150px;">
<option value="noAuthNoPriv">noAuthNoPriv</option>
<option value="authNoPriv">authNoPriv</option>
<option value="authPriv">authPriv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authprot"><i class="fa fa-user-secret"></i> Auth.Prot. </label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
<select type="text" id="node-input-authprot" style="width:150px;">
<option value="None">None</option>
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
</select>
<span style="margin-left:50px;">Priv.Prot.</span>
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
<select type="text" id="node-input-privprot" style="width:150px;">
<option value="None">None</option>
<option value="DES">DES</option>
<option value="AES">AES</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authkey"><i class="fa fa-user"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row">
<label for="node-input-privkey"><i class="fa fa-user"></i> Priv.Key</label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
<input type="password" id="node-input-privkey" placeholder="Encryption key">
</div>
<!-- End of unique data for V3 -->
<div class="form-row">
<label for="node-input-varbinds"><i class="fa fa-tags"></i> Varbinds</label>
<textarea rows="10" cols="60" id="node-input-varbinds" placeholder="e.g. [ { &quot;oid&quot;: &quot;1.3.6.1.2.1.1.5.0&quot;,&quot;type&quot;: &quot;OctetString&quot;,&quot;value&quot;: &quot;host1&quot;},{&quot;oid&quot;: &quot;1.3.6.1.2.1.1.6.0&quot;,&quot;type&quot;: &quot;OctetString&quot;,value: &quot;somewhere&quot;}]"
<textarea rows="10" cols="60" id="node-input-varbinds" placeholder="e.g. [ { &quot;oid&quot;: &quot;1.3.6.1.2.1.1.5.0&quot;, &quot;type&quot;: &quot;OctetString&quot;, &quot;value&quot;: &quot;host1&quot;}, { &quot;oid&quot;: &quot;1.3.6.1.2.1.1.6.0&quot;, &quot;type&quot;: &quot;OctetString&quot;, value: &quot;somewhere&quot; } ]"
style="width:70%;"></textarea>
</div>
<div class="form-row">
@@ -179,18 +228,18 @@
<p>Simple snmp Set node. Trigger by any input</p>
<p><code>msg.host</code> may contain the host.</p>
<p><code>msg.community</code> may contain the community.</p>
<p><code>msg.username</code> may contain the username.</p>
<p><code>msg.authkey</code> may contain the digest security key.</p>
<p><code>msg.privkey</code> may contain the encryption security key.</p>
<p><code>msg.username</code> may contain the username. (V3 only)</p>
<p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
<p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
<p><code>msg.varbinds</code> may contain varbinds as an array of json objects containing multiple oids, types and values.
<pre>[
{
"oid": "1.3.6.1.2.1.1.5.0",
"type": "OctetString",
"value": "host1"
},
{ "oid": ... }
]</pre>
<code style="font-size: smaller;"><pre style="white-space: pre;">[
{
"oid": "1.3.6.1.2.1.1.5.0",
"type": "OctetString",
"value": "host1"
},
{ "oid": ... }
]</pre></code>
<p>Any numeric inputs must be numbers, not strings, e.g. 1 not "1".</p>
<p>OIDs must be numeric. iso. is the same a 1.</p>
</p>
@@ -205,15 +254,24 @@
version: { value: "v1", required: true },
timeout: { value: 5 },
community: { value: "public" },
username: { value: "" },
auth: { value: "noAuthNoPriv", required: true },
authprot: { value: "None", required: true },
privprot: { value: "None", required: true },
authkey: { value: "" },
privkey: { value: "" },
varbinds: { value: "" },
authprot: { value: "MD5", required: true },
privprot: { value: "DES", required: true },
oids: { value: "" },
varbinds: { value: "", validate:function(v) {
try {
return !v || !!JSON.parse(v);
} catch(e) {
return false;
}
}},
name: { value: "" }
},
credentials: {
username: { type: "text" },
authkey: { type: "password" },
privkey: { type: "password" }
},
inputs: 1,
outputs: 0,
icon: "snmp.png",
@@ -222,6 +280,9 @@
},
labelStyle: function () {
return this.name ? "node_label_italic" : "";
},
oneditprepare: function () {
node_snmp_common.oneditprepare(this);
}
});
</script>
@@ -243,43 +304,43 @@
<span style="margin-left:50px;">Timeout</span>
<input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;">&nbsp;S
</div>
<div class="form-row">
<div class="form-row form-row-snmpv1v2">
<label for="node-input-community"><i class="fa fa-user"></i> Community</label>
<input type="text" id="node-input-community" placeholder="public">
</div>
<!-- Following Data is used for V3 Only -->
<div class="form-row">
<div class="form-row form-row-snmpv3">
<label for="node-input-username"><i class="fa fa-user"></i> Username</label>
<input type="text" id="node-input-username" placeholder="username">
</div>
<div class="form-row">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth. </label>
<div class="form-row form-row-snmpv3">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
<select type="text" id="node-input-auth" style="width:150px;">
<option value="noAuthNoPriv">noAuthNoPriv</option>
<option value="authNoPriv">authNoPriv</option>
<option value="authPriv">authPriv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authprot"><i class="fa fa-user-secret"></i> Auth.Prot. </label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
<select type="text" id="node-input-authprot" style="width:150px;">
<option value="None">None</option>
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
</select>
<span style="margin-left:50px;">Priv.Prot.</span>
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
<select type="text" id="node-input-privprot" style="width:150px;">
<option value="None">None</option>
<option value="DES">DES</option>
<option value="AES">AES</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authkey"><i class="fa fa-user"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row">
<label for="node-input-privkey"><i class="fa fa-user"></i> Priv.Key</label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
<input type="password" id="node-input-privkey" placeholder="Encryption key">
</div>
<!-- End of unique data for V3 -->
@@ -298,9 +359,9 @@
<p>Simple SNMP oid table fetcher. Triggered by any input.</p>
<p><code>msg.host</code> may contain the host.</p>
<p><code>msg.community</code> may contain the community.</p>
<p><code>msg.username</code> may contain the username.</p>
<p><code>msg.authkey</code> may contain the digest security key.</p>
<p><code>msg.privkey</code> may contain the encryption security key.</p>
<p><code>msg.username</code> may contain the username. (V3 only)</p>
<p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
<p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
<p><code>msg.oid</code> may contain the oid of a table to request.</p>
<p>OID must be numeric. iso. is the same a 1.</p>
<p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
@@ -315,15 +376,17 @@
version: { value: "v1", required: true },
timeout: { value: 5 },
community: { value: "public" },
username: { value: "" },
auth: { value: "noAuthNoPriv", required: true },
authprot: { value: "None", required: true },
privprot: { value: "None", required: true },
authkey: { value: "" },
privkey: { value: "" },
authprot: { value: "MD5", required: true },
privprot: { value: "DES", required: true },
oids: { value: "" },
name: { value: "" }
},
credentials: {
username: { type: "text" },
authkey: { type: "password" },
privkey: { type: "password" }
},
inputs: 1,
outputs: 1,
icon: "snmp.png",
@@ -332,6 +395,9 @@
},
labelStyle: function () {
return this.name ? "node_label_italic" : "";
},
oneditprepare: function () {
node_snmp_common.oneditprepare(this);
}
});
</script>
@@ -353,43 +419,43 @@
<span style="margin-left:50px;">Timeout</span>
<input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;">&nbsp;S
</div>
<div class="form-row">
<div class="form-row form-row-snmpv1v2">
<label for="node-input-community"><i class="fa fa-user"></i> Community</label>
<input type="text" id="node-input-community" placeholder="public">
</div>
<!-- Following Data is used for V3 Only -->
<div class="form-row">
<div class="form-row form-row-snmpv3">
<label for="node-input-username"><i class="fa fa-user"></i> Username</label>
<input type="text" id="node-input-username" placeholder="username">
</div>
<div class="form-row">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth. </label>
<div class="form-row form-row-snmpv3">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
<select type="text" id="node-input-auth" style="width:150px;">
<option value="noAuthNoPriv">noAuthNoPriv</option>
<option value="authNoPriv">authNoPriv</option>
<option value="authPriv">authPriv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authprot"><i class="fa fa-user-secret"></i> Auth.Prot. </label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
<select type="text" id="node-input-authprot" style="width:150px;">
<option value="None">None</option>
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
</select>
<span style="margin-left:50px;">Priv.Prot.</span>
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
<select type="text" id="node-input-privprot" style="width:150px;">
<option value="None">None</option>
<option value="DES">DES</option>
<option value="AES">AES</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authkey"><i class="fa fa-user"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row">
<label for="node-input-privkey"><i class="fa fa-user"></i> Priv.Key</label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
<input type="password" id="node-input-privkey" placeholder="Encryption key">
</div>
<!-- End of unique data for V3 -->
@@ -408,9 +474,9 @@
<p>Simple SNMP oid subtree fetcher. Triggered by any input. Reads all OIDS at and below the current base OID.</p>
<p><code>msg.host</code> may contain the host.</p>
<p><code>msg.community</code> may contain the community.</p>
<p><code>msg.username</code> may contain the username.</p>
<p><code>msg.authkey</code> may contain the digest security key.</p>
<p><code>msg.privkey</code> may contain the encryption security key.</p>
<p><code>msg.username</code> may contain the username. (V3 only)</p>
<p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
<p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
<p><code>msg.oid</code> may contain the oid of a table to request.</p>
<p>OID must be numeric. iso. is the same a 1. </p>
<p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
@@ -425,15 +491,17 @@
version: { value: "v1", required: true },
timeout: { value: 5 },
community: { value: "public" },
username: { value: "" },
auth: { value: "noAuthNoPriv", required: true },
authprot: { value: "None", required: true },
privprot: { value: "None", required: true },
authkey: { value: "" },
privkey: { value: "" },
authprot: { value: "MD5", required: true },
privprot: { value: "DES", required: true },
oids: { value: "" },
name: { value: "" }
},
credentials: {
username: { type: "text" },
authkey: { type: "password" },
privkey: { type: "password" }
},
inputs: 1,
outputs: 1,
icon: "snmp.png",
@@ -442,6 +510,9 @@
},
labelStyle: function () {
return this.name ? "node_label_italic" : "";
},
oneditprepare: function () {
node_snmp_common.oneditprepare(this);
}
});
</script>
@@ -464,43 +535,43 @@
<span style="margin-left:50px;">Timeout</span>
<input type="text" id="node-input-timeout" placeholder="secs" style="width:50px; direction:rtl; vertical-align:baseline;">&nbsp;S
</div>
<div class="form-row">
<div class="form-row form-row-snmpv1v2">
<label for="node-input-community"><i class="fa fa-user"></i> Community</label>
<input type="text" id="node-input-community" placeholder="public">
</div>
<!-- Following Data is used for V3 Only -->
<div class="form-row">
<div class="form-row form-row-snmpv3">
<label for="node-input-username"><i class="fa fa-user"></i> Username</label>
<input type="text" id="node-input-username" placeholder="username">
</div>
<div class="form-row">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth. </label>
<div class="form-row form-row-snmpv3">
<label for="node-input-auth"><i class="fa fa-user-secret"></i> Auth.</label>
<select type="text" id="node-input-auth" style="width:150px;">
<option value="noAuthNoPriv">noAuthNoPriv</option>
<option value="authNoPriv">authNoPriv</option>
<option value="authPriv">authPriv</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authprot"><i class="fa fa-user-secret"></i> Auth.Prot. </label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authprot"><i class="fa fa-shield"></i> Auth.Prot.</label>
<select type="text" id="node-input-authprot" style="width:150px;">
<option value="None">None</option>
<option value="MD5">MD5</option>
<option value="SHA">SHA</option>
</select>
<span style="margin-left:50px;">Priv.Prot.</span>
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-auth">
<label for="node-input-authkey"><i class="fa fa-key"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privprot"><i class="fa fa-shield"></i> Priv.Prot.</label>
<select type="text" id="node-input-privprot" style="width:150px;">
<option value="None">None</option>
<option value="DES">DES</option>
<option value="AES">AES</option>
</select>
</div>
<div class="form-row">
<label for="node-input-authkey"><i class="fa fa-user"></i> Auth.Key</label>
<input type="password" id="node-input-authkey" placeholder="Authentication key">
</div>
<div class="form-row">
<label for="node-input-privkey"><i class="fa fa-user"></i> Priv.Key</label>
<div class="form-row form-row-snmpv3 form-row-snmpv3-priv">
<label for="node-input-privkey"><i class="fa fa-key"></i> Priv.Key</label>
<input type="password" id="node-input-privkey" placeholder="Encryption key">
</div>
<!-- End of unique data for V3 -->
@@ -520,9 +591,9 @@
Fetches all nodes from this OID to the end of the table.</p>
<p><code>msg.host</code> may contain the host.</p>
<p><code>msg.community</code> may contain the community.</p>
<p><code>msg.username</code> may contain the username.</p>
<p><code>msg.authkey</code> may contain the digest security key.</p>
<p><code>msg.privkey</code> may contain the encryption security key.</p>
<p><code>msg.username</code> may contain the username. (V3 only)</p>
<p><code>msg.authkey</code> may contain the digest security key. (V3 only)</p>
<p><code>msg.privkey</code> may contain the encryption security key. (V3 only)</p>
<p><code>msg.oid</code> may contain the oid of a table to request.</p>
<p>OID must be numeric. iso. is the same a 1. </p>
<p>The node will output <code>msg.payload</code> and <code>msg.oid</code>.</p>
@@ -539,15 +610,17 @@
version: { value: "v1", required: true },
timeout: { value: 5 },
community: { value: "public" },
username: { value: "" },
auth: { value: "noAuthNoPriv", required: true },
authprot: { value: "None", required: true },
privprot: { value: "None", required: true },
authkey: { value: "" },
privkey: { value: "" },
authprot: { value: "MD5", required: true },
privprot: { value: "DES", required: true },
oids: { value: "" },
name: { value: "" }
},
credentials: {
username: { type: "text" },
authkey: { type: "password" },
privkey: { type: "password" }
},
inputs: 1,
outputs: 1,
icon: "snmp.png",
@@ -556,6 +629,9 @@
},
labelStyle: function () {
return this.name ? "node_label_italic" : "";
},
oneditprepare: function () {
node_snmp_common.oneditprepare(this);
}
});
</script>