[libvirt] [PATCH] esx: Fix build when libcurl debug is enabled

When building libvirt with libcurl debug enabled (with ESX_VI__CURL__ENABLE_DEBUG_OUTPUT set), the message bellow pops up: make[3]: Entering directory '/mnt/data/gitroot/libvirt/src' CC esx/libvirt_driver_esx_la-esx_vi.lo esx/esx_vi.c: In function 'esxVI_CURL_Debug': esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_IN' not handled in switch [-Werror=switch-enum] switch (type) { ^~~~~~ esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_OUT' not handled in switch [-Werror=switch-enum] esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_END' not handled in switch [-Werror=switch-enum] Our build requires at least libcurl 7.18.0, which is pretty stable since it was release in 2008. Fix this problem by handling the mentioned enums in the code. Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> --- src/esx/esx_vi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index a816c3a4f9..588670e137 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -163,7 +163,7 @@ esxVI_CURL_WriteBuffer(char *data, size_t size, size_t nmemb, void *userdata) return 0; } -#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 0 +#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 1 #if ESX_VI__CURL__ENABLE_DEBUG_OUTPUT static int @@ -205,13 +205,19 @@ esxVI_CURL_Debug(CURL *curl ATTRIBUTE_UNUSED, curl_infotype type, break; case CURLINFO_DATA_IN: + case CURLINFO_SSL_DATA_IN: VIR_DEBUG("CURLINFO_DATA_IN [[[[%s]]]]", buffer); break; case CURLINFO_DATA_OUT: + case CURLINFO_SSL_DATA_OUT: VIR_DEBUG("CURLINFO_DATA_OUT [[[[%s]]]]", buffer); break; + case CURLINFO_END: + VIR_DEBUG("CURLINFO_END [[[[%s]]]]", buffer); + break; + default: VIR_DEBUG("unknown"); break; -- 2.17.1

On 08/11/2018 04:39 PM, Marcos Paulo de Souza wrote:
When building libvirt with libcurl debug enabled (with ESX_VI__CURL__ENABLE_DEBUG_OUTPUT set), the message bellow pops up:
make[3]: Entering directory '/mnt/data/gitroot/libvirt/src' CC esx/libvirt_driver_esx_la-esx_vi.lo esx/esx_vi.c: In function 'esxVI_CURL_Debug': esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_IN' not handled in switch [-Werror=switch-enum] switch (type) { ^~~~~~ esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_OUT' not handled in switch [-Werror=switch-enum] esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_END' not handled in switch [-Werror=switch-enum]
Our build requires at least libcurl 7.18.0, which is pretty stable since it was release in 2008. Fix this problem by handling the mentioned enums in the code.
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> --- src/esx/esx_vi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index a816c3a4f9..588670e137 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -163,7 +163,7 @@ esxVI_CURL_WriteBuffer(char *data, size_t size, size_t nmemb, void *userdata) return 0; }
-#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 0 +#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 1
The part below is fine. However, I'm not sure about this one ^^. This turns curl debugging on by default. I'm not sure that is what we want.
#if ESX_VI__CURL__ENABLE_DEBUG_OUTPUT static int @@ -205,13 +205,19 @@ esxVI_CURL_Debug(CURL *curl ATTRIBUTE_UNUSED, curl_infotype type, break;
case CURLINFO_DATA_IN: + case CURLINFO_SSL_DATA_IN: VIR_DEBUG("CURLINFO_DATA_IN [[[[%s]]]]", buffer); break;
case CURLINFO_DATA_OUT: + case CURLINFO_SSL_DATA_OUT: VIR_DEBUG("CURLINFO_DATA_OUT [[[[%s]]]]", buffer); break;
+ case CURLINFO_END: + VIR_DEBUG("CURLINFO_END [[[[%s]]]]", buffer); + break; + default: VIR_DEBUG("unknown"); break;
Michal

