Fixed Web Power Switch nonce counter

Ylian Saint-Hilaire committed Jan 6, 2022 at 15:21 UTC 606c8d2d7b79e178a821caaa13ae4579b8d697c3
1 file changed +3 -2
meshipkvm.js
+3 -2
@@ -756,6 +756,7 @@ function CreateWebPowerSwitch(parent, hostname, port, username, password) {
756 var retryTimer = null;
757 var challenge = null;
758 var challengeRetry = 0;
759 + var nonceCounter = 1;
760
761 obj.state = 0; // 0 = Disconnected, 1 = Connecting, 2 = Connected
762 obj.ports = [];
@@ -872,7 +873,7 @@ function CreateWebPowerSwitch(parent, hostname, port, username, password) {
873 if (challenge != null) {
874 const buf = Buffer.alloc(10);
875 challenge.cnonce = crypto.randomFillSync(buf).toString('hex');
875 - challenge.nc = '00000001';
876 + challenge.nc = nonceCounter++;
877 const ha1 = crypto.createHash('md5');
878 ha1.update([username, challenge.realm, password].join(':'));
879 var xha1 = ha1.digest('hex')
@@ -886,7 +887,7 @@ function CreateWebPowerSwitch(parent, hostname, port, username, password) {
887 "realm": challenge.realm,
888 "nonce": challenge.nonce,
889 "uri": options.path,
889 - "response": response.digest("hex"),
890 + "response": response.digest('hex'),
891 "cnonce": challenge.cnonce,
892 "opaque": challenge.opaque
893 };