Compare Revisions

MCD, Mission Control Desktop, AKA AutoConfig

Revision 57876:

Revision 57876 by Sheppy on

Revision 287348:

Revision 287348 by konus on

Title:
MCD, Mission Control Desktop, AKA AutoConfig
MCD, Mission Control Desktop, AKA AutoConfig
Slug:
MCD,_Mission_Control_Desktop_AKA_AutoConfig
MCD,_Mission_Control_Desktop_AKA_AutoConfig
Tags:
Administration, enterprise, "Configuration management"
Administration, enterprise, "Configuration management"
Content:

Revision 57876
Revision 287348
n10    <h3>n10    <h3 id="Abstract">
n19    <h3 name="Situation">n19    <h3 id="Situation" name="Situation">
n25    <h3 name="Objective">n25    <h3 id="Objective" name="Objective">
n34    <h3 name="Central_Configuration_File">n34    <h3 id="Central_Configuration_File" name="Central_Configurati
 >on_File">
n40    <h4 name="File_Location">n40    <h4 id="File_Location" name="File_Location">
n61    <h4 name="File_API">n61    <h4 id="File_API" name="File_API">
n95    <h4 name="Configure_AutoConfig">n95    <h4 id="Configure_AutoConfig" name="Configure_AutoConfig">
n115    <h4 name="File_Encoding">n115    <h4 id="File_Encoding" name="File_Encoding">
n124    <h4 name="AutoConfig_Directives">n124    <h4 id="AutoConfig_Directives" name="AutoConfig_Directives">
n130    <h5 name="thunderbird.cfg">n130    <h5 id="thunderbird.cfg" name="thunderbird.cfg">
131      thunderbird.cfg131      thunderbird.cfg (Version 1)
n240    <h5 name="Test_AutoConfig">n240    <h5 id="thunderbird.cfg" name="thunderbird.cfg">
241      thunderbird.cfg (Version 2 with AD)
242    </h5>
243    <p>
244      Using Thunderbird 9.0.1 and try to use a Active Directory (
 >Windows Server 2008) as LDAP-Source did not work with Version 1. 
 >Here's my own version.
245    </p>
246    <pre>
247//Note: for accessing the Active Directory of Windows Server late
 >r than 2000
248//it is necessary to allow anonymous read access. Please see
249//(German) http://interop.blog.de/2010/02/13/kapitel-1-ldap-anfra
 >gen-linux-ad-8001564/ 
250//or search the net how to do it. If it is not possible to give a
 >ccess to anonymous,
251//you have to enable this function first, please see
252//http://technet.microsoft.com/de-de/library/cc816788(WS.10).aspx
253//
254//
255//put everything in a try/catch
256try {
257 
258var userInfo = new Object();  // This will hold LDAP results
259 
260userInfo.envUser = getenv("USERNAME");   // USERNAME
261userInfo.envHome = getenv("HOME");       // User home directory
262 
263var ldapHost = "example.com";
264var ldapBase = "dc=company,dc=local";
265 
266if( userInfo.envUser )
267{  var ldapFilter = "sAMAccountName=" + userInfo.envUser;  }
268else
269{  throw("Couldn't get UID from the environment");  }
270 
271// LDAP attributes to retrieve from the server
272var ldapAttrs = new Array( "cn", "mail", "sAMAccountName" ); // a
 >dd more attributes here, if needed)
273 
274// Define how to process LDAP results before we make the call
275function processLDAPValues(queryResults)
276{  if( queryResults )
277   {  // Build the userInfo object for later use
278      for( var attr in ldapAttrs )
279      {  userInfo[ ldapAttrs[attr] ] = getLDAPValue( queryResults
 >, ldapAttrs[attr] );  }
280   } else
281   {  throw( "No LDAP results" );  }
282}
283 
284// Call upon LDAP for the values in ldapAttrs array, 
285// Uses the previous processLDAPValues()
286getLDAPAttributes( ldapHost, ldapBase, ldapFilter, ldapAttrs.join
 >(",") );
