Hello community,

here is the log from the commit of package python-adal for openSUSE:Factory 
checked in at 2019-11-04 17:03:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-adal (Old)
 and      /work/SRC/openSUSE:Factory/.python-adal.new.2990 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-adal"

Mon Nov  4 17:03:38 2019 rev:6 rq:735649 version:1.2.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-adal/python-adal.changes  2019-04-19 
18:37:17.455101483 +0200
+++ /work/SRC/openSUSE:Factory/.python-adal.new.2990/python-adal.changes        
2019-11-04 17:03:40.644086200 +0100
@@ -1,0 +2,9 @@
+Fri Oct  4 12:10:38 UTC 2019 - John Paul Adrian Glaubitz 
<[email protected]>
+
+- New upstream release
+  + Version 1.2.2
+  + For detailed information about changes see the
+    HISTORY.txt file provided with this package
+- Update HISTORY.txt from github releases page
+
+-------------------------------------------------------------------

Old:
----
  adal-1.2.1.tar.gz

New:
----
  adal-1.2.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-adal.spec ++++++
--- /var/tmp/diff_new_pack.FChVXg/_old  2019-11-04 17:03:41.344086948 +0100
+++ /var/tmp/diff_new_pack.FChVXg/_new  2019-11-04 17:03:41.344086948 +0100
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-adal
-Version:        1.2.1
+Version:        1.2.2
 Release:        0
 Summary:        Azure Active Directory library
 License:        MIT

