diff --git a/README.md b/README.md index 2791673..59a2954 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ # thunderbird-mcd ###### Thunderbird Mission Critical Desktop -Provides automated configuration for Thunderbird via PHP + OpenLDAP. +Provides automated configuration for Thunderbird via PHP + LDAP server. diff --git a/ldap.cfg.example b/ldap.cfg.example index 0aabb4b..68b9c34 100644 --- a/ldap.cfg.example +++ b/ldap.cfg.example @@ -1,20 +1,24 @@ diff --git a/ldap.settings.php b/ldap.settings.php index a41ced1..1e1639a 100644 --- a/ldap.settings.php +++ b/ldap.settings.php @@ -46,12 +46,13 @@ try { lockPref("mail.identity.id1.fcc_folder_picker_mode", 0); lockPref("mail.identity.id1.stationery_folder", "imap://$ldap_mail_replaced@$mail_domain/Templates"); lockPref("mail.identity.id1.reply_on_top", 1); - lockPref("ldap_2.servers._nonascii.auth.dn", ""); - lockPref("ldap_2.servers._nonascii.auth.saslmech", ""); - lockPref("ldap_2.servers._nonascii.description", "$ldap_nonascii_desc"); - lockPref("ldap_2.servers._nonascii.filename", "ldap.mab"); - lockPref("ldap_2.servers._nonascii.maxHits", 50); - lockPref("ldap_2.servers._nonascii.uri", "$ldap_nonascii_uri"); + lockPref("ldap_2.servers.$mail_ldap_description.auth.dn", "$mail_ldap_dn"); + lockPref("ldap_2.servers.$mail_ldap_description.auth.saslmech", ""); + lockPref("ldap_2.servers.$mail_ldap_description.description", "$mail_ldap_description"); + lockPref("ldap_2.servers.$mail_ldap_description.filename", "ldap.mab"); + lockPref("ldap_2.servers.$mail_ldap_description.maxHits", $mail_ldap_max_hits); + lockPref("ldap_2.servers.$mail_ldap_description.uri", "$mail_ldap_uri"); + lockPref("ldap_2.autoComplete.directoryServer", "ldap_2.servers.$mail_ldap_description"); lockPref("ldap_2.autoComplete.directoryServer", "ldap_2.servers._nonascii"); lockPref("ldap_2.autoComplete.useDirectory", true); lockPref("toolkit.telemetry.enabled", true); @@ -74,11 +75,6 @@ try { pref("extensions.sieve.account.$ldap_mail_replaced@$mail_domain.port.type", 0); pref("extensions.sieve.account.$ldap_mail_replaced@$mail_domain.proxy.type", 1); pref("extensions.sieve.account.$ldap_mail_replaced@$mail_domain.sasl.forced", false); - defaultPref("extensions.shrunked.default.maxHeight", 1024); - defaultPref("extensions.shrunked.default.maxWidth", 1280); - defaultPref("extensions.shrunked.default.quality", 85); - defaultPref("quicktext.defaultImport", "$quicktext_default_import"); - defaultPref("quicktext.firstTime", false); defaultPref("messenger.save.dir", "$messenger_save_dir"); $caldav_settings lockPref("mail.identity.id1.htmlSigFormat", true); diff --git a/ldap.vars.php b/ldap.vars.php index 1c5aaf7..060182e 100644 --- a/ldap.vars.php +++ b/ldap.vars.php @@ -7,5 +7,5 @@ $ldap_mail = ($info[0]["mail"][0]); $ldap_givenname_exploded = explode(" ",$ldap_givenname); $ldap_givenname_exploded = $ldap_givenname_exploded[0]; $ldap_mail_replaced = preg_replace('+@+','%40', $ldap_mail); -$ldap_entryuuid = $info[0]["entryuuid"][0]; +$ldap_entryuuid = ($info[0][$ldap_map_entryuuid][0]); ?> diff --git a/thunderbird.php b/thunderbird.php index a091c5d..c7bc442 100644 --- a/thunderbird.php +++ b/thunderbird.php @@ -11,10 +11,15 @@ if(empty($_GET['user'])) { exit('Error: user not present'); } -$link = ldap_connect($ldap_host, $ldap_port); +=$ldap_uri = "$ldap_scheme://$ldap_host:$ldap_port"; +$link = ldap_connect($ldap_uri) or die("Can't parse LDAP uri"); ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, 3); -$ldap_bind = ldap_bind($link, $ldap_user, $ldap_password); +if($ldap_start_tls == true) { + $tls_link = ldap_start_tls($link) or die("LDAP START TLS failed"); +} + +$ldap_bind = ldap_bind($link, $ldap_user, $ldap_password); if(!$ldap_bind) { $ldap_errno = ldap_errno($link); $ldap_error = ldap_err2str($ldap_errno); @@ -47,8 +52,8 @@ if($im_enabled == true) { } } -if (isset($info[0]["homepostaladdress"])) { - $ldap_support_key = array_search($info[0]["homepostaladdress"][0], $siga_support_address_array); +if (isset($info[0][$ldap_map_city])) { + $ldap_support_key = array_search($info[0][$ldap_map_city][0], $siga_support_address_array); if (isset($ldap_support_key)) { $ldap_support_mail = "$siga_support_address_prefix$ldap_support_key$siga_support_address_postfix" . "@" . "$siga_support_address_domain"; $ldap_support_mail = "
" . $ldap_support_mail . "";