287 
288// create account
289// see also http://blog.deanandadie.net/2010/06/easy-thunderbird-
 >account-management-using-mcd/
290// Identity
291defaultPref("mail.identity.id1.fullName", userInfo.cn );
292defaultPref("mail.identity.id1.smtpServer", "smtp1" );
293defaultPref("mail.identity.id1.useremail", userInfo.mail );
294 
295// IMAP server settings
296defaultPref("mail.server.server1.hostname", "myImap.server.com" )
 >;
297defaultPref("mail.server.server1.name", userInfo.mail );
298defaultPref("mail.server.server1.port", 993 );
299defaultPref("mail.server.server1.socketType", 3 );
300defaultPref("mail.server.server1.type", "imap" );
301defaultPref("mail.server.server1.userName", userInfo.mail );
302 
303// SMTP server settings
304defaultPref("mail.smtpserver.smtp1.authMethod", 3 );
305defaultPref("mail.smtpserver.smtp1.description", "my Company Name
 >" );
306defaultPref("mail.smtpserver.smtp1.hostname", "mySmtp.server.com"
 > );
307defaultPref("mail.smtpserver.smtp1.port", 465 );
308defaultPref("mail.smtpserver.smtp1.try_ssl", 3 );
309defaultPref("mail.smtpserver.smtp1.username", userInfo.mail );
310 
311// Glue it all together
312defaultPref("mail.account.account1.identities", "id1" );
313defaultPref("mail.account.account1.server", "server1" );
314defaultPref("mail.accountmanager.accounts", "account1" );
315defaultPref("mail.accountmanager.defaultaccount", "account1" );
316defaultPref("mail.smtp.defaultserver", "smtp1" );
317defaultPref("mail.smtpservers", "smtp1" );
318 
319// Close the try, and call the catch()
320} catch(e) {
321  displayError("lockedPref", e);
322}
323 
324</pre>
325    <h5 id="Test_AutoConfig" name="Test_AutoConfig">
n243    <h6 name="Debug">n328    <h6 id="Debug" name="Debug">
n261    <h6 name="Clean">n346    <h6 id="Clean" name="Clean">
n273    <h6 name="Start_It">n358    <h6 id="Start_It" name="Start_It">
n285    <h3 name="Thunderbird">n370    <h3 id="Thunderbird" name="Thunderbird">
n288    <h4 name="Support_of_AutoConfig_and_LDAP_Calls">n373    <h4 id="Support_of_AutoConfig_and_LDAP_Calls" name="Support_o
 >f_AutoConfig_and_LDAP_Calls">
n315    <h5 name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1n400    <h5 id="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5
>.5.x">>.x" name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5.x
 >">
n322    <h5 name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1n407    <h5 id="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5
>.5.x">>.x" name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5.x
 >">
n336    <h5 name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1n421    <h5 id="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5
>.5.x">>.x" name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5.x
 >">
n342    <h5 name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1n427    <h5 id="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5
>.5.x">>.x" name="AutoConfig_Option_and_LDAP_Support_in_Thunderbird_1.5.x
 >">
n346      Fortunately, AutoConfig is now part of Thunderbird default n431      Fortunately, AutoConfig is now part of Thunderbird default 
>packages. <code>MOZ_LDAP_XPCOM=1</code> and <code>MOZ_EXTENSIONS_>packages. <code>MOZ_LDAP_XPCOM=1</code> and <code>MOZ_EXTENSIONS_
>DEFAULT="wallet spellcheck xmlextras pref webservices universalch>DEFAULT="wallet spellcheck xmlextras pref webservices universalch
>arset auth"</code> are now present in the default <code>configure>arset auth"</code> are now present in the default <code>configure
></code> script. See {{ Bug("295329") }} for details.></code> script. See {{ Bug(295329) }} for details.
n348    <h5 name="Add_the_AutoConfig_Option_for_Old_Thunderbird_1.0.xn433    <h5 id="Add_the_AutoConfig_Option_for_Old_Thunderbird_1.0.x" 
>">>name="Add_the_AutoConfig_Option_for_Old_Thunderbird_1.0.x">
n379    <h4 name="Bugs_Reports_Related">n464    <h4 id="Bugs_Reports_Related" name="Bugs_Reports_Related">
n385    <h5 name="Unwanted_White_Space_Reappeared">n470    <h5 id="Unwanted_White_Space_Reappeared" name="Unwanted_White
 >_Space_Reappeared">