On Mon, Aug 13, 2018 at 03:51:51PM +0200, Michal Prívozník wrote:
On 08/11/2018 04:39 PM, Marcos Paulo de Souza wrote:
When building libvirt with libcurl debug enabled (with ESX_VI__CURL__ENABLE_DEBUG_OUTPUT set), the message bellow pops up:
make[3]: Entering directory '/mnt/data/gitroot/libvirt/src' CC esx/libvirt_driver_esx_la-esx_vi.lo esx/esx_vi.c: In function 'esxVI_CURL_Debug': esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_IN' not handled in switch [-Werror=switch-enum] switch (type) { ^~~~~~ esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_OUT' not handled in switch [-Werror=switch-enum] esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_END' not handled in switch [-Werror=switch-enum]
Our build requires at least libcurl 7.18.0, which is pretty stable since it was release in 2008. Fix this problem by handling the mentioned enums in the code.
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> --- src/esx/esx_vi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index a816c3a4f9..588670e137 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -163,7 +163,7 @@ esxVI_CURL_WriteBuffer(char *data, size_t size, size_t nmemb, void *userdata) return 0; }
-#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 0 +#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 1
The part below is fine. However, I'm not sure about this one ^^. This turns curl debugging on by default. I'm not sure that is what we want.
You are right, this part was included by mistake. Would you want me to send a new version with this part removed?
#if ESX_VI__CURL__ENABLE_DEBUG_OUTPUT static int @@ -205,13 +205,19 @@ esxVI_CURL_Debug(CURL *curl ATTRIBUTE_UNUSED, curl_infotype type, break;
case CURLINFO_DATA_IN: + case CURLINFO_SSL_DATA_IN: VIR_DEBUG("CURLINFO_DATA_IN [[[[%s]]]]", buffer); break;
case CURLINFO_DATA_OUT: + case CURLINFO_SSL_DATA_OUT: VIR_DEBUG("CURLINFO_DATA_OUT [[[[%s]]]]", buffer); break;
+ case CURLINFO_END: + VIR_DEBUG("CURLINFO_END [[[[%s]]]]", buffer); + break; + default: VIR_DEBUG("unknown"); break;
Michal
-- Thanks, Marcos

On 08/10/2018 12:18 PM, Marcos Paulo de Souza wrote:
On Mon, Aug 13, 2018 at 03:51:51PM +0200, Michal Prívozník wrote:
On 08/11/2018 04:39 PM, Marcos Paulo de Souza wrote:
When building libvirt with libcurl debug enabled (with ESX_VI__CURL__ENABLE_DEBUG_OUTPUT set), the message bellow pops up:
make[3]: Entering directory '/mnt/data/gitroot/libvirt/src' CC esx/libvirt_driver_esx_la-esx_vi.lo esx/esx_vi.c: In function 'esxVI_CURL_Debug': esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_IN' not handled in switch [-Werror=switch-enum] switch (type) { ^~~~~~ esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_SSL_DATA_OUT' not handled in switch [-Werror=switch-enum] esx/esx_vi.c:191:5: error: enumeration value 'CURLINFO_END' not handled in switch [-Werror=switch-enum]
Our build requires at least libcurl 7.18.0, which is pretty stable since it was release in 2008. Fix this problem by handling the mentioned enums in the code.
Signed-off-by: Marcos Paulo de Souza <marcos.souza.org@gmail.com> --- src/esx/esx_vi.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/esx/esx_vi.c b/src/esx/esx_vi.c index a816c3a4f9..588670e137 100644 --- a/src/esx/esx_vi.c +++ b/src/esx/esx_vi.c @@ -163,7 +163,7 @@ esxVI_CURL_WriteBuffer(char *data, size_t size, size_t nmemb, void *userdata) return 0; }
-#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 0 +#define ESX_VI__CURL__ENABLE_DEBUG_OUTPUT 1
The part below is fine. However, I'm not sure about this one ^^. This turns curl debugging on by default. I'm not sure that is what we want.
You are right, this part was included by mistake. Would you want me to send a new version with this part removed?
No need. I've removed it just before pushing. ACKed and pushed. Michal
participants (2)
-
Marcos Paulo de Souza
-
Michal Prívozník