~ubuntu-branches/ubuntu/trusty/enigmail/trusty-updates

« back to all changes in this revision

Viewing changes to ui/content/enigmailMsgHdrViewOverlay.js

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2015-08-26 20:07:19 UTC
  • mfrom: (0.12.19)
  • Revision ID: package-import@ubuntu.com-20150826200719-t3qktwtjhs7qzjq1
Tags: 2:1.8.2-0ubuntu0.14.04.1
* New upstream release v1.8.2 to support Thunderbird 38
  - Fixes LP: #1489103 - Per-account settings missing after Thunderbird
    update

* Depend on gnupg2 instead of gnupg. Whilst this enigmail version still
  works with gnupg 1.4.*, it pops up an alert warning that it will be the
  last version to do so
  - update debian/control

Show diffs side-by-side

added added

removed removed

Lines of Context:
85
85
      Enigmail.msg.setAttachmentReveal(null);
86
86
      if (Enigmail.msg.securityInfo) {
87
87
        Enigmail.msg.securityInfo.statusFlags = 0;
 
88
        Enigmail.msg.securityInfo.msgSigned = 0;
 
89
        Enigmail.msg.securityInfo.msgEncrypted = 0;
88
90
      }
89
91
 
90
92
    }
117
119
  },
118
120
 
119
121
 
120
 
  updateHdrIcons: function (exitCode, statusFlags, keyId, userId, sigDetails, errorMsg, blockSeparation, xtraStatus)
 
122
  setStatusText: function(txt) {
 
123
    let s = document.getElementById("enigmailStatusText");
 
124
    s.firstChild.data = txt;
 
125
  },
 
126
 
 
127
  updateHdrIcons: function (exitCode, statusFlags, keyId, userId, sigDetails, errorMsg, blockSeparation, encToDetails, xtraStatus)
121
128
  {
122
129
    EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: this.updateHdrIcons: exitCode="+exitCode+", statusFlags="+statusFlags+", keyId="+keyId+", userId="+userId+", "+errorMsg+"\n");
123
130
 
126
133
    this.statusBar = document.getElementById("enigmail-status-bar");
127
134
    this.enigmailBox = document.getElementById("enigmailBox");
128
135
 
129
 
 
130
136
    if (gFolderDisplay.selectedMessageUris.length > 0) {
131
137
      this.lastEncryptedMsgKey = gFolderDisplay.selectedMessageUris[0];
132
138
    }
168
174
      }
169
175
    }
170
176
 
171
 
 
172
177
    if (errorLines && (errorLines.length > 22) ) {
173
178
      // Retain only first twenty lines and last two lines of error message
174
179
      var lastLines = errorLines[errorLines.length-2] + "\n" +
261
266
        } else {
262
267
          statusInfo = EnigmailCommon.getString("failedDecrypt");
263
268
        }
264
 
        statusLine = statusInfo + EnigmailCommon.getString("clickKeyDetails");
 
269
        statusLine = statusInfo + EnigmailCommon.getString("clickDetailsButton");
265
270
      }
266
271
      else if (statusFlags & nsIEnigmail.BAD_PASSPHRASE) {
267
272
        statusInfo = EnigmailCommon.getString("badPhrase");
269
274
      }
270
275
      else if (statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) {
271
276
        statusInfo = EnigmailCommon.getString("unverifiedSig");
272
 
        statusLine = statusInfo + EnigmailCommon.getString("clickQueryPenDetails");
 
277
        if (keyId) {
 
278
          statusLine = statusInfo + EnigmailCommon.getString("clickImportButton");
 
279
        }
 
280
        else {
 
281
          statusLine = statusInfo + EnigmailCommon.getString("keyTypeUnsupported");
 
282
        }
273
283
      }
274
284
      else if (statusFlags & (nsIEnigmail.BAD_SIGNATURE |
275
285
                              nsIEnigmail.EXPIRED_SIGNATURE |
276
286
                              nsIEnigmail.EXPIRED_KEY_SIGNATURE)) {
277
287
        statusInfo = EnigmailCommon.getString("failedSig");
278
 
        statusLine = statusInfo + EnigmailCommon.getString("clickPenDetails");
 
288
        statusLine = statusInfo + EnigmailCommon.getString("clickDetailsButton");
279
289
      }