n389      Unfortunately the 'blank space bug' has reappeared in Thundn474      Unfortunately the 'blank space bug' has reappeared in Thund
>erbird 1.0.2. See {{ Bug("229271") }}. Although it was corrected >erbird 1.0.2. See {{ Bug(229271) }}. Although it was corrected in
>in Mozilla mainstream: <code>mozilla/extensions/pref/autoconfig/s> Mozilla mainstream: <code>mozilla/extensions/pref/autoconfig/src
>rc/nsLDAPSyncQuery.cpp 1.7.2.1</code> by late 2004, it is still p>/nsLDAPSyncQuery.cpp 1.7.2.1</code> by late 2004, it is still pre
>resent in Thunderbird 1.0.2 at least&nbsp;:-(, so I applied the w>sent in Thunderbird 1.0.2 at least&nbsp;:-(, so I applied the wor
>orkaround I proposed in that bug report (<code>start_pos += 1;</c>karound I proposed in that bug report (<code>start_pos += 1;</cod
>ode>).>e>).
n391    <h4 name="Thunderbird_2.x_beta_2">n476    <h4 id="Thunderbird_2.x_beta_2" name="Thunderbird_2.x_beta_2"
 >>
n412    <h4>n497    <h4 id="Debug_with_displayError()">
n419      Here's the result, I used the displayError() method ( not tn504      Here's the result, I used the displayError() method ( not t
>he best way&nbsp;:-( see {{ Bug("206294") }} ) to show environmen>he best way&nbsp;:-( see {{ Bug(206294) }} ) to show environment 
>t and ldap variables in order to check that it worked fine. Just >and ldap variables in order to check that it worked fine. Just se
>setting MOZILLA_DEBUG=1 (see js code in thunderbird.cfg) allow th>tting MOZILLA_DEBUG=1 (see js code in thunderbird.cfg) allow that
>at message to appear , it's very useful in debuging context ...> message to appear , it's very useful in debuging context ...
n447    <h3 name="Firefox">n532    <h3 id="Firefox" name="Firefox">
n453    <h4 name="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages"n538    <h4 id="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages" n
>>>ame="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages">
n576    <h4 name="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages"n661    <h4 id="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages" n
>>>ame="AutoConfig_.28pref.29_and_LDAP_Support_in_Packages">
n579    <h5 name="Add_LDAP_Support_in_Firefox_1.5">n664    <h5 id="Add_LDAP_Support_in_Firefox_1.5" name="Add_LDAP_Suppo
 >rt_in_Firefox_1.5">
n583      A least from Firefox 1.5, AutoConfig is compiled by defaultn668      A least from Firefox 1.5, AutoConfig is compiled by default
> (cf. browser, <code>MOZ_EXTENSIONS_DEFAULT="pref..."</code>) but> (cf. browser, <code>MOZ_EXTENSIONS_DEFAULT="pref..."</code>) but
> not LDAP (<code>MOZ_LDAP_XPCOM=1</code>). You need to recompile > not LDAP (<code>MOZ_LDAP_XPCOM=1</code>). You need to recompile 
>the package to get it, cf. {{ Bug("295329") }}.>the package to get it, cf. {{ Bug(295329) }}.
n585    <h5 name="Add_AutoConfig_and_LDAP_Support_in_Firefox_1.0.x">n670    <h5 id="Add_AutoConfig_and_LDAP_Support_in_Firefox_1.0.x" nam
 >e="Add_AutoConfig_and_LDAP_Support_in_Firefox_1.0.x">
n606    <h4 name="all.js">n691    <h4 id="all.js" name="all.js">
n616    <h4 name="firefox.cfg">n701    <h4 id="firefox.cfg" name="firefox.cfg">
n668    <h4 name="Debug_2">n753    <h4 id="Debug_2" name="Debug_2">
n678      That's a popup titled as "error", but it's just a debug toon763      That's a popup titled as "error", but it's just a debug too
>l for me as I didn't find any other way to popup information. cf.>l for me as I didn't find any other way to popup information. cf.
> {{ Bug("206294") }}:> {{ Bug(206294) }}:
n700    <h4 name="Firefox_2.x">n785    <h4 id="Firefox_2.x" name="Firefox_2.x">
n704      Recently (2007/03/20), I've tested autoconfig support in Fin789      Recently (2007/03/20), I've tested autoconfig support in Fi
>refox 2.0.0.2 on a Linux fedora. Autoconfig works fine, but ldap >refox 2.0.0.2 on a Linux fedora. Autoconfig works fine, but ldap 
>calls are still unavailable in Firefox (as it was the case in Fir>calls are still unavailable in Firefox (as it was the case in Fir
>efox 1.x, but fortunatly not the case for Thunderbird&nbsp;!). Th>efox 1.x, but fortunatly not the case for Thunderbird&nbsp;!). Th
>at "bug" report is then still up to date!: {{ Bug("295329") }}>at "bug" report is then still up to date!: {{ Bug(295329) }}
n717    <h3 name="References">n802    <h3 id="References" name="References">
n720    <h4 name="Other_Documents_About_AutoConfig">n805    <h4 id="Other_Documents_About_AutoConfig" name="Other_Documen
 >ts_About_AutoConfig">
n741    <h4 name="Related_Bugs">n826    <h4 id="Related_Bugs" name="Related_Bugs">
n745      {{ Bug("295329") }}<br>n830      {{ Bug(295329) }}<br>
746      {{ Bug("222973") }}<br>831      {{ Bug(222973) }}<br>
747      {{ Bug("225288") }}<br>832      {{ Bug(225288) }}<br>
748      {{ Bug("178685") }}<br>833      {{ Bug(178685) }}<br>
749      {{ Bug("272970") }}<br>834      {{ Bug(272970) }}<br>
750      {{ Bug("206294") }}<br>835      {{ Bug(206294) }}<br>
751      {{ Bug("302096") }}836      {{ Bug(302096) }}
n765    <h3 name="Old_Mozilla_1.x.2C_Possibly_Netscape_6.2F7">n850    <h3 id="Old_Mozilla_1.x.2C_Possibly_Netscape_6.2F7" name="Old
 >_Mozilla_1.x.2C_Possibly_Netscape_6.2F7">
n772      based on&nbsp;{{ Bug("295329") }} , since TB&nbsp;3.0.X autn857      based on&nbsp;{{ Bug(295329) }} , since TB&nbsp;3.0.X autoc
>oconfig doesn't work anymore.>onfig doesn't work anymore.
n777    <h4>n862    <h4 id="Build">
n780    <h5>n865    <h5 id="install_mercurial_tools">
n789    <h5>n874    <h5 id="check_merge_tools_in">
n795    <h5>n880    <h5 id=".C2.A0get_the_source_comm-central">
n840    <h4>n925    <h4 id=".C2.A0Build_Thunderbird">
n843    <h5>n928    <h5 id="prepare_compile_options">
n867    <h5>n952    <h5 id="Build">
n889    <h5>n974    <h5 id="Install">
n927    <h3 name="Old_Mozilla_1.x.2C_Possibly_Netscape_6.2F7">n1012    <h3 id="Old_Mozilla_1.x.2C_Possibly_Netscape_6.2F7" name="Old
 >_Mozilla_1.x.2C_Possibly_Netscape_6.2F7">
n933    <h4 name="Changes">n1018    <h4 id="Changes" name="Changes">
n939    <h4 name="Mozilla_New_Features_in_Regard_to_Netscape">n1024    <h4 id="Mozilla_New_Features_in_Regard_to_Netscape" name="Moz
 >illa_New_Features_in_Regard_to_Netscape">
n948    <h4 name="Locating_The_File_on_a_Web_Server">n1033    <h4 id="Locating_The_File_on_a_Web_Server" name="Locating_The
 >_File_on_a_Web_Server">
n952      That was the case in the Netscape 4.x description below, hon1037      That was the case in the Netscape 4.x description below, ho
>wever, at first it was a hard thing to do in Mozilla, cf. {{ Bug(>wever, at first it was a hard thing to do in Mozilla, cf. {{ Bug(
>"206294") }}. So now you only need to create a small encoded <cod>206294) }}. So now you only need to create a small encoded <code>
>e>cfg</code> file making a call to a web located CGI script which>cfg</code> file making a call to a web located CGI script which w
> will actually generate the JavaScript configuration directives t>ill actually generate the JavaScript configuration directives to 
>o the Mozilla client. Hence you can change all of your Mozilla cl>the Mozilla client. Hence you can change all of your Mozilla clie
>ients preferences by simply modifying a single file on a web serv>nts preferences by simply modifying a single file on a web server
>er, great!>, great!
n954    <h5 name="Call_File">n1039    <h5 id="Call_File" name="Call_File">
n965    <h4 name="Encoding_mozilla.js_File_to_mozilla.cfg">n1050    <h4 id="Encoding_mozilla.js_File_to_mozilla.cfg" name="Encodi
 >ng_mozilla.js_File_to_mozilla.cfg">
n994    <h4 name="Location_of_mci-mozilla-web-tux.cfg">n1079    <h4 id="Location_of_mci-mozilla-web-tux.cfg" name="Location_o
 >f_mci-mozilla-web-tux.cfg">
n1000    <h4 name="Call_to_mci-mozilla-web-tux.cfg">n1085    <h4 id="Call_to_mci-mozilla-web-tux.cfg" name="Call_to_mci-mo
 >zilla-web-tux.cfg">
n1011    <h4 name="Web_Base_CGI_JavaScript_Preferences_Generator_File"n1096    <h4 id="Web_Base_CGI_JavaScript_Preferences_Generator_File" n
>>>ame="Web_Base_CGI_JavaScript_Preferences_Generator_File">
n1120    <h4 name="Windows_Particularities">n1205    <h4 id="Windows_Particularities" name="Windows_Particularitie
 >s">
n1129    <h5 name="Windows_Call_File">n1214    <h5 id="Windows_Call_File" name="Windows_Call_File">
n1137    <h5 name="Windows_all.js_File">n1222    <h5 id="Windows_all.js_File" name="Windows_all.js_File">
n1148    <h5 name="Windows_CGI_file">n1233    <h5 id="Windows_CGI_file" name="Windows_CGI_file">
n1167    <h4 name="Versions_Tested">n1252    <h4 id="Versions_Tested" name="Versions_Tested">
n1173    <h3 name="Debugging_-_Bugzilla">n1258    <h3 id="Debugging_-_Bugzilla" name="Debugging_-_Bugzilla">
n1176    <h4 name="Run_Time_Messages">n1261    <h4 id="Run_Time_Messages" name="Run_Time_Messages">
n1182    <h4 name="Blank_Space_Bug">n1267    <h4 id="Blank_Space_Bug" name="Blank_Space_Bug">
n1186      I noticed a problem which is due to be corrected in Mozillan1271      I noticed a problem which is due to be corrected in Mozilla
> 1.8 I think... Here's the report and workaround: {{ Bug("229271"> 1.8 I think... Here's the report and workaround: {{ Bug(229271) 
>) }}. To fix, add the following:>}}. To fix, add the following:
n1197    <h4 name="Documentation">n1282    <h4 id="Documentation" name="Documentation">
n1201      I also opened a report on the lack of documentation {{ Bug(n1286      I also opened a report on the lack of documentation {{ Bug(
>"178685") }} which led to the wonderful doc: <a class="external" >178685) }} which led to the wonderful doc: <a class="external" hr
>href="http://web.archive.org/web/20050415163430/http://wangrepubl>ef="http://web.archive.org/web/20050415163430/http://wangrepublic
>ic.org/daniel/mozilla/prefs/">http://wangrepublic.org/daniel/mozi>.org/daniel/mozilla/prefs/">http://wangrepublic.org/daniel/mozill
>lla/prefs/</a>>a/prefs/</a>
n1203    <h4 name="defeultPref_for_Home_Page">n1288    <h4 id="defeultPref_for_Home_Page" name="defeultPref_for_Home
 >_Page">
