tor-commits
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
June 2014
- 21 participants
- 1213 discussions
commit 888fed495d12475444747b527663fefaff907753
Author: Arthur Edelstein <arthuredelstein(a)gmail.com>
Date: Mon Jun 2 11:14:37 2014 -0700
remove obsolete jshooks files
---
src/chrome/content/jshooks.js | 362 ---------------------------------------
src/chrome/content/jshooks4.js | 267 -----------------------------
src/chrome/content/torbutton.js | 1 -
3 files changed, 630 deletions(-)
diff --git a/src/chrome/content/jshooks.js b/src/chrome/content/jshooks.js
deleted file mode 100644
index a47cb5a..0000000
--- a/src/chrome/content/jshooks.js
+++ /dev/null
@@ -1,362 +0,0 @@
-// Bug 1506 P0: These hooks are only relevant to FF 3.5 and below.
-
-window.__HookObjects = function() {
- if (typeof(window.__tb_hooks_ran) === "boolean") {
- return false;
- }
-
-
- /* For reference/debugging only:
- if(false && window.__tb_set_uagent===true) {
- var tmp_oscpu = window.__tb_oscpu;
- var tmp_platform = window.__tb_platform;
- var tmp_productSub = window.__tb_productSub;
-
- try {
- if(!(window.navigator.__proto__ == null) ||
- typeof(window.navigator.__defineGetter__) === "function") {
- var cE = window.navigator.cookieEnabled;
- var lang = window.navigator.language;
- var uA = window.navigator.userAgent;
- var v = window.navigator.vendor;
- var vS = window.navigator.vendorSub;
- var jE = window.navigator.javaEnabled;
- var pl = new window.Array();
- var mT = new window.Object();
- //var pl = window.navigator.plugins;
- //var mT = window.navigator.mimeTypes;
-
- window.navigator.__defineGetter__("appCodeName", function() { return "Mozilla";});
- window.navigator.__defineGetter__("appName", function() { return "Netscape";});
- window.navigator.__defineGetter__("appVersion", function() { return "5.0";});
- window.navigator.__defineGetter__("buildID", function() { return 0;});
- window.navigator.__defineGetter__("cookieEnabled", function() { return cE;});
- window.navigator.__defineGetter__("language", function() { return lang;});
- window.navigator.__defineGetter__("mimeTypes", function() { return mT;});
- window.navigator.__defineGetter__("onLine", function() { return true;});
- window.navigator.__defineGetter__("oscpu", function() { return tmp_oscpu;});
- window.navigator.__defineGetter__("platform", function() { return tmp_platform;});
- window.navigator.__defineGetter__("plugins", function() { return pl;});
- window.navigator.__defineGetter__("product", function() { return "Gecko";});
- window.navigator.__defineGetter__("productSub", function() { return tmp_productSub;});
- window.navigator.__defineGetter__("securityPolicy", function() { return "";});
- window.navigator.__defineGetter__("userAgent", function() { return uA;});
- window.navigator.__defineGetter__("vendor", function() { return v;});
- window.navigator.__defineGetter__("vendorSub", function() { return vS;});
- window.navigator.__defineGetter__("javaEnabled", function() { return jE;});
- window.navigator.__proto__ = null;
- }
- } catch(e) {
- }
- } */
-
-
- /* Hrmm.. Is it possible this breaks plugin install or other weird shit
- for non-windows OS's? */
- if(window.__tb_set_uagent===true) {
- var tmp_oscpu = window.__tb_oscpu;
- var tmp_platform = window.__tb_platform;
- var tmp_productSub = window.__tb_productSub;
- var tmp_locale = window.__tb_locale;
-
- // This is just unreasonable.. Firefox caches
- // window.navigator.__proto__ between same-origin loads of a document.
- // So this means when we null it out, we lose most of the navigator
- // object for subsequent loads. I tried doing the whole-object hooks
- // like we do for Date, screen, and history, but it seems to behave
- // like Date upon delete, allowing unmasking for that case. Talk about
- // rock+hard place.
- try {
- if(!(window.navigator.__proto__ == null) ||
- typeof(window.navigator.__defineGetter__) === "function") {
- var tmpNav = new window.Object();
- for(var i in window.navigator) {
- tmpNav[i] = window.navigator[i];
-
- // XPCNative objects are special for some reason. So far,
- // all we have are "plugins" and mimeTypes, which
- // are empty anyways. Disable them.
- //if(tmpNav[i].toString().indexOf("XPCNative") != -1) {
- if(i === "plugins" || i === "mimeTypes") {
- tmpNav[i] = new Array();
- }
- (function() { // crazy scope hack to preserve i
- var holder = i;
- window.navigator.__defineGetter__(i, function() { return tmpNav[holder];});
- })();
- }
-
- if(tmp_locale != false) {
- window.navigator.__defineGetter__("language", function() { return tmp_locale;});
- }
- window.navigator.__defineGetter__("oscpu", function() { return tmp_oscpu;});
- window.navigator.__defineGetter__("productSub", function() { return tmp_productSub;});
- window.navigator.__defineGetter__("buildID", function() { return 0;});
- window.navigator.__proto__ = null;
- }
- } catch(e) {
- }
- }
-
- // No pref for this.. Should be mostly harmless..
- if(true) {
- var origHeight = window.innerHeight;
- var origWidth = window.innerWidth;
- window.__proto__.__defineGetter__("innerHeight", function() { return Math.round(origHeight/50.0)*50;});
- window.__proto__.__defineGetter__("innerWidth", function() { return Math.round(origWidth/50.0)*50;});
- window.__proto__.__defineGetter__("outerWidth", function() { return window.innerWidth;});
- window.__proto__.__defineGetter__("outerHeight", function() { return window.innerHeight;});
- window.__proto__.__defineGetter__("screenX", function() { return 0;});
- window.__proto__.__defineGetter__("screenY", function() { return 0;});
- window.__proto__.__defineGetter__("pageXOffset", function() { return 0;});
- window.__proto__.__defineGetter__("pageYOffset", function() { return 0;});
-
- // Wrap in anonymous function to protect scr variables just in case.
- (function () {
- // We can't define individual getters/setters for window.screen
- // for some reason. works in html but not in these hooks.. No idea why
-
- var scr = new Object();
- var origScr = window.screen;
- scr.__defineGetter__("height", function() { return window.innerHeight; });
- scr.__defineGetter__("width", function() { return window.innerWidth; });
-
- scr.__defineGetter__("availTop", function() { return 0;});
- scr.__defineGetter__("availLeft", function() { return 0;});
-
- scr.__defineGetter__("top", function() { return 0;});
- scr.__defineGetter__("left", function() { return 0;});
-
- scr.__defineGetter__("availHeight", function() { return window.innerHeight;});
- scr.__defineGetter__("availWidth", function() { return window.innerWidth;});
-
- scr.__defineGetter__("colorDepth", function() { return origScr.colorDepth;});
- scr.__defineGetter__("pixelDepth", function() { return origScr.pixelDepth;});
-
- scr.__defineGetter__("availTop", function() { return 0;});
- scr.__defineGetter__("availLeft", function() { return 0;});
-
- window.__defineGetter__("screen", function() { return scr; });
- window.__defineSetter__("screen", function(a) { return; });
- window.__proto__.__defineGetter__("screen", function() { return scr; });
-
- // Needed for Firefox bug 418983:
- with(window) {
- var screen = scr;
- }
-
- })();
-
- }
-
-
- if(window.__tb_hook_date == true) { // don't feel like indenting this
-
- /* Timezone fix for http://gemal.dk/browserspy/css.html */
- var reparseDate = function(d, str) {
- /* Rules:
- * - If they specify a timezone, it is converted to local
- * time. All getter fucntions then convert properly to
- * UTC. No mod needed.
- * - If they specify UTC timezone, then it is converted
- * to local time. All getter functions then convert back.
- * No mod needed.
- * - If they specify NO timezone, it is local time.
- * The UTC conversion then reveals the offset. Fix.
- */
-
- /* Step 1: Remove everything inside ()'s (they are "comments") */
- var s = str.toLowerCase();
- var re = new RegExp('\\(.*\\)', "gm");
- s = s.replace(re, "");
-
- /* Step 2: Look for +/-. If found, do nothing */
- if(s.indexOf("+") == -1 && s.indexOf("-") == -1) {
- /* Step 3: Look for timezone string from
- * http://lxr.mozilla.org/seamonkey/source/js/src/jsdate.c
- */
- if(s.indexOf(" gmt") == -1 && s.indexOf(" ut") == -1 &&
- s.indexOf(" est") == -1 && s.indexOf(" edt") == -1 &&
- s.indexOf(" cst") == -1 && s.indexOf(" cdt") == -1 &&
- s.indexOf(" mst") == -1 && s.indexOf(" mdt") == -1 &&
- s.indexOf(" pst") == -1 && s.indexOf(" pdt")) {
- /* No timezone specified. Adjust. */
- d.setTime(d.getTime()-(d.getTimezoneOffset()*60000));
- }
- }
- }
-
- var origDate = window.Date;
- var newDate = function() {
- /* DO NOT make 'd' a member! EvilCode will use it! */
- var d;
- var a = arguments;
- /* apply doesn't seem to work for constructors :( */
- if(arguments.length == 0) d=new origDate();
- if(arguments.length == 1) d=new origDate(a[0]);
- if(arguments.length == 3) d=new origDate(a[0],a[1],a[2]);
- if(arguments.length == 4) d=new origDate(a[0],a[1],a[2],a[3]);
- if(arguments.length == 5) d=new origDate(a[0],a[1],a[2],a[3],a[4]);
- if(arguments.length == 6) d=new origDate(a[0],a[1],a[2],a[3],a[4],a[5]);
- if(arguments.length == 7) d=new origDate(a[0],a[1],a[2],a[3],a[4],a[5],a[6]);
- if(arguments.length > 7) d=new origDate();
-
- if(arguments.length > 0) {
- if((arguments.length == 1) && typeof(a[0]) == "string") {
- reparseDate(d,a[0]);
- } else if(arguments.length > 1) {
- /* Numerical value. No timezone given, adjust. */
- d.setTime(d.getTime()-(d.getTimezoneOffset()*60000));
- }
- }
-
- // XXX: the native valueOf seems to sometimes return toString and
- // sometimes return getTime depending on context (which we can't detect)
- // It seems as though we can't win here..
- window.Date.prototype.valueOf=function(){return d.getTime()};
- window.Date.prototype.getTime=function(){return d.getTime();} /* UTC already */
- window.Date.prototype.getFullYear=function(){return d.getUTCFullYear();}
- window.Date.prototype.getYear=function() {return d.getYear();}
- window.Date.prototype.getMonth=function(){return d.getUTCMonth();}
- window.Date.prototype.getDate=function() {return d.getUTCDate();}
- window.Date.prototype.getDay=function() {return d.getUTCDay();}
- window.Date.prototype.getHours=function(){return d.getUTCHours();}
- window.Date.prototype.getMinutes=function(){return d.getUTCMinutes();}
- window.Date.prototype.getSeconds=function(){return d.getUTCSeconds();}
- window.Date.prototype.getMilliseconds=function(){return d.getUTCMilliseconds();}
- window.Date.prototype.getTimezoneOffset=function(){return 0;}
-
- window.Date.prototype.setTime =
- function(x) {return d.setTime(x);}
- window.Date.prototype.setFullYear=function(x){return d.setUTCFullYear(x);}
- window.Date.prototype.setYear=function(x){return d.setYear(x);}
- window.Date.prototype.setMonth=function(x){return d.setUTCMonth(x);}
- window.Date.prototype.setDate=function(x){return d.setUTCDate(x);}
- window.Date.prototype.setDay=function(x){return d.setUTCDay(x);}
- window.Date.prototype.setHours=function(x){return d.setUTCHours(x);}
- window.Date.prototype.setMinutes=function(x){return d.setUTCMinutes(x);}
- window.Date.prototype.setSeconds=function(x){return d.setUTCSeconds(x);}
- window.Date.prototype.setMilliseconds=
- function(x) {return d.setUTCMilliseconds(x);}
-
- window.Date.prototype.getUTCFullYear=function(){return d.getUTCFullYear();}
- window.Date.prototype.getUTCMonth=function(){return d.getUTCMonth();}
- window.Date.prototype.getUTCDate=function() {return d.getUTCDate();}
- window.Date.prototype.getUTCDay=function() {return d.getUTCDay();}
- window.Date.prototype.getUTCHours=function(){return d.getUTCHours();}
- window.Date.prototype.getUTCMinutes=function(){return d.getUTCMinutes();}
- window.Date.prototype.getUTCSeconds=function(){return d.getUTCSeconds();}
- window.Date.prototype.getUTCMilliseconds=
- function(){return d.getUTCMilliseconds();}
-
- window.Date.prototype.setUTCFullYear=function(x){return d.setUTCFullYear(x);}
- window.Date.prototype.setUTCMonth=function(x){return d.setUTCMonth(x);}
- window.Date.prototype.setUTCDate=function(x){return d.setUTCDate(x);}
- window.Date.prototype.setUTCDay=function(x){return d.setUTCDay(x);}
- window.Date.prototype.setUTCHours=function(x){return d.setUTCHours(x);}
- window.Date.prototype.setUTCMinutes=function(x){return d.setUTCMinutes(x);}
- window.Date.prototype.setUTCSeconds=function(x){return d.setUTCSeconds(x);}
- window.Date.prototype.setUTCMilliseconds=
- function(x) {return d.setUTCMilliseconds(x);}
-
- window.Date.prototype.toUTCString=function(){return d.toUTCString();}
- window.Date.prototype.toGMTString=function(){return d.toGMTString();}
- window.Date.prototype.toString=function(){return d.toUTCString();}
- window.Date.prototype.toLocaleString=function(){return d.toUTCString();}
-
- /* Fuck 'em if they can't take a joke: */
- window.Date.prototype.toLocaleTimeString=function(){return d.toUTCString();}
- window.Date.prototype.toLocaleDateString=function(){return d.toUTCString();}
- window.Date.prototype.toDateString=function(){return d.toUTCString();}
- window.Date.prototype.toTimeString=function(){return d.toUTCString();}
-
- /* Hack to solve the problem of multiple date objects
- * all sharing the same lexically scoped d every time a new one is
- * created. This hack creates a fresh new prototype reference for
- * the next object to use with a different d binding.
- * It doesn't break stuff because at the start of this function,
- * the interpreter grabbed a reference to Date.prototype. During
- * this function we modified Date.prototype to create the new methods
- * with the lexically scoped d reference.
- */
-
- // valueOf gets called for implicit string conversion??
- window.Date.prototype = window.eval(window.Object.prototype.toSource());
- return d.toUTCString();
- }
-
- // Need to do this madness so that we use the window's notion of Function
- // for the constructor. If this is not done, then changes to Function
- // and Object in the real window are not propogated to Date (for example,
- // to extend the Date class with extra functions via a generic inheritance
- // framework added onto Object - this is done by livejournal and others)
- var newWrappedDate = window.eval("function() { return newDate(); }");
-
- newWrappedDate.parse=function(s) {
- var d = new origDate(s);
- if(typeof(s) == "string") reparseDate(d, s);
- return d.getTime();
- }
-
- newWrappedDate.now=function(){return origDate.now();}
- newWrappedDate.UTC=function(){return origDate.apply(origDate, arguments); }
-
- // d = new Date();
- // d.__proto__ === Date.prototype
- // d.constructor === Date
- // d.__proto__ === d.constructor.prototype
- // Date.prototype.__proto__ === Date.prototype.constructor.prototype
- // window.__proto__ === Window.prototypea
-
- // XXX: This is still not enough.. But at least we get to claim the
- // unmasking is violating ECMA-262 by allowing the deletion of var's
- // (FF Bug 419598)
- with(window) {
- var Date = newWrappedDate;
- }
-
- } // window.__tb_hook_date == true
-
- with(window) {
- XPCNativeWrapper = function(a) { return a; };
- }
- with(window.__proto__) {
- XPCNativeWrapper = function(a) { return a; };
- }
-
- // Gain access to the implict global object (which interestingly claims
- // to be a 'Window' but is not the same class as 'window'...) and
- // hide XPCNativeWrapper there.
- // This seems no longer necessary in FF2.0.0.13+, and may break FF3?
- //with(window.valueOf.call().__proto__) {
- // XPCNativeWrapper = function(a) { return a; };
- //}
-
- // FIXME: Commenting this may open us to unmasking, but allows the hooks to
- // work on FF4. Since we lost the bulletproof resolution masking battle to
- // CSS3 anyways, let's just do what we can.
- //window.__proto__ = null; // Prevent delete from unmasking our properties.
- return true;
-}
-
-if (typeof(window.__HookObjects) != "undefined") {
- var res = 23;
-
- if(!window.__HookObjects()) {
- res = 13;
- }
-
- window.__HookObjects = undefined;
- delete window['__HookObjects'];
- delete window['__CheckFlag'];
- delete window['__tb_set_uagent'];
- delete window['__tb_oscpu'];
- delete window['__tb_platform'];
- delete window['__tb_productSub'];
-
- window.__tb_hooks_ran = true;
-
- res; // Secret result code.
-} else {
- 42;
-}
diff --git a/src/chrome/content/jshooks4.js b/src/chrome/content/jshooks4.js
deleted file mode 100644
index c15e5c5..0000000
--- a/src/chrome/content/jshooks4.js
+++ /dev/null
@@ -1,267 +0,0 @@
-// Bug 1506 P1: We're almost certainly going to replace this stuff with direct
-// patches of the JS VM.
-
-window.__HookObjects = function() {
- if (typeof(window.__tb_hooks_ran) === "boolean") {
- return false;
- }
-
- // No pref for this.. Should be mostly harmless..
- if(true) {
- // Wrap in anonymous function to protect scr variables just in case.
- (function () {
- var origHeight = window.innerHeight;
- var origWidth = window.innerWidth;
-
- Object.defineProperty(window.__proto__, "innerWidth",
- {get: function() { return Math.round(origWidth/50.0)*50;},
- configurable: false});
- Object.defineProperty(window.__proto__, "innerHeight",
- {get: function() { return Math.round(origHeight/50.0)*50;},
- configurable: false});
- Object.defineProperty(window.__proto__, "outerWidth",
- {get: function() { return Math.round(origWidth/50.0)*50;},
- configurable: false});
- Object.defineProperty(window.__proto__, "outerHeight",
- {get: function() { return Math.round(origHeight/50.0)*50;},
- configurable: false});
- Object.defineProperty(window.__proto__, "screenX",
- {get: function() { return 0;},
- configurable: false});
- Object.defineProperty(window.__proto__, "screenY",
- {get: function() { return 0;},
- configurable: false});
- Object.defineProperty(MouseEvent.prototype, "screenX",
- {get: function() { return this.clientX;},
- configurable: false});
- Object.defineProperty(MouseEvent.prototype, "screenY",
- {get: function() { return this.clientY;},
- configurable: false});
-
- // We can't define individual getters/setters for window.screen
- // for some reason. works in html but not in these hooks.. No idea why
-
- var scr = new Object();
- var origScr = window.screen;
- scr.__defineGetter__("height", function() { return window.innerHeight; });
- scr.__defineGetter__("width", function() { return window.innerWidth; });
-
- scr.__defineGetter__("availTop", function() { return 0;});
- scr.__defineGetter__("availLeft", function() { return 0;});
-
- scr.__defineGetter__("top", function() { return 0;});
- scr.__defineGetter__("left", function() { return 0;});
-
- scr.__defineGetter__("availHeight", function() { return window.innerHeight;});
- scr.__defineGetter__("availWidth", function() { return window.innerWidth;});
-
- scr.__defineGetter__("colorDepth", function() { return origScr.colorDepth;});
- scr.__defineGetter__("pixelDepth", function() { return origScr.pixelDepth;});
-
- scr.__defineGetter__("availTop", function() { return 0;});
- scr.__defineGetter__("availLeft", function() { return 0;});
-
- Object.defineProperty(window.__proto__, "screen",
- {get: function() { return scr;},
- configurable: false});
-
- })();
-
- }
-
- if(window.__tb_hook_date == true) { // don't feel like indenting this
- // XXX: events should not have timeStamp, unless they are of type MozBeforePaint?
-
- /* Timezone fix for http://gemal.dk/browserspy/css.html */
- var reparseDate = function(d, str) {
- /* Rules:
- * - If they specify a timezone, it is converted to local
- * time. All getter fucntions then convert properly to
- * UTC. No mod needed.
- * - If they specify UTC timezone, then it is converted
- * to local time. All getter functions then convert back.
- * No mod needed.
- * - If they specify NO timezone, it is local time.
- * The UTC conversion then reveals the offset. Fix.
- */
-
- /* Step 1: Remove everything inside ()'s (they are "comments") */
- var s = str.toLowerCase();
- var re = new RegExp('\\(.*\\)', "gm");
- s = s.replace(re, "");
-
- /* Step 2: Look for +/-. If found, do nothing */
- if(s.indexOf("+") == -1 && s.indexOf("-") == -1) {
- /* Step 3: Look for timezone string from
- * http://lxr.mozilla.org/seamonkey/source/js/src/jsdate.c
- */
- if(s.indexOf(" gmt") == -1 && s.indexOf(" ut") == -1 &&
- s.indexOf(" est") == -1 && s.indexOf(" edt") == -1 &&
- s.indexOf(" cst") == -1 && s.indexOf(" cdt") == -1 &&
- s.indexOf(" mst") == -1 && s.indexOf(" mdt") == -1 &&
- s.indexOf(" pst") == -1 && s.indexOf(" pdt")) {
- /* No timezone specified. Adjust. */
- d.setTime(d.getTime()-(d.getTimezoneOffset()*60000));
- }
- }
- }
-
- // XXX: Each origin should have its own unique offset from the real date
- // XXX: Subsequent calls to the ms timer should be monotonically increasing, but randomized
-
- var origDate = window.Date;
- var newDate = function() {
- /* DO NOT make 'd' a member! EvilCode will use it! */
- var d;
- var a = arguments;
- /* apply doesn't seem to work for constructors :( */
- if(arguments.length == 0) d=new origDate();
- if(arguments.length == 1) d=new origDate(a[0]);
- if(arguments.length == 3) d=new origDate(a[0],a[1],a[2]);
- if(arguments.length == 4) d=new origDate(a[0],a[1],a[2],a[3]);
- if(arguments.length == 5) d=new origDate(a[0],a[1],a[2],a[3],a[4]);
- if(arguments.length == 6) d=new origDate(a[0],a[1],a[2],a[3],a[4],a[5]);
- if(arguments.length == 7) d=new origDate(a[0],a[1],a[2],a[3],a[4],a[5],a[6]);
- if(arguments.length > 7) d=new origDate();
-
- if(arguments.length > 0) {
- if((arguments.length == 1) && typeof(a[0]) == "string") {
- reparseDate(d,a[0]);
- } else if(arguments.length > 1) {
- /* Numerical value. No timezone given, adjust. */
- d.setTime(d.getTime()-(d.getTimezoneOffset()*60000));
- }
- }
-
- // XXX: the native valueOf seems to sometimes return toString and
- // sometimes return getTime depending on context (which we can't detect)
- // It seems as though we can't win here..
- window.Date.prototype.valueOf=function(){return d.getTime()};
- window.Date.prototype.getTime=function(){return d.getTime();} /* UTC already */
- window.Date.prototype.getFullYear=function(){return d.getUTCFullYear();}
- window.Date.prototype.getYear=function() {return d.getYear();}
- window.Date.prototype.getMonth=function(){return d.getUTCMonth();}
- window.Date.prototype.getDate=function() {return d.getUTCDate();}
- window.Date.prototype.getDay=function() {return d.getUTCDay();}
- window.Date.prototype.getHours=function(){return d.getUTCHours();}
- window.Date.prototype.getMinutes=function(){return d.getUTCMinutes();}
- window.Date.prototype.getSeconds=function(){return d.getUTCSeconds();}
- window.Date.prototype.getMilliseconds=function(){return d.getUTCMilliseconds();}
- window.Date.prototype.getTimezoneOffset=function(){return 0;}
-
- window.Date.prototype.setTime =
- function(x) {return d.setTime(x);}
- window.Date.prototype.setFullYear=function(x){return d.setUTCFullYear(x);}
- window.Date.prototype.setYear=function(x){return d.setYear(x);}
- window.Date.prototype.setMonth=function(x){return d.setUTCMonth(x);}
- window.Date.prototype.setDate=function(x){return d.setUTCDate(x);}
- window.Date.prototype.setDay=function(x){return d.setUTCDay(x);}
- window.Date.prototype.setHours=function(x){return d.setUTCHours(x);}
- window.Date.prototype.setMinutes=function(x){return d.setUTCMinutes(x);}
- window.Date.prototype.setSeconds=function(x){return d.setUTCSeconds(x);}
- window.Date.prototype.setMilliseconds=
- function(x) {return d.setUTCMilliseconds(x);}
-
- window.Date.prototype.getUTCFullYear=function(){return d.getUTCFullYear();}
- window.Date.prototype.getUTCMonth=function(){return d.getUTCMonth();}
- window.Date.prototype.getUTCDate=function() {return d.getUTCDate();}
- window.Date.prototype.getUTCDay=function() {return d.getUTCDay();}
- window.Date.prototype.getUTCHours=function(){return d.getUTCHours();}
- window.Date.prototype.getUTCMinutes=function(){return d.getUTCMinutes();}
- window.Date.prototype.getUTCSeconds=function(){return d.getUTCSeconds();}
- window.Date.prototype.getUTCMilliseconds=
- function(){return d.getUTCMilliseconds();}
-
- window.Date.prototype.setUTCFullYear=function(x){return d.setUTCFullYear(x);}
- window.Date.prototype.setUTCMonth=function(x){return d.setUTCMonth(x);}
- window.Date.prototype.setUTCDate=function(x){return d.setUTCDate(x);}
- window.Date.prototype.setUTCDay=function(x){return d.setUTCDay(x);}
- window.Date.prototype.setUTCHours=function(x){return d.setUTCHours(x);}
- window.Date.prototype.setUTCMinutes=function(x){return d.setUTCMinutes(x);}
- window.Date.prototype.setUTCSeconds=function(x){return d.setUTCSeconds(x);}
- window.Date.prototype.setUTCMilliseconds=
- function(x) {return d.setUTCMilliseconds(x);}
-
- window.Date.prototype.toUTCString=function(){return d.toUTCString();}
- window.Date.prototype.toGMTString=function(){return d.toGMTString();}
- window.Date.prototype.toString=function(){return d.toUTCString();}
- window.Date.prototype.toLocaleString=function(){return d.toUTCString();}
-
- /* Fuck 'em if they can't take a joke: */
- window.Date.prototype.toLocaleTimeString=function(){return d.toUTCString();}
- window.Date.prototype.toLocaleDateString=function(){return d.toUTCString();}
- window.Date.prototype.toDateString=function(){return d.toUTCString();}
- window.Date.prototype.toTimeString=function(){return d.toUTCString();}
-
- /* Hack to solve the problem of multiple date objects
- * all sharing the same lexically scoped d every time a new one is
- * created. This hack creates a fresh new prototype reference for
- * the next object to use with a different d binding.
- * It doesn't break stuff because at the start of this function,
- * the interpreter grabbed a reference to Date.prototype. During
- * this function we modified Date.prototype to create the new methods
- * with the lexically scoped d reference.
- */
-
- // valueOf gets called for implicit string conversion??
- window.Date.prototype = window.eval(window.Object.prototype.toSource());
- return d.toUTCString();
- }
-
- // Need to do this madness so that we use the window's notion of Function
- // for the constructor. If this is not done, then changes to Function
- // and Object in the real window are not propogated to Date (for example,
- // to extend the Date class with extra functions via a generic inheritance
- // framework added onto Object - this is done by livejournal and others)
- var newWrappedDate = window.eval("function() { return newDate(); }");
-
- newWrappedDate.parse=function(s) {
- var d = new origDate(s);
- if(typeof(s) == "string") reparseDate(d, s);
- return d.getTime();
- }
-
- newWrappedDate.now=function(){return origDate.now();}
- newWrappedDate.UTC=function(){return origDate.apply(origDate, arguments); }
-
- // d = new Date();
- // d.__proto__ === Date.prototype
- // d.constructor === Date
- // d.__proto__ === d.constructor.prototype
- // Date.prototype.__proto__ === Date.prototype.constructor.prototype
- // window.__proto__ === Window.prototypea
-
- Object.defineProperty(window.__proto__, "Date",
- {get: function() { return newWrappedDate;},
- configurable: false});
-
- } // window.__tb_hook_date == true
-
- //Object.defineProperty(window.Components.__proto__, "lookupMethod",
- // {get: function() { return function (a,b) { return function() { return a[b]; }; };},
- // configurable: false});
-
- return true;
-}
-
-if (typeof(window.__HookObjects) != "undefined") {
- var res = 23;
-
- if(!window.__HookObjects()) {
- res = 13;
- }
-
- window.__HookObjects = undefined;
- delete window['__HookObjects'];
- delete window['__CheckFlag'];
- delete window['__tb_set_uagent'];
- delete window['__tb_oscpu'];
- delete window['__tb_platform'];
- delete window['__tb_productSub'];
-
- window.__tb_hooks_ran = true;
-
- res; // Secret result code.
-} else {
- 42;
-}
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index ee49ae4..589e7c5 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -21,7 +21,6 @@ const k_tb_tor_check_failed_topic = "Torbutton:TorCheckFailed";
// status
var m_tb_wasinited = false;
var m_tb_prefs = false;
-var m_tb_jshooks = false;
var m_tb_plugin_string = false;
var m_tb_is_main_window = false;
var m_tb_hidden_browser = false;
1
0
[tor-browser-bundle/master] Bug 11630: Make rules.sqlite deterministic.
by gk@torproject.org 05 Jun '14
by gk@torproject.org 05 Jun '14
05 Jun '14
commit d7dc1e0781aa2735e6ed98d68fed9f54f1c2a374
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jun 5 12:18:29 2014 +0000
Bug 11630: Make rules.sqlite deterministic.
It turned out that the rules.sqlite file got already deterministic by
running VACUUM before closing the connection. The different bytes in
some meta data were due to having an old rules.sqlite in src/defaults.
SQLite takes the values found there as the starting point and increments
them during the new run of the makexpi script.
---
gitian/descriptors/linux/gitian-bundle.yml | 11 +++++------
gitian/descriptors/mac/gitian-bundle.yml | 9 ++++-----
gitian/descriptors/windows/gitian-bundle.yml | 11 +++++------
gitian/fetch-inputs.sh | 6 ++----
gitian/verify-tags.sh | 2 +-
gitian/versions | 6 +-----
gitian/versions.alpha | 6 +-----
gitian/versions.beta | 6 +-----
gitian/versions.nightly | 4 ----
9 files changed, 20 insertions(+), 41 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 8543a33..c96d950 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -41,7 +41,6 @@ files:
- "linux-skeleton.zip"
- "linux-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "dtar.sh"
- "bare-version"
@@ -89,13 +88,13 @@ script: |
~/build/dzip.sh ../../../tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- #cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- #rm -f .git/refs/heads/master
- #./makexpi.sh
- #cp pkg/*.xpi ../tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
- #cd ..
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp pkg/*.xpi ../tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ cd ..
#
cp *.xpi tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions/
cd tor-browser/Browser/TorBrowser/Data/Browser/profile.default/extensions
diff --git a/gitian/descriptors/mac/gitian-bundle.yml b/gitian/descriptors/mac/gitian-bundle.yml
index d959d82..1e3649b 100644
--- a/gitian/descriptors/mac/gitian-bundle.yml
+++ b/gitian/descriptors/mac/gitian-bundle.yml
@@ -40,7 +40,6 @@ files:
- "dmg-desktop.tar.xz"
- "mac-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "ddmg.sh"
- "libdmg.patch"
@@ -95,12 +94,12 @@ script: |
~/build/dzip.sh ../../../$TORBROWSER_NAME.app/TorBrowser/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- # cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- # rm -f .git/refs/heads/master
- # ./makexpi.sh
- # cp pkg/*.xpi ../$TORBROWSER_NAME.app/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp pkg/*.xpi ../$TORBROWSER_NAME.app/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
# cd ..
#
cp *.xpi ./$TORBROWSER_NAME.app/TorBrowser/Data/Browser/profile.default/extensions/
diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml
index 8f21b3b..f4cbf9c 100644
--- a/gitian/descriptors/windows/gitian-bundle.yml
+++ b/gitian/descriptors/windows/gitian-bundle.yml
@@ -36,7 +36,6 @@ files:
- "windows-skeleton.zip"
- "win32-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "bare-version"
- "bundle.inputs"
@@ -78,13 +77,13 @@ script: |
~/build/dzip.sh ../../../tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- #cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- #rm -f .git/refs/heads/master
- #./makexpi.sh
- #cp ./pkg/*.xpi ../tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
- #cd ..
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp ./pkg/*.xpi ../tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ cd ..
#
cp *.xpi tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions
cd tbb-windows-installer/"Tor Browser"/Browser/TorBrowser/Data/Browser/profile.default/extensions
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 34e8727..39c1608 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -208,9 +208,8 @@ done
cd ..
-# NoScript and HTTPS-Everywhere are magikal and special:
+# NoScript is magikal and special:
wget -U "" -N ${NOSCRIPT_URL}
-wget -U "" -N ${HTTPSE_URL}
# So is mingw:
if [ ! -f mingw-w64-svn-snapshot.zip ];
@@ -229,7 +228,7 @@ fi
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
@@ -265,7 +264,6 @@ done
cd ..
ln -sf "$NOSCRIPT_PACKAGE" noscript(a)noscript.net.xpi
-ln -sf "$HTTPSE_PACKAGE" https-everywhere(a)eff.org.xpi
ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
ln -sf "$GCC_PACKAGE" gcc.tar.bz2
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 324a27a..4367e13 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -132,7 +132,7 @@ done
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/versions b/gitian/versions
index d37a117..1f74a48 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -10,7 +10,7 @@ TORBROWSER_TAG=bug11641
TOR_TAG=tor-0.2.4.22
TORLAUNCHER_TAG=bug11641
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630
+HTTPSE_TAG=3.5.1
NSIS_TAG=bug11641
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -41,13 +41,11 @@ PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
PARSLEY_VER=1.2
-HTTPSE_VER=3.5.1
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.22-sm+fx+fn.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index ce3520c..8fc13d6 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -10,7 +10,7 @@ TORBROWSER_TAG=tor-browser-24.5.0esr-4.x-1
TOR_TAG=tor-0.2.4.22
TORLAUNCHER_TAG=master
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630
+HTTPSE_TAG=3.5.1
NSIS_TAG=00133b8741eb8ca34fc8153d344c7c54a5e3fae9
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -41,13 +41,11 @@ PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
PARSLEY_VER=1.2
-HTTPSE_VER=3.5.1
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.22-sm+fx+fn.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 817a880..cebfae2 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -10,7 +10,7 @@ TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
TOR_TAG=tor-0.2.4.21
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5
+HTTPSE_TAG=3.5.1
NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -41,13 +41,11 @@ PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
PARSLEY_VER=1.2
-HTTPSE_VER=3.5.1
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.22-sm+fx+fn.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 9958aab..d3bfe31 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -40,14 +40,12 @@ M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
-HTTPSE_VER=3.5.1
PARSLEY_VER=1.2
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.20-fn+fx+sm.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=dae2abeb3c57240168c1fdfbf6c6664fa64859fb430ca1a05c218f81371f5ad1
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
1
0
[tor-browser/tor-browser-24.5.0esr-4.x-1] Make the CONNECT Host header the same as the Request-URI.
by mikeperry@torproject.org 05 Jun '14
by mikeperry@torproject.org 05 Jun '14
05 Jun '14
commit dab5565168923a476dadc32e6cc093a77d704582
Author: David Fifield <david(a)bamsoftware.com>
Date: Sat May 31 16:59:11 2014 -0700
Make the CONNECT Host header the same as the Request-URI.
It's possible to construct a request where the Host header differs from
the authority in the URL, for example in an extension with
nsIHttpChannel and setRequestHeader. MakeConnectString generates a
host:port string for the CONNECT Request-Line, but peeks into the
tunneled request in order to copy the Host header to the proxy request.
Instead, use the same host:port string for Host as is used in the
Request-URI, to avoid revealing the plaintext of the Host header outside
of the tunnel.
Backport of https://hg.mozilla.org/mozilla-central/rev/a1f6458800d4.
---
netwerk/protocol/http/nsHttpConnection.cpp | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/netwerk/protocol/http/nsHttpConnection.cpp b/netwerk/protocol/http/nsHttpConnection.cpp
index 695f8a5..25ad335 100644
--- a/netwerk/protocol/http/nsHttpConnection.cpp
+++ b/netwerk/protocol/http/nsHttpConnection.cpp
@@ -1466,12 +1466,9 @@ nsHttpConnection::SetupProxyConnect()
request.SetHeader(nsHttp::Proxy_Connection, NS_LITERAL_CSTRING("keep-alive"));
request.SetHeader(nsHttp::Connection, NS_LITERAL_CSTRING("keep-alive"));
- val = mTransaction->RequestHead()->PeekHeader(nsHttp::Host);
- if (val) {
- // all HTTP/1.1 requests must include a Host header (even though it
- // may seem redundant in this case; see bug 82388).
- request.SetHeader(nsHttp::Host, nsDependentCString(val));
- }
+ // all HTTP/1.1 requests must include a Host header (even though it
+ // may seem redundant in this case; see bug 82388).
+ request.SetHeader(nsHttp::Host, buf);
val = mTransaction->RequestHead()->PeekHeader(nsHttp::Proxy_Authorization);
if (val) {
1
0
[tor-browser/tor-browser-24.5.0esr-1] Make the CONNECT Host header the same as the Request-URI.
by mikeperry@torproject.org 05 Jun '14
by mikeperry@torproject.org 05 Jun '14
05 Jun '14
commit dbbe17313416ab3b17e9d05009026c1c4a37a273
Author: David Fifield <david(a)bamsoftware.com>
Date: Sat May 31 16:59:11 2014 -0700
Make the CONNECT Host header the same as the Request-URI.
It's possible to construct a request where the Host header differs from
the authority in the URL, for example in an extension with
nsIHttpChannel and setRequestHeader. MakeConnectString generates a
host:port string for the CONNECT Request-Line, but peeks into the
tunneled request in order to copy the Host header to the proxy request.
Instead, use the same host:port string for Host as is used in the
Request-URI, to avoid revealing the plaintext of the Host header outside
of the tunnel.
Backport of https://hg.mozilla.org/mozilla-central/rev/a1f6458800d4.
---
netwerk/protocol/http/nsHttpConnection.cpp | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/netwerk/protocol/http/nsHttpConnection.cpp b/netwerk/protocol/http/nsHttpConnection.cpp
index 695f8a5..25ad335 100644
--- a/netwerk/protocol/http/nsHttpConnection.cpp
+++ b/netwerk/protocol/http/nsHttpConnection.cpp
@@ -1466,12 +1466,9 @@ nsHttpConnection::SetupProxyConnect()
request.SetHeader(nsHttp::Proxy_Connection, NS_LITERAL_CSTRING("keep-alive"));
request.SetHeader(nsHttp::Connection, NS_LITERAL_CSTRING("keep-alive"));
- val = mTransaction->RequestHead()->PeekHeader(nsHttp::Host);
- if (val) {
- // all HTTP/1.1 requests must include a Host header (even though it
- // may seem redundant in this case; see bug 82388).
- request.SetHeader(nsHttp::Host, nsDependentCString(val));
- }
+ // all HTTP/1.1 requests must include a Host header (even though it
+ // may seem redundant in this case; see bug 82388).
+ request.SetHeader(nsHttp::Host, buf);
val = mTransaction->RequestHead()->PeekHeader(nsHttp::Proxy_Authorization);
if (val) {
1
0
[translation/liveusb-creator_completed] Update translations for liveusb-creator_completed
by translation@torproject.org 05 Jun '14
by translation@torproject.org 05 Jun '14
05 Jun '14
commit 02183faee554b9c2e7e5e4db2558f39ea1a2d1ca
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Jun 5 10:15:21 2014 +0000
Update translations for liveusb-creator_completed
---
fr/fr.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fr/fr.po b/fr/fr.po
index c8064cf..4fabd3c 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -21,7 +21,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-28 16:00+0200\n"
-"PO-Revision-Date: 2014-06-05 09:44+0000\n"
+"PO-Revision-Date: 2014-06-05 09:52+0000\n"
"Last-Translator: themen <themen2004(a)gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/torproject/language/fr/)\n"
"MIME-Version: 1.0\n"
1
0
[translation/liveusb-creator] Update translations for liveusb-creator
by translation@torproject.org 05 Jun '14
by translation@torproject.org 05 Jun '14
05 Jun '14
commit 1e923bc51c0f951a636e5ecb3bc86dd85d9f8b96
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Jun 5 10:15:19 2014 +0000
Update translations for liveusb-creator
---
fr/fr.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fr/fr.po b/fr/fr.po
index c8064cf..4fabd3c 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -21,7 +21,7 @@ msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-05-28 16:00+0200\n"
-"PO-Revision-Date: 2014-06-05 09:44+0000\n"
+"PO-Revision-Date: 2014-06-05 09:52+0000\n"
"Last-Translator: themen <themen2004(a)gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/torproject/language/fr/)\n"
"MIME-Version: 1.0\n"
1
0
05 Jun '14
commit df6054b5d861b4af1473d58e1db188ab3db88520
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Jun 5 10:15:03 2014 +0000
Update translations for bridgedb
---
fr/LC_MESSAGES/bridgedb.po | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/fr/LC_MESSAGES/bridgedb.po b/fr/LC_MESSAGES/bridgedb.po
index 45a2a9a..74fa872 100644
--- a/fr/LC_MESSAGES/bridgedb.po
+++ b/fr/LC_MESSAGES/bridgedb.po
@@ -4,18 +4,19 @@
#
# Translators:
# apaddlingduck, 2014
-# Frisson <frissonreynald(a)yahoo.fr>, 2014
-# lunar <lunar(a)torproject.org>, 2013
+# Frisson Reynald <frissonreynald(a)yahoo.fr>, 2014
+# Lunar <lunar(a)torproject.org>, 2013
# Onizuka, 2013
# mehditaileb <mehditaileb(a)liberte-info.net>, 2011
# Onizuka, 2013
+# themen <themen2004(a)gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywo…'\n"
"POT-Creation-Date: 2014-05-16 18:39+0000\n"
-"PO-Revision-Date: 2014-06-02 11:31+0000\n"
-"Last-Translator: apaddlingduck\n"
+"PO-Revision-Date: 2014-06-05 09:52+0000\n"
+"Last-Translator: themen <themen2004(a)gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/torproject/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -248,7 +249,7 @@ msgstr "Le code source"
#: lib/bridgedb/templates/base.html:96
msgid "Changelog"
-msgstr ""
+msgstr "Changelog"
#: lib/bridgedb/templates/base.html:98
msgid "Contact"
@@ -272,7 +273,7 @@ msgstr ""
#: lib/bridgedb/templates/index.html:11
#, python-format
msgid "Step %s1%s"
-msgstr ""
+msgstr "Etape %s1%s"
#: lib/bridgedb/templates/index.html:13
#, python-format
@@ -282,7 +283,7 @@ msgstr "Télécharger %s Tor Browser %s"
#: lib/bridgedb/templates/index.html:25
#, python-format
msgid "Step %s2%s"
-msgstr ""
+msgstr "Etape %s2%s"
#: lib/bridgedb/templates/index.html:27
#, python-format
@@ -292,7 +293,7 @@ msgstr "Récupérez les %s addresses de bridge %s"
#: lib/bridgedb/templates/index.html:36
#, python-format
msgid "Step %s3%s"
-msgstr ""
+msgstr "Etape %s3%s"
#: lib/bridgedb/templates/index.html:38
#, python-format
1
0
[tor-browser-bundle/maint-3.6] Bug 11630: Make rules.sqlite deterministic.
by gk@torproject.org 05 Jun '14
by gk@torproject.org 05 Jun '14
05 Jun '14
commit 9d18e71a070bdfd4c3927a7546bc18e201fa3a00
Author: Georg Koppen <gk(a)torproject.org>
Date: Thu Jun 5 12:03:54 2014 +0000
Bug 11630: Make rules.sqlite deterministic.
It turned out that the rules.sqlite file got already deterministic by
running VACUUM before closing the connection. The different bytes in
some meta data were due to having an old rules.sqlite in src/defaults.
SQLite takes the values found there as the starting point and increments
them during the new run of the makexpi script.
---
gitian/descriptors/linux/gitian-bundle.yml | 11 +++++------
gitian/descriptors/mac/gitian-bundle.yml | 11 +++++------
gitian/descriptors/windows/gitian-bundle.yml | 11 +++++------
gitian/fetch-inputs.sh | 6 ++----
gitian/verify-tags.sh | 2 +-
gitian/versions | 6 +-----
gitian/versions.alpha | 2 +-
gitian/versions.beta | 6 +-----
gitian/versions.nightly | 4 ----
9 files changed, 21 insertions(+), 38 deletions(-)
diff --git a/gitian/descriptors/linux/gitian-bundle.yml b/gitian/descriptors/linux/gitian-bundle.yml
index 006883c..c16589a 100644
--- a/gitian/descriptors/linux/gitian-bundle.yml
+++ b/gitian/descriptors/linux/gitian-bundle.yml
@@ -41,7 +41,6 @@ files:
- "linux-skeleton.zip"
- "linux-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "dtar.sh"
- "bare-version"
@@ -89,13 +88,13 @@ script: |
~/build/dzip.sh ../../../tor-browser/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- #cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- #rm -f .git/refs/heads/master
- #./makexpi.sh
- #cp pkg/*.xpi ../tor-browser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
- #cd ..
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp pkg/*.xpi ../tor-browser/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ cd ..
#
cp *.xpi tor-browser/Data/Browser/profile.default/extensions/
cd tor-browser/Data/Browser/profile.default/extensions
diff --git a/gitian/descriptors/mac/gitian-bundle.yml b/gitian/descriptors/mac/gitian-bundle.yml
index 2668c7d..263ca57 100644
--- a/gitian/descriptors/mac/gitian-bundle.yml
+++ b/gitian/descriptors/mac/gitian-bundle.yml
@@ -41,7 +41,6 @@ files:
- "dmg-desktop.tar.xz"
- "mac-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "ddmg.sh"
- "libdmg.patch"
@@ -96,13 +95,13 @@ script: |
~/build/dzip.sh ../../../$TORBROWSER_NAME.app/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- # cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- # rm -f .git/refs/heads/master
- # ./makexpi.sh
- # cp pkg/*.xpi ../$TORBROWSER_NAME.app/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
- # cd ..
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp pkg/*.xpi ../$TORBROWSER_NAME.app/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ cd ..
#
cp *.xpi ./$TORBROWSER_NAME.app/Data/Browser/profile.default/extensions/
cd $TORBROWSER_NAME.app/Data/Browser/profile.default/extensions/
diff --git a/gitian/descriptors/windows/gitian-bundle.yml b/gitian/descriptors/windows/gitian-bundle.yml
index ebde49b..457fa7b 100644
--- a/gitian/descriptors/windows/gitian-bundle.yml
+++ b/gitian/descriptors/windows/gitian-bundle.yml
@@ -37,7 +37,6 @@ files:
- "windows-skeleton.zip"
- "win32-langpacks.zip"
- "noscript(a)noscript.net.xpi"
-- "https-everywhere(a)eff.org.xpi"
- "dzip.sh"
- "bare-version"
- "bundle.inputs"
@@ -79,13 +78,13 @@ script: |
~/build/dzip.sh ../../../tbb-windows-installer/"Tor Browser"/Data/Browser/profile.default/extensions/torbutton(a)torproject.org.xpi .
cd ../../../
#
- #cd https-everywhere
+ cd https-everywhere
# XXX: Bloody hack to workaround a bug in HTTPS_E's git hash extraction in
# makexpi.sh. See https://trac.torproject.org/projects/tor/ticket/10066
- #rm -f .git/refs/heads/master
- #./makexpi.sh
- #cp ./pkg/*.xpi ../tbb-windows-installer/"Tor Browser"/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
- #cd ..
+ rm -f .git/refs/heads/master
+ ./makexpi.sh
+ cp ./pkg/*.xpi ../tbb-windows-installer/"Tor Browser"/Data/Browser/profile.default/extensions/https-everywhere(a)eff.org.xpi
+ cd ..
#
cp *.xpi tbb-windows-installer/"Tor Browser"/Data/Browser/profile.default/extensions
cd tbb-windows-installer/"Tor Browser"/Data/Browser/profile.default/extensions
diff --git a/gitian/fetch-inputs.sh b/gitian/fetch-inputs.sh
index 0eceaf7..37a4a47 100755
--- a/gitian/fetch-inputs.sh
+++ b/gitian/fetch-inputs.sh
@@ -208,9 +208,8 @@ done
cd ..
-# NoScript and HTTPS-Everywhere are magikal and special:
+# NoScript is magikal and special:
wget -U "" -N ${NOSCRIPT_URL}
-wget -U "" -N ${HTTPSE_URL}
# So is mingw:
if [ ! -f mingw-w64-svn-snapshot.zip ];
@@ -229,7 +228,7 @@ fi
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
@@ -265,7 +264,6 @@ done
cd ..
ln -sf "$NOSCRIPT_PACKAGE" noscript(a)noscript.net.xpi
-ln -sf "$HTTPSE_PACKAGE" https-everywhere(a)eff.org.xpi
ln -sf "$OPENSSL_PACKAGE" openssl.tar.gz
ln -sf "$BINUTILS_PACKAGE" binutils.tar.bz2
ln -sf "$GCC_PACKAGE" gcc.tar.bz2
diff --git a/gitian/verify-tags.sh b/gitian/verify-tags.sh
index 324a27a..4367e13 100755
--- a/gitian/verify-tags.sh
+++ b/gitian/verify-tags.sh
@@ -132,7 +132,7 @@ done
# Verify packages with weak or no signatures via direct sha256 check
# (OpenSSL is signed with MD5, and OSXSDK is not signed at all)
-for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT HTTPSE MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
+for i in OSXSDK TOOLCHAIN4 TOOLCHAIN4_OLD NOSCRIPT MINGW MSVCR100 PYCRYPTO ARGPARSE PYYAML ZOPEINTERFACE TWISTED M2CRYPTO SETUPTOOLS OPENSSL GMP PARSLEY
do
PACKAGE="${i}_PACKAGE"
HASH="${i}_HASH"
diff --git a/gitian/versions b/gitian/versions
index 6424316..2176c74 100755
--- a/gitian/versions
+++ b/gitian/versions
@@ -10,7 +10,7 @@ TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
TOR_TAG=tor-0.2.4.22
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5 # XXX: HTTPSE_VER is used instead, pending #11630
+HTTPSE_TAG=3.5.1
NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -41,13 +41,11 @@ PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
PARSLEY_VER=1.2
-HTTPSE_VER=3.5.1
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.22-sm+fx+fn.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
diff --git a/gitian/versions.alpha b/gitian/versions.alpha
index 702c1e4..197f069 100755
--- a/gitian/versions.alpha
+++ b/gitian/versions.alpha
@@ -10,7 +10,7 @@ TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build3
TOR_TAG=tor-0.2.5.3-alpha
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5
+HTTPSE_TAG=3.5.1
NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
diff --git a/gitian/versions.beta b/gitian/versions.beta
index 817a880..cebfae2 100755
--- a/gitian/versions.beta
+++ b/gitian/versions.beta
@@ -10,7 +10,7 @@ TORBROWSER_TAG=tor-browser-${FIREFOX_VERSION}-1-build4
TOR_TAG=tor-0.2.4.21
TORLAUNCHER_TAG=0.2.5.4
TORBUTTON_TAG=1.6.9.0
-HTTPSE_TAG=3.4.5
+HTTPSE_TAG=3.5.1
NSIS_TAG=v0.1
ZLIB_TAG=v1.2.8
LIBEVENT_TAG=release-2.0.21-stable
@@ -41,13 +41,11 @@ PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
PARSLEY_VER=1.2
-HTTPSE_VER=3.5.1
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.22-sm+fx+fn.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=5ec75d2f6fbf3ff7950a8eea2c7878d887ed3916aa89f99ec76b322b1e140c08
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
diff --git a/gitian/versions.nightly b/gitian/versions.nightly
index 03f4f2f..0f86bab 100755
--- a/gitian/versions.nightly
+++ b/gitian/versions.nightly
@@ -40,14 +40,12 @@ M2CRYPTO_VER=0.21.1
PY2EXE_VER=0.6.9
SETUPTOOLS_VER=1.4
LXML_VER=3.3.5
-HTTPSE_VER=3.5.1
PARSLEY_VER=1.2
## File names for the source packages
OPENSSL_PACKAGE=openssl-${OPENSSL_VER}.tar.gz
GMP_PACKAGE=gmp-${GMP_VER}.tar.bz2
NOSCRIPT_PACKAGE=noscript_security_suite-2.6.8.20-fn+fx+sm.xpi
-HTTPSE_PACKAGE=https-everywhere-${HTTPSE_VER}.xpi
TOOLCHAIN4_PACKAGE=x86_64-apple-darwin10.tar.xz
TOOLCHAIN4_OLD_PACKAGE=multiarch-darwin11-cctools127.2-gcc42-5666.3-llvmgcc42-2336.1-Linux-120724.tar.xz
OSXSDK_PACKAGE=apple-uni-sdk-10.6_20110407-0.flosoft1_i386.deb
@@ -75,7 +73,6 @@ OSXSDK_HASH=6602d8d5ddb371fbc02e2a5967d9bd0cd7358d46f9417753c8234b923f2ea6fc
TOOLCHAIN4_HASH=7b71bfe02820409b994c5c33a7eab81a81c72550f5da85ff7af70da3da244645
TOOLCHAIN4_OLD_HASH=65c1b2d302358a6b95a26c6828a66908a199276193bb0b268f2dcc1a997731e9
NOSCRIPT_HASH=dae2abeb3c57240168c1fdfbf6c6664fa64859fb430ca1a05c218f81371f5ad1
-HTTPSE_HASH=62ac6560bb224a8f5557722153a72fb245b30b345940c537423bfbb7d8144e29
MINGW_HASH=a5b03d0448a309341be4cf34c6ad3016d04c89952dca5243254b4d6c738b164f
MSVCR100_HASH=1221a09484964a6f38af5e34ee292b9afefccb3dc6e55435fd3aaf7c235d9067
PYCRYPTO_HASH=f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c
@@ -97,7 +94,6 @@ OSXSDK_URL=https://launchpad.net/~flosoft/+archive/cross-apple/+files/${OSX…
BINUTILS_URL=https://ftp.gnu.org/gnu/binutils/${BINUTILS_PACKAGE}
GCC_URL=https://ftp.gnu.org/gnu/gcc/gcc-${GCC_VER}/${GCC_PACKAGE}
NOSCRIPT_URL=https://addons.cdn.mozilla.net/storage/public-staging/722/${NO…
-HTTPSE_URL=https://www.eff.org/files/${HTTPSE_PACKAGE}
PYTHON_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_PACKAGE}
PYTHON_MSI_URL=http://www.python.org/ftp/python/${PYTHON_VER}/${PYTHON_MSI_…
PYCRYPTO_URL=https://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/${PYCRYPTO_PAC…
1
0
[torbutton/master] Bug #11510: about:tor should not report success if no tor.
by mikeperry@torproject.org 05 Jun '14
by mikeperry@torproject.org 05 Jun '14
05 Jun '14
commit b9229102ee6e5098c11af49a04ca0669a0c02fd4
Author: Kathy Brade <brade(a)pearlcrescent.com>
Date: Tue May 27 14:03:20 2014 -0400
Bug #11510: about:tor should not report success if no tor.
If the remote check does not complete successfully, look at the
status code associated with the underlying nsIRequest and fail the
tor check when the status is "proxy connection refused."
---
src/chrome/content/torbutton.js | 3 ++-
src/components/torCheckService.js | 14 ++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 6161995..ee49ae4 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -1852,7 +1852,8 @@ function torbutton_initiate_remote_tor_check()
// If we received an error response from check.torproject.org,
// set the status of the tor check to failure (we don't want
// to indicate failure if we didn't receive a response).
- if (ret == 2 || ret == 3 || ret == 5 || ret == 6 || ret == 7) {
+ if (ret == 2 || ret == 3 || ret == 5 || ret == 6
+ || ret == 7 || ret == 8) {
checkSvc.statusOfTorCheck = checkSvc.kCheckFailed;
obsSvc.notifyObservers(null, k_tb_tor_check_failed_topic, null);
} else if (ret == 4) {
diff --git a/src/components/torCheckService.js b/src/components/torCheckService.js
index 4972f05..04708d4 100644
--- a/src/components/torCheckService.js
+++ b/src/components/torCheckService.js
@@ -122,8 +122,22 @@ TBTorCheckService.prototype =
}
}
} else {
+ if (0 == aReq.status) {
+ try {
+ var req = aReq.channel.QueryInterface(Ci.nsIRequest);
+ if (req.status == Cr.NS_ERROR_PROXY_CONNECTION_REFUSED)
+ {
+ this._logger.log(5, "Tor test failed. Proxy connection refused");
+ ret = 8;
+ }
+ } catch (e) {}
+ }
+
+ if (ret == 0)
+ {
this._logger.log(5, "Tor test failed. HTTP Error: "+aReq.status);
ret = -aReq.status;
+ }
}
return ret;
1
0
[translation/liveusb-creator_completed] Update translations for liveusb-creator_completed
by translation@torproject.org 05 Jun '14
by translation@torproject.org 05 Jun '14
05 Jun '14
commit ca049023c7f2122fe11b0cf160f96c1aeb21f1e3
Author: Translation commit bot <translation(a)torproject.org>
Date: Thu Jun 5 09:45:22 2014 +0000
Update translations for liveusb-creator_completed
---
fr/fr.po | 214 ++++++++++++++++++++++++++++++++------------------------------
1 file changed, 110 insertions(+), 104 deletions(-)
diff --git a/fr/fr.po b/fr/fr.po
index e797a40..c8064cf 100644
--- a/fr/fr.po
+++ b/fr/fr.po
@@ -4,24 +4,25 @@
#
# Translators:
# bassmax, 2014
-# chioubaca <chioubaca(a)gmail.com>, 2014
+# Alex <chioubaca(a)gmail.com>, 2014
# arpalord <arpalord(a)gmail.com>, 2012
# Charles-Antoine Couret, 2009
# Charles-Antoine Couret <cacouret(a)wanadoo.fr>, 2009
-# Emmanuel Sd <emanediteur(a)gmail.com>, 2014
+# Emmanuel Simond <emanediteur(a)gmail.com>, 2014
# Eric lassauge <lassauge {AT} users {dot} sourceforge {dot} net>, 2010
-# jytou <saiolar-c(a)yahoo.fr>, 2013
+# Jean-Yves Toumit <saiolar-c(a)yahoo.fr>, 2013
# Onizuka, 2013
# Michael Ughetto <telimektar1er(a)gmail.com>, 2008
# Onizuka, 2013
# Martin-Gomez Pablo <pablomg+transifex(a)eskapa.be>, 2008
+# themen <themen2004(a)gmail.com>, 2014
msgid ""
msgstr ""
"Project-Id-Version: The Tor Project\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-04-27 13:07+0200\n"
-"PO-Revision-Date: 2014-05-01 11:10+0000\n"
-"Last-Translator: bassmax\n"
+"POT-Creation-Date: 2014-05-28 16:00+0200\n"
+"PO-Revision-Date: 2014-06-05 09:44+0000\n"
+"Last-Translator: themen <themen2004(a)gmail.com>\n"
"Language-Team: French (http://www.transifex.com/projects/p/torproject/language/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -34,22 +35,22 @@ msgstr ""
msgid "%(distribution)s Installer"
msgstr "Installateur %(distribution)s"
-#: ../liveusb/gui.py:808
+#: ../liveusb/gui.py:794
#, python-format
msgid "%(filename)s selected"
msgstr "%(filename)s sélectionné"
-#: ../liveusb/gui.py:439
+#: ../liveusb/gui.py:425
#, python-format
msgid "%(size)s %(label)s"
msgstr "%(size)s %(label)s"
-#: ../liveusb/gui.py:445
+#: ../liveusb/gui.py:431
#, python-format
msgid "%(vendor)s %(model)s (%(details)s) - %(device)s"
msgstr "%(vendor)s %(model)s (%(details)s) - %(device)s"
-#: ../liveusb/creator.py:1020
+#: ../liveusb/creator.py:1046
#, python-format
msgid "%s already bootable"
msgstr "%s déjà amorçable"
@@ -59,36 +60,36 @@ msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Need help? Read the </span><a href=\"file:///usr/share/doc/tails/website/doc/first_steps/installation.en.html\"><span style=\" text-decoration: underline; color:#0000ff;\">documentation</span></a><span style=\" font-size:10pt;\">.</span></p></body></html>"
-msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Besoin d'aide ? Lisez la </span><a href=\"file:///usr/share/doc/tails/website/doc/first_steps/installation.fr.html\"><span style=\" text-decoration: underline; color:#0000ff;\">documentation</span></a><span style=\" font-size:10pt;\">.</span></p></body></html>"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
+"<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Need help? Read the </span><a href=\"file:///usr/share/doc/tails/website/doc/first_steps/installation.en.html\"><span style=\" text-decoration: underline; color:#0000ff;\">documentation</span></a><span style=\" font-size:11pt;\">.</span></p></body></html>"
+msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p align=\"center\" style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Besoin d'aide ? Lisez la </span><a href=\"file:///usr/share/doc/tails/website/doc/first_steps/installation.en.html\"><span style=\" text-decoration: underline; color:#0000ff;\">documentation</span></a><span style=\" font-size:11pt;\">.</span></p></body></html>"
#: ../liveusb/launcher_ui.py:160
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Copy the running Tails onto a USB stick or SD card. All data on the target drive will be lost.</span></p></body></html>"
-msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Copier le Tails courant sur une clé USB ou une carte SD. Toutes les données sur le périphérique destination seront perdues.</span></p></body></html>"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Copy the running Tails onto a USB stick or SD card. All data on the target drive will be lost.</span></p></body></html>"
+msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Copier l'actuel Tails sur une clé USB ou une carte SD. Toutes les données de la cible seront perdues.</span></p></body></html>"
#: ../liveusb/launcher_ui.py:162
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Copy the running Tails onto an already installed Tails device. Other partitions found on the stick are preserved.</span></p></body></html>"
-msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Copier le Tails courant sur un périphérique Tails déjà installé. Les autres partitions sur le périphérique seront préservées.</span></p></body></html>"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Copy the running Tails onto an already installed Tails device. Other partitions found on the stick are preserved.</span></p></body></html>"
+msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Copier l'actuel Tails sur un périphérique où Tails est déjà installé. Les autres partitions trouvées seront conservées.</span></p></body></html>"
#: ../liveusb/launcher_ui.py:164
msgid ""
"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n"
"<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\n"
"p, li { white-space: pre-wrap; }\n"
-"</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n"
-"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Upgrade an already installed Tails device from a new ISO image.</span></p></body></html>"
-msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:10pt;\">Mettre à jour un périphérique Tails déjà installé à partir d'une nouvelle image ISO.</span></p></body></html>"
+"</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n"
+"<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Upgrade an already installed Tails device from a new ISO image.</span></p></body></html>"
+msgstr "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">\n<html><head><meta name=\"qrichtext\" content=\"1\" /><style type=\"text/css\">\np, li { white-space: pre-wrap; }\n</style></head><body style=\" font-family:'Sans Serif'; font-size:11pt; font-weight:400; font-style:normal;\">\n<p style=\" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;\"><span style=\" font-size:11pt;\">Mettre à jour un périphérique Tails existant depuis une nouvelle image ISO.</span></p></body></html>"
#: ../liveusb/dialog.py:163
msgid "Alt+B"
@@ -106,16 +107,16 @@ msgid ""
"persist after a reboot."
msgstr "En allouant de l'espace supplémentaire sur votre clé USB pour le volume persistant, vous serez en mesure de stocker des données et d'effectuer des modifications permanentes sur le système d'exploitation. Sans ça, toutes les données sauvegardées ne seront plus disponibles après un redémarrage."
-#: ../liveusb/creator.py:1122 ../liveusb/creator.py:1385
+#: ../liveusb/creator.py:1150 ../liveusb/creator.py:1413
#, python-format
msgid "Calculating the SHA1 of %s"
msgstr "Calcul du SHA1 de %s"
-#: ../liveusb/creator.py:1333
+#: ../liveusb/creator.py:1361
msgid "Cannot find"
msgstr "Impossible de trouver"
-#: ../liveusb/creator.py:542
+#: ../liveusb/creator.py:551
#, python-format
msgid "Cannot find device %s"
msgstr "Impossible de trouver le périphérique %s"
@@ -134,12 +135,12 @@ msgid ""
"Upgrade"
msgstr "Cloner\n&&\nMettre à jour"
-#: ../liveusb/creator.py:400
+#: ../liveusb/creator.py:407
#, python-format
msgid "Creating %sMB persistent overlay"
msgstr "Création du volume persistant de %s Mo"
-#: ../liveusb/gui.py:567
+#: ../liveusb/gui.py:553
msgid ""
"Device is not yet mounted, so we cannot determine the amount of free space."
msgstr "L'appareil n'est pas encore monté, nous ne pouvons donc pas déterminer la quantité d'espace libre disponible."
@@ -149,11 +150,11 @@ msgstr "L'appareil n'est pas encore monté, nous ne pouvons donc pas déterminer
msgid "Download %(distribution)s"
msgstr "Télécharger %(distribution)s"
-#: ../liveusb/gui.py:782
+#: ../liveusb/gui.py:768
msgid "Download complete!"
msgstr "Téléchargement terminé !"
-#: ../liveusb/gui.py:786
+#: ../liveusb/gui.py:772
msgid "Download failed: "
msgstr "Échec du téléchargement : "
@@ -162,45 +163,45 @@ msgstr "Échec du téléchargement : "
msgid "Downloading %s..."
msgstr "Téléchargement de %s..."
-#: ../liveusb/creator.py:1118
+#: ../liveusb/creator.py:1146
msgid "Drive is a loopback, skipping MBR reset"
msgstr "Le périphérique est un « loopback », pas de réinitialisation du MBR nécessaire"
-#: ../liveusb/creator.py:813
+#: ../liveusb/creator.py:822
#, python-format
msgid "Entering unmount_device for '%(device)s'"
msgstr "Lancement de unmount_device pour '%(device)s'"
-#: ../liveusb/creator.py:1198
+#: ../liveusb/creator.py:1226
msgid "Error probing device"
msgstr "Erreur lors de l'accès au périphérique"
-#: ../liveusb/gui.py:227
+#: ../liveusb/gui.py:211
msgid ""
"Error: Cannot set the label or obtain the UUID of your device. Unable to "
"continue."
msgstr "Erreur : impossible de configurer le label ou d'obtenir l'UUID de votre périphérique. Impossible de continuer."
-#: ../liveusb/creator.py:376
+#: ../liveusb/creator.py:383
msgid ""
"Error: The SHA1 of your Live CD is invalid. You can run this program with "
"the --noverify argument to bypass this verification check."
msgstr "Erreur : le SHA1 de votre Live CD est invalide. Vous pouvez exécuter ce programme avec l'option « --noverify » pour contourner cette vérification."
-#: ../liveusb/creator.py:145
+#: ../liveusb/creator.py:146
msgid "Extracting live image to the target device..."
msgstr "Extraction de l'image Live sur le périphérique cible..."
-#: ../liveusb/creator.py:1063
+#: ../liveusb/creator.py:1089
#, python-format
msgid "Formatting %(device)s as FAT32"
msgstr "Formattage de %(device)s en FAT32"
-#: ../liveusb/creator.py:140
+#: ../liveusb/creator.py:141
msgid "ISO MD5 checksum passed"
msgstr "Somme de contrôle MD5 de l'image correcte"
-#: ../liveusb/creator.py:138
+#: ../liveusb/creator.py:139
msgid "ISO MD5 checksum verification failed"
msgstr "Échec de la vérification de la somme de contrôle MD5 de l'ISO"
@@ -214,70 +215,70 @@ msgstr "Si vous ne choisissez pas une image Live existante, la version sélectio
msgid "Install Tails"
msgstr "Installer Tails"
-#: ../liveusb/gui.py:630
+#: ../liveusb/gui.py:616
msgid "Installation complete!"
msgstr "Installation terminée !"
-#: ../liveusb/gui.py:279
+#: ../liveusb/gui.py:265
#, python-format
msgid "Installation complete! (%s)"
msgstr "Installation terminée ! (%s)"
-#: ../liveusb/gui.py:631
+#: ../liveusb/gui.py:617
msgid "Installation was completed. Press OK to close this program."
msgstr "L'installation est terminée. Appuyez sur OK pour fermer ce programme."
-#: ../liveusb/creator.py:916 ../liveusb/creator.py:1239
+#: ../liveusb/creator.py:942 ../liveusb/creator.py:1267
msgid "Installing bootloader..."
msgstr "Installation du bootloader..."
-#: ../liveusb/gui.py:284
+#: ../liveusb/gui.py:270
msgid "LiveUSB creation failed!"
msgstr "Échec lors de la création du Live USB !"
-#: ../liveusb/creator.py:1334
+#: ../liveusb/creator.py:1362
msgid ""
"Make sure to extract the entire liveusb-creator zip file before running this"
" program."
msgstr "Assurez-vous d'avoir extrait l'archive zip complète de liveusb-creator avant d'exécuter ce programme."
-#: ../liveusb/creator.py:1210
+#: ../liveusb/creator.py:1238
msgid ""
"Make sure your USB key is plugged in and formatted with the FAT filesystem"
msgstr "Assurez-vous que votre clé USB est branchée et qu'elle est formatée avec le système de fichiers FAT"
-#: ../liveusb/creator.py:835
+#: ../liveusb/creator.py:844
#, python-format
msgid "Mount %s exists after unmounting"
msgstr "Le montage %s existe après démontage"
-#: ../liveusb/gui.py:573
+#: ../liveusb/gui.py:559
#, python-format
msgid "No free space on device %(device)s"
msgstr "Espace libre insuffisant sur le périphérique %(device)s"
-#: ../liveusb/creator.py:802
+#: ../liveusb/creator.py:811
msgid "No mount points found"
msgstr "Aucun point de montage trouvé"
-#: ../liveusb/creator.py:393
+#: ../liveusb/creator.py:400
msgid "Not enough free space on device."
msgstr "Pas assez d'espace libre sur le périphérique."
-#: ../liveusb/gui.py:554
+#: ../liveusb/gui.py:540
msgid "Partition is FAT16; Restricting overlay size to 2G"
msgstr "La partition est de type FAT16, la taille du volume est donc restreinte à 2 Go"
-#: ../liveusb/gui.py:550
+#: ../liveusb/gui.py:536
msgid "Partition is FAT32; Restricting overlay size to 4G"
msgstr "La partition est en FAT32; Restriction de la taille du volume à 4Go."
-#: ../liveusb/creator.py:226 ../liveusb/creator.py:842
+#: ../liveusb/creator.py:227 ../liveusb/creator.py:851
#, python-format
msgid "Partitioning device %(device)s"
msgstr "Partitionnement du périphérique %(device)s"
-#: ../liveusb/gui.py:621
+#: ../liveusb/gui.py:607
msgid "Persistent Storage"
msgstr "Stockage persistant"
@@ -285,53 +286,53 @@ msgstr "Stockage persistant"
msgid "Persistent Storage (0 MB)"
msgstr "Stockage Persistant (0 Mo)"
-#: ../liveusb/gui.py:702 ../liveusb/gui.py:731
+#: ../liveusb/gui.py:688 ../liveusb/gui.py:717
msgid "Please confirm your device selection"
msgstr "Veuillez confirmer le périphérique sélectionné"
-#: ../liveusb/gui.py:467
+#: ../liveusb/gui.py:453
msgid "Refreshing releases..."
msgstr "Raffraîchissement des versions..."
-#: ../liveusb/gui.py:472
+#: ../liveusb/gui.py:458
msgid "Releases updated!"
msgstr "Version mise à jour!"
-#: ../liveusb/creator.py:939 ../liveusb/creator.py:1257
+#: ../liveusb/creator.py:965 ../liveusb/creator.py:1285
#, python-format
msgid "Removing %(file)s"
msgstr "Suppression du fichier %(file)s"
-#: ../liveusb/creator.py:469
+#: ../liveusb/creator.py:478
msgid "Removing existing Live OS"
msgstr "Suppression du système d'exploitation Live existant"
-#: ../liveusb/creator.py:1112
+#: ../liveusb/creator.py:1140
#, python-format
msgid "Resetting Master Boot Record of %s"
msgstr "Réinitialisation du « Master Boot Record » de %s"
-#: ../liveusb/gui.py:793
+#: ../liveusb/gui.py:779
msgid "Select Live ISO"
msgstr "Sélectionnez l'ISO Live"
-#: ../liveusb/creator.py:182
+#: ../liveusb/creator.py:183
msgid "Setting up OLPC boot file..."
msgstr "Configuration du fichier d'amorçage de l'OLPC..."
-#: ../liveusb/creator.py:716
+#: ../liveusb/creator.py:725
#, python-format
msgid ""
"Some partitions of the target device %(device)s are mounted. They will be "
"unmounted before starting the installation process."
msgstr "Des partitions sont actuellement montées sur le périphérique cible %(device)s. Elles seront démontées avant de démarrer le processus d'installation."
-#: ../liveusb/creator.py:131
+#: ../liveusb/creator.py:132
msgid ""
"Source type does not support verification of ISO MD5 checksum, skipping"
msgstr "Ce type de source ne permet pas la vérification de la somme de contrôle MD5 de l'ISO, passage à l'étape suivante"
-#: ../liveusb/creator.py:1146
+#: ../liveusb/creator.py:1174
msgid "Synchronizing data on disk..."
msgstr "Synchronisation des données sur le disque..."
@@ -339,19 +340,19 @@ msgstr "Synchronisation des données sur le disque..."
msgid "Target Device"
msgstr "Périphérique Cible"
-#: ../liveusb/gui.py:667
+#: ../liveusb/gui.py:653
msgid ""
"The Master Boot Record on your device is blank. Pressing 'Install Tails' "
"again will reset the MBR on this device."
msgstr "Le Master Boot Record sur votre périphérique est vierge. Cliquer à nouveau sur 'Installer Tails' va écraser le MBR sur ce périphérique."
-#: ../liveusb/gui.py:796
+#: ../liveusb/gui.py:782
msgid ""
"The selected file is unreadable. Please fix its permissions or select "
"another file."
msgstr "Le fichier sélectionné ne peut pas être lu. Veuillez changer les permissions associées ou sélectionner un autre fichier."
-#: ../liveusb/creator.py:337
+#: ../liveusb/creator.py:344
#, python-format
msgid ""
"There was a problem executing the following command: `%(command)s`.\n"
@@ -389,87 +390,87 @@ msgstr "C'est la barre de progression qui vous indiquera l'avancement de la cré
msgid "This is the status console, where all messages get written to."
msgstr "C'eci est la console d'état, où tous les messages sont écrits."
-#: ../liveusb/creator.py:879
+#: ../liveusb/creator.py:905
msgid "Trying to continue anyway."
msgstr "On tente de continuer malgré tout."
-#: ../liveusb/creator.py:911
+#: ../liveusb/creator.py:937
#, python-format
msgid "Unable to change volume label: %(message)s"
msgstr "Impossible de changer le label du volume : %(message)s"
-#: ../liveusb/creator.py:478 ../liveusb/creator.py:489
+#: ../liveusb/creator.py:487 ../liveusb/creator.py:498
#, python-format
msgid "Unable to chmod %(file)s: %(message)s"
msgstr "Impossible de changer les permissions de %(file)s : %(message)s"
-#: ../liveusb/creator.py:459
+#: ../liveusb/creator.py:468
#, python-format
msgid "Unable to copy %(infile)s to %(outfile)s: %(message)s"
msgstr "Impossible de copier %(infile)s vers %(outfile)s : %(message)s"
-#: ../liveusb/gui.py:418
+#: ../liveusb/gui.py:404
msgid "Unable to find any USB drive"
msgstr "Impossible de trouver un lecteur USB"
-#: ../liveusb/creator.py:1200
+#: ../liveusb/creator.py:1228
msgid "Unable to find any supported device"
msgstr "Impossible de trouver un périphérique pris en charge"
-#: ../liveusb/creator.py:1040
+#: ../liveusb/creator.py:1066
msgid "Unable to find partition"
msgstr "Impossible de trouver la partition"
-#: ../liveusb/creator.py:1280
+#: ../liveusb/creator.py:1308
msgid ""
"Unable to get Win32_LogicalDisk; win32com query did not return any results"
msgstr "Impossible d'avoir accès à « Win32_LogicalDisk » ; la requête « win32com » n'a pas fourni de résultat."
-#: ../liveusb/gui.py:695
+#: ../liveusb/gui.py:681
msgid "Unable to mount device"
msgstr "Impossible de monter le périphérique"
-#: ../liveusb/creator.py:790
+#: ../liveusb/creator.py:799
#, python-format
msgid "Unable to mount device: %(message)s"
msgstr "Impossible de monter le périphérique : %(message)s"
-#: ../liveusb/creator.py:494
+#: ../liveusb/creator.py:503
#, python-format
msgid "Unable to remove directory from previous LiveOS: %(message)s"
msgstr "Impossible d'enlever le dossier du système d'exploitation Live précédent : %(message)s"
-#: ../liveusb/creator.py:482
+#: ../liveusb/creator.py:491
#, python-format
msgid "Unable to remove file from previous LiveOS: %(message)s"
msgstr "Impossible d'enlever le fichier du système d'exploitation Live précédent : %(message)s"
-#: ../liveusb/creator.py:1115
+#: ../liveusb/creator.py:1143
msgid ""
"Unable to reset MBR. You may not have the `syslinux` package installed."
msgstr "Impossible de réinitialiser le MBR. Le paquet `syslinux` n'est sans doute pas installé."
-#: ../liveusb/gui.py:802
+#: ../liveusb/gui.py:788
msgid ""
"Unable to use the selected file. You may have better luck if you move your "
"ISO to the root of your drive (ie: C:\\)"
msgstr "Impossible d'utiliser le fichier sélectionné. Vous devriez avoir plus de chance en déplacant l'ISO à la racine de votre disque (i.e. : C:\\)"
-#: ../liveusb/creator.py:697
+#: ../liveusb/creator.py:706
#, python-format
msgid "Unable to write on %(device)s, skipping."
msgstr "Impossible d'écrire sur %(device)s, passage à l'étape suivante."
-#: ../liveusb/creator.py:382
+#: ../liveusb/creator.py:389
msgid "Unknown ISO, skipping checksum verification"
msgstr "ISO inconnue, omission de la vérification de la somme de contrôle"
-#: ../liveusb/creator.py:786
+#: ../liveusb/creator.py:795
#, python-format
msgid "Unknown dbus exception while trying to mount device: %(message)s"
msgstr "Exception dbus inconnue lors de la tentative de montage du périphérique : %(message)s"
-#: ../liveusb/creator.py:765 ../liveusb/creator.py:890
+#: ../liveusb/creator.py:774 ../liveusb/creator.py:916
msgid "Unknown filesystem. Your device may need to be reformatted."
msgstr "Système de fichiers inconnu. Votre périphérique doit être reformaté."
@@ -478,40 +479,45 @@ msgstr "Système de fichiers inconnu. Votre périphérique doit être reformaté
msgid "Unknown release: %s"
msgstr "Version inconnue: %s"
-#: ../liveusb/creator.py:827
+#: ../liveusb/creator.py:836
#, python-format
msgid "Unmounting '%(udi)s' on '%(device)s'"
msgstr "Démontage de '%(udi)s' sur '%(device)s'"
-#: ../liveusb/creator.py:823
+#: ../liveusb/creator.py:832
#, python-format
msgid "Unmounting mounted filesystems on '%(device)s'"
msgstr "Démontage des systèmes de fichiers sur '%(device)s'"
-#: ../liveusb/creator.py:876
+#: ../liveusb/creator.py:902
#, python-format
msgid "Unsupported device '%(device)s', please report a bug."
msgstr "Périphérique '%(device)s' non pris en charge, merci de signaler un bug."
-#: ../liveusb/creator.py:770 ../liveusb/creator.py:893
+#: ../liveusb/creator.py:779 ../liveusb/creator.py:919
#, python-format
msgid "Unsupported filesystem: %s"
msgstr "Système de fichiers non pris en charge : %s"
-#: ../liveusb/creator.py:768
+#: ../liveusb/creator.py:777
#, python-format
msgid ""
"Unsupported filesystem: %s\n"
"In case you are trying to upgrade a manually installed Tails system (that is, if it was installed without this installer), this option is not supported: you need to install it anew to start with, e.g. by choosing the \"Clone & Install\" action instead."
msgstr "Système de fichiers non supporté : %s\nAu cas où vous essayeriez de mettre à jour une version de Tails installée manuellement (autrement dit, si elle a été installée sans l'installeur), cette option n'est pas supportée : vous devez la réinstaller, e.g. en choisissant l'action \"Cloner & Installer\"."
-#: ../liveusb/creator.py:1213
+#: ../liveusb/creator.py:1241
#, python-format
msgid ""
"Unsupported filesystem: %s\n"
"Please backup and format your USB key with the FAT filesystem."
msgstr "Système de fichiers non pris en charge : %s\nVeuillez sauvegarder le contenu de votre clé USB et la formater avec le système de fichiers FAT."
+#: ../liveusb/creator.py:877
+#, python-format
+msgid "Updating properties of system partition %(system_partition)s"
+msgstr "Mise à jour des propriétés de la partition système %(system_partition)s"
+
#: ../liveusb/launcher_ui.py:163
msgid "Upgrade from ISO"
msgstr "Mettre à jour à partir de l'ISO"
@@ -520,54 +526,54 @@ msgstr "Mettre à jour à partir de l'ISO"
msgid "Use existing Live system ISO"
msgstr "Utiliser l'image ISO du système Live existant"
-#: ../liveusb/creator.py:133
+#: ../liveusb/creator.py:134
msgid "Verifying ISO MD5 checksum"
msgstr "Vérification de la somme de contrôle MD5 de l'ISO"
-#: ../liveusb/creator.py:356
+#: ../liveusb/creator.py:363
msgid "Verifying SHA1 checksum of LiveCD image..."
msgstr "Vérification de la somme de contrôle SHA1 de l'image du Live CD..."
-#: ../liveusb/creator.py:360
+#: ../liveusb/creator.py:367
msgid "Verifying SHA256 checksum of LiveCD image..."
msgstr "Vérification de la somme de contrôle SHA256 de l'image du Live CD..."
-#: ../liveusb/creator.py:887 ../liveusb/creator.py:1206
+#: ../liveusb/creator.py:913 ../liveusb/creator.py:1234
msgid "Verifying filesystem..."
msgstr "Vérification du système de fichiers..."
-#: ../liveusb/gui.py:729
+#: ../liveusb/gui.py:715
msgid ""
"Warning: Creating a new persistent overlay will delete your existing one."
msgstr "Attention : la création d'une nouvelle zone de stockage persistant supprimera celle déjà existante."
-#: ../liveusb/gui.py:681
+#: ../liveusb/gui.py:667
msgid ""
"Warning: The Master Boot Record on your device does not match your system's "
"syslinux MBR. If you have trouble booting this stick, try running the "
"liveusb-creator with the --reset-mbr option."
msgstr "Attention : le « Master Boot Record » de votre périphérique ne correspond pas à celui de votre syslinux. Si vous avez des problèmes pour démarrer sur cette clé USB, essayer de lancer usb-creator avec l'option « --reset-mbr »."
-#: ../liveusb/gui.py:392
+#: ../liveusb/gui.py:378
msgid ""
"Warning: This tool needs to be run as an Administrator. To do this, right "
"click on the icon and open the Properties. Under the Compatibility tab, "
"check the \"Run this program as an administrator\" box."
msgstr "Attention : cet outil doit être exécuté en tant qu'Administrateur. Pour cela, clic-droit sur l'icône et ouvrez les Propriétés. Dans l'onglet Compatibilité, cochez la case \"Exécuter ce programme en tant qu'Administrateur\"."
-#: ../liveusb/creator.py:152
+#: ../liveusb/creator.py:153
#, python-format
msgid "Wrote to device at %(speed)d MB/sec"
msgstr "Écriture sur le périphérique effectuée à %(speed)d Mo/sec"
-#: ../liveusb/gui.py:703
+#: ../liveusb/gui.py:689
#, python-format
msgid ""
"You are going to install Tails on the %(size)s %(vendor)s %(model)s device "
"(%(device)s). All data on the selected device will be lost. Continue?"
msgstr "Vous allez installer Tails sur le périphérique %(size)s %(vendor)s %(model)s (%(device)s). Toutes les données sur ce périphérique seront perdues. Continuer?"
-#: ../liveusb/gui.py:719
+#: ../liveusb/gui.py:705
#, python-format
msgid ""
"You are going to upgrade Tails on the %(parent_size)s %(vendor)s %(model)s "
@@ -575,17 +581,17 @@ msgid ""
"unchanged. Continue?"
msgstr "Vous allez mettre à jour Tails sur le périphérique %(parent_size)s %(vendor)s %(model)s (%(device)s). Tout volume persistant sur ce périphérique sera conservé. Continuer?"
-#: ../liveusb/creator.py:604
+#: ../liveusb/creator.py:613
msgid ""
"You are using an old version of syslinux-extlinux that does not support the "
"ext4 filesystem"
msgstr "Vous utilisez une version obsolète de syslinux-extlinux, qui ne permet pas d'utiliser le système de fichiers ext4"
-#: ../liveusb/gui.py:787
+#: ../liveusb/gui.py:773
msgid "You can try again to resume your download"
msgstr "Vous pouvez essayer de reprendre votre téléchargement"
-#: ../liveusb/creator.py:92
+#: ../liveusb/creator.py:93
msgid "You must run this application as root"
msgstr "Vous devez exécuter cette application en tant que superutilisateur (root)"
1
0