Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package paho-mqtt-c for openSUSE:Factory checked in at 2025-07-16 15:52:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/paho-mqtt-c (Old) and /work/SRC/openSUSE:Factory/.paho-mqtt-c.new.7373 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "paho-mqtt-c" Wed Jul 16 15:52:05 2025 rev:9 rq:1293490 version:1.3.14 Changes: -------- --- /work/SRC/openSUSE:Factory/paho-mqtt-c/paho-mqtt-c.changes 2024-04-10 17:51:32.707023331 +0200 +++ /work/SRC/openSUSE:Factory/.paho-mqtt-c.new.7373/paho-mqtt-c.changes 2025-07-16 15:52:59.411806585 +0200 @@ -1,0 +2,21 @@ +Thu Jul 10 15:20:58 UTC 2025 - Antonio Teixeira <antonio.teixe...@suse.com> + +- Update to 1.3.14: + * Mainly a service release. Issues fixed: + https://github.com/eclipse-paho/paho.mqtt.c/milestone/21?closed=1 + * Unix domain socket support + * HTTP proxy improvements + * the environment variable PAHO_C_CLIENT_USE_HTTP_PROXY must be + set to TRUE for http_proxy environment variable to be used + * the http_proxy environment variable to be read is lower case only + * the no_proxy environment variable can be set to exclude hosts from + using an environment set proxy +- Fix builds with GCC15 (gh#eclipse-paho/paho.mqtt.c#1576) + * fix-build-gcc15.patch +- Ensure argument for isprint and isxdigit is in the correct range + (gh#eclipse-paho/paho.mqtt.c#1565) + * fix-char-range.patch +- Fix handling of MQTT 5 reason codes (gh#eclipse-paho/paho.mqtt.c#1596) + * fix-reason-code-handling.patch + +------------------------------------------------------------------- Old: ---- paho.mqtt.c-1.3.13.tar.gz New: ---- fix-build-gcc15.patch fix-char-range.patch fix-reason-code-handling.patch paho.mqtt.c-1.3.14.tar.gz ----------(New B)---------- New:- Fix builds with GCC15 (gh#eclipse-paho/paho.mqtt.c#1576) * fix-build-gcc15.patch - Ensure argument for isprint and isxdigit is in the correct range New: (gh#eclipse-paho/paho.mqtt.c#1565) * fix-char-range.patch - Fix handling of MQTT 5 reason codes (gh#eclipse-paho/paho.mqtt.c#1596) New:- Fix handling of MQTT 5 reason codes (gh#eclipse-paho/paho.mqtt.c#1596) * fix-reason-code-handling.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ paho-mqtt-c.spec ++++++ --- /var/tmp/diff_new_pack.Arsam4/_old 2025-07-16 15:53:01.123878029 +0200 +++ /var/tmp/diff_new_pack.Arsam4/_new 2025-07-16 15:53:01.127878196 +0200 @@ -1,7 +1,7 @@ # # spec file for package paho-mqtt-c # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,12 +18,15 @@ %define sover 1 Name: paho-mqtt-c -Version: 1.3.13 +Version: 1.3.14 Release: 0 Summary: MQTT C Client License: BSD-3-Clause AND EPL-1.0 URL: https://eclipse.org/paho/clients/c/ Source: https://github.com/eclipse/paho.mqtt.c/archive/v%{version}.tar.gz#/paho.mqtt.c-%{version}.tar.gz +Patch1: fix-build-gcc15.patch +Patch2: fix-reason-code-handling.patch +Patch3: fix-char-range.patch BuildRequires: cmake BuildRequires: fdupes BuildRequires: gcc @@ -48,7 +51,7 @@ Development files for the the Paho MQTT C Client. %prep -%setup -q -n paho.mqtt.c-%{version} +%autosetup -p1 -n paho.mqtt.c-%{version} %build %cmake -DPAHO_WITH_SSL=TRUE -DPAHO_BUILD_DOCUMENTATION=FALSE -DPAHO_BUILD_SAMPLES=FALSE -DPAHO_ENABLE_TESTING=FALSE -DPAHO_ENABLE_CPACK=FALSE .. ++++++ fix-build-gcc15.patch ++++++ >From de9b43580aa1bb8703f256f994aa16e12d4b1d56 Mon Sep 17 00:00:00 2001 From: fpagliughi <fpagliu...@mindspring.com> Date: Wed, 14 May 2025 17:56:02 -0400 Subject: [PATCH] #1576 Changed 'bool' typedef to 'bit' --- src/MQTTPacket.h | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/MQTTPacket.h b/src/MQTTPacket.h index fd384ae9b..04c217ef8 100644 --- a/src/MQTTPacket.h +++ b/src/MQTTPacket.h @@ -28,7 +28,7 @@ #include "LinkedList.h" #include "Clients.h" -typedef unsigned int bool; +typedef unsigned int bit; typedef void* (*pf)(int, unsigned char, char*, size_t); #include "MQTTProperties.h" @@ -67,16 +67,16 @@ typedef union struct { unsigned int type : 4; /**< message type nibble */ - bool dup : 1; /**< DUP flag bit */ + bit dup : 1; /**< DUP flag bit */ unsigned int qos : 2; /**< QoS value, 0, 1 or 2 */ - bool retain : 1; /**< retained flag bit */ + bit retain : 1; /**< retained flag bit */ } bits; #else struct { - bool retain : 1; /**< retained flag bit */ + bit retain : 1; /**< retained flag bit */ unsigned int qos : 2; /**< QoS value, 0, 1 or 2 */ - bool dup : 1; /**< DUP flag bit */ + bit dup : 1; /**< DUP flag bit */ unsigned int type : 4; /**< message type nibble */ } bits; #endif @@ -95,24 +95,24 @@ typedef struct #if defined(REVERSED) struct { - bool username : 1; /**< 3.1 user name */ - bool password : 1; /**< 3.1 password */ - bool willRetain : 1; /**< will retain setting */ + bit username : 1; /**< 3.1 user name */ + bit password : 1; /**< 3.1 password */ + bit willRetain : 1; /**< will retain setting */ unsigned int willQoS : 2; /**< will QoS value */ - bool will : 1; /**< will flag */ - bool cleanstart : 1; /**< cleansession flag */ + bit will : 1; /**< will flag */ + bit cleanstart : 1; /**< cleansession flag */ int : 1; /**< unused */ } bits; #else struct { int : 1; /**< unused */ - bool cleanstart : 1; /**< cleansession flag */ - bool will : 1; /**< will flag */ + bit cleanstart : 1; /**< cleansession flag */ + bit will : 1; /**< will flag */ unsigned int willQoS : 2; /**< will QoS value */ - bool willRetain : 1; /**< will retain setting */ - bool password : 1; /**< 3.1 password */ - bool username : 1; /**< 3.1 user name */ + bit willRetain : 1; /**< will retain setting */ + bit password : 1; /**< 3.1 password */ + bit username : 1; /**< 3.1 user name */ } bits; #endif } flags; /**< connect flags byte */ @@ -140,12 +140,12 @@ typedef struct struct { unsigned int reserved : 7; /**< message type nibble */ - bool sessionPresent : 1; /**< was a session found on the server? */ + bit sessionPresent : 1; /**< was a session found on the server? */ } bits; #else struct { - bool sessionPresent : 1; /**< was a session found on the server? */ + bit sessionPresent : 1; /**< was a session found on the server? */ unsigned int reserved : 7; /**< message type nibble */ } bits; #endif ++++++ fix-char-range.patch ++++++ >From bba72469721fd3c7628fda61e3081f802fe73907 Mon Sep 17 00:00:00 2001 From: Ian Craggs <icra...@gmail.com> Date: Mon, 17 Feb 2025 18:51:13 +0000 Subject: [PATCH] Ensure argument for isprint and isxdigit is in the correct range #1565 --- src/MQTTPacket.c | 4 ++-- src/MQTTVersion.c | 4 ++-- src/Proxy.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MQTTPacket.c b/src/MQTTPacket.c index 40cb4d415..a67c92041 100644 --- a/src/MQTTPacket.c +++ b/src/MQTTPacket.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2024 IBM Corp. and Ian Craggs + * Copyright (c) 2009, 2025 IBM Corp. and Ian Craggs * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 @@ -860,7 +860,7 @@ int MQTTPacket_formatPayload(int buflen, char* buf, int payloadlen, char* payloa for (i = 0; i < payloadlen; i++) { - if (isprint(payload[i])) + if (isprint((unsigned char)payload[i])) { if (pos >= buflen) break; diff --git a/src/MQTTVersion.c b/src/MQTTVersion.c index 92cd020c1..bba9708de 100644 --- a/src/MQTTVersion.c +++ b/src/MQTTVersion.c @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2020 IBM Corp. + * Copyright (c) 2012, 2025 IBM Corp. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v2.0 @@ -96,7 +96,7 @@ char* FindString(char* filename, const char* eyecatcher_input) char* ptr = value; c = fgetc(infile); /* skip space */ c = fgetc(infile); - while (isprint(c)) + while (isprint((unsigned char)c)) { *ptr++ = c; c = fgetc(infile); diff --git a/src/Proxy.c b/src/Proxy.c index bb9ad6826..60769f59b 100644 --- a/src/Proxy.c +++ b/src/Proxy.c @@ -272,7 +272,7 @@ void Proxy_specialChars(char* p0, char* p1, b64_size_t *basic_auth_in_len) { *p0++ = *p1++; } - else if (isxdigit(*(p1 + 1)) && isxdigit(*(p1 + 2))) + else if (isxdigit((unsigned char)*(p1 + 1)) && isxdigit((unsigned char)*(p1 + 2))) { /* next 2 characters are hexa digits */ char hex[3]; @@ -350,4 +350,4 @@ int Proxy_setHTTPProxy(Clients* aClient, char* source, char** dest, char** auth_ } exit: return rc; -} \ No newline at end of file +} ++++++ fix-reason-code-handling.patch ++++++ >From 9ef8f4d865657434ff36b24af2b8980c942bacaa Mon Sep 17 00:00:00 2001 From: Ian Craggs <icra...@gmail.com> Date: Tue, 6 May 2025 15:36:26 +0100 Subject: [PATCH] Put MQTT 5 reason code into the connect failure reason code field #1596 --- src/MQTTAsyncUtils.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/MQTTAsyncUtils.c b/src/MQTTAsyncUtils.c index c084a11e3..d8315514d 100644 --- a/src/MQTTAsyncUtils.c +++ b/src/MQTTAsyncUtils.c @@ -1703,7 +1703,15 @@ static void nextOrClose(MQTTAsyncs* m, int rc, char* message) MQTTAsync_failureData5 data = MQTTAsync_failureData5_initializer; data.token = 0; - data.code = rc; + if (rc > 0) /* MQTT Reason Codes are > 0; C client return codes are < 0 */ + { + /* MQTT 5 reason codes >= 0x00 and < 0x80 are successful, + * but in that case we should not get here but be calling + * onSuccess instead. */ + data.reasonCode = rc; + data.code = MQTTASYNC_FAILURE; + } else + data.code = rc; data.message = message; Log(TRACE_MIN, -1, "Calling connect failure for client %s", m->c->clientID); (*(m->connect.onFailure5))(m->connect.context, &data); ++++++ paho.mqtt.c-1.3.13.tar.gz -> paho.mqtt.c-1.3.14.tar.gz ++++++ ++++ 115200 lines of diff (skipped)