Pluralizes return_addr in request.py and entity.py

This commit is contained in:
Austin Robinson
2013-11-21 14:36:57 -05:00
parent 782dcf841a
commit 6c5be86afe
3 changed files with 33 additions and 33 deletions

View File

@@ -773,12 +773,12 @@ class Entity(HTTPBase):
kwargs["asynchop"] = True kwargs["asynchop"] = True
if xmlstr: if xmlstr:
if "return_addr" not in kwargs: if "return_addrs" not in kwargs:
if binding in [BINDING_HTTP_REDIRECT, BINDING_HTTP_POST]: if binding in [BINDING_HTTP_REDIRECT, BINDING_HTTP_POST]:
try: try:
# expected return address # expected return address
kwargs["return_addr"] = self.config.endpoint( kwargs["return_addrs"] = self.config.endpoint(
service, binding=binding)[0] service, binding=binding)
except Exception: except Exception:
logger.info("Not supposed to handle this!") logger.info("Not supposed to handle this!")
return None return None

View File

@@ -18,7 +18,7 @@ def _dummy(_arg):
class Request(object): class Request(object):
def __init__(self, sec_context, receiver_addrs, attribute_converters=None, def __init__(self, sec_context, receiver_addrs, attribute_converters=None,
timeslack=0): timeslack=0):
self.sec = sec_context self.sec = sergbc_context
self.receiver_addrs = receiver_addrs self.receiver_addrs = receiver_addrs
self.timeslack = timeslack self.timeslack = timeslack
self.xmlstr = "" self.xmlstr = ""

View File

