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