From af42a57f40838ad0270b8c40238ee54b6279a197 Mon Sep 17 00:00:00 2001 From: Dominic Ernst Date: Wed, 12 Oct 2022 10:25:00 +0200 Subject: [PATCH] Apply open62541#4883 fix Fix wrong callback being invoked in UA_Client_Subscriptions_processPublishResponse, which led to client disconnect on PublishRequest expiration. --- src/3rdparty/open62541/open62541.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/open62541/open62541.c b/src/3rdparty/open62541/open62541.c index 9d508ae..9e07518 100644 --- a/src/3rdparty/open62541/open62541.c +++ b/src/3rdparty/open62541/open62541.c @@ -45787,8 +45787,12 @@ UA_Client_Subscriptions_processPublishResponse(UA_Client *client, UA_PublishRequ } if(response->responseHeader.serviceResult == UA_STATUSCODE_BADTIMEOUT) { - if (client->config.inactivityCallback) - client->config.inactivityCallback(client); + if (client->config.subscriptionInactivityCallback) { + UA_Client_Subscription* sub = findSubscription(client, response->subscriptionId); + if (sub != NULL) + client->config.subscriptionInactivityCallback(client, sub->subscriptionId, + sub->context); + } UA_LOG_WARNING(&client->config.logger, UA_LOGCATEGORY_CLIENT, "Received Timeout for Publish Response"); return; -- 2.23.0.windows.1