python3: adapt exception raising and handling (#31137)
This commit is contained in:
parent
54d01cf903
commit
f6fa7f7c56
|
@ -256,7 +256,7 @@ def extract_settings_from_environ():
|
||||||
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
||||||
try:
|
try:
|
||||||
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
||||||
|
|
||||||
if 'CACHE_BACKEND' in os.environ:
|
if 'CACHE_BACKEND' in os.environ:
|
||||||
|
|
|
@ -257,7 +257,7 @@ def extract_settings_from_environ():
|
||||||
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
if 'LDAP_AUTH_SETTINGS' in os.environ:
|
||||||
try:
|
try:
|
||||||
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
LDAP_AUTH_SETTINGS = json.loads(os.environ['LDAP_AUTH_SETTINGS'])
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
raise ImproperlyConfigured('LDAP_AUTH_SETTINGS is not a JSON document', e)
|
||||||
|
|
||||||
if 'CACHE_BACKEND' in os.environ:
|
if 'CACHE_BACKEND' in os.environ:
|
||||||
|
|
|
@ -46,8 +46,8 @@ class SSLInfo(object):
|
||||||
elif name == 'ModPythonRequest':
|
elif name == 'ModPythonRequest':
|
||||||
env = request._req.subprocess_env
|
env = request._req.subprocess_env
|
||||||
else:
|
else:
|
||||||
raise EnvironmentError, 'The SSL authentication currently only \
|
raise EnvironmentError('The SSL authentication currently only \
|
||||||
works with mod_python or wsgi requests'
|
works with mod_python or wsgi requests')
|
||||||
self.read_env(env);
|
self.read_env(env);
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -77,10 +77,10 @@ class SSLInfo(object):
|
||||||
if attr in self.__dict__:
|
if attr in self.__dict__:
|
||||||
return self.__dict__[attr]
|
return self.__dict__[attr]
|
||||||
else:
|
else:
|
||||||
raise AttributeError, 'SSLInfo does not contain key %s' % attr
|
raise AttributeError('SSLInfo does not contain key %s' % attr)
|
||||||
|
|
||||||
def __setattr__(self, attr, value):
|
def __setattr__(self, attr, value):
|
||||||
raise AttributeError, 'SSL vars are read only!'
|
raise AttributeError('SSL vars are read only!')
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
return '<SSLInfo %s>' % self.__dict__
|
return '<SSLInfo %s>' % self.__dict__
|
||||||
|
|
|
@ -313,7 +313,7 @@ class LDAPUser(get_user_model()):
|
||||||
connection.simple_bind_s(self.dn, raw_password)
|
connection.simple_bind_s(self.dn, raw_password)
|
||||||
except ldap.INVALID_CREDENTIALS:
|
except ldap.INVALID_CREDENTIALS:
|
||||||
return False
|
return False
|
||||||
except ldap.LDAPError, e:
|
except ldap.LDAPError as e:
|
||||||
log.error('LDAPUser.check_password() failed: %s', e)
|
log.error('LDAPUser.check_password() failed: %s', e)
|
||||||
return False
|
return False
|
||||||
self._current_password = raw_password
|
self._current_password = raw_password
|
||||||
|
@ -538,7 +538,7 @@ class LDAPBackend(object):
|
||||||
n = len(user_filter.split('%s')) - 1
|
n = len(user_filter.split('%s')) - 1
|
||||||
try:
|
try:
|
||||||
query = filter_format(user_filter, (username,) * n)
|
query = filter_format(user_filter, (username,) * n)
|
||||||
except TypeError, e:
|
except TypeError as e:
|
||||||
log.error('user_filter syntax error %r: %s', block['user_filter'],
|
log.error('user_filter syntax error %r: %s', block['user_filter'],
|
||||||
e)
|
e)
|
||||||
return
|
return
|
||||||
|
@ -562,7 +562,7 @@ class LDAPBackend(object):
|
||||||
if block['replicas']:
|
if block['replicas']:
|
||||||
break
|
break
|
||||||
continue
|
continue
|
||||||
except ldap.LDAPError, e:
|
except ldap.LDAPError as e:
|
||||||
log.error('user lookup failed: with query %r got error %s: %s', username,
|
log.error('user lookup failed: with query %r got error %s: %s', username,
|
||||||
query, e)
|
query, e)
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -261,7 +261,7 @@ class SessionCache(PickleCacheMixin, SimpleDictionnaryCacheMixin,
|
||||||
def errorcollector(error_dict):
|
def errorcollector(error_dict):
|
||||||
try:
|
try:
|
||||||
yield
|
yield
|
||||||
except ValidationError, e:
|
except ValidationError as e:
|
||||||
e.update_error_dict(error_dict)
|
e.update_error_dict(error_dict)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -23,5 +23,5 @@ def kill_django_sessions(session_key):
|
||||||
store = engine.SessionStore(key)
|
store = engine.SessionStore(key)
|
||||||
logging.debug('Killing session %s', key)
|
logging.debug('Killing session %s', key)
|
||||||
store.delete()
|
store.delete()
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
logging.error(e)
|
logging.error(e)
|
||||||
|
|
|
@ -114,7 +114,7 @@ def log_assert(func, exception_classes=(AssertionError,)):
|
||||||
def f(request, *args, **kwargs):
|
def f(request, *args, **kwargs):
|
||||||
try:
|
try:
|
||||||
return func(request, *args, **kwargs)
|
return func(request, *args, **kwargs)
|
||||||
except exception_classes, e:
|
except exception_classes as e:
|
||||||
return error_redirect(request, e.message or repr(e))
|
return error_redirect(request, e.message or repr(e))
|
||||||
return f
|
return f
|
||||||
|
|
||||||
|
@ -449,7 +449,7 @@ def sso(request):
|
||||||
request.session['saml:authnRequest'] = login.request.getOriginalXmlnode()
|
request.session['saml:authnRequest'] = login.request.getOriginalXmlnode()
|
||||||
break
|
break
|
||||||
except (lasso.ProfileInvalidMsgError,
|
except (lasso.ProfileInvalidMsgError,
|
||||||
lasso.ProfileMissingIssuerError,), e:
|
lasso.ProfileMissingIssuerError,) as e:
|
||||||
logger.warning('invalid message for WebSSO profile with '
|
logger.warning('invalid message for WebSSO profile with '
|
||||||
'HTTP-Redirect binding: %r exception: %s' \
|
'HTTP-Redirect binding: %r exception: %s' \
|
||||||
% (message, e),
|
% (message, e),
|
||||||
|
@ -464,12 +464,12 @@ def sso(request):
|
||||||
logger.warning("the request cannot be answered because no "
|
logger.warning("the request cannot be answered because no "
|
||||||
"valid protocol binding could be found")
|
"valid protocol binding could be found")
|
||||||
return HttpResponseBadRequest(message, content_type='text/plain')
|
return HttpResponseBadRequest(message, content_type='text/plain')
|
||||||
except lasso.ProviderMissingPublicKeyError, e:
|
except lasso.ProviderMissingPublicKeyError as e:
|
||||||
log_info_authn_request_details(login)
|
log_info_authn_request_details(login)
|
||||||
logger.warning('no public key found: %s', e)
|
logger.warning('no public key found: %s', e)
|
||||||
login.response.status.statusMessage = 'The public key is unknown'
|
login.response.status.statusMessage = 'The public key is unknown'
|
||||||
return return_login_response(request, login)
|
return return_login_response(request, login)
|
||||||
except lasso.DsError, e:
|
except lasso.DsError as e:
|
||||||
log_info_authn_request_details(login)
|
log_info_authn_request_details(login)
|
||||||
logger.warning('digital signature treatment error: %s', e)
|
logger.warning('digital signature treatment error: %s', e)
|
||||||
login.response.status.statusMessage = 'Signature validation failed'
|
login.response.status.statusMessage = 'Signature validation failed'
|
||||||
|
@ -938,7 +938,7 @@ def artifact(request):
|
||||||
logger.error('provider loading failure')
|
logger.error('provider loading failure')
|
||||||
try:
|
try:
|
||||||
login.processRequestMsg(soap_message)
|
login.processRequestMsg(soap_message)
|
||||||
except lasso.DsError, e:
|
except lasso.DsError as e:
|
||||||
logger.error('signature error for %s: %s'
|
logger.error('signature error for %s: %s'
|
||||||
% (e, login.remoteProviderId))
|
% (e, login.remoteProviderId))
|
||||||
else:
|
else:
|
||||||
|
@ -1056,7 +1056,7 @@ def finish_slo(request):
|
||||||
# SP sent us a logout request but we do not know its Response endpoint, just continue to the
|
# SP sent us a logout request but we do not know its Response endpoint, just continue to the
|
||||||
# homepage
|
# homepage
|
||||||
return redirect('auth_homepage')
|
return redirect('auth_homepage')
|
||||||
except lasso.Error, e:
|
except lasso.Error as e:
|
||||||
logger.warning('logout.buildResponseMsg() failed: %s', e)
|
logger.warning('logout.buildResponseMsg() failed: %s', e)
|
||||||
return redirect('auth_homepage')
|
return redirect('auth_homepage')
|
||||||
if all_sessions.exists():
|
if all_sessions.exists():
|
||||||
|
@ -1308,7 +1308,7 @@ def slo_soap(request):
|
||||||
'''
|
'''
|
||||||
logger.error('one provider does \
|
logger.error('one provider does \
|
||||||
not support SOAP %s' % [s.provider_id for s in lib_sessions])
|
not support SOAP %s' % [s.provider_id for s in lib_sessions])
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
logger.exception('slo, unknown error %s' % str(e))
|
logger.exception('slo, unknown error %s' % str(e))
|
||||||
logout.buildResponseMsg()
|
logout.buildResponseMsg()
|
||||||
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
||||||
|
@ -1387,18 +1387,18 @@ def slo(request):
|
||||||
try:
|
try:
|
||||||
logout.processRequestMsg(message)
|
logout.processRequestMsg(message)
|
||||||
except (lasso.ServerProviderNotFoundError,
|
except (lasso.ServerProviderNotFoundError,
|
||||||
lasso.ProfileUnknownProviderError), e:
|
lasso.ProfileUnknownProviderError) as e:
|
||||||
load_provider(request, logout.remoteProviderId,
|
load_provider(request, logout.remoteProviderId,
|
||||||
server=logout.server)
|
server=logout.server)
|
||||||
logout.processRequestMsg(message)
|
logout.processRequestMsg(message)
|
||||||
except lasso.DsError, e:
|
except lasso.DsError as e:
|
||||||
logger.exception('signature error %s' % e)
|
logger.exception('signature error %s' % e)
|
||||||
logout.buildResponseMsg()
|
logout.buildResponseMsg()
|
||||||
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
provider = LibertyProvider.objects.get(entity_id=logout.remoteProviderId)
|
||||||
return return_saml2_response(request, logout,
|
return return_saml2_response(request, logout,
|
||||||
title=_('You are being redirected to "%s"') % provider.name)
|
title=_('You are being redirected to "%s"') % provider.name)
|
||||||
except (lasso.ProfileInvalidMsgError,
|
except (lasso.ProfileInvalidMsgError,
|
||||||
lasso.ProfileMissingIssuerError), e:
|
lasso.ProfileMissingIssuerError) as e:
|
||||||
return error_page(request, _('Invalid logout request'), logger=logger, warning=True)
|
return error_page(request, _('Invalid logout request'), logger=logger, warning=True)
|
||||||
session_indexes = logout.request.sessionIndexes
|
session_indexes = logout.request.sessionIndexes
|
||||||
if len(session_indexes) == 0:
|
if len(session_indexes) == 0:
|
||||||
|
@ -1427,7 +1427,7 @@ def slo(request):
|
||||||
set_session_dump_from_liberty_sessions(logout, [last_session])
|
set_session_dump_from_liberty_sessions(logout, [last_session])
|
||||||
try:
|
try:
|
||||||
logout.validateRequest()
|
logout.validateRequest()
|
||||||
except lasso.Error, e:
|
except lasso.Error as e:
|
||||||
logger.warning('logout request validation failed: %s', e)
|
logger.warning('logout request validation failed: %s', e)
|
||||||
return return_logout_error(request, logout,
|
return return_logout_error(request, logout,
|
||||||
AUTHENTIC_STATUS_CODE_INTERNAL_SERVER_ERROR)
|
AUTHENTIC_STATUS_CODE_INTERNAL_SERVER_ERROR)
|
||||||
|
@ -1532,7 +1532,7 @@ def idp_slo(request, provider_id=None):
|
||||||
logger.info('slo by SOAP')
|
logger.info('slo by SOAP')
|
||||||
try:
|
try:
|
||||||
soap_response = send_soap_request(request, logout)
|
soap_response = send_soap_request(request, logout)
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
logger.exception('slo SOAP failure due to %s' % str(e))
|
logger.exception('slo SOAP failure due to %s' % str(e))
|
||||||
return redirect_next(request, next) or ko_icon(request)
|
return redirect_next(request, next) or ko_icon(request)
|
||||||
return process_logout_response(request, logout, soap_response, next)
|
return process_logout_response(request, logout, soap_response, next)
|
||||||
|
|
|
@ -31,7 +31,7 @@ def compute_not_on_or_after(now, not_on_or_after):
|
||||||
def unlink_if_exists(path):
|
def unlink_if_exists(path):
|
||||||
try:
|
try:
|
||||||
os.unlink(path)
|
os.unlink(path)
|
||||||
except OSError, e:
|
except OSError as e:
|
||||||
if e.errno != errno.ENOENT:
|
if e.errno != errno.ENOENT:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
@ -47,7 +47,7 @@ def accept_nonce_file_storage(path, now, value, context=None,
|
||||||
# test if the file exists
|
# test if the file exists
|
||||||
try:
|
try:
|
||||||
stat = os.stat(file_path)
|
stat = os.stat(file_path)
|
||||||
except OSError, e:
|
except OSError as e:
|
||||||
# test if it doesnt exit or if another error happened
|
# test if it doesnt exit or if another error happened
|
||||||
if e.errno != errno.ENOENT:
|
if e.errno != errno.ENOENT:
|
||||||
raise
|
raise
|
||||||
|
@ -75,7 +75,7 @@ def accept_nonce_file_storage(path, now, value, context=None,
|
||||||
raise
|
raise
|
||||||
try:
|
try:
|
||||||
os.link(temp_file.name, file_path)
|
os.link(temp_file.name, file_path)
|
||||||
except OSError, e:
|
except OSError as e:
|
||||||
if e.errno == errno.EEXIST:
|
if e.errno == errno.EEXIST:
|
||||||
unlink_if_exists(temp_file.name)
|
unlink_if_exists(temp_file.name)
|
||||||
return False
|
return False
|
||||||
|
@ -100,14 +100,14 @@ def cleanup_nonces_file_storage(dir_path, now):
|
||||||
now_time = timegm(now.utctimetuple())
|
now_time = timegm(now.utctimetuple())
|
||||||
try:
|
try:
|
||||||
stat = os.stat(nonce_path)
|
stat = os.stat(nonce_path)
|
||||||
except OSError, e:
|
except OSError as e:
|
||||||
if e.errno == errno.ENOENT:
|
if e.errno == errno.ENOENT:
|
||||||
continue
|
continue
|
||||||
raise
|
raise
|
||||||
if stat.st_mtime < now_time:
|
if stat.st_mtime < now_time:
|
||||||
try:
|
try:
|
||||||
os.unlink(nonce_path)
|
os.unlink(nonce_path)
|
||||||
except OSError, e:
|
except OSError as e:
|
||||||
if e.errno == errno.ENOENT:
|
if e.errno == errno.ENOENT:
|
||||||
continue
|
continue
|
||||||
raise
|
raise
|
||||||
|
|
|
@ -33,7 +33,7 @@ def get_plugins(group_name=DEFAULT_GROUP_NAME, use_cache=True, *args, **kwargs):
|
||||||
for entrypoint in pkg_resources.iter_entry_points(group_name):
|
for entrypoint in pkg_resources.iter_entry_points(group_name):
|
||||||
try:
|
try:
|
||||||
plugin_callable = entrypoint.load()
|
plugin_callable = entrypoint.load()
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
logger.exception('unable to load entrypoint %s', entrypoint)
|
logger.exception('unable to load entrypoint %s', entrypoint)
|
||||||
raise PluginError('unable to load entrypoint %s' % entrypoint, e)
|
raise PluginError('unable to load entrypoint %s' % entrypoint, e)
|
||||||
plugins.append(plugin_callable(*args, **kwargs))
|
plugins.append(plugin_callable(*args, **kwargs))
|
||||||
|
|
|
@ -90,7 +90,7 @@ def update_metadata(modeladmin, request, queryset):
|
||||||
for provider in qs:
|
for provider in qs:
|
||||||
try:
|
try:
|
||||||
provider.update_metadata()
|
provider.update_metadata()
|
||||||
except ValidationError, e:
|
except ValidationError as e:
|
||||||
params = {
|
params = {
|
||||||
'name': provider,
|
'name': provider,
|
||||||
'error_msg': u', '.join(e.messages)
|
'error_msg': u', '.join(e.messages)
|
||||||
|
|
|
@ -313,7 +313,7 @@ def retrieve_metadata_and_create(request, provider_id, sp_or_idp):
|
||||||
# Try the WKL
|
# Try the WKL
|
||||||
try:
|
try:
|
||||||
metadata = get_url(provider_id)
|
metadata = get_url(provider_id)
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
logging.error('SAML metadata autoload: failure to retrieve metadata '
|
logging.error('SAML metadata autoload: failure to retrieve metadata '
|
||||||
'for entity id %s: %s', provider_id, e)
|
'for entity id %s: %s', provider_id, e)
|
||||||
return None
|
return None
|
||||||
|
@ -327,7 +327,7 @@ def retrieve_metadata_and_create(request, provider_id, sp_or_idp):
|
||||||
p = LibertyProvider(metadata=metadata)
|
p = LibertyProvider(metadata=metadata)
|
||||||
try:
|
try:
|
||||||
p.full_clean(exclude=['entity_id', 'protocol_conformance'])
|
p.full_clean(exclude=['entity_id', 'protocol_conformance'])
|
||||||
except ValidationError, e:
|
except ValidationError as e:
|
||||||
logging.error('SAML metadata autoload: retrieved metadata for entity '
|
logging.error('SAML metadata autoload: retrieved metadata for entity '
|
||||||
'id %s are invalid, %s', provider_id, e.args)
|
'id %s are invalid, %s', provider_id, e.args)
|
||||||
return None
|
return None
|
||||||
|
@ -453,7 +453,7 @@ def soap_call(url, msg):
|
||||||
logger.debug('SOAP call to %r with data %r', url, msg[:10000])
|
logger.debug('SOAP call to %r with data %r', url, msg[:10000])
|
||||||
response = requests.post(url, data=msg, headers={'Content-Type': 'text/xml'})
|
response = requests.post(url, data=msg, headers={'Content-Type': 'text/xml'})
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
except requests.RequestException, e:
|
except requests.RequestException as e:
|
||||||
logging.error('SOAP call to %r error %s with data %r', url, e, msg[:10000])
|
logging.error('SOAP call to %r error %s with data %r', url, e, msg[:10000])
|
||||||
raise SOAPException(url, e)
|
raise SOAPException(url, e)
|
||||||
logger.debug('SOAP call response %r', response.content[:10000])
|
logger.debug('SOAP call response %r', response.content[:10000])
|
||||||
|
|
|
@ -36,7 +36,7 @@ class AddLibertyProviderFromUrlForm(forms.Form):
|
||||||
response = requests.get(url)
|
response = requests.get(url)
|
||||||
response.raise_for_status()
|
response.raise_for_status()
|
||||||
content = response.content
|
content = response.content
|
||||||
except requests.RequestException, e:
|
except requests.RequestException as e:
|
||||||
raise ValidationError(_('Retrieval of %(url)s failed: %(exception)s') % {
|
raise ValidationError(_('Retrieval of %(url)s failed: %(exception)s') % {
|
||||||
'url': url,
|
'url': url,
|
||||||
'exception': e
|
'exception': e
|
||||||
|
|
|
@ -314,7 +314,7 @@ Any other kind of attribute filter policy is unsupported.
|
||||||
|
|
||||||
try:
|
try:
|
||||||
doc = etree.parse(metadata_file)
|
doc = etree.parse(metadata_file)
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
raise CommandError('XML parsing error: %s' % str(e))
|
raise CommandError('XML parsing error: %s' % str(e))
|
||||||
if doc.getroot().tag == ENTITY_DESCRIPTOR_TN:
|
if doc.getroot().tag == ENTITY_DESCRIPTOR_TN:
|
||||||
load_one_entity(doc.getroot(), options)
|
load_one_entity(doc.getroot(), options)
|
||||||
|
@ -356,7 +356,7 @@ Any other kind of attribute filter policy is unsupported.
|
||||||
sp_policy=sp_policy,
|
sp_policy=sp_policy,
|
||||||
afp=afp)
|
afp=afp)
|
||||||
loaded.append(entity_descriptor.get(ENTITY_ID))
|
loaded.append(entity_descriptor.get(ENTITY_ID))
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
if not options['ignore-errors']:
|
if not options['ignore-errors']:
|
||||||
raise
|
raise
|
||||||
if verbosity > 0:
|
if verbosity > 0:
|
||||||
|
|
|
@ -358,7 +358,7 @@ class LibertyProvider(Service):
|
||||||
if not self.metadata_url:
|
if not self.metadata_url:
|
||||||
raise ValidationError(_('No metadata URL'))
|
raise ValidationError(_('No metadata URL'))
|
||||||
response = requests.get(self.metadata_url)
|
response = requests.get(self.metadata_url)
|
||||||
except requests.RequestException, e:
|
except requests.RequestException as e:
|
||||||
raise ValidationError(_('Retrieval of metadata failed: %s') % e)
|
raise ValidationError(_('Retrieval of metadata failed: %s') % e)
|
||||||
else:
|
else:
|
||||||
self.metadata = response.content
|
self.metadata = response.content
|
||||||
|
|
|
@ -397,7 +397,7 @@ def get_attributes_from_assertion(assertion, logger):
|
||||||
format = attribute.nameFormat.decode('ascii')
|
format = attribute.nameFormat.decode('ascii')
|
||||||
if attribute.friendlyName:
|
if attribute.friendlyName:
|
||||||
nickname = attribute.friendlyName
|
nickname = attribute.friendlyName
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
message = 'get_attributes_from_assertion: name or format of an \
|
message = 'get_attributes_from_assertion: name or format of an \
|
||||||
attribute failed to decode as ascii: %s due to %s'
|
attribute failed to decode as ascii: %s due to %s'
|
||||||
logger.warning(message % (attribute.dump(), str(e)))
|
logger.warning(message % (attribute.dump(), str(e)))
|
||||||
|
@ -412,7 +412,7 @@ def get_attributes_from_assertion(assertion, logger):
|
||||||
content = ''.join(content)
|
content = ''.join(content)
|
||||||
attributes[(name, format)].append(content.\
|
attributes[(name, format)].append(content.\
|
||||||
decode('utf8'))
|
decode('utf8'))
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
message = 'get_attributes_from_assertion: value of an \
|
message = 'get_attributes_from_assertion: value of an \
|
||||||
attribute failed to decode as ascii: %s due to %s'
|
attribute failed to decode as ascii: %s due to %s'
|
||||||
logger.warning(message % (attribute.dump(), str(e)))
|
logger.warning(message % (attribute.dump(), str(e)))
|
||||||
|
|
|
@ -138,9 +138,9 @@ def load_backend(path):
|
||||||
module, attr = path[:i], path[i + 1:]
|
module, attr = path[:i], path[i + 1:]
|
||||||
try:
|
try:
|
||||||
mod = import_module(module)
|
mod = import_module(module)
|
||||||
except ImportError, e:
|
except ImportError as e:
|
||||||
raise ImproperlyConfigured('Error importing idp backend %s: "%s"' % (module, e))
|
raise ImproperlyConfigured('Error importing idp backend %s: "%s"' % (module, e))
|
||||||
except ValueError, e:
|
except ValueError as e:
|
||||||
raise ImproperlyConfigured('Error importing idp backends. Is IDP_BACKENDS a correctly '
|
raise ImproperlyConfigured('Error importing idp backends. Is IDP_BACKENDS a correctly '
|
||||||
'defined list or tuple?')
|
'defined list or tuple?')
|
||||||
try:
|
try:
|
||||||
|
|
|
@ -41,7 +41,7 @@ class AuthenticAdapter(DefaultAdapter):
|
||||||
try:
|
try:
|
||||||
value = saml_attributes[saml_attribute]
|
value = saml_attributes[saml_attribute]
|
||||||
self.set_user_attribute(user, attribute, value)
|
self.set_user_attribute(user, attribute, value)
|
||||||
except Exception, e:
|
except Exception as e:
|
||||||
log.error(u'failed to set attribute %r from saml attribute %r with value %r: %s',
|
log.error(u'failed to set attribute %r from saml attribute %r with value %r: %s',
|
||||||
attribute, saml_attribute, value, e,
|
attribute, saml_attribute, value, e,
|
||||||
extra={'attributes': repr(saml_attributes)})
|
extra={'attributes': repr(saml_attributes)})
|
||||||
|
|
Loading…
Reference in New Issue