[tor-commits] [tor-messenger-build/master] Bump ctypes-otr to 42cbf4ef

2016-03-24 Thread arlo
commit 07b5043720c540456a67a3fb55099df8ce398380
Author: Arlo Breault 
Date:   Thu Mar 24 16:32:32 2016 -0700

Bump ctypes-otr to 42cbf4ef
---
 ChangeLog  | 4 
 projects/ctypes-otr/config | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 7e9e7a1..37c2a75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,10 @@ Tor Messenger 0.1.0b6
  * All Platforms
* Use the THUNDERBIRD_45_0b3_RELEASE tag on mozilla-esr45
* Use the THUNDERBIRD_45_0b3_RELEASE tag on comm-esr45
+   * ctypes-otr
+ * GH 68: Don't close notification bar until verification succeeds
+ * GH 71: Improve verifying from the fingerprint manager
+ * GH 72: Generate keys automatically after account creation
 
 Tor Messenger 0.1.0b5 -- March 09, 2016
  * All Platforms
diff --git a/projects/ctypes-otr/config b/projects/ctypes-otr/config
index 66d..0e580eb 100644
--- a/projects/ctypes-otr/config
+++ b/projects/ctypes-otr/config
@@ -1,7 +1,7 @@
 # vim: filetype=yaml sw=2
 version: '[% c("abbrev") %]'
 git_url: https://github.com/arlolra/ctypes-otr
-git_hash: d733f71db6b08f25c3e01fed071d3fe84bab6352
+git_hash: 42cbf4ef97db631ccee265c9373be43236c455ce
 filename: 'ctypes-otr-[% c("version") %]-[% c("var/osname") %]-[% 
c("var/build_id") %].tar.gz'
 var:
   lib_glob: 'lib/*.so*'

___
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] Add a patch for bug 1167248

2016-03-24 Thread arlo
commit 64bc03c695b2ebb1308aa69b5ce53eeaad149afe
Author: Arlo Breault 
Date:   Thu Mar 24 16:27:43 2016 -0700

Add a patch for bug 1167248
---
 projects/instantbird/bug-1167248.mozpatch | 22 ++
 projects/instantbird/config   |  2 ++
 2 files changed, 24 insertions(+)

diff --git a/projects/instantbird/bug-1167248.mozpatch 
b/projects/instantbird/bug-1167248.mozpatch
new file mode 100644
index 000..2ef5804
--- /dev/null
+++ b/projects/instantbird/bug-1167248.mozpatch
@@ -0,0 +1,22 @@
+From 65aeb7ca6d2b5f55acb35bb8eef3152b613faf1f Mon Sep 17 00:00:00 2001
+From: Jacek Caban 
+Date: Thu, 21 Jan 2016 13:40:07 +0100
+Subject: [PATCH] Bug 1167248 - Cross compilation fixup.
+
+---
+ js/src/jsmath.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/js/src/jsmath.cpp b/js/src/jsmath.cpp
+index 56ba1cf..3f4ddd9 100644
+--- a/js/src/jsmath.cpp
 b/js/src/jsmath.cpp
+@@ -44,7 +44,7 @@
+ // "Community Additions" comment on MSDN here:
+ // https://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx
+ # define SystemFunction036 NTAPI SystemFunction036
+-# include 
++# include 
+ # undef SystemFunction036
+ #endif
+ 
diff --git a/projects/instantbird/config b/projects/instantbird/config
index df73d5a..d9e0646 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -109,6 +109,8 @@ input_files:
 enable: '[% c("var/windows") %]'
   - filename: bug-1240589.mozpatch
 enable: '[% c("var/windows") %]'
+  - filename: bug-1167248.mozpatch
+enable: '[% c("var/windows") %]'
   - filename: Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
   - filename: trac-16475.mozpatch
   - filename: OSX-package-as-tar.bz2.mozpatch

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


[tor-commits] [translation/torbutton-torbuttonproperties] Update translations for torbutton-torbuttonproperties

2016-03-24 Thread translation
commit 002c9b3f7746838acc72b4d04ab9e0e18e420152
Author: Translation commit bot 
Date:   Thu Mar 24 23:15:55 2016 +

Update translations for torbutton-torbuttonproperties
---
 zh_TW/torbutton.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/zh_TW/torbutton.properties b/zh_TW/torbutton.properties
index 864e8e9..f7eae05 100644
--- a/zh_TW/torbutton.properties
+++ b/zh_TW/torbutton.properties
@@ -76,4 +76,4 @@ profileProblemTitle=%S 配置問題
 profileReadOnly=您不能在唯讀的檔案系統中執行 %S,請先將 %S 
複製到其他位置下再行嘗試。
 profileReadOnlyMac=您不能在唯讀的檔案系統中執行 %S,請先將 
%S 複製到您的電腦桌面或應用程式資料夾中,再行嘗試。
 profileAccessDenied=%S 沒有足夠
的存取權限,請重新調整您的檔案系統權限後再行嘗試。
-profileMigrationFailed=Migration of your existing %S profile failed.\nNew 
settings will be used.
+profileMigrationFailed=無法轉移至您現存的%S資料夾。\n將使用新設定。

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


[tor-commits] [translation/tor-launcher-properties] Update translations for tor-launcher-properties

2016-03-24 Thread translation
commit 9eb52c1086d6435c145a4db71783877bb241157b
Author: Translation commit bot 
Date:   Thu Mar 24 23:15:33 2016 +

Update translations for tor-launcher-properties
---
 zh_TW/torlauncher.properties | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/zh_TW/torlauncher.properties b/zh_TW/torlauncher.properties
index c0a5760..a706916 100644
--- a/zh_TW/torlauncher.properties
+++ b/zh_TW/torlauncher.properties
@@ -13,8 +13,8 @@ torlauncher.tor_bootstrap_failed_details=%1$S 失敗 (%2$S)。
 
 torlauncher.unable_to_start_tor=無法啟動洋蔥路由。\n\n%S
 torlauncher.tor_missing=洋蔥路由可執行檔遺失。
-torlauncher.torrc_missing=The torrc file is missing and could not be created.
-torlauncher.datadir_missing=The Tor data directory does not exist and could 
not be created.
+torlauncher.torrc_missing=洋蔥路由的é…
ç½®æ–‡ä»¶éºå¤±è€Œä¸”無法創建。
+torlauncher.datadir_missing=洋蔥路由的資料路徑並不存在,且無法被創建。
 torlauncher.password_hash_missing=無法取得雜湊過的密碼。
 
 torlauncher.failed_to_get_settings=無法擷取洋蔥路由設定。\n\n%S

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


[tor-commits] [translation/tor-launcher-properties_completed] Update translations for tor-launcher-properties_completed

2016-03-24 Thread translation
commit 91171ac3217ca23cbb7e42257735cefd6d604209
Author: Translation commit bot 
Date:   Thu Mar 24 23:15:37 2016 +

Update translations for tor-launcher-properties_completed
---
 zh_TW/torlauncher.properties | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/zh_TW/torlauncher.properties b/zh_TW/torlauncher.properties
index ca8bdb9..a706916 100644
--- a/zh_TW/torlauncher.properties
+++ b/zh_TW/torlauncher.properties
@@ -1,4 +1,4 @@
-### Copyright (c) 2014, The Tor Project, Inc.
+### Copyright (c) 2016, The Tor Project, Inc.
 ### See LICENSE for licensing information.
 
 torlauncher.error_title=洋蔥路由啟動工具
@@ -13,8 +13,8 @@ torlauncher.tor_bootstrap_failed_details=%1$S 失敗 (%2$S)。
 
 torlauncher.unable_to_start_tor=無法啟動洋蔥路由。\n\n%S
 torlauncher.tor_missing=洋蔥路由可執行檔遺失。
-torlauncher.torrc_missing=torrc 檔案遺失。
-torlauncher.datadir_missing=洋蔥路由資料目錄不存在。
+torlauncher.torrc_missing=洋蔥路由的é…
ç½®æ–‡ä»¶éºå¤±è€Œä¸”無法創建。
+torlauncher.datadir_missing=洋蔥路由的資料路徑並不存在,且無法被創建。
 torlauncher.password_hash_missing=無法取得雜湊過的密碼。
 
 torlauncher.failed_to_get_settings=無法擷取洋蔥路由設定。\n\n%S

___
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] Add patch for bug 1240589

2016-03-24 Thread arlo
commit bc375d734f8395e7e4d842a26a5e0d57b2a0a98c
Author: Arlo Breault 
Date:   Thu Mar 24 15:50:16 2016 -0700

Add patch for bug 1240589
---
 projects/instantbird/bug-1240589.mozpatch | 22 ++
 projects/instantbird/config   |  2 ++
 2 files changed, 24 insertions(+)

diff --git a/projects/instantbird/bug-1240589.mozpatch 
b/projects/instantbird/bug-1240589.mozpatch
new file mode 100644
index 000..0c52b02
--- /dev/null
+++ b/projects/instantbird/bug-1240589.mozpatch
@@ -0,0 +1,22 @@
+From 9e4a3887ed69bccc6186ef8765dfab690239f5fa Mon Sep 17 00:00:00 2001
+From: Jacek Caban 
+Date: Sat, 30 Jan 2016 17:31:37 +0100
+Subject: [PATCH] Bug 1240589 - Cross compilation fixup.
+
+---
+ ipc/chromium/src/base/rand_util_win.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/ipc/chromium/src/base/rand_util_win.cc 
b/ipc/chromium/src/base/rand_util_win.cc
+index 2a4fb29..d998cb6 100644
+--- a/ipc/chromium/src/base/rand_util_win.cc
 b/ipc/chromium/src/base/rand_util_win.cc
+@@ -11,7 +11,7 @@
+ // "Community Additions" comment on MSDN here:
+ // http://msdn.microsoft.com/en-us/library/windows/desktop/aa387694.aspx
+ #define SystemFunction036 NTAPI SystemFunction036
+-#include 
++#include 
+ #undef SystemFunction036
+ 
+ #include 
diff --git a/projects/instantbird/config b/projects/instantbird/config
index 547cebd..df73d5a 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -107,6 +107,8 @@ input_files:
 enable: '[% c("var/windows") %]'
   - filename: gmploader-sandbox.mozpatch
 enable: '[% c("var/windows") %]'
