Dependency Graph

Dependency Graph
related to related to child of child of duplicate of duplicate of

View Issue Details

IDProjectCategoryView StatusLast Update
0003751SOGo ConnectorGUIpublic2018-03-16 18:10
Reporterflorian Assigned Toludovic  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
Platform[Client] MicrosoftOSWindowsOS Version8
Summary0003751: Subscription dialog not working in Thunderbird 45
Description

The dialog "Subscription...", that pops up when subscribing to a new calendar or address book in Thunderbird, is not able to browse the available subscriptions.
When entering an email address the address color turns red and nothing is found to choose from.
Syncronisation of already subscribed calendars/address books works correctly.

This happens with TB 45.1.1 and TB 45.0, both tested with connector/integrator versions 31.0.2 and 31.0.3.

Browsing the available calendars works fine in the web frontend and with TB38.
The backend is sogo 2.3.11.

TagsNo tags attached.

Activities

ludovic

ludovic

2016-06-28 15:08

administrator   ~0010444

Works fine for me.

Have you customized the SOGo Integrator?

If so, show your customizations and your SOGo.conf file.

florian

florian

2016-06-28 15:19

reporter   ~0010445

hi Ludovic,
thanks for the fast response.

Yes, of course I have customized the SOGo Integrator for our local installation - the customization is the same as for every version in the past 7 years - I am a long time user ;)

I will grab the necessary info and upload as soon as possible.

florian

florian

2016-06-28 15:51

reporter  

sogo.conf (1,735 bytes)
florian

florian

2016-06-28 15:51

reporter  

sogo_connector.patch (11,515 bytes)   
# HG changeset patch
# Date 1467128083 -7200
#      Tue Jun 28 17:34:43 2016 +0200
# Branch sogo-demo
# Node ID 0b18db592166eb01743aff86dbd22c42e934d5be
# Parent  2e05bc4f07357e22c1dc7e26f8543a368f8f835e
# Parent  637f266e91afe1012557e0f70b4c4c486cafb9df
Merge with default

diff --git a/.hgtags b/.hgtags
new file mode 100644
--- /dev/null
+++ b/.hgtags
@@ -0,0 +1,4 @@
+9824d0c8dfd6a7161c546f23eabb2a308ddb71ce 31.0.1.02
+5f590f1d8ccabdffac2e076c8d517eebd94c75ae 31.0.2.03
+7e5ac997521734a80c7ddaaf842a6c2febc8c139 31.0.2.04
+297f1cec90ab9a92d14be63d6e01f94168416cda 31.0.3.04
diff --git a/chrome/content/extensions.rdf b/chrome/content/extensions.rdf
--- a/chrome/content/extensions.rdf
+++ b/chrome/content/extensions.rdf
@@ -1,27 +1,35 @@
-<?xml version="1.0"?>
-<!DOCTYPE RDF>
-<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-  xmlns:isi="http://inverse.ca/sogo-integrator/"
-  xmlns:em="http://www.mozilla.org/2004/em-rdf#"
-  xmlns:NC="http://home.netscape.com/NC-rdf#">
-  <Seq about="http://inverse.ca/sogo-integrator/extensions"
-    isi:updateURL="http://sogo-demo.inverse.ca/plugins/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
-    <li>
-      <Description
-        em:id="sogo-integrator@inverse.ca"
-        em:name="SOGo Integrator"/>
-    </li>
-    <li>
-      <Description
-        em:id="sogo-connector@inverse.ca"
-        em:name="SOGo Connector"/>
-    </li>
-<!--
-    <li>
-      <Description
-        em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
-        em:name="Lightning"/>
-    </li>
--->
-  </Seq>
-</RDF>
+<?xml version="1.0"?>
+<!DOCTYPE RDF>
+<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+  xmlns:isi="http://inverse.ca/sogo-integrator/"
+  xmlns:em="http://www.mozilla.org/2004/em-rdf#"
+  xmlns:NC="http://home.netscape.com/NC-rdf#">
+  <Seq about="http://inverse.ca/sogo-integrator/extensions"
+    isi:updateURL="http://sogo.domain.local/plugins-tb45/updates.php?plugin=%ITEM_ID%&amp;version=%ITEM_VERSION%&amp;platform=%PLATFORM%">
+    <li>
+      <Description
+        em:id="{506d044e-41fa-4cc8-9dc6-9ff70e96eebf}"
+        em:name="StartupMaster"/>
+    </li>
+    <li>
+      <Description
+        em:id="lookout@aron.rubin"
+        em:name="LookOut"/>
+    </li>
+    <li>
+      <Description
+        em:id="sogo-integrator@inverse.ca"
+        em:name="SOGo Integrator"/>
+    </li>
+    <li>
+      <Description
+        em:id="sogo-connector@inverse.ca"
+        em:name="SOGo Connector"/>
+    </li>
+    <li>
+      <Description
+        em:id="{e2fda1a4-762b-4020-b5ad-a41df1933103}"
+		em:name="Lightning"/>
+    </li>
+  </Seq>
+</RDF>
diff --git a/chrome/content/general/custom-preferences.js b/chrome/content/general/custom-preferences.js
--- a/chrome/content/general/custom-preferences.js
+++ b/chrome/content/general/custom-preferences.js
@@ -2,3 +2,9 @@
 force_int_pref("calendar.autorefresh.timeout", 30);
 force_int_pref("calendar.invitations.autorefresh.timeout", 30);
 force_bool_pref("sogo-integrator.disable-send-invitations-checkbox", false);
