[tor-commits] [tor-browser/tor-browser-31.6.0esr-4.5-1] Bug 14716: HTTP Basic Authentication prompt only displayed once

2015-04-20 Thread mikeperry
commit f0fe46bcec5946e94fd66792983b1f081913a74f
Author: Kathy Brade br...@pearlcrescent.com
Date:   Fri Apr 17 16:31:28 2015 -0400

Bug 14716: HTTP Basic Authentication prompt only displayed once

Modify the login manager implementation to handle the situation
where storage is not available.
---
 toolkit/components/passwordmgr/nsLoginManager.js |   57 +-
 1 file changed, 55 insertions(+), 2 deletions(-)

diff --git a/toolkit/components/passwordmgr/nsLoginManager.js 
b/toolkit/components/passwordmgr/nsLoginManager.js
index a4cbdb0..19024fd 100644
--- a/toolkit/components/passwordmgr/nsLoginManager.js
+++ b/toolkit/components/passwordmgr/nsLoginManager.js
@@ -243,6 +243,10 @@ LoginManager.prototype = {
 if (logins.some(function(l) login.matches(l, true)))
 throw This login already exists.;
 
+if (!this._storage) {
+throw No storage to add login;
+}
+
 log(Adding login);
 return this._storage.addLogin(login);
 },