n1207      I cannot set the home page with the <code>defaultPref</coden1292      I cannot set the home page with the <code>defaultPref</code
>> function, so that it is set by default, but still allows the us>> function, so that it is set by default, but still allows the us
>er to change it! A bug is opened on this, see {{ Bug("272970") }}>er to change it! A bug is opened on this, see {{ Bug(272970) }}
n1209    <h4 name="greprefs_Right_Access">n1294    <h4 id="greprefs_Right_Access" name="greprefs_Right_Access">
n1213      Beware also on Linux that <code>MOZILLA_HOME/greprefs</coden1298      Beware also on Linux that <code>MOZILLA_HOME/greprefs</code
>> directory is closed by default to users and then AutoConfig doe>> directory is closed by default to users and then AutoConfig doe
>sn't work properly, I've opened a bug on this: {{ Bug("270623") }>sn't work properly, I've opened a bug on this: {{ Bug(270623) }}.
>}. The workaround is <code>chmod 755 greprefs</code>!> The workaround is <code>chmod 755 greprefs</code>!
n1215    <h4 name="CGI_Base_Config_File">n1300    <h4 id="CGI_Base_Config_File" name="CGI_Base_Config_File">
n1219      There has been a issue about the use of <code>autoadmin.glon1304      There has been a issue about the use of <code>autoadmin.glo
>bal_config_url</code>, see {{ Bug("206294") }}.>bal_config_url</code>, see {{ Bug(206294) }}.
n1221    <h3 name="Mail_Folders">n1306    <h3 id="Mail_Folders" name="Mail_Folders">
n1230    <h3 name="Reliability">n1315    <h3 id="Reliability" name="Reliability">
n1233    <h4 name="Fail-over_and_Uniqueness">n1318    <h4 id="Fail-over_and_Uniqueness" name="Fail-over_and_Uniquen
 >ess">
