[Pkg-mozext-maintainers] Bug#867542: [Enigmail] 'invalid language tag' since 30c1fe69 [was: Re: Bug#867542: enigmail: can't decrypt messages in thunderbird]
Patrick Brunschwig
patrick at enigmail.net
Wed Jul 12 06:44:22 UTC 2017
On 12.07.17 02:55, Daniel Kahn Gillmor wrote:
> Control: severity 867542 normal
>
> Hi Jörg--
>
> Over in https://bugs.debian.org/867542, you wrote:
>
>> decryption of messages in thunderbird fails.
>
> how does it fail? does it hang? show you an error message?
>
>> The log of enigmail shows this:
>>
>> --- %< ---
>> 2017-07-07 08:34:46.501 [DEBUG] errorHandling.jsm: parseErrorOutputWith:
>> statusFlags = 00000020
>> 2017-07-07 08:34:46.501 [DEBUG] errorHandling.jsm: parseErrorOutputWith: return
>> with c.errorMsg =
>> 2017-07-07 08:34:46.501 [DEBUG] execution.jsm: EnigmailExecution.fixExitCode:
>> agentType: gpg exitCode: 0 statusFlags undefined
>> 2017-07-07 08:34:46.502 [CONSOLE]
>> 2017-07-07 08:34:46.502 [DEBUG] keyRing.jsm: createAndSortKeyList()
>> 2017-07-07 08:34:46.504 [ERROR] enigmailMessengerOverlay.js: messageDecryptCb:
>> caught exception: RangeError
>> Message: 'invalid language tag: en-US.UTF-8'
>> File: resource://enigmail/time.jsm
>> Line: 48
>> Stack: EnigmailTime.getDateTime at resource://enigmail/time.jsm:48:14
>> KeyObject at resource://enigmail/keyRing.jsm:1607:19
>> appendKeyItems at resource://enigmail/keyRing.jsm:1436:20
>> createKeyObjects at resource://enigmail/keyRing.jsm:1411:3
>> createAndSortKeyList at resource://enigmail/keyRing.jsm:1560:3
>> loadKeyList at resource://enigmail/keyRing.jsm:1283:3
>> EnigmailKeyRing.getAllKeys at resource://enigmail/keyRing.jsm:151:7
>> EnigmailKeyRing.getKeyById at resource://enigmail/keyRing.jsm:222:7
>> EnigmailDecryption.decryptMessageEnd at resource://enigmail/decryption.jsm:348:26
>> EnigmailDecryption.decryptMessage at resource://enigmail/decryption.jsm:553:20
>> Enigmail.msg.messageParseCallback at chrome://enigmail/content/enigmailMessengerOverlay.js:1005:19
>> Enigmail.msg.messageParse at chrome://enigmail/content/enigmailMessengerOverlay.js:926:5
>> Enigmail.msg.messageDecryptCb at chrome://enigmail/content/enigmailMessengerOverlay.js:764:9
>> _f at chrome://enigmail/content/enigmailMessengerOverlay.js:555:9
>> callbackWrapper at resource://enigmail/timer.jsm:38:9
>> --- >% ---
>
> thanks for the logs. Was it repeatable reliably with 1.9.8-1 ? Are you
> able to get this to repeat with 1.9.8.1-1 (the version i uploaded to
> unstable today)?
>
>> Something seems odd with the language tag "en-US.UTF-8".
>>
>> The command "locale -a" shows on this system among others "en_US.utf8".
>
> I am used to seeing en_US.UTF-8 for LANG, but not en-US.UTF-8. Are you
> setting NSILOCALE_TIME anywhere in your environment?
>
>> For the moment I will revert back to the last working version 2:1.9.7-2.
>
> The line you're getting an error on was definitely changed between 1.9.7
> and 1.9.8 (it was changed in 30c1fe69a7c62007f925d760efc832884aed4412,
> which overhauls the time calculations).
>
> Maybe upstream (cc'ed here) can shed some light on this?
We had to change this for Thunderbird 52 due to the following Mozilla
bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1367672
The correct locale format in Thunderbird is xx-yy (not xx_yy). However,
Thunderbird seems to be unable to cope with additional parameters in the
locale like ".UTF-8".
I would expect that the following patch fixes the issue.
-Patrick
--- a/package/time.jsm
+++ b/package/time.jsm
@@ -52,7 +52,10 @@ const EnigmailTime = {
options.minute = DATE_2DIGIT;
}
- return new
Intl.DateTimeFormat(appLocale.getCategory("NSILOCALE_TIME"),
options).format(dat);
+ let useLocale = appLocale.getCategory("NSILOCALE_TIME").substr(0, 5);
+ useLocale = useLocale.replace(/_/g, "-");
+
+ return new Intl.DateTimeFormat(useLocale, options).format(dat);
}
else {
return "";
More information about the Pkg-mozext-maintainers
mailing list