280
290
      else if (statusFlags & nsIEnigmail.DECRYPTION_INCOMPLETE) {
281
291
        statusInfo = EnigmailCommon.getString("incompleteDecrypt");
282
 
        statusLine = statusInfo + EnigmailCommon.getString("clickKey");
 
292
        statusLine = statusInfo + EnigmailCommon.getString("clickDetailsButton");
283
293
      }
284
294
      else if (statusFlags & nsIEnigmail.IMPORTED_KEY) {
285
295
        statusLine = "";
295
305
        var si = EnigmailCommon.getString("unverifiedSig");  // "Unverified signature"
296
306
        if (statusInfo == "") {
297
307
          statusInfo += si;
298
 
          statusLine = si + EnigmailCommon.getString("clickPen");
 
308
          statusLine = si + EnigmailCommon.getString("clickDetailsButton");
299
309
        }
300
310
        //if (statusFlags & nsIEnigmail.INLINE_KEY) {
301
311
        //  statusLine = statusInfo + EnigmailCommon.getString("clickDecrypt");
302
312
        //} else {
303
313
        //  statusLine = statusInfo + EnigmailCommon.getString("clickPen");
304
314
        //}
305
 
        statusInfo += "\n" + EnigmailCommon.getString("keyNeeded", [ keyId ]);  // "public key ... needed"
 
315
        if (statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) {
 
316
          statusInfo += "\n" + EnigmailCommon.getString("keyNeeded", [ keyId ]);  // "public key ... needed"
 
317
        }
 
318
        else {
 
319
          statusInfo += "\n" + EnigmailCommon.getString("keyUsed", [ keyId ]);  // "public key ... used"
 
320
        }
306
321
      }
307
322
      statusInfo += "\n\n" + errorMsg;
308
323
    }
