[tor-commits] [user-manual/alpha] Pushing de images

2018-02-02 Thread colin
commit fa2f468d53f83387001e8ce97ad32c88c9cc083b
Author: Colin Childs 
Date:   Fri Feb 2 08:19:22 2018 -0600

Pushing de images
---
 de/media/circumvention/bridges.png   | Bin 116636 -> 207233 bytes
 de/media/circumvention/configure.png | Bin 82220 -> 181646 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/de/media/circumvention/bridges.png 
b/de/media/circumvention/bridges.png
index be471d9..34cf698 100644
Binary files a/de/media/circumvention/bridges.png and 
b/de/media/circumvention/bridges.png differ
diff --git a/de/media/circumvention/configure.png 
b/de/media/circumvention/configure.png
index 354490d..6a90c68 100644
Binary files a/de/media/circumvention/configure.png and 
b/de/media/circumvention/configure.png differ

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


[tor-commits] [tor/release-0.3.2] Merge branch 'bug25125_032_01_squashed' into maint-0.3.2

2018-02-02 Thread nickm
commit 4ceae7c6b9742ce6b14f8bed34725e44522e52f2
Merge: 77634795b 005e228f8
Author: Nick Mathewson 
Date:   Fri Feb 2 12:03:48 2018 -0500

Merge branch 'bug25125_032_01_squashed' into maint-0.3.2

 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)



___
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 'maint-0.3.2'

2018-02-02 Thread nickm
commit 9e48338a12fd1fef840dc49c702b4a628af67cc0
Merge: 0fd91772b 4ceae7c6b
Author: Nick Mathewson 
Date:   Fri Feb 2 12:03:54 2018 -0500

Merge branch 'maint-0.3.2'

 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

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


[tor-commits] [tor/release-0.3.2] sched: When releasing a channel, do not BUG() if absent from the pending list

2018-02-02 Thread nickm
commit 005e228f80f0bd241d01c106f87e6bfe6dda6127
Author: David Goulet 
Date:   Fri Feb 2 08:48:34 2018 -0500

sched: When releasing a channel, do not BUG() if absent from the pending 
list

The current code flow makes it that we can release a channel in a PENDING
state but not in the pending list. This happens while the channel is being
processed in the scheduler loop.

Fixes #25125

Signed-off-by: David Goulet 
---
 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 47141c538..1984084fe 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -628,17 +628,21 @@ scheduler_release_channel,(channel_t *chan))
 return;
   }
 
-  if (chan->scheduler_state == SCHED_CHAN_PENDING) {
-if (SCHED_BUG(smartlist_pos(channels_pending, chan) == -1, chan)) {
-  log_warn(LD_SCHED, "Scheduler asked to release channel %" PRIu64 " "
- "but it wasn't in channels_pending",
-   chan->global_identifier);
-} else {
-  smartlist_pqueue_remove(channels_pending,
-  scheduler_compare_channels,
-  offsetof(channel_t, sched_heap_idx),
-  chan);
-}
+  /* Try to remove the channel from the pending list regardless of its
+   * scheduler state. We can release a channel in many places in the tor code
+   * so we can't rely on the channel state (PENDING) to remove it from the
+   * list.
+   *
+   * For instance, the channel can change state from OPEN to CLOSING while
+   * being handled in the scheduler loop leading to the channel being in
+   * PENDING state but not in the pending list. Furthermore, we release the
+   * channel when it changes state to close and a second time when we free it.
+   * Not ideal at all but for now that is the way it is. */
+  if (chan->sched_heap_idx != -1) {
+smartlist_pqueue_remove(channels_pending,
+scheduler_compare_channels,
+offsetof(channel_t, sched_heap_idx),
+chan);
   }
 
   if (the_scheduler->on_channel_free) {
diff --git a/src/test/test_scheduler.c b/src/test/test_scheduler.c
index 1f014c4f6..724a6b56b 100644
--- a/src/test/test_scheduler.c
+++ b/src/test/test_scheduler.c
@@ -502,6 +502,18 @@ perform_channel_state_tests(int KISTSchedRunInterval, int 
sched_type)
   scheduler_touch_channel(ch1);
   tt_assert(scheduler_compare_channels_mock_ctr > old_count);
 
+  /* Release the ch2 and then do it another time to make sure it doesn't blow
+   * up and we are still in a quiescent state. */
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+  /* Cheat a bit so make the release more confused but also will tells us if
+   * the release did put the channel in the right state. */
+  ch2->scheduler_state = SCHED_CHAN_PENDING;
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+
   /* Close */
   channel_mark_for_close(ch1);
   tt_int_op(ch1->state, OP_EQ, CHANNEL_STATE_CLOSING);



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


[tor-commits] [user-manual/alpha] Pushing es-ES screenshots

2018-02-02 Thread colin
commit 8106cb034d5f349d202f51e201a37589fe98a336
Author: Colin Childs 
Date:   Fri Feb 2 10:04:18 2018 -0600

Pushing es-ES screenshots
---
 es-ES/media/circumvention/bridges.png   | Bin 117487 -> 223850 bytes
 es-ES/media/circumvention/configure.png | Bin 74740 -> 290268 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/es-ES/media/circumvention/bridges.png 
b/es-ES/media/circumvention/bridges.png
index ce03eca..0b51401 100644
Binary files a/es-ES/media/circumvention/bridges.png and 
b/es-ES/media/circumvention/bridges.png differ
diff --git a/es-ES/media/circumvention/configure.png 
b/es-ES/media/circumvention/configure.png
index 33773e8..fc56ec6 100644
Binary files a/es-ES/media/circumvention/configure.png and 
b/es-ES/media/circumvention/configure.png differ

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


[tor-commits] [tor/maint-0.3.2] sched: When releasing a channel, do not BUG() if absent from the pending list

2018-02-02 Thread nickm
commit 005e228f80f0bd241d01c106f87e6bfe6dda6127
Author: David Goulet 
Date:   Fri Feb 2 08:48:34 2018 -0500

sched: When releasing a channel, do not BUG() if absent from the pending 
list

The current code flow makes it that we can release a channel in a PENDING
state but not in the pending list. This happens while the channel is being
processed in the scheduler loop.

Fixes #25125

Signed-off-by: David Goulet 
---
 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 47141c538..1984084fe 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -628,17 +628,21 @@ scheduler_release_channel,(channel_t *chan))
 return;
   }
 
-  if (chan->scheduler_state == SCHED_CHAN_PENDING) {
-if (SCHED_BUG(smartlist_pos(channels_pending, chan) == -1, chan)) {
-  log_warn(LD_SCHED, "Scheduler asked to release channel %" PRIu64 " "
- "but it wasn't in channels_pending",
-   chan->global_identifier);
-} else {
-  smartlist_pqueue_remove(channels_pending,
-  scheduler_compare_channels,
-  offsetof(channel_t, sched_heap_idx),
-  chan);
-}
+  /* Try to remove the channel from the pending list regardless of its
+   * scheduler state. We can release a channel in many places in the tor code
+   * so we can't rely on the channel state (PENDING) to remove it from the
+   * list.
+   *
+   * For instance, the channel can change state from OPEN to CLOSING while
+   * being handled in the scheduler loop leading to the channel being in
+   * PENDING state but not in the pending list. Furthermore, we release the
+   * channel when it changes state to close and a second time when we free it.
+   * Not ideal at all but for now that is the way it is. */
+  if (chan->sched_heap_idx != -1) {
+smartlist_pqueue_remove(channels_pending,
+scheduler_compare_channels,
+offsetof(channel_t, sched_heap_idx),
+chan);
   }
 
   if (the_scheduler->on_channel_free) {
diff --git a/src/test/test_scheduler.c b/src/test/test_scheduler.c
index 1f014c4f6..724a6b56b 100644
--- a/src/test/test_scheduler.c
+++ b/src/test/test_scheduler.c
@@ -502,6 +502,18 @@ perform_channel_state_tests(int KISTSchedRunInterval, int 
sched_type)
   scheduler_touch_channel(ch1);
   tt_assert(scheduler_compare_channels_mock_ctr > old_count);
 
+  /* Release the ch2 and then do it another time to make sure it doesn't blow
+   * up and we are still in a quiescent state. */
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+  /* Cheat a bit so make the release more confused but also will tells us if
+   * the release did put the channel in the right state. */
+  ch2->scheduler_state = SCHED_CHAN_PENDING;
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+
   /* Close */
   channel_mark_for_close(ch1);
   tt_int_op(ch1->state, OP_EQ, CHANNEL_STATE_CLOSING);



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


[tor-commits] [tor/master] sched: When releasing a channel, do not BUG() if absent from the pending list

2018-02-02 Thread nickm
commit 005e228f80f0bd241d01c106f87e6bfe6dda6127
Author: David Goulet 
Date:   Fri Feb 2 08:48:34 2018 -0500

sched: When releasing a channel, do not BUG() if absent from the pending 
list

The current code flow makes it that we can release a channel in a PENDING
state but not in the pending list. This happens while the channel is being
processed in the scheduler loop.

Fixes #25125

Signed-off-by: David Goulet 
---
 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 47141c538..1984084fe 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -628,17 +628,21 @@ scheduler_release_channel,(channel_t *chan))
 return;
   }
 
