Hello community,
here is the log from the commit of package python-pure-sasl for
openSUSE:Factory checked in at 2019-02-24 17:20:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pure-sasl (Old)
and /work/SRC/openSUSE:Factory/.python-pure-sasl.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pure-sasl"
Sun Feb 24 17:20:14 2019 rev:5 rq:678109 version:0.6.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pure-sasl/python-pure-sasl.changes
2018-12-07 14:34:21.127149153 +0100
+++
/work/SRC/openSUSE:Factory/.python-pure-sasl.new.28833/python-pure-sasl.changes
2019-02-24 17:20:24.300397063 +0100
@@ -1,0 +2,5 @@
+Fri Feb 22 04:57:47 UTC 2019 - Martin Herkt <[email protected]>
+
+- Update to 0.6.1 (no relevant changes in changelog)
+
+-------------------------------------------------------------------
Old:
----
pure-sasl-0.5.1.tar.gz
New:
----
pure-sasl-0.6.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pure-sasl.spec ++++++
--- /var/tmp/diff_new_pack.IzcvLA/_old 2019-02-24 17:20:26.688396638 +0100
+++ /var/tmp/diff_new_pack.IzcvLA/_new 2019-02-24 17:20:26.716396633 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pure-sasl
#
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%bcond_without test
Name: python-pure-sasl
-Version: 0.5.1
+Version: 0.6.1
Release: 0
Summary: Pure Python client SASL implementation
License: MIT
++++++ pure-sasl-0.5.1.tar.gz -> pure-sasl-0.6.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/CHANGES.rst
new/pure-sasl-0.6.1/CHANGES.rst
--- old/pure-sasl-0.5.1/CHANGES.rst 2018-05-19 01:09:41.000000000 +0200
+++ new/pure-sasl-0.6.1/CHANGES.rst 2019-02-21 22:49:12.000000000 +0100
@@ -1,3 +1,17 @@
+0.6.1
+=====
+February 21st, 2019
+
+* Import platform in setup.py
+
+0.6.0
+=====
+February 21st, 2019
+
+* Add support for Windows via winkerberos (#30)
+
+Thanks to @ryan-pip for this release
+
0.5.1
=====
May 18th, 2018
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/PKG-INFO new/pure-sasl-0.6.1/PKG-INFO
--- old/pure-sasl-0.5.1/PKG-INFO 2018-05-19 01:21:47.000000000 +0200
+++ new/pure-sasl-0.6.1/PKG-INFO 2019-02-21 22:52:32.000000000 +0100
@@ -1,10 +1,12 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: pure-sasl
-Version: 0.5.1
+Version: 0.6.1
Summary: Pure Python client SASL implementation
Home-page: http://github.com/thobbs/pure-sasl
-Author: Alex Shafer
-Author-email: [email protected]
+Author: Tyler Hobbs
+Author-email: [email protected]
+Maintainer: Alex Shafer
+Maintainer-email: [email protected]
License: MIT
Description: This package provides a reasonably high-level SASL client written
in pure Python. New mechanisms may be integrated easily, but by
default,
@@ -24,3 +26,4 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: GSSAPI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/pure_sasl.egg-info/PKG-INFO
new/pure-sasl-0.6.1/pure_sasl.egg-info/PKG-INFO
--- old/pure-sasl-0.5.1/pure_sasl.egg-info/PKG-INFO 2018-05-19
01:21:46.000000000 +0200
+++ new/pure-sasl-0.6.1/pure_sasl.egg-info/PKG-INFO 2019-02-21
22:52:32.000000000 +0100
@@ -1,10 +1,12 @@
-Metadata-Version: 1.1
+Metadata-Version: 2.1
Name: pure-sasl
-Version: 0.5.1
+Version: 0.6.1
Summary: Pure Python client SASL implementation
Home-page: http://github.com/thobbs/pure-sasl
-Author: Alex Shafer
-Author-email: [email protected]
+Author: Tyler Hobbs
+Author-email: [email protected]
+Maintainer: Alex Shafer
+Maintainer-email: [email protected]
License: MIT
Description: This package provides a reasonably high-level SASL client written
in pure Python. New mechanisms may be integrated easily, but by
default,
@@ -24,3 +26,4 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
+Provides-Extra: GSSAPI
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/puresasl/__init__.py
new/pure-sasl-0.6.1/puresasl/__init__.py
--- old/pure-sasl-0.5.1/puresasl/__init__.py 2018-05-19 01:09:41.000000000
+0200
+++ new/pure-sasl-0.6.1/puresasl/__init__.py 2019-02-21 22:49:58.000000000
+0100
@@ -1,5 +1,5 @@
-__version__ = '0.5.1'
-__version_info__ = (0, 5, 1)
+__version__ = '0.6.1'
+__version_info__ = (0, 6, 1)
class SASLError(Exception):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/puresasl/mechanisms.py
new/pure-sasl-0.6.1/puresasl/mechanisms.py
--- old/pure-sasl-0.5.1/puresasl/mechanisms.py 2018-05-19 00:38:40.000000000
+0200
+++ new/pure-sasl-0.6.1/puresasl/mechanisms.py 2019-02-21 21:11:00.000000000
+0100
@@ -4,6 +4,7 @@
import random
import struct
import sys
+import platform
from puresasl import SASLError, SASLProtocolException, QOP
@@ -13,6 +14,15 @@
except ImportError:
have_kerberos = False
+if platform.system() == 'Windows':
+ try:
+ import winkerberos as kerberos
+ # Fix for different capitalisation in winkerberos method name
+ kerberos.authGSSClientUserName = kerberos.authGSSClientUsername
+ have_kerberos = True
+ except ImportError:
+ have_kerberos = False
+
PY3 = sys.version_info[0] == 3
if PY3:
def _b(s):
@@ -220,7 +230,7 @@
# functions used in DigestMD5 which were originally defined in the now-removed
# util module
-def bytes(text):
+def to_bytes(text):
"""
Convert Unicode text to UTF-8 encoded bytes.
@@ -252,7 +262,7 @@
:param text: A Unicode or byte string.
"""
- text = bytes(text)
+ text = to_bytes(text)
return b'"' + text.replace(b'\\', b'\\\\').replace(b'"', b'\\"') + b'"'
@@ -301,16 +311,16 @@
if getattr(self, 'realm', None) is not None:
resp['realm'] = quote(self.realm)
- resp['username'] = quote(bytes(self.username))
+ resp['username'] = quote(to_bytes(self.username))
resp['nonce'] = quote(self.nonce)
if self.nc == 0:
- self.cnonce = bytes('%s' % random.random())[2:]
+ self.cnonce = to_bytes('%s' % random.random())[2:]
resp['cnonce'] = quote(self.cnonce)
self.nc += 1
- resp['nc'] = bytes('%08x' % self.nc)
+ resp['nc'] = to_bytes('%08x' % self.nc)
self._digest_uri = (
- bytes(self.sasl.service) + b'/' + bytes(self.sasl.host))
+ to_bytes(self.sasl.service) + b'/' + to_bytes(self.sasl.host))
resp['digest-uri'] = quote(self._digest_uri)
a2 = b'AUTHENTICATE:' + self._digest_uri
@@ -320,7 +330,7 @@
resp['response'] = self.gen_hash(a2)
return b','.join(
[
- bytes(k) + b'=' + bytes(v)
+ to_bytes(k) + b'=' + to_bytes(v)
for k, v in resp.items()
]
)
@@ -343,7 +353,7 @@
escaped = False
for c in challenge:
if sys.version_info[0] == 3:
- c = bytes([c])
+ c = to_bytes([c])
if in_var:
if c.isspace():
continue
@@ -386,9 +396,9 @@
def gen_hash(self, a2):
if not getattr(self, 'key_hash', None):
key_hash = hashlib.md5()
- user = bytes(self.username)
- password = bytes(self.password)
- realm = bytes(self.realm)
+ user = to_bytes(self.username)
+ password = to_bytes(self.password)
+ realm = to_bytes(self.realm)
kh = user + b':' + realm + b':' + password
key_hash.update(kh)
self.key_hash = key_hash.digest()
@@ -398,14 +408,14 @@
a1.update(a1h)
response = hashlib.md5()
self._a1 = a1.digest()
- rv = bytes(a1.hexdigest().lower())
+ rv = to_bytes(a1.hexdigest().lower())
rv += b':' + self.nonce
- rv += b':' + bytes('%08x' % self.nc)
+ rv += b':' + to_bytes('%08x' % self.nc)
rv += b':' + self.cnonce
rv += b':' + self.qop
- rv += b':' + bytes(hashlib.md5(a2).hexdigest().lower())
+ rv += b':' + to_bytes(hashlib.md5(a2).hexdigest().lower())
response.update(rv)
- return bytes(response.hexdigest().lower())
+ return to_bytes(response.hexdigest().lower())
def authenticate_server(self, cmp_hash):
a2 = b':' + self._digest_uri
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/setup.cfg
new/pure-sasl-0.6.1/setup.cfg
--- old/pure-sasl-0.5.1/setup.cfg 2018-05-19 01:21:47.000000000 +0200
+++ new/pure-sasl-0.6.1/setup.cfg 2019-02-21 22:52:32.000000000 +0100
@@ -4,5 +4,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pure-sasl-0.5.1/setup.py new/pure-sasl-0.6.1/setup.py
--- old/pure-sasl-0.5.1/setup.py 2018-03-09 06:03:17.000000000 +0100
+++ new/pure-sasl-0.6.1/setup.py 2019-02-21 22:47:20.000000000 +0100
@@ -3,7 +3,9 @@
from setuptools import setup
+import platform
import puresasl
+import sys
setup(name='pure-sasl',
version=puresasl.__version__,
@@ -22,7 +24,7 @@
keywords='sasl',
packages=['puresasl'],
extras_require={
- 'GSSAPI': ['kerberos>=1.3.0']
+ 'GSSAPI': ["winkerberos==0.7.0"] if platform.system() == 'Windows'
else ['kerberos>=1.3.0']
},
classifiers=[
'Development Status :: 4 - Beta',