n1242    <h4 name="LDAP_fail-over">n1327    <h4 id="LDAP_fail-over" name="LDAP_fail-over">
n1308    <h4 name="Unique_Script_for_Windows_and_Linux">n1393    <h4 id="Unique_Script_for_Windows_and_Linux" name="Unique_Scr
 >ipt_for_Windows_and_Linux">
n1327    <h4 name="Final_Production_Script">n1412    <h4 id="Final_Production_Script" name="Final_Production_Scrip
 >t">
n1509    <h4 name="For_The_Record.2C_Old_Reliably_Scripts...">n1594    <h4 id="For_The_Record.2C_Old_Reliably_Scripts..." name="For_
 >The_Record.2C_Old_Reliably_Scripts...">
n1518    <h5 name="Enhance_netscape.cfg">n1603    <h5 id="Enhance_netscape.cfg" name="Enhance_netscape.cfg">
n1524    <h5 name="LDAP_Web_Server_List_Subtree">n1609    <h5 id="LDAP_Web_Server_List_Subtree" name="LDAP_Web_Server_L
 >ist_Subtree">
n1541    <h5 name="netscape.cfg">n1626    <h5 id="netscape.cfg" name="netscape.cfg">
n1639    <h3 name="OLD_Netscape_4.x">n1724    <h3 id="OLD_Netscape_4.x" name="OLD_Netscape_4.x">
n1642    <h4 name="Call_File.2C_netscape.cfg">n1727    <h4 id="Call_File.2C_netscape.cfg" name="Call_File.2C_netscap
 >e.cfg">
t1702    <h4 name="LockPref_Configuration_File">t1787    <h4 id="LockPref_Configuration_File" name="LockPref_Configura
 >tion_File">

Back to History