diff -Nru thunderbird-78.9.0+build2/BUILDID thunderbird-78.9.1+build1/BUILDID --- thunderbird-78.9.0+build2/BUILDID 2021-03-29 16:18:13.000000000 +0000 +++ thunderbird-78.9.1+build1/BUILDID 2021-04-08 08:48:23.000000000 +0000 @@ -1 +1 @@ -20210322094744 \ No newline at end of file +20210406220621 \ No newline at end of file diff -Nru thunderbird-78.9.0+build2/comm/calendar/providers/caldav/CalDavCalendar.jsm thunderbird-78.9.1+build1/comm/calendar/providers/caldav/CalDavCalendar.jsm --- thunderbird-78.9.0+build2/comm/calendar/providers/caldav/CalDavCalendar.jsm 2021-03-29 16:02:07.000000000 +0000 +++ thunderbird-78.9.1+build1/comm/calendar/providers/caldav/CalDavCalendar.jsm 2021-04-08 08:36:21.000000000 +0000 @@ -1778,6 +1778,9 @@ return normalized == chs.path || normalized == chs.spec; }; let createBoxUrl = path => { + if (!path) { + return null; + } let newPath = this.ensureDecodedPath(path); // Make sure the uri has a / at the end, as we do with the calendarUri. if (newPath.charAt(newPath.length - 1) != "/") { @@ -1811,7 +1814,7 @@ this.mInboxUrl = createBoxUrl(response.firstProps["C:schedule-inbox-URL"]); this.mOutboxUrl = createBoxUrl(response.firstProps["C:schedule-outbox-URL"]); - if (this.calendarUri.spec == this.mInboxUrl.spec) { + if (!this.mInboxUrl || this.calendarUri.spec == this.mInboxUrl.spec) { // If the inbox matches the calendar uri (i.e SOGo), then we // don't need to poll the inbox. this.mShouldPollInbox = false; diff -Nru thunderbird-78.9.0+build2/comm/chat/modules/OTRLib.jsm thunderbird-78.9.1+build1/comm/chat/modules/OTRLib.jsm --- thunderbird-78.9.0+build2/comm/chat/modules/OTRLib.jsm 2021-03-29 16:02:07.000000000 +0000 +++ thunderbird-78.9.1+build1/comm/chat/modules/OTRLib.jsm 2021-04-08 08:36:21.000000000 +0000 @@ -13,62 +13,78 @@ var abi = ctypes.default_abi; -// Open libotr. Determine the path to the chrome directory and look for it -// there first. If not, fallback to searching the standard locations. var libotr, libotrPath; -function tryLoadOTR(name, suffix) { - let filename = ctypes.libraryName(name) + suffix; +function getLibraryFilename(baseName, suffix) { + return ctypes.libraryName(baseName) + suffix; +} + +function getDistributionFilename() { + let baseName; + let suffix; + + switch (systemOS) { + case "winnt": + baseName = "libotr-5"; + suffix = ""; + break; + case "darwin": + baseName = "otr.5"; + suffix = ""; + break; + default: + baseName = "otr"; + suffix = ".5"; + break; + } + + return getLibraryFilename(baseName, suffix); +} + +function getDistributionFullPath() { let binPath = Services.dirsvc.get("XpcomLib", Ci.nsIFile).path; let binDir = OS.Path.dirname(binPath); - libotrPath = OS.Path.join(binDir, filename); + return OS.Path.join(binDir, getDistributionFilename()); +} - let loadFromInfo; +function tryLoadOTR(filename, info) { + console.debug(`Trying to load ${filename}${info}`); + libotrPath = filename; try { - loadFromInfo = libotrPath; - libotr = ctypes.open(libotrPath); + libotr = ctypes.open(filename); } catch (e) {} - if (!libotr) { - try { - loadFromInfo = "system's standard library locations"; - // look in standard locations - libotrPath = filename; - libotr = ctypes.open(libotrPath); - } catch (e) {} - } - if (libotr) { - console.debug( - "Successfully loaded OTR library " + filename + " from " + loadFromInfo - ); + console.debug("Successfully loaded OTR library " + filename + info); } } function loadExternalOTRLib() { - if (!libotr && (systemOS === "winnt" || systemOS === "darwin")) { - // otr.5.dll or otr.5.dylib - tryLoadOTR("otr.5", ""); + const systemInfo = " from system's standard library locations"; + + // Try to load using an absolute path from our install directory + if (!libotr) { + tryLoadOTR(getDistributionFullPath(), ""); } - if (!libotr && systemOS === "winnt") { - // otr-5.dll - tryLoadOTR("otr-5", ""); + // Try to load using our expected filename from system directories + if (!libotr) { + tryLoadOTR(getDistributionFilename(), systemInfo); } - if (!libotr && systemOS === "winnt") { - // libotr-5.dll - tryLoadOTR("libotr-5", ""); + // Try other filenames + + if (!libotr && systemOS == "winnt") { + tryLoadOTR(getLibraryFilename("otr.5", ""), systemInfo); } - if (!libotr && !(systemOS === "winnt") && !(systemOS === "darwin")) { - // libotr.so.5 - tryLoadOTR("otr", ".5"); + if (!libotr && systemOS == "winnt") { + tryLoadOTR(getLibraryFilename("otr-5", ""), systemInfo); } if (!libotr) { - tryLoadOTR("otr", ""); + tryLoadOTR(getLibraryFilename("otr", ""), systemInfo); } if (!libotr) { diff -Nru thunderbird-78.9.0+build2/comm/mail/base/content/msgSecurityPane.inc.xhtml thunderbird-78.9.1+build1/comm/mail/base/content/msgSecurityPane.inc.xhtml --- thunderbird-78.9.0+build2/comm/mail/base/content/msgSecurityPane.inc.xhtml 2021-03-29 16:02:07.000000000 +0000 +++ thunderbird-78.9.1+build1/comm/mail/base/content/msgSecurityPane.inc.xhtml 2021-04-08 08:36:21.000000000 +0000 @@ -68,7 +68,7 @@ -