diff --git a/defaults/main.yml b/defaults/main.yml index 0b9cdb4..3c3c3d2 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -162,3 +162,15 @@ sympa_soap_nginx_snippet: | sympa_install_odbc_driver: false sympa_rsyslog_unix_user: "{{ sympa_unix_user }}" + +sympa_config_ldap_enabled: true +sympa_config_ldap: + host: "192.168.56.5" + base_dn: "dc=realm,dc=example,dc=com" + bind_dn: uid=bin,cn=sysaccounts,cn=etc,dc=realm,dc=example,dc=com + bind_password: password + email_attribute: mail + use_tls: ldaps + get_dn_by_uid_filter: (uid=[sender]) + get_dn_by_email_filter: (mail=[sender]) + authentication_info_url: https://portal.example.de diff --git a/osvars/Alpine.yml b/osvars/Alpine.yml index 7dbfb48..cb4b9a9 100644 --- a/osvars/Alpine.yml +++ b/osvars/Alpine.yml @@ -10,3 +10,4 @@ sympa_gettext_package: gettext-dev sympa_openssldev_package: libressl-dev sympa_expatdev_package: expat-dev sympa_zlibdev_package: zlib-dev +sympa_ldap_package: perl-ldap diff --git a/osvars/Archlinux.yml b/osvars/Archlinux.yml index 2d7c310..2663284 100644 --- a/osvars/Archlinux.yml +++ b/osvars/Archlinux.yml @@ -11,3 +11,4 @@ sympa_openssldev_package: openssl sympa_expatdev_package: expat sympa_xml2dev_package: libxml2 sympa_zlibdev_package: zlib +sympa_ldap_package: perl-ldap diff --git a/osvars/Debian.yml b/osvars/Debian.yml index 7eb3bad..90dbb25 100644 --- a/osvars/Debian.yml +++ b/osvars/Debian.yml @@ -10,6 +10,7 @@ sympa_gettext_package: gettext sympa_openssldev_package: libssl-dev sympa_expatdev_package: libexpat1-dev sympa_xml2dev_package: libxml2-dev +sympa_ldap_package: libnet-ldap-perl sympa_zlibdev_package: zlib1g-dev sympa_package_command: /usr/bin/sympa diff --git a/osvars/FreeBSD.yml b/osvars/FreeBSD.yml index 0fd668e..6620eed 100644 --- a/osvars/FreeBSD.yml +++ b/osvars/FreeBSD.yml @@ -10,3 +10,4 @@ sympa_cpanm_program: /usr/local/bin/cpanm sympa_make_package: gmake sympa_expatdev_package: expat sympa_zlibdev_package: zlib +sympa_ldap_package: p5-perl-ldap diff --git a/osvars/Gentoo.yml b/osvars/Gentoo.yml index 510bf36..01f3941 100644 --- a/osvars/Gentoo.yml +++ b/osvars/Gentoo.yml @@ -10,3 +10,4 @@ sympa_cpanm_package: dev-perl/App-cpanminus sympa_openssldev_package: libressl-dev sympa_expatdev_package: expat-dev sympa_zlibdev_package: zlib-dev +sympa_ldap_package: dev-perl/perl-ldap diff --git a/osvars/RedHat.yml b/osvars/RedHat.yml index 55f21d7..943d0f0 100644 --- a/osvars/RedHat.yml +++ b/osvars/RedHat.yml @@ -11,6 +11,7 @@ sympa_openssldev_package: openssl-devel sympa_expatdev_package: expat-devel sympa_xml2dev_package: libxml2-devel sympa_zlibdev_package: zlib-devel +sympa_ldap_package: perl-LDAP sympa_package_command: /usr/sbin/sympa.pl sympa_package_bin_directory: /usr/sbin diff --git a/osvars/SLES.yml b/osvars/SLES.yml index cbe528a..dac3d2a 100644 --- a/osvars/SLES.yml +++ b/osvars/SLES.yml @@ -7,3 +7,4 @@ sympa_web_unix_user: nginx sympa_cpanm_package: perl-App-cpanminus sympa_openssldev_package: libopenssl-devel +sympa_ldap_package: perl-ldap diff --git a/osvars/Suse.yml b/osvars/Suse.yml index 8aaf7ff..4d05a0f 100644 --- a/osvars/Suse.yml +++ b/osvars/Suse.yml @@ -9,3 +9,4 @@ sympa_cpanm_package: perl-App-cpanminus sympa_openssldev_package: libopenssl-devel sympa_expatdev_package: libexpat-devel sympa_zlibdev_package: zlib-devel +sympa_ldap_package: perl-ldap diff --git a/osvars/Ubuntu.yml b/osvars/Ubuntu.yml index 20e5f43..b69b1b6 100644 --- a/osvars/Ubuntu.yml +++ b/osvars/Ubuntu.yml @@ -9,6 +9,7 @@ sympa_cpanm_package: cpanminus sympa_openssldev_package: libssl-dev sympa_expatdev_package: libexpat1-dev sympa_xml2dev_package: libxml2-dev +sympa_ldap_package: libnet-ldap-perl sympa_zlibdev_package: zlib1g-dev sympa_rsyslog_unix_user: syslog diff --git a/tasks/perl-modules.yml b/tasks/perl-modules.yml index d8b9ffb..72afa1c 100644 --- a/tasks/perl-modules.yml +++ b/tasks/perl-modules.yml @@ -23,6 +23,10 @@ package: name: "{{ sympa_xml2dev_package }}" +- name: Install LDAP library + package: + name: "{{ sympa_ldap_package }}" + - name: Workaround for XML::LibXML installation problem on CentOS 7 package: name: perl-XML-LibXML diff --git a/templates/auth.conf.j2 b/templates/auth.conf.j2 index 66d413c..6005622 100644 --- a/templates/auth.conf.j2 +++ b/templates/auth.conf.j2 @@ -14,3 +14,21 @@ user_table regexp .* {% endif %} + +# LDAP +{% if sympa_config_ldap is defined %} +ldap + host {{ sympa_config_ldap.host}} + timeout {{ sympa_config_ldap.timeout | default('20') }} + bind_dn {{ sympa_config_ldap.bind_dn }} + bind_password {{ sympa_config_ldap.bind_password }} + suffix {{ sympa_config_ldap.base_dn }} + get_dn_by_uid_filter {{ sympa_config_ldap.get_dn_by_uid_filter }} + get_dn_by_email_filter {{ sympa_config_ldap.get_dn_by_email_filter }} + alternative_email_attribute {{ sympa_config_ldap.alternative_email_attribute | default('mail') }} + email_attribute {{ sympa_config_ldap.email_attribute | default('mail') }} + scope {{ sympa_config_ldap.scope | default('sub') }} + authentication_info_url {{ sympa_config_ldap.authentication_info_url }} + use_tls {{ sympa_config_ldap.use_tls }} + ca_verify {{ sympa_config_ldap.ca_verify | default('none') }} +{% endif %} \ No newline at end of file