@@ -220,7 +220,7 @@ def for_me(conditions, myself):
return False return False
def authn_response(conf, return_addr, outstanding_queries=None, timeslack=0, def authn_response(conf, return_addrs, outstanding_queries=None, timeslack=0,
asynchop=True, allow_unsolicited=False, want_assertions_signed=False): asynchop=True, allow_unsolicited=False, want_assertions_signed=False):
sec = security_context(conf) sec = security_context(conf)
if not timeslack: if not timeslack:
@@ -230,13 +230,13 @@ def authn_response(conf, return_addr, outstanding_queries=None, timeslack=0,
timeslack = 0 timeslack = 0
return AuthnResponse(sec, conf.attribute_converters, conf.entityid, return AuthnResponse(sec, conf.attribute_converters, conf.entityid,
return_addr, outstanding_queries, timeslack, return_addrs, outstanding_queries, timeslack,
asynchop=asynchop, allow_unsolicited=allow_unsolicited, asynchop=asynchop, allow_unsolicited=allow_unsolicited,
want_assertions_signed=want_assertions_signed) want_assertions_signed=want_assertions_signed)
# comes in over SOAP so synchronous # comes in over SOAP so synchronous
def attribute_response(conf, return_addr, timeslack=0, asynchop=False, def attribute_response(conf, return_addrs, timeslack=0, asynchop=False,
test=False): test=False):
sec = security_context(conf) sec = security_context(conf)
if not timeslack: if not timeslack:
@@ -246,17 +246,17 @@ def attribute_response(conf, return_addr, timeslack=0, asynchop=False,
timeslack = 0 timeslack = 0
return AttributeResponse(sec, conf.attribute_converters, conf.entityid, return AttributeResponse(sec, conf.attribute_converters, conf.entityid,
return_addr, timeslack, asynchop=asynchop, return_addrs, timeslack, asynchop=asynchop,
test=test) test=test)
class StatusResponse(object): class StatusResponse(object):
msgtype = "status_response" msgtype = "status_response"
def __init__(self, sec_context, return_addr=None, timeslack=0, def __init__(self, sec_context, return_addrs=None, timeslack=0,
request_id=0, asynchop=True): request_id=0, asynchop=True):
self.sec = sec_context self.sec = sec_context
self.return_addr = return_addr self.return_addrs = return_addrs
self.timeslack = timeslack self.timeslack = timeslack
self.request_id = request_id self.request_id = request_id
@@ -382,9 +382,9 @@ class StatusResponse(object):
if self.asynchop: if self.asynchop:
if self.response.destination and \ if self.response.destination and \
self.response.destination != self.return_addr: self.response.destination not in self.return_addrs:
logger.error("%s != %s" % (self.response.destination, logger.error("%s not in %s" % (self.response.destination,
self.return_addr)) self.return_addrs))
return None return None
assert self.issue_instant_ok() assert self.issue_instant_ok()
@@ -413,9 +413,9 @@ class StatusResponse(object):
class LogoutResponse(StatusResponse): class LogoutResponse(StatusResponse):
msgtype = "logout_response" msgtype = "logout_response"
def __init__(self, sec_context, return_addr=None, timeslack=0, def __init__(self, sec_context, return_addrs=None, timeslack=0,
asynchop=True): asynchop=True):
StatusResponse.__init__(self, sec_context, return_addr, timeslack, StatusResponse.__init__(self, sec_context, return_addrs, timeslack,
asynchop=asynchop) asynchop=asynchop)
self.signature_check = self.sec.correctly_signed_logout_response self.signature_check = self.sec.correctly_signed_logout_response
@@ -423,9 +423,9 @@ class LogoutResponse(StatusResponse):
class NameIDMappingResponse(StatusResponse): class NameIDMappingResponse(StatusResponse):
msgtype = "name_id_mapping_response" msgtype = "name_id_mapping_response"
def __init__(self, sec_context, return_addr=None, timeslack=0, def __init__(self, sec_context, return_addrs=None, timeslack=0,
request_id=0, asynchop=True): request_id=0, asynchop=True):
StatusResponse.__init__(self, sec_context, return_addr, timeslack, StatusResponse.__init__(self, sec_context, return_addrs, timeslack,
request_id, asynchop) request_id, asynchop)
self.signature_check = self.sec.correctly_signed_name_id_mapping_response self.signature_check = self.sec.correctly_signed_name_id_mapping_response
@@ -433,9 +433,9 @@ class NameIDMappingResponse(StatusResponse):
class ManageNameIDResponse(StatusResponse): class ManageNameIDResponse(StatusResponse):
msgtype = "manage_name_id_response" msgtype = "manage_name_id_response"
def __init__(self, sec_context, return_addr=None, timeslack=0, def __init__(self, sec_context, return_addrs=None, timeslack=0,
request_id=0, asynchop=True): request_id=0, asynchop=True):
StatusResponse.__init__(self, sec_context, return_addr, timeslack, StatusResponse.__init__(self, sec_context, return_addrs, timeslack,
request_id, asynchop) request_id, asynchop)
self.signature_check = self.sec.correctly_signed_manage_name_id_response self.signature_check = self.sec.correctly_signed_manage_name_id_response
@@ -449,12 +449,12 @@ class AuthnResponse(StatusResponse):
msgtype = "authn_response" msgtype = "authn_response"
def __init__(self, sec_context, attribute_converters, entity_id, def __init__(self, sec_context, attribute_converters, entity_id,
return_addr=None, outstanding_queries=None, return_addrs=None, outstanding_queries=None,
timeslack=0, asynchop=True, allow_unsolicited=False, timeslack=0, asynchop=True, allow_unsolicited=False,
test=False, allow_unknown_attributes=False, want_assertions_signed=False, test=False, allow_unknown_attributes=False, want_assertions_signed=False,
**kwargs): **kwargs):
StatusResponse.__init__(self, sec_context, return_addr, timeslack, StatusResponse.__init__(self, sec_context, return_addrs, timeslack,
asynchop=asynchop) asynchop=asynchop)
self.entity_id = entity_id self.entity_id = entity_id
self.attribute_converters = attribute_converters self.attribute_converters = attribute_converters
@@ -875,10 +875,10 @@ class AuthnQueryResponse(AuthnResponse):
msgtype = "authn_query_response" msgtype = "authn_query_response"
def __init__(self, sec_context, attribute_converters, entity_id, def __init__(self, sec_context, attribute_converters, entity_id,
return_addr=None, timeslack=0, asynchop=False, test=False): return_addrs=None, timeslack=0, asynchop=False, test=False):
AuthnResponse.__init__(self, sec_context, attribute_converters, AuthnResponse.__init__(self, sec_context, attribute_converters,
entity_id, return_addr, timeslack=timeslack, entity_id, return_addrs, timeslack=timeslack,
asynchop=asynchop, test=test) asynchop=asynchop, test=test)
self.entity_id = entity_id self.entity_id = entity_id
self.attribute_converters = attribute_converters self.attribute_converters = attribute_converters
@@ -893,10 +893,10 @@ class AttributeResponse(AuthnResponse):
msgtype = "attribute_response" msgtype = "attribute_response"
def __init__(self, sec_context, attribute_converters, entity_id, def __init__(self, sec_context, attribute_converters, entity_id,
return_addr=None, timeslack=0, asynchop=False, test=False): return_addrs=None, timeslack=0, asynchop=False, test=False):
AuthnResponse.__init__(self, sec_context, attribute_converters, AuthnResponse.__init__(self, sec_context, attribute_converters,
entity_id, return_addr, timeslack=timeslack, entity_id, return_addrs, timeslack=timeslack,
asynchop=asynchop, test=test) asynchop=asynchop, test=test)
self.entity_id = entity_id self.entity_id = entity_id
self.attribute_converters = attribute_converters self.attribute_converters = attribute_converters
@@ -910,9 +910,9 @@ class AuthzResponse(AuthnResponse):
msgtype = "authz_decision_response" msgtype = "authz_decision_response"
def __init__(self, sec_context, attribute_converters, entity_id, def __init__(self, sec_context, attribute_converters, entity_id,
return_addr=None, timeslack=0, asynchop=False): return_addrs=None, timeslack=0, asynchop=False):
AuthnResponse.__init__(self, sec_context, attribute_converters, AuthnResponse.__init__(self, sec_context, attribute_converters,
entity_id, return_addr, timeslack=timeslack, entity_id, return_addrs, timeslack=timeslack,
asynchop=asynchop) asynchop=asynchop)
self.entity_id = entity_id self.entity_id = entity_id
self.attribute_converters = attribute_converters self.attribute_converters = attribute_converters
@@ -924,10 +924,10 @@ class ArtifactResponse(AuthnResponse):
msgtype = "artifact_response" msgtype = "artifact_response"
def __init__(self, sec_context, attribute_converters, entity_id, def __init__(self, sec_context, attribute_converters, entity_id,
return_addr=None, timeslack=0, asynchop=False, test=False): return_addrs=None, timeslack=0, asynchop=False, test=False):
AuthnResponse.__init__(self, sec_context, attribute_converters, AuthnResponse.__init__(self, sec_context, attribute_converters,
entity_id, return_addr, timeslack=timeslack, entity_id, return_addrs, timeslack=timeslack,
asynchop=asynchop, test=test) asynchop=asynchop, test=test)
self.entity_id = entity_id self.entity_id = entity_id
self.attribute_converters = attribute_converters self.attribute_converters = attribute_converters
@@ -935,7 +935,7 @@ class ArtifactResponse(AuthnResponse):
self.context = "ArtifactResolve" self.context = "ArtifactResolve"
def response_factory(xmlstr, conf, return_addr=None, outstanding_queries=None, def response_factory(xmlstr, conf, return_addrs=None, outstanding_queries=None,
timeslack=0, decode=True, request_id=0, origxml=None, timeslack=0, decode=True, request_id=0, origxml=None,
asynchop=True, allow_unsolicited=False, want_assertions_signed=False): asynchop=True, allow_unsolicited=False, want_assertions_signed=False):
sec_context = security_context(conf) sec_context = security_context(conf)
@@ -949,13 +949,13 @@ def response_factory(xmlstr, conf, return_addr=None, outstanding_queries=None,
entity_id = conf.entityid entity_id = conf.entityid
extension_schema = conf.extension_schema extension_schema = conf.extension_schema
response = StatusResponse(sec_context, return_addr, timeslack, request_id, response = StatusResponse(sec_context, return_addrs, timeslack, request_id,
asynchop) asynchop)
try: try:
response.loads(xmlstr, decode, origxml) response.loads(xmlstr, decode, origxml)
if response.response.assertion or response.response.encrypted_assertion: if response.response.assertion or response.response.encrypted_assertion:
authnresp = AuthnResponse(sec_context, attribute_converters, authnresp = AuthnResponse(sec_context, attribute_converters,
entity_id, return_addr, entity_id, return_addrs,
outstanding_queries, timeslack, asynchop, outstanding_queries, timeslack, asynchop,
allow_unsolicited, allow_unsolicited,
extension_schema=extension_schema, extension_schema=extension_schema,
@@ -965,7 +965,7 @@ def response_factory(xmlstr, conf, return_addr=None, outstanding_queries=None,
except TypeError: except TypeError:
response.signature_check = sec_context.correctly_signed_logout_response response.signature_check = sec_context.correctly_signed_logout_response
response.loads(xmlstr, decode, origxml) response.loads(xmlstr, decode, origxml)
logoutresp = LogoutResponse(sec_context, return_addr, timeslack, logoutresp = LogoutResponse(sec_context, return_addrs, timeslack,
asynchop=asynchop) asynchop=asynchop)
logoutresp.update(response) logoutresp.update(response)
return logoutresp return logoutresp