Skip to content

Commit 95edd14

Browse files
authored
Merge pull request #415 from sinricpro/fix-invalid-signature
fix: invalid signature error
2 parents f373a08 + 5f1f759 commit 95edd14

File tree

5 files changed

+26
-6
lines changed

5 files changed

+26
-6
lines changed

changelog.md

+4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
# Changelog
22

3+
## Version 3.4.1
4+
New:
5+
- Fix: invalid signature error message.
6+
37
## Version 3.4.0
48
New:
59
- Support Image upload on camera devices

library.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"maintainer": true
1414
}
1515
],
16-
"version": "3.4.0",
16+
"version": "3.4.1",
1717
"frameworks": "arduino",
1818
"platforms": [
1919
"espressif8266",

library.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=SinricPro
2-
version=3.4.0
2+
version=3.4.1
33
author=Boris Jaeger <[email protected]>
44
maintainer=Boris Jaeger <[email protected]>
55
sentence=Library for https://sinric.pro - simple way to connect your device to alexa

src/SinricPro.h

+19-3
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ class SinricProClass : public SinricProInterface {
127127
void handleDeviceRequest(JsonDocument& requestMessage, interface_t Interface);
128128
void handleModuleRequest(JsonDocument& requestMessage, interface_t Interface);
129129
void handleResponse(JsonDocument& responseMessage);
130+
void handleInvalidSignatureRequest(JsonDocument& requestMessage, interface_t Interface);
130131

131132
JsonDocument prepareRequest(String deviceId, const char* action);
132133

@@ -327,7 +328,7 @@ void SinricProClass::handleResponse(JsonDocument& responseMessage) {
327328
}
328329

329330
void SinricProClass::handleModuleRequest(JsonDocument& requestMessage, interface_t Interface) {
330-
DEBUG_SINRIC("[SinricPro.handleModuleScopeRequest()]: handling device sope request\r\n");
331+
DEBUG_SINRIC("[SinricPro.handleModuleScopeRequest()]: handling module scope request\r\n");
331332
#ifndef NODEBUG_SINRIC
332333
serializeJsonPretty(requestMessage, DEBUG_ESP_PORT);
333334
#endif
@@ -434,13 +435,28 @@ void SinricProClass::handleReceiveQueue() {
434435
}
435436
};
436437
} else {
437-
DEBUG_SINRIC("[SinricPro.handleReceiveQueue()]: Signature is invalid! \r\n");
438-
if (messageType == FSTR_SINRICPRO_request) handleDeviceRequest(jsonMessage, rawMessage->getInterface());
438+
handleInvalidSignatureRequest(jsonMessage, rawMessage->getInterface());
439439
}
440440
delete rawMessage;
441441
}
442442
}
443443

444+
void SinricProClass::handleInvalidSignatureRequest(JsonDocument& requestMessage, interface_t Interface) {
445+
DEBUG_SINRIC("[SinricPro.handleInvalidSignatureRequest()]: Signature is invalid!\r\n");
446+
447+
#ifndef NODEBUG_SINRIC
448+
serializeJsonPretty(requestMessage, DEBUG_ESP_PORT);
449+
#endif
450+
451+
JsonDocument responseMessage = prepareResponse(requestMessage);
452+
responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_success] = false;
453+
responseMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_message] = "Signature is invalid";
454+
455+
String responseString;
456+
serializeJson(responseMessage, responseString);
457+
sendQueue.push(new SinricProMessage(Interface, responseString.c_str()));
458+
}
459+
444460
void SinricProClass::handleSendQueue() {
445461
if (!isConnected()) return;
446462
if (!timestamp.getTimestamp()) return;

src/SinricProVersion.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
// Version Configuration
77
#define SINRICPRO_VERSION_MAJOR 3
88
#define SINRICPRO_VERSION_MINOR 4
9-
#define SINRICPRO_VERSION_REVISION 0
9+
#define SINRICPRO_VERSION_REVISION 1
1010
#define SINRICPRO_VERSION STR(SINRICPRO_VERSION_MAJOR) "." STR(SINRICPRO_VERSION_MINOR) "." STR(SINRICPRO_VERSION_REVISION)
1111
#define SINRICPRO_VERSION_STR "SinricPro (v" SINRICPRO_VERSION ")"
1212
#define SINRICPRO_VERISON_INT SINRICPRO_VERSION_MAJOR * 1000000 + SINRICPRO_VERSION_MINOR * 1000 + SINRICPRO_VERSION_REVISION

0 commit comments

Comments
 (0)