[Debian-iot-maintainers] Bug#964512: openzwave-controlpanel: FTBFS with invalid type conversion

Gianfranco Costamagna locutusofborg at debian.org
Thu Nov 19 21:05:28 GMT 2020


control: tags -1 patch pending

Uploaded

G.

On Wed, 8 Jul 2020 11:27:57 -0400 Nicolas Mora <nicolas at babelouest.org> wrote:
> Hello,
> 
> On Wed, 08 Jul 2020 11:22:18 +0200 Andreas Beckmann <anbe at debian.org> wrote:
> > 
> > openzwave-controlpanel recently started to FTBFS with
> > 
> 
> libmicrohttpd has recent API changes. The attached patch file should fix
> the ftbfs with libmicrohttpd 0.9.71. It also fixes a gcc warning with
> uninitialized value.
> 
> /Nicolas
-------------- next part --------------
diff -Nru openzwave-controlpanel-0.2a+git20161006.a390f35/debian/changelog openzwave-controlpanel-0.2a+git20161006.a390f35/debian/changelog
--- openzwave-controlpanel-0.2a+git20161006.a390f35/debian/changelog	2017-08-20 00:32:25.000000000 +0200
+++ openzwave-controlpanel-0.2a+git20161006.a390f35/debian/changelog	2020-11-19 22:01:52.000000000 +0100
@@ -1,3 +1,11 @@
+openzwave-controlpanel (0.2a+git20161006.a390f35-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch from Nicolas Mora to fix a build failure with recent libmicrohttpd
+    Closes: #964512
+
+ -- Gianfranco Costamagna <locutusofborg at debian.org>  Thu, 19 Nov 2020 22:01:52 +0100
+
 openzwave-controlpanel (0.2a+git20161006.a390f35-2) unstable; urgency=medium
 
   * Append CPPFLAGS to CFLAGS to enable FORTIFY hardening.
diff -Nru openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/0004-mhd.patch openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/0004-mhd.patch
--- openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/0004-mhd.patch	1970-01-01 01:00:00.000000000 +0100
+++ openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/0004-mhd.patch	2020-11-19 22:01:12.000000000 +0100
@@ -0,0 +1,136 @@
+Index: openzwave-controlpanel-0.2a+git20161006.a390f35/webserver.cpp
+===================================================================
+--- openzwave-controlpanel-0.2a+git20161006.a390f35.orig/webserver.cpp
++++ openzwave-controlpanel-0.2a+git20161006.a390f35/webserver.cpp
+@@ -100,11 +100,11 @@ extern int debug;
+  * web_send_data
+  * Send internal HTML string
+  */
+-static int web_send_data (struct MHD_Connection *connection, const char *data,
++static enum MHD_Result web_send_data (struct MHD_Connection *connection, const char *data,
+ 		const int code, bool free, bool copy, const char *ct)
+ {
+ 	struct MHD_Response *response;
+-	int ret;
++	enum MHD_Result ret;
+ 
+ 	if (!copy && ! free)
+ 		response = MHD_create_response_from_buffer(strlen(data), (void *) data, MHD_RESPMEM_PERSISTENT);
+@@ -148,14 +148,14 @@ void web_close_file (void *cls)
+  * web_send_file
+  * Read files and send them out
+  */
+-int web_send_file (struct MHD_Connection *conn, const char *filename, const int code, const bool unl)
++enum MHD_Result web_send_file (struct MHD_Connection *conn, const char *filename, const int code, const bool unl)
+ {
+ 	struct stat buf;
+ 	FILE *fp;
+ 	struct MHD_Response *response;
+ 	const char *p;
+ 	const char *ct = NULL;
+-	int ret;
++	enum MHD_Result ret;
+ 
+ 	if ((p = strchr(filename, '.')) != NULL) {
+ 		p++;
+@@ -540,7 +540,7 @@ const char *Webserver::SendSceneResponse
+ 	char *fn;
+ 	int cnt;
+ 	int i;
+-	uint8 sid;
++	uint8 sid = 0;
+ 	TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "utf-8", "" );
+ 	doc.LinkEndChild(decl);
+ 	TiXmlElement* scenesElement = new TiXmlElement("scenes");
+@@ -644,7 +644,7 @@ const char *Webserver::SendSceneResponse
+  * Process poll request from client and return
+  * data as xml.
+  */
+-int Webserver::SendPollResponse (struct MHD_Connection *conn)
++enum MHD_Result Webserver::SendPollResponse (struct MHD_Connection *conn)
+ {
+ 	TiXmlDocument doc;
+ 	struct stat buf;
+@@ -657,7 +657,7 @@ int Webserver::SendPollResponse (struct
+ 	char fntemp[32];
+ 	char *fn;
+ 	FILE *fp;
+-	int32 ret;
++	enum MHD_Result ret;
+ 
+ 	TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "utf-8", "" );
+ 	doc.LinkEndChild(decl);
+@@ -811,14 +811,14 @@ int Webserver::SendPollResponse (struct
+  * Process request for Device List from client and return
+  * data as xml.
+  */
+-int Webserver::SendDeviceListResponse (struct MHD_Connection *conn)
++enum MHD_Result Webserver::SendDeviceListResponse (struct MHD_Connection *conn)
+ {
+ 	TiXmlDocument doc;
+ 	char str[16];
+ 	int32 i, j;
+ 	char fntemp[32];
+ 	char *fn;
+-	int32 ret;
++	enum MHD_Result ret;
+ 
+ 	TiXmlDeclaration* decl = new TiXmlDeclaration( "1.0", "utf-8", "" );
+ 	doc.LinkEndChild(decl);
+@@ -981,7 +981,7 @@ void web_controller_update (Driver::Cont
+  * Handle the post of the updated data
+  */
+ 
+-int web_config_post (void *cls, enum MHD_ValueKind kind, const char *key, const char *filename,
++enum MHD_Result web_config_post (void *cls, enum MHD_ValueKind kind, const char *key, const char *filename,
+ 		const char *content_type, const char *transfer_encoding,
+ 		const char *data, uint64_t off, size_t size)
+ {
+@@ -1079,7 +1079,7 @@ int web_config_post (void *cls, enum MHD
+ /*
+  * Process web requests
+  */
+-int Webserver::HandlerEP (void *cls, struct MHD_Connection *conn, const char *url,
++enum MHD_Result Webserver::HandlerEP (void *cls, struct MHD_Connection *conn, const char *url,
+ 		const char *method, const char *version, const char *up_data,
+ 		size_t *up_data_size, void **ptr)
+ {
+@@ -1088,11 +1088,11 @@ int Webserver::HandlerEP (void *cls, str
+ 	return ws->Handler(conn, url, method, version, up_data, up_data_size, ptr);
+ }
+ 
+-int Webserver::Handler (struct MHD_Connection *conn, const char *url,
++enum MHD_Result Webserver::Handler (struct MHD_Connection *conn, const char *url,
+ 		const char *method, const char *version, const char *up_data,
+ 		size_t *up_data_size, void **ptr)
+ {
+-	int ret;
++	enum MHD_Result ret;
+ 	conninfo_t *cp;
+ 
+ 	if (debug)
+Index: openzwave-controlpanel-0.2a+git20161006.a390f35/webserver.h
+===================================================================
+--- openzwave-controlpanel-0.2a+git20161006.a390f35.orig/webserver.h
++++ openzwave-controlpanel-0.2a+git20161006.a390f35/webserver.h
+@@ -49,16 +49,16 @@ class Webserver {
+ 		string getAdminMessage() { return adminmsg; }
+ 		void setAdminMessage (string msg) { adminmsg = msg; }
+ 	private:
+-		static int HandlerEP(void *cls, struct MHD_Connection *conn, const char *url, const char *method,
++		static enum MHD_Result HandlerEP(void *cls, struct MHD_Connection *conn, const char *url, const char *method,
+ 				const char *version, const char *up_data, size_t *up_data_size, void **ptr);
+-		int Handler(struct MHD_Connection *conn, const char *url, const char *method,
++		enum MHD_Result Handler(struct MHD_Connection *conn, const char *url, const char *method,
+ 				const char *version, const char *up_data, size_t *up_data_size, void **ptr);
+ 		static void FreeEP(void *cls, struct MHD_Connection *conn, void **ptr, enum MHD_RequestTerminationCode code);
+ 		void Free(struct MHD_Connection *conn, void **ptr, enum MHD_RequestTerminationCode code);
+ 		void web_get_groups(int i, TiXmlElement *ep);
+ 		void web_get_values(int i, TiXmlElement *ep);
+-		int SendPollResponse(struct MHD_Connection *conn);
+-		int SendDeviceListResponse(struct MHD_Connection *conn);
++		enum MHD_Result SendPollResponse(struct MHD_Connection *conn);
++		enum MHD_Result SendDeviceListResponse(struct MHD_Connection *conn);
+ 		const char *SendSceneResponse(struct MHD_Connection *conn, const char *fun, const char *arg1, const char *arg2, const char *arg3);
+ 		const char *SendTopoResponse(struct MHD_Connection *conn, const char *fun, const char *arg1, const char *arg2, const char *arg3);
+ 		const char *SendStatResponse(struct MHD_Connection *conn, const char *fun, const char *arg1, const char *arg2, const char *arg3);
diff -Nru openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/series openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/series
--- openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/series	2017-08-19 23:35:28.000000000 +0200
+++ openzwave-controlpanel-0.2a+git20161006.a390f35/debian/patches/series	2020-11-19 22:01:20.000000000 +0100
@@ -1,3 +1,4 @@
 0001-Makefile.patch
 0002-paths.patch
 0003-thirdparty.patch
+0004-mhd.patch


More information about the Debian-iot-maintainers mailing list