333
348
    if (EnigmailCommon.getPref("displayPartiallySigned")) {
334
349
      if (statusFlags & nsIEnigmail.PARTIALLY_PGP) {
335
350
        if (msgSigned && msgEncrypted) {
336
 
          if (statusLine == "") {
337
 
            statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSignedAndEnc") ]);
338
 
            statusLine += EnigmailCommon.getString("clickPenKeyDetails");
339
 
          }
 
351
          statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSignedAndEnc") ]);
 
352
          statusLine += EnigmailCommon.getString("clickDetailsButton");
340
353
          statusInfo = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSigned") ])
341
354
                        + "\n" + statusInfo;
342
355
        }
343
356
        else if (msgEncrypted) {
344
 
          if (statusLine == "") {
345
 
            statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgEncrypted") ]);
346
 
            statusLine += EnigmailCommon.getString("clickQueryKeyDetails");
347
 
          }
348
 
          statusInfo = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSigned") ])
 
357
          statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgEncrypted") ]);
 
358
          statusLine += EnigmailCommon.getString("clickDetailsButton");
 
359
          statusInfo = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgEncrypted") ])
349
360
                        + "\n" + statusInfo;
350
361
        }
351
362
        else if (msgSigned) {
352
 
          if (statusLine == "") {
 
363
          if (statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) {
 
364
            statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSignedUnkownKey") ]);
 
365
            if (keyId) {
 
366
              statusLine += EnigmailCommon.getString("clickImportButton");
 
367
            }
 
368
            else {
 
369
              statusLine += EnigmailCommon.getString("keyTypeUnsupported");
 
370
            }
 
371
          }
 
372
          else {
353
373
            statusLine = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSigned") ]);
354
 
            statusLine += EnigmailCommon.getString("clickQueryPenDetails");
 
374
            statusLine += EnigmailCommon.getString("clickDetailsButton");
355
375
          }
356
376
          statusInfo = EnigmailCommon.getString("msgPart", [ EnigmailCommon.getString("msgSigned") ])
357
377
                        + "\n" + statusInfo;
359
379
      }
360
380
    }
361
381
 
 
382
    // if we have parsed ENC_TO entries, add them as status info
 
383
    if (encToDetails && encToDetails.length > 0) {
 
384
      statusInfo += "\n\n" + EnigmailCommon.getString("encryptKeysNote", [ encToDetails ]);
 
385
    }
 
386
 
 
387
    if (! statusLine) {
 
388
      return;
 
389
    }
 
390
 
362
391
    Enigmail.msg.securityInfo = { statusFlags: statusFlags,
363
392
                          keyId: keyId,
364
393
                          userId: userId,
385
414
    }
386
415
 
387
416
    if (statusLine) {
388
 
      statusText.value = statusLine +" ";
 
417
      this.setStatusText(statusLine +" ");
389
418
      this.enigmailBox.removeAttribute("collapsed");
390
419
      this.displayExtendedStatus(true);
 
420
 
 
421
      if (Enigmail.msg.securityInfo.keyId &&
 
422
          (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) ) {
 
423
        document.getElementById("enigmail_importKey").removeAttribute("hidden");
 
424
      }
 
425
      else {
 
426
        document.getElementById("enigmail_importKey").setAttribute("hidden", "true");
 
427
      }
 
428
 
391
429
    } else {
392
 
      statusText.value = "";
 
430
      this.setStatusText("");
393
431
      this.enigmailBox.setAttribute("collapsed", "true");
394
432
      this.displayExtendedStatus(false);
395
433
    }
474
512
 
475
513
    const nsIEnigmail = Components.interfaces.nsIEnigmail;
476
514
 
477
 
    if (Enigmail.msg.securityInfo) {
478
 
      if (Enigmail.msg.securityInfo.keyId &&
479
 
          (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) ) {
480
 
        document.getElementById("enigmail_importKey").removeAttribute("hidden");
481
 
      }
482
 
      else {
483
 
        document.getElementById("enigmail_importKey").setAttribute("hidden", "true");
484
 
      }
485
 
 
486
 
      if ( (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.NODATA) &&
487
 
           (Enigmail.msg.securityInfo.statusFlags &
488
 
             (nsIEnigmail.PGP_MIME_SIGNED | nsIEnigmail.PGP_MIME_ENCRYPTED)) ) {
489
 
        document.getElementById("enigmail_reloadMessage").removeAttribute("hidden");
490
 
      }
491
 
      else {
492
 
        document.getElementById("enigmail_reloadMessage").setAttribute("hidden", "true");
493
 
      }
494
 
    }
495
 
 
496
 
    var optList = ["pgpSecurityInfo", "copySecurityInfo"];
497
 
    for (var j=0; j<optList.length; j++) {
498
 
      var menuElement = document.getElementById("enigmail_"+optList[j]);
 
515
    try {
499
516
      if (Enigmail.msg.securityInfo) {
500
 
        menuElement.removeAttribute("disabled");
501
 
      }
502
 
      else {
503
 
        menuElement.setAttribute("disabled", "true");
504
 
      }
505
 
    }
506
 
 
507
 
    this.setSenderStatus("signSenderKey", "editSenderKeyTrust" , "showPhoto", "dispKeyDetails");
 
517
        if ( (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.NODATA) &&
 
518
             (Enigmail.msg.securityInfo.statusFlags &
 
519
               (nsIEnigmail.PGP_MIME_SIGNED | nsIEnigmail.PGP_MIME_ENCRYPTED)) ) {
 
520
          document.getElementById("enigmail_reloadMessage").removeAttribute("hidden");
 
521
        }
 
522
        else {
 
523
          document.getElementById("enigmail_reloadMessage").setAttribute("hidden", "true");
 
524
        }
 
525
      }
 
526
 
 
527
      var optList = ["pgpSecurityInfo", "copySecurityInfo"];
 
528
      for (var j=0; j<optList.length; j++) {
 
529
        var menuElement = document.getElementById("enigmail_"+optList[j]);
 
530
        if (Enigmail.msg.securityInfo) {
 
531
          menuElement.removeAttribute("disabled");
 
532
        }
 
533
        else {
 
534
          menuElement.setAttribute("disabled", "true");
 
535
        }
 
536
      }
 
537
 
 
538
      this.setSenderStatus("signSenderKey", "editSenderKeyTrust" , "showPhoto", "dispKeyDetails");
 
539
    }
 
540
    catch(ex) {
 
541
      EnigmailCommon.ERROR_LOG("error on displaying Security menu:\n"+ex.toString()+"\n")
 
542
    }
508
543
  },