++++++ HISTORY.txt ++++++
--- /var/tmp/diff_new_pack.FChVXg/_old  2019-11-04 17:03:41.376086982 +0100
+++ /var/tmp/diff_new_pack.FChVXg/_new  2019-11-04 17:03:41.376086982 +0100
@@ -1,3 +1,57 @@
+ADAL Python 1.2.2
+
+    Adjust the public cert input to accept a pem-format content with or 
without those -----BEGIN CERTIFICATE----- tag lines. (#199, #207)
+    Change the default logging level from INFO to DEBUG (#197, #200, #122). 
There is also a canonical way to customize python logging, documented in our 
wiki now.
+
+ADAL Python 1.2.1
+
+    Enhancement: Added support for WSS SAML1.1 and 2 token types (#186, #187 )
+    Updated requirements.txt to pick up the vulnerability fix included in 
requests 2.20.0 (#179 )
+
+ADAL Python 1.2.0
+
+    Enhancement: Added support for Subject Name / Issuer authentication (#173)
+
+ADAL Python 1.1.0
+
+    Enhancement: Added whitelisted domains for dSTS (#164)
+
+ADAL Python 1.0.2
+
+    Fixes incorrect cache operation in authorization code flow (#161). The 
issue was observed in previous version 0.6.0, 0.7.0, 1.0.0, 1.0.1.
+
+ADAL Python 1.0.1
+
+    Relaxed authority url check (#156,#157)
+    We discovered and fixed an incorrect cache behavior in 0.6.0, 0.7.0, 
1.0.0, 1.0.1. Please upgrade to 1.0.2 or later.
+
+ADAL Python 1.0.0
+
+    This release includes a breaking change which we have planned for more 
than 1 year.
+    The default value of api_version parameter in the AuthenticationContext 
constructor has been changed from "1.0" to None. You can still explicitly set 
it to "1.0" to maintain the old behavior, if needed. (See details in #137)
+    This release is otherwise exactly the same as 0.7.0. If you do not want 
this new behavior, you can pin your environment with 0.7.0. Going forward, new 
development will happen in 1.x series.
+    We discovered and fixed an incorrect cache behavior in 0.6.0, 0.7.0, 
1.0.0, 1.0.1. Please upgrade to 1.0.2 or later.
+
+ADAL Python 0.7.0
+
+    Enhancement: Added authorization code flow support for public clients 
(#149)
+    Enhancement: Added Proof Key for Code Exchange (PKCE) support in 
authorization code flow for public clients (#150)
+    Enhancement: Raises a value error when the authority url is not in the 
expected format (#126, #151)
+    We discovered and fixed an incorrect cache behavior in 0.6.0, 0.7.0, 
1.0.0, 1.0.1. Please upgrade to 1.0.2 or later.
+
+ADAL Python 0.6.0
+
+    Enhancement: Added token cache support for auth code flow (#138 )
+    Enhancement: Added parameters to AuthenticationContext to support ssl 
verification and proxies (#142 )
+    We discovered and fixed an incorrect cache behavior in 0.6.0, 0.7.0, 
1.0.0, 1.0.1. Please upgrade to 1.0.2 or later.
+
+ADAL Python 0.5.1
+
+    Enhancement: Add a new parameter in the AuthenticationContext to turn on 
Personally Identifiable Information (PII) in logs. (#124)
+    Enhancement: Acquiring token via WSTrust will also have timeout behavior 
now. (#121, #125)
+    Bugfix: Previously ADAL Python had some issue when the Azure AD tenant is 
federated with an on-prem AD. Now fixed. (#80, #120)
+    Enhancement: Handle rare multithread racing issue observed when using 
profiler (#123, #128)
+
 ADAL Python 0.5.0
 
     Enhancement: Add a new parameter in the AuthenticationContext to pass 
requests (connect,read) timeout parameters. (#112)

++++++ adal-1.2.1.tar.gz -> adal-1.2.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/PKG-INFO new/adal-1.2.2/PKG-INFO
--- old/adal-1.2.1/PKG-INFO     2019-01-25 02:31:09.000000000 +0100
+++ new/adal-1.2.2/PKG-INFO     2019-07-04 01:07:13.000000000 +0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: adal
-Version: 1.2.1
+Version: 1.2.2
 Summary: The ADAL for Python library makes it easy for python application to 
authenticate to Azure Active Directory (AAD) in order to access AAD protected 
web resources.
 Home-page: https://github.com/AzureAD/azure-activedirectory-library-for-python
 Author: Microsoft Corporation
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/README.md new/adal-1.2.2/README.md
--- old/adal-1.2.1/README.md    2019-01-25 02:30:39.000000000 +0100
+++ new/adal-1.2.2/README.md    2019-07-04 01:06:43.000000000 +0200
@@ -4,7 +4,7 @@
 --------------------|-----------------|---------------
 [![Build 
Status](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python.svg?branch=master)](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python)
 | [![Build 
Status](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python.svg?branch=dev)](https://travis-ci.org/AzureAD/azure-activedirectory-library-for-python)
 | [![Documentation 
Status](https://readthedocs.org/projects/adal-python/badge/?version=latest)](https://adal-python.readthedocs.io/en/latest/?badge=latest)
 
-|[Getting 
Started](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki)|
 [Docs](https://aka.ms/aaddev)| 
[Samples](https://github.com/azure-samples?query=active-directory)| 
[Support](README.md#community-help-and-support)
+|[Getting 
Started](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki)|
 [Docs](https://aka.ms/aaddev)| [Python 
Samples](https://github.com/Azure-Samples?q=active-directory&language=python)| 
[Support](README.md#community-help-and-support)
 | --- | --- | --- | --- |
 
 
@@ -17,7 +17,9 @@
 You can find the steps to install and basic usage of the library under [ADAL 
Basics](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki/ADAL-basics)
 page in the Wiki.
 
 ## Samples and Documentation
-We provide a full suite of [sample applications on 
GitHub](https://github.com/azure-samples?utf8=%E2%9C%93&q=active-directory&type=&language=)
 to help you get started with learning the Azure Identity system. This includes 
tutorials for native clients and web applications. We also provide full 
walkthroughs for authentication flows such as OAuth2, OpenID Connect and for 
calling APIs such as the Graph API.
+We provide a full suite of [Python sample applications on 
GitHub](https://github.com/Azure-Samples?q=active-directory&language=python) to 
help you get started with learning the Azure Identity system. This will include 
tutorials for native clients and web applications. We also provide full 
walkthroughs for authentication flows such as OAuth2, OpenID Connect and for 
calling APIs such as the Graph API.
+
+There are also some [lightweight samples existing inside this 
repo](https://github.com/AzureAD/azure-activedirectory-library-for-python/tree/dev/sample).
 
 You can find the relevant samples by scenarios listed in this [wiki page for 
acquiring tokens using ADAL 
Python](https://github.com/AzureAD/azure-activedirectory-library-for-python/wiki/Acquire-tokens#adal-python-apis-for-corresponding-flows).
 
@@ -25,19 +27,19 @@
 
 ## Versions
 
-This library follows [Semantic Versioning](http://semver.org/).
+This library follows [Semantic Versioning](https://semver.org/).
 
 You can find the changes for each version under 
[Releases](https://github.com/AzureAD/azure-activedirectory-library-for-python/releases).
 
 ## Community Help and Support
 
-We leverage [Stack Overflow](http://stackoverflow.com/) to work with the 
community on supporting Azure Active Directory and its SDKs, including this 
one! We highly recommend you ask your questions on Stack Overflow (we're all on 
there!) Also browser existing issues to see if someone has had your question 
before.
+We leverage [Stack Overflow](https://stackoverflow.com/) to work with the 
community on supporting Azure Active Directory and its SDKs, including this 
one! We highly recommend you ask your questions on Stack Overflow (we're all on 
there!) Also browser existing issues to see if someone has had your question 
before.
 
-We recommend you use the "adal" tag so we can see it! Here is the latest Q&A 
on Stack Overflow for ADAL: 
[http://stackoverflow.com/questions/tagged/adal](http://stackoverflow.com/questions/tagged/adal)
+We recommend you use the "adal" tag so we can see it! Here is the latest Q&A 
on Stack Overflow for ADAL: 
[https://stackoverflow.com/questions/tagged/adal](https://stackoverflow.com/questions/tagged/adal)
 
 ## Security Reporting
 
-If you find a security issue with our libraries or services please report it 
to [[email protected]](mailto:[email protected]) with as much detail as 
possible. Your submission may be eligible for a bounty through the [Microsoft 
Bounty](http://aka.ms/bugbounty) program. Please do not post security issues to 
GitHub Issues or any other public site. We will contact you shortly upon 
receiving the information. We encourage you to get notifications of when 
security incidents occur by visiting [this 
page](https://technet.microsoft.com/en-us/security/dd252948) and subscribing to 
Security Advisory Alerts.
+If you find a security issue with our libraries or services please report it 
to [[email protected]](mailto:[email protected]) with as much detail as 
possible. Your submission may be eligible for a bounty through the [Microsoft 
Bounty](https://aka.ms/bugbounty) program. Please do not post security issues 
to GitHub Issues or any other public site. We will contact you shortly upon 
receiving the information. We encourage you to get notifications of when 
security incidents occur by visiting [this 
page](https://technet.microsoft.com/en-us/security/dd252948) and subscribing to 
Security Advisory Alerts.
 
 ## Contributing
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/__init__.py 
new/adal-1.2.2/adal/__init__.py
--- old/adal-1.2.1/adal/__init__.py     2019-01-25 02:30:39.000000000 +0100
+++ new/adal-1.2.2/adal/__init__.py     2019-07-04 01:06:43.000000000 +0200
@@ -27,7 +27,7 @@
 
 # pylint: disable=wrong-import-position
 
-__version__ = '1.2.1'
+__version__ = '1.2.2'
 
 import logging
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/authentication_context.py 
new/adal-1.2.2/adal/authentication_context.py
--- old/adal-1.2.1/adal/authentication_context.py       2019-01-25 
02:30:39.000000000 +0100
+++ new/adal-1.2.2/adal/authentication_context.py       2019-07-04 
01:06:43.000000000 +0200
@@ -181,7 +181,7 @@
     def acquire_token_with_authorization_code(self, authorization_code, 
                                               redirect_uri, resource, 
                                               client_id, client_secret=None, 
code_verifier=None):
-        '''Gets a token for a given resource via auhtorization code for a
+        '''Gets a token for a given resource via authorization code for a
         server app.
         
         :param str authorization_code: An authorization code returned from a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/authority.py 
new/adal-1.2.2/adal/authority.py
--- old/adal-1.2.1/adal/authority.py    2019-01-25 02:30:39.000000000 +0100
+++ new/adal-1.2.2/adal/authority.py    2019-07-04 01:06:43.000000000 +0200
@@ -78,7 +78,12 @@
 
         path_parts = [part for part in self._url.path.split('/') if part]
         if (len(path_parts) > 1) and (not self._whitelisted()): #if dsts host, 
path_parts will be 2
-            raise ValueError("The authority url must be of the format 
https://login.microsoftonline.com/your_tenant";)
+            raise ValueError(
+                "The path of authority_url (also known as tenant) is invalid, "
+                "it should either be a domain name (e.g. 
mycompany.onmicrosoft.com) "
+                "or a tenant GUID id. "
+                'Your tenant input was "%s" and your entire authority_url was 
"%s".'
+                % ('/'.join(path_parts), self._url.geturl()))
         elif len(path_parts) == 1:
             self._url = urlparse(self._url.geturl().rstrip('/'))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/self_signed_jwt.py 
new/adal-1.2.2/adal/self_signed_jwt.py
--- old/adal-1.2.1/adal/self_signed_jwt.py      2019-01-25 02:30:39.000000000 
+0100
+++ new/adal-1.2.2/adal/self_signed_jwt.py      2019-07-04 01:06:43.000000000 
+0200
@@ -64,6 +64,21 @@
     if len(segments) < 3 or not segments[2]:    
         raise AdalError('Failed to sign JWT. This is most likely due to an 
invalid certificate.')
 
+def _extract_certs(public_cert_content):
+    # Parses raw public certificate file contents and returns a list of strings
+    # Usage: headers = {"x5c": extract_certs(open("my_cert.pem").read())}
+    public_certificates = re.findall(
+        r'-----BEGIN CERTIFICATE-----(?P<cert_value>[^-]+)-----END 
CERTIFICATE-----',
+        public_cert_content, re.I)
+    if public_certificates:
+        return [cert.strip() for cert in public_certificates]
+    # The public cert tags are not found in the input,
+    # let's make best effort to exclude a private key pem file.
+    if "PRIVATE KEY" in public_cert_content:
+        raise ValueError(
+            "We expect your public key but detect a private key instead")
+    return [public_cert_content.strip()]
+
 class SelfSignedJwt(object):
 
     NumCharIn128BitHexString = 128/8*2
@@ -82,7 +97,7 @@
         x5t = _create_x5t_value(thumbprint)
         header = {'typ':'JWT', 'alg':'RS256', 'x5t':x5t}
         if public_certificate:
-            header['x5c'] = public_certificate
+            header['x5c'] = _extract_certs(public_certificate)
         self._log.debug("Creating self signed JWT header. x5t: %(x5t)s, x5c: 
%(x5c)s",
                         {"x5t": x5t, "x5c": public_certificate})
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/token_cache.py 
new/adal-1.2.2/adal/token_cache.py
--- old/adal-1.2.1/adal/token_cache.py  2019-01-25 02:30:39.000000000 +0100
+++ new/adal-1.2.2/adal/token_cache.py  2019-07-04 01:06:43.000000000 +0200
@@ -52,6 +52,9 @@
                _string_cmp(self.client_id, other.client_id) and \
                _string_cmp(self.user_id, other.user_id)
 
+    def __ne__(self, other):
+        return not self == other
+
 # pylint: disable=protected-access
 
 def _get_cache_key(entry):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/token_request.py 
new/adal-1.2.2/adal/token_request.py
--- old/adal-1.2.1/adal/token_request.py        2019-01-25 02:30:39.000000000 
+0100
+++ new/adal-1.2.2/adal/token_request.py        2019-07-04 01:06:43.000000000 
+0200
@@ -26,7 +26,6 @@
 #------------------------------------------------------------------------------
 
 from base64 import b64encode
-import re
 
 from . import constants
 from . import log
@@ -257,18 +256,14 @@
                                                                              
username, password)
     @staticmethod
     def 
_parse_wstrust_version_from_federation_active_authurl(federation_active_authurl):
-        wstrust2005_regex = r'[/trust]?[2005][/usernamemixed]?'
-        wstrust13_regex = r'[/trust]?[13][/usernamemixed]?'
-
-        if re.search(wstrust2005_regex, federation_active_authurl):
+        if '/trust/2005/usernamemixed' in federation_active_authurl:
             return WSTrustVersion.WSTRUST2005
-        elif re.search(wstrust13_regex, federation_active_authurl):
+        if '/trust/13/usernamemixed' in federation_active_authurl:
             return WSTrustVersion.WSTRUST13
-
         return WSTrustVersion.UNDEFINED
 
     def get_token_with_username_password(self, username, password):
-        self._log.info("Acquiring token with username password.")
+        self._log.debug("Acquiring token with username password.")
         self._user_id = username
         try:
             token = self._find_token_from_cache()
@@ -301,7 +296,7 @@
         return token
 
     def get_token_with_client_credentials(self, client_secret):
-        self._log.info("Getting token with client credentials.")
+        self._log.debug("Getting token with client credentials.")
         try:
             token = self._find_token_from_cache()
             if token:
@@ -347,7 +342,7 @@
         return self._get_token_with_refresh_token(refresh_token, None, 
client_secret)
 
     def get_token_from_cache_with_refresh(self, user_id):
-        self._log.info("Getting token from cache with refresh if necessary.")
+        self._log.debug("Getting token from cache with refresh if necessary.")
         self._user_id = user_id
         return self._find_token_from_cache()
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal/util.py new/adal-1.2.2/adal/util.py
--- old/adal-1.2.1/adal/util.py 2019-01-25 02:30:39.000000000 +0100
+++ new/adal-1.2.2/adal/util.py 2019-07-04 01:06:43.000000000 +0200
@@ -74,7 +74,7 @@
 
 def log_return_correlation_id(log, operation_message, response):
     if response and response.headers and 
response.headers.get('client-request-id'):
-        log.info("{} Server returned this correlation_id: {}".format(
+        log.debug("{} Server returned this correlation_id: {}".format(
             operation_message, 
             response.headers['client-request-id']))
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/adal-1.2.1/adal.egg-info/PKG-INFO 
new/adal-1.2.2/adal.egg-info/PKG-INFO
--- old/adal-1.2.1/adal.egg-info/PKG-INFO       2019-01-25 02:31:09.000000000 
+0100
+++ new/adal-1.2.2/adal.egg-info/PKG-INFO       2019-07-04 01:07:13.000000000 
+0200
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: adal
-Version: 1.2.1
+Version: 1.2.2
 Summary: The ADAL for Python library makes it easy for python application to 
authenticate to Azure Active Directory (AAD) in order to access AAD protected 
web resources.
 Home-page: https://github.com/AzureAD/azure-activedirectory-library-for-python
 Author: Microsoft Corporation


Reply via email to