From 04ddc989a9da94fb2595ea52365d42bb5d7a36c1530dea9b0fd335e8cc5129e6 Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Tue, 24 Jan 2017 11:07:12 +0000 Subject: [PATCH] - Add gsoap-02-accept.diff OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/gsoap?expand=0&rev=82 --- gsoap-02-accept.diff | 24 ++++++++++++++++++++++++ gsoap.changes | 5 +++++ gsoap.spec | 6 ++++-- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 gsoap-02-accept.diff diff --git a/gsoap-02-accept.diff b/gsoap-02-accept.diff new file mode 100644 index 0000000..1041c75 --- /dev/null +++ b/gsoap-02-accept.diff @@ -0,0 +1,24 @@ +From: Jan Engelhardt +Date: 2017-01-24 10:28:48.315550326 +0100 + +Undo change introduced in 2.8.41 which closes connections +at the time of accept(2). + +References: https://sourceforge.net/p/gsoap2/bugs/1095/ +--- + gsoap/stdsoap2.cpp | 2 -- + 1 file changed, 2 deletions(-) + +Index: gsoap-2.8.41/gsoap/stdsoap2.cpp +=================================================================== +--- gsoap-2.8.41.orig/gsoap/stdsoap2.cpp ++++ gsoap-2.8.41/gsoap/stdsoap2.cpp +@@ -5798,8 +5798,6 @@ soap_accept(struct soap *soap) + #endif + soap->error = SOAP_OK; + memset((void*)&soap->peer, 0, sizeof(soap->peer)); +- if (soap_valid_socket(soap->socket) && !(soap->omode & SOAP_IO_UDP)) +- soap->fclosesocket(soap, soap->socket); + soap->socket = SOAP_INVALID_SOCKET; + soap->errmode = 0; + soap->keep_alive = 0; diff --git a/gsoap.changes b/gsoap.changes index 2d45728..4f80b08 100644 --- a/gsoap.changes +++ b/gsoap.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Tue Jan 24 09:29:04 UTC 2017 - jengelh@inai.de + +- Add gsoap-02-accept.diff + ------------------------------------------------------------------- Thu Jan 19 09:06:14 UTC 2017 - jengelh@inai.de diff --git a/gsoap.spec b/gsoap.spec index ef3ac63..75fab60 100644 --- a/gsoap.spec +++ b/gsoap.spec @@ -25,11 +25,11 @@ License: SUSE-GPL-2.0+-with-openssl-exception Group: Development/Libraries/C and C++ Url: http://www.genivia.com/dev.html -#DL-URL: http://downloads.sf.net/gsoap2/gsoap_2.8.36.zip Source: gsoap-%version.tar.xz Source2: sanitize_source.sh Patch1: gsoap-automake1_13.diff Patch2: gsoap-01-sharedlibs.diff +Patch3: gsoap-02-accept.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: autoconf BuildRequires: automake @@ -84,7 +84,7 @@ available or under development. %prep %setup -q cmp gsoap/stdsoap2.cpp gsoap/stdsoap2.c -%patch -P 1 -P 2 -p1 +%patch -P 1 -P 2 -P 3 -p1 ln -fs stdsoap2.cpp gsoap/stdsoap2.c %build @@ -96,6 +96,8 @@ perl -i -lpe 's{AC_INIT\(gsoap, 2.8\)}{AC_INIT([gsoap], [%version])}' \ # Also needed because Makefile.am and configure.ac are touched. autoreconf -fi +export CFLAGS="-O0 -ggdb3" +export CXXFLAGS="-O0 -ggdb3" %configure --enable-ipv6 --disable-static pushd gsoap/src/ # build prerequisites for parallel build first