mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 00:20:08 +00:00
connman: Fix a crash using wispr over TLS
This is happened when doing wispr against a HTTPS URL rather than the default one, i.e. http://ipv4.connman.net/online/status.html When gnutls_channel is instantiated, the gnutls_channel->established has to be initiated as FALSE. Otherwise, check_handshake function won't work. A random initial value 1 of gnutls_channel->established will make check_handshake return G_IO_STATUS_NORMAL, when the channel is actually not ready to be used. The observed behaviours are, - wispr is getting random errors in wispr_portal_web_result - ConnMan crashes on exit after those random errors - when wispr is luckly working, ConnMan doesn't crash on exit (From OE-Core rev: 2ea983d4a187ac62e703e85dce622f70e309be05) Signed-off-by: Jian Liang <jianliang@tycoint.com> Signed-off-by: André Draszik <andre.draszik@jci.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f4335d224d
commit
10e1be398b
+41
@@ -0,0 +1,41 @@
|
||||
From 929fc9b7068100444e0ffcccd25841f78791e619 Mon Sep 17 00:00:00 2001
|
||||
From: Jian Liang <jianliang@tycoint.com>
|
||||
Date: Fri, 15 Sep 2017 06:40:08 -0400
|
||||
Subject: [PATCH] gweb: Fix a crash using wispr over TLS
|
||||
To: connman@lists.01.org
|
||||
Cc: wagi@monom.org
|
||||
|
||||
When gnutls_channel is instantiated, the gnutls_channel->established
|
||||
has to be initiated as FALSE. Otherwise, check_handshake function
|
||||
won't work. A random initial value 1 of gnutls_channel->established
|
||||
will make check_handshake return G_IO_STATUS_NORMAL, when the channel
|
||||
is actually not ready to be used. The observed behaviours are,
|
||||
|
||||
- wispr is getting random errors in wispr_portal_web_result
|
||||
- ConnMan crashes on exit after those random errors
|
||||
- when wispr is luckly working, ConnMan doesn't crash on exit
|
||||
|
||||
Signed-off-by: Jian Liang <jianliang@tycoint.com>
|
||||
|
||||
---
|
||||
Upstream-Status: Backport [https://git.kernel.org/pub/scm/network/connman/connman.git/commit/?id=73e53f3bd9e7debae86341f1eee7b97862a56a5e]
|
||||
Signed-off-by: André Draszik <andre.draszik@jci.com>
|
||||
gweb/giognutls.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gweb/giognutls.c b/gweb/giognutls.c
|
||||
index 09dc9e7..c029a8b 100644
|
||||
--- a/gweb/giognutls.c
|
||||
+++ b/gweb/giognutls.c
|
||||
@@ -421,7 +421,7 @@ GIOChannel *g_io_channel_gnutls_new(int fd)
|
||||
|
||||
DBG("");
|
||||
|
||||
- gnutls_channel = g_new(GIOGnuTLSChannel, 1);
|
||||
+ gnutls_channel = g_new0(GIOGnuTLSChannel, 1);
|
||||
|
||||
channel = (GIOChannel *) gnutls_channel;
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -7,6 +7,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
|
||||
file://no-version-scripts.patch \
|
||||
file://includes.patch \
|
||||
file://0001-session-Keep-track-of-addr-in-fw_snat-session.patch \
|
||||
file://0001-giognutls-Fix-a-crash-using-wispr-over-TLS.patch \
|
||||
"
|
||||
SRC_URI_append_libc-musl = " file://0002-resolve-musl-does-not-implement-res_ninit.patch \
|
||||
"
|
||||
|
||||
Reference in New Issue
Block a user