+force_bool_pref("mailnews.downloadToTempFile", true);
+force_bool_pref("mail.server.default.fetch_by_chunks", false);
+force_int_pref("mail.imap.chunk_add", 0);
+force_bool_pref("javascript.enabled", false);
+force_bool_pref("network.dns.disablePrefetch", true);
+force_bool_pref("ldap_2.autoComplete.useDirectory", false);
diff --git a/chrome/content/sogo-config.js b/chrome/content/sogo-config.js
--- a/chrome/content/sogo-config.js
+++ b/chrome/content/sogo-config.js
@@ -1,73 +1,81 @@
-/* -*- Mode: java; tab-width: 2; c-tab-always-indent: t; indent-tabs-mode: t; c-basic-offset: 2 -*- */
-var sogoConfig = { username: null, baseURL: null };
-
-function sogoUserName() {
-	if (!sogoConfig['username']) {
-		var mgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
-			.getService(Components.interfaces.nsIMsgAccountManager);
-		var prefService = (Components.classes["@mozilla.org/preferences-service;1"]
-											 .getService(Components.interfaces.nsIPrefBranch));
-		var useEmail = false;
-		try {
-			useEmail = prefService.getBoolPref("sogo-integrator.identification.use_email_address");
-		}
-		catch(e) {
-			useEmail = false;
-		}
-		if (useEmail)
-			sogoConfig['username'] = mgr.defaultAccount.defaultIdentity.email;
-		else
-			sogoConfig['username'] = mgr.defaultAccount.incomingServer.realUsername;
-	}
-
-	return sogoConfig['username'];
-}
-
-function sogoHostname() {
-	var hostnameArray;
-	var baseURL;
-
-	baseURL = sogoBaseURL();
-	hostnameArray = baseURL.split("/");
-
-	return hostnameArray[0] + "//" + hostnameArray[2];
-}
-
-function sogoBaseURL() {
-	if (!sogoConfig['baseURL']) {
-		var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]
-												.getService(Components.interfaces.nsIRDFService);
-		var extensions
-			= rdf.GetResource("http://inverse.ca/sogo-integrator/extensions");
-		var updateURLres
-			= rdf.GetResource("http://inverse.ca/sogo-integrator/updateURL");
-		var ds
-			= rdf.GetDataSourceBlocking("chrome://sogo-integrator/content/extensions.rdf");
-
-		var updateArray;
-		try {
-			var urlNode = ds.GetTarget(extensions, updateURLres, true);
-			if (urlNode instanceof Components.interfaces.nsIRDFLiteral) {
-				var updateURL = urlNode.Value;
-				updateArray = updateURL.split("/");
-			}
-		}
-		catch (e) {
-		}
-
-		var prefService = (Components.classes["@mozilla.org/preferences-service;1"]
-																 .getService(Components.interfaces.nsIPrefBranch));
-		var sogoPrefix;
-		try {
-			sogoPrefix = "/" + prefService.getCharPref("sogo-integrator.sogo-prefix");
-		}
-		catch(e) {
-			sogoPrefix = "/SOGo";
-		}
-
-		sogoConfig['baseURL'] = (updateArray[0] + "//" + updateArray[2]
-														 + sogoPrefix + "/dav/" + sogoUserName() + "/");
-	}
-
-	return sogoConfig['baseURL'];
-}
+/* -*- Mode: java; tab-width: 2; c-tab-always-indent: t; indent-tabs-mode: t; c-basic-offset: 2 -*- */
+var sogoConfig = { username: null, baseURL: null };
+
+function sogoUserName() {
+	if (!sogoConfig['username']) {
+		var mgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
+			.getService(Components.interfaces.nsIMsgAccountManager);
+		var prefService = (Components.classes["@mozilla.org/preferences-service;1"]
+											 .getService(Components.interfaces.nsIPrefBranch));
+		var useEmail = false;
+		try {
+			useEmail = prefService.getBoolPref("sogo-integrator.identification.use_email_address");
+		}
+		catch(e) {
+			useEmail = false;
+		}
+		if (useEmail)
+			sogoConfig['username'] = mgr.defaultAccount.defaultIdentity.email;
+		else {
+			var user = Components.classes["@mozilla.org/userinfo;1"].getService(Components.interfaces.nsIUserInfo);
+			sogoConfig['username'] = user.username;
+			/* Workaround für Wardy */
+			var user_johndoe = "John Doe";
+			var user_doe = "doe";
+			if (user.username.toLowerCase() == user_johndoe.toLowerCase()) {
+				sogoConfig['username'] = user_doe;
+			}
+		}
+	}
+
+	return sogoConfig['username'];
+}
+
+function sogoHostname() {
+	var hostnameArray;
+	var baseURL;
+
+	baseURL = sogoBaseURL();
+	hostnameArray = baseURL.split("/");
+
+	return hostnameArray[0] + "//" + hostnameArray[2];
+}
+
+function sogoBaseURL() {
+	if (!sogoConfig['baseURL']) {
+		var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]
+												.getService(Components.interfaces.nsIRDFService);
+		var extensions
+			= rdf.GetResource("http://inverse.ca/sogo-integrator/extensions");
+		var updateURLres
+			= rdf.GetResource("http://inverse.ca/sogo-integrator/updateURL");
+		var ds
+			= rdf.GetDataSourceBlocking("chrome://sogo-integrator/content/extensions.rdf");
+
+		var updateArray;
+		try {
+			var urlNode = ds.GetTarget(extensions, updateURLres, true);
+			if (urlNode instanceof Components.interfaces.nsIRDFLiteral) {
+				var updateURL = urlNode.Value;
+				updateArray = updateURL.split("/");
+			}
+		}
+		catch (e) {
+		}
+
+		var prefService = (Components.classes["@mozilla.org/preferences-service;1"]
+																 .getService(Components.interfaces.nsIPrefBranch));
+		var sogoPrefix;
+		try {
+			sogoPrefix = "/" + prefService.getCharPref("sogo-integrator.sogo-prefix");
+		}
+		catch(e) {
+			sogoPrefix = "/SOGo";
+		}
+
+		sogoConfig['baseURL'] = (updateArray[0] + "//" + updateArray[2]
+														 + sogoPrefix + "/dav/" + sogoUserName() + "/");
+	}
+
+	return sogoConfig['baseURL'];
+}
diff --git a/chrome/locale/de-DE/global/common-dialog-overlay.properties b/chrome/locale/de-DE/global/common-dialog-overlay.properties
--- a/chrome/locale/de-DE/global/common-dialog-overlay.properties
+++ b/chrome/locale/de-DE/global/common-dialog-overlay.properties
@@ -1,2 +1,2 @@
 sogo.title = Verbinde zu SOGo...