509
544
 
510
545
 
511
546
  updateSendersKeyMenu: function ()
512
547
  {
513
 
    this.setSenderStatus("keyMgmtSignKey", "keyMgmtKeyTrust", "keyMgmtShowPhoto", "keyMgmtDispKeyDetails");
 
548
    this.setSenderStatus("keyMgmtSignKey",
 
549
                         "keyMgmtKeyTrust",
 
550
                         "keyMgmtShowPhoto",
 
551
                         "keyMgmtDispKeyDetails",
 
552
                         "importpublickey");
514
553
  },
515
554
 
516
555
 
517
 
  setSenderStatus: function (elemSign, elemTrust, elemPhoto, elemKeyProps)
 
556
  setSenderStatus: function (elemSign, elemTrust, elemPhoto, elemKeyProps, elemImportKey)
518
557
  {
 
558
 
 
559
    function setElemStatus(elemName, disabledValue) {
 
560
      document.getElementById("enigmail_"+elemName).setAttribute("disabled", !disabledValue);
 
561
 
 
562
      let secondElem = document.getElementById("enigmail_"+elemName+"2");
 
563
      if (secondElem) secondElem.setAttribute("disabled", !disabledValue);
 
564
    }
 
565
 
519
566
    const nsIEnigmail = Components.interfaces.nsIEnigmail;
520
567
 
521
568
    var photo=false;
522
569
    var sign=false;
523
570
    var trust=false;
 
571
    var unknown = false;
 
572
    var signedMsg = false;
 
573
 
524
574
    if (Enigmail.msg.securityInfo) {
525
575
      if (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.PHOTO_AVAILABLE) {
526
576
        photo=true;
527
577
      }
528
578
      if (Enigmail.msg.securityInfo.msgSigned ) {
 
579
        signedMsg = true;
529
580
        if (!(Enigmail.msg.securityInfo.statusFlags &
530
581
             (nsIEnigmail.REVOKED_KEY | nsIEnigmail.EXPIRED_KEY_SIGNATURE | nsIEnigmail.UNVERIFIED_SIGNATURE))) {
531
582
          sign=true;
533
584
        if (!(Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE)) {
534
585
          trust=true;
535
586
        }
 
587
 
 
588
        if (Enigmail.msg.securityInfo.statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) {
 
589
          unknown = true;
 
590
        }
536
591
      }
537
592
    }
538
593
 
539
 
    if (elemTrust)
540
 
      document.getElementById("enigmail_"+elemTrust).setAttribute("disabled", !trust);
541
 
    if (elemSign)
542
 
      document.getElementById("enigmail_"+elemSign).setAttribute("disabled", !sign);
543
 
    if (elemPhoto)
544
 
      document.getElementById("enigmail_"+elemPhoto).setAttribute("disabled", !photo);
545
 
    if (elemKeyProps)
546
 
      document.getElementById("enigmail_"+elemKeyProps).setAttribute("disabled", !sign);
547
 
 
 
594
    if (elemTrust) setElemStatus(elemTrust, trust);
 
595
    if (elemSign) setElemStatus(elemSign, sign);
 
596
    if (elemPhoto) setElemStatus(elemPhoto, photo);
 
597
    if (elemKeyProps) setElemStatus(elemKeyProps, (signedMsg && !unknown));
 
598
    if (elemImportKey) setElemStatus(elemImportKey, unknown);
548
599
  },
549
600
 
550
601
  editKeyExpiry: function ()
555
606
 
556
607
  editKeyTrust: function ()
557
608
  {
558
 
    EnigmailFuncs.editKeyTrust(window, [Enigmail.msg.securityInfo.userId], [Enigmail.msg.securityInfo.keyId]);
 
609
    let enigmailSvc = EnigmailCommon.getService();
 
610
    let keyId = enigmailSvc.getPubKeyIdForSubkey(Enigmail.msg.securityInfo.keyId);
 
611
 
 
612
    EnigmailFuncs.editKeyTrust(window, [Enigmail.msg.securityInfo.userId], [keyId]);
559
613
    gDBView.reloadMessageWithAllParts();
560
614
  },
561
615
 
562
616
  signKey: function ()
563
617
  {
564
 
    EnigmailFuncs.signKey(window, Enigmail.msg.securityInfo.userId, Enigmail.msg.securityInfo.keyId, null);
 
618
    let enigmailSvc = EnigmailCommon.getService();
 
619
    let keyId = enigmailSvc.getPubKeyIdForSubkey(Enigmail.msg.securityInfo.keyId);
 
620
 
 
621
    EnigmailFuncs.signKey(window, Enigmail.msg.securityInfo.userId, keyId, null);
565
622
    gDBView.reloadMessageWithAllParts();
566
623
  },
567
624
 
582
639
 
583
640
          EnigmailVerify.setMsgWindow(msgWindow, Enigmail.msg.getCurrentMsgUriSpec());
584
641
 
585
 
          var statusText = document.getElementById("enigmailStatusText");
586
 
          if (statusText) statusText.value="";
 
642
          Enigmail.hdrView.setStatusText("");
587
643
 
588
644
          this.enigmailBox.setAttribute("class", "expandedEnigmailBox enigmailHeaderBoxLabelSignatureOk");
589
645
 
613
669
        EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: _listener_onEndHeaders\n");
614
670
        try {
615
671
          Enigmail.hdrView.statusBarHide();
616
 
          var statusText = document.getElementById("enigmailStatusText");
617
672
 
618
673
          this.enigmailBox.setAttribute("class", "expandedEnigmailBox enigmailHeaderBoxLabelSignatureOk");
619
674
        }
644
699
  {
645
700
    if (Enigmail.msg.securityInfo) {
646
701
      var clipHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].createInstance(Components.interfaces.nsIClipboardHelper);
647
 
      clipHelper.copyString(Enigmail.msg.securityInfo.fullStatusInfo);
 
702
      clipHelper.copyString(Enigmail.msg.securityInfo.statusInfo);
648
703
    }
649
704
 
650
705
  },
