package init
This commit is contained in:
parent
b29437a0fe
commit
d994255ef5
12
gsoap-doxygen-tabs.patch
Normal file
12
gsoap-doxygen-tabs.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -ur gsoap-2.8.75.orig/gsoap/doc/doxygen_header.html gsoap-2.8.75/gsoap/doc/doxygen_header.html
|
||||||
|
--- gsoap-2.8.75.orig/gsoap/doc/doxygen_header.html 2019-01-14 18:17:20.000000000 +0100
|
||||||
|
+++ gsoap-2.8.75/gsoap/doc/doxygen_header.html 2019-07-23 08:06:29.628000000 +0200
|
||||||
|
@@ -4,7 +4,7 @@
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||||
|
<meta http-equiv="cache-control" content="no-cache">
|
||||||
|
<title>Genivia - $title</title>
|
||||||
|
-<link href="genivia_tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<script type="text/javascript" src="jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="dynsections.js"></script>
|
||||||
|
<link href="$relpath$doxygen.css" rel="stylesheet" type="text/css">
|
||||||
135
gsoap-libtool.patch
Normal file
135
gsoap-libtool.patch
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
diff -ur gsoap-2.8.orig/configure.ac gsoap-2.8/configure.ac
|
||||||
|
--- gsoap-2.8.orig/configure.ac 2020-06-30 21:02:21.000000000 +0200
|
||||||
|
+++ gsoap-2.8/configure.ac 2020-07-21 22:24:34.231537804 +0200
|
||||||
|
@@ -16,8 +16,7 @@
|
||||||
|
AM_PROG_LEX
|
||||||
|
AC_PROG_YACC
|
||||||
|
AC_PROG_CPP
|
||||||
|
-AC_PROG_RANLIB
|
||||||
|
-#AM_PROG_LIBTOOL
|
||||||
|
+AM_PROG_LIBTOOL
|
||||||
|
AC_PROG_LN_S
|
||||||
|
AC_PROG_AWK
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
@@ -307,15 +306,15 @@
|
||||||
|
WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lgnutls -lgcrypt -lgpg-error -lz"
|
||||||
|
SAMPLE_INCLUDES=
|
||||||
|
SAMPLE_SSL_LIBS="-lgnutls -lgcrypt -lgpg-error -lz"
|
||||||
|
- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
|
||||||
|
+ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
WSDL2H_EXTRA_FLAGS="-DWITH_OPENSSL -DWITH_GZIP"
|
||||||
|
# compile with wsdl2h when OPENSSL is available
|
||||||
|
- WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lssl -lcrypto -lz"
|
||||||
|
+ WSDL2H_EXTRA_LIBS="${WSDL2H_EXTRA_LIBS} -lcrypto"
|
||||||
|
SAMPLE_INCLUDES=
|
||||||
|
SAMPLE_SSL_LIBS="-lssl -lcrypto -lz"
|
||||||
|
- WSDL2H_SOAP_CPP_LIB="libgsoapssl++.a"
|
||||||
|
+ WSDL2H_SOAP_CPP_LIB="libgsoapssl++.la"
|
||||||
|
fi
|
||||||
|
if test -n "$ZLIB"; then
|
||||||
|
WSDL2H_EXTRA_FLAGS="-I${ZLIB}/include ${WSDL2H_EXTRA_FLAGS}"
|
||||||
|
@@ -334,7 +333,7 @@
|
||||||
|
WSDL2H_EXTRA_FLAGS=
|
||||||
|
SAMPLE_SSL_LIBS=
|
||||||
|
SAMPLE_INCLUDES=
|
||||||
|
- WSDL2H_SOAP_CPP_LIB="libgsoap++.a"
|
||||||
|
+ WSDL2H_SOAP_CPP_LIB="libgsoap++.la"
|
||||||
|
fi
|
||||||
|
AM_CONDITIONAL([WITH_OPENSSL], [test "x$with_openssl" = "xyes" -a "x$with_gnutls" != "xyes"])
|
||||||
|
AC_SUBST(WSDL2H_EXTRA_FLAGS)
|
||||||
|
diff -ur gsoap-2.8.orig/gsoap/Makefile.am gsoap-2.8/gsoap/Makefile.am
|
||||||
|
--- gsoap-2.8.orig/gsoap/Makefile.am 2020-06-30 21:02:23.000000000 +0200
|
||||||
|
+++ gsoap-2.8/gsoap/Makefile.am 2020-07-21 22:24:34.231537804 +0200
|
||||||
|
@@ -34,20 +34,30 @@
|
||||||
|
dom_cpp.cpp: dom.cpp
|
||||||
|
$(LN_S) -f $(top_srcdir)/gsoap/dom.cpp dom_cpp.cpp
|
||||||
|
|
||||||
|
-lib_LIBRARIES = libgsoap.a libgsoap++.a libgsoapck.a libgsoapck++.a libgsoapssl.a libgsoapssl++.a
|
||||||
|
+lib_LTLIBRARIES = libgsoap.la libgsoap++.la libgsoapck.la libgsoapck++.la libgsoapssl.la libgsoapssl++.la
|
||||||
|
|
||||||
|
-libgsoap_a_SOURCES = stdsoap2.c dom.c
|
||||||
|
-libgsoap_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
|
||||||
|
-libgsoap___a_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
|
||||||
|
-libgsoap___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
|
||||||
|
-libgsoapck_a_SOURCES = stdsoap2_ck.c dom.c
|
||||||
|
-libgsoapck_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
|
||||||
|
-libgsoapck___a_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
|
||||||
|
-libgsoapck___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
|
||||||
|
-libgsoapssl_a_SOURCES = stdsoap2_ssl.c dom.c
|
||||||
|
-libgsoapssl_a_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
|
||||||
|
-libgsoapssl___a_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
|
||||||
|
-libgsoapssl___a_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
|
||||||
|
+SOVERSION = $(shell grep 'define VERSION' $(srcdir)/src/soapcpp2.h | cut -d '"' -f 2)
|
||||||
|
+
|
||||||
|
+libgsoap_la_SOURCES = stdsoap2.c dom.c
|
||||||
|
+libgsoap_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
|
||||||
|
+libgsoap_la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoap___la_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp
|
||||||
|
+libgsoap___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform)
|
||||||
|
+libgsoap___la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoapck_la_SOURCES = stdsoap2_ck.c dom.c
|
||||||
|
+libgsoapck_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
|
||||||
|
+libgsoapck_la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoapck___la_SOURCES = stdsoap2_ck_cpp.cpp dom_cpp.cpp
|
||||||
|
+libgsoapck___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) -DWITH_COOKIES
|
||||||
|
+libgsoapck___la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoapssl_la_SOURCES = stdsoap2_ssl.c dom.c
|
||||||
|
+libgsoapssl_la_CFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
|
||||||
|
+libgsoapssl_la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoapssl_la_LIBADD = -lssl -lcrypto -lz
|
||||||
|
+libgsoapssl___la_SOURCES = stdsoap2_ssl_cpp.cpp dom_cpp.cpp
|
||||||
|
+libgsoapssl___la_CXXFLAGS = $(SOAPCPP2_DEBUG) $(SOAPCPP2_NONAMESPACES) $(SOAPCPP2_NO_C_LOCALE) $(SOAPCPP2_IPV6) $(SOAPCPP2_IPV6_V6ONLY) -D$(platform) $(WSDL2H_EXTRA_FLAGS) -DWITH_DOM -DWITH_COOKIES
|
||||||
|
+libgsoapssl___la_LDFLAGS = -release $(SOVERSION)
|
||||||
|
+libgsoapssl___la_LIBADD = -lssl -lcrypto -lz
|
||||||
|
|
||||||
|
BUILT_SOURCES = stdsoap2_cpp.cpp dom_cpp.cpp stdsoap2_ck.c stdsoap2_ck_cpp.cpp stdsoap2_ssl.c stdsoap2_ssl_cpp.cpp
|
||||||
|
|
||||||
|
diff -ur gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am gsoap-2.8/gsoap/samples/autotest/Makefile.am
|
||||||
|
--- gsoap-2.8.orig/gsoap/samples/autotest/Makefile.am 2020-06-30 21:02:24.000000000 +0200
|
||||||
|
+++ gsoap-2.8/gsoap/samples/autotest/Makefile.am 2020-07-21 22:24:34.231537804 +0200
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
WSDLINPUT=$(top_srcdir)/gsoap/samples/autotest/examples.wsdl
|
||||||
|
SOAPHEADER=$(top_srcdir)/gsoap/samples/autotest/examples.h
|
||||||
|
SOAP_CPP_SRC=soapC.cpp soapServer.cpp
|
||||||
|
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
|
||||||
|
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
|
||||||
|
|
||||||
|
$(SOAP_CPP_SRC) : $(WSDLINPUT)
|
||||||
|
$(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
|
||||||
|
diff -ur gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am gsoap-2.8/gsoap/samples/databinding/Makefile.am
|
||||||
|
--- gsoap-2.8.orig/gsoap/samples/databinding/Makefile.am 2020-06-30 21:02:25.000000000 +0200
|
||||||
|
+++ gsoap-2.8/gsoap/samples/databinding/Makefile.am 2020-07-21 22:24:34.232537807 +0200
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
WSDLINPUT=$(top_srcdir)/gsoap/samples/databinding/address.xsd
|
||||||
|
SOAPHEADER=$(top_srcdir)/gsoap/samples/databinding/address.h
|
||||||
|
SOAP_CPP_SRC=addressC.cpp
|
||||||
|
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
|
||||||
|
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
|
||||||
|
|
||||||
|
$(SOAP_CPP_SRC) : $(WSDLINPUT)
|
||||||
|
$(WSDL) $(WSDL_FLAGS) $(WSDLINPUT)
|
||||||
|
diff -ur gsoap-2.8.orig/gsoap/samples/Makefile.defines gsoap-2.8/gsoap/samples/Makefile.defines
|
||||||
|
--- gsoap-2.8.orig/gsoap/samples/Makefile.defines 2020-06-30 21:02:25.000000000 +0200
|
||||||
|
+++ gsoap-2.8/gsoap/samples/Makefile.defines 2020-07-21 22:24:34.232537807 +0200
|
||||||
|
@@ -13,13 +13,13 @@
|
||||||
|
SOAP_C_CORE=soapC.c
|
||||||
|
SOAP_C_CLIENT=soapClient.c $(SOAP_C_CORE)
|
||||||
|
SOAP_C_SERVER=soapServer.c $(SOAP_C_CORE)
|
||||||
|
-SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.a
|
||||||
|
-SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.a
|
||||||
|
-SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.a
|
||||||
|
+SOAP_C_LIB=$(top_builddir)/gsoap/libgsoap.la
|
||||||
|
+SOAP_C_LIB_CK=$(top_builddir)/gsoap/libgsoapck.la
|
||||||
|
+SOAP_C_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl.la
|
||||||
|
|
||||||
|
SOAP_CPP_CORE=soapC.cpp
|
||||||
|
SOAP_CPP_CLIENT=soapClient.cpp $(SOAP_CPP_CORE)
|
||||||
|
SOAP_CPP_SERVER=soapServer.cpp $(SOAP_CPP_CORE)
|
||||||
|
-SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.a
|
||||||
|
-SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.a
|
||||||
|
-SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.a
|
||||||
|
+SOAP_CPP_LIB=$(top_builddir)/gsoap/libgsoap++.la
|
||||||
|
+SOAP_CPP_LIB_CK=$(top_builddir)/gsoap/libgsoapck++.la
|
||||||
|
+SOAP_CPP_LIB_SSL=$(top_builddir)/gsoap/libgsoapssl++.la
|
||||||
336
gsoap-plugins-hardening.patch
Normal file
336
gsoap-plugins-hardening.patch
Normal file
@ -0,0 +1,336 @@
|
|||||||
|
diff -ur gsoap2-code-r191/gsoap/plugin/httpda.c gsoap2-code-r192/gsoap/plugin/httpda.c
|
||||||
|
--- gsoap2-code-r191/gsoap/plugin/httpda.c 2020-06-30 21:06:47.000000000 +0200
|
||||||
|
+++ gsoap2-code-r192/gsoap/plugin/httpda.c 2020-11-19 19:29:25.000000000 +0100
|
||||||
|
@@ -1460,7 +1460,7 @@
|
||||||
|
MUTEX_LOCK(http_da_session_lock);
|
||||||
|
|
||||||
|
for (session = http_da_session; session; session = session->next)
|
||||||
|
- if (!strcmp(session->realm, realm) && !strcmp(session->nonce, nonce) && !strcmp(session->opaque, opaque))
|
||||||
|
+ if (session->realm && session->nonce && session->opaque && !strcmp(session->realm, realm) && !strcmp(session->nonce, nonce) && !strcmp(session->opaque, opaque))
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (session)
|
||||||
|
diff -ur gsoap2-code-r191/gsoap/plugin/wsaapi.c gsoap2-code-r192/gsoap/plugin/wsaapi.c
|
||||||
|
--- gsoap2-code-r191/gsoap/plugin/wsaapi.c 2020-06-30 21:06:47.000000000 +0200
|
||||||
|
+++ gsoap2-code-r192/gsoap/plugin/wsaapi.c 2020-11-19 19:29:25.000000000 +0100
|
||||||
|
@@ -1056,7 +1056,7 @@
|
||||||
|
oldheader->SOAP_WSA(FaultTo)->Address = oldheader->SOAP_WSA(ReplyTo)->Address;
|
||||||
|
}
|
||||||
|
/* use FaultTo */
|
||||||
|
- if (oldheader && oldheader->SOAP_WSA(FaultTo) && !strcmp(oldheader->SOAP_WSA(FaultTo)->Address, soap_wsa_noneURI))
|
||||||
|
+ if (oldheader && oldheader->SOAP_WSA(FaultTo) && oldheader->SOAP_WSA(FaultTo)->Address && !strcmp(oldheader->SOAP_WSA(FaultTo)->Address, soap_wsa_noneURI))
|
||||||
|
return soap_send_empty_response(soap, SOAP_OK); /* HTTP ACCEPTED */
|
||||||
|
soap->header = NULL;
|
||||||
|
/* allocate a new header */
|
||||||
|
diff -ur gsoap2-code-r191/gsoap/plugin/wsseapi.c gsoap2-code-r192/gsoap/plugin/wsseapi.c
|
||||||
|
--- gsoap2-code-r191/gsoap/plugin/wsseapi.c 2020-10-16 23:01:09.000000000 +0200
|
||||||
|
+++ gsoap2-code-r192/gsoap/plugin/wsseapi.c 2020-11-19 19:29:25.000000000 +0100
|
||||||
|
@@ -2957,7 +2957,7 @@
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* check password text */
|
||||||
|
- if (!strcmp(token->Password->__item, password))
|
||||||
|
+ if (token->Password->__item && !strcmp(token->Password->__item, password))
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -3119,6 +3119,7 @@
|
||||||
|
{
|
||||||
|
_wsse__BinarySecurityToken *token = soap_wsse_BinarySecurityToken(soap, id);
|
||||||
|
DBGFUN1("soap_wsse_get_BinarySecurityToken", "id=%s", id?id:"");
|
||||||
|
+ *data = NULL;
|
||||||
|
if (token)
|
||||||
|
{
|
||||||
|
*valueType = token->ValueType;
|
||||||
|
@@ -3149,9 +3150,9 @@
|
||||||
|
X509 *cert = NULL;
|
||||||
|
char *valueType = NULL;
|
||||||
|
#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
|
||||||
|
- const unsigned char *data;
|
||||||
|
+ const unsigned char *data = NULL;
|
||||||
|
#else
|
||||||
|
- unsigned char *data;
|
||||||
|
+ unsigned char *data = NULL;
|
||||||
|
#endif
|
||||||
|
int size;
|
||||||
|
DBGFUN1("soap_wsse_get_BinarySecurityTokenX509", "id=%s", id?id:"");
|
||||||
|
@@ -3271,7 +3272,7 @@
|
||||||
|
SOAP_FMAC2
|
||||||
|
soap_wsse_add_SecurityContextToken(struct soap *soap, const char *id, const char *identifier)
|
||||||
|
{
|
||||||
|
- char *URI;
|
||||||
|
+ char *URI = NULL;
|
||||||
|
size_t l;
|
||||||
|
_wsse__Security *security = soap_wsse_add_Security(soap);
|
||||||
|
DBGFUN2("soap_wsse_add_SecurityContextToken", "id=%s", id, "identifier=%s", identifier?identifier:"");
|
||||||
|
@@ -3653,7 +3654,7 @@
|
||||||
|
{
|
||||||
|
ds__SignatureType *signature = soap_wsse_add_Signature(soap);
|
||||||
|
const char *method = NULL;
|
||||||
|
- char *sig;
|
||||||
|
+ char *sig = NULL;
|
||||||
|
int siglen;
|
||||||
|
int err;
|
||||||
|
const char *c14ninclude = soap->c14ninclude;
|
||||||
|
@@ -3884,10 +3885,10 @@
|
||||||
|
&& signature->SignedInfo
|
||||||
|
&& signature->SignatureValue)
|
||||||
|
{
|
||||||
|
- char *sig;
|
||||||
|
- const char *sigval;
|
||||||
|
+ char *sig = NULL;
|
||||||
|
+ const char *sigval = NULL;
|
||||||
|
int method, bits, siglen, sigvallen;
|
||||||
|
- struct soap_dom_element *elt;
|
||||||
|
+ struct soap_dom_element *elt = NULL;
|
||||||
|
/* check that we are using the intended signature algorithm */
|
||||||
|
if (soap_wsse_get_SignedInfo_SignatureMethod(soap, &method, &bits))
|
||||||
|
return soap->error;
|
||||||
|
@@ -3944,8 +3945,8 @@
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM attribute = %s\n", att->name));
|
||||||
|
- if (!strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ if (att->name && att->text && !strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* push xmlns="..." */
|
||||||
|
@@ -3953,9 +3954,9 @@
|
||||||
|
{
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
- if (!strcmp(att->name, "xmlns"))
|
||||||
|
+ if (att->name && att->text && !strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -4239,17 +4240,17 @@
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM attribute = %s\n", att->name));
|
||||||
|
- if (!strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ if (att->name && att->text && !strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (prt = dom->prnt; prt; prt = prt->prnt)
|
||||||
|
{
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
- if (!strcmp(att->name, "xmlns"))
|
||||||
|
+ if (att->name && att->text && !strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -5090,7 +5091,7 @@
|
||||||
|
if (elt)
|
||||||
|
{
|
||||||
|
att = soap_att_get(elt, NULL, "EncodingType");
|
||||||
|
- if (att)
|
||||||
|
+ if (att && soap_att_get_text(att))
|
||||||
|
keybase = !strcmp(soap_att_get_text(att), wsse_Base64BinaryURI);
|
||||||
|
att = soap_att_get(elt, NULL, "ValueType");
|
||||||
|
keytype = soap_att_get_text(att);
|
||||||
|
@@ -5140,7 +5141,7 @@
|
||||||
|
{
|
||||||
|
int keylen;
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Verify EncryptedKey %s alg=%x\n", keyalgo, data->deco_alg));
|
||||||
|
- if (keydata)
|
||||||
|
+ if (keytype && keydata)
|
||||||
|
{
|
||||||
|
if (!strcmp(keytype, wsse_X509v3URI))
|
||||||
|
{
|
||||||
|
@@ -6111,9 +6112,8 @@
|
||||||
|
*/
|
||||||
|
static int soap_p_hash(struct soap *soap, const char *hmac_key, size_t hmac_key_len, const char *secret, size_t secretlen, int alg, char HA[], size_t HA_len, char temp[], char *phash, size_t phashlen)
|
||||||
|
{
|
||||||
|
- char *buffer;
|
||||||
|
size_t i;
|
||||||
|
- buffer = (char*)SOAP_MALLOC(soap, HA_len + secretlen);
|
||||||
|
+ char *buffer = (char*)SOAP_MALLOC(soap, HA_len + secretlen);
|
||||||
|
if (!buffer)
|
||||||
|
return soap->error = SOAP_EOM;
|
||||||
|
i = 0;
|
||||||
|
@@ -7351,7 +7351,7 @@
|
||||||
|
soap_strcpy(URI + 1, l + 1, Id);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
- if (!strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
+ if (tag && !strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
{
|
||||||
|
if (soap_element(soap, tag, id, type)
|
||||||
|
|| soap_element_start_end_out(soap, NULL))
|
||||||
|
@@ -7401,7 +7401,7 @@
|
||||||
|
}
|
||||||
|
if (data && (!data->encid || soap_tagsearch(data->encid, tag)))
|
||||||
|
{
|
||||||
|
- if (!strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
+ if (tag && !strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
{
|
||||||
|
if (soap_wsse_encrypt_end(soap))
|
||||||
|
return soap->error;
|
||||||
|
diff -ur gsoap2-code-r191/gsoap/plugin/wsseapi.cpp gsoap2-code-r192/gsoap/plugin/wsseapi.cpp
|
||||||
|
--- gsoap2-code-r191/gsoap/plugin/wsseapi.cpp 2020-10-16 23:01:09.000000000 +0200
|
||||||
|
+++ gsoap2-code-r192/gsoap/plugin/wsseapi.cpp 2020-11-19 19:29:25.000000000 +0100
|
||||||
|
@@ -2957,7 +2957,7 @@
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* check password text */
|
||||||
|
- if (!strcmp(token->Password->__item, password))
|
||||||
|
+ if (token->Password->__item && !strcmp(token->Password->__item, password))
|
||||||
|
return SOAP_OK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -3119,6 +3119,7 @@
|
||||||
|
{
|
||||||
|
_wsse__BinarySecurityToken *token = soap_wsse_BinarySecurityToken(soap, id);
|
||||||
|
DBGFUN1("soap_wsse_get_BinarySecurityToken", "id=%s", id?id:"");
|
||||||
|
+ *data = NULL;
|
||||||
|
if (token)
|
||||||
|
{
|
||||||
|
*valueType = token->ValueType;
|
||||||
|
@@ -3149,9 +3150,9 @@
|
||||||
|
X509 *cert = NULL;
|
||||||
|
char *valueType = NULL;
|
||||||
|
#if (OPENSSL_VERSION_NUMBER >= 0x0090800fL)
|
||||||
|
- const unsigned char *data;
|
||||||
|
+ const unsigned char *data = NULL;
|
||||||
|
#else
|
||||||
|
- unsigned char *data;
|
||||||
|
+ unsigned char *data = NULL;
|
||||||
|
#endif
|
||||||
|
int size;
|
||||||
|
DBGFUN1("soap_wsse_get_BinarySecurityTokenX509", "id=%s", id?id:"");
|
||||||
|
@@ -3271,7 +3272,7 @@
|
||||||
|
SOAP_FMAC2
|
||||||
|
soap_wsse_add_SecurityContextToken(struct soap *soap, const char *id, const char *identifier)
|
||||||
|
{
|
||||||
|
- char *URI;
|
||||||
|
+ char *URI = NULL;
|
||||||
|
size_t l;
|
||||||
|
_wsse__Security *security = soap_wsse_add_Security(soap);
|
||||||
|
DBGFUN2("soap_wsse_add_SecurityContextToken", "id=%s", id, "identifier=%s", identifier?identifier:"");
|
||||||
|
@@ -3653,7 +3654,7 @@
|
||||||
|
{
|
||||||
|
ds__SignatureType *signature = soap_wsse_add_Signature(soap);
|
||||||
|
const char *method = NULL;
|
||||||
|
- char *sig;
|
||||||
|
+ char *sig = NULL;
|
||||||
|
int siglen;
|
||||||
|
int err;
|
||||||
|
const char *c14ninclude = soap->c14ninclude;
|
||||||
|
@@ -3884,10 +3885,10 @@
|
||||||
|
&& signature->SignedInfo
|
||||||
|
&& signature->SignatureValue)
|
||||||
|
{
|
||||||
|
- char *sig;
|
||||||
|
- const char *sigval;
|
||||||
|
+ char *sig = NULL;
|
||||||
|
+ const char *sigval = NULL;
|
||||||
|
int method, bits, siglen, sigvallen;
|
||||||
|
- struct soap_dom_element *elt;
|
||||||
|
+ struct soap_dom_element *elt = NULL;
|
||||||
|
/* check that we are using the intended signature algorithm */
|
||||||
|
if (soap_wsse_get_SignedInfo_SignatureMethod(soap, &method, &bits))
|
||||||
|
return soap->error;
|
||||||
|
@@ -3944,8 +3945,8 @@
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM attribute = %s\n", att->name));
|
||||||
|
- if (!strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ if (att->name && att->text && !strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* push xmlns="..." */
|
||||||
|
@@ -3953,9 +3954,9 @@
|
||||||
|
{
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
- if (!strcmp(att->name, "xmlns"))
|
||||||
|
+ if (att->name && att->text && !strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -4239,17 +4240,17 @@
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "DOM attribute = %s\n", att->name));
|
||||||
|
- if (!strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ if (att->name && att->text && !strncmp(att->name, "xmlns:", 6) && !soap_lookup_ns(soap, att->name + 6, strlen(att->name + 6)))
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (prt = dom->prnt; prt; prt = prt->prnt)
|
||||||
|
{
|
||||||
|
for (att = prt->atts; att; att = att->next)
|
||||||
|
{
|
||||||
|
- if (!strcmp(att->name, "xmlns"))
|
||||||
|
+ if (att->name && att->text && !strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
- soap_attribute(soap, att->name, att->text);
|
||||||
|
+ (void)soap_attribute(soap, att->name, att->text);
|
||||||
|
prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
@@ -5090,7 +5091,7 @@
|
||||||
|
if (elt)
|
||||||
|
{
|
||||||
|
att = soap_att_get(elt, NULL, "EncodingType");
|
||||||
|
- if (att)
|
||||||
|
+ if (att && soap_att_get_text(att))
|
||||||
|
keybase = !strcmp(soap_att_get_text(att), wsse_Base64BinaryURI);
|
||||||
|
att = soap_att_get(elt, NULL, "ValueType");
|
||||||
|
keytype = soap_att_get_text(att);
|
||||||
|
@@ -5140,7 +5141,7 @@
|
||||||
|
{
|
||||||
|
int keylen;
|
||||||
|
DBGLOG(TEST, SOAP_MESSAGE(fdebug, "Verify EncryptedKey %s alg=%x\n", keyalgo, data->deco_alg));
|
||||||
|
- if (keydata)
|
||||||
|
+ if (keytype && keydata)
|
||||||
|
{
|
||||||
|
if (!strcmp(keytype, wsse_X509v3URI))
|
||||||
|
{
|
||||||
|
@@ -6111,9 +6112,8 @@
|
||||||
|
*/
|
||||||
|
static int soap_p_hash(struct soap *soap, const char *hmac_key, size_t hmac_key_len, const char *secret, size_t secretlen, int alg, char HA[], size_t HA_len, char temp[], char *phash, size_t phashlen)
|
||||||
|
{
|
||||||
|
- char *buffer;
|
||||||
|
size_t i;
|
||||||
|
- buffer = (char*)SOAP_MALLOC(soap, HA_len + secretlen);
|
||||||
|
+ char *buffer = (char*)SOAP_MALLOC(soap, HA_len + secretlen);
|
||||||
|
if (!buffer)
|
||||||
|
return soap->error = SOAP_EOM;
|
||||||
|
i = 0;
|
||||||
|
@@ -7351,7 +7351,7 @@
|
||||||
|
soap_strcpy(URI + 1, l + 1, Id);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
- if (!strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
+ if (tag && !strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
{
|
||||||
|
if (soap_element(soap, tag, id, type)
|
||||||
|
|| soap_element_start_end_out(soap, NULL))
|
||||||
|
@@ -7401,7 +7401,7 @@
|
||||||
|
}
|
||||||
|
if (data && (!data->encid || soap_tagsearch(data->encid, tag)))
|
||||||
|
{
|
||||||
|
- if (!strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
+ if (tag && !strcmp(tag, "SOAP-ENV:Body"))
|
||||||
|
{
|
||||||
|
if (soap_wsse_encrypt_end(soap))
|
||||||
|
return soap->error;
|
||||||
36
gsoap-url-parse-hardening.patch
Normal file
36
gsoap-url-parse-hardening.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
diffdiff -ur gsoap2-code-r193/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp gsoap2-code-r194/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp
|
||||||
|
--- gsoap2-code-r193/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp 2021-01-17 20:13:51.000000000 +0100
|
||||||
|
+++ gsoap2-code-r194/gsoap/samples/calc_vs2005/calc_vs2005/stdsoap2.cpp 2021-01-22 23:49:26.000000000 +0100
|
||||||
|
@@ -21246,7 +21243,7 @@
|
||||||
|
if (*s == ':')
|
||||||
|
{
|
||||||
|
s++;
|
||||||
|
- if (*s != '@')
|
||||||
|
+ if (*s != '@' && s < t)
|
||||||
|
{
|
||||||
|
l = t - s + 1;
|
||||||
|
r = r + strlen(r) + 1;
|
||||||
|
diff -ur gsoap2-code-r193/gsoap/stdsoap2.c gsoap2-code-r194/gsoap/stdsoap2.c
|
||||||
|
--- gsoap2-code-r193/gsoap/stdsoap2.c 2021-01-17 20:13:51.000000000 +0100
|
||||||
|
+++ gsoap2-code-r194/gsoap/stdsoap2.c 2021-01-22 23:49:26.000000000 +0100
|
||||||
|
@@ -21246,7 +21243,7 @@
|
||||||
|
if (*s == ':')
|
||||||
|
{
|
||||||
|
s++;
|
||||||
|
- if (*s != '@')
|
||||||
|
+ if (*s != '@' && s < t)
|
||||||
|
{
|
||||||
|
l = t - s + 1;
|
||||||
|
r = r + strlen(r) + 1;
|
||||||
|
diff -ur gsoap2-code-r193/gsoap/stdsoap2.cpp gsoap2-code-r194/gsoap/stdsoap2.cpp
|
||||||
|
--- gsoap2-code-r193/gsoap/stdsoap2.cpp 2021-01-17 20:13:51.000000000 +0100
|
||||||
|
+++ gsoap2-code-r194/gsoap/stdsoap2.cpp 2021-01-22 23:49:26.000000000 +0100
|
||||||
|
@@ -21246,7 +21243,7 @@
|
||||||
|
if (*s == ':')
|
||||||
|
{
|
||||||
|
s++;
|
||||||
|
- if (*s != '@')
|
||||||
|
+ if (*s != '@' && s < t)
|
||||||
|
{
|
||||||
|
l = t - s + 1;
|
||||||
|
r = r + strlen(r) + 1;
|
||||||
94
gsoap-wsse.patch
Normal file
94
gsoap-wsse.patch
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
diff -ur gsoap2-code-r187/gsoap/plugin/wsseapi.c gsoap2-code-r188/gsoap/plugin/wsseapi.c
|
||||||
|
--- gsoap2-code-r187/gsoap/plugin/wsseapi.c 2020-06-30 21:06:47.000000000 +0200
|
||||||
|
+++ gsoap2-code-r188/gsoap/plugin/wsseapi.c 2020-07-22 22:20:04.000000000 +0200
|
||||||
|
@@ -3956,9 +3956,12 @@
|
||||||
|
if (!strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
soap_attribute(soap, att->name, att->text);
|
||||||
|
+ prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (!prt)
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -4247,9 +4250,12 @@
|
||||||
|
if (!strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
soap_attribute(soap, att->name, att->text);
|
||||||
|
+ prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (!prt)
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -4984,7 +4990,7 @@
|
||||||
|
if (soap_tagsearch(data->encid, "ds:Signature"))
|
||||||
|
{
|
||||||
|
/* support ds:Signature encryption only with HTTP chunking, otherwise content length is incorrect */
|
||||||
|
- if ((soap->omode & SOAP_IO) == SOAP_IO_BUFFER)
|
||||||
|
+ if ((soap->omode & SOAP_IO) == SOAP_IO_BUFFER || (soap->omode & SOAP_IO) == SOAP_IO_FLUSH)
|
||||||
|
soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_CHUNK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -7573,6 +7579,8 @@
|
||||||
|
soap->c14ninclude = NULL; /* but do not render inclusive namespaces */
|
||||||
|
if ((soap->mode & SOAP_XML_INDENT))
|
||||||
|
soap->count += 5; /* correction for soap->ns = 0: add \n+indent */
|
||||||
|
+ if ((soap->mode & SOAP_XML_DEFAULTNS))
|
||||||
|
+ soap->count -= 2*(9 + strlen(ds_URI)); /* correct for xmlns="http://www.w3.org/2000/09/xmldsig#" added to SignedInfo and ds:SignatureValue */
|
||||||
|
}
|
||||||
|
soap_out_ds__SignedInfoType(soap, "ds:SignedInfo", 0, signature->SignedInfo, NULL);
|
||||||
|
soap_out__ds__SignatureValue(soap, "ds:SignatureValue", 0, &signature->SignatureValue, NULL);
|
||||||
|
diff -ur gsoap2-code-r187/gsoap/plugin/wsseapi.cpp gsoap2-code-r188/gsoap/plugin/wsseapi.cpp
|
||||||
|
--- gsoap2-code-r187/gsoap/plugin/wsseapi.cpp 2020-06-30 21:06:47.000000000 +0200
|
||||||
|
+++ gsoap2-code-r188/gsoap/plugin/wsseapi.cpp 2020-07-22 22:20:04.000000000 +0200
|
||||||
|
@@ -3956,9 +3956,12 @@
|
||||||
|
if (!strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
soap_attribute(soap, att->name, att->text);
|
||||||
|
+ prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (!prt)
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -4247,9 +4250,12 @@
|
||||||
|
if (!strcmp(att->name, "xmlns"))
|
||||||
|
{
|
||||||
|
soap_attribute(soap, att->name, att->text);
|
||||||
|
+ prt = NULL;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ if (!prt)
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
@@ -4984,7 +4990,7 @@
|
||||||
|
if (soap_tagsearch(data->encid, "ds:Signature"))
|
||||||
|
{
|
||||||
|
/* support ds:Signature encryption only with HTTP chunking, otherwise content length is incorrect */
|
||||||
|
- if ((soap->omode & SOAP_IO) == SOAP_IO_BUFFER)
|
||||||
|
+ if ((soap->omode & SOAP_IO) == SOAP_IO_BUFFER || (soap->omode & SOAP_IO) == SOAP_IO_FLUSH)
|
||||||
|
soap->omode = (soap->omode & ~SOAP_IO) | SOAP_IO_CHUNK;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -7573,6 +7579,8 @@
|
||||||
|
soap->c14ninclude = NULL; /* but do not render inclusive namespaces */
|
||||||
|
if ((soap->mode & SOAP_XML_INDENT))
|
||||||
|
soap->count += 5; /* correction for soap->ns = 0: add \n+indent */
|
||||||
|
+ if ((soap->mode & SOAP_XML_DEFAULTNS))
|
||||||
|
+ soap->count -= 2*(9 + strlen(ds_URI)); /* correct for xmlns="http://www.w3.org/2000/09/xmldsig#" added to SignedInfo and ds:SignatureValue */
|
||||||
|
}
|
||||||
|
soap_out_ds__SignedInfoType(soap, "ds:SignedInfo", 0, signature->SignedInfo, NULL);
|
||||||
|
soap_out__ds__SignatureValue(soap, "ds:SignatureValue", 0, &signature->SignatureValue, NULL);
|
||||||
135
gsoap.spec
Normal file
135
gsoap.spec
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
Summary: Generator Tools for Coding SOAP/XML Web Services in C and C++
|
||||||
|
Name: gsoap
|
||||||
|
Version: 2.8.104
|
||||||
|
Release: 1
|
||||||
|
License: GPLv2+ with exceptions
|
||||||
|
URL: http://gsoap2.sourceforge.net/
|
||||||
|
Source0: http://downloads.sourceforge.net/gsoap2/%{name}_%{version}.zip
|
||||||
|
Source1: soapcpp2.1
|
||||||
|
Source2: wsdl2h.1
|
||||||
|
Source3: index.html
|
||||||
|
Patch0: %{name}-libtool.patch
|
||||||
|
Patch1: %{name}-doxygen-tabs.patch
|
||||||
|
Patch2: gsoap-wsse.patch
|
||||||
|
Patch3: gsoap-plugins-hardening.patch
|
||||||
|
Patch4: gsoap-url-parse-hardening.patch
|
||||||
|
BuildRequires: gcc-c++ flex bison dos2unix openssl-devel zlib-devel autoconf automake libtool
|
||||||
|
BuildRequires: doxygen graphviz make
|
||||||
|
%description
|
||||||
|
The gSOAP Web services development toolkit offers an XML to C/C++
|
||||||
|
language binding to ease the development of SOAP/XML Web services in C
|
||||||
|
and C/C++.
|
||||||
|
|
||||||
|
%package devel
|
||||||
|
Summary: Devel libraries and headers for linking with gSOAP generated stubs
|
||||||
|
Requires: %name = %version-%release
|
||||||
|
%description devel
|
||||||
|
gSOAP libraries, headers and generators for linking with and creating
|
||||||
|
gSOAP generated stubs.
|
||||||
|
|
||||||
|
%package doc
|
||||||
|
Summary: Documentation for gSOAP
|
||||||
|
BuildArch: noarch
|
||||||
|
%description doc
|
||||||
|
gSOAP documentation in html.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n gsoap-2.8
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
|
%patch4 -p1
|
||||||
|
find gsoap/samples/autotest/databinding/examples -name '*.xml' \
|
||||||
|
-exec chmod a-x {} ';'
|
||||||
|
chmod a-x gsoap/doc/fonts/*
|
||||||
|
dos2unix -k README.txt LICENSE.txt NOTES.txt GPLv2_license.txt \
|
||||||
|
gsoap/plugin/sessions.c gsoap/plugin/sessions.h
|
||||||
|
rm -rf gsoap/extras gsoap/mod_gsoap gsoap/Symbian
|
||||||
|
sed 's!$(top_srcdir)/gsoap/extras/\*!!' -i gsoap/Makefile.am
|
||||||
|
rm -rf gsoap/doc/apache gsoap/doc/wininet gsoap/doc/isapi
|
||||||
|
rm -rf gsoap/bin
|
||||||
|
rm gsoap/samples/rest/person
|
||||||
|
rm gsoap/samples/wcf/Basic/TransportSecurity/calculator
|
||||||
|
rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/soapcpp2.exe
|
||||||
|
rm gsoap/samples/webserver/opt{C.c,H.h,Stub.h}
|
||||||
|
rm gsoap/VisualStudio2005/wsdl2h/wsdl2h/wsdl{C.cpp,H.h,Stub.h}
|
||||||
|
find . -name .DS_Store -exec rm {} ';'
|
||||||
|
|
||||||
|
%build
|
||||||
|
autoreconf --install --force
|
||||||
|
%configure --disable-static --prefix=/usr --enable-ipv6 --enable-samples
|
||||||
|
make
|
||||||
|
cp -pr gsoap/doc gsoap/doc-build
|
||||||
|
pushd gsoap/doc-build
|
||||||
|
rm -rf */html
|
||||||
|
for f in */Doxyfile ; do
|
||||||
|
( cd $(dirname $f) ; doxygen Doxyfile )
|
||||||
|
done
|
||||||
|
rm README.txt index.html
|
||||||
|
rm doxygen_footer.html doxygen_header.html
|
||||||
|
rm guide/index.md guide/stdsoap2.h soapdoc2.html
|
||||||
|
rm GeniviaLogo2_trans_noslogan.png
|
||||||
|
rm genivia_content.css genivia_tabs.css
|
||||||
|
rm */Doxyfile
|
||||||
|
rm */html/genivia_tabs.css
|
||||||
|
rm -f */doxygen_sqlite3.db
|
||||||
|
popd
|
||||||
|
install -m 644 -p %{SOURCE3} gsoap/doc-build
|
||||||
|
|
||||||
|
%install
|
||||||
|
make install DESTDIR=%{buildroot}
|
||||||
|
rm -f %{buildroot}/%_libdir/*.la
|
||||||
|
rm %{buildroot}/%_datadir/gsoap/plugin/testmsgr-httpda.o
|
||||||
|
rm %{buildroot}/%_datadir/gsoap/plugin/testmsgr-smdevp.o
|
||||||
|
mkdir -p %{buildroot}/%_mandir/man1
|
||||||
|
install -m 644 -p %{SOURCE1} %{SOURCE2} %{buildroot}/%_mandir/man1
|
||||||
|
|
||||||
|
%check
|
||||||
|
make check
|
||||||
|
|
||||||
|
%files
|
||||||
|
%doc factsheet.pdf NOTES.txt README.txt
|
||||||
|
%license LICENSE.txt GPLv2_license.txt
|
||||||
|
%_libdir/libgsoap-*.so
|
||||||
|
%_libdir/libgsoap++-*.so
|
||||||
|
%_libdir/libgsoapck-*.so
|
||||||
|
%_libdir/libgsoapck++-*.so
|
||||||
|
%_libdir/libgsoapssl-*.so
|
||||||
|
%_libdir/libgsoapssl++-*.so
|
||||||
|
|
||||||
|
%files devel
|
||||||
|
%_bindir/soapcpp2
|
||||||
|
%_bindir/wsdl2h
|
||||||
|
%_mandir/man1/soapcpp2.1*
|
||||||
|
%_mandir/man1/wsdl2h.1*
|
||||||
|
%_libdir/libgsoap.so
|
||||||
|
%_libdir/libgsoap++.so
|
||||||
|
%_libdir/libgsoapck.so
|
||||||
|
%_libdir/libgsoapck++.so
|
||||||
|
%_libdir/libgsoapssl.so
|
||||||
|
%_libdir/libgsoapssl++.so
|
||||||
|
%_includedir/stdsoap2.h
|
||||||
|
%dir %_datadir/gsoap
|
||||||
|
%dir %_datadir/gsoap/import
|
||||||
|
%_datadir/gsoap/import/*
|
||||||
|
%dir %_datadir/gsoap/WS
|
||||||
|
%_datadir/gsoap/WS/*
|
||||||
|
%dir %_datadir/gsoap/custom
|
||||||
|
%_datadir/gsoap/custom/*
|
||||||
|
%dir %_datadir/gsoap/plugin
|
||||||
|
%_datadir/gsoap/plugin/*
|
||||||
|
%_libdir/pkgconfig/gsoapck.pc
|
||||||
|
%_libdir/pkgconfig/gsoapck++.pc
|
||||||
|
%_libdir/pkgconfig/gsoap.pc
|
||||||
|
%_libdir/pkgconfig/gsoap++.pc
|
||||||
|
%_libdir/pkgconfig/gsoapssl.pc
|
||||||
|
%_libdir/pkgconfig/gsoapssl++.pc
|
||||||
|
|
||||||
|
%files doc
|
||||||
|
%doc gsoap/doc-build/*
|
||||||
|
%license LICENSE.txt GPLv2_license.txt
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Sep 6 2021 wulei <wulei80@huawei.com> - 2.8.104-1
|
||||||
|
- package init
|
||||||
BIN
gsoap_2.8.104.zip
Normal file
BIN
gsoap_2.8.104.zip
Normal file
Binary file not shown.
67
index.html
Normal file
67
index.html
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Genivia gSOAP Documentation</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
<h1>Documentation</h1>
|
||||||
|
|
||||||
|
<h2>User guide</h2>
|
||||||
|
|
||||||
|
<p><a href="guide/html/index.html">the gSOAP user guide</a></p>
|
||||||
|
|
||||||
|
<h2>XML data bindings</h2>
|
||||||
|
|
||||||
|
<p><a href="databinding/html/index.html">XML data binding documentation with examples</a> describes the WSDL/XSD mapping tools to and from C/C++ types and QT C++ types. Explains the use of typemap.dat for wsdl2h with an explanation of the gSOAP C/C++ type and name binding conventions. Also describes memory management of objects and C/C++ data serialization. Includes an "Address Book" and a data structure "Graph" data binding example.</p>
|
||||||
|
|
||||||
|
<h2>XML DOM API and the domcpp tool</h2>
|
||||||
|
|
||||||
|
<p><a href="dom/html/index.html">XML DOM API and domcpp</a> presents the DOM API with the updated XML DOM library v5 for C/C++, and the domcpp code generation tool to simplify DOM API coding.</p>
|
||||||
|
|
||||||
|
<h2>XML-RPC, JSON, and the jsoncpp tool</h2>
|
||||||
|
|
||||||
|
<p><a href="xml-rpc-json/html/index.html">XML-RPC/JSON and jsoncpp</a> presents the XML-RPC and JSON/JSONPath library for C/C++, and the jsoncpp code generator to simplify JSON coding. JSON-RPC/REST client/server examples are included.</p>
|
||||||
|
|
||||||
|
<h2>cURL for gSOAP</h2>
|
||||||
|
|
||||||
|
<p><a href="curl/html/index.html">the CURL plugin</a> enables <a href="http://curl.haxx.se">cURL</a> with gSOAP for client applications. Examples are included.</p>
|
||||||
|
|
||||||
|
<h2>iOS for gSOAP</h2>
|
||||||
|
|
||||||
|
<p><a href="ios/html/index.html">iOS for gSOAP</a> describes the use of our iOS plugin for gSOAP to develop apps. Four example iOS apps are explained.</p>
|
||||||
|
|
||||||
|
<h2>Security and authentication</h2>
|
||||||
|
|
||||||
|
<p><a href="wst/html/index.html">WS-Trust</a> describes the WS-Trust extensible framework. Includes SAML token creation, signing, verification, PSHA1, and more. Requires the WS-Security plugin.</p>
|
||||||
|
|
||||||
|
<p><a href="wsse/html/wsse.html">WS-Security</a> describes the WSSE plugin for WS-Security authentication, digital signatures, and encryption.</p>
|
||||||
|
|
||||||
|
<p><a href="wsse-lite/html/wsse.html">WS-Security lite</a> describes client-server authentication with a light-weight implementation of WS-Security. Use this plugin for username authentication tokens and timestamps over HTTPS. Does not support signature and encryption.</p>
|
||||||
|
|
||||||
|
<p><a href="wsse/html/smdevp.html">WSSE smdevp signed message digest engine</a> describes the digest engine of the WSSE plugin.</p>
|
||||||
|
|
||||||
|
<p><a href="wsse/html/mecevp.html">WSSE mecevp streaming message encryption and decryption engine</a> describes the encryption engine of the WSSE plugin.</p>
|
||||||
|
|
||||||
|
<p><a href="httpda/html/httpda.html">HTTP digest authentication</a> describes the httpda plugin for secure HTTP authentication to replace HTTP basic authentication that is not secure over non-encrypted channels.</p>
|
||||||
|
|
||||||
|
<p><a href="sessions/html/index.html">HTTP server session management</a> describes the HTTP server session management plugin for secure server-side HTTP sessions with cookies.</p>
|
||||||
|
|
||||||
|
<h2>Reliable messaging and message addressing</h2>
|
||||||
|
|
||||||
|
<p><a href="wsa/html/wsa_0.html">WS-Addressing</a> describes the WSA plugin for WS-Addressing of messages and message (re)routing.</p>
|
||||||
|
|
||||||
|
<p><a href="wsrm/html/wsrm_0.html">WS-ReliableMessaging</a> describes the WSRM plugin for WS-ReliableMessaging message sequence creation and message sequence assured delivery with (optional) message resends.</p>
|
||||||
|
|
||||||
|
<p><a href="wsrm/html/mq_0.html">WSRM mq plugin for inbound message queueing and message replay</a> describes the MQ plugin for message queueing in support of WS-RM NoDiscard behavior.</p>
|
||||||
|
|
||||||
|
<h2>Service discovery gSOAP plugin</h2>
|
||||||
|
|
||||||
|
<p><a href="wsdd/html/wsdd_0.html">WS-Discovery</a> describes the WSDD plugin for service discovery with WS-Discovery.</p>
|
||||||
|
|
||||||
|
<h2>Legacy gSOAP UDDI v2 API</h2>
|
||||||
|
|
||||||
|
<p><a href="uddi2/html/index.html">UDDI v2 API</a> describes the gSOAP UDDI v2 API.</p>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
158
soapcpp2.1
Normal file
158
soapcpp2.1
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.\" First parameter, NAME, should be all caps
|
||||||
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
|
.\" other parameters are allowed: see man(7), man(1)
|
||||||
|
.TH SOAPCPP2 1 "Juni 27, 2003"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
soapcpp2 \- the gSOAP Stub and Skeleton Compiler for C and C++
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBsoapcpp2\fR [\fIOPTIONS\fR] \fIINPUT\fR
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Please see /usr/share/doc/gsoap-doc/soapdoc2.html for details.
|
||||||
|
.PP
|
||||||
|
Create stubs and client and server code from input \fIINPUT\fR or
|
||||||
|
standard input if \fIINPUT\fR is not specified.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-0\fR
|
||||||
|
No SOAP, generate REST source code.
|
||||||
|
.TP
|
||||||
|
\fB\-1\fR
|
||||||
|
Generate SOAP 1.1 source code.
|
||||||
|
.TP
|
||||||
|
\fB\-2\fR
|
||||||
|
Generate SOAP 1.2 source code.
|
||||||
|
.TP
|
||||||
|
\fB\-A\fR
|
||||||
|
Require HTTP SOAPAction headers to invoke server-side operations.
|
||||||
|
.TP
|
||||||
|
\fB\-a\fR
|
||||||
|
Use HTTP SOAPAction with WS-Addressing to invoke server-side operations.
|
||||||
|
.TP
|
||||||
|
\fB\-b\fR
|
||||||
|
Serialize byte arrays char[N] as string.
|
||||||
|
.TP
|
||||||
|
\fB\-C\fR
|
||||||
|
Generate client-side source code only.
|
||||||
|
.TP
|
||||||
|
\fB\-c\fR
|
||||||
|
Generate C source code.
|
||||||
|
.TP
|
||||||
|
\fB\-c++\fR
|
||||||
|
Generate C++ source code (default).
|
||||||
|
.TP
|
||||||
|
\fB\-c++11\fR
|
||||||
|
Generate C++ source code optimized for C++11 (compile with -std=c++11).
|
||||||
|
.TP
|
||||||
|
\fB\-d\fIpath\fR
|
||||||
|
Use \fIpath\fR to save files.
|
||||||
|
.TP
|
||||||
|
\fB\-Ec\fR
|
||||||
|
Generate extra functions for deep copying.
|
||||||
|
.TP
|
||||||
|
\fB\-Ed\fR
|
||||||
|
Generate extra functions for deep deletion.
|
||||||
|
.TP
|
||||||
|
\fB\-Et\fR
|
||||||
|
Generate extra functions for data traversals with callback functions.
|
||||||
|
.TP
|
||||||
|
\fB\-e\fR
|
||||||
|
Generate SOAP RPC encoding style bindings (also use \fB-1\fR or \fB-2\fR).
|
||||||
|
.TP
|
||||||
|
\fB\-f\fIN\fR
|
||||||
|
Multiple soapC files, with \fIN\fR serializer definitions per file (N>=10).
|
||||||
|
.TP
|
||||||
|
\fB\-g\fR
|
||||||
|
Generate XML sample messages in template format for testmsgr.
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR
|
||||||
|
Display help info and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-I\fIpath\fR
|
||||||
|
Use \fIpath\fR(s) for \fB#import\fR (paths separated with ':').
|
||||||
|
.TP
|
||||||
|
\fB\-i\fR
|
||||||
|
Generate C++ service proxies and objects inherited from \fBsoap\fR struct.
|
||||||
|
.TP
|
||||||
|
\fB\-j\fR
|
||||||
|
Generate C++ service proxies and objects that share a \fBsoap\fR struct.
|
||||||
|
.TP
|
||||||
|
\fB\-L\fR
|
||||||
|
Do not generate \fBsoapClientLib\fR/\fBsoapServerLib\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-l\fR
|
||||||
|
Generate linkable modules (experimental).
|
||||||
|
.TP
|
||||||
|
\fB\-m\fR
|
||||||
|
Generate source code for the Matlab(tm) MEX compiler (deprecated).
|
||||||
|
.TP
|
||||||
|
\fB\-n\fR
|
||||||
|
Use service name to rename service functions and namespace table.
|
||||||
|
.TP
|
||||||
|
\fB\-p\fIname\fR
|
||||||
|
Save files with new prefix \fIname\fR instead of \fBsoap\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-Q\fIname\fR
|
||||||
|
Use \fIname\fR as the C++ namespace, including custom serializers.
|
||||||
|
.TP
|
||||||
|
\fB\-q\fIname\fR
|
||||||
|
Use \fIname\fR as the C++ namespace, excluding custom serializers.
|
||||||
|
.TP
|
||||||
|
\fB\-r\fR
|
||||||
|
Generate soapReadme.md report.
|
||||||
|
.TP
|
||||||
|
\fB\-S\fR
|
||||||
|
Generate server-side source code only.
|
||||||
|
.TP
|
||||||
|
\fB\-s\fR
|
||||||
|
Generate stub and skeleton functions with strict XML validation checks.
|
||||||
|
.TP
|
||||||
|
\fB\-T\fR
|
||||||
|
Generate server auto-test source code.
|
||||||
|
.TP
|
||||||
|
\fB\-t\fR
|
||||||
|
Generate source code for fully \fBxsi:type\fR typed SOAP/XML messages.
|
||||||
|
.TP
|
||||||
|
\fB\-u\fR
|
||||||
|
Uncomment WSDL/schema output by suppressing XML comments.
|
||||||
|
.TP
|
||||||
|
\fB\-V\fR
|
||||||
|
Display the current version and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR
|
||||||
|
Verbose output.
|
||||||
|
.TP
|
||||||
|
\fB\-w\fR
|
||||||
|
Do not generate WSDL and schema files.
|
||||||
|
.TP
|
||||||
|
\fB\-x\fR
|
||||||
|
Do not generate sample XML message files.
|
||||||
|
.TP
|
||||||
|
\fB\-y\fR
|
||||||
|
Include C/C++ type access information in sample XML messages.
|
||||||
|
.TP
|
||||||
|
\fB\-z1\fR
|
||||||
|
Compatibility: Generate old-style C++ service proxies and objects.
|
||||||
|
.TP
|
||||||
|
\fB\-z2\fR
|
||||||
|
Compatibility with 2.7.x: Omit XML output for NULL pointers.
|
||||||
|
.TP
|
||||||
|
\fB\-z3\fR
|
||||||
|
Compatibility up to 2.8.30: \fB_param_N\fR indexing and nillable pointers.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR wsdl2h (1).
|
||||||
|
.SH AUTHOR
|
||||||
|
This manual page was written by Thomas Wana <greuff@debian.org>,
|
||||||
|
for the Debian project (but may be used by others).
|
||||||
215
wsdl2h.1
Normal file
215
wsdl2h.1
Normal file
@ -0,0 +1,215 @@
|
|||||||
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
|
.\" First parameter, NAME, should be all caps
|
||||||
|
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||||
|
.\" other parameters are allowed: see man(7), man(1)
|
||||||
|
.TH WSDL2H 1 "December 23, 2004"
|
||||||
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
|
.\"
|
||||||
|
.\" Some roff macros, for reference:
|
||||||
|
.\" .nh disable hyphenation
|
||||||
|
.\" .hy enable hyphenation
|
||||||
|
.\" .ad l left justify
|
||||||
|
.\" .ad b justify to both left and right margins
|
||||||
|
.\" .nf disable filling
|
||||||
|
.\" .fi enable filling
|
||||||
|
.\" .br insert line break
|
||||||
|
.\" .sp <n> insert n+1 empty lines
|
||||||
|
.\" for manpage-specific macros, see man(7)
|
||||||
|
.SH NAME
|
||||||
|
wsdl2h \- the gSOAP WSDL/WADL/XSD processor for C and C++
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBwsdl2h\fR [\fIOPTIONS\fR] \fISOURCE\fR ...
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Please see /usr/share/doc/gsoap-doc/soapdoc2.html for details.
|
||||||
|
.PP
|
||||||
|
Converts a \fBWSDL\fR or \fBXSD\fR input file, or from an HTTP address,
|
||||||
|
\fISOURCE\fR to a declaration file that can be parsed by
|
||||||
|
\fBsoapcpp2\fR(1). If no \fISOURCE\fR argument is specified, read
|
||||||
|
from standard input.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-a\fR
|
||||||
|
Generate indexed struct names for local elements with anonymous types.
|
||||||
|
.TP
|
||||||
|
\fB\-b\fR
|
||||||
|
Bi-directional operations (duplex ops) added to serve one-way responses.
|
||||||
|
.TP
|
||||||
|
\fB\-c\fR
|
||||||
|
Generate C source code.
|
||||||
|
.TP
|
||||||
|
\fB\-c++\fR
|
||||||
|
Generate C++ source code (default).
|
||||||
|
.TP
|
||||||
|
\fB\-c++11\fR
|
||||||
|
Generate C++11 source code.
|
||||||
|
.TP
|
||||||
|
\fB\-D\fR
|
||||||
|
Make attribute members with default/fixed values optional with pointers.
|
||||||
|
.TP
|
||||||
|
\fB\-d\fR
|
||||||
|
Use DOM to populate \fBxs\fR:\fIany\fR, \fBxs\fR:\fIanyType\fR and
|
||||||
|
\fBxs\fR:\fIanyAttribute\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-e\fR
|
||||||
|
Do not qualify enum names.
|
||||||
|
.TP
|
||||||
|
\fB\-F\fR
|
||||||
|
Add transient members to structs to simulate struct-type derivation in C.
|
||||||
|
.TP
|
||||||
|
\fB\-f\fR
|
||||||
|
Generate flat C++ class hierarchy by removing inheritance.
|
||||||
|
.TP
|
||||||
|
\fB\-g\fR
|
||||||
|
Generate global top-level element and attribute declarations.
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR
|
||||||
|
Display help info and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-I\fIpath\fR
|
||||||
|
Use \fIpath\fR to locate WSDL and XSD files.
|
||||||
|
.TP
|
||||||
|
\fB\-i\fR
|
||||||
|
Do not import (advanced option).
|
||||||
|
.TP
|
||||||
|
\fB\-j\fR
|
||||||
|
Do not generate \fBSOAP_ENV__Header\fR and \fBSOAP_ENV__Detail\fR definitions.
|
||||||
|
.TP
|
||||||
|
\fB\-k\fR
|
||||||
|
Do not generate \fBSOAP_ENV__Header\fR mustUnderstand qualifiers.
|
||||||
|
.TP
|
||||||
|
\fB\-L\fR
|
||||||
|
Generate less documentation by removing generic @note comments.
|
||||||
|
.TP
|
||||||
|
\fB\-l\fR
|
||||||
|
Display license information.
|
||||||
|
.TP
|
||||||
|
\fB\-M\fR
|
||||||
|
Suppress error "must understand element with \fBwsdl\fR:\fIrequired\fR='true'".
|
||||||
|
.TP
|
||||||
|
\fB\-m\fR
|
||||||
|
Use \fBxsd.h\fR module to import primitive types.
|
||||||
|
.TP
|
||||||
|
\fB\-N\fIname\fR
|
||||||
|
Use \fIname\fR for service prefixes to produce a service for each binding.
|
||||||
|
.TP
|
||||||
|
\fB\-n\fIname\fR
|
||||||
|
Use \fIname\fR as the base namespace prefix instead of \fBns\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-O1\fR
|
||||||
|
Optimize by omitting duplicate choice/sequence members.
|
||||||
|
.TP
|
||||||
|
\fB\-O2\fR
|
||||||
|
Optimize -O1 and omit unused schema types (unreachable from roots).
|
||||||
|
.TP
|
||||||
|
\fB\-O3\fR
|
||||||
|
Optimize -O2 and omit unused schema root attributes.
|
||||||
|
.TP
|
||||||
|
\fB\-O4\fR
|
||||||
|
Optimize -O3 and omit unused schema root elements (use only with WSDLs).
|
||||||
|
.TP
|
||||||
|
\fB\-Ow2\fR
|
||||||
|
Optimize -O2 while retaining all derived types of used base types.
|
||||||
|
.TP
|
||||||
|
\fB\-Ow3\fR
|
||||||
|
Optimize -O3 while retaining all derived types of used base types.
|
||||||
|
.TP
|
||||||
|
\fB\-Ow4\fR
|
||||||
|
Optimize -O4 while retaining all derived types of used base types.
|
||||||
|
.TP
|
||||||
|
\fB\-o\fIfile\fR
|
||||||
|
Output to file \fIfile\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-P\fR
|
||||||
|
Do not create polymorphic types inherited from \fBxsd__anyType\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-p\fR
|
||||||
|
Create polymorphic types inherited from base \fBxsd__anyType\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-Q\fR
|
||||||
|
Make \fBxsd__anySimpleType\fR equal to \fBxsd__anyType\fR to use as the base type.
|
||||||
|
.TP
|
||||||
|
\fB\-q\fIname\fR
|
||||||
|
Use \fIname\fR for the C++ namespace of all declarations.
|
||||||
|
.TP
|
||||||
|
\fB\-R\fR
|
||||||
|
Generate REST operations for REST bindings specified in a WSDL.
|
||||||
|
.TP
|
||||||
|
\fB\-r\fIhost\fR[:\fIport\fR[:\fIuid\fR:\fIpwd\fR]]
|
||||||
|
Connect via proxy \fIhost\fR, \fIport\fR and proxy credentials \fIuid\fR and \fIpwd\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-r\fR:\fIuid\fR:\fIpwd\fR
|
||||||
|
Connect with authentication credentials \fIuid\fR and \fIpwd\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-S\fIname\fR
|
||||||
|
Use \fIname\fR instead of \fBsoap\fR for the C++ class members with soap contexts.
|
||||||
|
.TP
|
||||||
|
\fB\-s\fR
|
||||||
|
Do not generate STL code (no \fBstd::string\fR and no \fBstd::vector\fR).
|
||||||
|
.TP
|
||||||
|
\fB\-t\fIfile\fR
|
||||||
|
Use type map file \fIfile\fR instead of the default file \fBtypemap.dat\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-U\fR
|
||||||
|
Allow UTF-8-encoded Unicode C/C++ identifiers when mapping XML tag names.
|
||||||
|
.TP
|
||||||
|
\fB\-u\fR
|
||||||
|
Do not generate unions.
|
||||||
|
.TP
|
||||||
|
\fB\-V\fR
|
||||||
|
Display the current version and exit.
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR
|
||||||
|
Verbose output.
|
||||||
|
.TP
|
||||||
|
\fB\-W\fR
|
||||||
|
Suppress warnings.
|
||||||
|
.TP
|
||||||
|
\fB\-w\fR
|
||||||
|
Always wrap response parameters in a response struct (<=1.1.4 behavior).
|
||||||
|
.TP
|
||||||
|
\fB\-X\fR
|
||||||
|
Do not qualify part names to disambiguate doc/lit wrapped patterns.
|
||||||
|
.TP
|
||||||
|
\fB\-x\fR
|
||||||
|
Do not generate \fB_XML\fR \fIany\fR/\fIanyAttribute\fR extensibility elements.
|
||||||
|
.TP
|
||||||
|
\fB\-y\fR
|
||||||
|
Generate typedef synonyms for structs and enums.
|
||||||
|
.TP
|
||||||
|
\fB\-z1\fR
|
||||||
|
Compatibility with 2.7.6e: Generate pointer-based arrays.
|
||||||
|
.TP
|
||||||
|
\fB\-z2\fR
|
||||||
|
Compatibility with 2.7.7-2.7.15: (un)qualify element/attribute references.
|
||||||
|
.TP
|
||||||
|
\fB\-z3\fR
|
||||||
|
Compatibility with 2.7.16-2.8.7: (un)qualify element/attribute references.
|
||||||
|
.TP
|
||||||
|
\fB\-z4\fR
|
||||||
|
Compatibility up to 2.8.11: Do not generate union structs in \fBstd::vector\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-z5\fR
|
||||||
|
Compatibility up to 2.8.15: Do not include minor improvements.
|
||||||
|
.TP
|
||||||
|
\fB\-z6\fR
|
||||||
|
Compatibility up to 2.8.17: Do not include minor improvements.
|
||||||
|
.TP
|
||||||
|
\fB\-z7\fR
|
||||||
|
Compatibility up to 2.8.59: Do not generate \fBstd::vector\fR of class of union.
|
||||||
|
.TP
|
||||||
|
\fB\-z8\fR
|
||||||
|
Compatibility up to 2.8.74: Do not generate qualifiers for doc/lit wrapped patterns.
|
||||||
|
.TP
|
||||||
|
\fB\-z9\fR
|
||||||
|
Compatibility up to 2.8.93: Always qualify element/attribute references.
|
||||||
|
.TP
|
||||||
|
\fB\-z10\fR
|
||||||
|
Compatibility up to 2.8.96: Generate qualifiers even when defined w/o namespace.
|
||||||
|
.TP
|
||||||
|
\fB\-_\fR
|
||||||
|
Do not generate _USCORE (replace with Unicode code point _x005f).
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR soapcpp2 (1).
|
||||||
|
.SH AUTHOR
|
||||||
|
This manual page was written by Thomas Wana <greuff@debian.org>,
|
||||||
|
for the Debian project (but may be used by others).
|
||||||
Loading…
x
Reference in New Issue
Block a user