@@ -255,6 +259,12 @@ LoginManager.prototype = {
  */
 removeLogin : function (login) {
 log(Removing login);
+
+if (!this._storage) {
+log(No storage to remove login);
+return null;
+}
+
 return this._storage.removeLogin(login);
 },
 
@@ -266,6 +276,12 @@ LoginManager.prototype = {
  */
 modifyLogin : function (oldLogin, newLogin) {
 log(Modifying login);
+
+if (!this._storage) {
+log(No storage to modify login);
+return null;
+}
+
 return this._storage.modifyLogin(oldLogin, newLogin);
 },
 
@@ -281,6 +297,12 @@ LoginManager.prototype = {
  */
 getAllLogins : function (count) {
 log(Getting a list of all logins);
+
+if (!this._storage) {
+log(No storage to get all logins);
+return null;
+}
+
 return this._storage.getAllLogins(count);
 },
 
@@ -292,7 +314,10 @@ LoginManager.prototype = {
  */
 removeAllLogins : function () {
 log(Removing all logins);
-this._storage.removeAllLogins();
+if (!this._storage)
+log(No storage to remove all logins);
+else
+this._storage.removeAllLogins();
 },
 
 /*
@@ -307,6 +332,12 @@ LoginManager.prototype = {
  */
 getAllDisabledHosts : function (count) {
 log(Getting a list of all disabled hosts);
+
+if (!this._storage) {
+log(No storage to get all disabled hosts);
+return null;
+}
+
 return this._storage.getAllDisabledHosts(count);
 },
 
@@ -320,6 +351,11 @@ LoginManager.prototype = {
 log(Searching for logins matching host:, hostname,
 formSubmitURL:, formSubmitURL, httpRealm:, httpRealm);
 
+if (!this._storage) {
+log(No storage to find logins);
+return null;
+}
+
 return this._storage.findLogins(count, hostname, formSubmitURL,
 httpRealm);
 },
@@ -336,6 +372,11 @@ LoginManager.prototype = {
 searchLogins : function(count, matchData) {
log(Searching for logins);
 
+if (!this._storage) {
+log(No storage to search logins);
+return null;
+}
+
 return this._storage.searchLogins(count, matchData);
 },
 
@@ -350,6 +391,9 @@ LoginManager.prototype = {
 log(Counting logins matching host:, hostname,
 formSubmitURL:, formSubmitURL, httpRealm:, httpRealm);
 
+if (!this._storage)
+return 0;
+
 return this._storage.countLogins(hostname, formSubmitURL, httpRealm);
 },
 
@@ -358,6 +402,9 @@ LoginManager.prototype = {
  * uiBusy
  */
 get uiBusy() {
+if (!this._storage)
+return false;
+
 return this._storage.uiBusy;
 },
 
@@ -366,6 +413,9 @@ LoginManager.prototype = {
  * isLoggedIn
  */
 get isLoggedIn() {
+if (!this._storage)
+return false;
+
 return this._storage.isLoggedIn;
 },
 
@@ -377,7 +427,7 @@ LoginManager.prototype = {
  */
 getLoginSavingEnabled : function (host) {
 log(Checking if logins to, host, can be saved.);
-if (!this._remember)
+if (!this._remember || !this._storage)
 return false;
 
 return this._storage.getLoginSavingEnabled(host);
@@ -394,6 +444,9 @@ LoginManager.prototype = {
 if (hostname.indexOf(\0) != -1)
 throw Invalid hostname;
 
+if (!this._storage)
+throw No storage to set login saving enabled;
+
 log(Login saving for, hostname, now enabled?, enabled);
 return this._storage.setLoginSavingEnabled(hostname, enabled);
 },

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [torbutton/master] Add changelog and bump version for 1.9.2.0.

2015-04-20 Thread mikeperry
commit 60b1537295374c64594564a00d17bcc42dc76985
Author: Mike Perry mikeperry-...@torproject.org
Date:   Mon Apr 20 17:26:45 2015 -0700

Add changelog and bump version for 1.9.2.0.
---
 src/CHANGELOG   |7 +++
 src/install.rdf |2 +-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/CHANGELOG b/src/CHANGELOG
index e140ff5..e50f5b6 100644
--- a/src/CHANGELOG
+++ b/src/CHANGELOG
@@ -1,3 +1,10 @@
+1.9.2.0:
+ * Bug 15562: Bind SharedWorkers to thirdparty pref
+ * Bug 15533: Restore default security level when restoring defaults
+ * Bug 15510: Close Tor Circuit UI control port connections on New Identity
+ * Bug 15472: Make node text black in circuit status UI.
+ * Bug 15502: Wipe blob URIs on New Identity
+
 1.9.1.0:
  * Bug 9387: Security Slider 1.0
* Include descriptions and tooltip hints for security levels
diff --git a/src/install.rdf b/src/install.rdf
index 94245a0..6af4e9b 100644
--- a/src/install.rdf
+++ b/src/install.rdf
@@ -6,7 +6,7 @@
 em:nameTorbutton/em:name
 em:creatorMike Perry/em:creator
 em:idtorbut...@torproject.org/em:id
-em:version1.9.1.0/em:version
+em:version1.9.2.0/em:version
 
em:homepageURLhttps://www.torproject.org/projects/torbrowser.html.en/em:homepageURL
 
em:optionsURLchrome://torbutton/content/preferences.xul/em:optionsURL
 em:iconURLchrome://torbutton/skin/tor.png/em:iconURL

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [torbutton/master] Bug #15502: Wipe blob URIs on New Identity

2015-04-20 Thread mikeperry
commit 2568365dfa0ce8ebc2f5f430b4c752ca57b2fc97
Author: Arthur Edelstein arthuredelst...@gmail.com
Date:   Mon Apr 13 10:41:44 2015 -0700

Bug #15502: Wipe blob URIs on New Identity
---
 src/chrome/content/torbutton.js |6 ++
 1 file changed, 6 insertions(+)

diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index b4b3ab5..2fdfd1c 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -1884,6 +1884,12 @@ function torbutton_do_new_identity() {
 
   torbutton_log(3, New identity successful);
 
+  // Run garbage collection and cycle collection after window is gone.
+  // This ensures that blob URIs are forgotten.
+  window.addEventListener(unload, function (event) {
+m_tb_domWindowUtils.garbageCollect();
+  });
+
   // Close the current window for added safety
   window.close();
 }



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [torbutton/master] Bug #15502: Ensure garbage collection runs immediately and completely.

2015-04-20 Thread mikeperry
commit accb4b887b4427221358fc8c17bbbdf85e77467c
Author: Mike Perry mikeperry-...@torproject.org
Date:   Wed Apr 15 21:34:07 2015 -0700

Bug #15502: Ensure garbage collection runs immediately and completely.
---
 src/chrome/content/torbutton.js |   27 +++
 1 file changed, 27 insertions(+)

diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js
index 2fdfd1c..7d229dd 100644
--- a/src/chrome/content/torbutton.js
+++ b/src/chrome/content/torbutton.js
@@ -1887,7 +1887,34 @@ function torbutton_do_new_identity() {
   // Run garbage collection and cycle collection after window is gone.
   // This ensures that blob URIs are forgotten.
   window.addEventListener(unload, function (event) {
+torbutton_log(3, Initiating New Identity GC pass);
+// Clear out potential pending sInterSliceGCTimer:
+m_tb_domWindowUtils.runNextCollectorTimer();
+
+// Clear out potential pending sICCTimer:
+m_tb_domWindowUtils.runNextCollectorTimer();
+
+// Schedule a garbage collection in 4000-1000ms...
+m_tb_domWindowUtils.garbageCollect();
+
+// To ensure the GC runs immediately instead of 4-10s from now, we need
+// to poke it at least 11 times.
+// We need 5 pokes for GC, 1 poke for the interSliceGC, and 5 pokes for CC.
+// See nsJSContext::RunNextCollectorTimer() in
+// 
https://mxr.mozilla.org/mozilla-central/source/dom/base/nsJSEnvironment.cpp#1970.
+// XXX: We might want to make our own method for immediate full GC...
+for (let poke = 0; poke  11; poke++) {
+   m_tb_domWindowUtils.runNextCollectorTimer();
+}
+
+// And now, since the GC probably actually ran *after* the CC last time,
+// run the whole thing again.
 m_tb_domWindowUtils.garbageCollect();
+for (let poke = 0; poke  11; poke++) {
+   m_tb_domWindowUtils.runNextCollectorTimer();
+}
+
+torbutton_log(3, Completed New Identity GC pass);
   });
 
   // Close the current window for added safety



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Add changelog draft for 4.5.

2015-04-20 Thread mikeperry
commit a73cdf8b099adcae40aea2c7426fc6b248fcd3ec
Author: Mike Perry mikeperry-...@torproject.org
Date:   Mon Apr 20 18:05:31 2015 -0700

Add changelog draft for 4.5.

Warning: This contains things in the tbb-4.5-alpha tag that we haven't 
merged
yet, as well as component version updates we haven't done yet.
---
 Bundle-Data/Docs/ChangeLog.txt |   32 
 1 file changed, 32 insertions(+)

diff --git a/Bundle-Data/Docs/ChangeLog.txt b/Bundle-Data/Docs/ChangeLog.txt
index 056caf3..70fe201 100644
--- a/Bundle-Data/Docs/ChangeLog.txt
+++ b/Bundle-Data/Docs/ChangeLog.txt
@@ -1,3 +1,35 @@
+Tor Browser 4.5 -- Apr 28 2015
+ * All Platforms
+   * Update Tor to 0.2.6.7 with additional patches:
+ * Bug 15482: Reset timestamp_dirty each time a SOCKSAuth circuit is used
+   * Update NoScript to 2.6.9.22
+   * Update HTTPS-Everywhere to 5.0.2
+ * Bug 15689: Resume building HTTPS-Everywhere from git tags
+   * Update meek to 0.17
+   * Update obfs4proxy to 0.0.5
+   * Update Tor Launcher to 0.2.7.4
+ * Bug 15704: Do not enable network if wizard is opened
+ * Bug 11879: Stop bootstrap if Cancel or Open Settings is clicked
+ * Bug 13576: Don't strip bridge from the middle of bridge lines
+ * Bug 15657: Display the host:port of any connection faiures in bootstrap
+   * Update Torbutton to 1.9.2.0
+ * Bug 15562: Bind SharedWorkers to thirdparty pref
+ * Bug 15533: Restore default security level when restoring defaults
+ * Bug 15510: Close Tor Circuit UI control port connections on New Identity
+ * Bug 15472: Make node text black in circuit status UI
+ * Bug 15502: Wipe blob URIs on New Identity
+   * Bug 4100: Raise HTTP Keep-Alive back to 115 second default
+   * Bug 13875: Spoof window.devicePixelRatio to avoid DPI fingerprinting
+   * Bug 15411: Remove old (and unused) cacheDomain cache isolation mechanism
+   * Bug 14716: Fix issues with HTTP Auth usage and TLS connection info display
+   * Bug 15562: Disable Javascript SharedWorkers due to third party tracking
+ * Linux
+   * Bug 15747: Improve start-tor-browser argument handling
+   * Bug 15672: Provide desktop app registration+unregistration for Linux
+ * Windows
+   * Bug 15539: Make installer exe signatures reproducibly removable
+   * Bug 10761: Fix instances of shutdown crashes
+
 Tor Browser 4.5a5 -- Mar 31 2015
  * All Platforms
* Update Firefox to 31.6.0esr

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Test for 'python setup.py install'

2015-04-20 Thread atagar
commit a6ea923c7a6dfb6c20620955382a4b6d469ab31f
Author: Damian Johnson ata...@torproject.org
Date:   Mon Apr 20 19:09:30 2015 -0700

Test for 'python setup.py install'

This has been a hole in our tests for quite some time, biting us from time 
to
time during releas time...

  https://trac.torproject.org/projects/tor/ticket/15258

Just a simple test for now. Might expand this in the future with more
assertions.
---
 stem/util/system.py|   11 ---
 test/integ/installation.py |   32 
 test/settings.cfg  |1 +
 3 files changed, 41 insertions(+), 3 deletions(-)

diff --git a/stem/util/system.py b/stem/util/system.py
index c263ce3..aa13cb9 100644
--- a/stem/util/system.py
+++ b/stem/util/system.py
@@ -957,7 +957,7 @@ def call(command, default = UNDEFINED, ignore_exit_status = 
False):
   results. This is not actually ran in a shell so pipes and other shell syntax
   are not permitted.
 
-  :param str command: command to be issued
+  :param str,list command: command to be issued
   :param object default: response if the query fails
   :param bool ignore_exit_status: reports failure if our command's exit status
 was non-zero
@@ -967,11 +967,16 @@ def call(command, default = UNDEFINED, ignore_exit_status 
= False):
   :raises: **OSError** if this fails and no default was provided
   
 
+  if isinstance(command, str):
+command_list = command.split(' ')
+  else:
+command_list = command
+
   try:
-is_shell_command = command.split(' ')[0] in SHELL_COMMANDS
+is_shell_command = command_list[0] in SHELL_COMMANDS
 
 start_time = time.time()
-process = subprocess.Popen(command.split(), stdout = subprocess.PIPE, 
stderr = subprocess.PIPE, shell = is_shell_command)
+process = subprocess.Popen(command_list, stdout = subprocess.PIPE, stderr 
= subprocess.PIPE, shell = is_shell_command)
 
 stdout, stderr = process.communicate()
 stdout, stderr = stdout.strip(), stderr.strip()
diff --git a/test/integ/installation.py b/test/integ/installation.py
new file mode 100644
index 000..618cd4e
--- /dev/null
+++ b/test/integ/installation.py
@@ -0,0 +1,32 @@
+import glob
+import os
+import shutil
+import unittest
+
+import stem
+import stem.util.system
+
+import test.runner
+
+
+class TestInstallation(unittest.TestCase):
+  def test_installing_stem(self):
+base_directory = os.path.sep.join(__file__.split(os.path.sep)[:-3])
+
+if not os.path.exists(os.path.sep.join([base_directory, 'setup.py'])):
+  test.runner.skip(self, (only for git checkout))
+
+original_cwd = os.getcwd()
+
+try:
+  os.chdir(base_directory)
+  stem.util.system.call('python setup.py install --prefix /tmp/stem_test')
+  site_packages_paths = glob.glob('/tmp/stem_test/lib/*/site-packages')
+
+  if len(site_packages_paths) != 1:
+self.fail(We should only have a single site-packages directory, but 
instead had: %s % site_packages_paths)
+
+  self.assertEqual(stem.__version__, stem.util.system.call(['python', 
'-c', import sys;sys.path.insert(0, '%s');import stem;print stem.__version__ 
% site_packages_paths[0]])[0])
+finally:
+  shutil.rmtree('/tmp/stem_test')
+  os.chdir(original_cwd)
diff --git a/test/settings.cfg b/test/settings.cfg
index 21f5eb2..79fec01 100644
--- a/test/settings.cfg
+++ b/test/settings.cfg
@@ -201,6 +201,7 @@ test.integ_tests
 |test.integ.util.connection.TestConnection
 |test.integ.util.proc.TestProc
 |test.integ.util.system.TestSystem
+|test.integ.installation.TestInstallation
 |test.integ.descriptor.remote.TestDescriptorDownloader
 |test.integ.descriptor.server_descriptor.TestServerDescriptor
 |test.integ.descriptor.extrainfo_descriptor.TestExtraInfoDescriptor

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Only run installation test once

2015-04-20 Thread atagar
commit 2f44df7aa01ffd2aa2d68e3e07966e6785e4f1d1
Author: Damian Johnson ata...@torproject.org
Date:   Mon Apr 20 19:54:59 2015 -0700

Only run installation test once

This test is unimpacted by targets and can take a sec, so no reason to run 
it
multiple times.
---
 test/integ/installation.py |5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/test/integ/installation.py b/test/integ/installation.py
index 618cd4e..f0ce9ed 100644
--- a/test/integ/installation.py
+++ b/test/integ/installation.py
@@ -10,11 +10,12 @@ import test.runner
 
 
 class TestInstallation(unittest.TestCase):
+  @test.runner.only_run_once
   def test_installing_stem(self):
 base_directory = os.path.sep.join(__file__.split(os.path.sep)[:-3])
 
 if not os.path.exists(os.path.sep.join([base_directory, 'setup.py'])):
-  test.runner.skip(self, (only for git checkout))
+  test.runner.skip(self, '(only for git checkout)')
 
 original_cwd = os.getcwd()
 
@@ -24,7 +25,7 @@ class TestInstallation(unittest.TestCase):
   site_packages_paths = glob.glob('/tmp/stem_test/lib/*/site-packages')
 
   if len(site_packages_paths) != 1:
-self.fail(We should only have a single site-packages directory, but 
instead had: %s % site_packages_paths)
+self.fail('We should only have a single site-packages directory, but 
instead had: %s' % site_packages_paths)
 
   self.assertEqual(stem.__version__, stem.util.system.call(['python', 
'-c', import sys;sys.path.insert(0, '%s');import stem;print stem.__version__ 
% site_packages_paths[0]])[0])
 finally:

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Fixed twitter example to work with twitter API version 1.1

2015-04-20 Thread atagar
commit cdcde6a479fba4910eecb676a71bbc43cff697ac
Author: Sambuddha Basu sambuddhaba...@gmail.com
Date:   Sat Apr 18 12:17:20 2015 +0530

Fixed twitter example to work with twitter API version 1.1
---
 docs/tutorials/to_russia_with_love.rst |   66 ++--
 1 file changed, 62 insertions(+), 4 deletions(-)

diff --git a/docs/tutorials/to_russia_with_love.rst 
b/docs/tutorials/to_russia_with_love.rst
index 75f9735..7d91f4b 100644
--- a/docs/tutorials/to_russia_with_love.rst
+++ b/docs/tutorials/to_russia_with_love.rst
@@ -121,33 +121,91 @@ Besides SocksiPy, you can also use `PycURL 
http://pycurl.sourceforge.net/`_ to
 Reading Twitter
 ---
 
-Now lets do somthing a little more interesting, and read a Twitter feed over 
Tor. This can be easily done `using thier API 
https://dev.twitter.com/docs/api/1/get/statuses/user_timeline`_ (**warning: 
Twitter has deprecated the API that this example uses,** :trac:`9003`)...
+Now lets do somthing a little more interesting, and read a Twitter feed over 
Tor. This can be easily done `using thier API 
https://dev.twitter.com/rest/reference/get/statuses/user_timeline`_
 
 ::
 
   import json
   import socket
   import urllib
+  import urllib2
+  import time
+  import binascii
+  import hmac
+  from hashlib import sha1, md5
 
   import socks  # SockiPy module
   import stem.process
 
   SOCKS_PORT = 7000
-  TWITTER_API_URL = 
http://api.twitter.com/1/statuses/user_timeline.json?screen_name=%scount=%iinclude_rts=1;
+  KEY_DICT = dict()
+  TWITTER_API_URL = https://api.twitter.com/1.1/statuses/user_timeline.json;
+  CONSUMER_KEY = 
+  CONSUMER_SECRET = 
+  ACCESS_TOKEN = 
+  ACCESS_TOKEN_SECRET = 
+  HTTP_METHOD = GET
+  OAUTH_VERSION = 1.0
 
   socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', SOCKS_PORT)
   socket.socket = socks.socksocket
 
 
+  def init_key_dict():
+
+Initializes KEY_DICT
+
+
+global KEY_DICT
+KEY_DICT['oauth_consumer_key'] = urllib.quote(CONSUMER_KEY, '')
+KEY_DICT['oauth_nonce'] = urllib.quote(md5(str(time.time())).hexdigest(), 
'')
+KEY_DICT['oauth_signature_method'] = urllib.quote(HMAC-SHA1, '')
+KEY_DICT['oauth_timestamp'] = urllib.quote(str(int(time.time())), '')
+KEY_DICT['oauth_token'] = urllib.quote(ACCESS_TOKEN, '')
+KEY_DICT['oauth_version'] = urllib.quote(OAUTH_VERSION, '')
+
+  def get_signature(values):
+
+Generates KEY_DICT['oauth_signature']
+
+for value in values:
+  KEY_DICT[value] = urllib.quote(values[value], '')
+fin_key = 
+for key in sorted(KEY_DICT.keys()):
+  fin_key += key + = + KEY_DICT[key] + 
+fin_key =  fin_key[:-1]
+fin_key = HTTP_METHOD +  + urllib.quote(TWITTER_API_URL, '') +  + 
urllib.quote(fin_key, '')
+key = urllib.quote(CONSUMER_SECRET, '') +  + 
urllib.quote(ACCESS_TOKEN_SECRET, '')
+hashed = hmac.new(key, fin_key, sha1)
+fin_key = binascii.b2a_base64(hashed.digest())[:-1]
+KEY_DICT['oauth_signature'] = urllib.quote(fin_key, '')
+
+  def get_header_string():
+
+Returns the header string
+
+ret = OAuth 
+key_list =['oauth_consumer_key', 'oauth_nonce', 'oauth_signature', 
'oauth_signature_method', 'oauth_timestamp', 'oauth_token', 'oauth_version']
+for key in key_list:
+  ret = ret + key + =\ + KEY_DICT[key] + \, 
+ret = ret[:-2]
+return ret
+
   def poll_twitter_feed(user_id, tweet_count):
 
 Polls Twitter for the tweets from a given user.
 
 
-api_url = TWITTER_API_URL % (user_id, tweet_count)
+init_key_dict()
+values = {'screen_name': user_id, 'count': str(tweet_count), 
'include_rts': '1'}
+api_url = TWITTER_API_URL
+get_signature(values)
+headers = {'Authorization': get_header_string()}
+data = urllib.urlencode(values)
+api_request = urllib2.Request(api_url + ? + data, headers= headers)
 
 try:
-  api_response = urllib.urlopen(api_url).read()
+  api_response = urllib2.urlopen(api_request).read()
 except:
   raise IOError(Unable to reach %s % api_url)
 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [stem/master] Simplifying twitter example

2015-04-20 Thread atagar
commit d293eb8b52a1bf23e9ac1767cc7fdc0c54a12520
Author: Damian Johnson ata...@torproject.org
Date:   Mon Apr 20 21:01:03 2015 -0700

Simplifying twitter example

Replacing the KEY_DICT global and helpers with a shorter script. I don't 
have a
Twitter account so unfortunately can't exercise this sucker, but should be
equivalent to what we had previously.

This and the prior commit are for...

  https://trac.torproject.org/projects/tor/ticket/9003
---
 docs/tutorials/to_russia_with_love.rst |   87 +---
 1 file changed, 36 insertions(+), 51 deletions(-)

diff --git a/docs/tutorials/to_russia_with_love.rst 
b/docs/tutorials/to_russia_with_love.rst
index 7d91f4b..6bb4252 100644
--- a/docs/tutorials/to_russia_with_love.rst
+++ b/docs/tutorials/to_russia_with_love.rst
@@ -121,93 +121,78 @@ Besides SocksiPy, you can also use `PycURL 
http://pycurl.sourceforge.net/`_ to
 Reading Twitter
 ---
 
-Now lets do somthing a little more interesting, and read a Twitter feed over 
Tor. This can be easily done `using thier API 
https://dev.twitter.com/rest/reference/get/statuses/user_timeline`_
+Now lets do somthing a little more interesting, and read a Twitter feed over 
Tor. This can be done `using thier API 
https://dev.twitter.com/rest/reference/get/statuses/user_timeline`_, for 
authentication `see their instructions 
https://dev.twitter.com/oauth/overview/application-owner-access-tokens`_...
 
 ::
 
+  import binascii
+  import hashlib
+  import hmac
   import json
   import socket
+  import time
   import urllib
   import urllib2
-  import time
-  import binascii
-  import hmac
-  from hashlib import sha1, md5
 
   import socks  # SockiPy module
   import stem.process
 
   SOCKS_PORT = 7000
-  KEY_DICT = dict()
   TWITTER_API_URL = https://api.twitter.com/1.1/statuses/user_timeline.json;
   CONSUMER_KEY = 
   CONSUMER_SECRET = 
   ACCESS_TOKEN = 
   ACCESS_TOKEN_SECRET = 
-  HTTP_METHOD = GET
-  OAUTH_VERSION = 1.0
+
+  HEADER_AUTH_KEYS = ['oauth_consumer_key', 'oauth_nonce', 'oauth_signature',
+'oauth_signature_method', 'oauth_timestamp', 'oauth_token', 
'oauth_version']
 
   socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', SOCKS_PORT)
   socket.socket = socks.socksocket
 
+  def oauth_signature(key_dict):
+fin_key = 
 
-  def init_key_dict():
-
-Initializes KEY_DICT
-
-
-global KEY_DICT
-KEY_DICT['oauth_consumer_key'] = urllib.quote(CONSUMER_KEY, '')
-KEY_DICT['oauth_nonce'] = urllib.quote(md5(str(time.time())).hexdigest(), 
'')
-KEY_DICT['oauth_signature_method'] = urllib.quote(HMAC-SHA1, '')
-KEY_DICT['oauth_timestamp'] = urllib.quote(str(int(time.time())), '')
-KEY_DICT['oauth_token'] = urllib.quote(ACCESS_TOKEN, '')
-KEY_DICT['oauth_version'] = urllib.quote(OAUTH_VERSION, '')
+for key in sorted(key_dict.keys()):
+  fin_key += key + = + key_dict[key] + 
 
-  def get_signature(values):
-
-Generates KEY_DICT['oauth_signature']
-
-for value in values:
-  KEY_DICT[value] = urllib.quote(values[value], '')
-fin_key = 
-for key in sorted(KEY_DICT.keys()):
-  fin_key += key + = + KEY_DICT[key] + 
 fin_key =  fin_key[:-1]
-fin_key = HTTP_METHOD +  + urllib.quote(TWITTER_API_URL, '') +  + 
urllib.quote(fin_key, '')
+fin_key = 'GET' +  + urllib.quote(TWITTER_API_URL, '') +  + 
urllib.quote(fin_key, '')
 key = urllib.quote(CONSUMER_SECRET, '') +  + 
urllib.quote(ACCESS_TOKEN_SECRET, '')
-hashed = hmac.new(key, fin_key, sha1)
+hashed = hmac.new(key, fin_key, hashlib.sha1)
 fin_key = binascii.b2a_base64(hashed.digest())[:-1]
-KEY_DICT['oauth_signature'] = urllib.quote(fin_key, '')
-
-  def get_header_string():
-
-Returns the header string
-
-ret = OAuth 
-key_list =['oauth_consumer_key', 'oauth_nonce', 'oauth_signature', 
'oauth_signature_method', 'oauth_timestamp', 'oauth_token', 'oauth_version']
-for key in key_list:
-  ret = ret + key + =\ + KEY_DICT[key] + \, 
-ret = ret[:-2]
-return ret
+return urllib.quote(fin_key, '')
 
   def poll_twitter_feed(user_id, tweet_count):
 
 Polls Twitter for the tweets from a given user.
 
 
-init_key_dict()
-values = {'screen_name': user_id, 'count': str(tweet_count), 
'include_rts': '1'}
-api_url = TWITTER_API_URL
-get_signature(values)
-headers = {'Authorization': get_header_string()}
-data = urllib.urlencode(values)
-api_request = urllib2.Request(api_url + ? + data, headers= headers)
+key_dict = {
+  'oauth_consumer_key': urllib.quote(CONSUMER_KEY, ''),
+  'oauth_nonce': urllib.quote(hashlib.md5(str(time.time())).hexdigest(), 
''),
+  'oauth_signature_method': urllib.quote(HMAC-SHA1, ''),
+  'oauth_timestamp': urllib.quote(str(int(time.time())), ''),
+  'oauth_token': urllib.quote(ACCESS_TOKEN, ''),
+  'oauth_version': urllib.quote('1.0', ''),
+}
+
+url_values = 

[tor-commits] [metrics-tasks/master] Add another introduction-point graph (#15513).

2015-04-20 Thread karsten
commit f8d2801f34b79b21a51a5ace7fb46ec08874fbcf
Author: Karsten Loesing karsten.loes...@gmx.net
Date:   Mon Apr 20 22:22:00 2015 +0200

Add another introduction-point graph (#15513).
---
 task-15513/plot.R |   13 +
 1 file changed, 13 insertions(+)

diff --git a/task-15513/plot.R b/task-15513/plot.R
index f1ce9d3..26fc854 100644
--- a/task-15513/plot.R
+++ b/task-15513/plot.R
@@ -79,3 +79,16 @@ ggplot(data) +
   ggtitle(paste(Number of introduction points established on\nthe same,
 relay (in the measurement period)\n))
 
+l - read.csv(intros-per-desc.csv)
+l - aggregate(list(introsperdesc = l$introsperdesc), by = list(
+  publication = (l$publication %/% (1 * 3600 * 1000)) * (1 * 3600),
+  service = l$service), FUN = max)
+ggplot(l, aes(x = as.POSIXct(publication,
+origin = 1970-01-01 00:00:00), y = introsperdesc, fill = service)) +
+  geom_area() +
+  scale_fill_hue(, guide = none) +
+  facet_grid(service ~ .) +
+  scale_x_datetime() +
+  scale_y_continuous() +
+  ggtitle(Number of introduction points over time\n)
+

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Bug #15672: Provide desktop app registration+unregistration for Linux

2015-04-20 Thread gk
commit c9266daa8ce6501e6f24446dc0da05caf7fa955d
Author: Mike Perry mikeperry-...@torproject.org
Date:   Mon Apr 13 11:27:29 2015 -0700

Bug #15672: Provide desktop app registration+unregistration for Linux
---
 RelativeLink/start-tor-browser |   55 ++--
 1 file changed, 41 insertions(+), 14 deletions(-)

diff --git a/RelativeLink/start-tor-browser b/RelativeLink/start-tor-browser
index aac5a6e..098f506 100755
--- a/RelativeLink/start-tor-browser
+++ b/RelativeLink/start-tor-browser
@@ -100,11 +100,18 @@ fi
 
 debug=0
 show_usage=0
+register_desktop_app=0
 # !!! We may have more than one argument, changed -eq to -ge in if  elif 
clauses below
 if [ $# -ge 1 -a \( x$1 = x--debug -o x$1 = x-debug \) ]; then
debug=1
shift # pop the debug argument
printf \nDebug enabled.\n\n
+elif [ $# -ge 1 -a \( x$1 = x--register-app -o x$1 = x-register-app 
\) ]; then
+   register_desktop_app=1
+   shift # pop the register arg
+elif [ $# -ge 1 -a \( x$1 = x--unregister-app -o x$1 = 
x-unregister-app \) ]; then
+   register_desktop_app=-1
+   shift # pop the register arg
 elif [ $# -ge 1 -a \( x$1 = x--help -o x$1 = x-help \) ]; then
 show_usage=1
 else
@@ -160,6 +167,13 @@ fi
 mydir=`dirname $myname`
 test -d $mydir  cd $mydir
 
+# If ${PWD} results in a zero length string, we can try something else...
+if [ ! ${PWD} ]; then
+   # hacking around some braindamage
+   PWD=`pwd`
+   surveysays=This system has a messed up shell.\n
+fi
+
 # This is a fix for an ibus issue on some Linux systems. See #9353 for more
 # details. The symlink needs to be created before we change HOME.
 if [ ! -d .config/ibus ]; then
@@ -167,23 +181,34 @@ if [ ! -d .config/ibus ]; then
   ln -nsf ~/.config/ibus/bus .config/ibus
 fi
 
-# If ${PWD} results in a zero length HOME, we can try something else...
-if [ ! ${PWD} ]; then
-   # hacking around some braindamage
-   HOME=`pwd`
-   export HOME
-   surveysays=This system has a messed up shell.\n
-else
-   HOME=${PWD}
-   export HOME
-fi
-
 # Fix up .desktop Icon and Exec Paths, and update the .desktop file from the
 # canonical version if it was changed by the updater.
 cp start-tor-browser.desktop ../
 sed -i -e s,^Name=.*,Name=Tor Browser,g ../start-tor-browser.desktop
-sed -i -e s,^Icon=.*,Icon=$HOME/browser/icons/mozicon128.png,g 
../start-tor-browser.desktop
-sed -i -e s,^Exec=.*,Exec=sh -c '\$HOME/start-tor-browser\ || ([ ! -x 
\$HOME/start-tor-browser\ ] \\ \\$(dirname 
\\$*\)\/Browser/start-tor-browser)' dummy %k,g ../start-tor-browser.desktop
+sed -i -e s,^Icon=.*,Icon=$PWD/browser/icons/mozicon128.png,g 
../start-tor-browser.desktop
+sed -i -e s,^Exec=.*,Exec=sh -c '\$PWD/start-tor-browser\ || ([ ! -x 
\$PWD/start-tor-browser\ ] \\ \\$(dirname 
\\$*\)\/Browser/start-tor-browser)' dummy %k,g ../start-tor-browser.desktop
+
+if [ $register_desktop_app -eq 1 ]; then
+   mkdir -p $HOME/.local/share/applications/
+   cp ../start-tor-browser.desktop $HOME/.local/share/applications/
+   update-desktop-database $HOME/.local/share/applications/
+   printf Tor Browser has been registered as a desktop app for this user 
in ~/.local/share/applications/\n
+   exit 0
+fi
+
+if [ $register_desktop_app -eq -1 ]; then
+   if [ -e $HOME/.local/share/applications/start-tor-browser.desktop ]; 
then
+   rm -f 
$HOME/.local/share/applications/start-tor-browser.desktop
+   update-desktop-database $HOME/.local/share/applications/
+   printf Tor Browser has been removed as a user desktop app 
(from ~/.local/share/applications/)\n
+   else
+   printf Tor Browser does not appear to be a desktop app (not 
present in ~/.local/share/applications/)\n
+   fi
+   exit 0
+fi
+
+HOME=${PWD}
+export HOME
 
 SYSARCHITECTURE=$(getconf LONG_BIT)
 TORARCHITECTURE=$(expr $(file TorBrowser/Tor/tor) : '.*ELF \([[:digit:]]*\)')
@@ -279,7 +304,9 @@ if [ $show_usage -eq 1 ]; then
 TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD} ./firefox --class Tor Browser \
 -profile TorBrowser/Data/Browser/profile.default ${@} 2/dev/null
 printf \nTor Browser Script Options\n
-printf   --debug  Display Tor and Firefox output and record in 
tor-browser-debug.log\n
+printf   --debug   Display Tor and Firefox output and record in 
tor-browser-debug.log\n
+printf   --register-appRegister Tor Browser as a desktop app for this 
user\n
+printf   --unregister-app  Unregister Tor Browser as a desktop app for 
this user\n
 elif [ $debug -ne 1 ] ; then
 TOR_CONTROL_PASSWD=${TOR_CONTROL_PASSWD} ./firefox --class Tor Browser \
 -profile TorBrowser/Data/Browser/profile.default ${@}  /dev/null 
21 /dev/null 



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Revert Bug 15670: add support for the no_update_for option in config.yml

2015-04-20 Thread gk
commit 6fddec33ed9d3baf343f3848bc3d85553de6b03b
Author: Georg Koppen g...@torproject.org
Date:   Mon Apr 20 08:42:39 2015 +

Revert Bug 15670: add support for the no_update_for option in config.yml

This reverts commit 7d7faa30b4443f0cc76474738a36fd3f45e875f4.
---
 tools/update-responses/update_responses |4 
 1 file changed, 4 deletions(-)

diff --git a/tools/update-responses/update_responses 
b/tools/update-responses/update_responses
index 6c497ef..07efc7c 100755
--- a/tools/update-responses/update_responses
+++ b/tools/update-responses/update_responses
@@ -283,10 +283,6 @@ sub write_htaccess {
 my $version = $config-{channels}{$channel};
 my $files = $config-{versions}{$version}{files};
 $htaccess .= RewriteRule ^[^\/]+/$version/ no-update.xml $flags\n;
-my $noup_for = $config-{no_update_for}{$channel};
-for my $noup_ver (ref $noup_for eq 'ARRAY' ? @$noup_for : ()) {
-$htaccess .= RewriteRule ^[^\/]+/$noup_ver/ no-update.xml 
$flags\n;
-}
 foreach my $os (sort keys %$files) {
 my $bt = build_target_by_os($os);
 foreach my $lang (sort keys %{$files-{$os}}) {

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-browser-bundle/master] Merge remote-tracking branch 'mikeperry/bug15672'

2015-04-20 Thread gk
commit 44e59e8d6e91bab002d93a978b8a4e36fbb5b9fb
Merge: 33f867c c9266da
Author: Georg Koppen g...@torproject.org
Date:   Mon Apr 20 08:41:44 2015 +

Merge remote-tracking branch 'mikeperry/bug15672'

 RelativeLink/start-tor-browser |   55 ++--
 1 file changed, 41 insertions(+), 14 deletions(-)



___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [tor-messenger-build/master] Update the Tor Messenger logo for Tor Launcher

2015-04-20 Thread sukhbir
commit 6216393a2f09dff6a74ae9eae2b2e9496cbd0e21
Author: Sukhbir Singh sukh...@torproject.org
Date:   Mon Apr 20 10:33:55 2015 -0400

Update the Tor Messenger logo for Tor Launcher
---
 projects/tor-launcher/build   |5 -
 projects/tor-launcher/config  |3 ++-
 projects/tor-launcher/logo.patch  |   13 +
 projects/tor-launcher/messenger.png   |  Bin 0 - 7749 bytes
 projects/tor-launcher/torbirdy-logo.patch |   13 -
 5 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/projects/tor-launcher/build b/projects/tor-launcher/build
index a3c5f48..66909f9 100644
--- a/projects/tor-launcher/build
+++ b/projects/tor-launcher/build
@@ -8,7 +8,10 @@ patch -p1  ../controlport.patch
 [% END -%]
 [% IF c(var/tor-mail) -%]
 cp ../torbirdy.png src/chrome/skin/tbb-logo.png
-patch -p1  ../torbirdy-logo.patch
 [% END -%]
+[% IF c(var/tor-messenger) -%]
+cp ../messenger.png src/chrome/skin/tbb-logo.png
+[% END -%]
+patch -p1  ../logo.patch
 make package
 mv pkg/*.xpi [% dest_dir _ '/' _ c('filename') %]
diff --git a/projects/tor-launcher/config b/projects/tor-launcher/config
index baceb0d..3e8c704 100644
--- a/projects/tor-launcher/config
+++ b/projects/tor-launcher/config
@@ -7,7 +7,8 @@ tag_gpg_id: 1
 filename: [% project %]-[% c('version') %]-[% c('var/build_id') %].xpi
 input_files:
   - filename: torbirdy.png
-  - filename: torbirdy-logo.patch
+  - filename: messenger.png
+  - filename: logo.patch
   - filename: topdir.patch
   - filename: controlport.patch
 content: '[% INCLUDE controlport.patch.tmpl -%]'
diff --git a/projects/tor-launcher/logo.patch b/projects/tor-launcher/logo.patch
new file mode 100644
index 000..0e5daa1
--- /dev/null
+++ b/projects/tor-launcher/logo.patch
@@ -0,0 +1,13 @@
+diff --git a/src/chrome/skin/network-settings.css 
b/src/chrome/skin/network-settings.css
+index 331ae42..3331854 100644
+--- a/src/chrome/skin/network-settings.css
 b/src/chrome/skin/network-settings.css
+@@ -90,7 +90,7 @@ button.firstAnswer {
+ .tbb-logo {
+   list-style-image: url(chrome://torlauncher/skin/tbb-logo.png);
+   width: 115px;
+-  height: 80px;
++  height: 94px;
+   margin-right: 20px;
+ }
+ 
diff --git a/projects/tor-launcher/messenger.png 
b/projects/tor-launcher/messenger.png
new file mode 100644
index 000..0b4d39c
Binary files /dev/null and b/projects/tor-launcher/messenger.png differ
diff --git a/projects/tor-launcher/torbirdy-logo.patch 
b/projects/tor-launcher/torbirdy-logo.patch
deleted file mode 100644
index 0e5daa1..000
--- a/projects/tor-launcher/torbirdy-logo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/chrome/skin/network-settings.css 
b/src/chrome/skin/network-settings.css
-index 331ae42..3331854 100644
 a/src/chrome/skin/network-settings.css
-+++ b/src/chrome/skin/network-settings.css
-@@ -90,7 +90,7 @@ button.firstAnswer {
- .tbb-logo {
-   list-style-image: url(chrome://torlauncher/skin/tbb-logo.png);
-   width: 115px;
--  height: 80px;
-+  height: 94px;
-   margin-right: 20px;
- }
- 

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed

2015-04-20 Thread translation
commit afca4e0fb52ecabca7bc585df53ec03ed35c3f1a
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 14:45:10 2015 +

Update translations for bridgedb_completed
---
 zh_CN/LC_MESSAGES/bridgedb.po |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/zh_CN/LC_MESSAGES/bridgedb.po b/zh_CN/LC_MESSAGES/bridgedb.po
index c0500cb..7b387cd 100644
--- a/zh_CN/LC_MESSAGES/bridgedb.po
+++ b/zh_CN/LC_MESSAGES/bridgedb.po
@@ -16,8 +16,8 @@ msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
 Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
-PO-Revision-Date: 2015-04-19 13:22+\n
-Last-Translator: YF yfdyh...@gmail.com\n
+PO-Revision-Date: 2015-04-20 14:43+\n
+Last-Translator: khi\n
 Language-Team: Chinese (China) 
(http://www.transifex.com/projects/p/torproject/language/zh_CN/)\n
 MIME-Version: 1.0\n
 Content-Type: text/plain; charset=UTF-8\n

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2015-04-20 Thread translation
commit aa34b8742c63dc21434ae8105a2a701fc33940da
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 14:45:05 2015 +

Update translations for bridgedb
---
 zh_CN/LC_MESSAGES/bridgedb.po |4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/zh_CN/LC_MESSAGES/bridgedb.po b/zh_CN/LC_MESSAGES/bridgedb.po
index c0500cb..7b387cd 100644
--- a/zh_CN/LC_MESSAGES/bridgedb.po
+++ b/zh_CN/LC_MESSAGES/bridgedb.po
@@ -16,8 +16,8 @@ msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
 Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
-PO-Revision-Date: 2015-04-19 13:22+\n
-Last-Translator: YF yfdyh...@gmail.com\n
+PO-Revision-Date: 2015-04-20 14:43+\n
+Last-Translator: khi\n
 Language-Team: Chinese (China) 
(http://www.transifex.com/projects/p/torproject/language/zh_CN/)\n
 MIME-Version: 1.0\n
 Content-Type: text/plain; charset=UTF-8\n

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits


[tor-commits] [translation/bridgedb] Update translations for bridgedb

2015-04-20 Thread translation
commit 31b392655b0c372db2ab4f6b49c91e6c0710772b
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 17:45:03 2015 +

Update translations for bridgedb
---
 ca/LC_MESSAGES/bridgedb.po |   22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/ca/LC_MESSAGES/bridgedb.po b/ca/LC_MESSAGES/bridgedb.po
index 483f4a1..2b9376b 100644
--- a/ca/LC_MESSAGES/bridgedb.po
+++ b/ca/LC_MESSAGES/bridgedb.po
@@ -8,14 +8,14 @@
 # Eloi García i Fargas, 2014
 # Humbert humbert.cos...@gmail.com, 2014
 # isis i...@torproject.org, 2015
-# laia_ laiaado...@gmail.com, 2014-2015
+# laia_, 2014-2015
 # Toni Hermoso Pulido toni...@softcatala.cat, 2012
 msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
 Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
-PO-Revision-Date: 2015-04-19 08:23+\n
-Last-Translator: runasand runa.sand...@gmail.com\n
+PO-Revision-Date: 2015-04-20 17:44+\n
+Last-Translator: laia_\n
 Language-Team: Catalan 
(http://www.transifex.com/projects/p/torproject/language/ca/)\n
 MIME-Version: 1.0\n
 Content-Type: text/plain; charset=UTF-8\n
@@ -37,11 +37,11 @@ msgstr 
 #. Tor Browser
 #: lib/bridgedb/HTTPServer.py:107
 msgid Sorry! Something went wrong with your request.
-msgstr Perdoni! Quelcom ha anat malament amb la seva petició.
+msgstr Quelcom ha anat malament amb la petició.
 
 #: lib/bridgedb/strings.py:18
 msgid [This is an automated message; please do not reply.]
-msgstr [Aquest es un missatge automàtic; si us plau, no respongui.]
+msgstr [Aquest és un missatge automàtic, no el respongui.]
 
 #: lib/bridgedb/strings.py:20
 msgid Here are your bridges:
@@ -52,7 +52,7 @@ msgstr Els vostres ponts: 
 msgid 
 You have exceeded the rate limit. Please slow down! The minimum time 
between\n
 emails is %s hours. All further emails during this time period will be 
ignored.
-msgstr Has superat el límit. Siusplau baixa el ritme! El mínim de temps 
entre\nels correus és de %s hores. La resta de correus durant aquest període 
de temps seran ignorats.
+msgstr Heu superat el límit. El mínim de temps entre\nels correus és de %s 
hores. La resta de correus durant aquest període de temps seran ignorats.
 
 #: lib/bridgedb/strings.py:25
 msgid 
@@ -72,7 +72,7 @@ msgstr Actualment suportant transport TYPEs:
 #: lib/bridgedb/strings.py:31
 #, python-format
 msgid Hey, %s!
-msgstr Ei, %s!
+msgstr Hola, %s!
 
 #: lib/bridgedb/strings.py:32
 msgid Hello, friend!
@@ -90,7 +90,7 @@ msgstr Claus Públiques
 msgid 
 This email was generated with rainbows, unicorns, and sparkles\n
 for %s on %s at %s.
-msgstr Aquest correu va ser creat amb unicorns, arcs de Sant Martí i 
espurnes\nper %s a %s en %s.
+msgstr Aquest correu va ser creat amb unicorns, arcs de Sant Martí i 
espurnes\nper a %s el %s a les %s.
 
 #. TRANSLATORS: Please DO NOT translate BridgeDB.
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
@@ -104,7 +104,7 @@ msgid 
 difficult for anyone watching your internet traffic to determine that you 
are\n
 using Tor.\n
 \n
-msgstr BridgeDB pot proveïr ponts amb diversos %stypes de Pluggable 
Transports%s,\nque pot provocar ofuscacions a la teva connexió a Tor Network, 
fent-ho més difícil per a qualsevol veient el teu tràfic de connexió a 
internet de determinar que estàs\nusant Tor.\n
+msgstr BridgeDB pot proveïr ponts amb diversos %stypes de Pluggable 
Transports%s,\nque poden provocar ofuscacions a la vostra connexió a Tor 
Network, fent més difícil determinar que esteu usant Tor a qualsevol que vegi 
el vostre tràfic de connexió a\ninternet \n
 
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
 #: lib/bridgedb/strings.py:54
@@ -112,7 +112,7 @@ msgid 
 Some bridges with IPv6 addresses are also available, though some Pluggable\n
 Transports aren't IPv6 compatible.\n
 \n
-msgstr També hi ha alguns ponts amb adreces IPv6, tot i que alguns 
Pluggable\nTransports no són compatibles amb IPv6.\n\n
+msgstr També hi ha ponts disponibles amb adreces IPv6, tot i que alguns 
Pluggable\nTransports no són compatibles amb IPv6.\n\n
 
 #. TRANSLATORS: Please DO NOT translate BridgeDB.
 #. TRANSLATORS: The phrase plain-ol'-vanilla means plain, boring,
@@ -209,7 +209,7 @@ msgid 
 To enter bridges into Tor Browser, first go to the %s Tor Browser download\n
 page %s and then follow the instructions there for downloading and starting\n
 Tor Browser.
-msgstr 
+msgstr Per introduir ponts al Navegador Tor, primer cal anar a %s de la pà
gina de descàrrega\n%s i després seguir les instruccions per descarregar i 
iniciar\nel Navegador Tor. 
 
 #. TRANSLATORS: Please DO NOT translate Tor.
 #: lib/bridgedb/strings.py:126

___
tor-commits mailing list
tor-commits@lists.torproject.org

[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed

2015-04-20 Thread translation
commit 07f1b5766a4fb1b338d3fe12cf7e546dd64120df
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 18:15:08 2015 +

Update translations for bridgedb_completed
---
 ca/LC_MESSAGES/bridgedb.po |   28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/ca/LC_MESSAGES/bridgedb.po b/ca/LC_MESSAGES/bridgedb.po
index 2b9376b..36f8c24 100644
--- a/ca/LC_MESSAGES/bridgedb.po
+++ b/ca/LC_MESSAGES/bridgedb.po
@@ -14,7 +14,7 @@ msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
 Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
-PO-Revision-Date: 2015-04-20 17:44+\n
+PO-Revision-Date: 2015-04-20 18:02+\n
 Last-Translator: laia_\n
 Language-Team: Catalan 
(http://www.transifex.com/projects/p/torproject/language/ca/)\n
 MIME-Version: 1.0\n
@@ -126,7 +126,7 @@ msgid 
 Pluggable Transports %s which maybe doesn't sound as cool, but they can 
still\n
 help to circumvent internet censorship in many cases.\n
 \n
-msgstr A més, BridgeDB té molts ponts %s estàndard sense \nPluggable 
Transports %s, que potser no són tan interessants, però que també\npoden 
ajudar a esquivar la censura d'internet, en molts casos.\n
+msgstr A més a més, BridgeDB té molts ponts %s estàndard sense 
\nPluggable Transports %s, que potser no són tan interessants, però que 
també\npoden ajudar a esquivar la censura d'internet en molts casos.\n
 
 #: lib/bridgedb/strings.py:76
 msgid What are bridges?
@@ -135,11 +135,11 @@ msgstr Què són els ponts?
 #: lib/bridgedb/strings.py:77
 #, python-format
 msgid %s Bridges %s are Tor relays that help you circumvent censorship.
-msgstr %s Ponts %s són mecanismes Tor que ajuden a esquivar la censura.
+msgstr %s Ponts %s són repetidors Tor que ajuden a esquivar la censura.
 
 #: lib/bridgedb/strings.py:82
 msgid I need an alternative way of getting bridges!
-msgstr Necessito una manera alternativa d'obtenir ponts
+msgstr Em cal una manera alternativa d'obtenir ponts.
 
 #: lib/bridgedb/strings.py:83
 #, python-format
@@ -157,7 +157,7 @@ msgstr No em funcionen els ponts! Ajuda!
 #: lib/bridgedb/strings.py:92
 #, python-format
 msgid If your Tor doesn't work, you should email %s.
-msgstr Si el teu Tor no funciona, hauries d'enviar un correu a %s.
+msgstr Si Tor no us funciona, hauríeu d'enviar un correu a %s.
 
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
 #. TRANSLATORS: Please DO NOT translate Tor Browser.
@@ -175,32 +175,32 @@ msgstr Les vostres línies de ponts:
 
 #: lib/bridgedb/strings.py:104
 msgid Get Bridges!
-msgstr Descarrega ponts!
+msgstr Descarregueu ponts!
 
 #: lib/bridgedb/strings.py:108
 msgid Please select options for bridge type:
-msgstr Si us plau, sel·leccioni les opcions pel tipus de pont:
+msgstr Seleccioneu les opcions pel tipus de pont:
 
 #: lib/bridgedb/strings.py:109
 msgid Do you need IPv6 addresses?
-msgstr Necessites adreces IPv6?
+msgstr Necessiteu adreces IPv6?
 
 #: lib/bridgedb/strings.py:110
 #, python-format
 msgid Do you need a %s?
-msgstr Necessites un %s?
+msgstr Necessiteu un %s?
 
 #: lib/bridgedb/strings.py:114
 msgid Your browser is not displaying images properly.
-msgstr El seu navegador no està mostrant les imatges correctament.
+msgstr El navegador no està mostrant les imatges correctament.
 
 #: lib/bridgedb/strings.py:115
 msgid Enter the characters from the image above...
-msgstr Introdueixi els caràcters de la imatge superior...
+msgstr Introduïu els caràcters de la imatge superior...
 
 #: lib/bridgedb/strings.py:119
 msgid How to start using your bridges
-msgstr Per començar a utilitzar els ponts
+msgstr Com començar a utilitzar els ponts
 
 #. TRANSLATORS: Please DO NOT translate Tor Browser.
 #: lib/bridgedb/strings.py:121
@@ -209,7 +209,7 @@ msgid 
 To enter bridges into Tor Browser, first go to the %s Tor Browser download\n
 page %s and then follow the instructions there for downloading and starting\n
 Tor Browser.
-msgstr Per introduir ponts al Navegador Tor, primer cal anar a %s de la pà
gina de descàrrega\n%s i després seguir les instruccions per descarregar i 
iniciar\nel Navegador Tor. 
+msgstr Per introduir ponts al Tor Browser, primer cal anar a %s de la pàgina 
de descàrrega\n%s i després seguir les instruccions per descarregar i 
iniciar\nel Tor Browser. 
 
 #. TRANSLATORS: Please DO NOT translate Tor.
 #: lib/bridgedb/strings.py:126
@@ -232,7 +232,7 @@ msgid 
 paste the bridge lines into the text input box. Finally, click 'Connect', 
and\n
 you should be good to go! If you experience trouble, try clicking the 
'Help'\n
 button in the 'Tor Network Settings' wizard for further assistance.
-msgstr Seleccioneu 'Sí' i després cliqueu 'Següent'. Per configurar els 
vostres ponts nous, copieu i\nenganxeu les línies del pont al següent quadre 
d'entrada de text. Finalment, 

[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed

2015-04-20 Thread translation
commit 8248c19c602cdd009a7320944c0c63c135f58591
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 17:45:08 2015 +

Update translations for bridgedb_completed
---
 ca/LC_MESSAGES/bridgedb.po |   48 ++--
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/ca/LC_MESSAGES/bridgedb.po b/ca/LC_MESSAGES/bridgedb.po
index ebf752f..2b9376b 100644
--- a/ca/LC_MESSAGES/bridgedb.po
+++ b/ca/LC_MESSAGES/bridgedb.po
@@ -8,15 +8,14 @@
 # Eloi García i Fargas, 2014
 # Humbert humbert.cos...@gmail.com, 2014
 # isis i...@torproject.org, 2015
-# laia_ laiaado...@gmail.com, 2014-2015
+# laia_, 2014-2015
 # Toni Hermoso Pulido toni...@softcatala.cat, 2012
 msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
-Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'\n
-POT-Creation-Date: 2015-02-03 03:24+\n
-PO-Revision-Date: 2015-03-21 22:22+\n
-Last-Translator: isis i...@torproject.org\n
+Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
+PO-Revision-Date: 2015-04-20 17:44+\n
+Last-Translator: laia_\n
 Language-Team: Catalan 
(http://www.transifex.com/projects/p/torproject/language/ca/)\n
 MIME-Version: 1.0\n
 Content-Type: text/plain; charset=UTF-8\n
@@ -36,13 +35,13 @@ msgstr 
 #. fteproxy
 #. Tor
 #. Tor Browser
-#: lib/bridgedb/HTTPServer.py:122
+#: lib/bridgedb/HTTPServer.py:107
 msgid Sorry! Something went wrong with your request.
-msgstr Perdoni! Quelcom ha anat malament amb la seva petició.
+msgstr Quelcom ha anat malament amb la petició.
 
 #: lib/bridgedb/strings.py:18
 msgid [This is an automated message; please do not reply.]
-msgstr [Aquest es un missatge automàtic; si us plau, no respongui.]
+msgstr [Aquest és un missatge automàtic, no el respongui.]
 
 #: lib/bridgedb/strings.py:20
 msgid Here are your bridges:
@@ -53,7 +52,7 @@ msgstr Els vostres ponts: 
 msgid 
 You have exceeded the rate limit. Please slow down! The minimum time 
between\n
 emails is %s hours. All further emails during this time period will be 
ignored.
-msgstr Has superat el límit. Siusplau baixa el ritme! El mínim de temps 
entre\nels correus és de %s hores. La resta de correus durant aquest període 
de temps seran ignorats.
+msgstr Heu superat el límit. El mínim de temps entre\nels correus és de %s 
hores. La resta de correus durant aquest període de temps seran ignorats.
 
 #: lib/bridgedb/strings.py:25
 msgid 
@@ -73,7 +72,7 @@ msgstr Actualment suportant transport TYPEs:
 #: lib/bridgedb/strings.py:31
 #, python-format
 msgid Hey, %s!
-msgstr Ei, %s!
+msgstr Hola, %s!
 
 #: lib/bridgedb/strings.py:32
 msgid Hello, friend!
@@ -91,7 +90,7 @@ msgstr Claus Públiques
 msgid 
 This email was generated with rainbows, unicorns, and sparkles\n
 for %s on %s at %s.
-msgstr Aquest correu va ser creat amb unicorns, arcs de Sant Martí i 
espurnes\nper %s a %s en %s.
+msgstr Aquest correu va ser creat amb unicorns, arcs de Sant Martí i 
espurnes\nper a %s el %s a les %s.
 
 #. TRANSLATORS: Please DO NOT translate BridgeDB.
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
@@ -105,7 +104,7 @@ msgid 
 difficult for anyone watching your internet traffic to determine that you 
are\n
 using Tor.\n
 \n
-msgstr BridgeDB pot proveïr ponts amb diversos %stypes de Pluggable 
Transports%s,\nque pot provocar ofuscacions a la teva connexió a Tor Network, 
fent-ho més difícil per a qualsevol veient el teu tràfic de connexió a 
internet de determinar que estàs\nusant Tor.\n
+msgstr BridgeDB pot proveïr ponts amb diversos %stypes de Pluggable 
Transports%s,\nque poden provocar ofuscacions a la vostra connexió a Tor 
Network, fent més difícil determinar que esteu usant Tor a qualsevol que vegi 
el vostre tràfic de connexió a\ninternet \n
 
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
 #: lib/bridgedb/strings.py:54
@@ -113,7 +112,7 @@ msgid 
 Some bridges with IPv6 addresses are also available, though some Pluggable\n
 Transports aren't IPv6 compatible.\n
 \n
-msgstr També hi ha alguns ponts amb adreces IPv6, tot i que alguns 
Pluggable\nTransports no són compatibles amb IPv6.\n\n
+msgstr També hi ha ponts disponibles amb adreces IPv6, tot i que alguns 
Pluggable\nTransports no són compatibles amb IPv6.\n\n
 
 #. TRANSLATORS: Please DO NOT translate BridgeDB.
 #. TRANSLATORS: The phrase plain-ol'-vanilla means plain, boring,
@@ -207,26 +206,27 @@ msgstr Per començar a utilitzar els ponts
 #: lib/bridgedb/strings.py:121
 #, python-format
 msgid 
-To enter bridges into Tor Browser, follow the instructions on the %s Tor\n
-Browser download page %s to start Tor Browser.
-msgstr Per introduir ponts al Tor Browser, seguiu les instruccions de la pà
gina\nde baixada %s del 

[tor-commits] [translation/bridgedb] Update translations for bridgedb

2015-04-20 Thread translation
commit d7f675dd5b70df01cf275c5f94769c022a37fb6b
Author: Translation commit bot translat...@torproject.org
Date:   Mon Apr 20 18:15:03 2015 +

Update translations for bridgedb
---
 ca/LC_MESSAGES/bridgedb.po |   28 ++--
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/ca/LC_MESSAGES/bridgedb.po b/ca/LC_MESSAGES/bridgedb.po
index 2b9376b..36f8c24 100644
--- a/ca/LC_MESSAGES/bridgedb.po
+++ b/ca/LC_MESSAGES/bridgedb.po
@@ -14,7 +14,7 @@ msgid 
 msgstr 
 Project-Id-Version: The Tor Project\n
 Report-Msgid-Bugs-To: 
'https://trac.torproject.org/projects/tor/newticket?component=BridgeDBkeywords=bridgedb-reported,msgidcc=isis,sysrqbowner=isis'POT-Creation-Date:
 2015-03-19 22:13+\n
-PO-Revision-Date: 2015-04-20 17:44+\n
+PO-Revision-Date: 2015-04-20 18:02+\n
 Last-Translator: laia_\n
 Language-Team: Catalan 
(http://www.transifex.com/projects/p/torproject/language/ca/)\n
 MIME-Version: 1.0\n
@@ -126,7 +126,7 @@ msgid 
 Pluggable Transports %s which maybe doesn't sound as cool, but they can 
still\n
 help to circumvent internet censorship in many cases.\n
 \n
-msgstr A més, BridgeDB té molts ponts %s estàndard sense \nPluggable 
Transports %s, que potser no són tan interessants, però que també\npoden 
ajudar a esquivar la censura d'internet, en molts casos.\n
+msgstr A més a més, BridgeDB té molts ponts %s estàndard sense 
\nPluggable Transports %s, que potser no són tan interessants, però que 
també\npoden ajudar a esquivar la censura d'internet en molts casos.\n
 
 #: lib/bridgedb/strings.py:76
 msgid What are bridges?
@@ -135,11 +135,11 @@ msgstr Què són els ponts?
 #: lib/bridgedb/strings.py:77
 #, python-format
 msgid %s Bridges %s are Tor relays that help you circumvent censorship.
-msgstr %s Ponts %s són mecanismes Tor que ajuden a esquivar la censura.
+msgstr %s Ponts %s són repetidors Tor que ajuden a esquivar la censura.
 
 #: lib/bridgedb/strings.py:82
 msgid I need an alternative way of getting bridges!
-msgstr Necessito una manera alternativa d'obtenir ponts
+msgstr Em cal una manera alternativa d'obtenir ponts.
 
 #: lib/bridgedb/strings.py:83
 #, python-format
@@ -157,7 +157,7 @@ msgstr No em funcionen els ponts! Ajuda!
 #: lib/bridgedb/strings.py:92
 #, python-format
 msgid If your Tor doesn't work, you should email %s.
-msgstr Si el teu Tor no funciona, hauries d'enviar un correu a %s.
+msgstr Si Tor no us funciona, hauríeu d'enviar un correu a %s.
 
 #. TRANSLATORS: Please DO NOT translate Pluggable Transports.
 #. TRANSLATORS: Please DO NOT translate Tor Browser.
@@ -175,32 +175,32 @@ msgstr Les vostres línies de ponts:
 
 #: lib/bridgedb/strings.py:104
 msgid Get Bridges!
-msgstr Descarrega ponts!
+msgstr Descarregueu ponts!
 
 #: lib/bridgedb/strings.py:108
 msgid Please select options for bridge type:
-msgstr Si us plau, sel·leccioni les opcions pel tipus de pont:
+msgstr Seleccioneu les opcions pel tipus de pont:
 
 #: lib/bridgedb/strings.py:109
 msgid Do you need IPv6 addresses?
-msgstr Necessites adreces IPv6?
+msgstr Necessiteu adreces IPv6?
 
 #: lib/bridgedb/strings.py:110
 #, python-format
 msgid Do you need a %s?
-msgstr Necessites un %s?
+msgstr Necessiteu un %s?
 
 #: lib/bridgedb/strings.py:114
 msgid Your browser is not displaying images properly.
-msgstr El seu navegador no està mostrant les imatges correctament.
+msgstr El navegador no està mostrant les imatges correctament.
 
 #: lib/bridgedb/strings.py:115
 msgid Enter the characters from the image above...
-msgstr Introdueixi els caràcters de la imatge superior...
+msgstr Introduïu els caràcters de la imatge superior...
 
 #: lib/bridgedb/strings.py:119
 msgid How to start using your bridges
-msgstr Per començar a utilitzar els ponts
+msgstr Com començar a utilitzar els ponts
 
 #. TRANSLATORS: Please DO NOT translate Tor Browser.
 #: lib/bridgedb/strings.py:121
@@ -209,7 +209,7 @@ msgid 
 To enter bridges into Tor Browser, first go to the %s Tor Browser download\n
 page %s and then follow the instructions there for downloading and starting\n
 Tor Browser.
-msgstr Per introduir ponts al Navegador Tor, primer cal anar a %s de la pà
gina de descàrrega\n%s i després seguir les instruccions per descarregar i 
iniciar\nel Navegador Tor. 
+msgstr Per introduir ponts al Tor Browser, primer cal anar a %s de la pàgina 
de descàrrega\n%s i després seguir les instruccions per descarregar i 
iniciar\nel Tor Browser. 
 
 #. TRANSLATORS: Please DO NOT translate Tor.
 #: lib/bridgedb/strings.py:126
@@ -232,7 +232,7 @@ msgid 
 paste the bridge lines into the text input box. Finally, click 'Connect', 
and\n
 you should be good to go! If you experience trouble, try clicking the 
'Help'\n
 button in the 'Tor Network Settings' wizard for further assistance.
-msgstr Seleccioneu 'Sí' i després cliqueu 'Següent'. Per configurar els 
vostres ponts nous, copieu i\nenganxeu les línies del pont al següent quadre 
d'entrada de text. Finalment, cliqueu 

[tor-commits] [tor-messenger-build/master] Change directory before applying patches

2015-04-20 Thread sukhbir
commit 7962e189f632a7eb47bb9c63980d1afd558a
Author: Sukhbir Singh sukh...@torproject.org
Date:   Mon Apr 20 12:00:57 2015 -0400

Change directory before applying patches
---
 projects/instantbird/build |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/projects/instantbird/build b/projects/instantbird/build
index a999f32..c4bd842 100644
--- a/projects/instantbird/build
+++ b/projects/instantbird/build
@@ -36,13 +36,13 @@ cd ../[% project %]-[% c('version') %]
 mkdir im/branding/messenger
 cp -R im/branding/nightly/* im/branding/messenger/
 
-cd mozilla
 for patch in $(ls -1 ../*.patch | sort)
 do
   patch -p1  $patch
 done
 cat ../spi-cacert.der  mozilla/security/nss/lib/ckfw/builtins/certdata.txt
 cp ../cert_override.txt im/app/profile
+cd mozilla
 if ls -1 $rootdir/*.mozpatch  /dev/null 21
 then
 for patch in $(ls -1 $rootdir/*.mozpatch | sort)

___
tor-commits mailing list
tor-commits@lists.torproject.org
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits