From 8f8b2625477e9ea885f07f127d2a55bb3c7d0312 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 10 May 2022 03:08:22 -0400 Subject: [PATCH] import python-suds-0.7-0.11.94664ddd46a6.el8 --- .gitignore | 1 + .python-suds.metadata | 1 + SOURCES/bz1921920-fix-fips-issue.patch | 47 ++++ SOURCES/fix_http_test.patch | 32 +++ SPECS/python-suds.spec | 329 +++++++++++++++++++++++++ 5 files changed, 410 insertions(+) create mode 100644 .gitignore create mode 100644 .python-suds.metadata create mode 100644 SOURCES/bz1921920-fix-fips-issue.patch create mode 100644 SOURCES/fix_http_test.patch create mode 100644 SPECS/python-suds.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..66d1fcf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/94664ddd46a6.tar.bz2 diff --git a/.python-suds.metadata b/.python-suds.metadata new file mode 100644 index 0000000..b348f46 --- /dev/null +++ b/.python-suds.metadata @@ -0,0 +1 @@ +45a361ec44736d167c5e57d057f594fc53e540c7 SOURCES/94664ddd46a6.tar.bz2 diff --git a/SOURCES/bz1921920-fix-fips-issue.patch b/SOURCES/bz1921920-fix-fips-issue.patch new file mode 100644 index 0000000..90cdbad --- /dev/null +++ b/SOURCES/bz1921920-fix-fips-issue.patch @@ -0,0 +1,47 @@ +From 75e4a9eb929520d95cb55b2d850af7ba849fd014 Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Mon, 28 Feb 2022 11:23:55 +0100 +Subject: [PATCH] Use usedforsecurity=False for md5() calls to make suds work + on FIPS enabled systems + +--- + suds/reader.py | 7 ++++++- + suds/wsse.py | 7 ++++++- + 2 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/suds/reader.py b/suds/reader.py +index 31c5ee7..3354b5d 100644 +--- a/suds/reader.py ++++ b/suds/reader.py +@@ -58,7 +58,12 @@ def mangle(self, name, x): + @rtype: str + + """ +- h = md5(name.encode()).hexdigest() ++ try: ++ # FIPS requires usedforsecurity=False and might not be ++ # available on all distros: https://bugs.python.org/issue9216 ++ h = md5(name.encode(), usedforsecurity=False).hexdigest() ++ except AttributeError: ++ h = md5(name.encode()).hexdigest() + return '%s-%s' % (h, x) + + +diff --git a/suds/wsse.py b/suds/wsse.py +index 96d9eb6..474d15a 100644 +--- a/suds/wsse.py ++++ b/suds/wsse.py +@@ -158,7 +158,12 @@ def setnonce(self, text=None): + s.append(self.username) + s.append(self.password) + s.append(Token.sysdate()) +- m = md5() ++ try: ++ # FIPS requires usedforsecurity=False and might not be ++ # available on all distros: https://bugs.python.org/issue9216 ++ m = md5(usedforsecurity=False) ++ except AttributeError: ++ m = md5() + m.update(':'.join(s)) + self.nonce = m.hexdigest() + else: diff --git a/SOURCES/fix_http_test.patch b/SOURCES/fix_http_test.patch new file mode 100644 index 0000000..d92ce92 --- /dev/null +++ b/SOURCES/fix_http_test.patch @@ -0,0 +1,32 @@ +diff -up jurko-suds-94664ddd46a6/tests/test_transport_http.py.httptestfix jurko-suds-94664ddd46a6/tests/test_transport_http.py +--- jurko-suds-94664ddd46a6/tests/test_transport_http.py.httptestfix 2015-07-27 05:08:20.000000000 -0400 ++++ jurko-suds-94664ddd46a6/tests/test_transport_http.py 2016-01-09 23:29:22.749940293 -0500 +@@ -120,6 +120,9 @@ class MockFP: + def readline(): + raise MustNotBeCalled + ++ def close(self): ++ pass ++ + + class MockURLOpenerSaboteur: + """ +@@ -295,12 +298,18 @@ def test_sending_using_network_sockets(s + self.__mocker.mock_sent_data += data + def settimeout(self, *args, **kwargs): + pass ++ def setsockopt(self, level, optname, value): ++ pass + + class MockSocketReader(CountedMock): + def __init__(self): + super(MockSocketReader, self).__init__() + def readline(self, *args, **kwargs): + raise MyException ++ def close(self): ++ pass ++ def flush(self): ++ pass + + # Setup. + host = "an-easily-recognizable-host-name-214894932" diff --git a/SPECS/python-suds.spec b/SPECS/python-suds.spec new file mode 100644 index 0000000..204e301 --- /dev/null +++ b/SPECS/python-suds.spec @@ -0,0 +1,329 @@ +%global commit 94664ddd46a61d06862fa8fb6ba7b9e054214f57 +%global shortcommit %(c=%{commit}; echo ${c:0:12}) +%global py2_builddir python2 +%global py3_builddir python3 +%global srcname suds +%global sum A python SOAP client +%global desc \ +The suds project is a python soap web services client lib. Suds leverages\ +python meta programming to provide an intuitive API for consuming web\ +services. Objectification of types defined in the WSDL is provided\ +without class generation. Programmers rarely need to read the WSDL since\ +services and WSDL based objects can be easily inspected. + +%if 0%{?fedora} || 0%{?rhel} > 7 +%global with_python3 1 +%global py2_deps python2-devel python2-pytest python2-six +%else +%global py2_deps python-devel pytest python-six +%endif + +%if 0%{?rhel} > 7 +%bcond_with python2 +%else +%bcond_without python2 +%endif + + +Summary: %{sum} +Name: python-suds +Version: 0.7 +Release: 0.11.%{shortcommit}%{?dist} +Source0: https://bitbucket.org/jurko/suds/get/%{shortcommit}.tar.bz2 +Patch0: fix_http_test.patch +Patch1: bz1921920-fix-fips-issue.patch +License: LGPLv3+ +Group: Development/Libraries +BuildArch: noarch +URL: https://bitbucket.org/jurko/suds + +%description %{desc} + +%if %{with python2} +%package -n python2-%{srcname} +BuildRequires: %{py2_deps} +Summary: %{sum} +%{?python_provide:%python_provide python2-%{srcname}} +%description -n python2-%{srcname} %{desc} +%endif #{with python2} + +%if 0%{?with_python3} +%package -n python3-%{srcname} +BuildRequires: python3-devel python3-pytest python3-six +Summary: %{sum} +%{?python_provide:%python_provide python3-%{srcname}} +%description -n python3-%{srcname} %{desc} +%endif + +%prep +%setup -c -q +mv jurko-suds-%{shortcommit} %{py2_builddir} +pushd %{py2_builddir} +%patch0 -p1 +%patch1 -p1 +popd +%if 0%{?with_python3} +cp -a %{py2_builddir} %{py3_builddir} +%endif + +%build +%if %{with python2} +pushd %{py2_builddir} +%py2_build +popd +%endif #{with python2} +%if 0%{?with_python3} +pushd %{py3_builddir} +%py3_build +popd +%endif + +%install +%if %{with python2} +pushd %{py2_builddir} +%py2_install +popd +%endif #{with python2} +%if 0%{?with_python3} +pushd %{py3_builddir} +%py3_install +popd +%endif + +%check +%if %{with python2} +pushd %{py2_builddir} +%{__python2} setup.py test +popd +%endif #{with python2} +%if 0%{?with_python3} +pushd %{py3_builddir} +%{__python3} setup.py test +popd +%endif + +%if %{with python2} +%files -n python2-%{srcname} +%{python2_sitelib}/* +%doc %{py2_builddir}/README.rst +%license %{py2_builddir}/LICENSE.txt +%endif #{with python2} + +%if 0%{?with_python3} +%files -n python3-%{srcname} +%{python3_sitelib}/* +%doc %{py3_builddir}/README.rst +%license %{py3_builddir}/LICENSE.txt +%endif + +%changelog +* Tue Mar 8 2022 Oyvind Albrigtsen - 0.7-0.11.94664ddd46a6 +- Fix FIPS issue + Resolves: rhbz#1921920 + +* Mon Jul 09 2018 Petr Viktorin - 0.7-0.8.94664ddd46a6 +- Don't build the python2 subpackage in rhel>7 + https://bugzilla.redhat.com/show_bug.cgi?id=1567165 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.7-0.7.94664ddd46a6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Fri Dec 08 2017 Merlin Mathesius - 0.7-0.6.94664ddd46a6 +- Cleanup spec file conditionals + +* Thu Jul 27 2017 Fedora Release Engineering - 0.7-0.5.94664ddd46a6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.7-0.4.94664ddd46a6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Mon Dec 19 2016 Miro HronĨok - 0.7-0.3.94664ddd46a6 +- Rebuild for Python 3.6 + +* Sat Feb 06 2016 Scott Talbert - 0.7-0.2.94664ddd46a6 +- Applied patch from Haikel Guemar to support building on CentOS w/o Python 3 +- Move BRs to subpackages, support python- vs python2- BRs on non-Fedora + +* Fri Jan 01 2016 Scott Talbert - 0.7-0.1.94664ddd46a6 +- Switched to Jurko fork of suds +- Modernize python packaging, build python3 package +- Fixed bogus changelog dates + +* Thu Jun 18 2015 Fedora Release Engineering - 0.4.1-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Jun 30 2014 Toshio Kuratomi - 0.4.1-7 +- Replace python-setuptools-devel BR with python-setuptools + +* Sat Jun 07 2014 Fedora Release Engineering - 0.4.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 0.4.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Feb 14 2013 Fedora Release Engineering - 0.4.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Sat Jul 21 2012 Fedora Release Engineering - 0.4.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jan 14 2012 Fedora Release Engineering - 0.4.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Oct 15 2010 jortel - 0.4.1-1 +- 0.4.1 + +* Wed Sep 8 2010 jortel - 0.4-1 +- Fix spelling errors in spec description. +- Fix source0 URL warning. +- Updated caching to not cache intermediate wsdls. +- Added DocumentCache which caches verified XML documents as text. User can choose. +- Added cachingpolicy option to allow user to specify whether to cache XML documents or the WSDL object. +- Provided for repeating values in reply for message parts consistent with way handled in nested objects. +- Added charset=utf-8 to stock content-type http header. +- Added to outgoing SOAP messages. +- Detection of faults in successful (http=200) replies and raise WebFault. Search for . +- Add plugins facility. +- Fixed Tickets: #251, #313, #314, #334 + +* Thu Jul 22 2010 David Malcolm - 0.3.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Features/Python_2.7/MassRebuild + +* Thu Dec 17 2009 jortel - 0.3.9-1 +- Bumped python requires to 2.4 +- Replaced stream-based caching in the transport package with document-based caching. +- Caches pickled Document objects instead of XML text. 2x Faster! +- No more SAX parsing exceptions on damaged or incomplete cached files. +- Cached WSDL objects. Entire Definitions object including contained Schema object cached via pickle. +- Copy of soap encoding schema packaged with suds. +- Refactor Transports to use ProxyHandler instead of urllib2.Request.set_proxy(). +- Added WSSE enhancements and support. See: Timestamp token. +- Fixed Tickets: #256, #291, #294, #295, #296 + +* Wed Dec 9 2009 jortel - 0.3.8-1 +- Includeds Windows NTLM Transport. +- Add missing self.messages in Client.clone(). +- Changed default behavior for WSDL PartElement to be optional. +- Add support for services/ports defined without
element in WSDL. +- Fix sax.attribute.Element.attrib() to find by name only when ns is not specified; renamed to Element.getAttribute(). +- Update HttpTransport to pass timeout parameter to urllib2 open() methods when supported by urllib2. +- Add null class to pass explicit NULL values for parameters and optional elements. +- Soap encoded array (soap-enc:Array) enhancement for rpc/encoded. + Arrays passed as python arrays - works like document/literal now. + No more using the factory to create the Array. + Automatically includes arrayType attribute. Eg: soap-enc:arrayType="Array[2]". + Reintroduced ability to pass complex (objects) using python dict instead of suds object via factory. +- Fixed tickets: #84, #261, #262, #263, #265, #266, #278, #280, #282. + +* Fri Oct 16 2009 jortel - 0.3.7-1 +- Better soap header support +- Added new transport HttpAuthenticated for active (not passive) basic authentication. +- New options (prefixes, timeout, retxml) +- WSDL processing enhancements. +- Expanded builtin XSD type support. +- Fixed +- Better XML date/datetime conversion. +- Client.clone() method added for lightweight copy of client object. +- XSD processing fixes/enhancements. +- Better by support. +- Performance enhancements. +- Fixed tickets: #65, #232, #233, #235, #241, #242, #244, #247, #254, #254, #256, #257, #258 + +* Sun Jul 26 2009 Fedora Release Engineering - 0.3.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Fri May 1 2009 jortel - 0.3.6-1 +- Change hard coded /tmp/suds to tempfile.gettempdir() and create suds/ on demand. +- Fix return type for Any.get_attribute(). +- Update http caching to ignore file:// urls. +- Better logging of messages when only the reply is injected. +- Fix XInteger and XFloat types to translate returned arrays properly. +- Fix xs:import schema with same namespace. +- Update parser to not load external references and add Import.bind() for XMLSchema.xsd location. +- Add schema doctor - used to patch XSDs at runtime. (See Options.doctor) +- Fix deprecation warnings in python 2.6. +- Add behavior for @default defined on . +- Change @xsi:type value to always be qualified for doc/literal. +- Add Option.xstq option to control when @xsi:type is qualified. +- Fixed Tickets: #64, #129, #205, #206, #217, #221, #222, #224, #225, #228, #229, #230 + +* Wed Feb 25 2009 jortel - 0.3.5-1 +- Adds http caching. Default is (1) day. +- Removed checking fc version in spec since no longer building < fc9. +- Updated makefile to roll tarball with tar.sh. +- Moved bare/wrapped determination to wsdl for document/literal. +- Refactored Transport to provide better visibility into http headers. +- Fixed Tickets: #207, #207, #209, #210, #212, #214, #215 + +* Mon Dec 08 2008 jortel - 0.3.4-1 +- Static (automatic) Import.bind('http://schemas.xmlsoap.org/soap/encoding/') +- Basic ws-security with {{{UsernameToken}}} and clear-text password only. +- Add support for ''sparse'' soap headers via passing dictionary +- Add support for arbitrary user defined soap headers +- Fixes service operations with multiple soap header entries. +- Schema loading and dereferencing algorithm enhancements. +- Nested soap multirefs fixed. +- Better (true) support for elementFormDefault="unqualified" provides more accurate namespaing. +- WSDL part types no longer default to WSDL targetNamespace. +- Fixed Tickets: #4, #6, #21, #32, #62, #66, #71, #72, #114, #155, #201. + +* Thu Dec 04 2008 jortel - 0.3.3-2 +- Rebuild for Python 2.6 + +* Thu Dec 04 2008 jortel - 0.3.3-1 +- No longer installs (tests) package. +- Implements API-3 proposal + Pluggable transport + Keyword method arguments + Baisc http authentication in default transport +- Add namespace prefix normalization in soap message. +- Better soap message pruning of empty nodes. +- Fixed Tickets: #51 - #60. + +* Sat Nov 29 2008 Ignacio Vazquez-Abrams - 0.3.2-2 +- Rebuild for Python 2.6 + +* Thu Nov 06 2008 jortel - 0.3.2-1 +- Add SOAP MultiRef support +- Add support for new schema tags: + + + + +- Added support for new xs <--> python type conversions: + xs:int + xs:long + xs:float + xs:double +- Revise marshaller and binding to further sharpen the namespacing of nodes produced. +- Infinite recursion fixed in ''xsd'' package dereference() during schema loading. +- Add support for of schema files into the wsdl root . +- Fix double encoding of (&) +- Add Client API: + setheaders() - Same as keyword but works for all invocations. + addprefix() - Mapping of namespace prefixes. + setlocation() - Override the location in the wsdl. + setproxy() - Same as proxy keyword but for all invocations. +- Add proper namespace prefix for soap headers. +- Fixed Tickets: #5, #12, #34, #37, #40, #44, #45, #46, #48, #49, #50, #51 + +* Mon Nov 03 2008 jortel - 0.3.1-5 +- Add LICENSE to %%doc. + +* Tue Oct 28 2008 jortel - 0.3.1-4 +- Changes acc. #466496 Comment #8 + +* Mon Oct 27 2008 jortel - 0.3.1-3 +- Add "rm -rf $RPM_BUILD_ROOT" to install + +* Thu Oct 16 2008 jortel - 0.3.1-2 +- Changes acc. #466496 Comment #1 + +* Fri Oct 10 2008 jortel - 0.3.1-1 +- Extends the support for multi-port services introduced earlier. This addition, + provides for multiple services to define the *same* method and suds will + handle it properly. See section 'SERVICES WITH MULTIPLE PORTS:' +- Add support for multi-document document/literal soap binding style. + See section 'MULTI-DOCUMENT Docuemnt/Literal:' +- Add support for (xs:group, xs:attributeGroup) tags. +- Add Client.last_sent() and Client.last_received().