-sogo.description = Bitte geben Sie ihr Passwort ein (%u):
+sogo.description = Bitte geben Sie für SOGo ihr Windows-Passwort ein (%u):
diff --git a/chrome/locale/en-US/global/common-dialog-overlay.properties b/chrome/locale/en-US/global/common-dialog-overlay.properties
--- a/chrome/locale/en-US/global/common-dialog-overlay.properties
+++ b/chrome/locale/en-US/global/common-dialog-overlay.properties
@@ -1,2 +1,2 @@
 sogo.title = Connecting to SOGo...
-sogo.description = Please enter your password (%u):
+sogo.description = For SOGo Please enter your Windows password (%u):
diff --git a/defaults/preferences/site.js b/defaults/preferences/site.js
--- a/defaults/preferences/site.js
+++ b/defaults/preferences/site.js
@@ -1,13 +1,14 @@
-pref("app.update.auto", false);
-pref("app.update.enabled", false);
-pref("autoupdate.enabled", false);
-pref("extensions.update.auto", false);
-pref("extensions.update.enabled", false);
-pref("mail.imap.mime_parts_on_demand_threshold", 300000);
-pref("mail.inline_attachments", true);
-pref("mail.mdn.report.not_in_to_cc", 0);
-pref("mail.strictly_mime.parm_folding", 0);
-pref("calendar.alarms.showmissed", false);
-pref("calendar.caldav.sched.enabled", true);
-pref("calendar.timezone.local", "/mozilla.org/20070129_1/America/Montreal");
-pref("sogo-integrator.autocomplete.server.urlid", "public");
+pref("app.update.auto", false);
+pref("app.update.enabled", false);
+pref("autoupdate.enabled", false);
+pref("extensions.update.auto", true);
+pref("extensions.update.enabled", true);
+pref("mail.imap.mime_parts_on_demand_threshold", 300000);
+pref("mail.inline_attachments", true);
+pref("mail.mdn.report.not_in_to_cc", 0);
+pref("mail.strictly_mime.parm_folding", 0);
+pref("calendar.alarms.showmissed", false);
+pref("calendar.caldav.sched.enabled", true);
+pref("calendar.timezone.local", "/mozilla.org/20070129_1/Europe/Berlin");
+pref("sogo-integrator.autocomplete.server.urlid", "directory");
+pref("mail.showCondensedAddresses", false);
diff --git a/install.rdf b/install.rdf
--- a/install.rdf
+++ b/install.rdf
@@ -11,7 +11,7 @@
   <Description about="urn:mozilla:install-manifest"
     em:name="Inverse SOGo Integrator"
     em:id="sogo-integrator@inverse.ca"