+  - filename: bug-1240589.mozpatch
+enable: '[% c("var/windows") %]'
   - filename: Bug-9173-Change-the-default-Firefox-profile-director.mozpatch
   - filename: trac-16475.mozpatch
   - filename: OSX-package-as-tar.bz2.mozpatch

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


[tor-commits] [translation/tor-launcher-progress_completed] Update translations for tor-launcher-progress_completed

2016-03-24 Thread translation
commit f62af5d27931e0634400e6060a7704694b46609a
Author: Translation commit bot 
Date:   Thu Mar 24 22:45:38 2016 +

Update translations for tor-launcher-progress_completed
---
 zh_CN/progress.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/zh_CN/progress.dtd b/zh_CN/progress.dtd
index 838d88e..dc816a5 100644
--- a/zh_CN/progress.dtd
+++ b/zh_CN/progress.dtd
@@ -1,4 +1,4 @@
 
 
 
-
+

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


[tor-commits] [translation/tor-messenger-ircproperties] Update translations for tor-messenger-ircproperties

2016-03-24 Thread translation
commit c839965f3c6aa5b0fa3b3a3ab5aaa8cbb430d036
Author: Translation commit bot 
Date:   Thu Mar 24 21:46:39 2016 +

Update translations for tor-messenger-ircproperties
---
 fr/irc.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fr/irc.properties b/fr/irc.properties
index b206592..6243f00 100644
--- a/fr/irc.properties
+++ b/fr/irc.properties
@@ -174,7 +174,7 @@ error.sendMessageFailed=Une erreur est survenue lors de 
l'envoi de votre dernier
 error.channelForward=Vous ne pouvez pas rejoindre %1$S. Vous avez été 
automatiquement redirigé sur %2$S à la place.
 #%S is the mode that the user tried to set but was not recognized
 #by the server as a valid mode.
-error.unknownMode='%S' is not a valid user mode on this server.
+error.unknownMode='%S' n'est pas un mode utilisateur valide sur ce serveur.
 
 # LOCALIZATION NOTE (tooltip.*):
 #These are the descriptions given in a tooltip with information received

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


[tor-commits] [translation/tor-messenger-ircproperties_completed] Update translations for tor-messenger-ircproperties_completed

2016-03-24 Thread translation
commit 36a4a168da8417686a897bf8bd8ff4d70fae261a
Author: Translation commit bot 
Date:   Thu Mar 24 21:46:44 2016 +

Update translations for tor-messenger-ircproperties_completed
---
 fr/irc.properties | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fr/irc.properties b/fr/irc.properties
index 2f7ee49..6243f00 100644
--- a/fr/irc.properties
+++ b/fr/irc.properties
@@ -172,6 +172,9 @@ error.sendMessageFailed=Une erreur est survenue lors de 
l'envoi de votre dernier
 #%1$S is the channel the user tried to join, %2$S is the channel
 #he was forwarded to.
 error.channelForward=Vous ne pouvez pas rejoindre %1$S. Vous avez été 
automatiquement redirigé sur %2$S à la place.
+#%S is the mode that the user tried to set but was not recognized
+#by the server as a valid mode.
+error.unknownMode='%S' n'est pas un mode utilisateur valide sur ce serveur.
 
 # LOCALIZATION NOTE (tooltip.*):
 #These are the descriptions given in a tooltip with information received

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


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

2016-03-24 Thread translation
commit 090e58e70015e4a97aca975e502f2ba8ff5897da
Author: Translation commit bot 
Date:   Thu Mar 24 21:45:15 2016 +

Update translations for https_everywhere
---
 fr/https-everywhere.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fr/https-everywhere.dtd b/fr/https-everywhere.dtd
index c3a38b0..3763672 100644
--- a/fr/https-everywhere.dtd
+++ b/fr/https-everywhere.dtd
@@ -49,7 +49,7 @@
 
 
 
-
+
 
 
 

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


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

2016-03-24 Thread translation
commit 980ec32660d91faf6512672136b63e90104a95f0
Author: Translation commit bot 
Date:   Thu Mar 24 21:45:21 2016 +

Update translations for https_everywhere_completed
---
 fr/https-everywhere.dtd | 13 +
 1 file changed, 13 insertions(+)

diff --git a/fr/https-everywhere.dtd b/fr/https-everywhere.dtd
index e32703a..3763672 100644
--- a/fr/https-everywhere.dtd
+++ b/fr/https-everywhere.dtd
@@ -14,6 +14,7 @@
 
 
 
+
 
 
 
@@ -41,3 +42,15 @@
 
 
 
+
+
+
+
+
+
+
+
+
+
+
+

___
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] Add a patch for bug 1218193

2016-03-24 Thread arlo
commit fd8841e0779acb5dca89d110dc585cbe28381bb7
Author: Arlo Breault 
Date:   Thu Mar 24 12:58:32 2016 -0700

Add a patch for bug 1218193
---
 projects/instantbird/bug-1218193.patch | 31 +++
 projects/instantbird/config|  2 ++
 2 files changed, 33 insertions(+)

diff --git a/projects/instantbird/bug-1218193.patch 
b/projects/instantbird/bug-1218193.patch
new file mode 100644
index 000..c540301
--- /dev/null
+++ b/projects/instantbird/bug-1218193.patch
@@ -0,0 +1,31 @@
+
+# HG changeset patch
+# User Nihanth Subramanya 
+# Date 1456270075 28800
+# Node ID 07b10276713c5f9cd891ea6e5b944d985c3f2fc2
+# Parent  599fd18da6c144abcc9b7feec4ee30b92e9d7bfc
+Bug 1218193 - Fix tab strip background colour on OS X. r=aleth
+
+diff --git a/im/themes/tabbrowser-pinstripe/tabbrowser.css 
b/im/themes/tabbrowser-pinstripe/tabbrowser.css
+--- a/im/themes/tabbrowser-pinstripe/tabbrowser.css
 b/im/themes/tabbrowser-pinstripe/tabbrowser.css
+@@ -203,17 +203,17 @@ statusbarpanel#statusbar-display {
+ }
+ 
+ .tabbrowser-tab:-moz-lwtheme {
+   color: inherit;
+   text-shadow: inherit;
+ }
+ 
+ .tabbrowser-strip {
+-  -moz-appearance: -moz-mac-unified-toolbar;
++  -moz-appearance: toolbar;
+   height: 26px;
+   background-repeat: repeat-x;
+ }
+ 
+ .tabbrowser-strip:not(:-moz-lwtheme) {
+   background-color: -moz-mac-chrome-active;
+ }
+ 
+
diff --git a/projects/instantbird/config b/projects/instantbird/config
index e32..547cebd 100644
--- a/projects/instantbird/config
+++ b/projects/instantbird/config
@@ -97,6 +97,8 @@ input_files:
   - filename: branding/about.png
   - filename: branding/osx.patch
 enable: '[% c("var/osx") %]'
+  - filename: bug-1218193.patch
+enable: '[% c("var/osx") %]'
   - filename: cert-installer.patch
 enable: '[% c("var/osx") %]'
   - filename: cert_override.txt

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


[tor-commits] [tor/master] Fix broken directory request to the DirPort

2016-03-24 Thread nickm
commit ba6509e9e1f9bfd052ea8bdfef104c87ee8ca6b9
Author: David Goulet 
Date:   Thu Mar 24 13:57:53 2016 -0400

Fix broken directory request to the DirPort

Commit e72cbf7a4 introduced a change to directory_initiate_command_rend()
that made tor use the ORPort when making a directory request to the DirPort.
The primary consequence was that a relay couldn't selftest its DirPort thus
failing to work and join the network properly.

The main issue was we were always considering an anonymized connection to be
an OR connection which is not true.

Fixes #18623

Signed-off-by: David Goulet 
---
 src/or/directory.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/or/directory.c b/src/or/directory.c
index 21a879d..d057dac 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -1065,8 +1065,16 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
   const int use_begindir = directory_command_should_use_begindir(options,
  _addr_port->addr, or_addr_port->port,
  router_purpose, indirection);
+  /* Is it an anonymous connection? Be careful, it could be either an OR or
+   * directory connection. */
   const int anonymized_connection = dirind_is_anon(indirection);
-  const int or_connection = use_begindir || anonymized_connection;
+  /* Is it a connection to our DirPort? */
+  const int dir_connection = (indirection == DIRIND_ANON_DIRPORT ||
+  indirection == DIRIND_DIRECT_CONN);
+  /* It's an OR connection if we should use BEGIN_DIR or if it's an
+   * anonymized connection but obviously not a directory connection. */
+  const int or_connection = (use_begindir ||
+ (anonymized_connection && !dir_connection));
 
   tor_addr_t addr;
   tor_addr_copy(, &(or_connection ? or_addr_port : dir_addr_port)->addr);
