Don't enforce receive-maximum on the broker

This commit is contained in:
Roger A. Light
2026-02-04 17:12:23 +00:00
parent fed19b596b
commit 4a1ba6049e
2 changed files with 8 additions and 0 deletions

View File

@@ -12,6 +12,8 @@
- Fix $SYS load values not being published initially. Closes #3459.
- Fix max_connections not being honoured on libwebsockets listeners. This does
not affect the built-in websockets support. Closes #3455.
- Don't enforce receive-maximum, just log a warning. This allows badly
behaving clients to be fixed. Closes #3471.
# Plugins
- Fix incorrect linking of libmosquitto_common.so for the acl and password

View File

@@ -108,9 +108,15 @@ int handle__accepted_publish(struct mosquitto *context, struct mosquitto__base_m
if(!cmsg_stored){
if(base_msg->data.qos > 0 && context->msgs_in.inflight_quota == 0){
log__printf(NULL, MOSQ_LOG_WARNING, "Client %s has exceeded its receive-maximum quota. This behaviour must be fixed on the client.", context->id);
#if 0
/* Badly behaving clients like on the esp32 fall foul of this
* check, so report it for now but don't disconnect, to give chance
* for the bad behaviour to be fixed. */
/* Client isn't allowed any more incoming messages, so fail early */
db__msg_store_free(base_msg);
return MOSQ_ERR_RECEIVE_MAXIMUM_EXCEEDED;
#endif
}
if(base_msg->data.qos == 0