-    em:version="31.0.3"
+    em:version="31.0.3.04"
     em:description="A SOGo integration plugin for Thunderbird and Lightning"
     em:iconURL="chrome://sogo-integrator/skin/sogo.png"
     em:creator="Inverse &lt;support@inverse.ca&gt;"
sogo_connector.patch (11,515 bytes)   
florian

florian

2016-06-28 15:54

reporter   ~0010447

I uploaded the sogo.conf and a patch of the changes I applied to sogo integrator 31.0.3.

I just see that I misnamed the patch file "sogo_connector.patch" but it is of course for the sogo integrator.

florian

florian

2017-05-10 13:34

reporter   ~0011806

The issue still exists with recent SOGo and Thunderbird 52.
sogo version 2.3.20.20170418
Thunderbird 52.1.0
sogo connector 31.0.4
sogo integrator 31.0.4

ludovic

ludovic

2017-06-14 12:47

administrator   ~0011928

Revert your patch and see if it works with vanilla extensions from us.

Also test in English.

All works here.

florian

florian

2017-08-11 14:09

reporter   ~0012164

I did some debugging on my own with TinyJS debugger Addon in sogo-connector latest version 31.0.5 and found out the problem is within
_handleHTTPResponse: function(aChannel, aResultLength, aResult) {
in sogoWebDAV.js

in Line 290 I get a correct response text in XML format with results matching my search pattern from the sogo server:
responseText = resultConverter.convertFromByteArray(aResult, aResultLength);

but the headers["content-type"] contains "text/html; charset=iso-8859-1"
and not "text/xml" or "application/xml" as expected so the following if condition is not true

if ((flatCType.indexOf("text/xml") == 0 || flatCType.indexOf("application/xml") == 0)
&& aResultLength > 0) {

and the XML parser doesn't get executed.

Do you have an idea why the header content-type has the wrong format value?

ludovic

ludovic

2018-03-16 18:10

administrator   ~0012736

Suspending, old issue, unreproducible. Reopen if necessary.

Issue History

Date Modified Username Field Change
2016-06-28 15:05 florian New Issue
2016-06-28 15:08 ludovic Note Added: 0010444
2016-06-28 15:08 ludovic Severity major => minor
2016-06-28 15:19 florian Note Added: 0010445
2016-06-28 15:51 florian File Added: sogo.conf
2016-06-28 15:51 florian File Added: sogo_connector.patch
2016-06-28 15:54 florian Note Added: 0010447
2016-07-12 12:04 ludovic Status new => assigned
2016-07-12 12:04 ludovic Assigned To => ludovic
2017-05-10 13:34 florian Note Added: 0011806
2017-06-14 12:47 ludovic Note Added: 0011928
2017-08-11 14:09 florian Note Added: 0012164
2018-03-16 18:10 ludovic Note Added: 0012736
2018-03-16 18:10 ludovic Status assigned => closed
2018-03-16 18:10 ludovic Resolution open => suspended