-  if (chan->scheduler_state == SCHED_CHAN_PENDING) {
-if (SCHED_BUG(smartlist_pos(channels_pending, chan) == -1, chan)) {
-  log_warn(LD_SCHED, "Scheduler asked to release channel %" PRIu64 " "
- "but it wasn't in channels_pending",
-   chan->global_identifier);
-} else {
-  smartlist_pqueue_remove(channels_pending,
-  scheduler_compare_channels,
-  offsetof(channel_t, sched_heap_idx),
-  chan);
-}
+  /* Try to remove the channel from the pending list regardless of its
+   * scheduler state. We can release a channel in many places in the tor code
+   * so we can't rely on the channel state (PENDING) to remove it from the
+   * list.
+   *
+   * For instance, the channel can change state from OPEN to CLOSING while
+   * being handled in the scheduler loop leading to the channel being in
+   * PENDING state but not in the pending list. Furthermore, we release the
+   * channel when it changes state to close and a second time when we free it.
+   * Not ideal at all but for now that is the way it is. */
+  if (chan->sched_heap_idx != -1) {
+smartlist_pqueue_remove(channels_pending,
+scheduler_compare_channels,
+offsetof(channel_t, sched_heap_idx),
+chan);
   }
 
   if (the_scheduler->on_channel_free) {
diff --git a/src/test/test_scheduler.c b/src/test/test_scheduler.c
index 1f014c4f6..724a6b56b 100644
--- a/src/test/test_scheduler.c
+++ b/src/test/test_scheduler.c
@@ -502,6 +502,18 @@ perform_channel_state_tests(int KISTSchedRunInterval, int 
sched_type)
   scheduler_touch_channel(ch1);
   tt_assert(scheduler_compare_channels_mock_ctr > old_count);
 
+  /* Release the ch2 and then do it another time to make sure it doesn't blow
+   * up and we are still in a quiescent state. */
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+  /* Cheat a bit so make the release more confused but also will tells us if
+   * the release did put the channel in the right state. */
+  ch2->scheduler_state = SCHED_CHAN_PENDING;
+  scheduler_release_channel(ch2);
+  tt_int_op(ch2->scheduler_state, OP_EQ, SCHED_CHAN_IDLE);
+  tt_int_op(smartlist_len(channels_pending), OP_EQ, 1);
+
   /* Close */
   channel_mark_for_close(ch1);
   tt_int_op(ch1->state, OP_EQ, CHANNEL_STATE_CLOSING);



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


[tor-commits] [tor/release-0.3.2] Merge branch 'maint-0.3.2' into release-0.3.2

2018-02-02 Thread nickm
commit f5e37b2eb6b33185a30a2aadd513c7e4dfbc1379
Merge: 90716e3f9 4ceae7c6b
Author: Nick Mathewson 
Date:   Fri Feb 2 12:03:54 2018 -0500

Merge branch 'maint-0.3.2' into release-0.3.2

 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

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


[tor-commits] [tor/maint-0.3.2] Merge branch 'bug25125_032_01_squashed' into maint-0.3.2

2018-02-02 Thread nickm
commit 4ceae7c6b9742ce6b14f8bed34725e44522e52f2
Merge: 77634795b 005e228f8
Author: Nick Mathewson 
Date:   Fri Feb 2 12:03:48 2018 -0500

Merge branch 'bug25125_032_01_squashed' into maint-0.3.2

 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)

___
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 'bug25125_032_01_squashed' into maint-0.3.2

2018-02-02 Thread nickm
commit 4ceae7c6b9742ce6b14f8bed34725e44522e52f2
Merge: 77634795b 005e228f8
Author: Nick Mathewson 
Date:   Fri Feb 2 12:03:48 2018 -0500

Merge branch 'bug25125_032_01_squashed' into maint-0.3.2

 src/or/scheduler.c| 26 +++---
 src/test/test_scheduler.c | 12 
 2 files changed, 27 insertions(+), 11 deletions(-)



___
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 'ticket25122_029_02' into ticket24902_029_05

2018-02-02 Thread nickm
commit 475218c108ad84aa302f0daec013faab9ff778f2
Merge: 33d9889a2 e758d659a
Author: David Goulet 
Date:   Fri Feb 2 14:55:01 2018 -0500

Merge branch 'ticket25122_029_02' into ticket24902_029_05

 changes/ticket25122 |   4 ++
 src/or/geoip.c  | 148 ++--
 src/or/geoip.h  |   2 +
 src/or/relay.c  |  16 --
 src/test/test.c |  18 +++
 5 files changed, 180 insertions(+), 8 deletions(-)

diff --cc src/or/geoip.c
index 4e4f6e639,76fca43f6..20dad5f15
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@@ -516,9 -574,7 +557,10 @@@ clientmap_entry_free(clientmap_entry_t 
if (!ent)
  return;
  
 +  /* This entry is about to be freed so pass it to the DoS subsystem to see if
 +   * any actions can be taken about it. */
 +  dos_geoip_entry_about_to_free(ent);
+   geoip_decrement_client_history_cache_size(clientmap_entry_size(ent));
  
tor_free(ent->transport_name);
tor_free(ent);
@@@ -573,13 -651,13 +640,9 @@@ geoip_note_client_seen(geoip_client_act
  safe_str_client(fmt_addr((addr))),
  transport_name ? transport_name : "");
  
 -  tor_addr_copy(, addr);
 -  lookup.action = (int)action;
 -  lookup.transport_name = (char*) transport_name;
 -  ent = HT_FIND(clientmap, _history, );
 -
 +  ent = geoip_lookup_client(addr, transport_name, action);
if (! ent) {
- ent = tor_malloc_zero(sizeof(clientmap_entry_t));
- tor_addr_copy(>addr, addr);
- if (transport_name)
-   ent->transport_name = tor_strdup(transport_name);
- ent->action = (int)action;
+ ent = clientmap_entry_new(action, addr, transport_name);
  HT_INSERT(clientmap, _history, ent);
}
if (now / 60 <= (int)MAX_LAST_SEEN_IN_MINUTES && now >= 0)
@@@ -621,25 -699,81 +684,100 @@@ geoip_remove_old_clients(time_t cutoff
);
  }
  
 +/* Return a client entry object matching the given address, transport name and
 + * geoip action from the clientmap. NULL if not found. The transport_name can
 + * be NULL. */
 +clientmap_entry_t *
 +geoip_lookup_client(const tor_addr_t *addr, const char *transport_name,
 +geoip_client_action_t action)
 +{
 +  clientmap_entry_t lookup;
 +
 +  tor_assert(addr);
 +
 +  /* We always look for a client connection with no transport. */
 +  tor_addr_copy(, addr);
 +  lookup.action = action;
 +  lookup.transport_name = (char *) transport_name;
 +
 +  return HT_FIND(clientmap, _history, );
 +}
 +
+ /* Cleanup client entries older than the cutoff. Used for the OOM. Return the
+  * number of bytes freed. If 0 is returned, nothing was freed. */
+ static size_t
+ oom_clean_client_entries(time_t cutoff)
+ {
+   size_t bytes = 0;
+   clientmap_entry_t **ent, **ent_next;
+ 
+   for (ent = HT_START(clientmap, _history); ent; ent = ent_next) {
+ clientmap_entry_t *entry = *ent;
+ if (entry->last_seen_in_minutes < (cutoff / 60)) {
+   ent_next = HT_NEXT_RMV(clientmap, _history, ent);
+   bytes += clientmap_entry_size(entry);
+   clientmap_entry_free(entry);
+ } else {
+   ent_next = HT_NEXT(clientmap, _history, ent);
+ }
+   }
+   return bytes;
+ }
+ 
+ /* Below this minimum lifetime, the OOM won't cleanup any entries. */
+ #define GEOIP_CLIENT_CACHE_OOM_MIN_CUTOFF (4 * 60 * 60)
+ /* The OOM moves the cutoff by that much every run. */
+ #define GEOIP_CLIENT_CACHE_OOM_STEP (15 * 50)
+ 
+ /* Cleanup the geoip client history cache called from the OOM handler. Return
+  * the amount of bytes removed. This can return a value below or above
+  * min_remove_bytes but will stop as oon as the min_remove_bytes has been
+  * reached. */
+ size_t
+ geoip_client_cache_handle_oom(time_t now, size_t min_remove_bytes)
+ {
+   time_t k;
+   size_t bytes_removed = 0;
+ 
+   /* Our OOM handler called with 0 bytes to remove is a code flow error. */
+   tor_assert(min_remove_bytes != 0);
+ 
+   /* Set k to the initial cutoff of an entry. We then going to move it by step
+* to try to remove as much as we can. */
+   k = WRITE_STATS_INTERVAL;
+ 
+   do {
+ time_t cutoff;
+ 
+ /* If k has reached the minimum lifetime, we have to stop else we might
+  * remove every single entries which would be pretty bad for the DoS
+  * mitigation subsystem if by just filling the geoip cache, it was enough
+  * to trigger the OOM and clean every single entries. */
+ if (k <= GEOIP_CLIENT_CACHE_OOM_MIN_CUTOFF) {
+   break;
+ }
+ 
+ cutoff = now - k;
+ bytes_removed += oom_clean_client_entries(cutoff);
+ k -= GEOIP_CLIENT_CACHE_OOM_STEP;
+   } while (bytes_removed < min_remove_bytes);
+ 
+   return bytes_removed;
+ }
+ 
+ /* Return the total size in bytes of the client history cache. */
+ size_t
+ geoip_client_cache_total_allocation(void)
+ {
+   size_t bytes = 0;
+   clientmap_entry_t **ent;
+ 
+   HT_FOREACH(ent, clientmap, _history) {
+ bytes += clientmap_entry_size(*ent);
+   }
+   return bytes;
+ }
+ 
  

[tor-commits] [tor/master] geoip: Hook the client history cache into the OOM handler

2018-02-02 Thread nickm
commit 51839f47650463f59bd2cc84da05d5bc535d699d
Author: David Goulet 
Date:   Fri Feb 2 10:15:28 2018 -0500

geoip: Hook the client history cache into the OOM handler

If the cache is using 20% of our maximum allowed memory, clean 10% of it. 
Same
behavior as the HS descriptor cache.

Closes #25122

Signed-off-by: David Goulet 
---
 changes/ticket25122 |  4 +++
 src/or/geoip.c  | 91 +
 src/or/geoip.h  |  2 ++
 src/or/relay.c  | 16 --
 src/test/test.c | 18 +++
 5 files changed, 128 insertions(+), 3 deletions(-)

diff --git a/changes/ticket25122 b/changes/ticket25122
new file mode 100644
index 0..2921811b2
--- /dev/null
+++ b/changes/ticket25122
@@ -0,0 +1,4 @@
+  o Minor feature (geoip cache):
+- Make our OOM handler aware of the geoip client history cache so it
+  doesn't fill up the memory which is especially important for IPv6 and
+  our DoS mitigation subsystem. Closes ticket 25122.
diff --git a/src/or/geoip.c b/src/or/geoip.c
index 00c055bbe..c5e8cdab9 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -72,6 +72,10 @@ static smartlist_t *geoip_ipv4_entries = NULL, 
*geoip_ipv6_entries = NULL;
 static char geoip_digest[DIGEST_LEN];
 static char geoip6_digest[DIGEST_LEN];
 
+/* Total size in bytes of the geoip client history cache. Used by the OOM
+ * handler. */
+static size_t geoip_client_history_cache_size;
+
 /** Return the index of the country's entry in the GeoIP
  * country list if it is a valid 2-letter country code, otherwise
  * return -1. */
@@ -526,6 +530,15 @@ HT_PROTOTYPE(clientmap, clientmap_entry_t, node, 
clientmap_entry_hash,
 HT_GENERATE2(clientmap, clientmap_entry_t, node, clientmap_entry_hash,
  clientmap_entries_eq, 0.6, tor_reallocarray_, tor_free_)
 
+/** Return the size of a client map entry. */
+static inline size_t
+clientmap_entry_size(const clientmap_entry_t *ent)
+{
+  tor_assert(ent);
+  return (sizeof(clientmap_entry_t) +
+  (ent->transport_name ? strlen(ent->transport_name) : 0));
+}
+
 /** Free all storage held by ent. */
 static void
 clientmap_entry_free(clientmap_entry_t *ent)
@@ -533,6 +546,8 @@ clientmap_entry_free(clientmap_entry_t *ent)
   if (!ent)
 return;
 
+  geoip_client_history_cache_size -= clientmap_entry_size(ent);
+
   tor_free(ent->transport_name);
   tor_free(ent);
 }
@@ -595,6 +610,7 @@ geoip_note_client_seen(geoip_client_action_t action,
   ent->transport_name = tor_strdup(transport_name);
 ent->action = (int)action;
 HT_INSERT(clientmap, _history, ent);
+geoip_client_history_cache_size += clientmap_entry_size(ent);
   }
   if (now / 60 <= (int)MAX_LAST_SEEN_IN_MINUTES && now >= 0)
 ent->last_seen_in_minutes = (unsigned)(now/60);
@@ -635,6 +651,81 @@ geoip_remove_old_clients(time_t cutoff)
   );
 }
 
