diff options
-rw-r--r-- | src/saml2/config.py | 2 | ||||
-rw-r--r-- | src/saml2/entity.py | 2 | ||||
-rw-r--r-- | src/saml2/httpbase.py | 3 | ||||
-rw-r--r-- | src/saml2/mdstore.py | 4 |
4 files changed, 7 insertions, 4 deletions
diff --git a/src/saml2/config.py b/src/saml2/config.py index 357dc6b8..f7cf76c3 100644 --- a/src/saml2/config.py +++ b/src/saml2/config.py @@ -76,6 +76,7 @@ COMMON_ARGS = [ "name_id_format", "signing_algorithm", "digest_algorithm", + "timeout", ] SP_ARGS = [ @@ -228,6 +229,7 @@ class Config(object): self.delete_tmpfiles = True self.signing_algorithm = None self.digest_algorithm = None + self.timeout = None def setattr(self, context, attr, val): if context == "": diff --git a/src/saml2/entity.py b/src/saml2/entity.py index 2d03c875..2ad2823c 100644 --- a/src/saml2/entity.py +++ b/src/saml2/entity.py @@ -175,7 +175,7 @@ class Entity(HTTPBase): HTTPBase.__init__(self, self.config.verify_ssl_cert, self.config.ca_certs, self.config.key_file, - self.config.cert_file) + self.config.cert_file, self.config.timeout) if self.config.vorg: for vo in self.config.vorg.values(): diff --git a/src/saml2/httpbase.py b/src/saml2/httpbase.py index f8393639..ccb42e93 100644 --- a/src/saml2/httpbase.py +++ b/src/saml2/httpbase.py @@ -100,7 +100,7 @@ def dict2set_list(dic): class HTTPBase(object): def __init__(self, verify=True, ca_bundle=None, key_file=None, - cert_file=None): + cert_file=None, timeout=None): self.request_args = {"allow_redirects": False} #self.cookies = {} self.cookiejar = http_cookiejar.CookieJar() @@ -111,6 +111,7 @@ class HTTPBase(object): self.request_args["verify"] = ca_bundle if key_file: self.request_args["cert"] = (cert_file, key_file) + self.request_args["timeout"] = timeout self.sec = None self.user = None diff --git a/src/saml2/mdstore.py b/src/saml2/mdstore.py index 120e4fc8..d882dc1e 100644 --- a/src/saml2/mdstore.py +++ b/src/saml2/mdstore.py @@ -1032,9 +1032,9 @@ class MetadataStore(MetaData): MetaData.__init__(self, attrc, check_validity=check_validity) if disable_ssl_certificate_validation: - self.http = HTTPBase(verify=False, ca_bundle=ca_certs) + self.http = HTTPBase(verify=False, ca_bundle=ca_certs, timeout=config.timeout) else: - self.http = HTTPBase(verify=True, ca_bundle=ca_certs) + self.http = HTTPBase(verify=True, ca_bundle=ca_certs, timeout=config.timeout) self.security = security_context(config) self.ii = 0 |