@@ -1096,7 +1104,7 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
 
   /* ensure that we don't make direct connections when a SOCKS server is
* configured. */
-  if (!or_connection && !options->HTTPProxy &&
+  if (dir_connection && !options->HTTPProxy &&
   (options->Socks4Proxy || options->Socks5Proxy)) {
 log_warn(LD_DIR, "Cannot connect to a directory server through a "
  "SOCKS proxy!");
@@ -1113,7 +1121,7 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
   logged_backtrace = 1;
 }
 return;
-  } else if (!or_connection && (!dir_addr_port->port
+  } else if (dir_connection && (!dir_addr_port->port
 || tor_addr_is_null(_addr_port->addr))) {
 static int logged_backtrace = 0;
 log_warn(LD_DIR, "Cannot make an outgoing Dir connection without a Dir "
@@ -1153,7 +1161,7 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
   if (rend_query)
 conn->rend_data = rend_data_dup(rend_query);
 
-  if (!or_connection) {
+  if (dir_connection && !anonymized_connection) {
 /* then we want to connect to dirport directly */
 
 if (options->HTTPProxy) {



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


[tor-commits] [tor/master] Merge remote-tracking branch 'dgoulet/bug18623_028_01'

2016-03-24 Thread nickm
commit d5f50cb052a535b5193dc14ccfd3239a722943c2
Merge: 4f86d75 ba6509e
Author: Nick Mathewson 
Date:   Thu Mar 24 15:03:50 2016 -0400

Merge remote-tracking branch 'dgoulet/bug18623_028_01'

 src/or/directory.c | 16 
 1 file changed, 12 insertions(+), 4 deletions(-)

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


[tor-commits] [translation/tails-perl5lib] Update translations for tails-perl5lib

2016-03-24 Thread translation
commit f77349616535684dc49995f662fc5c2f2d13b22e
Author: Translation commit bot 
Date:   Thu Mar 24 17:46:00 2016 +

Update translations for tails-perl5lib
---
 sq.po | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/sq.po b/sq.po
index 7baf79b..c2c836f 100644
--- a/sq.po
+++ b/sq.po
@@ -3,14 +3,14 @@
 # This file is distributed under the same license as the PACKAGE package.
 # 
 # Translators:
-# Bujar Tafili, 2015
+# Bujar Tafili, 2015-2016
 msgid ""
 msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2016-01-25 16:59+0100\n"
-"PO-Revision-Date: 2016-03-21 16:27+\n"
-"Last-Translator: carolyn \n"
+"PO-Revision-Date: 2016-03-24 17:17+\n"
+"Last-Translator: Bujar Tafili\n"
 "Language-Team: Albanian 
(http://www.transifex.com/otf/torproject/language/sq/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -32,4 +32,4 @@ msgstr "Pajisja Tails po ekzekutohet prej nga s'mund ta 
gjejmë. Mos ndoshta pë
 msgid ""
 "The drive Tails is running from cannot be found. Maybe you used the `toram' "
 "option?"
-msgstr ""
+msgstr "Njësia Tails po ekzekutohet nga ku s'është e mundur të gjendet. 
Ndoshta përdorët opsionin `toram'?"

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


[tor-commits] [translation/tor-launcher-progress_completed] Update translations for tor-launcher-progress_completed

2016-03-24 Thread translation
commit 69bdafa18aca4ea4d33c36906bab15f348b15c1b
Author: Translation commit bot 
Date:   Thu Mar 24 17:15:42 2016 +

Update translations for tor-launcher-progress_completed
---
 sq/progress.dtd | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sq/progress.dtd b/sq/progress.dtd
index 8138a00..f680a4c 100644
--- a/sq/progress.dtd
+++ b/sq/progress.dtd
@@ -1,4 +1,4 @@
 
 
 
-
+

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


[tor-commits] [nyx/master] Stacktrace when we get a NEWCONSENSUS event

2016-03-24 Thread atagar
commit 77a41b128940b568dc7a73bd2aabc369c6824f45
Author: Damian Johnson 
Date:   Thu Mar 24 08:41:27 2016 -0700

Stacktrace when we get a NEWCONSENSUS event

This largely reverts commit df0fc05, but *doesn't* add it back to the
connection panel. That is to say curses still works but the connection panel
doesn't.

Doing this since df0fc05 was deceptively broken (task() was never called 
since
we weren't a Daemon subclass) *and* getting a NEWCONSENSUS event caused
stacktraces...

  Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 551, in __bootstrap_inner
  self.run()
File "/usr/lib/python2.7/threading.py", line 504, in run
  self.__target(*self.__args, **self.__kwargs)
File "/home/atagar/Desktop/nyx/stem/control.py", line 921, in 
_event_loop
  self._handle_event(event_message)
File "/home/atagar/Desktop/nyx/stem/control.py", line 3624, in 
_handle_event
  listener(event_message)
File "/home/atagar/Desktop/nyx/nyx/tracker.py", line 815, in 
_new_consensus_event
  self.update(event.desc)
  AttributeError: 'ConsensusTracker' object has no attribute 'update'
---
 nyx/panel/connection.py |  9 +
 nyx/tracker.py  | 28 +++-
 2 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/nyx/panel/connection.py b/nyx/panel/connection.py
index 952148f..22cda50 100644
--- a/nyx/panel/connection.py
+++ b/nyx/panel/connection.py
@@ -404,6 +404,15 @@ class ConnectionPanel(nyx.panel.Panel, threading.Thread):
 
   self._update()
   self.redraw(True)
+
+  # TODO: The following is needed to show results *but* causes curses to
+  # flicker. For our plans on this see...
+  #
+  #   https://trac.torproject.org/projects/tor/ticket/18547#comment:1
+
+  # if last_ran == -1:
+  #   
nyx.tracker.get_consensus_tracker().update(tor_controller().get_network_statuses([]))
+
   last_ran = time.time()
 
   def get_help(self):
diff --git a/nyx/tracker.py b/nyx/tracker.py
index 662f965..a772ff9 100644
--- a/nyx/tracker.py
+++ b/nyx/tracker.py
@@ -29,6 +29,7 @@ Background tasks for gathering information about the tor 
process.
 +- stop - stops further work by the daemon
 
   ConsensusTracker - performant lookups for consensus related information
+|- update - updates the consensus information we're based on
 |- get_relay_nickname - provides the nickname for a given relay
 |- get_relay_fingerprints - provides relays running at a location
 +- get_relay_address - provides the address a relay is running at
@@ -814,24 +815,25 @@ class ConsensusTracker(object):
   def _new_consensus_event(self, event):
 self.update(event.desc)
 
-  def _task(self, process_pid, process_name):
+  def update(self, router_status_entries):
 """
-If this is our first run then populate our cache.
+Updates our cache with the given router status entries.
+
+:param list router_status_entries: router status entries to populate our 
cache with
 """
 
-if not self._fingerprint_cache:
-  new_fingerprint_cache = {}
-  new_address_cache = {}
-  new_nickname_cache = {}
+new_fingerprint_cache = {}
+new_address_cache = {}
+new_nickname_cache = {}
 
-  for desc in tor_controller().get_network_statuses([]):
-new_fingerprint_cache.setdefault(desc.address, 
[]).append((desc.or_port, desc.fingerprint))
-new_address_cache[desc.fingerprint] = (desc.address, desc.or_port)
-new_nickname_cache[desc.fingerprint] = desc.nickname if desc.nickname 
else 'Unnamed'
+for desc in router_status_entries:
+  new_fingerprint_cache.setdefault(desc.address, []).append((desc.or_port, 
desc.fingerprint))
+  new_address_cache[desc.fingerprint] = (desc.address, desc.or_port)
+  new_nickname_cache[desc.fingerprint] = desc.nickname if desc.nickname 
else 'Unnamed'
 
-  self._fingerprint_cache = new_fingerprint_cache
-  self._address_cache = new_address_cache
-  self._nickname_cache = new_nickname_cache
+self._fingerprint_cache = new_fingerprint_cache
+self._address_cache = new_address_cache
+self._nickname_cache = new_nickname_cache
 
   def get_relay_nickname(self, fingerprint):
 """



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


[tor-commits] [nyx/master] Rewrite show_help_popup()

2016-03-24 Thread atagar
commit 40534bda29f6f7e090550b0a44e4a3af91fbc61a
Author: Damian Johnson 
Date:   Thu Mar 24 09:52:15 2016 -0700

Rewrite show_help_popup()

Bit of an experiment in splitting our Panel class from its responsibilities 
as
a curses subwindow. With this new pattern our draw function gets a subwindow
argument it can draw into. It only has draw functions (and the curses lock)
within that context.

Thus far results are promissing but don't be surprised if this changes 
again. :P
---
 nyx/curses.py | 120 ++
 nyx/popups.py |  87 ++
 2 files changed, 157 insertions(+), 50 deletions(-)

diff --git a/nyx/curses.py b/nyx/curses.py
index 3e88994..67305c6 100644
--- a/nyx/curses.py
+++ b/nyx/curses.py
@@ -20,6 +20,12 @@ if we want Windows support in the future too.
   disable_acs - renders replacements for ACS characters
   is_wide_characters_supported - checks if curses supports wide character
 
+  draw - renders subwindow that can be drawn into
+
+  Subwindow - subwindow that can be drawn within
+|- addstr - draws a string
++- box - draws box with the given dimensions
+
   KeyInput - user keyboard input
 |- match - checks if this matches the given inputs
 |- is_scroll - true if key is used for scrolling
@@ -370,6 +376,120 @@ def is_wide_characters_supported():
   return False
 
 
+def draw(func, left = 0, top = 0, width = None, height = None):
+  """
+  Renders subwindow using the given draw function.
+
+  :param function func: draw function for rendering the subwindow
+  :param int left: left position of the panel
+  :param int top: top position of the panel
+  :param int width: panel width, uses all available space if **None**
+  :param int height: panel height, uses all available space if **None**
+  """
+
+  with CURSES_LOCK:
+max_height, max_width = CURSES_SCREEN.getmaxyx()
+
+subwindow_width = max(0, max_width - left)
+subwindow_height = max(0, max_height - top)
+
+if width:
+  subwindow_width = min(width, subwindow_width)
+
+if height:
+  subwindow_height = min(height, subwindow_height)
+
+curses_subwindow = CURSES_SCREEN.subwin(subwindow_height, subwindow_width, 
top, left)
+curses_subwindow.erase()
+func(Subwindow(subwindow_width, subwindow_height, curses_subwindow))
+curses_subwindow.refresh()
+
+
+class Subwindow(object):
+  """
+  Subwindow that can be drawn within.
+
+  :var int width: subwindow width
+  :var int height: subwindow height
+  """
+
+  def __init__(self, width, height, curses_subwindow):
+self.width = width
+self.height = height
+self._curses_subwindow = curses_subwindow
+
+  def addstr(self, x, y, msg, *attr):
+"""
+Draws a string in the subwindow.
+
+:param int x: horizontal location
+:param int y, vertical location
+:param str msg: string to be written
+:param list attr: text attributes to apply
+"""
+
+if self.width > x and self.height > y:
+  try:
+cropped_msg = msg[:self.width - x]
+self._curses_subwindow.addstr(y, x, cropped_msg, curses_attr(*attr))
+return x + len(cropped_msg)
+  except:
+pass
+
+return x
+
+  def box(self, left = 0, top = 0, width = None, height = None, *attr):
+"""
+Draws a box with the given bounds.
+
+:param int left: left position of the box
+:param int top: top position of the box
+:param int width: box width, uses all available space if **None**
+:param int height: box height, uses all available space if **None**
+:param list attr: text attributes to apply
+"""
+
+max_width = self.width - left
+max_height = self.height - top
+
+width = max_width if width is None else min(width, max_width)
+height = max_height if height is None else min(height, max_height)
+
+self._hline(left + 1, top, width - 2, *attr)  # top
+self._hline(left + 1, top + height - 1, width - 2, *attr)  # bottom
+self._vline(left, top + 1, height - 2, *attr)  # left
+self._vline(left + width - 1, top + 1, height - 2, *attr)  # right
+
+self._addch(left, top, curses.ACS_ULCORNER, *attr)  # upper left corner
+self._addch(left, top + height - 1, curses.ACS_LLCORNER, *attr)  # lower 
left corner
+self._addch(left + width - 1, top, curses.ACS_URCORNER, *attr)  # upper 
right corner
+self._addch(left + width - 1, top + height - 1, curses.ACS_LRCORNER, 
*attr)  # lower right corner
+
+  def _addch(self, x, y, char, *attr):
+if self.width > x and self.height > y:
+  try:
+self._curses_subwindow.addch(y, x, char, curses_attr(*attr))
+return x + 1
+  except:
+pass
+
+return x
+
+  def _hline(self, x, y, length, *attr):
+if self.width > x and self.height > y:
+  try:
+self._curses_subwindow.hline(y, x, curses.ACS_HLINE | 
curses_attr(*attr), min(length, self.width - x))
+  

[tor-commits] [translation/tor-messenger-ircproperties] Update translations for tor-messenger-ircproperties

2016-03-24 Thread translation
commit 39c1ae905130c398ccfef7abbe9c5c7d809b4c52
Author: Translation commit bot 
Date:   Thu Mar 24 16:46:59 2016 +

Update translations for tor-messenger-ircproperties
---
 sq/irc.properties | 40 
 1 file changed, 20 insertions(+), 20 deletions(-)

diff --git a/sq/irc.properties b/sq/irc.properties
index a3b1157..c596c8a 100644
--- a/sq/irc.properties
+++ b/sq/irc.properties
@@ -50,27 +50,27 @@ ctcp.time=Koha për %1$S është %2$S.
 command.action=%S action to perform: Kryeni një veprim.
 command.ctcp=%S nick msg: Dërgoni një mesazh CTCP tek 
pseudonimi.
 command.chanserv=%S command: Dërgoni një komandë tek ChanServ.
-command.deop=%S nick1[,nick2]*: Remove channel operator status 
from someone. You must be a channel operator to do this.
-command.devoice=%S nick1[,nick2]*: Remove channel voice status 
from someone, preventing them from speaking if the channel is moderated (+m). 
You must be a channel operator to do this.
-command.invite2=%S nick[ nick]* [channel]: Invite one 
or more nicks to join you in the current channel, or to join the specified 
channel.
-command.join=%S room1[ key1][,room2[ key2]]*: 
Enter one or more channels, optionally providing a channel key for each if 
needed.
-command.kick=%S nick [message]: Remove someone from a channel. 
You must be a channel operator to do this.
-command.list=%S: Display a list of chat rooms on the network. Warning, some 
servers may disconnect you upon doing this.
-command.memoserv=%S command: Send a command to MemoServ.
-command.modeUser=%S (+|-)new mode [nick]: Set or unset a 
user's mode.
-command.modeChannel=%S channel[ (+|-)new mode 
[parameter][,parameter]*]: Get, set or unset a channel mode.
-command.msg=%S nick message: Send a private message to a user 
(as opposed to a channel).
+command.deop=%S nick1[,nick2]*: Hiqeni statusin e operatorit 
të kanalit nga ndonjëri. Që ta bëni këtë duhet të jeni një operator 
kanali.
+command.devoice=%S nick1[,nick2]*: Hiqeni statusin e kanalit 
të zërit nga ndonjëri, që ta pengoni të flasë nëse kanali është 
moderuar e parandaluar (+m). Që ta bëni këtë duhet të jeni një operator 
kanali.
+command.invite2=%S nick[ nick]* [channel]: Ftoni një 
ose më shumë pseudonime që t'ju bashkëngjiten në këtë kanal, ose për 
të hyrë në kanalin e veçantë.
+command.join=%S room1[ key1][,room2[ key2]]*: 
Hyni në një ose më shumë kanale, duke futur sipas rastit një çelës 
kanali nëse nevojitet.
+command.kick=%S nick [message]: Hiqni ndokënd nga një kanal. 
Që ta bëni këtë duhet të jeni një operator kanali.
+command.list=%S: Shfaqni një listë me grupe biseduesish në rrjet. Kujdes, 
disa shërbyes mund t'ju shkëpusin kur ta bëni këtë.
+command.memoserv=%S command: Dërgoni një komandë tek MemoServ.
+command.modeUser=%S (+|-)new mode [nick]: Vendosni ose hiqni 
modalitetin e një përdoruesi.
+command.modeChannel=%S channel[ (+|-)new mode 
[parameter][,parameter]*]: Merrni, vendosni ose hiqni një 
modalitet kanali.
+command.msg=%S nick message: Dërgoni një mesazh privat tek 
një përdorues. (përkundër një kanali).
 command.nick=%S new nickname: Ndryshoni pseudonimin tuaj.
-command.nickserv=%S command: Send a command to NickServ.
-command.notice=%S target message: Send a notice to a user or 
channel.
-command.op=%S nick1[,nick2]*: Grant channel operator status to 
someone. You must be a channel operator to do this.
-command.operserv=%S command: Send a command to OperServ.
-command.part=%S [message]: Leave the current channel with an optional message.
-command.ping=%S [nick]: Asks how much lag a user (or the server if no 
user specified) has.
-command.quit=%S message: Disconnect from the server, with an optional 
message.
-command.quote=%S command: Send a raw command to the server.
-command.time=%S: Displays the current local time at the IRC server.
-command.topic=%S [new topic]: Set this channel's topic.
+command.nickserv=%S command: Dërgoni një komandë tek NickServ.
+command.notice=%S target message: Dërgoni një njoftim tek 
një përdorues ose kanal.
+command.op=%S nick1[,nick2]*: Jepini ndokujt statusin e 
operatorit të kanalit. Që ta bëni këtë duhet të jeni një operator kanali.
+command.operserv=%S command: Dërgoni një komandë tek OperServ.
+command.part=%S [message]: Lëreni kanalin ku jeni me një mesazh jo detyrues.
+command.ping=%S [nick]: Kërkon sesa vonohet një përdorues (ose një 
shërbyes, nëse nuk është specifikuar një përdorues).
+command.quit=%S message Shkëputuni nga shërbyesi, me një mesazh jo 
detyrues.
+command.quote=%S command: Dërgoni një komandë paraprake tek 
shërbyesi.
+command.time=%S: shfaq kohën lokale tek shërbyesi IRC.
+command.topic=%S [new topic]: Përcaktoni tematikën e këtij kanali.
 command.umode=%S (+|-)new mode: Set or unset a user mode.
 command.version=%S nick: Request the version of a user's client.
 

[tor-commits] [tor/master] try to fix a test failure for sizeof(time_t)==4.

2016-03-24 Thread nickm
commit 4f86d75a4bece7768ddb87db0276268666efcf11
Author: Nick Mathewson 
Date:   Thu Mar 24 12:26:46 2016 -0400

try to fix a test failure for sizeof(time_t)==4.
---
 src/test/test_util.c | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index 62c6765..bcbffe1 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -581,10 +581,10 @@ test_util_time(void *arg)
* time_t */
   format_rfc1123_time(timestr, (time_t)215000UL);
 #if SIZEOF_TIME_T == 4
-  /* format_rfc1123_time should indicate failure on overflow, but it doesn't
-   * yet. Hopefully #18480 will improve the failure semantics in this case.
-  tt_str_op("Wed, 17 Feb 2038 06:13:20 GMT",OP_EQ, timestr);
-   */
+  /* Wrapping around will have made it this. */
+  tt_str_op("Sat, 11 Jan 1902 23:45:04 GMT",OP_EQ, timestr);
+  /* Make sure that the right date doesn't parse. */
+  strlcpy(timestr, "Wed, 17 Feb 2038 06:13:20 GMT", sizeof(timestr));
 
   t_res = 0;
   i = parse_rfc1123_time(timestr, _res);

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


[tor-commits] [tor/master] Fold entries into changelog again

2016-03-24 Thread nickm
commit e50b0b753202d2fb2f6e543a29fd6d51cf491d8d
Author: Nick Mathewson 
Date:   Thu Mar 24 11:13:31 2016 -0400

Fold entries into changelog again
---
 ChangeLog| 26 --
 changes/bug18351 |  6 --
 changes/bug18479 |  5 -
 changes/bug18489 |  6 --
 changes/bug18517 |  6 --
 5 files changed, 24 insertions(+), 25 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 761d453..8374e86 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,6 @@
 Changes in version 0.2.8.2-alpha - 2016-03-??
-  Tor 0.2.8.2-alpha is the second alpha in its series. 
-  write more here 
+  Tor 0.2.8.2-alpha is the second alpha in its series.  write more
+  here 
 
   o New system requirements:
 - Tor no longer supports versions of OpenSSL with a broken
@@ -18,6 +18,13 @@ Changes in version 0.2.8.2-alpha - 2016-03-??
   bugfix on Tor 0.1.1.11-alpha, which fixed a related bug
   incompletely. Reported by Guido Vranken.
 
+  o Major bugfixes (bridges, pluggable transports):
+- Modify the check for OR connections to private addresses. Allow
+  bridges on private addresses, including pluggable transports that
+  ignore the (potentially private) address in the bridge line. Fixes
+  bug 18517; bugfix on 0.2.8.1-alpha. Reported by "gk", patch
+  by "teor".
+
   o Major bugfixes (compilation):
 - Repair hardened builds under the clang compiler. Previously, our
   use of _FORTIFY_SOURCE would conflict with clang's address
@@ -182,6 +189,12 @@ Changes in version 0.2.8.2-alpha - 2016-03-??
   wrap the IPv6 address in square brackets. Fixes bug 18051; bugfix
   on 0.2.3.9-alpha. Patch from Malek.
 
+  o Minor bugfixes (fallback directory mirrors):
+- When requesting extrainfo descriptors from a trusted directory
+  server, check whether it is an authority or a fallback directory
+  which supports extrainfo descriptors. Fixes bug 18489; bugfix on
+  0.2.4.7-alpha. Reported by "atagar", patch by "teor".
+
   o Minor bugfixes (hidden service client):
 - Seven very fast consecutive requests to the same .onion address
   triggers 7 descriptor fetches. The first six each pick a directory
@@ -211,6 +224,10 @@ Changes in version 0.2.8.2-alpha - 2016-03-??
   18368; bugfix on 0.2.0.8-alpha.
 - Scrub service in from "unrecognized service ID" log messages.
   Fixes bug 18600; bugfix on 0.2.4.11-alpha.
+- Downgrade logs and backtraces about IP versions to info-level.
+  Only log backtraces once each time tor runs. Assists in diagnosing
+  bug 18351; bugfix on 0.2.8.1-alpha. Reported by "sysrqb" and
+  "Christian", patch by "teor".
 
   o Minor bugfixes (memory safety):
 - Avoid freeing an uninitialised pointer when opening a socket fails
@@ -238,6 +255,11 @@ Changes in version 0.2.8.2-alpha - 2016-03-??
   unit tests (for example, if you want to perform branch coverage).
   Fixes bug 18242; bugfix on 0.2.7.1-alpha.
 
+  o Minor bugfixes (time parsing):
+- Avoid overflow in tor_timegm when parsing dates in and after 2038
+  on platforms with 32-bit time_t. Fixes bug 18479; bugfix on
+  0.0.2pre14. Patch by "teor".
+
   o Minor bugfixes (tor-gencert):
 - Correctly handle the case where an authority operator enters a
   passphrase but sends an EOF before sending a newline. Fixes bug
diff --git a/changes/bug18351 b/changes/bug18351
deleted file mode 100644
index f2e21ea..000
--- a/changes/bug18351
+++ /dev/null
@@ -1,6 +0,0 @@
-  o Minor bugfixes (logging):
-- Downgrade logs and backtraces about IP versions to
-  info-level. Only log backtraces once each time tor runs.
-  Assists in diagnosing bug 18351; bugfix on c3cc8e16e in
-  tor-0.2.8.1-alpha.
-  Reported by "sysrqb" and "Christian", patch by "teor".
diff --git a/changes/bug18479 b/changes/bug18479
deleted file mode 100644
index d7a935b..000
--- a/changes/bug18479
+++ /dev/null
@@ -1,5 +0,0 @@
-  o Minor bugfixes (time parsing):
-- Avoid overflow in tor_timegm when parsing dates in and after 2038
-  on platforms with 32-bit time_t.
-  Fixes bug 18479; bugfix on 3c4b4c8ca in tor-0.0.2pre14.
-  Patch by "teor".
diff --git a/changes/bug18489 b/changes/bug18489
deleted file mode 100644
index d8c171a..000
--- a/changes/bug18489
+++ /dev/null
@@ -1,6 +0,0 @@
-  o Minor bugfixes (fallback directory mirrors):
-- When requesting extrainfo descriptors from a trusted directory
-  server, check whether it is an authority or a fallback directory
-  which supports extrainfo descriptors.
-  Fixes bug 18489; bugfix on 90f6071d8d in tor-0.2.4.7-alpha.
-  Reported by "atagar", patch by "teor".
diff --git a/changes/bug18517 b/changes/bug18517
deleted file mode 100644
index b82b5a4..000
--- a/changes/bug18517
+++ /dev/null
@@ -1,6 +0,0 @@
-  o Major bugfixes (bridges, pluggable transports):
-- Modify the check for OR connections to 

[tor-commits] [doctor/master] Only give BadExit sync notification if relay is in the consensus

2016-03-24 Thread atagar
commit 2db42c80d42bf6e1c4f2ea745e4d157bb230070e
Author: Damian Johnson 
Date:   Thu Mar 24 07:34:15 2016 -0700

Only give BadExit sync notification if relay is in the consensus

We suppressed this check if the relay was new and not in votes, but guess
that's not enough. Changed this to check if the relay's in the latest 
overall
consensus instead.
---
 consensus_health_checker.py | 19 ---
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/consensus_health_checker.py b/consensus_health_checker.py
index d122c27..c521e64 100755
--- a/consensus_health_checker.py
+++ b/consensus_health_checker.py
@@ -663,7 +663,7 @@ def bad_exits_in_sync(latest_consensus, consensuses, votes):
   for fingerprint in disagreed_bad_exits:
 with_flag = set([authority for authority, flagged in bad_exits.items() if 
fingerprint in flagged])
 without_flag = []
-not_in_consensus = []
+not_in_vote = []
 
 for authority in voting_authorities.difference(with_flag):
   vote = votes[authority]
@@ -671,16 +671,13 @@ def bad_exits_in_sync(latest_consensus, consensuses, 
votes):
   if fingerprint in vote.routers:
 without_flag.append(authority)
   else:
-not_in_consensus.append(authority)
+not_in_vote.append(authority)
 
-# If this relay's missing from a consensus and has been active for less
-# than an hour then don't bother. It gets negligable traffic and is likely
-# part of normal network churn.
+# If this relay's missing from a consensus then don't bother. It gets
+# negligable traffic and is likely part of normal network churn.
 
-desc = votes[list(with_flag)[0]].routers[fingerprint]
-uptime = (datetime.datetime.now() - desc.published).total_seconds()
-
-if not_in_consensus and uptime < 3600:
+if fingerprint not in latest_consensus.routers:
+  log.debug("BadExit sync check is skipping %s because it's not in the 
latest consensus" % fingerprint)
   continue
 
 attr = ['with flag: %s' % ', '.join(with_flag)]
@@ -688,8 +685,8 @@ def bad_exits_in_sync(latest_consensus, consensuses, votes):
 if without_flag:
   attr.append('without flag: %s' % ', '.join(without_flag))
 
-if not_in_consensus:
-  attr.append('not in consensus: %s' % ', '.join(not_in_consensus))
+if not_in_vote:
+  attr.append('not in consensus: %s' % ', '.join(not_in_vote))
 
 issues.append(Issue(Runlevel.NOTICE, 'BADEXIT_OUT_OF_SYNC', fingerprint = 
fingerprint, counts = ', '.join(attr), to = bad_exits.keys()))
 

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


[tor-commits] [tor/master] Avoid overflow in tor_timegm on 32 bit platforms due to year 2038

2016-03-24 Thread nickm
commit e71e8e005a533ad519d6b226541ede115e0a5b79
Author: teor (Tim Wilson-Brown) 
Date:   Thu Feb 25 11:02:39 2016 +0800

Avoid overflow in tor_timegm on 32 bit platforms due to year 2038
---
 changes/bug18479  |  5 +
 src/common/util.c | 23 ---
 2 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/changes/bug18479 b/changes/bug18479
new file mode 100644
index 000..d7a935b
--- /dev/null
+++ b/changes/bug18479
@@ -0,0 +1,5 @@
+  o Minor bugfixes (time parsing):
+- Avoid overflow in tor_timegm when parsing dates in and after 2038
+  on platforms with 32-bit time_t.
+  Fixes bug 18479; bugfix on 3c4b4c8ca in tor-0.0.2pre14.
+  Patch by "teor".
diff --git a/src/common/util.c b/src/common/util.c
index fda5993..6e90f25 100644
--- a/src/common/util.c
+++ b/src/common/util.c
@@ -1475,9 +1475,19 @@ tor_timegm(const struct tm *tm, time_t *time_out)
 {
   /* This is a pretty ironclad timegm implementation, snarfed from Python2.2.
* It's way more brute-force than fiddling with tzset().
-   */
-  time_t year, days, hours, minutes, seconds;
+   *
+   * We use int64_t rather than time_t to avoid overflow on multiplication on
+   * platforms with 32-bit time_t. Since year is clipped to INT32_MAX, and
+   * since 365 * 24 * 60 * 60 is approximately 31 million, it's not possible
+   * for INT32_MAX years to overflow int64_t when converted to seconds. */
+  int64_t year, days, hours, minutes, seconds;
   int i, invalid_year, dpm;
+
+  /* Initialize time_out to 0 for now, to avoid bad usage in case this function
+ fails and the caller ignores the return value. */
+  tor_assert(time_out);
+  *time_out = 0;
+
   /* avoid int overflow on addition */
   if (tm->tm_year < INT32_MAX-1900) {
 year = tm->tm_year + 1900;
@@ -1516,7 +1526,14 @@ tor_timegm(const struct tm *tm, time_t *time_out)
 
   minutes = hours*60 + tm->tm_min;
   seconds = minutes*60 + tm->tm_sec;
-  *time_out = seconds;
+  /* Check that "seconds" will fit in a time_t. On platforms where time_t is
+   * 32-bit, this check will fail for dates in and after 2038.
+   * "seconds" can't be negative, because "year" >= 1970. */
+  if (seconds < TIME_MIN || seconds > TIME_MAX) {
+log_warn(LD_BUG, "Result does not fit in tor_timegm");
+return -1;
+  }
+  *time_out = (time_t)seconds;
   return 0;
 }
 



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


[tor-commits] [tor/master] Merge branch 'timegm_overflow_squashed'

2016-03-24 Thread nickm
commit 6256c61d959dc2aa84752ac7903b827fffd53583
Merge: 424af93 19fb86a
Author: Nick Mathewson 
Date:   Thu Mar 24 10:18:00 2016 -0400

Merge branch 'timegm_overflow_squashed'

 changes/bug18479 |   5 +++
 src/common/util.c|  23 +--
 src/test/test_util.c | 109 ++-
 3 files changed, 133 insertions(+), 4 deletions(-)

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


[tor-commits] [tor/master] Add a missing UL on a long in a unit test

2016-03-24 Thread nickm
commit 19fb86a2dc0a95c6b009f977c35a01b7a2211546
Author: teor (Tim Wilson-Brown) 
Date:   Fri Mar 4 18:16:09 2016 +0100

Add a missing UL on a long in a unit test
---
 src/test/test_util.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index f0b9476..58ffdea 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -690,7 +690,7 @@ test_util_time(void *arg)
 
   /* Test format_iso_time */
 
-  tv.tv_sec = (time_t)1326296338;
+  tv.tv_sec = (time_t)1326296338UL;
   tv.tv_usec = 3060;
   format_iso_time(timestr, (time_t)tv.tv_sec);
   tt_str_op("2012-01-11 15:38:58",OP_EQ, timestr);



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


[tor-commits] [tor/master] Add unit tests with dates from 2035 to 2039

2016-03-24 Thread nickm
commit b99bd3e7ff0220420ab792be5e9fe02b10d780ea
Author: teor (Tim Wilson-Brown) 
Date:   Fri Mar 4 18:14:00 2016 +0100

Add unit tests with dates from 2035 to 2039

Platforms with 32-bit time_t sometimes give different results.
They don't always indicate failure on overflow, #18480 should
fix these.
---
 src/test/test_util.c | 107 +++
 1 file changed, 107 insertions(+)

diff --git a/src/test/test_util.c b/src/test/test_util.c
index 37f7d93..f0b9476 100644
--- a/src/test/test_util.c
+++ b/src/test/test_util.c
@@ -328,6 +328,25 @@ test_util_time(void *arg)
   tor_gmtime_r(_res, _time);
   TM_EQUAL(a_time, b_time);
 
+  /* This value is in range with 32 bit and 64 bit time_t */
+  a_time.tm_year = 2037-1900;
+  t_res = 2115180895UL;
+  tt_int_op(t_res, OP_EQ, tor_timegm(_time));
+  tor_gmtime_r(_res, _time);
+  TM_EQUAL(a_time, b_time);
+
+  /* This value is out of range with 32 bit time_t, but in range for 64 bit
+   * time_t */
+  a_time.tm_year = 2039-1900;
+#if SIZEOF_TIME_T == 4
+  tt_int_op((time_t) -1,OP_EQ, tor_timegm(_time));
+#elif SIZEOF_TIME_T == 8
+  t_res = 2178252895UL;
+  tt_int_op(t_res, OP_EQ, tor_timegm(_time));
+  tor_gmtime_r(_res, _time);
+  TM_EQUAL(a_time, b_time);
+#endif
+
   /* Test tor_timegm out of range */
 
   /* year */
@@ -548,6 +567,37 @@ test_util_time(void *arg)
   i = parse_rfc1123_time(timestr, _res);
   tt_int_op(0,OP_EQ, i);
   tt_int_op(t_res,OP_EQ, (time_t)1091580502UL);
+
+  /* This value is in range with 32 bit and 64 bit time_t */
+  format_rfc1123_time(timestr, (time_t)208000UL);
+  tt_str_op("Fri, 30 Nov 2035 01:46:40 GMT",OP_EQ, timestr);
+
+  t_res = 0;
+  i = parse_rfc1123_time(timestr, _res);
+  tt_int_op(0,OP_EQ, i);
+  tt_int_op(t_res,OP_EQ, (time_t)208000UL);
+
+  /* This value is out of range with 32 bit time_t, but in range for 64 bit
+   * time_t */
+  format_rfc1123_time(timestr, (time_t)215000UL);
+#if SIZEOF_TIME_T == 4
+  /* format_rfc1123_time should indicate failure on overflow, but it doesn't
+   * yet. Hopefully #18480 will improve the failure semantics in this case.
+  tt_str_op("Wed, 17 Feb 2038 06:13:20 GMT",OP_EQ, timestr);
+   */
+
+  t_res = 0;
+  i = parse_rfc1123_time(timestr, _res);
+  tt_int_op(-1,OP_EQ, i);
+#elif SIZEOF_TIME_T == 8
+  tt_str_op("Wed, 17 Feb 2038 06:13:20 GMT",OP_EQ, timestr);
+
+  t_res = 0;
+  i = parse_rfc1123_time(timestr, _res);
+  tt_int_op(0,OP_EQ, i);
+  tt_int_op(t_res,OP_EQ, (time_t)215000UL);
+#endif
+
   /* The timezone doesn't matter */
   t_res = 0;
   tt_int_op(0,OP_EQ,
@@ -595,6 +645,24 @@ test_util_time(void *arg)
   i = parse_iso_time("2004-8-4 0:48:22", _res);
   tt_int_op(0,OP_EQ, i);
   tt_int_op(t_res,OP_EQ, (time_t)1091580502UL);
+
+  /* This value is in range with 32 bit and 64 bit time_t */
+  t_res = 0;
+  i = parse_iso_time("2035-11-30 01:46:40", _res);
+  tt_int_op(0,OP_EQ, i);
+  tt_int_op(t_res,OP_EQ, (time_t)208000UL);
+
+  /* This value is out of range with 32 bit time_t, but in range for 64 bit
+   * time_t */
+  t_res = 0;
+  i = parse_iso_time("2038-02-17 06:13:20", _res);
+#if SIZEOF_TIME_T == 4
+  tt_int_op(-1,OP_EQ, i);
+#elif SIZEOF_TIME_T == 8
+  tt_int_op(0,OP_EQ, i);
+  tt_int_op(t_res,OP_EQ, (time_t)215000UL);
+#endif
+
   tt_int_op(-1,OP_EQ, parse_iso_time("2004-08-zz 99-99x99", _res));
   tt_int_op(-1,OP_EQ, parse_iso_time("2011-03-32 00:00:00", _res));
   tt_int_op(-1,OP_EQ, parse_iso_time("2011-03-30 24:00:00", _res));
@@ -639,6 +707,25 @@ test_util_time(void *arg)
   tt_str_op("2012-01-11T15:38:58.003060",OP_EQ, timestr);
   tt_int_op(strlen(timestr),OP_EQ, ISO_TIME_USEC_LEN);
 
+  tv.tv_usec = 0;
+  /* This value is in range with 32 bit and 64 bit time_t */
+  tv.tv_sec = (time_t)208000UL;
+  format_iso_time(timestr, (time_t)tv.tv_sec);
+  tt_str_op("2035-11-30 01:46:40",OP_EQ, timestr);
+
+  /* This value is out of range with 32 bit time_t, but in range for 64 bit
+   * time_t */
+  tv.tv_sec = (time_t)215000UL;
+  format_iso_time(timestr, (time_t)tv.tv_sec);
+#if SIZEOF_TIME_T == 4
+  /* format_iso_time should indicate failure on overflow, but it doesn't yet.
+   * Hopefully #18480 will improve the failure semantics in this case.
+   tt_str_op("2038-02-17 06:13:20",OP_EQ, timestr);
+   */
+#elif SIZEOF_TIME_T == 8
+  tt_str_op("2038-02-17 06:13:20",OP_EQ, timestr);
+#endif
+
  done:
   ;
 }
@@ -712,6 +799,26 @@ test_util_parse_http_time(void *arg)
   tt_int_op(0,OP_EQ,parse_http_time("Mon, 31 Dec 2012 00:00:00 GMT", _time));
   tt_int_op((time_t)1356912000UL,OP_EQ, tor_timegm(_time));
   T("2012-12-31 00:00:00");
+
+  /* This value is in range with 32 bit and 64 bit time_t */
+  tt_int_op(0,OP_EQ,parse_http_time("Fri, 30 Nov 2035 01:46:40 GMT", _time));
+  tt_int_op((time_t)208000UL,OP_EQ, tor_timegm(_time));
+  T("2035-11-30 01:46:40");
+
+  /* This value is out of range with 32 bit time_t, but in range for 64 bit
+   * time_t */
+#if 

[tor-commits] [tor/master] Always allow OR connections to bridges on private addresses

2016-03-24 Thread nickm
commit f2153f9716876b87bfcc53ff13b86b878edaae86
Author: teor (Tim Wilson-Brown) 
Date:   Wed Mar 23 13:37:35 2016 +1100

Always allow OR connections to bridges on private addresses

Regardless of the setting of ExtendAllowPrivateAddresses.

This fixes a bug with pluggable transports that ignore the
(potentially private) address in their bridge line.

Fixes bug 18517; bugfix on 23b088907f in tor-0.2.8.1-alpha.
---
 changes/bug18517  |  6 ++
 doc/tor.1.txt | 19 ---
 src/or/circuitbuild.c | 11 +--
 src/or/entrynodes.c   | 24 +++-
 src/or/entrynodes.h   |  3 +++
 5 files changed, 53 insertions(+), 10 deletions(-)

diff --git a/changes/bug18517 b/changes/bug18517
new file mode 100644
index 000..b82b5a4
--- /dev/null
+++ b/changes/bug18517
@@ -0,0 +1,6 @@
+  o Major bugfixes (bridges, pluggable transports):
+- Modify the check for OR connections to private addresses.
+  Allow bridges on private addresses, including pluggable transports
+  that ignore the (potentially private) address in the bridge line.
+  Fixes bug 18517; bugfix on 23b088907f in tor-0.2.8.1-alpha.
+  Reported by "gk", patch by "teor".
diff --git a/doc/tor.1.txt b/doc/tor.1.txt
index a71b04f..413af96 100644
--- a/doc/tor.1.txt
+++ b/doc/tor.1.txt
@@ -747,9 +747,12 @@ The following options are useful only for clients (that 
is, if
 fingerprint to look up the bridge descriptor at the bridge authority, if
 it's provided and if UpdateBridgesFromAuthority is set too.  +
  +
-If "transport" is provided, and matches to a ClientTransportPlugin
-line, we use that pluggable transports proxy to transfer data to
-the bridge.
+If "transport" is provided, it must match a ClientTransportPlugin line. We
+then use that pluggable transport's proxy to transfer data to the bridge,
+rather than connecting to the bridge directly. Some transports use a
+transport-specific method to work out the remote address to connect to.
+These transports typically ignore the "IP:ORPort" specified in the bridge
+line.
 
 [[LearnCircuitBuildTimeout]] **LearnCircuitBuildTimeout** **0**|**1**::
 If 0, CircuitBuildTimeout adaptive learning is disabled. (Default: 1)
@@ -1974,10 +1977,12 @@ is non-zero):
 (Default: 1)
 
 [[ExtendAllowPrivateAddresses]] **ExtendAllowPrivateAddresses** **0**|**1**::
-When this option is enabled, Tor will connect to localhost, RFC1918
-addresses, and so on. In particular, Tor will make direct connections, and
-Tor routers allow EXTEND requests, to these private addresses. This can
-create security issues; you should probably leave it off.
+When this option is enabled, Tor will connect to relays on localhost,
+RFC1918 addresses, and so on. In particular, Tor will make direct OR
+connections, and Tor routers allow EXTEND requests, to these private
+addresses. (Tor will always allow connections to bridges, proxies, and
+pluggable transports configured on private addresses.) Enabling this
+option can create security issues; you should probably leave it off.
 (Default: 0)
 
 [[MaxMemInQueues]] **MaxMemInQueues**  __N__ **bytes**|**KB**|**MB**|**GB**::
diff --git a/src/or/circuitbuild.c b/src/or/circuitbuild.c
index 237b61a..a5a933e 100644
--- a/src/or/circuitbuild.c
+++ b/src/or/circuitbuild.c
@@ -495,14 +495,21 @@ circuit_handle_first_hop(origin_circuit_t *circ)
   int err_reason = 0;
   const char *msg = NULL;
   int should_launch = 0;
+  const or_options_t *options = get_options();
 
   firsthop = onion_next_hop_in_cpath(circ->cpath);
   tor_assert(firsthop);
   tor_assert(firsthop->extend_info);
 
-  /* XX/teor - does tor ever need build a circuit directly to itself? */
+  /* Some bridges are on private addresses. Others pass a dummy private
+   * address to the pluggable transport, which ignores it.
+   * Deny the connection if:
+   * - the address is internal, and
+   * - we're not connecting to a configured bridge, and
+   * - we're not configured to allow extends to private addresses. */
   if (tor_addr_is_internal(>extend_info->addr, 0) &&
-  !get_options()->ExtendAllowPrivateAddresses) {
+  !extend_info_is_a_configured_bridge(firsthop->extend_info) &&
+  !options->ExtendAllowPrivateAddresses) {
 log_fn(LOG_PROTOCOL_WARN, LD_PROTOCOL,
"Client asked me to connect directly to a private address");
 return -END_CIRC_REASON_TORPROTOCOL;
diff --git a/src/or/entrynodes.c b/src/or/entrynodes.c
index 3287fcd..8dbfeae 100644
--- a/src/or/entrynodes.c
+++ b/src/or/entrynodes.c
@@ -1795,7 +1795,7 @@ get_configured_bridge_by_orports_digest(const char 
*digest,
 }
 
 /** If we have a bridge configured whose digest matches digest, or a
- * bridge with no known digest whose address matches addr:/port,
+ * bridge with no known digest whose address matches addr:port,
  * return that bridge.  Else return NULL. 

[tor-commits] [tor/master] Merge branch 'bug18517_squashed'

2016-03-24 Thread nickm
commit 424af93ded7e1d9d98733ed17b2b6fee143262b9
Merge: 54559e5 f2153f9
Author: Nick Mathewson 
Date:   Thu Mar 24 10:14:05 2016 -0400

Merge branch 'bug18517_squashed'

 changes/bug18517  |  6 ++
 doc/tor.1.txt | 19 ---
 src/or/circuitbuild.c | 11 +--
 src/or/entrynodes.c   | 24 +++-
 src/or/entrynodes.h   |  3 +++
 5 files changed, 53 insertions(+), 10 deletions(-)

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


[tor-commits] [tor/master] Downgrade IP version warnings to avoid filling logs

2016-03-24 Thread nickm
commit f2a344e3974eeba860434884bd70f8d11cca94ea
Author: teor (Tim Wilson-Brown) 
Date:   Thu Mar 24 10:38:07 2016 +1100

Downgrade IP version warnings to avoid filling logs

Downgrade logs and backtraces about IP versions to
info-level. Only log backtraces once each time tor runs.

Assists in diagnosing bug 18351; bugfix on c3cc8e16e in
tor-0.2.8.1-alpha.

Reported by "sysrqb" and "Christian", patch by "teor".
---
 changes/bug18351|  6 ++
 src/or/connection.c |  8 ++--
 src/or/directory.c  | 21 -
 src/or/routerlist.c |  9 ++---
 4 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/changes/bug18351 b/changes/bug18351
new file mode 100644
index 000..f2e21ea
--- /dev/null
+++ b/changes/bug18351
@@ -0,0 +1,6 @@
+  o Minor bugfixes (logging):
+- Downgrade logs and backtraces about IP versions to
+  info-level. Only log backtraces once each time tor runs.
+  Assists in diagnosing bug 18351; bugfix on c3cc8e16e in
+  tor-0.2.8.1-alpha.
+  Reported by "sysrqb" and "Christian", patch by "teor".
diff --git a/src/or/connection.c b/src/or/connection.c
index 4e915f1..fc9ec13 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -1793,11 +1793,15 @@ connection_connect_log_client_use_ip_version(const 
connection_t *conn)
   /* Check if we broke a mandatory address family restriction */
   if ((must_ipv4 && tor_addr_family(_addr) == AF_INET6)
   || (must_ipv6 && tor_addr_family(_addr) == AF_INET)) {
-log_warn(LD_BUG, "%s connection to %s violated ClientUseIPv%s 0.",
+static int logged_backtrace = 0;
+log_info(LD_BUG, "%s connection to %s violated ClientUseIPv%s 0.",
  conn->type == CONN_TYPE_OR ? "OR" : "Dir",
  fmt_addr(_addr),
  options->ClientUseIPv4 == 0 ? "4" : "6");
-log_backtrace(LOG_WARN, LD_BUG, "Address came from");
+if (!logged_backtrace) {
+  log_backtrace(LOG_INFO, LD_BUG, "Address came from");
+  logged_backtrace = 1;
+}
   }
 
   /* Bridges are allowed to break IPv4/IPv6 ORPort preferences to connect to
diff --git a/src/or/directory.c b/src/or/directory.c
index e4feda4..c95944b 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -674,13 +674,17 @@ directory_choose_address_routerstatus(const 
routerstatus_t *status,
 
   /* We rejected both addresses. This isn't great. */
   if (!have_or && !have_dir) {
-log_warn(LD_BUG, "Rejected all OR and Dir addresses from %s when "
+static int logged_backtrace = 0;
+log_info(LD_BUG, "Rejected all OR and Dir addresses from %s when "
  "launching a directory connection to: IPv4 %s OR %d Dir %d "
  "IPv6 %s OR %d Dir %d", routerstatus_describe(status),
  fmt_addr32(status->addr), status->or_port,
  status->dir_port, fmt_addr(>ipv6_addr),
  status->ipv6_orport, status->dir_port);
-log_backtrace(LOG_WARN, LD_BUG, "Addresses came from");
+if (!logged_backtrace) {
+  log_backtrace(LOG_INFO, LD_BUG, "Addresses came from");
+  logged_backtrace = 1;
+}
 return -1;
   }
 
@@ -1100,14 +1104,21 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
 
   if (or_connection && (!or_addr_port->port
 || tor_addr_is_null(_addr_port->addr))) {
+static int logged_backtrace = 0;
 log_warn(LD_DIR, "Cannot make an OR connection without an OR port.");
-log_backtrace(LOG_WARN, LD_BUG, "Address came from");
+if (!logged_backtrace) {
+  log_backtrace(LOG_INFO, LD_BUG, "Address came from");
+  logged_backtrace = 1;
+}
 return;
   } else if (!or_connection && (!dir_addr_port->port
 || tor_addr_is_null(_addr_port->addr))) {
+static int logged_backtrace = 0;
 log_warn(LD_DIR, "Cannot make a Dir connection without a Dir port.");
-log_backtrace(LOG_WARN, LD_BUG, "Address came from");
-
+if (!logged_backtrace) {
+  log_backtrace(LOG_INFO, LD_BUG, "Address came from");
+  logged_backtrace = 1;
+}
 return;
   }
 
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index bc5e2e9..f065c3c 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1560,9 +1560,13 @@ router_picked_poor_directory_log(const routerstatus_t 
*rs)
   /* We couldn't find a node, or the one we have doesn't fit our preferences.
* This might be a bug. */
   if (!rs) {
-log_warn(LD_BUG, "Firewall denied all OR and Dir addresses for all relays "
+static int logged_backtrace = 0;
+log_info(LD_BUG, "Firewall denied all OR and Dir addresses for all relays "
  "when searching for a directory.");
-log_backtrace(LOG_WARN, LD_BUG, "Node search initiated by");
+if (!logged_backtrace) {
+  log_backtrace(LOG_INFO, LD_BUG, "Node search initiated by");
+  logged_backtrace = 1;
+}
   } else if (!fascist_firewall_allows_rs(rs, FIREWALL_OR_CONNECTION, 1)
  

[tor-commits] [tor/master] Merge remote-tracking branch 'teor/bug18351'

2016-03-24 Thread nickm
commit 54559e5845f42c51600b80de6b67467627451fcb
Merge: ea9472d 355f783
Author: Nick Mathewson 
Date:   Thu Mar 24 09:33:58 2016 -0400

Merge remote-tracking branch 'teor/bug18351'

 changes/bug18351|  6 ++
 src/or/connection.c | 15 ++-
 src/or/directory.c  | 34 --
 src/or/routerlist.c | 14 +-
 4 files changed, 49 insertions(+), 20 deletions(-)

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


[tor-commits] [tor/master] Clarify ReachableAddress log messages

2016-03-24 Thread nickm
commit 355f78364a7d1fa3c2de0a93e68153ae65526e02
Author: teor (Tim Wilson-Brown) 
Date:   Thu Mar 24 20:59:49 2016 +1100

Clarify ReachableAddress log messages

Make it clearer that they are about outgoing connection attempts.
Specify the options involved where they were missing from one log
message.
Clarify a comment.
---
 src/or/connection.c |  9 +
 src/or/directory.c  | 13 -
 src/or/routerlist.c |  7 ---
 3 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/or/connection.c b/src/or/connection.c
index fc9ec13..82fc1ba 100644
--- a/src/or/connection.c
+++ b/src/or/connection.c
@@ -1794,7 +1794,7 @@ connection_connect_log_client_use_ip_version(const 
connection_t *conn)
   if ((must_ipv4 && tor_addr_family(_addr) == AF_INET6)
   || (must_ipv6 && tor_addr_family(_addr) == AF_INET)) {
 static int logged_backtrace = 0;
-log_info(LD_BUG, "%s connection to %s violated ClientUseIPv%s 0.",
+log_info(LD_BUG, "Outgoing %s connection to %s violated ClientUseIPv%s 0.",
  conn->type == CONN_TYPE_OR ? "OR" : "Dir",
  fmt_addr(_addr),
  options->ClientUseIPv4 == 0 ? "4" : "6");
@@ -1814,9 +1814,10 @@ connection_connect_log_client_use_ip_version(const 
connection_t *conn)
   /* Check if we couldn't satisfy an address family preference */
   if ((!pref_ipv6 && tor_addr_family(_addr) == AF_INET6)
   || (pref_ipv6 && tor_addr_family(_addr) == AF_INET)) {
-log_info(LD_NET, "Connection to %s doesn't satisfy ClientPreferIPv6%sPort "
- "%d, with ClientUseIPv4 %d, and fascist_firewall_use_ipv6 %d "
- "(ClientUseIPv6 %d and UseBridges %d).",
+log_info(LD_NET, "Outgoing connection to %s doesn't satisfy "
+ "ClientPreferIPv6%sPort %d, with ClientUseIPv4 %d, and "
+ "fascist_firewall_use_ipv6 %d (ClientUseIPv6 %d and UseBridges "
+ "%d).",
  fmt_addr(_addr),
  conn->type == CONN_TYPE_OR ? "OR" : "Dir",
  conn->type == CONN_TYPE_OR ? options->ClientPreferIPv6ORPort
diff --git a/src/or/directory.c b/src/or/directory.c
index c95944b..7f30726 100644
--- a/src/or/directory.c
+++ b/src/or/directory.c
@@ -672,12 +672,13 @@ directory_choose_address_routerstatus(const 
routerstatus_t *status,
 FIREWALL_DIR_CONNECTION, 0,
 use_dir_ap);
 
-  /* We rejected both addresses. This isn't great. */
+  /* We rejected all addresses in the relay's status. This means we can't
+   * connect to it. */
   if (!have_or && !have_dir) {
 static int logged_backtrace = 0;
 log_info(LD_BUG, "Rejected all OR and Dir addresses from %s when "
- "launching a directory connection to: IPv4 %s OR %d Dir %d "
- "IPv6 %s OR %d Dir %d", routerstatus_describe(status),
+ "launching an outgoing directory connection to: IPv4 %s OR %d "
+ "Dir %d IPv6 %s OR %d Dir %d", routerstatus_describe(status),
  fmt_addr32(status->addr), status->or_port,
  status->dir_port, fmt_addr(>ipv6_addr),
  status->ipv6_orport, status->dir_port);
@@ -1105,7 +1106,8 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
   if (or_connection && (!or_addr_port->port
 || tor_addr_is_null(_addr_port->addr))) {
 static int logged_backtrace = 0;
-log_warn(LD_DIR, "Cannot make an OR connection without an OR port.");
+log_warn(LD_DIR, "Cannot make an outgoing OR connection without an OR "
+ "port.");
 if (!logged_backtrace) {
   log_backtrace(LOG_INFO, LD_BUG, "Address came from");
   logged_backtrace = 1;
@@ -1114,7 +1116,8 @@ directory_initiate_command_rend(const tor_addr_port_t 
*or_addr_port,
   } else if (!or_connection && (!dir_addr_port->port
 || tor_addr_is_null(_addr_port->addr))) {
 static int logged_backtrace = 0;
-log_warn(LD_DIR, "Cannot make a Dir connection without a Dir port.");
+log_warn(LD_DIR, "Cannot make an outgoing Dir connection without a Dir "
+ "port.");
 if (!logged_backtrace) {
   log_backtrace(LOG_INFO, LD_BUG, "Address came from");
   logged_backtrace = 1;
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index f065c3c..1024623 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1561,8 +1561,9 @@ router_picked_poor_directory_log(const routerstatus_t *rs)
* This might be a bug. */
   if (!rs) {
 static int logged_backtrace = 0;
-log_info(LD_BUG, "Firewall denied all OR and Dir addresses for all relays "
- "when searching for a directory.");
+log_info(LD_BUG, "Wanted to make an outgoing directory connection, but "
+ "all OR and Dir addresses for all relays were not reachable. "
+ "Check ReachableAddresses, ClientUseIPv4, and similar options.");
  

[tor-commits] [tor/master] Merge remote-tracking branch 'teor/bug18489'

2016-03-24 Thread nickm
commit ea9472d085b1344eb3abc3f9e644beff184cbce3
Merge: ea82978 b1569e3
Author: Nick Mathewson 
Date:   Thu Mar 24 09:01:28 2016 -0400

Merge remote-tracking branch 'teor/bug18489'

 changes/bug18489| 6 ++
 src/or/routerlist.c | 6 --
 2 files changed, 10 insertions(+), 2 deletions(-)

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


[tor-commits] [tor/master] Code indentation whitespace-only fix

2016-03-24 Thread nickm
commit eb5a262a15c05bee8e64e66c93f3a6387c0c5cd6
Author: teor (Tim Wilson-Brown) 
Date:   Thu Mar 24 21:56:13 2016 +1100

Code indentation whitespace-only fix
---
 src/or/routerlist.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index bc5e2e9..ecfcb9b 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1861,7 +1861,7 @@ router_pick_trusteddirserver_impl(const smartlist_t 
*sourcelist,
   !router_supports_extrainfo(d->digest, 1))
 continue;
   if (requireother && me && router_digest_is_me(d->digest))
-  continue;
+continue;
   if (try_excluding &&
   routerset_contains_routerstatus(options->ExcludeNodes,
   >fake_status, -1)) {



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


[tor-commits] [tor/master] Check if fallbacks support extrainfo descriptors before requesting them

2016-03-24 Thread nickm
commit b1569e39c87a32b64fe06702c1f18b43eb35f5ad
Author: teor (Tim Wilson-Brown) 
Date:   Thu Mar 24 22:03:58 2016 +1100

Check if fallbacks support extrainfo descriptors before requesting them

When requesting extrainfo descriptors from a trusted directory
server, check whether it is an authority or a fallback directory
which supports extrainfo descriptors.

Fixes bug 18489; bugfix on 90f6071d8d in tor-0.2.4.7-alpha.

Reported by "atagar", patch by "teor".
---
 changes/bug18489| 6 ++
 src/or/routerlist.c | 4 +++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/changes/bug18489 b/changes/bug18489
new file mode 100644
index 000..d8c171a
--- /dev/null
+++ b/changes/bug18489
@@ -0,0 +1,6 @@
+  o Minor bugfixes (fallback directory mirrors):
+- When requesting extrainfo descriptors from a trusted directory
+  server, check whether it is an authority or a fallback directory
+  which supports extrainfo descriptors.
+  Fixes bug 18489; bugfix on 90f6071d8d in tor-0.2.4.7-alpha.
+  Reported by "atagar", patch by "teor".
diff --git a/src/or/routerlist.c b/src/or/routerlist.c
index ecfcb9b..7ec84f0 100644
--- a/src/or/routerlist.c
+++ b/src/or/routerlist.c
@@ -1857,8 +1857,10 @@ router_pick_trusteddirserver_impl(const smartlist_t 
*sourcelist,
   if (!d->is_running) continue;
   if ((type & d->type) == 0)
 continue;
+  int is_trusted_extrainfo = router_digest_is_trusted_dir_type(
+ d->digest, EXTRAINFO_DIRINFO);
   if ((type & EXTRAINFO_DIRINFO) &&
-  !router_supports_extrainfo(d->digest, 1))
+  !router_supports_extrainfo(d->digest, is_trusted_extrainfo))
 continue;
   if (requireother && me && router_digest_is_me(d->digest))
 continue;



___
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 xmpp-inband-registration.patch

2016-03-24 Thread sukhbir
commit 1fa62272e9832659c9f2565f7966c8c9d632a51d
Author: Sukhbir Singh 
Date:   Thu Mar 24 07:50:44 2016 -0400

Update xmpp-inband-registration.patch
---
 projects/instantbird/xmpp-inband-registration.patch | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/projects/instantbird/xmpp-inband-registration.patch 
b/projects/instantbird/xmpp-inband-registration.patch
index cdf4b31..c471346 100644
--- a/projects/instantbird/xmpp-inband-registration.patch
+++ b/projects/instantbird/xmpp-inband-registration.patch
@@ -172,7 +172,7 @@ diff --git a/im/content/jar.mn b/im/content/jar.mn
  * content/instantbird/viewlog.xul
content/instantbird/viewlog.js
content/instantbird/viewlog.css
-+* content/instantbird/xmppRegister.xul
++  content/instantbird/xmppRegister.xul
 +  content/instantbird/xmppRegister.js
  #ifdef XP_MACOSX
  * content/instantbird/hiddenWindow.xul

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