diff --git a/.vs/ESPHap/v15/.suo b/.vs/ESPHap/v15/.suo index 61d6f1b..d8778b9 100644 Binary files a/.vs/ESPHap/v15/.suo and b/.vs/ESPHap/v15/.suo differ diff --git a/.vs/slnx.sqlite b/.vs/slnx.sqlite index d2472e3..bfe3061 100644 Binary files a/.vs/slnx.sqlite and b/.vs/slnx.sqlite differ diff --git a/arduino_homekit_server.cpp b/arduino_homekit_server.cpp index 6d9279b..909a786 100644 --- a/arduino_homekit_server.cpp +++ b/arduino_homekit_server.cpp @@ -2073,6 +2073,7 @@ void homekit_server_on_pair_verify(client_context_t *context, const byte *data, tlv_free(decrypted_message); pair_verify_context_free(context->verify_context); context->verify_context = NULL; + send_tlv_error_response(context, 4, TLVError_Authentication); break; } diff --git a/examples/EspHap_GarageDoor/EspHap_GarageDoor.ino b/examples/EspHap_GarageDoor/EspHap_GarageDoor.ino index 5615c9b..1ba5317 100644 --- a/examples/EspHap_GarageDoor/EspHap_GarageDoor.ino +++ b/examples/EspHap_GarageDoor/EspHap_GarageDoor.ino @@ -33,7 +33,7 @@ extern "C"{ #ifdef ESP8266 #include "homekitintegrationcpp.h" #endif -#include +#include diff --git a/examples/EspHap_WindowCovering/EspHap_WindowCovering.ino b/examples/EspHap_WindowCovering/EspHap_WindowCovering.ino index 75fbace..e0d5452 100644 --- a/examples/EspHap_WindowCovering/EspHap_WindowCovering.ino +++ b/examples/EspHap_WindowCovering/EspHap_WindowCovering.ino @@ -41,7 +41,7 @@ extern "C"{ #ifdef ESP8266 #include "homekitintegrationcpp.h" #endif -#include +#include diff --git a/homeintegration.c b/homeintegration.c index 0abdcdf..e339352 100644 --- a/homeintegration.c +++ b/homeintegration.c @@ -33,7 +33,7 @@ #include "storage.h" #include "storage_ex.h" -#define MAX_SERVICES 20 +//#define MAX_SERVICES 20 static callback_storagechanged callbackstorage_integration=NULL; diff --git a/server.c b/server.c index 8895552..75b0702 100644 --- a/server.c +++ b/server.c @@ -1966,6 +1966,7 @@ void homekit_server_on_pair_verify(client_context_t *context, const byte *data, CLIENT_ERROR(context, "Failed to verify device signature (code %d)", r); pair_verify_context_free(context->verify_context); + homekit_storage_pairing_free(pairing); context->verify_context = NULL; send_tlv_error_response(context, 4, TLVError_Authentication); @@ -1991,7 +1992,7 @@ void homekit_server_on_pair_verify(client_context_t *context, const byte *data, pair_verify_context_free(context->verify_context); context->verify_context = NULL; - + homekit_storage_pairing_free(pairing); send_tlv_error_response(context, 4, TLVError_Unknown); break; } @@ -2012,7 +2013,7 @@ void homekit_server_on_pair_verify(client_context_t *context, const byte *data, if (r) { CLIENT_ERROR(context, "Failed to derive write encryption key (code %d)", r); - + homekit_storage_pairing_free(pairing); send_tlv_error_response(context, 4, TLVError_Unknown); break; } @@ -2025,7 +2026,7 @@ void homekit_server_on_pair_verify(client_context_t *context, const byte *data, context->pairing_id = pairing_id; context->permissions = permissions; context->encrypted = true; - + homekit_storage_pairing_free(pairing); HOMEKIT_NOTIFY_EVENT(context->server, HOMEKIT_EVENT_CLIENT_VERIFIED); CLIENT_INFO(context, "Verification successful, secure session established");