summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Brand <mabrand@mabrand.nl>2011-11-07 15:01:10 (GMT)
committerMark Brand <mabrand@mabrand.nl>2011-11-07 15:01:10 (GMT)
commit1a9c528af192c07f926197582da83386c8ddb798 (patch)
tree2265cb65b5602036f8b476ea4c75a7ca5e084911
parent41f50d56eb059c27cf3de87dc1b6473e3d5b5462 (diff)
downloadmxe-1a9c528af192c07f926197582da83386c8ddb798.zip
mxe-1a9c528af192c07f926197582da83386c8ddb798.tar.gz
mxe-1a9c528af192c07f926197582da83386c8ddb798.tar.bz2
package gsoap: upgrade to v2.8.4 with fix
-rw-r--r--src/gsoap-1-fixes.patch239
-rw-r--r--src/gsoap.mk10
2 files changed, 202 insertions, 47 deletions
diff --git a/src/gsoap-1-fixes.patch b/src/gsoap-1-fixes.patch
index b60c110..e5afa6f 100644
--- a/src/gsoap-1-fixes.patch
+++ b/src/gsoap-1-fixes.patch
@@ -3,65 +3,220 @@ See doc/index.html for further information.
Contains ad hoc patches for cross building.
-From 35024d3ef8fb879a92de71b738ad985b6e8318af Mon Sep 17 00:00:00 2001
-From: mingw-cross-env
-Date: Mon, 19 Sep 2011 15:22:59 +0200
-Subject: [PATCH] bugfix for 2.8.3 from:
- http://www.cs.fsu.edu/~engelen/soapbugs.html
+From a4e9166bc8d78b2aee3c25757d479d4c2e53c7be Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Sun, 23 Oct 2011 21:36:53 +0200
+Subject: [PATCH 1/3] support static linking to ntlm
+---
+ configure | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/configure b/configure
+index ad1830d..be95edf 100755
+--- a/configure
++++ b/configure
+@@ -4822,7 +4822,7 @@ case "${host}" in
+ ;;
+ *-*-cygwin*) platform=CYGWIN ;;
+ *-*-mingw*) platform=MINGW
+- SAMPLE_EXTRA_LIBS="-lws2_32 -lkernel32 -luser32 -lgdi32"
++ SAMPLE_EXTRA_LIBS="-lntlm -lws2_32 -lkernel32 -luser32 -lgdi32"
+ ;;
+ *-*-freebsd*) platform=FREEBSD ;;
+ *-*-openbsd*) platform=OPENBSD ;;
+--
+1.7.7
+
+
+From da0eb2fc386be0fd914ef8f9a7d6bf73004ea230 Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Mon, 24 Oct 2011 11:17:13 +0200
+Subject: [PATCH 2/3] ntlm support in .pc files
+
+---
+ gsoap++.pc.in | 2 +-
+ gsoap.pc.in | 2 +-
+ gsoapck++.pc.in | 2 +-
+ gsoapck.pc.in | 2 +-
+ gsoapssl++.pc.in | 2 +-
+ gsoapssl.pc.in | 2 +-
+ 6 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/gsoap++.pc.in b/gsoap++.pc.in
+index 035afd9..3411d55 100644
+--- a/gsoap++.pc.in
++++ b/gsoap++.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C++ Web Services
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoap++ @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_DOM -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_DOM -DWITH_NTLM -I${includedir}
+diff --git a/gsoap.pc.in b/gsoap.pc.in
+index e2607aa..96a54b9 100644
+--- a/gsoap.pc.in
++++ b/gsoap.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C Web Services
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoap @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_DOM -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_DOM -DWITH_NTLM -I${includedir}
+diff --git a/gsoapck++.pc.in b/gsoapck++.pc.in
+index cb03e2f..b349049 100644
+--- a/gsoapck++.pc.in
++++ b/gsoapck++.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C++ Web Services with Cookies Enabled
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoapck++ @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_COOKIES -DWITH_DOM -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_COOKIES -DWITH_DOM -DWITH_NTLM -I${includedir}
+diff --git a/gsoapck.pc.in b/gsoapck.pc.in
+index 859a922..e5ce5eb 100644
+--- a/gsoapck.pc.in
++++ b/gsoapck.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C Web Services with Cookies Enabled
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoapck @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_COOKIES -DWITH_DOM -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_COOKIES -DWITH_DOM -DWITH_NTLM -I${includedir}
+diff --git a/gsoapssl++.pc.in b/gsoapssl++.pc.in
+index 391d820..791408a 100644
+--- a/gsoapssl++.pc.in
++++ b/gsoapssl++.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C++ Web Services with SSL and ZLIB
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoapssl++ @SAMPLE_SSL_LIBS@ @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_OPENSSL -DWITH_DOM -DWITH_COOKIES -DWITH_GZIP -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_OPENSSL -DWITH_DOM -DWITH_NTLM -DWITH_COOKIES -DWITH_GZIP -I${includedir}
+diff --git a/gsoapssl.pc.in b/gsoapssl.pc.in
+index 79c940a..17c9ee3 100644
+--- a/gsoapssl.pc.in
++++ b/gsoapssl.pc.in
+@@ -8,4 +8,4 @@ Description: SOAP C Web Services with SSL and ZLIB
+ Version: @VERSION@
+ Requires:
+ Libs: -L${libdir} -lgsoapssl @SAMPLE_SSL_LIBS@ @SAMPLE_EXTRA_LIBS@
+-Cflags: @SOAPCPP2_IPV6@ -DWITH_OPENSSL -DWITH_DOM -DWITH_COOKIES -DWITH_GZIP -I${includedir}
++Cflags: @SOAPCPP2_IPV6@ -DWITH_OPENSSL -DWITH_DOM -DWITH_NTLM -DWITH_COOKIES -DWITH_GZIP -I${includedir}
+--
+1.7.7
+
+
+From bdaf871136077ba282b1824eb7765143ccf4b40d Mon Sep 17 00:00:00 2001
+From: Mark Brand <mabrand@mabrand.nl>
+Date: Mon, 7 Nov 2011 14:43:55 +0100
+Subject: [PATCH 3/3] fix base64 encoding for Basic Authentication
+
+taken from:
+https://sourceforge.net/tracker/?func=detail&aid=3434518&group_id=52781&atid=468023
+---
+ gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp | 4 ++--
+ gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp | 4 ++--
+ gsoap/stdsoap2.c | 4 ++--
+ gsoap/stdsoap2.cpp | 4 ++--
+ 4 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp b/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp
-index 6f05170..f31676b 100644
+index 83405cd..71838e9 100644
--- a/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp
+++ b/gsoap/VisualStudio2005/wsdl2h/wsdl2h/stdsoap2.cpp
-@@ -8261,7 +8261,7 @@ soap_copy_context(struct soap *copy, const struct soap *soap)
- soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+@@ -5684,8 +5684,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
+ #endif
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+ return err;
+@@ -5698,8 +5698,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
#endif
- copy->local_namespaces = NULL;
-- soap_set_namespaces(copy, soap->local_namespaces);
-+ soap_set_namespaces(copy, soap->namespaces);
- #ifdef WITH_C_LOCALE
- copy->c_locale = duplocale(soap->c_locale);
- #else
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+ return err;
diff --git a/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp b/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp
-index 6f05170..f31676b 100644
+index 83405cd..71838e9 100644
--- a/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp
+++ b/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp
-@@ -8261,7 +8261,7 @@ soap_copy_context(struct soap *copy, const struct soap *soap)
- soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+@@ -5684,8 +5684,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
#endif
- copy->local_namespaces = NULL;
-- soap_set_namespaces(copy, soap->local_namespaces);
-+ soap_set_namespaces(copy, soap->namespaces);
- #ifdef WITH_C_LOCALE
- copy->c_locale = duplocale(soap->c_locale);
- #else
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+ return err;
+@@ -5698,8 +5698,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
+ #endif
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+ return err;
diff --git a/gsoap/stdsoap2.c b/gsoap/stdsoap2.c
-index 6f05170..f31676b 100644
+index 83405cd..71838e9 100644
--- a/gsoap/stdsoap2.c
+++ b/gsoap/stdsoap2.c
-@@ -8261,7 +8261,7 @@ soap_copy_context(struct soap *copy, const struct soap *soap)
- soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+@@ -5684,8 +5684,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
+ #endif
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+ return err;
+@@ -5698,8 +5698,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
#endif
- copy->local_namespaces = NULL;
-- soap_set_namespaces(copy, soap->local_namespaces);
-+ soap_set_namespaces(copy, soap->namespaces);
- #ifdef WITH_C_LOCALE
- copy->c_locale = duplocale(soap->c_locale);
- #else
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+ return err;
diff --git a/gsoap/stdsoap2.cpp b/gsoap/stdsoap2.cpp
-index 6f05170..f31676b 100644
+index 83405cd..71838e9 100644
--- a/gsoap/stdsoap2.cpp
+++ b/gsoap/stdsoap2.cpp
-@@ -8261,7 +8261,7 @@ soap_copy_context(struct soap *copy, const struct soap *soap)
- soap_set_recv_logfile(copy, soap->logfile[SOAP_INDEX_RECV]);
+@@ -5684,8 +5684,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
+ #endif
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->userid, soap->passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Authorization", soap->tmpbuf)))
+ return err;
+@@ -5698,8 +5698,8 @@ http_post(struct soap *soap, const char *endpoint, const char *host, int port, c
+ else
#endif
- copy->local_namespaces = NULL;
-- soap_set_namespaces(copy, soap->local_namespaces);
-+ soap_set_namespaces(copy, soap->namespaces);
- #ifdef WITH_C_LOCALE
- copy->c_locale = duplocale(soap->c_locale);
- #else
+ { strcpy(soap->tmpbuf, "Basic ");
+- soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ sprintf(soap->tmpbuf + 262, "%s:%s", soap->proxy_userid, soap->proxy_passwd);
++ soap_s2base64(soap, (const unsigned char*)(soap->tmpbuf + 262), soap->tmpbuf + 6, (int)strlen(soap->tmpbuf + 262));
+ }
+ if ((err = soap->fposthdr(soap, "Proxy-Authorization", soap->tmpbuf)))
+ return err;
--
-1.7.6.1
+1.7.7
diff --git a/src/gsoap.mk b/src/gsoap.mk
index 5cdc6b2..1e22716 100644
--- a/src/gsoap.mk
+++ b/src/gsoap.mk
@@ -4,18 +4,17 @@
# gSOAP
PKG := gsoap
$(PKG)_IGNORE :=
-$(PKG)_VERSION := 2.8.3
-$(PKG)_CHECKSUM := 55677239751253b48f448eb30a7585df97cba486
+$(PKG)_VERSION := 2.8.4
+$(PKG)_CHECKSUM := fea8734c83c2b5f9d07c44c556b27a6ce7ff0649
$(PKG)_SUBDIR := gsoap-$(call SHORT_PKG_VERSION,$(PKG))
$(PKG)_FILE := gsoap_$($(PKG)_VERSION).zip
$(PKG)_WEBSITE := http://gsoap2.sourceforge.net/
$(PKG)_URL := http://$(SOURCEFORGE_MIRROR)/project/gsoap2/gSOAP/$($(PKG)_FILE)
-$(PKG)_DEPS := gcc gnutls libgcrypt
+$(PKG)_DEPS := gcc gnutls libgcrypt libntlm
define $(PKG)_UPDATE
wget -q -O- 'http://sourceforge.net/projects/gsoap2/files/gSOAP/' | \
$(SED) -n 's,.*gsoap_\([0-9][^>]*\)\.zip.*,\1,p' | \
- grep -v '2\.8\.4' | \
head -1
endef
@@ -43,7 +42,8 @@ define $(PKG)_BUILD
cd '$(1)' && ac_cv_func_malloc_0_nonnull=yes ./configure \
--prefix='$(PREFIX)/$(TARGET)' \
--host='$(TARGET)' \
- --enable-gnutls
+ --enable-gnutls \
+ CPPFLAGS='-DWITH_NTLM'
# Building for mingw requires native soapcpp2
ln -sf '$(PREFIX)/bin/$(TARGET)-soapcpp2' '$(1)/gsoap/src/soapcpp2'