653
708
  {
654
709
    if (! Enigmail.msg.securityInfo) return;
655
710
 
656
 
    EnigmailFuncs.showPhoto(window, Enigmail.msg.securityInfo.keyId, Enigmail.msg.securityInfo.userId);
 
711
    let enigmailSvc = EnigmailCommon.getService();
 
712
    let keyId = enigmailSvc.getPubKeyIdForSubkey(Enigmail.msg.securityInfo.keyId);
 
713
 
 
714
    EnigmailFuncs.showPhoto(window, keyId, Enigmail.msg.securityInfo.userId);
657
715
  },
658
716
 
659
717
 
661
719
  {
662
720
    if (! Enigmail.msg.securityInfo) return;
663
721
 
664
 
    EnigmailFuncs.openKeyDetails(window, Enigmail.msg.securityInfo.keyId, false);
 
722
    let enigmailSvc = EnigmailCommon.getService();
 
723
    let keyId = enigmailSvc.getPubKeyIdForSubkey(Enigmail.msg.securityInfo.keyId);
 
724
 
 
725
    EnigmailFuncs.openKeyDetails(window, keyId, false);
665
726
  },
666
727
 
667
728
  createRuleFromAddress: function (emailAddressNode)
891
952
  return canDetach && Enigmail.hdrView.enigCanDetachAttachments();
892
953
}
893
954
 
894
 
// Distinction between createNewAttachmentInfo and AttachmentInfo
895
 
// due to renamed function in MsgHdrView.js in TB trunk code.
896
 
// Can be removed in later versions of Enigmail.
897
 
 
898
 
try
899
 
{
900
 
     createNewAttachmentInfo.prototype.origOpenAttachment = createNewAttachmentInfo.prototype.openAttachment;
901
 
     createNewAttachmentInfo.prototype.openAttachment = function ()
902
 
     {
903
 
       this.origOpenAttachment();
904
 
     };
905
 
}
906
 
catch (ex)
907
 
{
908
 
    AttachmentInfo.prototype.origOpenAttachment = AttachmentInfo.prototype.openAttachment;
909
 
    AttachmentInfo.prototype.openAttachment = function ()
910
 
    {
911
 
      this.origOpenAttachment();
912
 
    };
913
 
}
914
 
 
915
955
 
916
956
////////////////////////////////////////////////////////////////////////////////
917
957
// THE FOLLOWING EXTENDS CODE IN msgHdrViewOverlay.js
947
987
        throw Components.results.NS_NOINTERFACE;
948
988
      },
949
989
 
950
 
      updateSecurityStatus: function (uriSpec, exitCode, statusFlags, keyId, userId, sigDetails, errorMsg, blockSeparation, uri)
 
990
      updateSecurityStatus: function (unusedUriSpec, exitCode, statusFlags, keyId, userId, sigDetails, errorMsg, blockSeparation, uri, encToDetails)
951
991
      {
952
 
        // uri is not used here; added for compatibility to other addons
953
 
        EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: uriSpec="+uriSpec+"\n");
954
 
 
955
 
        var msgUriSpec = Enigmail.msg.getCurrentMsgUriSpec();
956
 
 
957
 
        EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: msgUriSpec="+msgUriSpec+"\n");
958
 
 
959
 
        if (!uriSpec || (uriSpec == msgUriSpec)) {
960
 
          Enigmail.hdrView.updateHdrIcons(exitCode, statusFlags, keyId, userId, sigDetails, errorMsg, blockSeparation);
 
992
        // unusedUriSpec is not used anymore. It is here becaue other addons rely on the same API
 
993
 
 
994
        let uriSpec = (uri ? uri.spec : null);
 
995
 
 
996
        EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: uri.spec="+uriSpec+"\n");
 
997
 
 
998
        let msgUriSpec = Enigmail.msg.getCurrentMsgUriSpec();
 
999
 
 
1000
        let url = {};
 
1001
        try{
 
1002
          let messenger = Components.classes["@mozilla.org/messenger;1"].getService(Components.interfaces.nsIMessenger);
 
1003
          let msgSvc = messenger.messageServiceFromURI(msgUriSpec);
 
1004
          msgSvc.GetUrlForUri(msgUriSpec, url, null);
 
1005
        }
 
1006
        catch (ex) {
 
1007
          EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: could not determine URL\n");
 
1008
          url.value = { spec: "enigmail://invalid/message" };
 
1009
        }
 
1010
 
 
1011
        EnigmailCommon.DEBUG_LOG("enigmailMsgHdrViewOverlay.js: EnigMimeHeaderSink.updateSecurityStatus: url="+url.value.spec+"\n");
 
1012
 
 
1013
        if (!uriSpec || uriSpec.search(/^enigmail:/) == 0 || (uriSpec.indexOf(url.value.spec) == 0 &&
 
1014
              uriSpec.substr(url.value.spec.length).search(/([\?&].*)?$/) == 0)) {
 
1015
          Enigmail.hdrView.updateHdrIcons(exitCode, statusFlags, keyId, userId, sigDetails,
 
1016
                                          errorMsg, blockSeparation, encToDetails,
 
1017
                                          null);   // xtraStatus
 
1018
        }
 
1019
 
 
1020
        if (uriSpec && uriSpec.search(/^enigmail:message\//) == 0) {
 
1021
          // display header for broken MS-Exchange message
 
1022
          let ebeb = document.getElementById("enigmailBrokenExchangeBox");
 
1023
          ebeb.removeAttribute("collapsed");
961
1024
        }
962
1025
 
963
1026
        return;