mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 14:57:39 -02:30
Support dash in LDAP attribute names in filters.
This commit is contained in:
committed by
Matthew Jones
parent
f93506fe2c
commit
c067788428
@@ -1,6 +1,7 @@
|
|||||||
import ldap
|
import ldap
|
||||||
|
|
||||||
from awx.sso.backends import LDAPSettings
|
from awx.sso.backends import LDAPSettings
|
||||||
|
from awx.sso.validators import validate_ldap_filter
|
||||||
|
|
||||||
|
|
||||||
def test_ldap_default_settings(mocker):
|
def test_ldap_default_settings(mocker):
|
||||||
@@ -19,3 +20,7 @@ def test_ldap_default_network_timeout(mocker):
|
|||||||
ldap.OPT_REFERRALS: 0,
|
ldap.OPT_REFERRALS: 0,
|
||||||
ldap.OPT_NETWORK_TIMEOUT: 30
|
ldap.OPT_NETWORK_TIMEOUT: 30
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def test_ldap_filter_validator():
|
||||||
|
validate_ldap_filter('(test-uid=%(user)s)', with_user=True)
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ def validate_ldap_filter(value, with_user=False):
|
|||||||
dn_value = value.replace('%(user)s', 'USER')
|
dn_value = value.replace('%(user)s', 'USER')
|
||||||
else:
|
else:
|
||||||
dn_value = value
|
dn_value = value
|
||||||
if re.match(r'^\([A-Za-z0-9]+?=[^()]+?\)$', dn_value):
|
if re.match(r'^\([A-Za-z0-9-]+?=[^()]+?\)$', dn_value):
|
||||||
return
|
return
|
||||||
elif re.match(r'^\([&|!]\(.*?\)\)$', dn_value):
|
elif re.match(r'^\([&|!]\(.*?\)\)$', dn_value):
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user