+/* Cleanup client entries older than the cutoff. Used for the OOM. Return the
+ * number of bytes freed. If 0 is returned, nothing was freed. */
+static size_t
+oom_clean_client_entries(time_t cutoff)
+{
+  size_t bytes = 0;
+  clientmap_entry_t **ent, **ent_next;
+
+  for (ent = HT_START(clientmap, _history); ent; ent = ent_next) {
+clientmap_entry_t *entry = *ent;
+if (entry->last_seen_in_minutes < (cutoff / 60)) {
+  ent_next = HT_NEXT_RMV(clientmap, _history, ent);
+  bytes += clientmap_entry_size(entry);
+  clientmap_entry_free(entry);
+} else {
+  ent_next = HT_NEXT(clientmap, _history, ent);
+}
+  }
+  return bytes;
+}
+
+/* Below this minimum lifetime, the OOM won't cleanup any entries. */
+#define GEOIP_CLIENT_CACHE_OOM_MIN_CUTOFF (4 * 60 * 60)
+/* The OOM moves the cutoff by that much every run. */
+#define GEOIP_CLIENT_CACHE_OOM_STEP (15 * 50)
+
+/* Cleanup the geoip client history cache called from the OOM handler. Return
+ * the amount of bytes removed. This can return a value below or above
+ * min_remove_bytes but will stop as oon as the min_remove_bytes has been
+ * reached. */
+size_t
+geoip_client_cache_handle_oom(time_t now, size_t min_remove_bytes)
+{
+  time_t k;
+  size_t bytes_removed = 0;
+
+  /* Our OOM handler called with 0 bytes to remove is a code flow error. */
+  tor_assert(min_remove_bytes != 0);
+
+  /* Set k to the initial cutoff of an entry. We then going to move it by step
+   * to try to remove as much as we can. */
+  k = WRITE_STATS_INTERVAL;
+
+  do {
+time_t cutoff;
+
+/* If k has reached the minimum lifetime, we have to stop else we might
+ * remove every single entries which would be pretty bad for the DoS
+ * mitigation subsystem if by just filling the geoip cache, it was enough
+ * to trigger the OOM and clean every single entries. */
+if (k <= GEOIP_CLIENT_CACHE_OOM_MIN_CUTOFF) {
+  break;
+}
+
+cutoff = now - k;
+bytes_removed += oom_clean_client_entries(cutoff);
+k -= 

[tor-commits] [tor/master] geoip: Increment and decrement functions for the geoip client cache

2018-02-02 Thread nickm
commit 4d812e29b9b1ec88fe268c150a826466b23a8762
Author: David Goulet 
Date:   Fri Feb 2 13:14:50 2018 -0500

geoip: Increment and decrement functions for the geoip client cache

These functions protect againts over and underflow. They BUG() in case we
overflow the counter.

Signed-off-by: David Goulet 
---
 src/or/geoip.c | 32 ++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/or/geoip.c b/src/or/geoip.c
index c5e8cdab9..92db9742e 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -76,6 +76,34 @@ static char geoip6_digest[DIGEST_LEN];
  * handler. */
 static size_t geoip_client_history_cache_size;
 
+/* Increment the geoip client history cache size counter with the given bytes.
+ * This prevents an overflow and set it to its maximum in that case. */
+static inline void
+geoip_increment_client_history_cache_size(size_t bytes)
+{
+  /* This is shockingly high, lets log it so it can be reported. */
+  IF_BUG_ONCE(geoip_client_history_cache_size > (SIZE_MAX - bytes)) {
+geoip_client_history_cache_size = SIZE_MAX;
+return;
+  }
+  geoip_client_history_cache_size += bytes;
+}
+
+/* Decrement the geoip client history cache size counter with the given bytes.
+ * This prevents an underflow and set it to 0 in that case. */
+static inline void
+geoip_decrement_client_history_cache_size(size_t bytes)
+{
+  /* Going below 0 means that we either allocated an entry without
+   * incrementing the counter or we have different sizes when allocating and
+   * freeing. It shouldn't happened so log it. */
+  IF_BUG_ONCE(geoip_client_history_cache_size < bytes) {
+geoip_client_history_cache_size = 0;
+return;
+  }
+  geoip_client_history_cache_size -= bytes;
+}
+
 /** Return the index of the country's entry in the GeoIP
  * country list if it is a valid 2-letter country code, otherwise
  * return -1. */
@@ -546,7 +574,7 @@ clientmap_entry_free(clientmap_entry_t *ent)
   if (!ent)
 return;
 
-  geoip_client_history_cache_size -= clientmap_entry_size(ent);
+  geoip_decrement_client_history_cache_size(clientmap_entry_size(ent));
 
   tor_free(ent->transport_name);
   tor_free(ent);
@@ -610,7 +638,7 @@ geoip_note_client_seen(geoip_client_action_t action,
   ent->transport_name = tor_strdup(transport_name);
 ent->action = (int)action;
 HT_INSERT(clientmap, _history, ent);
-geoip_client_history_cache_size += clientmap_entry_size(ent);
+geoip_increment_client_history_cache_size(clientmap_entry_size(ent));
   }
   if (now / 60 <= (int)MAX_LAST_SEEN_IN_MINUTES && now >= 0)
 ent->last_seen_in_minutes = (unsigned)(now/60);



___
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/ticket24902_029_05'

2018-02-02 Thread nickm
commit eafa252b26ecf83a8a48e7e19a3315e1d2983186
Merge: 9e48338a1 475218c10
Author: Nick Mathewson 
Date:   Fri Feb 2 15:00:35 2018 -0500

Merge remote-tracking branch 'dgoulet/ticket24902_029_05'

 changes/ticket25122 |   4 ++
 src/or/geoip.c  | 148 ++--
 src/or/geoip.h  |   2 +
 src/or/relay.c  |  16 --
 src/test/test.c |  18 +++
 5 files changed, 180 insertions(+), 8 deletions(-)

diff --cc src/or/geoip.c
index 5b954979b,20dad5f15..15871f0d2
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@@ -510,12 -541,18 +542,21 @@@ HT_PROTOTYPE(clientmap, clientmap_entry
  HT_GENERATE2(clientmap, clientmap_entry_t, node, clientmap_entry_hash,
   clientmap_entries_eq, 0.6, tor_reallocarray_, tor_free_)
  
 +#define clientmap_entry_free(ent) \
 +  FREE_AND_NULL(clientmap_entry_t, clientmap_entry_free_, ent)
 +
+ /** Return the size of a client map entry. */
+ static inline size_t
+ clientmap_entry_size(const clientmap_entry_t *ent)
+ {
+   tor_assert(ent);
+   return (sizeof(clientmap_entry_t) +
+   (ent->transport_name ? strlen(ent->transport_name) : 0));
+ }
+ 
  /** Free all storage held by ent. */
  static void
 -clientmap_entry_free(clientmap_entry_t *ent)
 +clientmap_entry_free_(clientmap_entry_t *ent)
  {
if (!ent)
  return;
diff --cc src/or/relay.c
index b1b99526d,22ce76752..506b7eccb
--- a/src/or/relay.c
+++ b/src/or/relay.c
@@@ -2613,11 -2469,15 +2613,15 @@@ static time_t last_time_under_memory_pr
  STATIC int
  cell_queues_check_size(void)
  {
+   time_t now = time(NULL);
size_t alloc = cell_queues_get_total_allocation();
alloc += buf_get_total_allocation();
 -  alloc += tor_zlib_get_total_allocation();
 +  alloc += tor_compress_get_total_allocation();
const size_t rend_cache_total = rend_cache_get_total_allocation();
alloc += rend_cache_total;
+   const size_t geoip_client_cache_total =
+ geoip_client_cache_total_allocation();
+   alloc += geoip_client_cache_total;
if (alloc >= get_options()->MaxMemInQueues_low_threshold) {
  last_time_under_memory_pressure = approx_time();
  if (alloc >= get_options()->MaxMemInQueues) {
@@@ -2627,7 -2487,15 +2631,13 @@@
if (rend_cache_total > get_options()->MaxMemInQueues / 5) {
  const size_t bytes_to_remove =
rend_cache_total - (size_t)(get_options()->MaxMemInQueues / 10);
- alloc -= hs_cache_handle_oom(time(NULL), bytes_to_remove);
 -rend_cache_clean_v2_descs_as_dir(now, bytes_to_remove);
 -alloc -= rend_cache_total;
 -alloc += rend_cache_get_total_allocation();
++alloc -= hs_cache_handle_oom(now, bytes_to_remove);
+   }
+   if (geoip_client_cache_total > get_options()->MaxMemInQueues / 5) {
+ const size_t bytes_to_remove =
+   geoip_client_cache_total -
+   (size_t)(get_options()->MaxMemInQueues / 10);
+ alloc -= geoip_client_cache_handle_oom(now, bytes_to_remove);
}
circuits_handle_oom(alloc);
return 1;

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


[tor-commits] [tor/master] geoip: Add clientmap_entry_new() function

2018-02-02 Thread nickm
commit e758d659a0bc8b9a0e2bd6a0126755fd1fb58e0a
Author: David Goulet 
Date:   Fri Feb 2 13:24:37 2018 -0500

geoip: Add clientmap_entry_new() function

Signed-off-by: David Goulet 
---
 src/or/geoip.c | 32 ++--
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/src/or/geoip.c b/src/or/geoip.c
index 92db9742e..76fca43f6 100644
--- a/src/or/geoip.c
+++ b/src/or/geoip.c
@@ -580,6 +580,31 @@ clientmap_entry_free(clientmap_entry_t *ent)
   tor_free(ent);
 }
 
+/* Return a newly allocated clientmap entry with the given action and address
+ * that are mandatory. The transport_name can be optional. This can't fail. */
+static clientmap_entry_t *
+clientmap_entry_new(geoip_client_action_t action, const tor_addr_t *addr,
+const char *transport_name)
+{
+  clientmap_entry_t *entry;
+
+  tor_assert(action == GEOIP_CLIENT_CONNECT ||
+ action == GEOIP_CLIENT_NETWORKSTATUS);
+  tor_assert(addr);
+
+  entry = tor_malloc_zero(sizeof(clientmap_entry_t));
+  entry->action = action;
+  tor_addr_copy(>addr, addr);
+  if (transport_name) {
+entry->transport_name = tor_strdup(transport_name);
+  }
+
+  /* Allocated and initialized, note down its size for the OOM handler. */
+  geoip_increment_client_history_cache_size(clientmap_entry_size(entry));
+
+  return entry;
+}
+
 /** Clear history of connecting clients used by entry and bridge stats. */
 static void
 client_history_clear(void)
@@ -632,13 +657,8 @@ geoip_note_client_seen(geoip_client_action_t action,
   ent = HT_FIND(clientmap, _history, );
 
   if (! ent) {
-ent = tor_malloc_zero(sizeof(clientmap_entry_t));
-tor_addr_copy(>addr, addr);
-if (transport_name)
-  ent->transport_name = tor_strdup(transport_name);
-ent->action = (int)action;
+ent = clientmap_entry_new(action, addr, transport_name);
 HT_INSERT(clientmap, _history, ent);
-geoip_increment_client_history_cache_size(clientmap_entry_size(ent));
   }
   if (now / 60 <= (int)MAX_LAST_SEEN_IN_MINUTES && now >= 0)
 ent->last_seen_in_minutes = (unsigned)(now/60);



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


[tor-commits] [translation-tools/master] Adding torbutton-torbuttonproperties_completed and torbutton-torbuttondtd_completed

2018-02-02 Thread colin
commit 6280b9e87c7625ab41901e9a6ccb09aac999b1dc
Author: Colin Childs 
Date:   Fri Feb 2 21:31:01 2018 -0600

Adding torbutton-torbuttonproperties_completed and 
torbutton-torbuttondtd_completed
---
 config | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/config b/config
index b5d375b..dd9a27f 100644
--- a/config
+++ b/config
@@ -18,8 +18,8 @@ tor-launcher-network-settings 
tor-launcher-network-settings_completed
 tails-misc tails-misc_completed abouttor-homepage
 abouttor-homepage_completed torbutton-brandproperties
 torbutton-brandproperties_completed torbutton-branddtd
-torbutton-branddtd_completed torbutton-torbuttonproperties
-torbutton-torbuttondtd tails-iuk tails-iuk_completed tails-perl5lib
+torbutton-branddtd_completed torbutton-torbuttonproperties 
torbutton-torbuttonproperties_completed
+torbutton-torbuttondtd torbutton-torbuttondtd_completed tails-iuk 
tails-iuk_completed tails-perl5lib
 tails-perl5lib_completed tor-and-https tor-and-https_completed
 tor_animation tor_animation_completed torbutton-aboutdialogdtd
 torbutton-aboutdialogdtd_completed torbutton-abouttorproperties

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


[tor-commits] [translation/torbutton-torbuttondtd_completed] pulling translations from transifex

2018-02-02 Thread translation
commit e51d7a6b67b464f170dbecd5b3f7f302f09ad2bf
Author: Translation commit bot 
Date:   Sat Feb 3 03:44:45 2018 +

pulling translations from transifex
---
 bg/torbutton.dtd| 50 ++
 bn_BD/torbutton.dtd | 50 ++
 ca/torbutton.dtd| 50 ++
 da/torbutton.dtd| 50 ++
 de/torbutton.dtd| 51 +++
 en/torbutton.dtd| 50 ++
 en_GB/torbutton.dtd | 50 ++
 es/torbutton.dtd| 50 ++
 fr/torbutton.dtd| 50 ++
 fr_CA/torbutton.dtd | 50 ++
 ga/torbutton.dtd| 50 ++
 he/torbutton.dtd| 50 ++
 id/torbutton.dtd| 50 ++
 it/torbutton.dtd| 50 ++
 lv/torbutton.dtd| 50 ++
 mk/torbutton.dtd| 50 ++
 nb/torbutton.dtd| 50 ++
 nl/torbutton.dtd| 50 ++
 pt/torbutton.dtd| 50 ++
 pt_BR/torbutton.dtd | 50 ++
 ro/torbutton.dtd| 50 ++
 ru/torbutton.dtd| 50 ++
 sv/torbutton.dtd| 50 ++
 tr/torbutton.dtd| 50 ++
 zh_CN/torbutton.dtd | 50 ++
 zh_TW/torbutton.dtd | 50 ++
 26 files changed, 1301 insertions(+)

diff --git a/bg/torbutton.dtd b/bg/torbutton.dtd
new file mode 100644
index 0..12be1d2d9
--- /dev/null
+++ b/bg/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/bn_BD/torbutton.dtd b/bn_BD/torbutton.dtd
new file mode 100644
index 0..0e0c3a040
--- /dev/null
+++ b/bn_BD/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ca/torbutton.dtd b/ca/torbutton.dtd
new file mode 100644
index 0..e8ba3d215
--- /dev/null
+++ b/ca/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/da/torbutton.dtd b/da/torbutton.dtd
new file mode 100644
index 0..ac93e670b
--- /dev/null
+++ b/da/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/de/torbutton.dtd b/de/torbutton.dtd
new file mode 100644
index 0..b4fb85841
--- /dev/null
+++ b/de/torbutton.dtd
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/en/torbutton.dtd b/en/torbutton.dtd
new file mode 100644
index 0..7ccad6a82
--- /dev/null
+++ b/en/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/en_GB/torbutton.dtd b/en_GB/torbutton.dtd
new file mode 100644
index 0..1e1189a2c
--- /dev/null
+++ b/en_GB/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/es/torbutton.dtd b/es/torbutton.dtd
new file mode 100644
index 0..54087366a
--- /dev/null
+++ b/es/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr/torbutton.dtd b/fr/torbutton.dtd
new file mode 100644
index 0..76d1bfe5c
--- /dev/null
+++ b/fr/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/fr_CA/torbutton.dtd b/fr_CA/torbutton.dtd
new file mode 100644
index 0..1b4cb823a
--- /dev/null
+++ b/fr_CA/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ga/torbutton.dtd b/ga/torbutton.dtd
new file mode 100644
index 0..ff48feb18
--- /dev/null
+++ b/ga/torbutton.dtd
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

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

2018-02-02 Thread translation
commit 9c98ff4bdb4053b95f2e376e77a65507f8c7f1c2
Author: Translation commit bot 
Date:   Fri Feb 2 22:47:43 2018 +

Update translations for torbutton-torbuttondtd
---
 de/torbutton.dtd | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/de/torbutton.dtd b/de/torbutton.dtd
index a9e38502f..b4fb85841 100644
--- a/de/torbutton.dtd
+++ b/de/torbutton.dtd
@@ -33,11 +33,11 @@
 
 
 
-
 
 
-
+
 
 
 

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


[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup

2018-02-02 Thread translation
commit 978a9e0c86be587904fe6d1df21921c484caf70e
Author: Translation commit bot 
Date:   Fri Feb 2 23:16:00 2018 +

Update translations for tails-persistence-setup
---
 ti/ti.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ti/ti.po b/ti/ti.po
index d9e9ca0c5..0198e8fbe 100644
--- a/ti/ti.po
+++ b/ti/ti.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: Tails developers \n"
 "POT-Creation-Date: 2017-05-15 13:51+0200\n"
-"PO-Revision-Date: 2017-05-17 03:09+\n"
+"PO-Revision-Date: 2018-02-02 23:11+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Tigrinya 
(http://www.transifex.com/otf/torproject/language/ti/)\n"
 "MIME-Version: 1.0\n"
@@ -312,7 +312,7 @@ msgstr ""
 
 #: ../lib/Tails/Persistence/Step/Delete.pm:54
 msgid "Delete"
-msgstr ""
+msgstr "ደምስስ"
 
 #: ../lib/Tails/Persistence/Step/Delete.pm:111
 msgid "Deleting..."

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


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2018-02-02 Thread translation
commit cde3afb953ccb565bf213b299cbba7ce892399d1
Author: Translation commit bot 
Date:   Fri Feb 2 23:16:26 2018 +

Update translations for mat-gui
---
 ti.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ti.po b/ti.po
index 48d4cc135..b3a027a71 100644
--- a/ti.po
+++ b/ti.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2017-09-19 19:57+\n"
+"PO-Revision-Date: 2018-02-02 22:57+\n"
 "Last-Translator: carolyn \n"
 "Language-Team: Tigrinya 
(http://www.transifex.com/otf/torproject/language/ti/)\n"
 "MIME-Version: 1.0\n"
@@ -61,7 +61,7 @@ msgstr ""
 
 #: mat-gui:219
 msgid "Preferences"
-msgstr ""
+msgstr "ቀዳምነታት"
 
 #: mat-gui:232
 msgid "Reduce PDF quality"

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


[tor-commits] [translation/tails-greeter-2_completed] Update translations for tails-greeter-2_completed

2018-02-02 Thread translation
commit baf70b0c3282b5a70c4e8924d051606eebf23249
Author: Translation commit bot 
Date:   Sat Feb 3 00:50:37 2018 +

Update translations for tails-greeter-2_completed
---
 nl/nl.po | 88 
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/nl/nl.po b/nl/nl.po
index 331f691b3..558162bba 100644
--- a/nl/nl.po
+++ b/nl/nl.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-01-22 14:15+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Joren Vandeweyer , 2017\n"
+"Last-Translator: blacklight, 2017\n"
 "Language-Team: Dutch (https://www.transifex.com/otf/teams/1519/nl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -38,7 +38,7 @@ msgstr "Voer een beheerderswachtwoord in."
 
 #: ../data/greeter.ui.h:4
 msgid "Confirm"
-msgstr "Bevestig"
+msgstr "Bevestigen"
 
 #: ../data/greeter.ui.h:5
 msgid "Confirm your administration password"
@@ -46,7 +46,7 @@ msgstr "Bevestig je beheerderswachtwoord"
 
 #: ../data/greeter.ui.h:6
 msgid "Disable"
-msgstr "Schakel uit"
+msgstr "Uitschakelen"
 
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:8
@@ -66,11 +66,11 @@ msgstr ""
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:12
 msgid "Microsoft Windows 10 camouflage"
-msgstr "Microsoft Windows 10 camouflage"
+msgstr "Microsoft Windows 10-camouflage"
 
 #: ../data/greeter.ui.h:13
 msgid "MAC Address Spoofing"
-msgstr "MAC adres spoofing"
+msgstr "MAC-adresspoofing"
 
 #: ../data/greeter.ui.h:14
 msgid ""
@@ -79,29 +79,29 @@ msgid ""
 " as it helps you hide your geographical location. But it might also create "
 "connectivity problems or look suspicious."
 msgstr ""
-"MAC adres spoofing verbergt het serienummer van je netwerkkaart (wifi of "
-"kabel) op lokale netwerken. Spoofing MAC adressen is meestal veiliger want "
-"het helpt in het verbergen van je geografische locatie. Maar het kan ook "
-"verbindingsproblemen met zich meebrengen of er verdacht uitzien."
+"MAC-adresspoofing verbergt het serienummer van je netwerkkaart (wifi of "
+"kabel) op lokale netwerken. Spoofen van MAC-adressen is meestal veiliger, "
+"want het helpt in het verbergen van je geografische locatie. Maar het kan "
+"ook verbindingsproblemen met zich meebrengen of er verdacht uitzien."
 
 #: ../data/greeter.ui.h:15
 msgid "Spoof all MAC addresses (default)"
-msgstr "Alle MAC adressen spoofen (standaard)"
+msgstr "Alle MAC-adressen spoofen (standaard)"
 
 #: ../data/greeter.ui.h:16
 msgid "Don't spoof MAC addresses"
-msgstr "MAC adressen niet spoofen"
+msgstr "MAC-adressen niet spoofen"
 
 #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532
 msgid "Cannot unlock encrypted storage with this passphrase."
-msgstr "Kan versleutelde opslag niet ontgrendelen met deze wachtzin."
+msgstr "Kan versleutelde opslag niet ontgrendelen met dit wachtwoord."
 
 #: ../data/greeter.ui.h:18
 msgid ""
 "You will configure the Tor bridge and local proxy later on after connecting "
 "to a network."
 msgstr ""
-"Je zal de Tor Bridge en lokale proxy later instellen nadat je met een "
+"Je zal de Tor-bridge en lokale proxy later instellen nadat je met een "
 "netwerk verbinding hebt gemaakt."
 
 #: ../data/greeter.ui.h:19
@@ -114,28 +114,28 @@ msgctxt ""
 msgid ""
 "To get guided through Tails' settings, click on Take a Tour above"
 msgstr ""
-"Om de rondleiding door de Tails' settings te volgen, klik op  Start de "
-"Rondleiding hierboven"
+"Klik op  Start de rondleiding hierboven om de rondleiding door de "
+"instellingen van Tails te volgen."
 
 #: ../data/greeter.ui.h:22
 msgid "Language & Region"
-msgstr "Taal & Regio"
+msgstr "Taal & regio"
 
 #: ../data/greeter.ui.h:23
 msgid "Default Settings"
-msgstr "Standaard instellingen"
+msgstr "Standaardinstellingen"
 
 #: ../data/greeter.ui.h:24
 msgid "Save Language & Region Settings"
-msgstr "Bewaar Taal & Regio instellingen"
+msgstr "Taal- en regio-instellingen opslaan"
 
 #: ../data/greeter.ui.h:25
 msgid "_Language"
-msgstr "_Taal"
+msgstr "Taa_l"
 
 #: ../data/greeter.ui.h:26
 msgid "_Keyboard Layout"
-msgstr "_Toetsenbordindeling"
+msgstr "Toetsen_bordindeling"
 
 #: ../data/greeter.ui.h:27
 msgid "_Formats"
@@ -147,24 +147,24 @@ msgstr "_Tijdzone"
 
 #: ../data/greeter.ui.h:29
 msgid "Encrypted _Persistent Storage"
-msgstr "Versleutelde _Aanhoudend Opslag"
+msgstr "Versleutelde _persistente opslag"
 
 #: ../data/greeter.ui.h:30
 msgid "Show Passphrase"
-msgstr "Toon wachtzin"
+msgstr "Wachtwoord weergeven"
 
 #: ../data/greeter.ui.h:31
 msgid "Configure Persistent Storage"
-msgstr "Versleutelde persistente opslag configureren"
+msgstr "Persistente opslag configureren"
 
 #: ../data/greeter.ui.h:32
 msgid "Enter your passphrase to unlock the persistent storage"
-msgstr "Voer je wachtzin in om de persistente 

[tor-commits] [translation/tails-greeter-2] Update translations for tails-greeter-2

2018-02-02 Thread translation
commit 02cbcb398169661a54eedab0b4bcd39d8fb902d2
Author: Translation commit bot 
Date:   Sat Feb 3 00:50:31 2018 +

Update translations for tails-greeter-2
---
 nl/nl.po | 88 
 1 file changed, 44 insertions(+), 44 deletions(-)

diff --git a/nl/nl.po b/nl/nl.po
index 331f691b3..558162bba 100644
--- a/nl/nl.po
+++ b/nl/nl.po
@@ -10,7 +10,7 @@ msgstr ""
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2018-01-22 14:15+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Joren Vandeweyer , 2017\n"
+"Last-Translator: blacklight, 2017\n"
 "Language-Team: Dutch (https://www.transifex.com/otf/teams/1519/nl/)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -38,7 +38,7 @@ msgstr "Voer een beheerderswachtwoord in."
 
 #: ../data/greeter.ui.h:4
 msgid "Confirm"
-msgstr "Bevestig"
+msgstr "Bevestigen"
 
 #: ../data/greeter.ui.h:5
 msgid "Confirm your administration password"
@@ -46,7 +46,7 @@ msgstr "Bevestig je beheerderswachtwoord"
 
 #: ../data/greeter.ui.h:6
 msgid "Disable"
-msgstr "Schakel uit"
+msgstr "Uitschakelen"
 
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:8
@@ -66,11 +66,11 @@ msgstr ""
 #. This string will never be displayed in the 1st version of the greeter.
 #: ../data/greeter.ui.h:12
 msgid "Microsoft Windows 10 camouflage"
-msgstr "Microsoft Windows 10 camouflage"
+msgstr "Microsoft Windows 10-camouflage"
 
 #: ../data/greeter.ui.h:13
 msgid "MAC Address Spoofing"
-msgstr "MAC adres spoofing"
+msgstr "MAC-adresspoofing"
 
 #: ../data/greeter.ui.h:14
 msgid ""
@@ -79,29 +79,29 @@ msgid ""
 " as it helps you hide your geographical location. But it might also create "
 "connectivity problems or look suspicious."
 msgstr ""
-"MAC adres spoofing verbergt het serienummer van je netwerkkaart (wifi of "
-"kabel) op lokale netwerken. Spoofing MAC adressen is meestal veiliger want "
-"het helpt in het verbergen van je geografische locatie. Maar het kan ook "
-"verbindingsproblemen met zich meebrengen of er verdacht uitzien."
+"MAC-adresspoofing verbergt het serienummer van je netwerkkaart (wifi of "
+"kabel) op lokale netwerken. Spoofen van MAC-adressen is meestal veiliger, "
+"want het helpt in het verbergen van je geografische locatie. Maar het kan "
+"ook verbindingsproblemen met zich meebrengen of er verdacht uitzien."
 
 #: ../data/greeter.ui.h:15
 msgid "Spoof all MAC addresses (default)"
-msgstr "Alle MAC adressen spoofen (standaard)"
+msgstr "Alle MAC-adressen spoofen (standaard)"
 
 #: ../data/greeter.ui.h:16
 msgid "Don't spoof MAC addresses"
-msgstr "MAC adressen niet spoofen"
+msgstr "MAC-adressen niet spoofen"
 
 #: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532
 msgid "Cannot unlock encrypted storage with this passphrase."
-msgstr "Kan versleutelde opslag niet ontgrendelen met deze wachtzin."
+msgstr "Kan versleutelde opslag niet ontgrendelen met dit wachtwoord."
 
 #: ../data/greeter.ui.h:18
 msgid ""
 "You will configure the Tor bridge and local proxy later on after connecting "
 "to a network."
 msgstr ""
-"Je zal de Tor Bridge en lokale proxy later instellen nadat je met een "
+"Je zal de Tor-bridge en lokale proxy later instellen nadat je met een "
 "netwerk verbinding hebt gemaakt."
 
 #: ../data/greeter.ui.h:19
@@ -114,28 +114,28 @@ msgctxt ""
 msgid ""
 "To get guided through Tails' settings, click on Take a Tour above"
 msgstr ""
-"Om de rondleiding door de Tails' settings te volgen, klik op  Start de "
-"Rondleiding hierboven"
+"Klik op  Start de rondleiding hierboven om de rondleiding door de "
+"instellingen van Tails te volgen."
 
 #: ../data/greeter.ui.h:22
 msgid "Language & Region"
-msgstr "Taal & Regio"
+msgstr "Taal & regio"
 
 #: ../data/greeter.ui.h:23
 msgid "Default Settings"
-msgstr "Standaard instellingen"
+msgstr "Standaardinstellingen"
 
 #: ../data/greeter.ui.h:24
 msgid "Save Language & Region Settings"
-msgstr "Bewaar Taal & Regio instellingen"
+msgstr "Taal- en regio-instellingen opslaan"
 
 #: ../data/greeter.ui.h:25
 msgid "_Language"
-msgstr "_Taal"
+msgstr "Taa_l"
 
 #: ../data/greeter.ui.h:26
 msgid "_Keyboard Layout"
-msgstr "_Toetsenbordindeling"
+msgstr "Toetsen_bordindeling"
 
 #: ../data/greeter.ui.h:27
 msgid "_Formats"
@@ -147,24 +147,24 @@ msgstr "_Tijdzone"
 
 #: ../data/greeter.ui.h:29
 msgid "Encrypted _Persistent Storage"
-msgstr "Versleutelde _Aanhoudend Opslag"
+msgstr "Versleutelde _persistente opslag"
 
 #: ../data/greeter.ui.h:30
 msgid "Show Passphrase"
-msgstr "Toon wachtzin"
+msgstr "Wachtwoord weergeven"
 
 #: ../data/greeter.ui.h:31
 msgid "Configure Persistent Storage"
-msgstr "Versleutelde persistente opslag configureren"
+msgstr "Persistente opslag configureren"
 
 #: ../data/greeter.ui.h:32
 msgid "Enter your passphrase to unlock the persistent storage"
-msgstr "Voer je wachtzin in om de persistente opslag te 

[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet

2018-02-02 Thread translation
commit e68f1491b736f971aa98dda5348868a737862d2c
Author: Translation commit bot 
Date:   Fri Feb 2 23:18:39 2018 +

Update translations for tails-openpgp-applet
---
 ti/openpgp-applet.pot | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ti/openpgp-applet.pot b/ti/openpgp-applet.pot
index 14bd0ee2a..d738cfd39 100644
--- a/ti/openpgp-applet.pot
+++ b/ti/openpgp-applet.pot
@@ -31,7 +31,7 @@ msgstr ""
 
 #: bin/openpgp-applet:177
 msgid "About"
-msgstr ""
+msgstr "ብዛዕባ"
 
 #: bin/openpgp-applet:232
 msgid "Encrypt Clipboard with _Passphrase"

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


[tor-commits] [tor/master] fuzz: Move init_protocol_warning_severity_level() into global_init()

2018-02-02 Thread nickm
commit 953c769a867415f81dc016f30575dee6c0b2cb43
Author: Nick Mathewson 
Date:   Fri Feb 2 17:42:23 2018 -0500

fuzz: Move init_protocol_warning_severity_level() into global_init()

This is needed so llvm_fuzz will see it too.
---
 src/test/fuzz/fuzzing_common.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/test/fuzz/fuzzing_common.c b/src/test/fuzz/fuzzing_common.c
index 7c9fac748..a96552f0f 100644
--- a/src/test/fuzz/fuzzing_common.c
+++ b/src/test/fuzz/fuzzing_common.c
@@ -110,6 +110,9 @@ global_init(void)
 
   /* Make BUG() and nonfatal asserts crash */
   tor_set_failed_assertion_callback(abort);
+
+  /* Make protocol warnings handled correctly. */
+  init_protocol_warning_severity_level();
 }
 
 #ifdef LLVM_FUZZ
@@ -152,8 +155,6 @@ main(int argc, char **argv)
 }
   }
 
-  init_protocol_warning_severity_level();
-
   {
 log_severity_list_t s;
 memset(, 0, sizeof(s));

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


[tor-commits] [translation/mat-gui_completed] Update translations for mat-gui_completed

2018-02-02 Thread translation
commit 25988c7f01bf6b0ff6f730085c72466dc7622535
Author: Translation commit bot 
Date:   Sat Feb 3 00:46:38 2018 +

Update translations for mat-gui_completed
---
 nl.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nl.po b/nl.po
index 0675eccb1..02bccc5ed 100644
--- a/nl.po
+++ b/nl.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2017-11-24 17:09+\n"
+"PO-Revision-Date: 2018-02-03 00:38+\n"
 "Last-Translator: Cleveridge \n"
 "Language-Team: Dutch (http://www.transifex.com/otf/torproject/language/nl/)\n"
 "MIME-Version: 1.0\n"

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


[tor-commits] [translation/mat-gui] Update translations for mat-gui

2018-02-02 Thread translation
commit 8b2fcb113f8d61a02dc64d89d985107c03c07695
Author: Translation commit bot 
Date:   Sat Feb 3 00:46:32 2018 +

Update translations for mat-gui
---
 nl.po | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nl.po b/nl.po
index 0675eccb1..02bccc5ed 100644
--- a/nl.po
+++ b/nl.po
@@ -13,7 +13,7 @@ msgstr ""
 "Project-Id-Version: The Tor Project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2016-02-10 23:06+0100\n"
-"PO-Revision-Date: 2017-11-24 17:09+\n"
+"PO-Revision-Date: 2018-02-03 00:38+\n"
 "Last-Translator: Cleveridge \n"
 "Language-Team: Dutch (http://www.transifex.com/otf/torproject/language/nl/)\n"
 "MIME-Version: 1.0\n"

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


[tor-commits] [torbutton/master] Bug 25016: Remove 2017 donation banner

2018-02-02 Thread gk
commit 1cf0f11380c6f9fddf2fef54966390801ba7a2b1
Author: Arthur Edelstein 
Date:   Wed Jan 24 20:37:49 2018 -0800

Bug 25016: Remove 2017 donation banner

The campaign is finished, so we can remove the banner.
I'm leaving in the strings in case we want to use
some of them next year.
---
 src/chrome/content/aboutTor/aboutTor-content.js |   5 --
 src/chrome/content/aboutTor/aboutTor.xhtml  |  19 +---
 src/chrome/content/aboutTor/donation_banner.js  | 105 --
 src/chrome/content/aboutTor/onion-hand.png  | Bin 69055 -> 0 bytes
 src/chrome/content/torbutton.js |   4 +-
 src/chrome/skin/donation_banner.css | 113 ---
 src/modules/donation-banner.js  | 115 
 7 files changed, 2 insertions(+), 359 deletions(-)

diff --git a/src/chrome/content/aboutTor/aboutTor-content.js 
b/src/chrome/content/aboutTor/aboutTor-content.js
index 95e8abd..ec515bb 100644
--- a/src/chrome/content/aboutTor/aboutTor-content.js
+++ b/src/chrome/content/aboutTor/aboutTor-content.js
@@ -105,11 +105,6 @@ var AboutTorListener = {
 else
   body.removeAttribute("showmanual");
 
-if (aData.bannerData)
-  body.setAttribute("banner-data", aData.bannerData);
-else
-  body.removeAttribute("banner-data");
-
 // Setting body.initialized="yes" displays the body, which must be done
 // at this point because our remaining initialization depends on elements
 // being visible so that their size and position are accurate.
diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml 
b/src/chrome/content/aboutTor/aboutTor.xhtml
index 0fca4b9..7ae4b8b 100644
--- a/src/chrome/content/aboutTor/aboutTor.xhtml
+++ b/src/chrome/content/aboutTor/aboutTor.xhtml
@@ -21,8 +21,6 @@
   
   
-  
 
  
-
-  
-
-  
-
-  
-
-  
-  
 
   
   
@@ -129,6 +112,6 @@ window.addEventListener("pageshow", function() {
   
 
 
-  
+
 
 
diff --git a/src/chrome/content/aboutTor/donation_banner.js 
b/src/chrome/content/aboutTor/donation_banner.js
deleted file mode 100644
index 85f6af1..000
--- a/src/chrome/content/aboutTor/donation_banner.js
+++ /dev/null
@@ -1,105 +0,0 @@
-/* jshint esnext:true */
-
-let sel = selector => document.querySelector(selector);
-
-// Shrink the font size if the text in the given element is overflowing.
-let fitTextInElement = function (element) {
-  element.style.fontSize = "8px";
-  let defaultWidth = element.scrollWidth,
-  defaultHeight = element.scrollHeight;
-  let bestSize;
-  for (let testSize = 8; testSize <= 40; testSize += 0.5) {
-element.style.fontSize = `${testSize}px`;
-if (element.scrollWidth <= defaultWidth &&
-element.scrollHeight <= defaultHeight) {
-  bestSize = testSize;
-} else {
-  break;
-}
-  }
-  element.style.fontSize = `${bestSize}px`;
-};
-
-// Increase padding at end to "squeeze" text, until just before
-// it gets squeezed so much that it gets longer vertically.
-let avoidWidows = function (element) {
-  element.style.paddingRight = "0px";
-  let originalWidth = element.scrollWidth;
-  let originalHeight = element.scrollHeight;
-  let bestPadding;
-  for (let testPadding = 0; testPadding < originalWidth; testPadding += 0.5) {
-element.style.paddingRight = `${testPadding}px`;
-if (element.scrollHeight <= originalHeight) {
-  bestPadding = testPadding;
-} else {
-  break;
-}
-  }
-  element.style.paddingRight = `${bestPadding}px`;
-  if (window.getComputedStyle(element).direction === "rtl") {
-element.style.paddingLeft = element.style.paddingRight;
-element.style.paddingRight = "0px";
-  }
-};
-
-// Resize the text inside banner to fit.
-let updateTextSizes = function () {
-  fitTextInElement(sel("#banner-tagline"));
-  fitTextInElement(sel("#banner-slogan"));
-  fitTextInElement(sel("#banner-donate-button-inner"));
-  avoidWidows(sel("#banner-tagline span"));
-};
-
-// Returns a random integer x, such that 0 <= x < max
-let randomInteger = max => Math.floor(max * Math.random());
-
-// The main donation banner function.
-let runDonationBanner = function ({ taglines, slogan, mozilla, donate, 
shortLocale }) {
-  try {
-sel("#banner-tagline span").innerText = 
taglines[randomInteger(taglines.length)];
-sel("#banner-slogan span").innerText = slogan;
-let donateButtonText = sel("#banner-donate-button-inner span");
-let rtl = window.getComputedStyle(donateButtonText).direction === "rtl";
-donateButtonText.innerHTML = donate + "" + (rtl ? "" : 
"");
-sel("#banner").style.display = "flex";
-sel("#banner-spacer").style.display = "block";
-addEventListener("resize", updateTextSizes);
-   

[tor-commits] [torbutton/master] Merge remote-tracking branch 'arthur/25016'

2018-02-02 Thread gk
commit f96a293d146d3dc54f8ecfaa1d3dfc669bf4198d
Merge: f860499 1cf0f11
Author: Georg Koppen 
Date:   Fri Feb 2 08:11:02 2018 +

Merge remote-tracking branch 'arthur/25016'

 src/chrome/content/aboutTor/aboutTor-content.js |   5 --
 src/chrome/content/aboutTor/aboutTor.xhtml  |  19 +---
 src/chrome/content/aboutTor/donation_banner.js  | 105 --
 src/chrome/content/aboutTor/onion-hand.png  | Bin 69055 -> 0 bytes
 src/chrome/content/torbutton.js |   4 +-
 src/chrome/skin/donation_banner.css | 113 ---
 src/modules/donation-banner.js  | 115 
 7 files changed, 2 insertions(+), 359 deletions(-)

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


[tor-commits] [tor-browser/tor-browser-52.6.0esr-8.0-2] Bug 13575: Disable randomised Firefox HTTP cache decay user tests.

2018-02-02 Thread gk
commit f6d6512bf85d964fa5a470f2528042c527523a34
Author: Fernando Fernandez Mancera 
Date:   Sat Jan 20 21:54:00 2018 +0100

Bug 13575: Disable randomised Firefox HTTP cache decay user tests.

Mozilla's experiment shouldn't be collecting any data on our users. If
"browser.cache.frecency_experiment" is not set in firefox.js to "-1" it will
default to "0" and then it is randomised between "1" and "4" inclusive, 
setting
different HTTP cache decay times for the four groups.
---
 browser/app/profile/000-tor-browser.js | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/browser/app/profile/000-tor-browser.js 
b/browser/app/profile/000-tor-browser.js
index 1302d2e2d6be..ca27504e4b7d 100644
--- a/browser/app/profile/000-tor-browser.js
+++ b/browser/app/profile/000-tor-browser.js
@@ -179,6 +179,9 @@ pref("media.webspeech.synth.enabled", false); // Bug 10283: 
Disable SpeechSynthe
 pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API
 pref("dom.maxHardwareConcurrency", 1); // Bug 21675: Spoof single-core cpu
 pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API
+// Disable randomised Firefox HTTP cache decay user test groups (Bug: 13575)
+pref("browser.cache.frecency_experiment", -1);
+
 
 // Third party stuff
 pref("privacy.firstparty.isolate", true); // Always enforce first party 
isolation

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


[tor-commits] [tor-browser-build/maint-7.5] Bump rbm to latest master

2018-02-02 Thread gk
commit e0641719c6f52109a25304dbe438e3139d6e14f1
Author: Georg Koppen 
Date:   Fri Feb 2 07:22:04 2018 +

Bump rbm to latest master
---
 rbm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/rbm b/rbm
index 5c89374..7494edc 16
--- a/rbm
+++ b/rbm
@@ -1 +1 @@
-Subproject commit 5c89374df7957238a9565c0b938ee3f30f880438
+Subproject commit 7494edc6d2556c511c213823a6549410ba75f73b

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


[tor-commits] [tor-browser-build/master] Fold in stable Changelog

2018-02-02 Thread gk
commit e15653dc249011b6448e585d96e6f0aef3f1f262
Author: Georg Koppen 
Date:   Fri Feb 2 08:17:35 2018 +

Fold in stable Changelog
---
 .../tor-browser/Bundle-Data/Docs/ChangeLog.txt | 51 ++
 1 file changed, 51 insertions(+)

diff --git a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt 
b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
index 5ee6e37..d591af5 100644
--- a/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
+++ b/projects/tor-browser/Bundle-Data/Docs/ChangeLog.txt
@@ -21,6 +21,57 @@ Tor Browser 8.0a1 -- January 23 2018
  * Bug 23892: Include Firefox and Tor debug files in final build directory
  * Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
 
+Tor Browser 7.5 -- January 23 2018
+ * All Platforms
+   * Update Firefox to 52.6.0esr
+   * Update Tor to 0.3.2.9
+   * Update OpenSSL to 1.0.2n
+   * Update Torbutton to 1.9.8.5
+ * Bug 21847: Update copy for security slider
+ * Bug 21245: Add da translation to Torbutton and keep track of it
+ * Bug 24702: Remove Mozilla text from banner
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+   * Update Tor Launcher to 0.2.14.3
+ * Bug 23262: Implement integrated progress bar
+ * Bug 23261: implement configuration portion of new Tor Launcher UI
+ * Bug 24623: Revise "country that censors Tor" text
+ * Bug 24624: tbb-logo.svg may cause network access
+ * Bug 23240: Retrieve current bootstrap progress before showing progress 
bar
+ * Bug 24428: Bootstrap error message sometimes lost
+ * Bug 22232: Add README on use of bootstrap status messages
+ * Bug 10573: Replace deprecated nsILocalFile with nsIFile (code clean-up)
+ * Translations update
+   * Update HTTPS Everywhere to 2018.1.11
+   * Update NoScript to 5.1.8.3
+   * Bug 23104: CSS line-height reveals the platform Tor Browser is running on
+   * Bug 24398: Plugin-container process exhausts memory
+   * Bug 22501: Requests via javascript: violate FPI
+   * Bug 24756: Add noisebridge01 obfs4 bridge configuration
+ * Windows
+   * Bug 16010: Enable content sandboxing on Windows
+   * Bug 23230: Fix build error on Windows 64
+ * OS X
+   * Bug 24566: Avoid white flashes when opening dialogs in Tor Browser
+   * Bug 23025: Add some hardening flags to macOS build
+ * Linux
+   * Bug 23970: Make "Print to File" work with sandboxing enabled
+   * Bug 23016: "Print to File" is broken on some non-english Linux systems
+   * Bug 10089: Set middlemouse.contentLoadURL to false by default
+   * Bug 18101: Suppress upload file dialog proxy bypass (linux part)
+ * Android
+   * Bug 22084: Spoof network information API
+ * Build System
+   * All Platforms
+ * Switch from gitian/tor-browser-bundle to rbm/tor-browser-build
+   * Windows
+ * Bug 22563: Update mingw-w64 to fix W^X violations
+ * Bug 20929: Bump GCC version to 5.4.0
+   * Linux
+ * Bug 20929: Bump GCC version to 5.4.0
+ * Bug 23892: Include Firefox and Tor debug files in final build directory
+ * Bug 24842: include libasan.so.2 and libubsan.so.0 in debug builds
+
 Tor Browser 7.5a10 -- December 19 2017
  * All Platforms
* Update Tor to 0.3.2.7-rc

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