[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