From 7061569bf4e8eee99cf6f90ef36308c4fd6fa3bf Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Mon, 4 Oct 2021 16:26:40 +0100 Subject: [PATCH] Don't send retained messages when a shared subscription is made. --- ChangeLog.txt | 1 + src/retain.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/ChangeLog.txt b/ChangeLog.txt index 739d16a1..38098d77 100644 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -7,6 +7,7 @@ Broker: true. Closes #2314. - Various fixes around inflight quota management. Closes #2306. - Fix problem parsing config files with Windows line endings. Closes #2297. +- Don't send retained messages when a shared subscription is made. Client library: - Initialise sockpairR/W to invalid in `mosquitto_reinitialise()` to avoid diff --git a/src/retain.c b/src/retain.c index 6e324afa..e5065daf 100644 --- a/src/retain.c +++ b/src/retain.c @@ -265,6 +265,10 @@ int retain__queue(struct mosquitto *context, const char *sub, uint8_t sub_qos, u assert(context); assert(sub); + if(!strncmp(sub, "$share/", strlen("$share/"))){ + return MOSQ_ERR_SUCCESS; + } + rc = sub__topic_tokenise(sub, &local_sub, &split_topics, NULL); if(rc) return rc;