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;