diff options
author | Xiao Zhu <xzhu@twitter.com> | 2021-10-14 11:18:53 -0700 |
---|---|---|
committer | Ivan Kanakarakis <ivan.kanak@gmail.com> | 2022-04-19 14:04:26 +0300 |
commit | f08d6d4e7f64c2b84c2acf7dee56e24387ce7dcc (patch) | |
tree | ac54535a221d7d91c90b75a27e26d8c274416fd7 | |
parent | a92443578acc20f3c095bdd5739d2de296746bc5 (diff) | |
download | pysaml2-f08d6d4e7f64c2b84c2acf7dee56e24387ce7dcc.tar.gz |
add timeout to config and httpbase
-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 |