@@ -91,7 +91,7 @@ def dict2list_of_tuples(d):
91
91
class Service (object ):
92
92
def __init__ (self , environ , start_response , user = None ):
93
93
self .environ = environ
94
- logger .debug ("ENVIRON: %s" % environ )
94
+ logger .debug ("ENVIRON: %s" , environ )
95
95
self .start_response = start_response
96
96
self .user = user
97
97
@@ -104,7 +104,7 @@ def unpack_redirect(self):
104
104
105
105
def unpack_post (self ):
106
106
_dict = parse_qs (get_post (self .environ ))
107
- logger .debug ("unpack_post:: %s" % _dict )
107
+ logger .debug ("unpack_post:: %s" , _dict )
108
108
try :
109
109
return dict ([(k , v [0 ]) for k , v in _dict .items ()])
110
110
except Exception :
@@ -124,11 +124,11 @@ def unpack_either(self):
124
124
_dict = self .unpack_post ()
125
125
else :
126
126
_dict = None
127
- logger .debug ("_dict: %s" % _dict )
127
+ logger .debug ("_dict: %s" , _dict )
128
128
return _dict
129
129
130
130
def operation (self , saml_msg , binding ):
131
- logger .debug ("_operation: %s" % saml_msg )
131
+ logger .debug ("_operation: %s" , saml_msg )
132
132
if not (saml_msg and 'SAMLRequest' in saml_msg ):
133
133
resp = BadRequest ('Error parsing request or no request' )
134
134
return resp (self .environ , self .start_response )
@@ -210,7 +210,7 @@ def soap(self):
210
210
"""
211
211
logger .debug ("- SOAP -" )
212
212
_dict = self .unpack_soap ()
213
- logger .debug ("_dict: %s" % _dict )
213
+ logger .debug ("_dict: %s" , _dict )
214
214
return self .operation (_dict , BINDING_SOAP )
215
215
216
216
def uri (self ):
@@ -273,19 +273,19 @@ def verify_request(self, query, binding):
273
273
274
274
logger .info ("parsed OK" )
275
275
_authn_req = self .req_info .message
276
- logger .debug ("%s" % _authn_req )
276
+ logger .debug ("%s" , _authn_req )
277
277
278
278
try :
279
279
self .binding_out , self .destination = IDP .pick_binding (
280
280
"assertion_consumer_service" ,
281
281
bindings = self .response_bindings ,
282
282
entity_id = _authn_req .issuer .text , request = _authn_req )
283
283
except Exception as err :
284
- logger .error ("Couldn't find receiver endpoint: %s" % err )
284
+ logger .error ("Couldn't find receiver endpoint: %s" , err )
285
285
raise
286
286
287
- logger .debug ("Binding: %s, destination: %s" % ( self .binding_out ,
288
- self .destination ))
287
+ logger .debug ("Binding: %s, destination: %s" , self .binding_out ,
288
+ self .destination )
289
289
290
290
resp_args = {}
291
291
try :
@@ -313,18 +313,18 @@ def do(self, query, binding_in, relay_state="", encrypt_cert=None,
313
313
try :
314
314
resp_args , _resp = self .verify_request (query , binding_in )
315
315
except UnknownPrincipal as excp :
316
- logger .error ("UnknownPrincipal: %s" % ( excp ,) )
316
+ logger .error ("UnknownPrincipal: %s" , excp )
317
317
resp = ServiceError ("UnknownPrincipal: %s" % (excp ,))
318
318
return resp (self .environ , self .start_response )
319
319
except UnsupportedBinding as excp :
320
- logger .error ("UnsupportedBinding: %s" % ( excp ,) )
320
+ logger .error ("UnsupportedBinding: %s" , excp )
321
321
resp = ServiceError ("UnsupportedBinding: %s" % (excp ,))
322
322
return resp (self .environ , self .start_response )
323
323
324
324
if not _resp :
325
325
identity = USERS [self .user ].copy ()
326
326
# identity["eduPersonTargetedID"] = get_eptid(IDP, query, session)
327
- logger .info ("Identity: %s" % ( identity ,) )
327
+ logger .info ("Identity: %s" , identity )
328
328
329
329
if REPOZE_ID_EQUIVALENT :
330
330
identity [REPOZE_ID_EQUIVALENT ] = self .user
@@ -345,7 +345,7 @@ def do(self, query, binding_in, relay_state="", encrypt_cert=None,
345
345
resp = ServiceError ("Exception: %s" % (excp ,))
346
346
return resp (self .environ , self .start_response )
347
347
348
- logger .info ("AuthNResponse: %s" % _resp )
348
+ logger .info ("AuthNResponse: %s" , _resp )
349
349
if self .op_type == "ecp" :
350
350
kwargs = {"soap_headers" : [
351
351
ecp .Response (
@@ -357,12 +357,12 @@ def do(self, query, binding_in, relay_state="", encrypt_cert=None,
357
357
"%s" % _resp , self .destination ,
358
358
relay_state , response = True , ** kwargs )
359
359
360
- logger .debug ("HTTPargs: %s" % http_args )
360
+ logger .debug ("HTTPargs: %s" , http_args )
361
361
return self .response (self .binding_out , http_args )
362
362
363
363
@staticmethod
364
364
def _store_request (saml_msg ):
365
- logger .debug ("_store_request: %s" % saml_msg )
365
+ logger .debug ("_store_request: %s" , saml_msg )
366
366
key = sha1 (saml_msg ["SAMLRequest" ]).hexdigest ()
367
367
# store the AuthnRequest
368
368
IDP .ticket [key ] = saml_msg
@@ -508,7 +508,7 @@ def do_authentication(environ, start_response, authn_context, key,
508
508
509
509
if len (auth_info ):
510
510
method , reference = auth_info [0 ]
511
- logger .debug ("Authn chosen: %s (ref=%s)" % ( method , reference ) )
511
+ logger .debug ("Authn chosen: %s (ref=%s)" , method , reference )
512
512
return method (environ , start_response , reference , key , redirect_uri , headers )
513
513
else :
514
514
resp = Unauthorized ("No usable authentication method" )
@@ -546,7 +546,7 @@ def username_password_authn(environ, start_response, reference, key,
546
546
"authn_reference" : reference ,
547
547
"redirect_uri" : redirect_uri
548
548
}
549
- logger .info ("do_authentication argv: %s" % argv )
549
+ logger .info ("do_authentication argv: %s" , argv )
550
550
return resp (environ , start_response , ** argv )
551
551
552
552
@@ -562,7 +562,7 @@ def verify_username_and_password(dic):
562
562
def do_verify (environ , start_response , _ ):
563
563
query = parse_qs (get_post (environ ))
564
564
565
- logger .debug ("do_verify: %s" % query )
565
+ logger .debug ("do_verify: %s" , query )
566
566
567
567
try :
568
568
_ok , user = verify_username_and_password (query )
@@ -576,13 +576,13 @@ def do_verify(environ, start_response, _):
576
576
uid = rndstr (24 )
577
577
IDP .cache .uid2user [uid ] = user
578
578
IDP .cache .user2uid [user ] = uid
579
- logger .debug ("Register %s under '%s'" % ( user , uid ) )
579
+ logger .debug ("Register %s under '%s'" , user , uid )
580
580
581
581
kaka = set_cookie ("idpauthn" , "/" , uid , query ["authn_reference" ][0 ])
582
582
583
583
lox = "%s?id=%s&key=%s" % (query ["redirect_uri" ][0 ], uid ,
584
584
query ["key" ][0 ])
585
- logger .debug ("Redirect => %s" % lox )
585
+ logger .debug ("Redirect => %s" , lox )
586
586
resp = Redirect (lox , headers = [kaka ], content = "text/html" )
587
587
588
588
return resp (environ , start_response )
@@ -610,17 +610,17 @@ def do(self, request, binding, relay_state="", encrypt_cert=None, **kwargs):
610
610
611
611
logger .info ("--- Single Log Out Service ---" )
612
612
try :
613
- logger .debug ("req: '%s'" % request )
613
+ logger .debug ("req: '%s'" , request )
614
614
req_info = IDP .parse_logout_request (request , binding )
615
615
except Exception as exc :
616
- logger .error ("Bad request: %s" % exc )
616
+ logger .error ("Bad request: %s" , exc )
617
617
resp = BadRequest ("%s" % exc )
618
618
return resp (self .environ , self .start_response )
619
619
620
620
msg = req_info .message
621
621
if msg .name_id :
622
622
lid = IDP .ident .find_local_id (msg .name_id )
623
- logger .info ("local identifier: %s" % lid )
623
+ logger .info ("local identifier: %s" , lid )
624
624
if lid in IDP .cache .user2uid :
625
625
uid = IDP .cache .user2uid [lid ]
626
626
if uid in IDP .cache .uid2user :
@@ -630,8 +630,8 @@ def do(self, request, binding, relay_state="", encrypt_cert=None, **kwargs):
630
630
try :
631
631
IDP .session_db .remove_authn_statements (msg .name_id )
632
632
except KeyError as exc :
633
- logger .error ("Unknown session: %s" % exc )
634
- resp = ServiceError ("Unknown session: %s" % exc )
633
+ logger .error ("Unknown session: %s" , exc )
634
+ resp = ServiceError ("Unknown session: %s" , exc )
635
635
return resp (self .environ , self .start_response )
636
636
637
637
resp = IDP .create_logout_response (msg , [binding ])
@@ -649,15 +649,15 @@ def do(self, request, binding, relay_state="", encrypt_cert=None, **kwargs):
649
649
hinfo = IDP .apply_binding (binding , "%s" % resp , destination ,
650
650
relay_state , response = response )
651
651
except Exception as exc :
652
- logger .error ("ServiceError: %s" % exc )
652
+ logger .error ("ServiceError: %s" , exc )
653
653
resp = ServiceError ("%s" % exc )
654
654
return resp (self .environ , self .start_response )
655
655
656
656
#_tlh = dict2list_of_tuples(hinfo["headers"])
657
657
delco = delete_cookie (self .environ , "idpauthn" )
658
658
if delco :
659
659
hinfo ["headers" ].append (delco )
660
- logger .info ("Header: %s" % (hinfo ["headers" ],))
660
+ logger .info ("Header: %s" , (hinfo ["headers" ],))
661
661
662
662
if binding == BINDING_HTTP_REDIRECT :
663
663
for key , value in hinfo ['headers' ]:
@@ -688,7 +688,7 @@ def do(self, query, binding, relay_state="", encrypt_cert=None):
688
688
request .name_id , request .new_id , request .new_encrypted_id ,
689
689
request .terminate )
690
690
691
- logger .debug ("New NameID: %s" % name_id )
691
+ logger .debug ("New NameID: %s" , name_id )
692
692
693
693
_resp = IDP .create_manage_name_id_response (request )
694
694
@@ -718,12 +718,12 @@ def do(self, aid, binding, relay_state="", encrypt_cert=None):
718
718
719
719
hinfo = IDP .apply_binding (BINDING_URI , "%s" % assertion , response = True )
720
720
721
- logger .debug ("HINFO: %s" % hinfo )
721
+ logger .debug ("HINFO: %s" , hinfo )
722
722
resp = Response (hinfo ["data" ], headers = hinfo ["headers" ])
723
723
return resp (self .environ , self .start_response )
724
724
725
725
def operation (self , _dict , binding , ** kwargs ):
726
- logger .debug ("_operation: %s" % _dict )
726
+ logger .debug ("_operation: %s" , _dict )
727
727
if not _dict or "ID" not in _dict :
728
728
resp = BadRequest ('Error parsing request or no request' )
729
729
return resp (self .environ , self .start_response )
@@ -764,7 +764,7 @@ def do(self, request, binding, relay_state="", encrypt_cert=None):
764
764
_query .requested_authn_context ,
765
765
_query .session_index )
766
766
767
- logger .debug ("response: %s" % msg )
767
+ logger .debug ("response: %s" , msg )
768
768
hinfo = IDP .apply_binding (BINDING_SOAP , "%s" % msg , "" , "" ,
769
769
response = True )
770
770
@@ -787,15 +787,15 @@ def do(self, request, binding, relay_state="", encrypt_cert=None):
787
787
788
788
name_id = _query .subject .name_id
789
789
uid = name_id .text
790
- logger .debug ("Local uid: %s" % uid )
790
+ logger .debug ("Local uid: %s" , uid )
791
791
identity = EXTRA [uid ]
792
792
793
793
# Comes in over SOAP so only need to construct the response
794
794
args = IDP .response_args (_query , [BINDING_SOAP ])
795
795
msg = IDP .create_attribute_response (identity ,
796
796
name_id = name_id , ** args )
797
797
798
- logger .debug ("response: %s" % msg )
798
+ logger .debug ("response: %s" , msg )
799
799
hinfo = IDP .apply_binding (BINDING_SOAP , "%s" % msg , "" , "" ,
800
800
response = True )
801
801
@@ -842,7 +842,7 @@ def do(self, query, binding, relay_state="", encrypt_cert=None):
842
842
# Cookie handling
843
843
# ----------------------------------------------------------------------------
844
844
def info_from_cookie (kaka ):
845
- logger .debug ("KAKA: %s" % kaka )
845
+ logger .debug ("KAKA: %s" , kaka )
846
846
if kaka :
847
847
cookie_obj = SimpleCookie (kaka )
848
848
morsel = cookie_obj .get ("idpauthn" , None )
@@ -859,14 +859,14 @@ def info_from_cookie(kaka):
859
859
860
860
def delete_cookie (environ , name ):
861
861
kaka = environ .get ("HTTP_COOKIE" , '' )
862
- logger .debug ("delete KAKA: %s" % kaka )
862
+ logger .debug ("delete KAKA: %s" , kaka )
863
863
if kaka :
864
864
cookie_obj = SimpleCookie (kaka )
865
865
morsel = cookie_obj .get (name , None )
866
866
cookie = SimpleCookie ()
867
867
cookie [name ] = ""
868
868
cookie [name ]['path' ] = "/"
869
- logger .debug ("Expire: %s" % morsel )
869
+ logger .debug ("Expire: %s" , morsel )
870
870
cookie [name ]["expires" ] = _expiration ("dawn" )
871
871
return tuple (cookie .output ().split (": " , 1 ))
872
872
return None
@@ -877,7 +877,7 @@ def set_cookie(name, _, *args):
877
877
cookie [name ] = base64 .b64encode (":" .join (args ))
878
878
cookie [name ]['path' ] = "/"
879
879
cookie [name ]["expires" ] = _expiration (5 ) # 5 minutes from now
880
- logger .debug ("Cookie expires: %s" % cookie [name ]["expires" ])
880
+ logger .debug ("Cookie expires: %s" , cookie [name ]["expires" ])
881
881
return tuple (cookie .output ().split (": " , 1 ))
882
882
883
883
# ----------------------------------------------------------------------------
@@ -940,7 +940,7 @@ def metadata(environ, start_response):
940
940
start_response ('200 OK' , [('Content-Type' , "text/xml" )])
941
941
return metadata
942
942
except Exception as ex :
943
- logger .error ("An error occured while creating metadata:" + ex .message )
943
+ logger .error ("An error occured while creating metadata: %s" , ex .message )
944
944
return not_found (environ , start_response )
945
945
946
946
@@ -959,7 +959,7 @@ def staticfile(environ, start_response):
959
959
start_response ('200 OK' , [('Content-Type' , "text/xml" )])
960
960
return open (path , 'r' ).read ()
961
961
except Exception as ex :
962
- logger .error ("An error occured while creating metadata:" + ex .message )
962
+ logger .error ("An error occured while creating metadata: %s" , ex .message )
963
963
return not_found (environ , start_response )
964
964
965
965
@@ -971,9 +971,9 @@ def application(environ, start_response):
971
971
the functions from above can access the url placeholders.
972
972
973
973
If nothing matches, call the `not_found` function.
974
-
974
+
975
975
:param environ: The HTTP application environment
976
- :param start_response: The application to run when the handling of the
976
+ :param start_response: The application to run when the handling of the
977
977
request is done
978
978
:return: The response as a list of lines
979
979
"""
@@ -984,7 +984,7 @@ def application(environ, start_response):
984
984
return metadata (environ , start_response )
985
985
986
986
kaka = environ .get ("HTTP_COOKIE" , None )
987
- logger .info ("<application> PATH: %s" % path )
987
+ logger .info ("<application> PATH: %s" , path )
988
988
989
989
if kaka :
990
990
logger .info ("= KAKA =" )
@@ -994,7 +994,7 @@ def application(environ, start_response):
994
994
else :
995
995
try :
996
996
query = parse_qs (environ ["QUERY_STRING" ])
997
- logger .debug ("QUERY: %s" % query )
997
+ logger .debug ("QUERY: %s" , query )
998
998
user = IDP .cache .uid2user [query ["id" ][0 ]]
999
999
except KeyError :
1000
1000
user = None
@@ -1013,7 +1013,7 @@ def application(environ, start_response):
1013
1013
except IndexError :
1014
1014
environ ['myapp.url_args' ] = path
1015
1015
1016
- logger .debug ("Callback: %s" % ( callback ,) )
1016
+ logger .debug ("Callback: %s" , callback )
1017
1017
if isinstance (callback , tuple ):
1018
1018
cls = callback [0 ](environ , start_response , user )
1019
1019
func = getattr (cls , callback [1 ])
0 commit comments