Closed Bug 302096 Opened 19 years ago Closed 19 years ago

Thunderbird does not have AutoConfig LDAP support enabled

Categories

(Thunderbird :: Build Config, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED
Thunderbird1.1

People

(Reporter: gregg, Assigned: mscott)

Details

Attachments

(3 files)

User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2) Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050517 Firefox/1.0.4 (Debian package 1.0.4-2) Thunderbird does not have AutoConfig (Mission Control) LDAP support compiled into the standard builds. This is a critical feature necessary for large-scale centrally managed Thunderbird deployments. As it allows us to preconfigure and deploy Thunderbird settings for thousands of users, while utilizing their existing LDAP values. In FireFox, to enable LDAP AutoConfig it's necessary to remove --disable-ldap from .mozconfig. I dont know what the equivalent setting is for Thunderbird - still researching this... Is it at all possible to see this support in Thunderbird 1.1? As there are a number of large-scale deployemnts taking place in educational and corporate enviroments which would greatly benefit for such a addition. If LDAP AutoConfig support is not in TB1.1 then some educational enviroments, already preping their system builds for the coming school year, appear be holding back TB1.1 deployments. See the discussion in Bug 225288 for further information. Reproducible: Always Steps to Reproduce:
1.1 builds with ldap by default and autoconfig. So if it works in firefox it should work here too. I'm not sure what files are specific to ldap auto config as opposed to regular auto config. Maybe we just aren't packaging up a file for that.
Maybe you can help point out what we're doing wrong then. From bug 225288 comment #19: I also confirm that latest nightly build doesn't support ldap TB 1.0+ (20050721) -> yesterday build . I also get the error while calling getLdapAttributes() from prefcall.js, error : Netscape.cfg/AutoConfig failed. Please contact your System Administator Error: getLDAPAttibutes failed: [Exception... "Component returned failure code: 0x80570018 (NS_ERROR_XPC_BAD_IID)[nsIJSCID.createInstance]" nsresult: "0x80570018 (NS_ERROR_XPC_BAD_IID)" Location: "JS frame :: file:///c:\Program Files\Mozilla Thunderbird\defaults\autoconfig\prefcalls.js :: getLDAPAttributes :: line 176" data:no] however, other autoconf settings do work , but we cannot set pref from ldap values which is very anoying for autoconfiguring email preferences ... :-( I also tested the latest stable TB 1.0.6 (20050716), I was positively surprised to see the presence of the autoconfig sub-directory, which mean that is is now ship with --enable-extensions=pref , good !, unfortunatly, I don't know why but TB 1.0.6 complety ingore autoconfig, although I did put in pref/all.js : //autoconfig pref("general.config.obscure_value", 0); // for MCD .cfg files pref('general.config.filename', 'thunderbird.cfg'); // for MCD .cfg files and put thunderbird.cfg in the root directory of TB, nothing is read :-( . I'am afraid to be forced to use again mozilla (probably 1.7.10 for which everything works fine) instead of firefox/thinderbird for our next september academic year . Thanks to let me know if there's a possible solution before .
as I said before, 1.0.x does not support auto config by default. 1.0.x releases are security releases only and do not contain our new feature work at all This is a new feature in the upcoming 1.1 release....See the bug you are cc'ed on which was marked FIXED for 1.1 to enable this.
My apologies, maybe I'm misunderstanding something, but I'm testing with TB 1.1alpha2 (1.0+ V20050712: http://ftp.mozilla.org/pub/mozilla.org/thunderbird/releases/1.1a2/win32/en-US/Thunderbird%20Setup%201.1a2.exe) and am still encountering the LDAP AutoConfig error noted in 225288 and in comment #2 here. I thought 1.1a2 would closely reflect what to expect in 1.1final, is that not the case and/or should I be testing LDAP AutoConfig support elsewhere?
You said: "I also tested the latest stable TB 1.0.6 (20050716), ... unfortunatly, I don't know why but TB 1.0.6 complety ingore autoconfig, although I did put in pref/all.js : //autoconfig pref("general.config This is not on in 1.0.6, it is on in 1.1 builds.
Alright, I see where you get getting the 1.0.6 assumption. Though as indicated by the text "...From bug 225288 comment #19:..." that was actually a copy/paste from someone else's posting to Bug 225288. I apologize for that confusion, I'll be more clear when copy/pasting in the future. In any event, at this point in time I'm testing with TB 1.1 alpha2 and am still encountering the LDAP AutoConfig error. Is the 1.1alpha2 binary the correct place to check for 1.1final support, or is there somewhere else I should be downloading a Thunderbird build to test TB 1.1 functionality?
Sorry Greg, I misread your c+p as you saying because auto config was not part of 1.0.6 you were going back to moz 1.7.10. Looking.
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
The JS exception posted in this bug report seems to be complaining about a bogus interface ID. This tells me either we aren't packaging up an xpt file correctly or there's something wrong with the interface declaration for nsILDAPSyncQuery which is the interface that seems to generate the bad interface ID exception. I did notice that the interface ID for nsILDAPSyncQuery is identical to the underlying class ID. That doesn't seem right. But then it should fail in Firefox (if Fx was built with ldap) too.
Attachment #190496 - Flags: superreview?(bienvenu)
Target Milestone: --- → Thunderbird1.1
Comment on attachment 190496 [details] [diff] [review] [checked in]make CLID different from IID for nsILdapSyncQuery maybe that would explain it - I'm pretty sure we're building with ldap turned on...
Attachment #190496 - Flags: superreview?(bienvenu) → superreview+
Attachment #190496 - Attachment description: make CLID different from IID for nsILdapSyncQuery → [checked in]make CLID different from IID for nsILdapSyncQuery
Gregg, can you give tomorrow's 7/27 builds a spin to see if this fixed the problem or not? Check here tomorrow afternoon: http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-trunk/ and make sure the server time stamp says 7/27 on it. thanks
Greg, windows and linux builds are now out. Can you tell us if things are working now?
Attached image Error Dialog Box
Looks like I'm getting the same error. This occured even after deleting both below folders and reconfiguring for autoconfig again: c:\program files\Mozilla Thunderbird\ c:\documents and settings\...\Thunderbird
shucks, and help / about definetly says 20050727?
Yep: 1.0+ (20050727) If it helps at all, here's whats going into my autoconfig: //BEGIN CE prefs //put everything in a try/catch try { if(getenv("USER") != "") { // NIX settings var env_user = getenv("USER"); var env_home = getenv("HOME"); } else { // Windows settings var env_ldapcn = getenv("LDAPCN"); } function processLDAPValues (values) { displayError("Getting somehwere", e); if(values) { // set the global var with the values returned from the LDAP query var ldap_values = values; var ldapUID = getLDAPValue ( values ,"uid" ); var ldapNAME = getLDAPValue ( values ,"cn" ); var ldapMAIL = getLDAPValue ( values ,"mail" ); displayError("" + ldapUID, e); lockPref("mail.identity.id1.draft_folder", "imap://ldapUID@imap.domain.com/Drafts"); lockPref("mail.identity.id1.fcc_folder", "imap://ldapUID@imap.domain.com/Sent"); lockPref("mail.identity.id1.fullName", "ldapNAME "); lockPref("mail.identity.id1.stationery_folder", "imap://ldapUID@imap.domain.com/Templates"); lockPref("mail.identity.id1.useremail", "ldapMAIL"); lockPref("mail.server.server2.name", "ldapMAIL"); lockPref("mail.server.server2.spamActionTargetAccount", "imap://ldapUID@imap.domain.com"); lockPref("mail.server.server2.userName", "ldapUID"); lockPref("mail.smtpserver.smtp1.username", "ldapUID"); lockPref("print.print_headerleft", "ldapNAME"); } } // Call Ldap servers to get Ldap Attributes, this will call processLDAPValues getLDAPAttributes("ldap.domain.com","cn=Gregg Berkholtz,ou=PDX,ou=People,dc=domain,dc=com","objectClass=person","uid,cn,mail"); ); } catch(e) { displayError("lockedPref", e); }
Hmm, I'm starting to think this must be a packaging error but i'm not sure what we are missing. I did a JS eval on the JS statements which are throwing the exception about a bad interface ID and they all ran fine: const nsILDAPURL = Components.interfaces.nsILDAPURL; const LDAPURLContractID = "@mozilla.org/network/ldap-url;1"; const nsILDAPSyncQuery = Components.interfaces.nsILDAPSyncQuery; const LDAPSyncQueryContractID = "@mozilla.org/ldapsyncquery;1"; var url = Components.classes[LDAPURLContractID].createInstance(nsILDAPURL); url.spec = "ldap://" + 'foo' + "/" + 'base' + "?" + 'attrib' + "?sub?" + 'filter*'; var ldapquery = Components.classes[LDAPSyncQueryContractID] .createInstance(nsILDAPSyncQuery); that was in a debug build of course.
Attached patch the fixSplinter Review
duh this should fix it
marking fixed. try again with the 7/28 builds Greg. I suspect you'll be good to go now.
Status: ASSIGNED → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
I've just tested today with http://ftp.mozilla.org/pub/mozilla.org/thunderbird/nightly/latest-trunk/ -> 20050727 (i don't see a biuil for 28072005 ! ) I confirm that it still doesn't work . Autoconfig alone works fine , but as soon as I use ldap queries (getLDAPAttributes) we get the famous "...getLDAPAttributes :: line 176" data:no]" error message . I'am also looking forward for the solution . If I remember well, I think it worked fine on linux when I recompiled firefox (1.0.2) without --desable-ldap, but I don't see the equivalent for thunderbird, and I still don't know how to check how thunderbird was compiled (on firefox there's an about:buildconfig ) . Thanks .
Slick! LDAP AutoConfig in TB 1.0+ (20050728) works great now! Thanks! FYI, I had to remove the quotes around the variables. For example: lockPref("mail.server.server2.userName", "ldapUID" ); was changed to lockPref("mail.server.server2.userName", ldapUID ); Though any idea how to deal with strings such as: lockPref("mail.server.server2.spamActionTargetAccount", "imap://ldapUID@imap.yoshida.com");
Status: RESOLVED → VERIFIED
Nevermind - I answered my own question. The string should read: lockPref("mail.server.server2.spamActionTargetAccount", "imap://" + ldapUID + "@imap.yoshida.com"); Thanks again for the quick responses. I assume we can plan for this support in TB 1.1final?
great, glad it's working now.
Good news :-), I confirme that autoconfig + ldapcalls (getLDAPAttributes) does work in thunderbird 1.5.0.2, both on windows XP and linux fedora core 5 (package thunderbird-1.5-6). thanks for maintaining that enterprise deployement feature available in futur releases . however check https://bugzilla.mozilla.org/show_bug.cgi?id=295329 to know how for sure those options are available ?
Just tested in thunderbird 2 beta 2, still works fine, thanks ! see updated doc on: http://developer.mozilla.org/en/docs/MCD%2C_Mission_Control_Desktop_AKA_AutoConfig#Thunderbird_2.x_beta_2
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: