commit 7169642643b91f203782d8e6a885d53fbb43f49e Author: Arthur Edelstein arthuredelstein@gmail.com Date: Tue Dec 8 16:59:22 2015 -0800
Bug #6314: Round Date header down to nearest minute. --- components/torbirdy.js | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)
diff --git a/components/torbirdy.js b/components/torbirdy.js index 5867f98..1dd87fe 100644 --- a/components/torbirdy.js +++ b/components/torbirdy.js @@ -312,6 +312,25 @@ var TorBirdyOldPrefs = [ "network.proxy.http", ]
+// sanitizeDateHeaders() +// Run this function to make sure that the Date header in a new message +// is rounded down to the nearest minute. +function sanitizeDateHeaders() { + // Import the jsmime module that is used to generate mail headers. + let { jsmime } = Components.utils.import("resource:///modules/jsmime.jsm"); + // Inject our own structured encoder to the default header emitter, + // to override the default Date encoder with a rounded-down version. + jsmime.headeremitter.addStructuredEncoder("Date", function (date) { + // Copy date + let roundedDate = new Date(date.getTime()); + // Round down to the nearest minute. + roundedDate.setSeconds(0); + // Use the headeremitter's addDate function to format it properly. + // `this` magically refers to the headeremitter object. + this.addDate(roundedDate); + }); +} + function TorBirdy() { this._uninstall = false; this.wrappedJSObject = this; @@ -339,6 +358,7 @@ function TorBirdy() {
this.setAccountPrefs(); this.setPrefs(); + sanitizeDateHeaders();
dump("TorBirdy registered!\n"); }
tor-commits@lists.torproject.org