diff options
author | Vlad Mencl <vladimir.mencl@reannz.co.nz> | 2023-01-23 16:48:43 +1300 |
---|---|---|
committer | Vlad Mencl <vladimir.mencl@reannz.co.nz> | 2023-01-23 16:48:43 +1300 |
commit | 30243a89c43872bb6523478b614ff0a205a01279 (patch) | |
tree | f1760dfe2958617bec562d63986c053c838ed5df /src/saml2/metadata.py | |
parent | 2fe02c14b1c08ff7981c878f3360fe5beacdebb2 (diff) | |
download | pysaml2-30243a89c43872bb6523478b614ff0a205a01279.tar.gz |
fix: metadata: process extensions also for aa, aq and pdp descriptors
Diffstat (limited to 'src/saml2/metadata.py')
-rw-r--r-- | src/saml2/metadata.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/saml2/metadata.py b/src/saml2/metadata.py index ff4450a8..4266ca6e 100644 --- a/src/saml2/metadata.py +++ b/src/saml2/metadata.py @@ -589,6 +589,17 @@ def do_aa_descriptor(conf, cert=None, enc_cert=None): aad = md.AttributeAuthorityDescriptor() aad.protocol_support_enumeration = samlp.NAMESPACE + exts = conf.getattr("extensions", "aa") + if exts: + if aad.extensions is None: + aad.extensions = md.Extensions() + + for key, val in exts.items(): + _ext = do_extensions(key, val) + if _ext: + for _e in _ext: + aad.extensions.add_extension_element(_e) + endps = conf.getattr("endpoints", "aa") if endps: @@ -617,6 +628,17 @@ def do_aq_descriptor(conf, cert=None, enc_cert=None): aqs = md.AuthnAuthorityDescriptor() aqs.protocol_support_enumeration = samlp.NAMESPACE + exts = conf.getattr("extensions", "aa") + if exts: + if aqs.extensions is None: + aqs.extensions = md.Extensions() + + for key, val in exts.items(): + _ext = do_extensions(key, val) + if _ext: + for _e in _ext: + aqs.extensions.add_extension_element(_e) + endps = conf.getattr("endpoints", "aq") if endps: @@ -637,6 +659,17 @@ def do_pdp_descriptor(conf, cert=None, enc_cert=None): pdp.protocol_support_enumeration = samlp.NAMESPACE + exts = conf.getattr("extensions", "pdp") + if exts: + if pdp.extensions is None: + pdp.extensions = md.Extensions() + + for key, val in exts.items(): + _ext = do_extensions(key, val) + if _ext: + for _e in _ext: + pdp.extensions.add_extension_element(_e) + endps = conf.getattr("endpoints", "pdp") if endps: |