[tor-commits] [stem/master] Concatenate strings with bytearray rather than BytesIO
commit c23cffc5cbe12b276fa18424a7bc85f91f901a60 Author: Damian JohnsonDate: Fri May 25 14:19:22 2018 -0700 Concatenate strings with bytearray rather than BytesIO While skimming through the python docs I came across a note suggesting bytearray for string concatenation... https://docs.python.org/3/faq/programming.html#what-is-the-most-efficient-way-to-concatenate-many-strings-together Gave this a whirl and it's not only more readable, but about 10% faster too... concat_with_bytesio.py import io import time start = time.time() full_bytes = io.BytesIO() for i in range(1000): full_bytes.write(b'hi') result = full_bytes.getvalue() print('total length: %i, took %0.2f seconds' % (len(result), time.time() - start)) concat_with_bytearray.py import time start = time.time() full_bytes = bytearray() for i in range(1000): full_bytes += b'hi' result = bytes(full_bytes) print('total length: %i, took %0.2f seconds' % (len(result), time.time() - start)) Results % python2 --version Python 2.7.12 % python3 --version Python 3.5.2 % for ((n=0;n<3;n++)); do python2 concat_with_bytearray.py; done total length: 22000, took 1.18 seconds total length: 22000, took 1.19 seconds total length: 22000, took 1.17 seconds % for ((n=0;n<3;n++)); do python3 concat_with_bytearray.py; done total length: 22000, took 1.02 seconds total length: 22000, took 0.99 seconds total length: 22000, took 1.03 seconds % for ((n=0;n<3;n++)); do python2 concat_with_bytesio.py; done total length: 22000, took 1.40 seconds total length: 22000, took 1.38 seconds total length: 22000, took 1.38 seconds % for ((n=0;n<3;n++)); do python3 concat_with_bytesio.py; done total length: 22000, took 1.18 seconds total length: 22000, took 1.19 seconds total length: 22000, took 1.20 seconds --- stem/client/cell.py | 58 - stem/client/datatype.py | 21 +- stem/socket.py | 22 +-- 3 files changed, 48 insertions(+), 53 deletions(-) diff --git a/stem/client/cell.py b/stem/client/cell.py index b40a737f..d0a98ada 100644 --- a/stem/client/cell.py +++ b/stem/client/cell.py @@ -39,7 +39,6 @@ Messages communicated over a Tor relay's ORPort. import datetime import inspect -import io import os import random import sys @@ -192,24 +191,23 @@ class Cell(object): if isinstance(cls, CircuitCell) and circ_id is None: raise ValueError('%s cells require a circ_id' % cls.NAME) -cell = io.BytesIO() -cell.write(Size.LONG.pack(circ_id) if link_protocol > 3 else Size.SHORT.pack(circ_id)) -cell.write(Size.CHAR.pack(cls.VALUE)) -cell.write(b'' if cls.IS_FIXED_SIZE else Size.SHORT.pack(len(payload))) -cell.write(payload) +cell = bytearray() +cell += Size.LONG.pack(circ_id) if link_protocol > 3 else Size.SHORT.pack(circ_id) +cell += Size.CHAR.pack(cls.VALUE) +cell += b'' if cls.IS_FIXED_SIZE else Size.SHORT.pack(len(payload)) +cell += payload # pad fixed sized cells to the required length if cls.IS_FIXED_SIZE: - cell_size = cell.seek(0, io.SEEK_END) fixed_cell_len = 514 if link_protocol > 3 else 512 - if cell_size > fixed_cell_len: -raise ValueError('Payload of %s is too large (%i bytes), must be less than %i' % (cls.NAME, cell_size, fixed_cell_len)) + if len(cell) > fixed_cell_len: +raise ValueError('Payload of %s is too large (%i bytes), must be less than %i' % (cls.NAME, len(cell), fixed_cell_len)) - cell.write(ZERO * (fixed_cell_len - cell_size)) + cell += ZERO * (fixed_cell_len - len(cell)) -return cell.getvalue() +return bytes(cell) @classmethod def _unpack(cls, content, circ_id, link_protocol): @@ -330,15 +328,15 @@ class RelayCell(CircuitCell): raise ValueError('%s relay cells concern the circuit itself and cannot have a stream id' % self.command) def pack(self, link_protocol): -payload = io.BytesIO() -payload.write(Size.CHAR.pack(self.command_int)) -payload.write(Size.SHORT.pack(self.recognized)) -payload.write(Size.SHORT.pack(self.stream_id)) -payload.write(Size.LONG.pack(self.digest)) -payload.write(Size.SHORT.pack(len(self.data))) -
[tor-commits] [metrics-web/master] Fix flaw in noise-removing code of hidserv module.
commit 52b1051fb14f4091d3e1e02b0497bad5b0d66ca6 Author: Karsten LoesingDate: Fri May 18 16:29:42 2018 +0200 Fix flaw in noise-removing code of hidserv module. In the technical report that the hidserv module is based on we write: "When processing hidden-service statistics, we need to handle the fact that they have been obfuscated by relays. As first step, we're attempting to remove the additive Laplace-distributed noise by rounding up or down to the nearest multiple of bin_size. The idea is that it's most likely that noise was added to the closest right side of a bin than to the right side of another bin. In step two, we're subtracting half of bin_size, because the relay added between 0 and bin_size â 1 to the originally observed value." However, our code has a flaw: we use integer truncation rather which always rounds toward zero, whereas we really want to use the floor function which rounds towards negative infinity. The fix is to use Math.floorDiv() for the division rather than common integer division and truncation. Fixes #26022. --- src/main/java/org/torproject/metrics/stats/hidserv/Parser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java index 2423526..9c95db5 100644 --- a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java +++ b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java @@ -243,7 +243,7 @@ public class Parser { * right side of a bin and subtracting half of the bin size. */ private long removeNoise(long reportedNumber, long binSize) { long roundedToNearestRightSideOfTheBin = -((reportedNumber + binSize / 2) / binSize) * binSize; +Math.floorDiv((reportedNumber + binSize / 2), binSize) * binSize; long subtractedHalfOfBinSize = roundedToNearestRightSideOfTheBin - binSize / 2; return subtractedHalfOfBinSize; ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-web/master] Don't terminate the hidserv module when parsing descriptors.
commit 4333d0666dbb8a252bd85d1cc79ebd18dc84d4bd Author: Karsten LoesingDate: Fri May 18 16:26:12 2018 +0200 Don't terminate the hidserv module when parsing descriptors. This issue came up when reprocessing descriptor archives for #26022: we'd terminate the hidserv module when running into an issue with parsing descriptors, where a possible issue is a consensus without a "bandwidth-weights" line. This seems wrong. It's okay to print out a warning in this case. But in general, we don't want to abort the entire module in this case. Related to #26022. --- .../org/torproject/metrics/stats/hidserv/Main.java | 6 +- .../torproject/metrics/stats/hidserv/Parser.java | 23 +- 2 files changed, 10 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Main.java b/src/main/java/org/torproject/metrics/stats/hidserv/Main.java index a23c17f..eafeeb1 100644 --- a/src/main/java/org/torproject/metrics/stats/hidserv/Main.java +++ b/src/main/java/org/torproject/metrics/stats/hidserv/Main.java @@ -38,11 +38,7 @@ public class Main { /* Parse new descriptors and store their contents using the document * stores. */ System.out.println("Parsing descriptors..."); -if (!parser.parseDescriptors()) { - System.err.println("Could not store parsed descriptors. " - + "Terminating."); - return; -} +parser.parseDescriptors(); /* Write the parse history to avoid parsing descriptor files again * next time. It's okay to do this now and not at the end of the diff --git a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java index f2abc78..2423526 100644 --- a/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java +++ b/src/main/java/org/torproject/metrics/stats/hidserv/Parser.java @@ -162,16 +162,14 @@ public class Parser { /** Instructs the descriptor reader to parse descriptor files, and * handles the resulting parsed descriptors if they are either * extra-info descriptors or consensuses. */ - public boolean parseDescriptors() { + public void parseDescriptors() { for (Descriptor descriptor : descriptorReader.readDescriptors( this.inDirectories)) { if (descriptor instanceof ExtraInfoDescriptor) { this.parseExtraInfoDescriptor((ExtraInfoDescriptor) descriptor); } else if (descriptor instanceof RelayNetworkStatusConsensus) { -if (!this.parseRelayNetworkStatusConsensus( -(RelayNetworkStatusConsensus) descriptor)) { - return false; -} +this.parseRelayNetworkStatusConsensus( +(RelayNetworkStatusConsensus) descriptor); } } @@ -180,7 +178,7 @@ public class Parser { * descriptors. In contrast, sets of computed network fractions are * stored immediately after processing the consensus they are based * on. */ -return this.reportedHidServStatsStore.store( +this.reportedHidServStatsStore.store( this.reportedHidServStatsFile, this.reportedHidServStats); } @@ -252,7 +250,7 @@ public class Parser { } /** Parses the given consensus. */ - public boolean parseRelayNetworkStatusConsensus( + public void parseRelayNetworkStatusConsensus( RelayNetworkStatusConsensus consensus) { /* Make sure that the consensus contains Wxx weights. */ @@ -262,7 +260,7 @@ public class Parser { System.err.printf("Consensus with valid-after time %s doesn't " + "contain any Wxx weights. Skipping.%n", DateTimeHelper.format(consensus.getValidAfterMillis())); - return false; + return; } /* More precisely, make sure that it contains Wmx weights, and then @@ -274,7 +272,7 @@ public class Parser { System.err.printf("Consensus with valid-after time %s doesn't " + "contain expected Wmx weights. Skipping.%n", DateTimeHelper.format(consensus.getValidAfterMillis())); - return false; + return; } double wmg = ((double) bandwidthWeights.get("Wmg")) / 1.0; double wmm = ((double) bandwidthWeights.get("Wmm")) / 1.0; @@ -421,11 +419,8 @@ public class Parser { DateTimeHelper.ISO_DATE_FORMAT); File documentFile = new File(this.computedNetworkFractionsDirectory, date); -if (!this.computedNetworkFractionsStore.store(documentFile, -computedNetworkFractions)) { - return false; -} -return true; +this.computedNetworkFractionsStore.store(documentFile, +computedNetworkFractions); } } ___ 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
commit 946df6ef125fa59bb8216eee6c4acc90139159f2 Author: Translation commit botDate: Fri May 25 14:15:38 2018 + Update translations for https_everywhere_completed --- fr/https-everywhere.dtd | 1 + 1 file changed, 1 insertion(+) diff --git a/fr/https-everywhere.dtd b/fr/https-everywhere.dtd index 177c30a9c..f771ce503 100644 --- a/fr/https-everywhere.dtd +++ b/fr/https-everywhere.dtd @@ -23,6 +23,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] Update translations for https_everywhere
commit 7bcc5c1b60b4c4c758b458cfe5eb42ff549965ad Author: Translation commit botDate: Fri May 25 14:15:30 2018 + 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 541cb4ee6..f771ce503 100644 --- a/fr/https-everywhere.dtd +++ b/fr/https-everywhere.dtd @@ -23,7 +23,7 @@ - + ___ 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] Bug 25862: move mingw helper scripts to firefox
commit 8fd3d1dc7f27a96129328af98b69e18d161cef97 Author: Nicolas VigierDate: Fri Apr 20 18:41:15 2018 +0200 Bug 25862: move mingw helper scripts to firefox Stop using mingw helper scripts everywhere except for the firefox build. At the same time as we move them to firefox, we simplify the helper scripts by using var/CFLAGS and var/LDFLAGS from rbm.conf instead of redefining the flags. We are also now building firefox with -fstack-protector-strong instead of -fstack-protector. --- projects/firefox/build| 23 +++ projects/mingw-w64/build | 19 --- projects/mingw-w64/config | 2 +- projects/nsis/build | 2 -- rbm.conf | 2 +- 5 files changed, 25 insertions(+), 23 deletions(-) diff --git a/projects/firefox/build b/projects/firefox/build index a7441bd..c3536c6 100644 --- a/projects/firefox/build +++ b/projects/firefox/build @@ -17,6 +17,29 @@ distdir=/var/tmp/dist/[% project %] mkdir -p /var/tmp/build +[% IF c("var/windows") -%] + mingwdir=/var/tmp/dist/mingw-w64 + mkdir -p $mingwdir/helpers + + cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF' +#!/bin/sh +/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@" +EOF + + cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF' +#!/bin/sh +/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc [% c("var/LDFLAGS") %] [% c("var/CFLAGS") %] "$@" +EOF + + cat > $mingwdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF' +#!/bin/sh +/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld [% c("var/LDFLAGS") %] "$@" +EOF + + chmod +x $mingwdir/helpers/* + export PATH="$mingwdir/helpers:$PATH" +[% END -%] + [% IF c("var/linux") %] mkdir -p /var/tmp/dist tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/binutils') %] diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build index 8ce5048..a142c38 100644 --- a/projects/mingw-w64/build +++ b/projects/mingw-w64/build @@ -55,25 +55,6 @@ mkdir -p $distdir/gcclibs cp [% c("arch") %]-w64-mingw32/libssp/.libs/libssp-0.dll $distdir/gcclibs cp [% c("arch") %]-w64-mingw32/libgcc/shlib/[% c("var/libgcc_dll") %] $distdir/gcclibs -mkdir -p $distdir/helpers - -cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF' -#!/bin/sh -/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@" -EOF - -cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF' -#!/bin/sh -/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@" -EOF - -cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF' -#!/bin/sh -/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld --dynamicbase --nxcompat --enable-reloc-section -lssp -L$gcclibs "$@" -EOF - -chmod +x $distdir/helpers/* - cd /var/tmp/dist [% c('tar', { tar_src => [ project ], diff --git a/projects/mingw-w64/config b/projects/mingw-w64/config index 01d0c37..fb9ef21 100644 --- a/projects/mingw-w64/config +++ b/projects/mingw-w64/config @@ -15,7 +15,7 @@ var: [% c("var/setarch") -%] mkdir -p /var/tmp/dist tar -C /var/tmp/dist -xf $rootdir/[% c("compiler_tarfile") %] -export PATH="/var/tmp/dist/mingw-w64/helpers:/var/tmp/dist/mingw-w64/bin:$PATH" +export PATH="/var/tmp/dist/mingw-w64/bin:$PATH" export gcclibs=/var/tmp/dist/mingw-w64/gcclibs targets: windows-i686: diff --git a/projects/nsis/build b/projects/nsis/build index af19dd7..81ed4d4 100755 --- a/projects/nsis/build +++ b/projects/nsis/build @@ -1,8 +1,6 @@ #!/bin/bash [% c("var/set_default_env") -%] [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] -# remove hardening wrappers -rm -Rf /var/tmp/dist/mingw-w64/helpers mkdir -p /var/tmp/dist mkdir -p /var/tmp/build tar -C /var/tmp/build -xf nsis-[% c('version') %].tar.bz2 diff --git a/rbm.conf b/rbm.conf index bb53bcb..6adcd6f 100644 --- a/rbm.conf +++ b/rbm.conf @@ -216,7 +216,7 @@ targets: container: suite: jessie configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]"' - CFLAGS: '[% c("var/flag_mwindows") %] -fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security' + CFLAGS: '[% c("var/flag_mwindows") %] -fstack-protector-strong -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security' LDFLAGS: '[% c("var/flag_mwindows") %] -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs' flag_mwindows:
[tor-commits] [collector/master] Bump version to 1.6.0-dev.
commit 55a9f76d10dcf2c3f1190fa8a87a108475601e39 Author: Karsten LoesingDate: Fri May 25 15:03:49 2018 +0200 Bump version to 1.6.0-dev. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 7240db6..e78c160 100644 --- a/build.xml +++ b/build.xml @@ -8,7 +8,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Replace Gson with Jackson.
commit 818488836545aaa08bb8ef90e4a2b1d5accf535b Author: Karsten LoesingDate: Tue May 22 15:31:41 2018 +0200 Replace Gson with Jackson. Implements #26162. --- CHANGELOG.md | 3 ++- build.xml | 6 -- .../collector/index/CreateIndexJson.java | 7 +-- .../collector/relaydescs/ReferenceChecker.java | 22 +++--- .../collector/relaydescs/ReferenceCheckerTest.java | 21 + 5 files changed, 39 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9cf7da..9c6cb85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # Changes in version 1.6.0 - 2018-0?-?? * Medium changes - - Update and adapt to metrics-lib 2.3.0. + - Update and adapt to metrics-lib 2.4.0. + - Replace Gson with Jackson. # Changes in version 1.5.1 - 2018-03-19 diff --git a/build.xml b/build.xml index 921ad33..39a46e9 100644 --- a/build.xml +++ b/build.xml @@ -11,13 +11,15 @@ - + - + + + diff --git a/src/main/java/org/torproject/collector/index/CreateIndexJson.java b/src/main/java/org/torproject/collector/index/CreateIndexJson.java index 49bfb11..5f030eb 100644 --- a/src/main/java/org/torproject/collector/index/CreateIndexJson.java +++ b/src/main/java/org/torproject/collector/index/CreateIndexJson.java @@ -12,9 +12,6 @@ import org.torproject.descriptor.index.FileNode; import org.torproject.descriptor.index.IndexNode; import org.torproject.descriptor.internal.FileType; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -164,9 +161,7 @@ public class CreateIndexJson extends CollecTorMain { private void writeIndex(IndexNode indexNode) throws Exception { indexJsonFile.getParentFile().mkdirs(); -Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation() -.create(); -String indexNodeString = gson.toJson(indexNode); +String indexNodeString = IndexNode.makeJsonString(indexNode); for (String filename : new String[] {indexJsonFile.toString(), indexJsonFile + ".gz", indexJsonFile + ".xz", indexJsonFile + ".bz2"}) { FileType type = FileType.valueOf( diff --git a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java b/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java index 43706dd..df0508a 100644 --- a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java +++ b/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java @@ -14,14 +14,14 @@ import org.torproject.descriptor.RelayNetworkStatusConsensus; import org.torproject.descriptor.RelayNetworkStatusVote; import org.torproject.descriptor.ServerDescriptor; -import com.google.gson.Gson; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; import java.text.DateFormat; @@ -50,6 +50,10 @@ public class ReferenceChecker { private SortedSet references = new TreeSet<>(); + private static ObjectMapper objectMapper = new ObjectMapper() + .setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) + .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); + private static DateFormat dateTimeFormat; static { @@ -141,10 +145,9 @@ public class ReferenceChecker { if (!this.referencesFile.exists()) { return; } -Gson gson = new Gson(); -try (FileReader fr = new FileReader(this.referencesFile)) { - this.references.addAll(Arrays.asList(gson.fromJson(fr, - Reference[].class))); +try { + this.references.addAll(Arrays.asList(objectMapper.readValue( + this.referencesFile, Reference[].class))); } catch (IOException e) { logger.warn("Cannot read existing references file " + "from previous run.", e); @@ -321,11 +324,8 @@ public class ReferenceChecker { } private void writeReferencesFile() { -Gson gson = new Gson(); try { - FileWriter fw = new FileWriter(this.referencesFile); - gson.toJson(this.references, fw); - fw.close(); + objectMapper.writeValue(this.referencesFile, this.references); } catch (IOException e) { logger.warn("Cannot write references file for next " + "run.", e); diff --git a/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java b/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java index adb0b48..da2d9ad 100644 ---
[tor-commits] [collector/release] Bump version to 1.5.1-dev.
commit 88867bf3b4e880478f8392d7f593dbd5ec6c38a2 Author: Karsten LoesingDate: Mon Mar 19 16:26:13 2018 +0100 Bump version to 1.5.1-dev. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index d7372bc..780f24e 100644 --- a/build.xml +++ b/build.xml @@ -8,7 +8,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Describe 'contrib' path contents.
commit 970dd3d1e1757d01b485fe05b1869cfc244e82f2 Author: iwakehDate: Tue Mar 20 08:31:46 2018 + Describe 'contrib' path contents. --- src/main/resources/docs/PROTOCOL | 12 1 file changed, 12 insertions(+) diff --git a/src/main/resources/docs/PROTOCOL b/src/main/resources/docs/PROTOCOL index 2c8b603..9f65e43 100644 --- a/src/main/resources/docs/PROTOCOL +++ b/src/main/resources/docs/PROTOCOL @@ -392,7 +392,19 @@ 'webstats' contains compressed log files structured and named according to the 'Tor web server logs' specification, section 4.3 [0]. +6.0 The 'contrib' Folder + + The 'contrib' folder contains third-party contributions. + The contributed data and documentation is provided in a subfolder per + contribution. There is no particular substructure for contributed data. + +6.1 'bgp' below 'contrib' + + 'bgp' contains the BGP data collected between June 2016 and August 2017. + For detailed documentation see [1]. + A.0 Appendix A.1 References [0] https://metrics.torproject.org/web-server-logs.html#n-re-assembling-log-files +[1] https://metrics.torproject.org/contrib/bgp.html ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Replace Gson with Jackson.
commit 818488836545aaa08bb8ef90e4a2b1d5accf535b Author: Karsten LoesingDate: Tue May 22 15:31:41 2018 +0200 Replace Gson with Jackson. Implements #26162. --- CHANGELOG.md | 3 ++- build.xml | 6 -- .../collector/index/CreateIndexJson.java | 7 +-- .../collector/relaydescs/ReferenceChecker.java | 22 +++--- .../collector/relaydescs/ReferenceCheckerTest.java | 21 + 5 files changed, 39 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d9cf7da..9c6cb85 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # Changes in version 1.6.0 - 2018-0?-?? * Medium changes - - Update and adapt to metrics-lib 2.3.0. + - Update and adapt to metrics-lib 2.4.0. + - Replace Gson with Jackson. # Changes in version 1.5.1 - 2018-03-19 diff --git a/build.xml b/build.xml index 921ad33..39a46e9 100644 --- a/build.xml +++ b/build.xml @@ -11,13 +11,15 @@ - + - + + + diff --git a/src/main/java/org/torproject/collector/index/CreateIndexJson.java b/src/main/java/org/torproject/collector/index/CreateIndexJson.java index 49bfb11..5f030eb 100644 --- a/src/main/java/org/torproject/collector/index/CreateIndexJson.java +++ b/src/main/java/org/torproject/collector/index/CreateIndexJson.java @@ -12,9 +12,6 @@ import org.torproject.descriptor.index.FileNode; import org.torproject.descriptor.index.IndexNode; import org.torproject.descriptor.internal.FileType; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -164,9 +161,7 @@ public class CreateIndexJson extends CollecTorMain { private void writeIndex(IndexNode indexNode) throws Exception { indexJsonFile.getParentFile().mkdirs(); -Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation() -.create(); -String indexNodeString = gson.toJson(indexNode); +String indexNodeString = IndexNode.makeJsonString(indexNode); for (String filename : new String[] {indexJsonFile.toString(), indexJsonFile + ".gz", indexJsonFile + ".xz", indexJsonFile + ".bz2"}) { FileType type = FileType.valueOf( diff --git a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java b/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java index 43706dd..df0508a 100644 --- a/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java +++ b/src/main/java/org/torproject/collector/relaydescs/ReferenceChecker.java @@ -14,14 +14,14 @@ import org.torproject.descriptor.RelayNetworkStatusConsensus; import org.torproject.descriptor.RelayNetworkStatusVote; import org.torproject.descriptor.ServerDescriptor; -import com.google.gson.Gson; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; import java.io.IOException; import java.nio.file.Files; import java.text.DateFormat; @@ -50,6 +50,10 @@ public class ReferenceChecker { private SortedSet references = new TreeSet<>(); + private static ObjectMapper objectMapper = new ObjectMapper() + .setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.NONE) + .setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY); + private static DateFormat dateTimeFormat; static { @@ -141,10 +145,9 @@ public class ReferenceChecker { if (!this.referencesFile.exists()) { return; } -Gson gson = new Gson(); -try (FileReader fr = new FileReader(this.referencesFile)) { - this.references.addAll(Arrays.asList(gson.fromJson(fr, - Reference[].class))); +try { + this.references.addAll(Arrays.asList(objectMapper.readValue( + this.referencesFile, Reference[].class))); } catch (IOException e) { logger.warn("Cannot read existing references file " + "from previous run.", e); @@ -321,11 +324,8 @@ public class ReferenceChecker { } private void writeReferencesFile() { -Gson gson = new Gson(); try { - FileWriter fw = new FileWriter(this.referencesFile); - gson.toJson(this.references, fw); - fw.close(); + objectMapper.writeValue(this.referencesFile, this.references); } catch (IOException e) { logger.warn("Cannot write references file for next " + "run.", e); diff --git a/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java b/src/test/java/org/torproject/collector/relaydescs/ReferenceCheckerTest.java index adb0b48..da2d9ad 100644 ---
[tor-commits] [collector/release] Prepare for 1.6.0 release.
commit 78d01e5b01eaabfd1eb9ae604c4ad73e6c2cbe0d Author: Karsten LoesingDate: Wed May 23 22:14:27 2018 +0200 Prepare for 1.6.0 release. --- CERT | 18 +- CHANGELOG.md | 2 +- build.xml| 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CERT b/CERT index 43be56e..61fa7c6 100644 --- a/CERT +++ b/CERT @@ -1,8 +1,8 @@ -BEGIN CERTIFICATE- -MIIDaTCCAlGgAwIBAgIEIk6NnzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV +MIIDaTCCAlGgAwIBAgIENNGkczANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTgw -MjI2MTQwMzUzWhcNMTgwNTI3MTQwMzUzWjBlMQswCQYDVQQGEwJVUzELMAkGA1UE +NTIzMTUxNDU2WhcNMTgwODIxMTUxNDU2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU @@ -11,11 +11,11 @@ Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud -DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAlUkU -qqf+4yfXwAWFr2q6iijr54NDDEQwybCblIzVnsuGHPUDuie3ZWSHirtblBs/uJ9x -RxmwkBrJr9IGMmGhN2GKXIPeUH0EZBYo7bsgo5d+E61OCnd/O+1JZzdG9dK+0kfq -MLfo6ltFZZouHIIXfvOm8sLLRrdkXPrLQ/E8fTHB7dL6T8Hqg6pHRrRZDtuSM9CO -zSYropxqlFzzlzciOdTU05D8Cnx2j/RtaycxHxFS7QtriDB0uOfqvyiVeqpr72wG -qetlu3h46fXj3ALGVSXy+YZpYxcRNZsQyiBXdlXbgY0OfOVPFOH3HiZuv3zhfRJW -2DiJiA8BLxZToe2XDA== +DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAJtEQ +B2AVpVtjTGU7uujUtEjSn1ICv7QLW/37TmHn+m1SWvXOVlSG81eb5JwX449Pn3w5 +K1Bx0JJmJ6Kec2kHtoR1r5/DUlTMtRqKQ5ZHQbvYMx+Ifq8TRALHjcw8p5Vw+gep +0zYbSQycklzFaFqLB8Cus0ICb+UY54HTddpezQ3IXS/vc4Vy07ocm8rUCz1s8L/r +ehTOxSym7G7+kcRzNplFOLL5iO8o6uHPyLR1TIAIXa0XZ41ogNl2q+6CvXG+UI/j +qkzSXD6FJK1Px2nxNFIe/w9NL+chSytIGnV3CImyiORuV+1OxMglyQspSGEbl1XP +OfiTEYHnp12BYMeRyw== -END CERTIFICATE- diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c6cb85..3a88792 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 1.6.0 - 2018-0?-?? +# Changes in version 1.6.0 - 2018-05-23 * Medium changes - Update and adapt to metrics-lib 2.4.0. diff --git a/build.xml b/build.xml index 39a46e9..7240db6 100644 --- a/build.xml +++ b/build.xml @@ -8,7 +8,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Include webstats in create-tarballs.sh.
commit 4e166b7832a8026690950ca8f8e971998b3a0bcb Author: Karsten LoesingDate: Mon Mar 19 20:59:34 2018 +0100 Include webstats in create-tarballs.sh. --- src/main/resources/create-tarballs.sh | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/resources/create-tarballs.sh b/src/main/resources/create-tarballs.sh index c20303e..cd16b2d 100755 --- a/src/main/resources/create-tarballs.sh +++ b/src/main/resources/create-tarballs.sh @@ -105,8 +105,15 @@ for (( i = 0 ; i < ${#TARBALLS[@]} ; i++ )); do fi done +cd $OUTDIR/webstats/ +echo `date` "Creating webstats-"$YEARONE"-"$MONTHONE".tar" +find . -type f | grep "/"$YEARONE"/"$MONTHONE"/" | cut -c3- | tar cf $WORKDIR/webstats-$YEARONE-$MONTHONE.tar --transform 's,^,webstats-'$YEARONE'-'$MONTHONE'/,' -T - +echo `date` "Creating webstats-"$YEARTWO"-"$MONTHTWO".tar" +find . -type f | grep "/"$YEARTWO"/"$MONTHTWO"/" | cut -c3- | tar cf $WORKDIR/webstats-$YEARTWO-$MONTHTWO.tar --transform 's,^,webstats-'$YEARTWO'-'$MONTHTWO'/,' -T - +cd $WORKDIR + echo `date` "Moving tarballs into place" -mv *.tar.xz $TARBALLTARGETDIR +mv *.tar* $TARBALLTARGETDIR cd $CURRENTPATH @@ -154,4 +161,7 @@ ln -f -s -t $ARCHIVEDIR/relay-descriptors/votes/ $TARBALLTARGETDIR/votes-20??-?? mkdir -p $ARCHIVEDIR/torperf/ ln -f -s -t $ARCHIVEDIR/torperf/ $TARBALLTARGETDIR/torperf-20??-??.tar.xz +mkdir -p $ARCHIVEDIR/webstats/ +ln -f -s -t $ARCHIVEDIR/webstats/ $TARBALLTARGETDIR/webstats-20??-??.tar + echo `date` "Finished." ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Corrected description of vote descriptor path.
commit 770f55cf82a1281e5081de7731adc9e36a916622 Author: iwakehDate: Mon Feb 26 15:24:50 2018 + Corrected description of vote descriptor path. Implements task-20287. --- src/main/resources/docs/PROTOCOL | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/resources/docs/PROTOCOL b/src/main/resources/docs/PROTOCOL index c84c286..2c8b603 100644 --- a/src/main/resources/docs/PROTOCOL +++ b/src/main/resources/docs/PROTOCOL @@ -209,7 +209,8 @@ Where VOTE is the string "vote" and all time related values are derived from the valid-after dates. 'fingerprint' is the fingerprint of the authority and 'digest' is the SHA1 - digest of the authority's medium term signing key. + digest for the vote document, i.e., the digest of the descriptor + bytes from the start of the vote to the 'directory-signature'. 4.3.4 'microdescs' contains the subfolders ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Add 'contrib' directory to index.json.
commit 5d2bdbb8ca615551264d21e801499f8720d2709b Author: iwakehDate: Tue Mar 20 08:31:46 2018 + Add 'contrib' directory to index.json. --- src/main/java/org/torproject/collector/conf/Key.java | 1 + src/main/java/org/torproject/collector/index/CreateIndexJson.java | 1 + src/main/resources/collector.properties| 2 ++ src/test/java/org/torproject/collector/conf/ConfigurationTest.java | 2 +- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/torproject/collector/conf/Key.java b/src/main/java/org/torproject/collector/conf/Key.java index 6454009..5e91e3e 100644 --- a/src/main/java/org/torproject/collector/conf/Key.java +++ b/src/main/java/org/torproject/collector/conf/Key.java @@ -19,6 +19,7 @@ public enum Key { ExitlistUrl(URL.class), InstanceBaseUrl(String.class), ArchivePath(Path.class), + ContribPath(Path.class), RecentPath(Path.class), OutputPath(Path.class), IndexPath(Path.class), diff --git a/src/main/java/org/torproject/collector/index/CreateIndexJson.java b/src/main/java/org/torproject/collector/index/CreateIndexJson.java index fb693a7..49bfb11 100644 --- a/src/main/java/org/torproject/collector/index/CreateIndexJson.java +++ b/src/main/java/org/torproject/collector/index/CreateIndexJson.java @@ -92,6 +92,7 @@ public class CreateIndexJson extends CollecTorMain { basePath = config.getProperty(Key.InstanceBaseUrl.name()); indexedDirectories = new File[] { config.getPath(Key.ArchivePath).toFile(), + config.getPath(Key.ContribPath).toFile(), config.getPath(Key.RecentPath).toFile() }; writeIndex(indexDirectories()); } catch (Exception e) { diff --git a/src/main/resources/collector.properties b/src/main/resources/collector.properties index 2aa556d..0fe6924 100644 --- a/src/main/resources/collector.properties +++ b/src/main/resources/collector.properties @@ -62,6 +62,8 @@ InstanceBaseUrl = https://collector.torproject.org IndexPath = index # The top-level directory for archived descriptors. ArchivePath = archive +# The top-level directory for third party data. +ContribPath = contrib # The top-level directory for the recent descriptors that were # published in the last 72 hours. RecentPath = recent diff --git a/src/test/java/org/torproject/collector/conf/ConfigurationTest.java b/src/test/java/org/torproject/collector/conf/ConfigurationTest.java index fcaa71f..e408109 100644 --- a/src/test/java/org/torproject/collector/conf/ConfigurationTest.java +++ b/src/test/java/org/torproject/collector/conf/ConfigurationTest.java @@ -40,7 +40,7 @@ public class ConfigurationTest { public void testKeyCount() throws Exception { assertEquals("The number of properties keys in enum Key changed." + "\n This test class should be adapted.", -52, Key.values().length); +53, Key.values().length); } @Test() ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/release] Adapt to metrics-lib 2.3.0 changes.
commit 574a3ec4c60bd205d97720308d21f1c2f3e1853c Author: iwakehDate: Mon Mar 26 11:01:56 2018 + Adapt to metrics-lib 2.3.0 changes. This concerns #25523. --- CHANGELOG.md| 6 ++ build.xml | 2 +- .../java/org/torproject/collector/webstats/SanitizeWeblogs.java | 3 ++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 94f7a96..d9cf7da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,9 @@ +# Changes in version 1.6.0 - 2018-0?-?? + + * Medium changes + - Update and adapt to metrics-lib 2.3.0. + + # Changes in version 1.5.1 - 2018-03-19 * Medium changes diff --git a/build.xml b/build.xml index 780f24e..921ad33 100644 --- a/build.xml +++ b/build.xml @@ -11,7 +11,7 @@ - + diff --git a/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java b/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java index fd301b0..88d1456 100644 --- a/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java +++ b/src/main/java/org/torproject/collector/webstats/SanitizeWeblogs.java @@ -31,6 +31,7 @@ import org.slf4j.LoggerFactory; import java.io.BufferedReader; import java.io.ByteArrayOutputStream; +import java.io.File; import java.io.InputStreamReader; import java.io.OutputStream; import java.nio.file.Files; @@ -150,7 +151,7 @@ public class SanitizeWeblogs extends CollecTorMain { WebServerAccessLogPersistence walp = new WebServerAccessLogPersistence( new WebServerAccessLogImpl(toCompressedBytes(retainedLines), - name, false)); + new File(name), name, false)); log.debug("Storing {}.", name); walp.storeOut(this.outputPathName); walp.storeRecent(this.recentPathName); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [collector/master] Prepare for 1.6.0 release.
commit 78d01e5b01eaabfd1eb9ae604c4ad73e6c2cbe0d Author: Karsten LoesingDate: Wed May 23 22:14:27 2018 +0200 Prepare for 1.6.0 release. --- CERT | 18 +- CHANGELOG.md | 2 +- build.xml| 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CERT b/CERT index 43be56e..61fa7c6 100644 --- a/CERT +++ b/CERT @@ -1,8 +1,8 @@ -BEGIN CERTIFICATE- -MIIDaTCCAlGgAwIBAgIEIk6NnzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV +MIIDaTCCAlGgAwIBAgIENNGkczANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTgw -MjI2MTQwMzUzWhcNMTgwNTI3MTQwMzUzWjBlMQswCQYDVQQGEwJVUzELMAkGA1UE +NTIzMTUxNDU2WhcNMTgwODIxMTUxNDU2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU @@ -11,11 +11,11 @@ Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud -DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAlUkU -qqf+4yfXwAWFr2q6iijr54NDDEQwybCblIzVnsuGHPUDuie3ZWSHirtblBs/uJ9x -RxmwkBrJr9IGMmGhN2GKXIPeUH0EZBYo7bsgo5d+E61OCnd/O+1JZzdG9dK+0kfq -MLfo6ltFZZouHIIXfvOm8sLLRrdkXPrLQ/E8fTHB7dL6T8Hqg6pHRrRZDtuSM9CO -zSYropxqlFzzlzciOdTU05D8Cnx2j/RtaycxHxFS7QtriDB0uOfqvyiVeqpr72wG -qetlu3h46fXj3ALGVSXy+YZpYxcRNZsQyiBXdlXbgY0OfOVPFOH3HiZuv3zhfRJW -2DiJiA8BLxZToe2XDA== +DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAJtEQ +B2AVpVtjTGU7uujUtEjSn1ICv7QLW/37TmHn+m1SWvXOVlSG81eb5JwX449Pn3w5 +K1Bx0JJmJ6Kec2kHtoR1r5/DUlTMtRqKQ5ZHQbvYMx+Ifq8TRALHjcw8p5Vw+gep +0zYbSQycklzFaFqLB8Cus0ICb+UY54HTddpezQ3IXS/vc4Vy07ocm8rUCz1s8L/r +ehTOxSym7G7+kcRzNplFOLL5iO8o6uHPyLR1TIAIXa0XZ41ogNl2q+6CvXG+UI/j +qkzSXD6FJK1Px2nxNFIe/w9NL+chSytIGnV3CImyiORuV+1OxMglyQspSGEbl1XP +OfiTEYHnp12BYMeRyw== -END CERTIFICATE- diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c6cb85..3a88792 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 1.6.0 - 2018-0?-?? +# Changes in version 1.6.0 - 2018-05-23 * Medium changes - Update and adapt to metrics-lib 2.4.0. diff --git a/build.xml b/build.xml index 39a46e9..7240db6 100644 --- a/build.xml +++ b/build.xml @@ -8,7 +8,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/master] Bump version to 2.4.0-dev.
commit feabf88fff34465134da9ea61592f7f9c30415b7 Author: Karsten LoesingDate: Fri May 25 14:46:09 2018 +0200 Bump version to 2.4.0-dev. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index c69da65..3c4bf28 100644 --- a/build.xml +++ b/build.xml @@ -6,7 +6,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Prepare for 2.4.0 release.
commit 94a7403e62d59619dbdc9952736d9b8b68948a05 Author: Karsten LoesingDate: Wed May 23 17:16:19 2018 +0200 Prepare for 2.4.0 release. --- CERT | 18 +- CHANGELOG.md | 2 +- build.xml| 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CERT b/CERT index 43be56e..61fa7c6 100644 --- a/CERT +++ b/CERT @@ -1,8 +1,8 @@ -BEGIN CERTIFICATE- -MIIDaTCCAlGgAwIBAgIEIk6NnzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV +MIIDaTCCAlGgAwIBAgIENNGkczANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTgw -MjI2MTQwMzUzWhcNMTgwNTI3MTQwMzUzWjBlMQswCQYDVQQGEwJVUzELMAkGA1UE +NTIzMTUxNDU2WhcNMTgwODIxMTUxNDU2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU @@ -11,11 +11,11 @@ Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud -DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAlUkU -qqf+4yfXwAWFr2q6iijr54NDDEQwybCblIzVnsuGHPUDuie3ZWSHirtblBs/uJ9x -RxmwkBrJr9IGMmGhN2GKXIPeUH0EZBYo7bsgo5d+E61OCnd/O+1JZzdG9dK+0kfq -MLfo6ltFZZouHIIXfvOm8sLLRrdkXPrLQ/E8fTHB7dL6T8Hqg6pHRrRZDtuSM9CO -zSYropxqlFzzlzciOdTU05D8Cnx2j/RtaycxHxFS7QtriDB0uOfqvyiVeqpr72wG -qetlu3h46fXj3ALGVSXy+YZpYxcRNZsQyiBXdlXbgY0OfOVPFOH3HiZuv3zhfRJW -2DiJiA8BLxZToe2XDA== +DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAJtEQ +B2AVpVtjTGU7uujUtEjSn1ICv7QLW/37TmHn+m1SWvXOVlSG81eb5JwX449Pn3w5 +K1Bx0JJmJ6Kec2kHtoR1r5/DUlTMtRqKQ5ZHQbvYMx+Ifq8TRALHjcw8p5Vw+gep +0zYbSQycklzFaFqLB8Cus0ICb+UY54HTddpezQ3IXS/vc4Vy07ocm8rUCz1s8L/r +ehTOxSym7G7+kcRzNplFOLL5iO8o6uHPyLR1TIAIXa0XZ41ogNl2q+6CvXG+UI/j +qkzSXD6FJK1Px2nxNFIe/w9NL+chSytIGnV3CImyiORuV+1OxMglyQspSGEbl1XP +OfiTEYHnp12BYMeRyw== -END CERTIFICATE- diff --git a/CHANGELOG.md b/CHANGELOG.md index a1266e5..39257fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 2.4.0 - 2018-05-?? +# Changes in version 2.4.0 - 2018-05-23 * Medium changes - Replace Gson with Jackson. Applications must provide Jackson diff --git a/build.xml b/build.xml index 29db555..c69da65 100644 --- a/build.xml +++ b/build.xml @@ -6,7 +6,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/release] Replace Gson with Jackson.
commit 16c6984ab971f3f617713985a8b94ff8ed3f6525 Author: Karsten LoesingDate: Tue May 22 15:23:57 2018 +0200 Replace Gson with Jackson. Implements #26159. --- CHANGELOG.md | 8 build.xml | 4 +- .../torproject/descriptor/index/DirectoryNode.java | 13 ++- .../org/torproject/descriptor/index/FileNode.java | 8 +--- .../org/torproject/descriptor/index/IndexNode.java | 43 ++ .../torproject/descriptor/index/IndexNodeTest.java | 4 +- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e9069e..a1266e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Changes in version 2.4.0 - 2018-05-?? + + * Medium changes + - Replace Gson with Jackson. Applications must provide Jackson + 2.8.6 or compatible as dependency and do not need to provide Gson + as dependency anymore. + + # Changes in version 2.3.0 - 2018-04-18 * Medium changes diff --git a/build.xml b/build.xml index 61cd45d..29db555 100644 --- a/build.xml +++ b/build.xml @@ -15,7 +15,9 @@ - + + + diff --git a/src/main/java/org/torproject/descriptor/index/DirectoryNode.java b/src/main/java/org/torproject/descriptor/index/DirectoryNode.java index 859493b..9ed5784 100644 --- a/src/main/java/org/torproject/descriptor/index/DirectoryNode.java +++ b/src/main/java/org/torproject/descriptor/index/DirectoryNode.java @@ -3,8 +3,6 @@ package org.torproject.descriptor.index; -import com.google.gson.annotations.Expose; - import java.util.SortedSet; /** @@ -15,22 +13,19 @@ import java.util.SortedSet; public class DirectoryNode implements Comparable { /** Path (i.e. directory name) is exposed in JSON. */ - @Expose public final String path; /** The file list is exposed in JSON. Sorted according to path. */ - @Expose public final SortedSet files; /** The directory list is exposed in JSON. Sorted according to path. */ - @Expose public final SortedSet directories; - /* Added to satisfy Gson. */ + /* Added to satisfy Jackson. */ private DirectoryNode() { -path = null; -files = null; -directories = null; +this.path = null; +this.files = null; +this.directories = null; } /** A directory for the JSON structure. */ diff --git a/src/main/java/org/torproject/descriptor/index/FileNode.java b/src/main/java/org/torproject/descriptor/index/FileNode.java index eb34131..f505f16 100644 --- a/src/main/java/org/torproject/descriptor/index/FileNode.java +++ b/src/main/java/org/torproject/descriptor/index/FileNode.java @@ -3,8 +3,7 @@ package org.torproject.descriptor.index; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; +import com.fasterxml.jackson.annotation.JsonIgnore; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,18 +24,15 @@ public class FileNode implements Comparable { private static Logger log = LoggerFactory.getLogger(FileNode.class); /** Path (i.e. file name) is exposed in JSON. */ - @Expose public final String path; /** The file size is exposed in JSON. */ - @Expose public final long size; /** The last modified date-time string is exposed in JSON. */ - @Expose - @SerializedName("last_modified") public final String lastModified; + @JsonIgnore private long lastModifiedMillis; /* Added to satisfy Gson. */ diff --git a/src/main/java/org/torproject/descriptor/index/IndexNode.java b/src/main/java/org/torproject/descriptor/index/IndexNode.java index 19a5aa4..02b5972 100644 --- a/src/main/java/org/torproject/descriptor/index/IndexNode.java +++ b/src/main/java/org/torproject/descriptor/index/IndexNode.java @@ -5,19 +5,20 @@ package org.torproject.descriptor.index; import org.torproject.descriptor.internal.FileType; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.PropertyNamingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.OutputStream; -import java.io.Reader; import java.net.URL; import java.net.URLConnection; import java.nio.file.Files; @@ -34,6 +35,7 @@ import java.util.TreeSet; * * @since 1.4.0 */ +@JsonPropertyOrder({ "created", "revision", "path", "directories", "files" }) public
[tor-commits] [metrics-lib/release] Bump version to 2.3.0-dev.
commit 77bbd742b63fd9708694d7d8623d82a9654b770e Author: Karsten LoesingDate: Wed Apr 18 16:43:13 2018 +0200 Bump version to 2.3.0-dev. --- build.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.xml b/build.xml index 9bff4b2..61cd45d 100644 --- a/build.xml +++ b/build.xml @@ -6,7 +6,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [metrics-lib/master] Replace Gson with Jackson.
commit 16c6984ab971f3f617713985a8b94ff8ed3f6525 Author: Karsten LoesingDate: Tue May 22 15:23:57 2018 +0200 Replace Gson with Jackson. Implements #26159. --- CHANGELOG.md | 8 build.xml | 4 +- .../torproject/descriptor/index/DirectoryNode.java | 13 ++- .../org/torproject/descriptor/index/FileNode.java | 8 +--- .../org/torproject/descriptor/index/IndexNode.java | 43 ++ .../torproject/descriptor/index/IndexNodeTest.java | 4 +- 6 files changed, 40 insertions(+), 40 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1e9069e..a1266e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +# Changes in version 2.4.0 - 2018-05-?? + + * Medium changes + - Replace Gson with Jackson. Applications must provide Jackson + 2.8.6 or compatible as dependency and do not need to provide Gson + as dependency anymore. + + # Changes in version 2.3.0 - 2018-04-18 * Medium changes diff --git a/build.xml b/build.xml index 61cd45d..29db555 100644 --- a/build.xml +++ b/build.xml @@ -15,7 +15,9 @@ - + + + diff --git a/src/main/java/org/torproject/descriptor/index/DirectoryNode.java b/src/main/java/org/torproject/descriptor/index/DirectoryNode.java index 859493b..9ed5784 100644 --- a/src/main/java/org/torproject/descriptor/index/DirectoryNode.java +++ b/src/main/java/org/torproject/descriptor/index/DirectoryNode.java @@ -3,8 +3,6 @@ package org.torproject.descriptor.index; -import com.google.gson.annotations.Expose; - import java.util.SortedSet; /** @@ -15,22 +13,19 @@ import java.util.SortedSet; public class DirectoryNode implements Comparable { /** Path (i.e. directory name) is exposed in JSON. */ - @Expose public final String path; /** The file list is exposed in JSON. Sorted according to path. */ - @Expose public final SortedSet files; /** The directory list is exposed in JSON. Sorted according to path. */ - @Expose public final SortedSet directories; - /* Added to satisfy Gson. */ + /* Added to satisfy Jackson. */ private DirectoryNode() { -path = null; -files = null; -directories = null; +this.path = null; +this.files = null; +this.directories = null; } /** A directory for the JSON structure. */ diff --git a/src/main/java/org/torproject/descriptor/index/FileNode.java b/src/main/java/org/torproject/descriptor/index/FileNode.java index eb34131..f505f16 100644 --- a/src/main/java/org/torproject/descriptor/index/FileNode.java +++ b/src/main/java/org/torproject/descriptor/index/FileNode.java @@ -3,8 +3,7 @@ package org.torproject.descriptor.index; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; +import com.fasterxml.jackson.annotation.JsonIgnore; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -25,18 +24,15 @@ public class FileNode implements Comparable { private static Logger log = LoggerFactory.getLogger(FileNode.class); /** Path (i.e. file name) is exposed in JSON. */ - @Expose public final String path; /** The file size is exposed in JSON. */ - @Expose public final long size; /** The last modified date-time string is exposed in JSON. */ - @Expose - @SerializedName("last_modified") public final String lastModified; + @JsonIgnore private long lastModifiedMillis; /* Added to satisfy Gson. */ diff --git a/src/main/java/org/torproject/descriptor/index/IndexNode.java b/src/main/java/org/torproject/descriptor/index/IndexNode.java index 19a5aa4..02b5972 100644 --- a/src/main/java/org/torproject/descriptor/index/IndexNode.java +++ b/src/main/java/org/torproject/descriptor/index/IndexNode.java @@ -5,19 +5,20 @@ package org.torproject.descriptor.index; import org.torproject.descriptor.internal.FileType; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.PropertyNamingStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.OutputStream; -import java.io.Reader; import java.net.URL; import java.net.URLConnection; import java.nio.file.Files; @@ -34,6 +35,7 @@ import java.util.TreeSet; * * @since 1.4.0 */ +@JsonPropertyOrder({ "created", "revision", "path", "directories", "files" }) public
[tor-commits] [metrics-lib/master] Prepare for 2.4.0 release.
commit 94a7403e62d59619dbdc9952736d9b8b68948a05 Author: Karsten LoesingDate: Wed May 23 17:16:19 2018 +0200 Prepare for 2.4.0 release. --- CERT | 18 +- CHANGELOG.md | 2 +- build.xml| 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CERT b/CERT index 43be56e..61fa7c6 100644 --- a/CERT +++ b/CERT @@ -1,8 +1,8 @@ -BEGIN CERTIFICATE- -MIIDaTCCAlGgAwIBAgIEIk6NnzANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV +MIIDaTCCAlGgAwIBAgIENNGkczANBgkqhkiG9w0BAQsFADBlMQswCQYDVQQGEwJV UzELMAkGA1UECBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBU b3IgUHJvamVjdCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwHhcNMTgw -MjI2MTQwMzUzWhcNMTgwNTI3MTQwMzUzWjBlMQswCQYDVQQGEwJVUzELMAkGA1UE +NTIzMTUxNDU2WhcNMTgwODIxMTUxNDU2WjBlMQswCQYDVQQGEwJVUzELMAkGA1UE CBMCV0ExEDAOBgNVBAcTB1NlYXR0bGUxHTAbBgNVBAoTFFRoZSBUb3IgUHJvamVj dCwgSW5jMRgwFgYDVQQDEw9LYXJzdGVuIExvZXNpbmcwggEiMA0GCSqGSIb3DQEB AQUAA4IBDwAwggEKAoIBAQChXn+IUp+o6G+k4ffxk3TkxZb3iXfiG7byNsG63olU @@ -11,11 +11,11 @@ Qw+VAhKTcEIv4yiR0BWapQyR07pgmKirYVjN6s6ef8NJzUptpxLlaYJ3ZfQfc4aE MXzScgaccwDFIWQ661lzLGCfeSxxa3Xy4wWsGwzNzLITYrrABcbg7yogLo2btNvD oEwGL3/baQdhl0dra6biVCZr9ydn3Hg57S55pUU0rBY25id78zUO8xrfNHw54wwX lOblGt75OOkahP/ZZSBxxoiknJ6y5VQV8y+noA4vigXFAgMBAAGjITAfMB0GA1Ud -DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAlUkU -qqf+4yfXwAWFr2q6iijr54NDDEQwybCblIzVnsuGHPUDuie3ZWSHirtblBs/uJ9x -RxmwkBrJr9IGMmGhN2GKXIPeUH0EZBYo7bsgo5d+E61OCnd/O+1JZzdG9dK+0kfq -MLfo6ltFZZouHIIXfvOm8sLLRrdkXPrLQ/E8fTHB7dL6T8Hqg6pHRrRZDtuSM9CO -zSYropxqlFzzlzciOdTU05D8Cnx2j/RtaycxHxFS7QtriDB0uOfqvyiVeqpr72wG -qetlu3h46fXj3ALGVSXy+YZpYxcRNZsQyiBXdlXbgY0OfOVPFOH3HiZuv3zhfRJW -2DiJiA8BLxZToe2XDA== +DgQWBBSeh60M+/wMYyYhlxtuff2Hk9n7bzANBgkqhkiG9w0BAQsFAAOCAQEAJtEQ +B2AVpVtjTGU7uujUtEjSn1ICv7QLW/37TmHn+m1SWvXOVlSG81eb5JwX449Pn3w5 +K1Bx0JJmJ6Kec2kHtoR1r5/DUlTMtRqKQ5ZHQbvYMx+Ifq8TRALHjcw8p5Vw+gep +0zYbSQycklzFaFqLB8Cus0ICb+UY54HTddpezQ3IXS/vc4Vy07ocm8rUCz1s8L/r +ehTOxSym7G7+kcRzNplFOLL5iO8o6uHPyLR1TIAIXa0XZ41ogNl2q+6CvXG+UI/j +qkzSXD6FJK1Px2nxNFIe/w9NL+chSytIGnV3CImyiORuV+1OxMglyQspSGEbl1XP +OfiTEYHnp12BYMeRyw== -END CERTIFICATE- diff --git a/CHANGELOG.md b/CHANGELOG.md index a1266e5..39257fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# Changes in version 2.4.0 - 2018-05-?? +# Changes in version 2.4.0 - 2018-05-23 * Medium changes - Replace Gson with Jackson. Applications must provide Jackson diff --git a/build.xml b/build.xml index 29db555..c69da65 100644 --- a/build.xml +++ b/build.xml @@ -6,7 +6,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-perl5lib_completed] Update translations for tails-perl5lib_completed
commit 6ea11cd36c58ebfccc6e7320cc547a5ea9fee17e Author: Translation commit botDate: Fri May 25 11:47:37 2018 + Update translations for tails-perl5lib_completed --- ru.po | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/ru.po b/ru.po index 7e1f23b0e..4a0da28b1 100644 --- a/ru.po +++ b/ru.po @@ -7,13 +7,14 @@ # Misha Dyachuk , 2016 # Roberto Brigante, 2017 # Uho Lot , 2016 +# ÐикÑÐ¾Ñ ÐÑÑÑ Ð¸Ð½ , 2018 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" -"POT-Creation-Date: 2017-05-20 10:59+0200\n" -"PO-Revision-Date: 2017-11-09 19:07+\n" -"Last-Translator: Roberto Brigante\n" +"POT-Creation-Date: 2018-03-15 12:15+\n" +"PO-Revision-Date: 2018-05-25 11:29+\n" +"Last-Translator: ÐикÑÐ¾Ñ ÐÑÑÑ Ð¸Ð½ \n" "Language-Team: Russian (http://www.transifex.com/otf/torproject/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -27,12 +28,12 @@ msgstr "ÐÑибка" #: ../lib/Tails/RunningSystem.pm:161 msgid "" -"The device Tails is running from cannot be found. Maybe you used the `toram'" +"The device Tails is running from cannot be found. Maybe you used the 'toram'" " option?" -msgstr "Ðевозможно найÑи ÑÑÑÑойÑÑво, Ñ ÐºÐ¾ÑоÑого запÑÑена Tails. ÐÐ¾Ð¶ÐµÑ Ð±ÑÑÑ, Ð²Ñ Ð²Ð¾ÑполÑзовалиÑÑ Ð¾Ð¿Ñией `toram'?" +msgstr "ÐапÑÑенное ÑÑÑÑойÑÑво Tails не найдено. Ðозможно Ð²Ñ Ð¸ÑполÑзÑеÑе 'toram' опÑиÑ?" #: ../lib/Tails/RunningSystem.pm:192 msgid "" -"The drive Tails is running from cannot be found. Maybe you used the `toram' " +"The drive Tails is running from cannot be found. Maybe you used the 'toram' " "option?" -msgstr "УÑÑÑойÑÑво Ñ Tails не бÑло найдено. Ðозможно, Ð²Ñ Ð¸ÑполÑзÑеÑе опÑÐ¸Ñ \"toram\"?" +msgstr "ÐапÑÑеннÑй ноÑиÑÐµÐ»Ñ Tails не найден. Ðозможно Ð²Ñ Ð¸ÑполÑзÑеÑе 'toram' опÑиÑ?" ___ 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
commit c0034766d70d185f302db6055bfa56100c4f414b Author: Translation commit botDate: Fri May 25 11:47:32 2018 + Update translations for tails-perl5lib --- ru.po | 9 + 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ru.po b/ru.po index 303915ace..4a0da28b1 100644 --- a/ru.po +++ b/ru.po @@ -7,13 +7,14 @@ # Misha Dyachuk , 2016 # Roberto Brigante, 2017 # Uho Lot , 2016 +# ÐикÑÐ¾Ñ ÐÑÑÑ Ð¸Ð½ , 2018 msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: Tails developers \n" "POT-Creation-Date: 2018-03-15 12:15+\n" -"PO-Revision-Date: 2018-03-31 13:21+\n" -"Last-Translator: carolyn \n" +"PO-Revision-Date: 2018-05-25 11:29+\n" +"Last-Translator: ÐикÑÐ¾Ñ ÐÑÑÑ Ð¸Ð½ \n" "Language-Team: Russian (http://www.transifex.com/otf/torproject/language/ru/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -29,10 +30,10 @@ msgstr "ÐÑибка" msgid "" "The device Tails is running from cannot be found. Maybe you used the 'toram'" " option?" -msgstr "" +msgstr "ÐапÑÑенное ÑÑÑÑойÑÑво Tails не найдено. Ðозможно Ð²Ñ Ð¸ÑполÑзÑеÑе 'toram' опÑиÑ?" #: ../lib/Tails/RunningSystem.pm:192 msgid "" "The drive Tails is running from cannot be found. Maybe you used the 'toram' " "option?" -msgstr "" +msgstr "ÐапÑÑеннÑй ноÑиÑÐµÐ»Ñ Tails не найден. Ðозможно Ð²Ñ Ð¸ÑполÑзÑеÑе 'toram' опÑиÑ?" ___ 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
commit 4092173a889bd37e7da982a5dc13d629e15ed005 Author: Translation commit botDate: Fri May 25 11:45:30 2018 + Update translations for https_everywhere --- ru/https-everywhere.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd index 08ed398fe..34d43ff20 100644 --- a/ru/https-everywhere.dtd +++ b/ru/https-everywhere.dtd @@ -23,7 +23,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
commit e3d95f1f2afd4e1820fac456592f6b9d45c62d2d Author: Translation commit botDate: Fri May 25 11:45:38 2018 + Update translations for https_everywhere_completed --- ru/https-everywhere.dtd | 1 + 1 file changed, 1 insertion(+) diff --git a/ru/https-everywhere.dtd b/ru/https-everywhere.dtd index f75256247..34d43ff20 100644 --- a/ru/https-everywhere.dtd +++ b/ru/https-everywhere.dtd @@ -23,6 +23,7 @@ + ___ 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] Update translations for torbutton-torbuttondtd_completed
commit 08b450c640c3eb9ca1fefcd6191603634c508726 Author: Translation commit botDate: Fri May 25 11:17:26 2018 + Update translations for torbutton-torbuttondtd_completed --- ru/torbutton.dtd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ru/torbutton.dtd b/ru/torbutton.dtd index 50063ce11..7ca05b7a8 100644 --- a/ru/torbutton.dtd +++ b/ru/torbutton.dtd @@ -47,4 +47,5 @@ - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit eec719f66dae2c06c58b24e02861185cde9cd140 Author: Translation commit botDate: Fri May 25 11:17:22 2018 + Update translations for torbutton-torbuttondtd --- ru/torbutton.dtd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ru/torbutton.dtd b/ru/torbutton.dtd index 24c9f4d48..7ca05b7a8 100644 --- a/ru/torbutton.dtd +++ b/ru/torbutton.dtd @@ -47,5 +47,5 @@ - - + + ___ 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
commit 8f0de0a0b9b20731f63e267cc8f44fe5e3d5945a Author: Translation commit botDate: Fri May 25 11:17:09 2018 + Update translations for torbutton-torbuttonproperties --- ru/torbutton.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ru/torbutton.properties b/ru/torbutton.properties index 8884b5359..2194c844d 100644 --- a/ru/torbutton.properties +++ b/ru/torbutton.properties @@ -6,7 +6,7 @@ torbutton.circuit_display.relay = РеÑÑанÑлÑÑÐ¾Ñ torbutton.circuit_display.tor_bridge = РеÑÑанÑлÑÑÐ¾Ñ torbutton.circuit_display.unknown_country = ÐеизвеÑÑÐ½Ð°Ñ ÑÑÑана torbutton.circuit_display.guard = Guard -torbutton.circuit_display.guard_note = Your [Guard] node may not change. +torbutton.circuit_display.guard_note = ÐÐ°Ñ [Guard] Ñзел не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½. torbutton.circuit_display.learn_more = ÐодÑобнее torbutton.content_sizer.margin_tooltip = Tor Browser добавлÑÐµÑ ÑÑÐ¾Ñ Ð¾ÑÑÑÑп, ÑÑÐ¾Ð±Ñ ÑиÑина и вÑÑоÑа окна бÑли менее ÑзнаваемÑми, ÑÑо ÑÑложнÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¾ÑÑледиÑÑ ÐÐ°Ñ Ð² ÑеÑи. torbutton.panel.tooltip.disabled = ÐажмиÑе, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Tor ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttonproperties_completed] Update translations for torbutton-torbuttonproperties_completed
commit dcd14f37a5796b8b2a7f4de8f2152540daae2441 Author: Translation commit botDate: Fri May 25 11:17:16 2018 + Update translations for torbutton-torbuttonproperties_completed --- ru/torbutton.properties | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ru/torbutton.properties b/ru/torbutton.properties index 5f6f43926..2194c844d 100644 --- a/ru/torbutton.properties +++ b/ru/torbutton.properties @@ -2,9 +2,12 @@ torbutton.circuit_display.internet = ÐнÑеÑÐ½ÐµÑ torbutton.circuit_display.ip_unknown = IP неизвеÑÑен torbutton.circuit_display.onion_site = "ÐÑковÑй" ÑÐ°Ð¹Ñ torbutton.circuit_display.this_browser = ÐÑÐ¾Ñ Ð±ÑаÑÐ·ÐµÑ -torbutton.circuit_display.relay = Ñзел +torbutton.circuit_display.relay = РеÑÑанÑлÑÑÐ¾Ñ torbutton.circuit_display.tor_bridge = РеÑÑанÑлÑÑÐ¾Ñ torbutton.circuit_display.unknown_country = ÐеизвеÑÑÐ½Ð°Ñ ÑÑÑана +torbutton.circuit_display.guard = Guard +torbutton.circuit_display.guard_note = ÐÐ°Ñ [Guard] Ñзел не Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½. +torbutton.circuit_display.learn_more = ÐодÑобнее torbutton.content_sizer.margin_tooltip = Tor Browser добавлÑÐµÑ ÑÑÐ¾Ñ Ð¾ÑÑÑÑп, ÑÑÐ¾Ð±Ñ ÑиÑина и вÑÑоÑа окна бÑли менее ÑзнаваемÑми, ÑÑо ÑÑложнÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑÑ Ð¾ÑÑледиÑÑ ÐÐ°Ñ Ð² ÑеÑи. torbutton.panel.tooltip.disabled = ÐажмиÑе, ÑÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ Tor torbutton.panel.tooltip.enabled = ÐажмиÑе, ÑÑÐ¾Ð±Ñ Ð¾ÑклÑÑиÑÑ Tor ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-tormobile] Update translations for support-tormobile
commit 4b9d38656dfca797a666a88cda6056ee7a543f9f Author: Translation commit botDate: Fri May 25 09:20:56 2018 + Update translations for support-tormobile --- pt_PT.json | 32 1 file changed, 32 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..d832318fe --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,32 @@ +{ +"tormobile-1": { + "id": "#tormobile-1", + "control": "tormobile-1", + "title": "Can I run Tor on an Android device?", + "description": "Tor on Android is provided by The Guardian Project. More information can be found on the âhttps://guardianproject.info/apps/orbot/\;>Orbot and https://guardianproject.info/apps/orfox/\;>âOrfox web pages. Orbot is for web browsing, and Orfox can route other apps on your Android phone over the Tor network." +}, +"tormobile-2": { + "id": "#tormobile-2", + "control": "tormobile-2", + "title": "Who is the Guardian Project?", + "description": "The Guardian Project maintains Tor (and other privacy applications) on Android. More info can be found on the âhttps://guardianproject.info/\;>Guardian Project's website." +}, +"tormobile-3": { + "id": "#tormobile-3", + "control": "tormobile-3", + "title": "Can I run Tor on an iOS device?", + "description": " We recommend an iOS app called Onion Browser, which is open source, uses Tor routing, and is developed by someone who works closely with the Tor Project. However, Apple requires browsers on iOS to use something called Webkit, which prevents Onion Browser from having the same privacy protections as Tor Browser. https://blog.torproject.org/tor-heart-onion-browser-and-more-ios-tor\;>Learn more about Onion Browser." +}, +"tormobile-4": { + "id": "#tormobile-4", + "control": "tormobile-4", + "title": "How do I run Tor on Windows Phone?", + "description": "There is currently no supported method for running Tor on Windows Phone." +}, + "tormobile-5": { + "id": "#tormobile-5", + "control": "tormobile-5", + "title": "When is Tor Browser for Android being released?", + "description": "We are currently working on Tor Browser for Android, and you may see alpha releases appear over the coming months. Please watch our https://blog.torproject.org\;>blog for future announcements and details regarding this project." + } +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-tormessenger] Update translations for support-tormessenger
commit f3f7eafbc9ac7c677ee763a061deecdb000f5925 Author: Translation commit botDate: Fri May 25 09:20:48 2018 + Update translations for support-tormessenger --- pt_PT.json | 20 1 file changed, 20 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..bbad42d5c --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,20 @@ +{ +"messenger-1": { + "id": "#messenger-1", + "control": "messenger-1", + "title": "Does Tor Project make an application for private chat?", + "description": "Yes! Tor Messenger, though still in beta, is a cross-platform chat program that aims to be secure by default and sends all of its traffic over Tor. It supports a wide variety of transport networks, including XMPP, IRC, Twitter, and others; enables Off-the-Record (OTR) Messaging automatically; has an easy-to-use graphical user interface; and a secure automatic updater.See this https://blog.torproject.org/category/tags/tor-messenger\;>Tor Messenger blog post for more information." +}, +"messenger-2": { + "id": "#messenger-2", + "control": "messenger-2", + "title": "What platforms is Tor Messenger available on?", + "description": "Tor Messenger (beta) is currently available on Linux, Windows, and OSX." +}, +"messenger-3": { + "id": "#messenger-3", + "control": "messenger-3", + "title": "Where can I download Tor Messenger?", + "description": "While the Tor Messenger remains in beta, the latest downloads can be found on our wiki." +} +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-topics] Update translations for support-topics
commit 8fbc3ac8e777690f4603f2f2eb03344cb0783235 Author: Translation commit botDate: Fri May 25 09:20:40 2018 + Update translations for support-topics --- pt_PT.json | 57 + 1 file changed, 57 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..63a46e0ca --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,57 @@ +{ +"faq": { + "path": "#faq", + "control": "faq", + "label": "Most Frequently Asked Questions" +}, +"tbb": { + "path": "#tbb", + "control": "tbb", + "label": "Tor Browser" +}, +"tormessenger": { + "path": "#tormessenger", + "control": "tormessenger", + "label": "Tor Messenger" +}, +"tormobile": { + "path": "#tormobile", + "control": "tormobile", + "label": "Tor Mobile" +}, +"gettor": { + "path": "#gettor", + "control": "gettor", + "label": "GetTor" +}, +"connecting": { + "path": "#connectingtotor", + "control": "connectingtotor", + "label": "Connecting To Tor" +}, +"censorship": { + "path": "#censorship", + "control": "censorship", + "label": "Censorship" +}, +"https": { + "path": "#https", + "control": "https", + "label": "HTTPS" +}, +"operators": { + "path": "#operators", + "control": "operators", + "label": "Operators" +}, +"onionservices": { + "path": "#onionservices", + "control": "onionservices", + "label": "Onion Services" +}, +"misc": { + "path": "#misc", + "control": "misc", + "label": "Misc" +} +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-tbb] Update translations for support-tbb
commit 512241ff97a840d367af83af4c2ea4bcfee54312 Author: Translation commit botDate: Fri May 25 09:20:32 2018 + Update translations for support-tbb --- pt_PT.json | 260 + 1 file changed, 260 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..e4ba34fc5 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,260 @@ +{ +"tbb-1": { + "id": "#tbb-1", + "control": "tbb-1", + "title": "What are the most common issues with the latest stable version of Tor Browser?", + "description": "Whenever we release a new stable version of Tor Browser, we write a blog post that details its new features and known issues. If you started having issues with your Tor Browser after an update, check out âhttps://blog.torproject.org\;>https://blog.torproject.org for the most recent stable Tor Browser post to see if your issue is listed." +}, +"tbb-2": { + "id": "#tbb-2", + "control": "tbb-2", + "title": "Why is the first IP address in my relay circuit always the same?", + "description": "That is normal Tor behavior. The first relay in your circuit is called an \"entry guard\" or \"guard.\" It is a fast and stable relay that remains the first one in your circuit for 2-3 months in order to protect against a known anonymity-breaking attack. The rest of your circuit changes with every new website you visit, and all together these relays provide the full privacy protections of Tor. For more information on how guard relays work, see this https://blog.torproject.org/improving-tors-anonymity-changing-guard-parameters\;>blog post and https://www-users.cs.umn.edu/~hoppernj/single_guard.pdf\;>paper on entry guards." +}, +"tbb-3": { + "id": "#tbb-3", + "control": "tbb-3", + "title": "When I use Tor Browser, will anyone be able to tell which websites I visit?", + "description": "Tor Browser prevents people from knowing the websites you visit. Some entities, such as your Internet Service Provider (ISP), may be able to see that you're using Tor." +}, +"tbb-4": { + "id": "#tbb-4", + "control": "tbb-4", + "title": "Why is Tor Browser built from Firefox and not some other browser", + "description": "Tor Browser is a modified version of Firefox specifically designed for use with Tor. A lot of work has been put into making the Tor Browser, including the use of extra patches to enhance privacy and security. While it is technically possible to use Tor with other browsers, you may open yourself up to potential attacks or information leakage, so we strongly discourage it. https://www.torproject.org/projects/torbrowser/design/\;>Learn more about the design of Tor Browser." +}, +"tbb-5": { + "id": "#tbb-5", + "control": "tbb-5", + "title": "Can I still use another browser, like Chrome or Firefox, when I am using Tor Browser", + "description": "You can certainly use another browser while you are also using Tor Browser. However, you should know that the privacy properties of Tor Browser will not be present in the other browser. Be careful when switching back and forth between Tor and a less safe browser, because you may accidentally use the other browser for something you intended to do using Tor." +}, +"tbb-6": { + "id": "#tbb-6", + "control": "tbb-6", + "title": "Can I make Tor Browser my default browser?", + "description": "Unfortunately, there is no supported way to make Tor Browser your default browser." +}, +"tbb-7": { + "id": "#tbb-7", + "control": "tbb-7", + "title": "My favorite website is blocking access over Tor.", + "description": "Sorry to hear that you can't visit the website you wanted! Sometimes websites will block Tor users because they can't tell the difference between the average Tor user and automated traffic. The best success we've had in getting sites to unblock Tor users is getting users to contact the site administrators directly. Something like this might do the trick:\"Hi! I tried to access your site xyz.com while using Tor Browser and discovered that you don't allow Tor users to access your site. I urge you to reconsider this decision; Tor is used by people all over the world to protect their privacy and fight censorship. By blocking Tor users, you are likely blocking people in repressive countries who want to use a free internet, journalists and researchers who want to protect themselves from discovery, whistleblowers, activists, and ordinary people who want to opt out of invasive third party tracking. Please take a strong stance in favor of digital priv acy and internet freedom, and allow Tor users access to xyz.com. Thank you.\"In the case of banks, and other sensitive websites, it is also common to see geography-based blocking (if a bank knows
[tor-commits] [translation/support-faq] Update translations for support-faq
commit 87c4e9f4bb9c62b47b893a51451a1422705434a6 Author: Translation commit botDate: Fri May 25 09:20:00 2018 + Update translations for support-faq --- pt_PT.json | 32 1 file changed, 32 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..a4a631779 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,32 @@ +{ +"faq-1": { + "id": "#faq-1", + "control": "faq-1", + "title": "When I use Tor Browser, will anyone be able to tell which websites I visit?", + "description": "Tor Browser prevents people from knowing the websites you visit. Some entities, such as your Internet Service Provider (ISP), may be able to see that you're using Tor." +}, +"faq-2": { + "id": "#faq-2", + "control": "faq-2", + "title": "Our website is blocked by a censor. Can Tor Browser help users access our website?", + "description": "Tor Browser can certainly help people access your website in places where it is blocked. Most of the time, simply downloading the âTor Browser and then using it to navigate to the blocked site will allow access. In places where there is heavy censorship, we have a number of censorship circumvention options available, including âpluggable transports. For more information, please see the âTor Browser User Manual section on censorship." +}, +"faq-3": { + "id": "#faq-3", + "control": "faq-3", + "title": "Should I install a new add-on or extension in Tor Browser, like AdBlock Plus or uBlock Origin?", + "description": "It's strongly discouraged to install new add-ons in Tor Browser, because they can compromise both your privacy and your security. Plus, Tor Browser already comes installed with two add-ons â HTTPS Everywhere and NoScript â which give you added protection." +}, +"faq-4": { + "id": "#faq-4", + "control": "faq-4", + "title": "Which platforms is Tor Browser available for?", + "description": "Tor Browser is currently available on Windows, Linux and macOS (OS X). For Android, The Guardian Project maintains the Tor-powered apps Orbot and Orfox. There is no official version of Tor for iOS yet, though we recommend Onion Browser." +}, +"faq-5": { + "id": "#faq-5", + "control": "faq-5", + "title": "Can I use a VPN with Tor?", + "description": "Generally speaking, we don't recommend using a VPN with Tor unless you're an advanced user who knows how to configure both in a way that doesn't compromise your privacy. Learn more about combining Tor + VPN." +} +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-miscellaneous] Update translations for support-miscellaneous
commit a737fcf2fb025028909b31360baa3f05fb70f6f2 Author: Translation commit botDate: Fri May 25 09:20:24 2018 + Update translations for support-miscellaneous --- pt_PT.json | 92 ++ 1 file changed, 92 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..c29993d09 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,92 @@ +{ +"misc-1": { + "id": "#misc-1", + "control": "misc-1", + "title": "I have a compelling reason to trace a Tor user. Can you help?", + "description": "There is nothing the Tor developers can do to trace Tor users. The same protections that keep bad people from breaking Tor's anonymity also prevent us from tracking users." +}, +"misc-2": { + "id": "#misc-2", + "control": "misc-2", + "title": "Why don't you prevent bad people from doing bad things when using Tor?", + "description": "Tor is designed to defend human rights and privacy by preventing anyone from censoring things, even us. We hate that there are some people who use Tor to do terrible things, but we can't do anything to get rid of them without also undermining the human rights activists, journalists, abuse survivors, and other people who use Tor for good things. If we wanted to block certain people from using Tor, we'd basically be adding a backdoor to the software, which would open up our vulnerable users to attacks from bad regimes and other adversaries." +}, + "misc-3": { + "id": "#misc-3", + "control": "misc-3", + "title": "Who funds Tor?", + "description": "Tor is funded by a number of different sponsors including US federal agencies, private foundations, and individual donors. Check out a list of all https://www.torproject.org/about/sponsors.html.en\;>our sponsors and a series of https://blog.torproject.org/category/tags/form-990\;>blog posts on our financial reports.We feel that talking openly about our funders and funding model is the best way to maintain trust with our community. We are always seeking more diversity in our funding sources, especially from foundations and individuals." + }, + "misc-4": { + "id": "#misc-4", + "control": "misc-4", + "title": "Can I use Tor with bittorrent?", + "description": "We do not recommend using Tor with bittorrent. For further details, please see our https://blog.torproject.org/bittorrent-over-tor-isnt-good-idea\;>âblog post on the subject." + }, + "misc-5": { + "id": "#misc-5", + "control": "misc-5", + "title": "The files on my computer have been locked, and someone is demanding I download Tor Browser to pay a ransom for my files!", + "description": "We are so sorry, but you have been infected with malware. The Tor Project did not create this malware. The malware authors are asking you to download Tor Browser presumably to contact them anonymously with the ransom they're demanding from you. If this is your first introduction to Tor Browser, we understand that you might think we're bad people who enable even worse people. But please consider that our software is used every day for a wide variety of purposes by âhuman rights activists, journalists, domestic violence survivors, whistleblowers, law enforcement officers, and many others. Unfortunately, the protection that our software can provide to these groups of people can also be abused by criminals and malware authors. The Tor Project does not support or condone the use of our software for malicious purposes." + }, +"misc-6": { + "id": "#misc-6", + "control": "misc-6", + "title": "Does Tor keep logs?", + "description": "Tor doesn't keep any logs that could identify a particular user. We do take some safe measurements of how the network functions, which you can check out at https://metrics.torproject.org/\;>âTor Metrics." +}, +"misc-7": { + "id": "#misc-7", + "control": "misc-7", + "title": "Does Tor Project offer email service or other privacy protecting web services?", + "description": "No, we don't provide any online services. A list of all of our software projects can be found on our https://www.torproject.org/projects/projects.html.en\;>âprojects page." +}, +"misc-8": { + "id": "#misc-8", + "control": "misc-8", + "title": "Can I use the Tor logo in my product?", + "description": "You can read all about that on our https://www.torproject.org/docs/trademark-faq.html\;>âTrademark faq page." +}, +"misc-9": { + "id": "#misc-9", + "control": "misc-9", + "title": "I'm having a problem updating or using Vidalia.", + "description": "Vidalia is no longer maintained or supported. A large portion of the features Vidalia offered have now been integrated into Tor Browser itself." +},
[tor-commits] [translation/support-connecting] Update translations for support-connecting
commit 187e1070c2ee5634228298ab0118319685ec5ce1 Author: Translation commit botDate: Fri May 25 09:19:52 2018 + Update translations for support-connecting --- pt_PT.json | 20 1 file changed, 20 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..4d3e7f911 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,20 @@ +{ +"connecting-1": { + "id": "#connecting-1", + "control": "connecting-1", + "title": "Tor Browser won't connect, but it doesnât seem to be an issue with censorship.", + "description": "One of the most common issues that causes connection errors in Tor Browser is an incorrect system clock. Please make sure your system clock and timezone are set accurately. If this doesn't fix the problem, see the âTroubleshooting page on the https://tb-manual.torproject.org/en-US/bridges.html\;>âTor Browser manual." +}, +"connecting-2": { + "id": "#connecting-2", + "control": "connecting-2", + "title": "I am having trouble connecting to Tor, and I canât figure out whatâs wrong.", + "description": "If youâre having trouble connecting, please select the option to \"copy Tor log to clipboard.\" Then paste the Tor log into a text file or other document. You should see one of these common log errors (look for the following lines in your Tor log):Common log error #1: Proxy connection failure 2017-10-29 09:23:40.800 [NOTICE] Opening Socks listener on 127.0.0.1:9150 \n 2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 5%: Connecting to directory server \n 2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 10%: Finishing handshake with directory server \n 2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to xx..xxx..xxx.xx:x (\"general SOCKS server failure\") \n 2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect to xx..xxx..xxx.xx:x (\"general SOCKS server failure\") \n 2017-10-29 09:24:08.900 [WARN] Proxy Client: unable to connect toxx..xxx..xxx.xx:x (\"general SOCKS server fa ilure\")If you see lines like these in your Tor log, it means you are failing to connect to a SOCKS proxy. If a SOCKS proxy is required for your network setup, then please make sure youâve entered your proxy details correctly. If a SOCKS proxy is not required, or youâre not sure, please try connecting to the Tor network without a SOCKS proxy.Common log error #2: Canât reach guard relays 11/1/2017 21:11:43 PM.500 [NOTICE] Opening Socks listener on 127.0.0.1:9150 \n 11/1/2017 21:11:44 PM.300 [NOTICE] Bootstrapped 80%: Connecting to the Tor network \n 11/1/2017 21:11:44 PM.300 [WARN] Failed to find node for hop 0 of our path. Discarding this circuit. \n 11/1/2017 21:11:44 PM.500 [NOTICE] Bootstrapped 85%: Finishing handshake with first hop \n 11/1/2017 21:11:45 PM.300 [WARN] Failed to find node for hop 0 of our path. Discarding this circuit.If you see lines like these in your Tor log, it means your Tor failed to connect to the first node in the Tor circuit. This could mean that youâre on a network thatâs censored. Please try connecting with bridges, and that should fix the problem.Common log error #3: Failed to complete TLS handshake 13-11-17 19:52:24.300 [NOTICE] Bootstrapped 10%: Finishing handshake with directory server \n 13-11-17 19:53:49.300 [WARN] Problem bootstrapping. Stuck at 10%: Finishing handshake with directory server. (DONE; DONE; count 10; recommendation warn; host [host] at xxx.xxx.xxx.xx:xxx) \n 13-11-17 19:53:49.300 [WARN] 10 connections have failed: \n 13-11-17 19:53:49.300 [WARN] 9 connections died in state handshaking (TLS) with SSL state SSLv2/v3 read server hello A in HANDSHAKE \n 13-11-17 19:53:49.300 [WARN] 1 connections died in state connect()ing with SSL state (No SSL object)If you see lines like this in your Tor log, it means that Tor failed to complete a TLS handshake with the directory authorities. Using bridges will likely fix this.Common log error #4: Clock skew 19.11.2017 00:04:47.400 [NOTICE] Opening Socks listener on 127.0.0.1:9150 \n 19.11.2017 00:04:48.000 [NOTICE] Bootstrapped 5%: Connecting to directory server \n 19.11.2017 00:04:48.200 [NOTICE] Bootstrapped 10%: Finishing handshake with directory server \n 19.11.2017 00:04:48.800 [WARN] Received NETINFO cell with skewed time (OR:xxx.xx.x.xx:): It seems that our clock is behind by 1 days, 0 hours, 1 minutes, or that theirs is ahead. \n Tor requires an accurate clock to work: please check your time, timezone, and date settings.If you see lines like this in your Tor log, it means your system clock is incorrect. Please make sure your clock is set accurately, including the correct timezone. Then restart Tor. " +}, +"connecting-3": { + "id": "#connecting-3", + "control": "connecting-3", + "title": "I cannot reach X.onion!", + "description": "If you cannot reach the onion
[tor-commits] [translation/support-gettor] Update translations for support-gettor
commit 67ce8f0aa4da9a700178db4376a7b7bb3bd39740 Author: Translation commit botDate: Fri May 25 09:20:08 2018 + Update translations for support-gettor --- pt_PT.json | 26 ++ 1 file changed, 26 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..1f4c42c72 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,26 @@ +{ +"gettor-1": { + "id": "#gettor-1", + "control": "gettor-1", + "title": "How do I download Tor if the torproject.org is blocked?", + "description": "If you can't download Tor through our âhttps://www.torproject.org\;>website, you can get a copy of Tor delivered to you via GetTor. GetTor is a service that automatically responds to messages with links to the latest version of Tor Browser, hosted at a variety of locations that are less likely to be censored, such as Dropbox, Google Drive, and Github." +}, +"gettor-2": { + "id": "#gettor-2", + "control": "gettor-2", + "title": "To use GetTor via email.", + "description": "Send an email to get...@torproject.org. Write your operating system (such as windows, MacOS (OS X), or linux) in the body of the message and send. GetTor will respond with an email containing links from which you can download Tor Browser, the cryptographic signature (needed for verifying the download) [link to glossary definition of cryptographic signature; instructions for verification], the fingerprint of the key used to make the signature, and the packageâs checksum. You may be offered a choice of \"32-bit\" or \"64-bit\" software: this depends on the model of the computer you are using; consult documentation about your computer to find out more." +}, +"gettor-3": { + "id": "#gettor-3", + "control": "gettor-3", + "title": "To use GetTor via Twitter.", + "description": "To get links for downloading Tor Browser, send a direct message to âhttps://twitter.com/get_tor\;>@get_tor with one of the following codes in it (you don't need to follow the account):LinuxMacOS (OS X)Windows" +}, +"gettor-4": { + "id": "#gettor-4", + "control": "gettor-4", + "title": "To use GetTor via XMPP (Tor Messenger, Jitsi, CoyIM).", + "description": "To get links for downloading Tor Browser, send a message to gettor@toproject(dot)org with one of the following codes in it:LinuxMacOS (OS X)Windows" +} +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/support-https] Update translations for support-https
commit 47aab1a20b104c8ee231260a0bcd1849e94a0b7a Author: Translation commit botDate: Fri May 25 09:20:16 2018 + Update translations for support-https --- pt_PT.json | 8 1 file changed, 8 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..625e41dd5 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,8 @@ +{ +"https-1": { + "id": "#https-1", + "control": "https-1", + "title": "When I'm using Tor, can eavesdroppers still see the information I share with websites, like login information and things I type into forms?", + "description": "Tor protects eavesdroppers from learning sites that you visit. However, information sent unencrypted over the internet using plain HTTP can still be intercepted by exit relay operators or anyone observing the traffic between your exit relay and your destination website. If the site you are visiting uses HTTPS, then the traffic leaving your exit relay will be encrypted, and won't be visible to eavesdroppers.If you are using HTTPS, your website URL will begin with \"âhttps://\;.This visualization shows what information is visible to eavesdroppers with and without Tor Br owser and HTTPS encryption." +} +} ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-browser-manual] Update translations for tor-browser-manual
commit 67d3eb33f410bb056ef7de6ae8a22ec326fa2794 Author: Translation commit botDate: Fri May 25 09:19:36 2018 + Update translations for tor-browser-manual --- pt_PT/pt_PT.po | 1381 1 file changed, 1381 insertions(+) diff --git a/pt_PT/pt_PT.po b/pt_PT/pt_PT.po new file mode 100644 index 0..c5bcfd331 --- /dev/null +++ b/pt_PT/pt_PT.po @@ -0,0 +1,1381 @@ +# +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2016-12-06 16:36-0600\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/otf/teams/1519/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. Put one translator per line, in the form NAME , YEAR1, YEAR2 +msgctxt "_" +msgid "translator-credits" +msgstr "" + +#: about-tor-browser.page:7 +msgid "Learn what Tor Browser can do to protect your privacy and anonymity" +msgstr "" + +#: about-tor-browser.page:10 +msgid "About Tor Browser" +msgstr "" + +#: about-tor-browser.page:12 +msgid "" +"Tor Browser uses the Tor network to protect your privacy and anonymity. " +"Using the Tor network has two main properties:" +msgstr "" + +#: about-tor-browser.page:18 +msgid "" +"Your internet service provider, and anyone watching your connection locally," +" will not be able to track your internet activity, including the names and " +"addresses of the websites you visit." +msgstr "" + +#: about-tor-browser.page:25 +msgid "" +"The operators of the websites and services that you use, and anyone watching" +" them, will see a connection coming from the Tor network instead of your " +"real Internet (IP) address, and will not know who you are unless you " +"explicitly identify yourself." +msgstr "" + +#: about-tor-browser.page:34 +msgid "" +"In addition, Tor Browser is designed to prevent websites from " +"âfingerprintingâ or identifying you based on your browser configuration." +msgstr "" + +#: about-tor-browser.page:39 +msgid "" +"By default, Tor Browser does not keep any browsing history. Cookies are only" +" valid for a single session (until Tor Browser is exited or a New Identity is requested)." +msgstr "" + +#: about-tor-browser.page:50 +msgid "How Tor works" +msgstr "" + +#: about-tor-browser.page:52 +msgid "" +"Tor is a network of virtual tunnels that allows you to improve your privacy " +"and security on the Internet. Tor works by sending your traffic through " +"three random servers (also known as relays) in the Tor network. The" +" last relay in the circuit (the âexit relayâ) then sends the traffic out " +"onto the public Internet." +msgstr "" + +#. This is a reference to an external file such as an image or video. When +#. the file changes, the md5 hash will change to let you know you need to +#. update your localized copy. The msgstr is not used at all. Set it to +#. whatever you like once you have updated your copy of the file. +#: about-tor-browser.page:59 +msgctxt "_" +msgid "" +"external ref='media/how-tor-works.png' " +"md5='6fe4151a88b7a518466f0582e40ccc8c'" +msgstr "" + +#: about-tor-browser.page:60 +msgid "" +"The image above illustrates a user browsing to different websites over Tor. " +"The green middle computers represent relays in the Tor network, while the " +"three keys represent the layers of encryption between the user and each " +"relay." +msgstr "" + +#: bridges.page:6 +msgid "Learn what bridges are and how to get them" +msgstr "" + +#: bridges.page:10 +msgid "Bridges" +msgstr "" + +#: bridges.page:12 +msgid "" +"Most Pluggable Transports, such as obfs3 " +"and obfs4, rely on the use of âbridgeâ relays. Like ordinary Tor relays, " +"bridges are run by volunteers; unlike ordinary relays, however, they are not" +" listed publicly, so an adversary cannot identify them easily. Using bridges" +" in combination with pluggable transports helps to disguise the fact that " +"you are using Tor." +msgstr "" + +#: bridges.page:21 +msgid "" +"Other pluggable transports, like meek, use different anti-censorship " +"techniques that do not rely on bridges. You do not need to obtain bridge " +"addresses in order to use these transports." +msgstr "" + +#: bridges.page:28 +msgid "Getting bridge addresses" +msgstr "" + +#: bridges.page:29 +msgid "" +"Because bridge addresses are not public, you will need to request them " +"yourself. You have two options:" +msgstr "" + +#: bridges.page:36 +msgid "" +"Visit https://bridges.torproject.org/\;>https://bridges.torproject.org/" +" and follow the instructions, or" +msgstr "" + +#: bridges.page:42 +msgid "" +"Email brid...@torproject.org from a Gmail, Yahoo, or Riseup email address, " +"or" +msgstr "" + +#: bridges.page:51 +msgid "Entering bridge addresses" +msgstr "" + +#: bridges.page:52 +msgid "" +"Once you have obtained some
[tor-commits] [translation/support-censorship] Update translations for support-censorship
commit c0dc76051f1b2e3ba6a446d09b6ad57b298ec0c2 Author: Translation commit botDate: Fri May 25 09:19:44 2018 + Update translations for support-censorship --- pt_PT.json | 40 1 file changed, 40 insertions(+) diff --git a/pt_PT.json b/pt_PT.json new file mode 100644 index 0..9abeb2f10 --- /dev/null +++ b/pt_PT.json @@ -0,0 +1,40 @@ +{ +"censorship-1": { + "id": "#censorship-1", + "control": "censorship-1", + "title": "Our website is blocked by a censor. Can Tor Browser help users access our website?", + "description": "Tor Browser can certainly help people access your website in places where it is blocked. Most of the time, simply downloading the âhttps://www.torproject.org/download/download-easy.html.en\;>Tor Browser and then using it to navigate to the blocked site will allow access. In places where there is heavy censorship we have a number of censorship circumvention options available, including âhttps://www.torproject.org/docs/pluggable-transports.html.en\;>pluggable transports. For more information, please see the https://tb-manual.torproject.org/en-US/\;>âTor Browser User Manual section on https://tb-manual.torproject.org/en-US/circumvention.html\;>censorship." +}, +"censorship-2": { + "id": "#censorship-2", + "control": "censorship-2", + "title": "My favorite website is blocking access over Tor.", + "description": "Sorry to hear that you can't visit the website you wanted! Sometimes websites will block Tor users because they can't tell the difference between the average Tor user and automated traffic. The best success we've had in getting sites to unblock Tor users is getting users to contact the site administrators directly. Something like this might do the trick:\"Hi! I tried to access your site xyz.com while using Tor Browser and discovered that you don't allow Tor users to access your site. I urge you to reconsider this decision; Tor is used by people all over the world to protect their privacy and fight censorship. By blocking Tor users, you are likely blocking people in repressive countries who want to use a free internet, journalists and researchers who want to protect themselves from discovery, whistleblowers, activists, and ordinary people who want to opt out of invasive third party tracking. Please take a strong stance in favor of digital priv acy and internet freedom, and allow Tor users access to xyz.com. Thank you.\"In the case of banks, and other sensitive websites, it is also common to see geography-based blocking (if a bank knows you generally access their services from one country, and suddenly you are connecting from an exit relay on the other side of the world, your account may be locked or suspended). If you are unable to connect to an onion service, please see I cannot reach X.onion!" +}, +"censorship-3": { + "id": "#censorship-3", + "control": "censorship-3", + "title": "How do I download Tor if the torproject.org is blocked?", + "description": "If you can't download Tor through our âhttps://www.torproject.org\;>website, you can get a copy of Tor delivered to you via GetTor. GetTor is a service that automatically responds to messages with links to the latest version of Tor Browser, hosted at a variety of locations that are less likely to be censored, such as Dropbox, Google Drive, and Github." +}, +"censorship-4": { + "id": "#censorship-4", + "control": "censorship-4", + "title": "I canât connect to Tor Browser, is my network censored?", + "description": "You might be on a censored network, and so you should try using bridges. Some bridges are built in to Tor Browser, and you can use those bridges by choosing \"configure\" (then following the prompts) in the Tor Launcher window that pops up when you open Tor Browser for the first time. If you need other bridges, you can get them at our âhttps://bridges.torproject.org/\;>Bridges website. For more information about bridges, see the https://tb-manual.torproject.org/en-US/bridges.html\;>âTor Browser manual." +}, +"censorship-5": { + "id": "#censorship-5", + "control": "censorship-5", + "title": "I am having trouble connecting to Tor, and I canât figure out whatâs wrong.", + "description": "If youâre having trouble connecting, please select the option to \"copy Tor log to clipboard.\" Then paste the Tor log into a text file or other document. You should see one of these common log errors (look for the following lines in your Tor log):Common log error #1: Proxy connection failure 2017-10-29 09:23:40.800 [NOTICE] Opening Socks listener on 127.0.0.1:9150 \n 2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 5%: Connecting to directory server \n 2017-10-29 09:23:47.900 [NOTICE] Bootstrapped 10%: Finishing handshake with directory
[tor-commits] [translation/exoneratorproperties] Update translations for exoneratorproperties
commit 24e90d93d9a47d2dffbddb9e4cbb2d147ea40278 Author: Translation commit botDate: Fri May 25 09:19:26 2018 + Update translations for exoneratorproperties --- pt_PT/exonerator.properties | 54 + 1 file changed, 54 insertions(+) diff --git a/pt_PT/exonerator.properties b/pt_PT/exonerator.properties new file mode 100644 index 0..936754ae5 --- /dev/null +++ b/pt_PT/exonerator.properties @@ -0,0 +1,54 @@ +form.explanation=Enter an IP address and date to find out whether that address was used as a Tor relay: +form.ip.label=IP address +form.timestamp.label=Date +form.search.label=Search +summary.heading=Summary +summary.serverproblem.dbnoconnect.title=Server problem +summary.serverproblem.dbnoconnect.body.text=Unable to connect to the database. Please try again later. If this problem persists, please %s! +summary.serverproblem.dbnoconnect.body.link=let us know +summary.serverproblem.dbempty.title=Server problem +summary.serverproblem.dbempty.body.text=The database appears to be empty. Please try again later. If this problem persists, please %s! +summary.serverproblem.dbempty.body.link=let us know +summary.invalidparams.notimestamp.title=No date parameter given +summary.invalidparams.notimestamp.body=Sorry, you also need to provide a date parameter. +summary.invalidparams.noip.title=No IP address parameter given +summary.invalidparams.noip.body=Sorry, you also need to provide an IP address parameter. +summary.invalidparams.timestamprange.title=Date parameter out of range +summary.invalidparams.timestamprange.body=Sorry, the database does not contain any data from %s. Please pick a date between %s and %s. +summary.invalidparams.invalidip.title=Invalid IP address parameter +summary.invalidparams.invalidip.body=Sorry, %s is not a valid IP address. The expected IP address formats are %s or %s. +summary.invalidparams.invalidtimestamp.title=Invalid date parameter +summary.invalidparams.invalidtimestamp.body=Sorry, %s is not a valid date. The expected date format is %s. +summary.invalidparams.timestamptoorecent.title=Date parameter too recent +summary.invalidparams.timestamptoorecent.body=The database may not yet contain enough data to correctly answer this request. The latest accepted data is the day before yesterday. Please repeat your search on another day. +summary.serverproblem.nodata.title=Server problem +summary.serverproblem.nodata.body.text=The database does not contain any data for the requested date. Please try again later. If this problem persists, please %s! +summary.serverproblem.nodata.body.link=let us know +summary.negativesamenetwork.title=Result is negative +summary.negativesamenetwork.body=We did not find IP address %s on or within a day of %s. But we did find other IP addresses of Tor relays in the same /%d network around the time: +summary.positive.title=Result is positive +summary.positive.body=We found one or more Tor relays on IP address %s on or within a day of %s that Tor clients were likely to know. +summary.negative.title=Result is negative +summary.negative.body=We did not find IP address %s on or within a day of %s. +technicaldetails.heading=Technical details +technicaldetails.pre=Looking up IP address %s on or within one day of %s. Tor clients could have selected this or these Tor relays to build circuits. +technicaldetails.colheader.timestamp=Timestamp (UTC) +technicaldetails.colheader.ip=IP address(es) +technicaldetails.colheader.fingerprint=Identity fingerprint +technicaldetails.colheader.nickname=Nickname +technicaldetails.colheader.exit=Exit relay +technicaldetails.nickname.unknown=Unknown +technicaldetails.exit.unknown=Unknown +technicaldetails.exit.yes=Yes +technicaldetails.exit.no=No +permanentlink.heading=Permanent link +footer.abouttor.heading=About Tor +footer.abouttor.body.text=Tor is an international software project to anonymize Internet traffic by %s. Therefore, if you see traffic from a Tor relay, this traffic usually originates from someone using Tor, rather than from the relay operator. The Tor Project and Tor relay operators have no records of the traffic that passes over the network and therefore cannot provide any information about its origin. Be sure to %s, and don't hesitate to %s for more information. +footer.abouttor.body.link1=encrypting packets and sending them through a series of hops before they reach their destination +footer.abouttor.body.link2=learn more about Tor +footer.abouttor.body.link3=contact The Tor Project, Inc. +footer.aboutexonerator.heading=About ExoneraTor +footer.aboutexonerator.body=The ExoneraTor service maintains a database of IP addresses that have been part of the Tor network. It answers the question whether there was a Tor relay running on a given IP address on a given date. ExoneraTor may store more than one IP address per relay if relays use a different IP address for exiting to the Internet than for registering in
[tor-commits] [translation/torbutton-abouttbupdatedtd] Update translations for torbutton-abouttbupdatedtd
commit a82809688bcbac061d258df21ff7841adcafa39a Author: Translation commit botDate: Fri May 25 09:19:00 2018 + Update translations for torbutton-abouttbupdatedtd --- pt_PT/abouttbupdate.dtd | 6 ++ 1 file changed, 6 insertions(+) diff --git a/pt_PT/abouttbupdate.dtd b/pt_PT/abouttbupdate.dtd new file mode 100644 index 0..37567bd7e --- /dev/null +++ b/pt_PT/abouttbupdate.dtd @@ -0,0 +1,6 @@ + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-onioncircuits] Update translations for tails-onioncircuits
commit 31da7ab407a9b8a2d1a41871e9bac7f59b4f6821 Author: Translation commit botDate: Fri May 25 09:19:09 2018 + Update translations for tails-onioncircuits --- pt_PT/onioncircuits.pot | 85 + 1 file changed, 85 insertions(+) diff --git a/pt_PT/onioncircuits.pot b/pt_PT/onioncircuits.pot new file mode 100644 index 0..1fb9f7917 --- /dev/null +++ b/pt_PT/onioncircuits.pot @@ -0,0 +1,85 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-08-03 13:00+\n" +"PO-Revision-Date: 2016-03-30 03:31+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../onioncircuits:81 +msgid "You are not connected to Tor yet..." +msgstr "" + +#: ../onioncircuits:95 +msgid "Onion Circuits" +msgstr "" + +#: ../onioncircuits:125 +msgid "Circuit" +msgstr "" + +#: ../onioncircuits:126 +msgid "Status" +msgstr "" + +#: ../onioncircuits:142 +msgid "Click on a circuit for more detail about its Tor relays." +msgstr "" + +#: ../onioncircuits:221 +msgid "The connection to Tor was lost..." +msgstr "" + +#: ../onioncircuits:317 +msgid "..." +msgstr "" + +#: ../onioncircuits:343 +#, c-format +msgid "%s: %s" +msgstr "" + +#: ../onioncircuits:554 +msgid "GeoIP database unavailable. No country information will be displayed." +msgstr "" + +#: ../onioncircuits:585 +#, c-format +msgid "%s (%s)" +msgstr "" + +#: ../onioncircuits:590 +#, c-format +msgid "%.2f Mb/s" +msgstr "" + +#: ../onioncircuits:592 ../onioncircuits:593 ../onioncircuits:594 +msgid "Unknown" +msgstr "" + +#: ../onioncircuits:607 +msgid "Fingerprint:" +msgstr "" + +#: ../onioncircuits:608 +msgid "Published:" +msgstr "" + +#: ../onioncircuits:609 +msgid "IP:" +msgstr "" + +#: ../onioncircuits:610 +msgid "Bandwidth:" +msgstr "" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-aboutdialogdtd] Update translations for torbutton-aboutdialogdtd
commit 29e0249d98852bee05e227671fb66ab746ff4b5e Author: Translation commit botDate: Fri May 25 09:18:34 2018 + Update translations for torbutton-aboutdialogdtd --- pt_PT/aboutdialog.dtd | 19 +++ 1 file changed, 19 insertions(+) diff --git a/pt_PT/aboutdialog.dtd b/pt_PT/aboutdialog.dtd new file mode 100644 index 0..5099ad74b --- /dev/null +++ b/pt_PT/aboutdialog.dtd @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + ___ 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] Update translations for tails-greeter-2
commit cb93666f3820d2aba12ac2a8500de74d487f5d7c Author: Translation commit botDate: Fri May 25 09:19:18 2018 + Update translations for tails-greeter-2 --- pt_PT/pt_PT.po | 306 + 1 file changed, 306 insertions(+) diff --git a/pt_PT/pt_PT.po b/pt_PT/pt_PT.po new file mode 100644 index 0..245b22b1c --- /dev/null +++ b/pt_PT/pt_PT.po @@ -0,0 +1,306 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-07 19:17+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Language-Team: Portuguese (Portugal) (https://www.transifex.com/otf/teams/1519/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/greeter.ui.h:1 +msgid "Administration Password" +msgstr "" + +#: ../data/greeter.ui.h:2 +msgid "" +"Set up an administration password if you need to perform administrative " +"tasks. Otherwise, the administration password is disabled for better " +"security." +msgstr "" + +#: ../data/greeter.ui.h:3 +msgid "Enter an administration password" +msgstr "" + +#: ../data/greeter.ui.h:4 +msgid "Confirm" +msgstr "" + +#: ../data/greeter.ui.h:5 +msgid "Confirm your administration password" +msgstr "" + +#: ../data/greeter.ui.h:6 +msgid "Disable" +msgstr "" + +#. This string will never be displayed in the 1st version of the greeter. +#: ../data/greeter.ui.h:8 +msgid "Windows Camouflage" +msgstr "" + +#. This string will never be displayed in the 1st version of the greeter. +#: ../data/greeter.ui.h:10 +msgid "" +"This option makes Tails look like Microsoft Windows 10. This can be useful " +"to avoid attracting suspicion in public places." +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 "" + +#: ../data/greeter.ui.h:13 +msgid "MAC Address Spoofing" +msgstr "" + +#: ../data/greeter.ui.h:14 +msgid "" +"MAC address spoofing hides the serial number of your network interface (Wi-" +"Fi or wired) to the local network. Spoofing MAC addresses is generally safer" +" as it helps you hide your geographical location. But it might also create " +"connectivity problems or look suspicious." +msgstr "" + +#: ../data/greeter.ui.h:15 +msgid "Spoof all MAC addresses (default)" +msgstr "" + +#: ../data/greeter.ui.h:16 +msgid "Don't spoof MAC addresses" +msgstr "" + +#: ../data/greeter.ui.h:17 ../tailsgreeter/gui.py:532 +msgid "Cannot unlock encrypted storage with this passphrase." +msgstr "" + +#: ../data/greeter.ui.h:18 +msgid "" +"You will configure the Tor bridge and local proxy later on after connecting " +"to a network." +msgstr "" + +#: ../data/greeter.ui.h:19 +msgid "Welcome to Tails!" +msgstr "" + +#. This string will never be displayed in the 1st version of the greeter. +#: ../data/greeter.ui.h:21 +msgctxt "" +msgid "" +"To get guided through Tails' settings, click on Take a Tour above" +msgstr "" + +#: ../data/greeter.ui.h:22 +msgid "Language & Region" +msgstr "" + +#: ../data/greeter.ui.h:23 +msgid "Default Settings" +msgstr "" + +#: ../data/greeter.ui.h:24 +msgid "Save Language & Region Settings" +msgstr "" + +#: ../data/greeter.ui.h:25 +msgid "_Language" +msgstr "" + +#: ../data/greeter.ui.h:26 +msgid "_Keyboard Layout" +msgstr "" + +#: ../data/greeter.ui.h:27 +msgid "_Formats" +msgstr "" + +#: ../data/greeter.ui.h:28 +msgid "_Time Zone" +msgstr "" + +#: ../data/greeter.ui.h:29 +msgid "Encrypted _Persistent Storage" +msgstr "" + +#: ../data/greeter.ui.h:30 +msgid "Show Passphrase" +msgstr "" + +#: ../data/greeter.ui.h:31 +msgid "Configure Persistent Storage" +msgstr "" + +#: ../data/greeter.ui.h:32 +msgid "Enter your passphrase to unlock the persistent storage" +msgstr "" + +#: ../data/greeter.ui.h:33 ../tailsgreeter/gui.py:478 +#: ../tailsgreeter/gui.py:528 +msgid "Unlock" +msgstr "" + +#: ../data/greeter.ui.h:34 +msgid "Relock Persistent Storage" +msgstr "" + +#: ../data/greeter.ui.h:35 +msgid "Your persistent storage is unlocked. Restart Tails to lock it again." +msgstr "" + +#: ../data/greeter.ui.h:36 +msgid "_Additional Settings" +msgstr "" + +#: ../data/greeter.ui.h:37 +msgid "Save Additional Settings" +msgstr "" + +#: ../data/greeter.ui.h:38 +msgid "Add an additional setting" +msgstr "" + +#: ../data/greeter.ui.h:39 +msgid "Network Configuration" +msgstr "" + +#: ../data/greeter.ui.h:40 +msgid "" +"If your Internet connection is censored, filtered, or proxied you can " +"configure a Tor bridge or a local proxy. To work completely offline, you can" +" disable all networking." +msgstr "" + +#:
[tor-commits] [translation/tails-openpgp-applet] Update translations for tails-openpgp-applet
commit 1601cb2d55049de7be0db98bba96b9c69e34acde Author: Translation commit botDate: Fri May 25 09:18:52 2018 + Update translations for tails-openpgp-applet --- pt_PT/openpgp-applet.pot | 177 +++ 1 file changed, 177 insertions(+) diff --git a/pt_PT/openpgp-applet.pot b/pt_PT/openpgp-applet.pot new file mode 100644 index 0..4c3034e5a --- /dev/null +++ b/pt_PT/openpgp-applet.pot @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Tails developers +# This file is distributed under the same license as the OpenPGP_Applet package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: ta...@boum.org\n" +"POT-Creation-Date: 2017-08-05 15:07-0400\n" +"PO-Revision-Date: 2015-11-23 02:23+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: bin/openpgp-applet:160 +msgid "You are about to exit OpenPGP Applet. Are you sure?" +msgstr "" + +#: bin/openpgp-applet:172 +msgid "OpenPGP encryption applet" +msgstr "" + +#: bin/openpgp-applet:175 +msgid "Exit" +msgstr "" + +#: bin/openpgp-applet:177 +msgid "About" +msgstr "" + +#: bin/openpgp-applet:232 +msgid "Encrypt Clipboard with _Passphrase" +msgstr "" + +#: bin/openpgp-applet:235 +msgid "Sign/Encrypt Clipboard with Public _Keys" +msgstr "" + +#: bin/openpgp-applet:240 +msgid "_Decrypt/Verify Clipboard" +msgstr "" + +#: bin/openpgp-applet:244 +msgid "_Manage Keys" +msgstr "" + +#: bin/openpgp-applet:248 +msgid "_Open Text Editor" +msgstr "" + +#: bin/openpgp-applet:292 +msgid "The clipboard does not contain valid input data." +msgstr "" + +#: bin/openpgp-applet:337 bin/openpgp-applet:339 bin/openpgp-applet:341 +msgid "Unknown Trust" +msgstr "" + +#: bin/openpgp-applet:343 +msgid "Marginal Trust" +msgstr "" + +#: bin/openpgp-applet:345 +msgid "Full Trust" +msgstr "" + +#: bin/openpgp-applet:347 +msgid "Ultimate Trust" +msgstr "" + +#: bin/openpgp-applet:400 +msgid "Name" +msgstr "" + +#: bin/openpgp-applet:401 +msgid "Key ID" +msgstr "" + +#: bin/openpgp-applet:402 +msgid "Status" +msgstr "" + +#: bin/openpgp-applet:433 +msgid "Fingerprint:" +msgstr "" + +#: bin/openpgp-applet:436 +msgid "User ID:" +msgid_plural "User IDs:" +msgstr[0] "" +msgstr[1] "" + +#: bin/openpgp-applet:465 +msgid "None (Don't sign)" +msgstr "" + +#: bin/openpgp-applet:528 +msgid "Select recipients:" +msgstr "" + +#: bin/openpgp-applet:536 +msgid "Hide recipients" +msgstr "" + +#: bin/openpgp-applet:539 +msgid "" +"Hide the user IDs of all recipients of an encrypted message. Otherwise " +"anyone that sees the encrypted message can see who the recipients are." +msgstr "" + +#: bin/openpgp-applet:545 +msgid "Sign message as:" +msgstr "" + +#: bin/openpgp-applet:549 +msgid "Choose keys" +msgstr "" + +#: bin/openpgp-applet:589 +msgid "Do you trust these keys?" +msgstr "" + +#: bin/openpgp-applet:592 +msgid "The following selected key is not fully trusted:" +msgid_plural "The following selected keys are not fully trusted:" +msgstr[0] "" +msgstr[1] "" + +#: bin/openpgp-applet:610 +msgid "Do you trust this key enough to use it anyway?" +msgid_plural "Do you trust these keys enough to use them anyway?" +msgstr[0] "" +msgstr[1] "" + +#: bin/openpgp-applet:623 +msgid "No keys selected" +msgstr "" + +#: bin/openpgp-applet:625 +msgid "" +"You must select a private key to sign the message, or some public keys to " +"encrypt the message, or both." +msgstr "" + +#: bin/openpgp-applet:653 +msgid "No keys available" +msgstr "" + +#: bin/openpgp-applet:655 +msgid "" +"You need a private key to sign messages or a public key to encrypt messages." +msgstr "" + +#: bin/openpgp-applet:783 +msgid "GnuPG error" +msgstr "" + +#: bin/openpgp-applet:804 +msgid "Therefore the operation cannot be performed." +msgstr "" + +#: bin/openpgp-applet:854 +msgid "GnuPG results" +msgstr "" + +#: bin/openpgp-applet:860 +msgid "Output of GnuPG:" +msgstr "" + +#: bin/openpgp-applet:885 +msgid "Other messages provided by GnuPG:" +msgstr "" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-abouttorproperties] Update translations for torbutton-abouttorproperties
commit 288ddcf29aa4f93ccfd94f4bb444bb8a5c91aa20 Author: Translation commit botDate: Fri May 25 09:18:42 2018 + Update translations for torbutton-abouttorproperties --- pt_PT/abouttor.properties | 20 1 file changed, 20 insertions(+) diff --git a/pt_PT/abouttor.properties b/pt_PT/abouttor.properties new file mode 100644 index 0..d0d3a64b8 --- /dev/null +++ b/pt_PT/abouttor.properties @@ -0,0 +1,20 @@ +# Copyright (c) 2014, The Tor Project, Inc. +# See LICENSE for licensing information. +# vim: set sw=2 sts=2 ts=8 et: + +aboutTor.searchDDG.privacy=Search securely with DuckDuckGo. +# The following string is a link which replaces %1$S above. +aboutTor.searchDDG.privacy.link=https://duckduckgo.com/privacy.html +# The following string is a link which replaces %2$S above. +aboutTor.searchDDG.search.link=https://duckduckgo.com/ + +aboutTor.donationBanner.donate=Donate Now! + +aboutTor.donationBanner.slogan=Tor: Powering Digital Resistance +aboutTor.donationBanner.mozilla=Give today and Mozilla will match your gift! + +aboutTor.donationBanner.tagline1=Protecting Journalists, Whistleblowers, & Activists Since 2006 +aboutTor.donationBanner.tagline2=Networking Freedom Worldwide +aboutTor.donationBanner.tagline3=Freedom Online +aboutTor.donationBanner.tagline4=Fostering Free Expression Worldwide +aboutTor.donationBanner.tagline5=Protecting the Privacy of Millions Every Day ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor_animation] Update translations for tor_animation
commit 7d8ea6f8eb5efb4afb392fde81a626a8fd7df853 Author: Translation commit botDate: Fri May 25 09:18:26 2018 + Update translations for tor_animation --- pt_PT.srt | 165 ++ 1 file changed, 165 insertions(+) diff --git a/pt_PT.srt b/pt_PT.srt new file mode 100644 index 0..0e6056a97 --- /dev/null +++ b/pt_PT.srt @@ -0,0 +1,165 @@ +1 +00:00:00,660 --> 00:00:02,780 +We've gotten very used to the Internet. + +2 +00:00:03,120 --> 00:00:07,700 +We are constantly sharing information +about ourselves and our private lives: + +3 +00:00:08,000 --> 00:00:09,960 +food we eat, people we meet, + +4 +00:00:10,180 --> 00:00:12,480 +places we go, and the stuff we read. + +5 +00:00:13,280 --> 00:00:14,640 +Let me explain it better. + +6 +00:00:14,920 --> 00:00:17,740 +Right at this moment, +if someone attempts to look you up, + +7 +00:00:18,060 --> 00:00:22,480 +they'll see your real identity, +precise location, operating system, + +8 +00:00:22,800 --> 00:00:26,500 +all the sites you've visited, +the browser you use to surf the web, + +9 +00:00:26,700 --> 00:00:29,140 +and so much more information +about you and your life + +10 +00:00:29,200 --> 00:00:31,500 +which you probably didn't mean +to share with unknown strangers, + +11 +00:00:31,700 --> 00:00:34,000 +who could easily use this data +to exploit you. + +12 +00:00:34,500 --> 00:00:37,000 +But not if you're using Tor! + +13 +00:00:37,140 --> 00:00:40,840 +Tor Browser protects our privacy +and identity on the Internet. + +14 +00:00:41,560 --> 00:00:44,760 +Tor secures your connection +with three layers of encryption + +15 +00:00:44,940 --> 00:00:49,760 +and passes it through three voluntarily +operated servers around the world, + +16 +00:00:50,280 --> 00:00:53,520 +which enables us to communicate +anonymously over the Internet. + +17 +00:00:56,560 --> 00:00:58,280 +Tor also protects our data + +18 +00:00:58,400 --> 00:01:01,900 +against corporate or government targeted +and mass surveillance. + +19 +00:01:02,880 --> 00:01:07,340 +Perhaps you live in a repressive country +which tries to control and surveil the Internet. + +20 +00:01:07,900 --> 00:01:11,800 +Or perhaps you don't want big corporations +taking advantage of your personal information. + +21 +00:01:12,880 --> 00:01:15,640 +Tor makes all of its users +to look the same + +22 +00:01:15,920 --> 00:01:18,800 +which confuses the observer +and makes you anonymous. + +23 +00:01:19,500 --> 00:01:22,980 +So, the more people use the Tor network, +the stronger it gets + +24 +00:01:23,140 --> 00:01:27,800 +as it's easier to hide in a crowd +of people who look exactly the same. + +25 +00:01:28,700 --> 00:01:31,240 +You can bypass the censorship +without being worried about + +26 +00:01:31,400 --> 00:01:34,100 +the censor knowing what you do +on the Internet. + +27 +00:01:36,540 --> 00:01:39,440 +The ads won't follow you +everywhere for months, + +28 +00:01:39,640 --> 00:01:41,300 +starting when you first +clicked on a product. + +29 +00:01:43,880 --> 00:01:47,380 +By using Tor, the sites you visit +won't even know who you are, + +30 +00:01:47,540 --> 00:01:49,760 +from what part of the world +you're visiting them, + +31 +00:01:49,920 --> 00:01:51,920 +unless you login and tell them so. + +32 +00:01:54,200 --> 00:01:55,840 +By downloading and using Tor, + +33 +00:01:56,200 --> 00:01:58,560 +you can protect the people +who need anonymity, + +34 +00:01:58,880 --> 00:02:01,640 +like activists, journalists and bloggers. + +35 +00:02:02,000 --> 00:02:07,000 +Download and use Tor! Or run a relay! + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-torbuttondtd] Update translations for torbutton-torbuttondtd
commit 580d4df4f825e4e23604a0acb244b9ff620c6fb3 Author: Translation commit botDate: Fri May 25 09:17:51 2018 + Update translations for torbutton-torbuttondtd --- it/torbutton.dtd| 4 ++-- pt_PT/torbutton.dtd | 51 +++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/it/torbutton.dtd b/it/torbutton.dtd index bf6754059..b1cc844c3 100644 --- a/it/torbutton.dtd +++ b/it/torbutton.dtd @@ -47,5 +47,5 @@ - - + + diff --git a/pt_PT/torbutton.dtd b/pt_PT/torbutton.dtd new file mode 100644 index 0..a0ef5f98a --- /dev/null +++ b/pt_PT/torbutton.dtd @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tails-iuk] Update translations for tails-iuk
commit 8eae86c46c7963868d4cd83cf23d707a526fbac6 Author: Translation commit botDate: Fri May 25 09:18:01 2018 + Update translations for tails-iuk --- pt_PT.po | 247 +++ 1 file changed, 247 insertions(+) diff --git a/pt_PT.po b/pt_PT.po new file mode 100644 index 0..0152b81c2 --- /dev/null +++ b/pt_PT.po @@ -0,0 +1,247 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Tails developers +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: Tails developers \n" +"POT-Creation-Date: 2018-05-07 19:26+0200\n" +"PO-Revision-Date: 2013-12-18 20:45+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../lib/Tails/IUK/Frontend.pm:148 ../lib/Tails/IUK/Frontend.pm:524 +#: ../lib/Tails/IUK/Frontend.pm:697 +msgid "" +"For debugging information, execute the following command: sudo tails-" +"debugging-info" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:217 +msgid "Error while checking for upgrades" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:220 +msgid "" +"Could not determine whether an upgrade is available from our website.\n" +"\n" +"Check your network connection, and restart Tails to try upgrading again.\n" +"\n" +"If the problem persists, go to file:///usr/share/doc/tails/website/doc/upgrade/error/check.en.html" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:235 +msgid "no automatic upgrade is available from our website for this version" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:241 +msgid "your device was not created using Tails Installer" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:246 +msgid "Tails was started from a DVD or a read-only device" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:251 +msgid "there is not enough free space on the Tails system partition" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:256 +msgid "not enough memory is available on this system" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:262 +#, perl-brace-format +msgid "No explanation available for reason '%{reason}s'." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:282 +msgid "The system is up-to-date" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:287 +msgid "This version of Tails is outdated, and may have security issues." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:319 +#, perl-brace-format +msgid "" +"The available incremental upgrade requires %{space_needed}s of free space on" +" Tails system partition, but only %{free_space}s is available." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:335 +#, perl-brace-format +msgid "" +"The available incremental upgrade requires %{memory_needed}s of free memory," +" but only %{free_memory}s is available." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:357 +msgid "" +"An incremental upgrade is available, but no full upgrade is.\n" +"This should not happen. Please report a bug." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:361 +msgid "Error while detecting available upgrades" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:371 +#, perl-brace-format +msgid "" +"You should upgrade to %{name}s %{version}s.\n" +"\n" +"For more information about this new version, go to %{details_url}s\n" +"\n" +"It is recommended to close all the open applications during the upgrade.\n" +"Downloading the upgrade might take a long time, from several minutes to a few hours.\n" +"The networking will be disabled after downloading the upgrade.\n" +"\n" +"Download size: %{size}s\n" +"\n" +"Do you want to upgrade now?" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:386 +msgid "Upgrade available" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:387 +msgid "Upgrade now" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:388 +msgid "Upgrade later" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:396 +#, perl-brace-format +msgid "" +"You should do a manual upgrade to %{name}s %{version}s.\n" +"\n" +"For more information about this new version, go to %{details_url}s\n" +"\n" +"It is not possible to automatically upgrade your device to this new version: %{explanation}s.\n" +"\n" +"To learn how to do a manual upgrade, go to https://tails.boum.org/doc/first_steps/upgrade/#manual; +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:412 +msgid "New version available" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:469 +msgid "Downloading upgrade" +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:472 +#, perl-brace-format +msgid "Downloading the upgrade to %{name}s %{version}s..." +msgstr "" + +#: ../lib/Tails/IUK/Frontend.pm:513 +msgid "" +"The upgrade could not be downloaded.\\n\\nCheck your network " +"connection, and
[tor-commits] [translation/torbutton-torbuttondtd_completed] Update translations for torbutton-torbuttondtd_completed
commit 73402ef76796f0a22489bf3c12dd24cfda09f29d Author: Translation commit botDate: Fri May 25 09:17:55 2018 + Update translations for torbutton-torbuttondtd_completed --- it/torbutton.dtd | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/it/torbutton.dtd b/it/torbutton.dtd index 746ead5b3..b1cc844c3 100644 --- a/it/torbutton.dtd +++ b/it/torbutton.dtd @@ -47,4 +47,5 @@ - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-and-https] Update translations for tor-and-https
commit 647b56247104d84da6906d02bc3c59290beb0522 Author: Translation commit botDate: Fri May 25 09:18:17 2018 + Update translations for tor-and-https --- pt_PT.po | 135 +++ 1 file changed, 135 insertions(+) diff --git a/pt_PT.po b/pt_PT.po new file mode 100644 index 0..079eacf80 --- /dev/null +++ b/pt_PT.po @@ -0,0 +1,135 @@ +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"POT-Creation-Date: 2014-07-17 14:23+\n" +"PO-Revision-Date: 2014-05-21 08:40+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. (itstool) path: C/tor-and-https.svg/svg@direction +#. (itstool) comment: C/tor-and-https.svg/svg@direction +#. Specify "ltr" for left-to-right languages or "rtl" for right-to-left +#. languages (e.g. Arabic or Hebrew). +#: C/tor-and-https.svg:3 +msgid "ltr" +msgstr "" + +#. (itstool) path: svg/title +#: C/tor-and-https.svg:14 +#, no-wrap +msgid "Tor and HTTPS" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 7em max. Seven times the capital letter "M". +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Site.com" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 7em max. Seven times the capital letter "M". +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "user / pw" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 7em max. Seven times the capital letter "M". +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "data" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 7em max. Seven times the capital letter "M". +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "location" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 3em max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "WiFi" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 4em max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "ISP" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 8em is ok, 9em is max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Hacker" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 8em is ok, 9em is max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Lawyer" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 8em is ok, 9em is max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Sysadmin" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 8em is ok, 9em is max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Police" +msgstr "" + +#. (itstool) path: defs/text +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "NSA" +msgstr "" + +#. (itstool) path: defs/text +#. Keep it short: 8em is ok, 9em is max. +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Tor relay" +msgstr "" + +#. (itstool) path: defs/text +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Key" +msgstr "" + +#. (itstool) path: defs/text +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Internet connection" +msgstr "" + +#. (itstool) path: defs/text +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Eavesdropping" +msgstr "" + +#. (itstool) path: defs/text +#: C/tor-and-https.svg:363 +#, no-wrap +msgid "Data sharing" +msgstr "" ___ 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
commit dfe0951a49fa3337fb5d0efa3829c59cf26fd373 Author: Translation commit botDate: Fri May 25 09:18:09 2018 + Update translations for tails-perl5lib --- pt_PT.po | 34 ++ 1 file changed, 34 insertions(+) diff --git a/pt_PT.po b/pt_PT.po new file mode 100644 index 0..3b101f10b --- /dev/null +++ b/pt_PT.po @@ -0,0 +1,34 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Tails developers +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: Tails developers \n" +"POT-Creation-Date: 2018-03-15 12:15+\n" +"PO-Revision-Date: 2013-12-30 04:38+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../lib/Tails/RunningSystem.pm:159 +msgid "Error" +msgstr "" + +#: ../lib/Tails/RunningSystem.pm:161 +msgid "" +"The device Tails is running from cannot be found. Maybe you used the 'toram'" +" option?" +msgstr "" + +#: ../lib/Tails/RunningSystem.pm:192 +msgid "" +"The drive Tails is running from cannot be found. Maybe you used the 'toram' " +"option?" +msgstr "" ___ 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
commit 9dd46f9bda95ae2db23fb6ae3e8e408a36febcee Author: Translation commit botDate: Fri May 25 09:17:41 2018 + Update translations for torbutton-torbuttonproperties --- pt_PT/torbutton.properties | 54 ++ 1 file changed, 54 insertions(+) diff --git a/pt_PT/torbutton.properties b/pt_PT/torbutton.properties new file mode 100644 index 0..468a532dd --- /dev/null +++ b/pt_PT/torbutton.properties @@ -0,0 +1,54 @@ +torbutton.circuit_display.internet = Internet +torbutton.circuit_display.ip_unknown = IP unknown +torbutton.circuit_display.onion_site = Onion site +torbutton.circuit_display.this_browser = This browser +torbutton.circuit_display.relay = Relay +torbutton.circuit_display.tor_bridge = Bridge +torbutton.circuit_display.unknown_country = Unknown country +torbutton.circuit_display.guard = Guard +torbutton.circuit_display.guard_note = Your [Guard] node may not change. +torbutton.circuit_display.learn_more = Learn more +torbutton.content_sizer.margin_tooltip = Tor Browser adds this margin to make the width and height of your window less distinctive, and thus reduces the ability of people to track you online. +torbutton.panel.tooltip.disabled = Click to enable Tor +torbutton.panel.tooltip.enabled = Click to disable Tor +torbutton.panel.label.disabled = Tor Disabled +torbutton.panel.label.enabled = Tor Enabled +extensions.torbut...@torproject.org.description = Torbutton provides a button to configure Tor settings and quickly and easily clear private browsing data. +torbutton.popup.external.title = Download an external file type? +torbutton.popup.external.app = Tor Browser cannot display this file. You will need to open it with another application.\n\n +torbutton.popup.external.note = Some types of files can cause applications to connect to the Internet without using Tor.\n\n +torbutton.popup.external.suggest = To be safe, you should only open downloaded files while offline, or use a Tor Live CD such as Tails.\n +torbutton.popup.launch = Download file +torbutton.popup.cancel = Cancel +torbutton.popup.dontask = Automatically download files from now on +torbutton.popup.prompted_language = To give you more privacy, Torbutton can request the English language version of web pages. This may cause web pages that you prefer to read in your native language to display in English instead.\n\nWould you like to request English language web pages for better privacy? +torbutton.popup.no_newnym = Torbutton cannot safely give you a new identity. It does not have access to the Tor Control Port.\n\nAre you running Tor Browser Bundle? +torbutton.title.prompt_torbrowser = Important Torbutton Information +torbutton.popup.prompt_torbrowser = Torbutton works differently now: you can't turn it off any more.\n\nWe made this change because it isn't safe to use Torbutton in a browser that's also used for non-Tor browsing. There were too many bugs there that we couldn't fix any other way.\n\nIf you want to keep using Firefox normally, you should uninstall Torbutton and download Tor Browser Bundle. The privacy properties of Tor Browser are also superior to those of normal Firefox, even when Firefox is used with Torbutton.\n\nTo remove Torbutton, go to Tools->Addons->Extensions and then click the Remove button next to Torbutton. +torbutton.popup.short_torbrowser = Important Torbutton Information!\n\nTorbutton is now always enabled.\n\nClick on the Torbutton for more information. + +torbutton.popup.confirm_plugins = Plugins such as Flash can harm your privacy and anonymity.\n\nThey can also bypass Tor to reveal your current location and IP address.\n\nAre you sure you want to enable plugins?\n\n +torbutton.popup.never_ask_again = Never ask me again +torbutton.popup.confirm_newnym = Tor Browser will close all windows and tabs. All website sessions will be lost.\n\nRestart Tor Browser now to reset your identity?\n\n + +torbutton.slider_notification = The green onion menu now has a security slider which lets you adjust your security level. Check it out! +torbutton.slider_notification_button = Open security settings + +torbutton.maximize_warning = Maximizing Tor Browser can allow websites to determine your monitor size, which can be used to track you. We recommend that you leave Tor Browser windows in their original default size. + +# Canvas permission prompt. Strings are kept here for ease of translation. +canvas.siteprompt=This website (%S) attempted to extract HTML5 canvas image data, which may be used to uniquely identify your computer.\n\nShould Tor Browser allow this website to extract HTML5 canvas image data? +canvas.notNow=Not Now +canvas.notNowAccessKey=N +canvas.allow=Allow in the future +canvas.allowAccessKey=A +canvas.never=Never for this site (recommended) +canvas.neverAccessKey=e + +# Profile/startup error messages. Strings are kept here for ease of translation. +# LOCALIZATION NOTE: %S is the application
[tor-commits] [translation/tails-misc] Update translations for tails-misc
commit a4c0788d2d3a5895c39f321a04577ea252c5d773 Author: Translation commit botDate: Fri May 25 09:17:05 2018 + Update translations for tails-misc --- pt_PT.po | 384 +++ 1 file changed, 384 insertions(+) diff --git a/pt_PT.po b/pt_PT.po new file mode 100644 index 0..841e000b4 --- /dev/null +++ b/pt_PT.po @@ -0,0 +1,384 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-03-12 19:03+0100\n" +"PO-Revision-Date: 2013-07-25 09:07+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready.sh:39 +msgid "Tor is ready" +msgstr "" + +#: config/chroot_local-includes/etc/NetworkManager/dispatcher.d/60-tor-ready.sh:40 +msgid "You can now access the Internet." +msgstr "" + +#: config/chroot_local-includes/etc/whisperback/config.py:65 +#, python-format +msgid "" +"Help us fix your bug!\n" +"Read our bug reporting instructions.\n" +"Do not include more personal information than\n" +"needed!\n" +"About giving us an email address\n" +"\n" +"Giving us an email address allows us to contact you to clarify the problem. This\n" +"is needed for the vast majority of the reports we receive as most reports\n" +"without any contact information are useless. On the other hand it also provides\n" +"an opportunity for eavesdroppers, like your email or Internet provider, to\n" +"confirm that you are using Tails.\n" +"\n" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/electrum:57 +msgid "Persistence is disabled for Electrum" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/electrum:59 +msgid "" +"When you reboot Tails, all of Electrum's data will be lost, including your " +"Bitcoin wallet. It is strongly recommended to only run Electrum when its " +"persistence feature is activated." +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/electrum:60 +msgid "Do you want to start Electrum anyway?" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/electrum:63 +#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:41 +msgid "_Launch" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/electrum:64 +#: config/chroot_local-includes/usr/local/sbin/unsafe-browser:42 +msgid "_Exit" +msgstr "" + +#: config/chroot_local-includes/usr/share/gnome-shell/extensions/status-menu-hel...@tails.boum.org/extension.js:75 +msgid "Restart" +msgstr "" + +#: config/chroot_local-includes/usr/share/gnome-shell/extensions/status-menu-hel...@tails.boum.org/extension.js:78 +msgid "Lock screen" +msgstr "" + +#: config/chroot_local-includes/usr/share/gnome-shell/extensions/status-menu-hel...@tails.boum.org/extension.js:81 +msgid "Power Off" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/tails-about:22 +#: ../config/chroot_local-includes/usr/share/desktop-directories/Tails.directory.in.h:1 +msgid "Tails" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/tails-about:25 +#: ../config/chroot_local-includes/usr/share/applications/tails-about.desktop.in.h:1 +msgid "About Tails" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/tails-about:35 +msgid "The Amnesic Incognito Live System" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/tails-about:36 +#, python-format +msgid "" +"Build information:\n" +"%s" +msgstr "" + +#: config/chroot_local-includes/usr/local/bin/tails-about:54 +msgid "not available" +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:170 +msgid "Your additional software installation failed" +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:171 +msgid "" +"The installation failed. Please check your additional software " +"configuration, or read the system log to understand better the problem." +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:177 +msgid "Your additional software are installed" +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:178 +msgid "Your additional software are ready to use." +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:194 +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:204 +msgid "Your additional software upgrade failed" +msgstr "" + +#: config/chroot_local-includes/usr/local/sbin/tails-additional-software:195 +msgid "" +"The
[tor-commits] [translation/tor-launcher-progress] Update translations for tor-launcher-progress
commit 12341d7e213b34af42769fc1125ec0e44fedf5db Author: Translation commit botDate: Fri May 25 09:16:46 2018 + Update translations for tor-launcher-progress --- pt_PT/progress.dtd | 4 1 file changed, 4 insertions(+) diff --git a/pt_PT/progress.dtd b/pt_PT/progress.dtd new file mode 100644 index 0..9ac9ad74f --- /dev/null +++ b/pt_PT/progress.dtd @@ -0,0 +1,4 @@ + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbutton-brandproperties] Update translations for torbutton-brandproperties
commit 9b8a5ba3517790402d26afe003cdae31279c2006 Author: Translation commit botDate: Fri May 25 09:17:23 2018 + Update translations for torbutton-brandproperties --- pt_PT/brand.properties | 16 1 file changed, 16 insertions(+) diff --git a/pt_PT/brand.properties b/pt_PT/brand.properties new file mode 100644 index 0..732c15741 --- /dev/null +++ b/pt_PT/brand.properties @@ -0,0 +1,16 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +brandShorterName=Tor Browser +brandShortName=Tor Browser +brandFullName=Tor Browser +vendorShortName=Tor Project + +homePageSingleStartMain=Firefox Start, a fast home page with built-in search +homePageImport=Import your home page from %S + +homePageMigrationPageTitle=Home Page Selection +homePageMigrationDescription=Please select the home page you wish to use: + +syncBrandShortName=Sync ___ 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
commit 95a1a411f49acbbe6cf55fcba34af7fec03b09d5 Author: Translation commit botDate: Fri May 25 09:16:38 2018 + Update translations for tor-launcher-properties --- pt_PT/torlauncher.properties | 78 1 file changed, 78 insertions(+) diff --git a/pt_PT/torlauncher.properties b/pt_PT/torlauncher.properties new file mode 100644 index 0..a4d097a76 --- /dev/null +++ b/pt_PT/torlauncher.properties @@ -0,0 +1,78 @@ +### Copyright (c) 2016, The Tor Project, Inc. +### See LICENSE for licensing information. + +torlauncher.error_title=Tor Launcher + +torlauncher.tor_exited_during_startup=Tor exited during startup. This might be due to an error in your torrc file, a bug in Tor or another program on your system, or faulty hardware. Until you fix the underlying problem and restart Tor, Tor Browser will not start. +torlauncher.tor_exited=Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team. +torlauncher.tor_exited2=Restarting Tor will not close your browser tabs. +torlauncher.tor_controlconn_failed=Could not connect to Tor control port. +torlauncher.tor_failed_to_start=Tor failed to start. +torlauncher.tor_control_failed=Failed to take control of Tor. +torlauncher.tor_bootstrap_failed=Tor failed to establish a Tor network connection. +torlauncher.tor_bootstrap_failed_details=%1$S failed (%2$S). + +torlauncher.unable_to_start_tor=Unable to start Tor.\n\n%S +torlauncher.tor_missing=The Tor executable is 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.password_hash_missing=Failed to get hashed password. + +torlauncher.failed_to_get_settings=Unable to retrieve Tor settings.\n\n%S +torlauncher.failed_to_save_settings=Unable to save Tor settings.\n\n%S +torlauncher.ensure_tor_is_running=Please ensure that Tor is running. + +torlauncher.error_proxy_addr_missing=You must specify both an IP address or hostname and a port number to configure Tor to use a proxy to access the Internet. +torlauncher.error_proxy_type_missing=You must select the proxy type. +torlauncher.error_bridges_missing=You must specify one or more bridges. +torlauncher.error_default_bridges_type_missing=You must select a transport type for the provided bridges. +torlauncher.error_bridgedb_bridges_missing=Please request a bridge. +torlauncher.error_bridge_bad_default_type=No provided bridges that have the transport type %S are available. Please adjust your settings. + +torlauncher.bridge_suffix.meek-amazon=(works in China) +torlauncher.bridge_suffix.meek-azure=(works in China) + +torlauncher.request_a_bridge=Request a Bridge⦠+torlauncher.request_a_new_bridge=Request a New Bridge⦠+torlauncher.contacting_bridgedb=Contacting BridgeDB. Please wait. +torlauncher.captcha_prompt=Solve the CAPTCHA to request a bridge. +torlauncher.bad_captcha_solution=The solution is not correct. Please try again. +torlauncher.unable_to_get_bridge=Unable to obtain a bridge from BridgeDB.\n\n%S +torlauncher.no_meek=This browser is not configured for meek, which is needed to obtain bridges. +torlauncher.no_bridges_available=No bridges are available at this time. Sorry. + +torlauncher.connect=Connect +torlauncher.restart_tor=Restart Tor +torlauncher.quit=Quit +torlauncher.quit_win=Exit +torlauncher.done=Done + +torlauncher.forAssistance=For assistance, contact %S +torlauncher.forAssistance2=For assistance, visit %S + +torlauncher.copiedNLogMessages=Copy complete. %S Tor log messages are ready to be pasted into a text editor or an email message. + +torlauncher.bootstrapStatus.conn_dir=Connecting to a relay directory +torlauncher.bootstrapStatus.handshake_dir=Establishing an encrypted directory connection +torlauncher.bootstrapStatus.requesting_status=Retrieving network status +torlauncher.bootstrapStatus.loading_status=Loading network status +torlauncher.bootstrapStatus.loading_keys=Loading authority certificates +torlauncher.bootstrapStatus.requesting_descriptors=Requesting relay information +torlauncher.bootstrapStatus.loading_descriptors=Loading relay information +torlauncher.bootstrapStatus.conn_or=Connecting to the Tor network +torlauncher.bootstrapStatus.handshake_or=Establishing a Tor circuit +torlauncher.bootstrapStatus.done=Connected to the Tor network! + +torlauncher.bootstrapWarning.done=done +torlauncher.bootstrapWarning.connectrefused=connection refused +torlauncher.bootstrapWarning.misc=miscellaneous +torlauncher.bootstrapWarning.resourcelimit=insufficient resources +torlauncher.bootstrapWarning.identity=identity mismatch +torlauncher.bootstrapWarning.timeout=connection timeout
[tor-commits] [translation/torbutton-branddtd] Update translations for torbutton-branddtd
commit 6c3fd3020682e3e12c7a8e32d9161a778c256971 Author: Translation commit botDate: Fri May 25 09:17:32 2018 + Update translations for torbutton-branddtd --- pt_PT/brand.dtd | 15 +++ 1 file changed, 15 insertions(+) diff --git a/pt_PT/brand.dtd b/pt_PT/brand.dtd new file mode 100644 index 0..3df1a084c --- /dev/null +++ b/pt_PT/brand.dtd @@ -0,0 +1,15 @@ + + + + + + + + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/abouttor-homepage] Update translations for abouttor-homepage
commit b83652fe7ce8454325441744bc741d9b9169207b Author: Translation commit botDate: Fri May 25 09:17:14 2018 + Update translations for abouttor-homepage --- pt_PT/aboutTor.dtd | 45 + 1 file changed, 45 insertions(+) diff --git a/pt_PT/aboutTor.dtd b/pt_PT/aboutTor.dtd new file mode 100644 index 0..676878e27 --- /dev/null +++ b/pt_PT/aboutTor.dtd @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + +https://duckduckgo.com;> + + + + + + + + +https://www.torproject.org/download/download.html.en#warning;> + + + + + +https://www.torproject.org/docs/tor-doc-relay.html.en;> + +https://www.torproject.org/getinvolved/volunteer.html.en;> + +https://www.torproject.org/donate/donate.html.en;> + + + +https://www.torproject.org/about/overview.html.en;> ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-launcher-network-settings] Update translations for tor-launcher-network-settings
commit 0425e82938564e1213fff700403f4f3a2cf65065 Author: Translation commit botDate: Fri May 25 09:16:55 2018 + Update translations for tor-launcher-network-settings --- pt_PT/network-settings.dtd | 62 ++ 1 file changed, 62 insertions(+) diff --git a/pt_PT/network-settings.dtd b/pt_PT/network-settings.dtd new file mode 100644 index 0..461514604 --- /dev/null +++ b/pt_PT/network-settings.dtd @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ___ 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
commit 86823f7d5a56b7d80309159760eaf2b3b8405dcf Author: Translation commit botDate: Fri May 25 09:16:29 2018 + Update translations for mat-gui --- pt_PT.po | 187 +++ 1 file changed, 187 insertions(+) diff --git a/pt_PT.po b/pt_PT.po new file mode 100644 index 0..b46e2a412 --- /dev/null +++ b/pt_PT.po @@ -0,0 +1,187 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +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: 2013-02-04 18:44+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: mat-gui:66 mat-gui:422 mat-gui:445 +msgid "Ready" +msgstr "" + +#: mat-gui:136 +msgid "Choose files" +msgstr "" + +#: mat-gui:144 +msgid "Supported files" +msgstr "" + +#: mat-gui:151 +msgid "All files" +msgstr "" + +#: mat-gui:167 mat-gui:366 mat-gui:417 mat-gui:441 mat-gui:443 +#: data/mat.glade:200 +msgid "Clean" +msgstr "" + +#: mat-gui:168 +msgid "No metadata found" +msgstr "" + +#: mat-gui:170 mat-gui:419 +msgid "Dirty" +msgstr "" + +#: mat-gui:176 +#, python-format +msgid "%s's metadata" +msgstr "" + +#: mat-gui:187 +msgid "Trash your meta, keep your data" +msgstr "" + +#: mat-gui:192 +msgid "Website" +msgstr "" + +#: mat-gui:219 +msgid "Preferences" +msgstr "" + +#: mat-gui:232 +msgid "Reduce PDF quality" +msgstr "" + +#: mat-gui:235 +msgid "Reduce the produced PDF size and quality" +msgstr "" + +#: mat-gui:238 +msgid "Remove unsupported file from archives" +msgstr "" + +#: mat-gui:241 +msgid "Remove non-supported (and so non-anonymised) file from output archive" +msgstr "" + +#: mat-gui:280 +msgid "Unknown" +msgstr "" + +#: mat-gui:325 +msgid "Not-supported" +msgstr "" + +#: mat-gui:339 +msgid "Harmless fileformat" +msgstr "" + +#: mat-gui:341 +msgid "Cant read file" +msgstr "" + +#: mat-gui:343 +msgid "Fileformat not supported" +msgstr "" + +#: mat-gui:346 +msgid "These files can not be processed:" +msgstr "" + +#: mat-gui:351 mat-gui:380 data/mat.glade:239 +msgid "Filename" +msgstr "" + +#: mat-gui:353 +msgid "Reason" +msgstr "" + +#: mat-gui:365 +msgid "Non-supported files in archive" +msgstr "" + +#: mat-gui:379 +msgid "Include" +msgstr "" + +#: mat-gui:397 +#, python-format +msgid "MAT is not able to clean the following files, found in the %s archive" +msgstr "" + +#: mat-gui:413 +#, python-format +msgid "Checking %s" +msgstr "" + +#: mat-gui:428 +#, python-format +msgid "Cleaning %s" +msgstr "" + +#: data/mat.glade:46 +msgid "_File" +msgstr "" + +#: data/mat.glade:95 +msgid "_Edit" +msgstr "" + +#: data/mat.glade:141 +msgid "_Help" +msgstr "" + +#: data/mat.glade:187 +msgid "Add" +msgstr "" + +#: data/mat.glade:256 +msgid "State" +msgstr "" + +#: data/mat.glade:294 data/mat.glade:467 +msgid "Metadata" +msgstr "" + +#: data/mat.glade:354 +msgid "Name" +msgstr "" + +#: data/mat.glade:368 +msgid "Content" +msgstr "" + +#: data/mat.glade:398 +msgid "Supported formats" +msgstr "" + +#: data/mat.glade:456 +msgid "Support" +msgstr "" + +#: data/mat.glade:478 +msgid "Method" +msgstr "" + +#: data/mat.glade:489 +msgid "Remaining" +msgstr "" + +#: data/mat.glade:518 +msgid "Fileformat" +msgstr "" ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/torbirdy] Update translations for torbirdy
commit cb547df1b445378d00d06930415c850242883647 Author: Translation commit botDate: Fri May 25 09:16:18 2018 + Update translations for torbirdy --- pt_PT/torbirdy.dtd| 60 +++ pt_PT/torbirdy.properties | 18 ++ 2 files changed, 78 insertions(+) diff --git a/pt_PT/torbirdy.dtd b/pt_PT/torbirdy.dtd new file mode 100644 index 0..c88803ab5 --- /dev/null +++ b/pt_PT/torbirdy.dtd @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt_PT/torbirdy.properties b/pt_PT/torbirdy.properties new file mode 100644 index 0..4f645eba2 --- /dev/null +++ b/pt_PT/torbirdy.properties @@ -0,0 +1,18 @@ +torbirdy.name=TorBirdy + +torbirdy.enabled.tor=TorBirdy Enabled:Tor +torbirdy.enabled.jondo=TorBirdy Enabled:JonDo +torbirdy.enabled.custom=TorBirdy Enabled:Custom Proxy +torbirdy.enabled.torification=TorBirdy Enabled:Transparent Torification +torbirdy.enabled.whonix=TorBirdy Enabled:Whonix +torbirdy.disabled=TorBirdy:Disabled! +torbirdy.enabled=TorBirdy:Enabled + +torbirdy.email.prompt=TorBirdy has disabled Thunderbird's auto-configuration wizard to protect your anonymity.\n\nThe recommended security settings for %S have been set.\n\nYou can now configure the other account settings manually. + +torbirdy.email.advanced=Please note that changing the advanced settings of TorBirdy is NOT recommended.\n\nYou should only continue if you are sure of what you are doing. +torbirdy.email.advanced.nextwarning=Show this warning next time +torbirdy.email.advanced.title=TorBirdy Advanced Settings + +torbirdy.firstrun=You are now running TorBirdy.\n\nTo help protect your anonymity, TorBirdy will enforce the Thunderbird settings it has set, preventing them from being changed by you or by any add-on. There are some settings that can be changed and those are accessed through TorBirdy's preferences dialog. When TorBirdy is uninstalled or disabled, all settings that it changes are reset to their default values (the values prior to TorBirdy's install).\n\nIf you are a new user, it is recommended that you read through the TorBirdy website to understand what we are trying to accomplish with TorBirdy for our users. +torbirdy.website=https://trac.torproject.org/projects/tor/wiki/torbirdy ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/liveusb-creator] Update translations for liveusb-creator
commit c2309a731e50391a816734e93707e71247e447dc Author: Translation commit botDate: Fri May 25 09:15:57 2018 + Update translations for liveusb-creator --- pt_PT/pt_PT.po | 504 + 1 file changed, 504 insertions(+) diff --git a/pt_PT/pt_PT.po b/pt_PT/pt_PT.po new file mode 100644 index 0..a55b8147e --- /dev/null +++ b/pt_PT/pt_PT.po @@ -0,0 +1,504 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-11-10 15:57+0100\n" +"PO-Revision-Date: 2012-10-03 17:40+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../tails_installer/creator.py:101 +msgid "You must run this application as root" +msgstr "" + +#: ../tails_installer/creator.py:147 +msgid "Extracting live image to the target device..." +msgstr "" + +#: ../tails_installer/creator.py:154 +#, python-format +msgid "Wrote to device at %(speed)d MB/sec" +msgstr "" + +#: ../tails_installer/creator.py:184 +msgid "Setting up OLPC boot file..." +msgstr "" + +#: ../tails_installer/creator.py:315 +#, python-format +msgid "" +"There was a problem executing the following command: `%(command)s`.\n" +"A more detailed error log has been written to '%(filename)s'." +msgstr "" + +#: ../tails_installer/creator.py:334 +msgid "Verifying SHA1 checksum of LiveCD image..." +msgstr "" + +#: ../tails_installer/creator.py:338 +msgid "Verifying SHA256 checksum of LiveCD image..." +msgstr "" + +#: ../tails_installer/creator.py:354 +msgid "" +"Error: The SHA1 of your Live CD is invalid. You can run this program with " +"the --noverify argument to bypass this verification check." +msgstr "" + +#: ../tails_installer/creator.py:360 +msgid "Unknown ISO, skipping checksum verification" +msgstr "" + +#: ../tails_installer/creator.py:371 +#, python-format +msgid "" +"Not enough free space on device.\n" +"%dMB ISO + %dMB overlay > %dMB free space" +msgstr "" + +#: ../tails_installer/creator.py:378 +#, python-format +msgid "Creating %sMB persistent overlay" +msgstr "" + +#: ../tails_installer/creator.py:439 +#, python-format +msgid "Unable to copy %(infile)s to %(outfile)s: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:453 +msgid "Removing existing Live OS" +msgstr "" + +#: ../tails_installer/creator.py:462 ../tails_installer/creator.py:473 +#, python-format +msgid "Unable to chmod %(file)s: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:466 +#, python-format +msgid "Unable to remove file from previous LiveOS: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:478 +#, python-format +msgid "Unable to remove directory from previous LiveOS: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:526 +#, python-format +msgid "Cannot find device %s" +msgstr "" + +#: ../tails_installer/creator.py:695 +#, python-format +msgid "Unable to write on %(device)s, skipping." +msgstr "" + +#: ../tails_installer/creator.py:719 +#, python-format +msgid "" +"Some partitions of the target device %(device)s are mounted. They will be " +"unmounted before starting the installation process." +msgstr "" + +#: ../tails_installer/creator.py:762 ../tails_installer/creator.py:974 +msgid "Unknown filesystem. Your device may need to be reformatted." +msgstr "" + +#: ../tails_installer/creator.py:765 ../tails_installer/creator.py:977 +#, python-format +msgid "Unsupported filesystem: %s" +msgstr "" + +#: ../tails_installer/creator.py:782 +#, python-format +msgid "Unknown GLib exception while trying to mount device: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:786 +#, python-format +msgid "Unable to mount device: %(message)s" +msgstr "" + +#: ../tails_installer/creator.py:791 +msgid "No mount points found" +msgstr "" + +#: ../tails_installer/creator.py:802 +#, python-format +msgid "Entering unmount_device for '%(device)s'" +msgstr "" + +#: ../tails_installer/creator.py:812 +#, python-format +msgid "Unmounting mounted filesystems on '%(device)s'" +msgstr "" + +#: ../tails_installer/creator.py:816 +#, python-format +msgid "Unmounting '%(udi)s' on '%(device)s'" +msgstr "" + +#: ../tails_installer/creator.py:826 +#, python-format +msgid "Mount %s exists after unmounting" +msgstr "" + +#: ../tails_installer/creator.py:839 +#, python-format +msgid "Partitioning device %(device)s" +msgstr "" + +#: ../tails_installer/creator.py:959 +#, python-format +msgid "Unsupported device '%(device)s', please report a bug." +msgstr "" + +#:
[tor-commits] [translation/tails-persistence-setup] Update translations for tails-persistence-setup
commit 6a0ce6aa8099dbb1642a3056b6b534d256fc9d50 Author: Translation commit botDate: Fri May 25 09:16:07 2018 + Update translations for tails-persistence-setup --- pt_PT/pt_PT.po | 323 + 1 file changed, 323 insertions(+) diff --git a/pt_PT/pt_PT.po b/pt_PT/pt_PT.po new file mode 100644 index 0..4b242dc06 --- /dev/null +++ b/pt_PT/pt_PT.po @@ -0,0 +1,323 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Tails developers +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +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: 2012-10-03 17:39+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:48 +msgid "Personal Data" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:50 +msgid "Keep files stored in the `Persistent' directory" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:58 +msgid "GnuPG" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:60 +msgid "GnuPG keyrings and configuration" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:68 +msgid "SSH Client" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:70 +msgid "SSH keys, configuration and known hosts" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:78 +msgid "Pidgin" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:80 +msgid "Pidgin profiles and OTR keyring" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:88 +msgid "Thunderbird" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:90 +msgid "Thunderbird profiles and locally stored email" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:98 +msgid "GNOME Keyring" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:100 +msgid "Secrets stored by GNOME Keyring" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:108 +msgid "Network Connections" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:110 +msgid "Configuration of network devices and connections" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:118 +msgid "Browser bookmarks" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:120 +msgid "Bookmarks saved in the Tor Browser" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:128 +msgid "Printers" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:130 +msgid "Printers configuration" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:138 +msgid "Bitcoin client" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:140 +msgid "Electrum's bitcoin wallet and configuration" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:148 +msgid "APT Packages" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:150 +msgid "Packages downloaded by APT" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:158 +msgid "APT Lists" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:160 +msgid "Lists downloaded by APT" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:168 +msgid "Dotfiles" +msgstr "" + +#: ../lib/Tails/Persistence/Configuration/Presets.pm:170 +msgid "" +"Symlink into $HOME every file or directory found in the `dotfiles' directory" +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:230 +msgid "Setup Tails persistent volume" +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:312 ../lib/Tails/Persistence/Setup.pm:459 +msgid "Error" +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:344 +#, perl-format +msgid "Device %s already has a persistent volume." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:352 +#, perl-format +msgid "Device %s has not enough unallocated space." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:360 ../lib/Tails/Persistence/Setup.pm:374 +#, perl-format +msgid "Device %s has no persistent volume." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:366 +msgid "" +"Cannot delete the persistent volume while in use. You should restart Tails " +"without persistence." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:385 +msgid "Persistence volume is not unlocked." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:390 +msgid "Persistence volume is not mounted." +msgstr "" + +#: ../lib/Tails/Persistence/Setup.pm:395 +msgid "Persistence volume is not readable. Permissions or ownership problems?"
[tor-commits] [translation/https_everywhere_completed] Update translations for https_everywhere_completed
commit 708a02b2ebf068347986ca59e579b8b89a5ee195 Author: Translation commit botDate: Fri May 25 09:15:51 2018 + Update translations for https_everywhere_completed --- it/https-everywhere.dtd | 1 + 1 file changed, 1 insertion(+) diff --git a/it/https-everywhere.dtd b/it/https-everywhere.dtd index 7f2628451..67c777b23 100644 --- a/it/https-everywhere.dtd +++ b/it/https-everywhere.dtd @@ -23,6 +23,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] Update translations for https_everywhere
commit afe6ec725c4bb060950e353f30c5bfd112878121 Author: Translation commit botDate: Fri May 25 09:15:43 2018 + Update translations for https_everywhere --- it/https-everywhere.dtd | 2 +- pt_PT/https-everywhere.dtd| 41 pt_PT/https-everywhere.properties | 8 +++ pt_PT/ssl-observatory.dtd | 101 ++ 4 files changed, 151 insertions(+), 1 deletion(-) diff --git a/it/https-everywhere.dtd b/it/https-everywhere.dtd index 28b387383..67c777b23 100644 --- a/it/https-everywhere.dtd +++ b/it/https-everywhere.dtd @@ -23,7 +23,7 @@ - + diff --git a/pt_PT/https-everywhere.dtd b/pt_PT/https-everywhere.dtd new file mode 100644 index 0..1e71f2b42 --- /dev/null +++ b/pt_PT/https-everywhere.dtd @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/pt_PT/https-everywhere.properties b/pt_PT/https-everywhere.properties new file mode 100644 index 0..be838311a --- /dev/null +++ b/pt_PT/https-everywhere.properties @@ -0,0 +1,8 @@ +https-everywhere.menu.globalEnable = Enable HTTPS Everywhere +https-everywhere.menu.globalDisable = Disable HTTPS Everywhere +https-everywhere.menu.enableDisable = Enable / Disable Rules +https-everywhere.menu.noRules = (No Rules for This Page) +https-everywhere.menu.unknownRules = (Rules for This Page Unknown) +https-everywhere.toolbar.hint = HTTPS Everywhere is now active. You can toggle it on a site-by-site basis by clicking the icon in the address bar. +https-everywhere.migration.notification0 = In order to implement a crucial fix, this update resets your HTTPS Everywhere rule preferences to their default values. +https-everywhere.menu.ruleset-tests = Run HTTPS Everywhere Ruleset Tests diff --git a/pt_PT/ssl-observatory.dtd b/pt_PT/ssl-observatory.dtd new file mode 100644 index 0..69f1cfd69 --- /dev/null +++ b/pt_PT/ssl-observatory.dtd @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +https://www.something.com, the certificate +received by the Observatory will indicate that somebody visited +www.something.com, but not who visited the site, or what specific page they +looked at. Mouseover the options for further details:"> + + + + + + + + + + + + + + + + + + + + + + + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/whisperback] Update translations for whisperback
commit b4876d53822957476b1d35fc060d4e8e9a537fa2 Author: Translation commit botDate: Fri May 25 09:15:25 2018 + Update translations for whisperback --- pt_PT/pt_PT.po | 214 + 1 file changed, 214 insertions(+) diff --git a/pt_PT/pt_PT.po b/pt_PT/pt_PT.po new file mode 100644 index 0..4e78fef96 --- /dev/null +++ b/pt_PT/pt_PT.po @@ -0,0 +1,214 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-20 12:09+\n" +"PO-Revision-Date: 2012-02-26 16:11+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. XXX use a better exception +#: ../whisperBack/whisperback.py:56 +#, python-format +msgid "Invalid contact email: %s" +msgstr "" + +#: ../whisperBack/whisperback.py:73 +#, python-format +msgid "Invalid contact OpenPGP key: %s" +msgstr "" + +#: ../whisperBack/whisperback.py:75 +msgid "Invalid contact OpenPGP public key block" +msgstr "" + +#: ../whisperBack/exceptions.py:41 +#, python-format +msgid "" +"The %s variable was not found in any of the configuration files " +"/etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py" +msgstr "" + +#: ../whisperBack/gui.py:110 +msgid "Name of the affected software" +msgstr "" + +#: ../whisperBack/gui.py:112 +msgid "Exact steps to reproduce the error" +msgstr "" + +#: ../whisperBack/gui.py:114 +msgid "Actual result and description of the error" +msgstr "" + +#: ../whisperBack/gui.py:116 +msgid "Desired result" +msgstr "" + +#: ../whisperBack/gui.py:152 +msgid "Unable to load a valid configuration." +msgstr "" + +#: ../whisperBack/gui.py:218 +msgid "Sending mail..." +msgstr "" + +#: ../whisperBack/gui.py:219 +msgid "Sending mail" +msgstr "" + +#. pylint: disable=C0301 +#: ../whisperBack/gui.py:221 +msgid "This could take a while..." +msgstr "" + +#: ../whisperBack/gui.py:236 +msgid "The contact email adress doesn't seem valid." +msgstr "" + +#: ../whisperBack/gui.py:253 +msgid "Unable to send the mail: SMTP error." +msgstr "" + +#: ../whisperBack/gui.py:255 +msgid "Unable to connect to the server." +msgstr "" + +#: ../whisperBack/gui.py:257 +msgid "Unable to create or to send the mail." +msgstr "" + +#: ../whisperBack/gui.py:260 +msgid "" +"\n" +"\n" +"The bug report could not be sent, likely due to network problems. Please try to reconnect to the network and click send again.\n" +"\n" +"If it does not work, you will be offered to save the bug report." +msgstr "" + +#: ../whisperBack/gui.py:273 +msgid "Your message has been sent." +msgstr "" + +#: ../whisperBack/gui.py:280 +msgid "An error occured during encryption." +msgstr "" + +#: ../whisperBack/gui.py:300 +#, python-format +msgid "Unable to save %s." +msgstr "" + +#: ../whisperBack/gui.py:323 +#, python-format +msgid "" +"The bug report could not be sent, likely due to network problems.\n" +"\n" +"As a work-around you can save the bug report as a file on a USB drive and try to send it to us at %s from your email account using another system. Note that your bug report will not be anonymous when doing so unless you take further steps yourself (e.g. using Tor with a throw-away email account).\n" +"\n" +"Do you want to save the bug report to a file?" +msgstr "" + +#: ../whisperBack/gui.py:383 ../data/whisperback.ui.h:21 +msgid "WhisperBack" +msgstr "" + +#: ../whisperBack/gui.py:384 ../data/whisperback.ui.h:2 +msgid "Send feedback in an encrypted mail." +msgstr "" + +#: ../whisperBack/gui.py:387 +msgid "Copyright © 2009-2012 Tails developpers (ta...@boum.org)" +msgstr "" + +#: ../whisperBack/gui.py:388 +msgid "Tails developers " +msgstr "" + +#: ../whisperBack/gui.py:389 +msgid "translator-credits" +msgstr "" + +#: ../whisperBack/gui.py:417 +msgid "This doesn't seem to be a valid URL or OpenPGP key." +msgstr "" + +#: ../data/whisperback.ui.h:1 +msgid "Copyright © 2009-2012 ta...@boum.org" +msgstr "" + +#: ../data/whisperback.ui.h:3 +msgid "https://tails.boum.org/; +msgstr "" + +#: ../data/whisperback.ui.h:4 +msgid "" +"WhisperBack - Send feedback in an encrypted mail\n" +"Copyright (C) 2009-2012 Tails developers \n" +"\n" +"This program is free software; you can redistribute it and/or modify\n" +"it under the terms of the GNU General Public License as published by\n" +"the Free Software Foundation; either version 3 of the License, or (at\n" +"your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be
[tor-commits] [translation/bridgedb] Update translations for bridgedb
commit e7eac44ce572340fe2091fc9cfae01beea0cc3e7 Author: Translation commit botDate: Fri May 25 09:15:04 2018 + Update translations for bridgedb --- pt_PT/LC_MESSAGES/bridgedb.po | 380 ++ 1 file changed, 380 insertions(+) diff --git a/pt_PT/LC_MESSAGES/bridgedb.po b/pt_PT/LC_MESSAGES/bridgedb.po new file mode 100644 index 0..c55f0e5f9 --- /dev/null +++ b/pt_PT/LC_MESSAGES/bridgedb.po @@ -0,0 +1,380 @@ +# Translations template for BridgeDB. +# Copyright (C) 2015 'The Tor Project, Inc.' +# This file is distributed under the same license as the BridgeDB project. +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB=bridgedb-reported,msgid=isis,sysrqb=isis'\n" +"POT-Creation-Date: 2015-07-25 03:40+\n" +"PO-Revision-Date: 2011-02-19 16:53+\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 1.3\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. TRANSLATORS: Please DO NOT translate the following words and/or phrases in +#. any string (regardless of capitalization and/or punctuation): +#. "BridgeDB" +#. "pluggable transport" +#. "pluggable transports" +#. "obfs2" +#. "obfs3" +#. "scramblesuit" +#. "fteproxy" +#. "Tor" +#. "Tor Browser" +#: bridgedb/https/server.py:167 +msgid "Sorry! Something went wrong with your request." +msgstr "" + +#: bridgedb/https/templates/base.html:79 +msgid "Report a Bug" +msgstr "" + +#: bridgedb/https/templates/base.html:82 +msgid "Source Code" +msgstr "" + +#: bridgedb/https/templates/base.html:85 +msgid "Changelog" +msgstr "" + +#: bridgedb/https/templates/base.html:88 +msgid "Contact" +msgstr "" + +#: bridgedb/https/templates/bridges.html:35 +msgid "Select All" +msgstr "" + +#: bridgedb/https/templates/bridges.html:40 +msgid "Show QRCode" +msgstr "" + +#: bridgedb/https/templates/bridges.html:52 +msgid "QRCode for your bridge lines" +msgstr "" + +#. TRANSLATORS: Please translate this into some silly way to say +#. "There was a problem!" in your language. For example, +#. for Italian, you might translate this into "Mama mia!", +#. or for French: "Sacrebleu!". :) +#: bridgedb/https/templates/bridges.html:67 +#: bridgedb/https/templates/bridges.html:125 +msgid "Uh oh, spaghettios!" +msgstr "" + +#: bridgedb/https/templates/bridges.html:68 +msgid "It seems there was an error getting your QRCode." +msgstr "" + +#: bridgedb/https/templates/bridges.html:73 +msgid "" +"This QRCode contains your bridge lines. Scan it with a QRCode reader to copy" +" your bridge lines onto mobile and other devices." +msgstr "" + +#: bridgedb/https/templates/bridges.html:131 +msgid "There currently aren't any bridges available..." +msgstr "" + +#: bridgedb/https/templates/bridges.html:132 +#, python-format +msgid "" +" Perhaps you should try %s going back %s and choosing a different bridge " +"type!" +msgstr "" + +#: bridgedb/https/templates/index.html:11 +#, python-format +msgid "Step %s1%s" +msgstr "" + +#: bridgedb/https/templates/index.html:13 +#, python-format +msgid "Download %s Tor Browser %s" +msgstr "" + +#: bridgedb/https/templates/index.html:25 +#, python-format +msgid "Step %s2%s" +msgstr "" + +#: bridgedb/https/templates/index.html:27 +#, python-format +msgid "Get %s bridges %s" +msgstr "" + +#: bridgedb/https/templates/index.html:36 +#, python-format +msgid "Step %s3%s" +msgstr "" + +#: bridgedb/https/templates/index.html:38 +#, python-format +msgid "Now %s add the bridges to Tor Browser %s" +msgstr "" + +#. TRANSLATORS: Please make sure the '%s' surrounding single letters at the +#. beginning of words are present in your final translation. Thanks! +#. (These are used to insert HTML5 underlining tags, to mark accesskeys +#. for disabled users.) +#: bridgedb/https/templates/options.html:38 +#, python-format +msgid "%sJ%sust give me bridges!" +msgstr "" + +#: bridgedb/https/templates/options.html:51 +msgid "Advanced Options" +msgstr "" + +#: bridgedb/https/templates/options.html:86 +msgid "No" +msgstr "" + +#: bridgedb/https/templates/options.html:87 +msgid "none" +msgstr "" + +#. TRANSLATORS: Please make sure the '%s' surrounding single letters at the +#. beginning of words are present in your final translation. Thanks! +#. TRANSLATORS: Translate "Yes!" as in "Yes! I do need IPv6 addresses." +#: bridgedb/https/templates/options.html:124 +#, python-format +msgid "%sY%ses!" +msgstr "" + +#. TRANSLATORS: Please make sure the '%s' surrounding single letters at the +#. beginning of words are present in your final translation. Thanks! +#. TRANSLATORS: Please do NOT translate the word "bridge"! +#:
[tor-commits] [translation/torcheck] Update translations for torcheck
commit a98293833e953e93606a99e619bb062e97268ce8 Author: Translation commit botDate: Fri May 25 09:15:15 2018 + Update translations for torcheck --- pt_PT/torcheck.po | 102 ++ 1 file changed, 102 insertions(+) diff --git a/pt_PT/torcheck.po b/pt_PT/torcheck.po new file mode 100644 index 0..266bde67d --- /dev/null +++ b/pt_PT/torcheck.po @@ -0,0 +1,102 @@ +# TorCheck gettext template +# Copyright (C) 2008-2013 The Tor Project, Inc +# +# Translators: +msgid "" +msgstr "" +"Project-Id-Version: The Tor Project\n" +"POT-Creation-Date: 2012-02-16 20:28+PDT\n" +"PO-Revision-Date: 2010-11-30 04:59+\n" +"Last-Translator: Appelbaum \n" +"Language-Team: Portuguese (Portugal) (http://www.transifex.com/otf/torproject/language/pt_PT/)\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: pygettext.py 1.5\n" +"Language: pt_PT\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +msgid "Congratulations. This browser is configured to use Tor." +msgstr "" + +msgid "" +"Please refer to the https://www.torproject.org/\;>Tor website " +"for further information about using Tor safely. You are now free to browse " +"the Internet anonymously." +msgstr "" + +msgid "There is a security update available for Tor Browser." +msgstr "" + +msgid "" +"https://www.torproject.org/download/download-easy.html\;>Click " +"here to go to the download page" +msgstr "" + +msgid "Sorry. You are not using Tor." +msgstr "" + +msgid "" +"If you are attempting to use a Tor client, please refer to the https://www.torproject.org/\;>Tor website and specifically the instructions for " +"configuring your Tor client." +msgstr "" + +msgid "Sorry, your query failed or an unexpected response was received." +msgstr "" + +msgid "" +"A temporary service outage prevents us from determining if your source IP " +"address is a https://www.torproject.org/\;>Tor node." +msgstr "" + +msgid "Your IP address appears to be: " +msgstr "" + +msgid "Are you using Tor?" +msgstr "" + +msgid "This page is also available in the following languages:" +msgstr "" + +msgid "For more information about this exit relay, see:" +msgstr "" + +msgid "" +"The Tor Project is a US 501(c)(3) non-profit dedicated to the research, " +"development, and education of online anonymity and privacy." +msgstr "" + +msgid "Learn More " +msgstr "" + +msgid "Go" +msgstr "" + +msgid "Short User Manual" +msgstr "" + +msgid "Donate to Support Tor" +msgstr "" + +msgid "Tor Q Site" +msgstr "" + +msgid "Volunteer" +msgstr "" + +msgid "JavaScript is enabled." +msgstr "" + +msgid "JavaScript is disabled." +msgstr "" + +msgid "However, it does not appear to be Tor Browser." +msgstr "" + +msgid "Run a Relay" +msgstr "" + +msgid "Stay Anonymous" +msgstr "" ___ 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] Bug 25975: Get a Rust cross-compiler for macOS
commit e7f9f6f11e45d1ba15fbbb183ef1ae8b0c3b20c5 Author: Georg KoppenDate: Fri May 25 06:53:05 2018 + Bug 25975: Get a Rust cross-compiler for macOS --- projects/rust/build | 39 +-- projects/rust/config | 12 +--- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/projects/rust/build b/projects/rust/build index e20df55..4c81ad8 100644 --- a/projects/rust/build +++ b/projects/rust/build @@ -10,10 +10,45 @@ cd /var/tmp/dist/rust-[% c('var/prev_version') %]-[% c('arch') %]-unknown-linux- ./install.sh --prefix=$distdir-rust-old export PATH="$distdir-rust-old/bin:$PATH" -[% IF c("var/linux") %] - [% pc('gcc', 'var/setup', { compiler_tarfile => c('input_files_by_name/gcc') }) %] +[% IF ! c("var/windows") %] + [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %] [% END -%] +[% IF c("var/osx") %] + # We need to clear `CC` and `LDFLAGS` as they are used for the host platform + # (i.e. Linux). + unset CC + unset LDFLAGS + # Target 10.6 as our toolchain does. Without this explicit declaration Bad + # Things will happen, as a lot of dependent code then assumes that the + # official macOS target, x86_64-apple-darwin, essentially means 10.4. + export MACOSX_DEPLOYMENT_TARGET=10.6 + # The Rust target for macOS is x86_64-apple-darwin, yet our toolchain is built + # for x86_64-apple-darwin10. We can't mix those targets as clang gets confused + # that way. Changing the Rust target to x86_64-apple-darwin10 would require a + # fair amount of patching, thus we create symlinks to prvoide Rust with the + # necessary tools while using our toolchain underneath, targeting 10.6. + cd $cctoolsdir + for f in `ls x86_64-apple-darwin10-*`; do +ln -s $f ${f//x86_64-apple-darwin10/x86_64-apple-darwin} + done + cd .. + ln -s x86_64-apple-darwin10 x86_64-apple-darwin + mkdir -p $distdir/helper + + # We need to adapt our CFLAGS and make sure our flags are passed down to all + # dependencies. Using `CFLAGS_x86_apple-darwin` did not do the trick, so resort + # to a wrapper script. + cat > $distdir/helper/x86_64-apple-darwin-clang << 'EOF' +#!/bin/sh +BASEDIR=/var/tmp/dist/macosx-toolchain +$BASEDIR/cctools/bin/x86_64-apple-darwin-clang -target x86_64-apple-darwin -mlinker-version=136 -B $BASEDIR/cctools/bin -isysroot $BASEDIR/SDK/ -Wl,-syslibroot,$BASEDIR/SDK/ -Wl,-dead_strip -Wl,-pie "$@" +EOF + + chmod +x $distdir/helper/x86_64-apple-darwin-clang + export PATH=$distdir/helper:$PATH +[% END %] + cd $rootdir mkdir /var/tmp/build tar -C /var/tmp/build -xf [% c('input_files_by_name/rust') %] diff --git a/projects/rust/config b/projects/rust/config index 49fc3ab..ae2290b 100644 --- a/projects/rust/config +++ b/projects/rust/config @@ -41,13 +41,19 @@ targets: # Rust pieces compiled. configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=[% c("arch") %]-unknown-linux-gnu --set=target.[% c("arch") %]-unknown-linux-gnu.cc=gcc + osx-x86_64: +var: + arch_deps: +- libssl-dev +- pkg-config + configure_opt: --enable-local-rust --enable-vendor --enable-extended --release-channel=stable --sysconfdir=etc --target=x86_64-apple-darwin --set=target.x86_64-apple-darwin.cc=x86_64-apple-darwin-clang + input_files: - project: container-image - project: cmake name: cmake - - project: gcc -name: gcc -enable: '[% c("var/linux") %]' + - project: '[% c("var/compiler") %]' +name: '[% c("var/compiler") %]' - URL: 'https://static.rust-lang.org/dist/rustc-[% c("version") %]-src.tar.gz' name: rust sig_ext: asc ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Don't use console object for logging
commit 482abfb95de85bce98043338d8f7fcad9f6b7845 Author: Arthur EdelsteinDate: Thu May 17 23:05:44 2018 -0700 Bug 26100: Don't use console object for logging --- src/modules/tor-control-port.js | 11 +++ 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/modules/tor-control-port.js b/src/modules/tor-control-port.js index 2b75e22..2c39936 100644 --- a/src/modules/tor-control-port.js +++ b/src/modules/tor-control-port.js @@ -26,14 +26,9 @@ Cu.import("resource://gre/modules/Services.jsm"); // __log__. // Logging function -let log; -if ((typeof console) !== "undefined") { - log = x => console.log(typeof(x) === "string" ? x.trimRight().replace(/\r\n/g, "\n") : JSON.stringify(x)); -} else { - let logger = Cc["@torproject.org/torbutton-logger;1"] - .getService(Components.interfaces.nsISupports).wrappedJSObject; - log = x => logger.eclog(3, x.trimRight().replace(/\r\n/g, "\n")); -} +let logger = Cc["@torproject.org/torbutton-logger;1"] + .getService(Components.interfaces.nsISupports).wrappedJSObject; +let log = x => logger.eclog(3, x.trimRight().replace(/\r\n/g, "\n")); // ### announce this file log("Loading tor-control-port.js\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 26100: Update about:tor code after changes in the resource and js
commit e37b97e4af14fdbccfcb485f6b4ecf136aeb2e18 Author: Igor OliveiraDate: Thu May 17 16:13:47 2018 -0300 Bug 26100: Update about:tor code after changes in the resource and js code - Move all the resource files to the same directory and change the chrome.manifest file to allow them to be accessible by the chrome.[1] - jsversion.h was removed, we don't need to specify the JS version anymore.[2] - Since Torbutton has now logic to load the default preferences and we don't know when a string is a complex data, for the sake of simplicity, we are now retiring non-localized.properties and hard coding the about:tor in the preferences file. - Use tabbrowser-initialBrowser instead of content [1] https://bugzilla.mozilla.org/show_bug.cgi?id=863246 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1440043 --- src/chrome.manifest | 1 + src/chrome/content/aboutTor/aboutTor.xhtml| 4 ++-- src/chrome/content/locale/non-localized.properties| 6 -- src/chrome/content/torbutton.js | 2 +- src/chrome/skin/aboutTor.css | 14 +++--- .../{content/aboutTor => skin}/onionArrow-extension.png | Bin .../{content/aboutTor => skin}/onionArrow-leftBend.png| Bin .../{content/aboutTor => skin}/onionArrow-rightBend.png | Bin .../{content/aboutTor => skin}/onionArrow-short.png | Bin src/chrome/{content/aboutTor => skin}/search.png | Bin src/chrome/{content/aboutTor => skin}/tor-off.png | Bin src/chrome/{content/aboutTor => skin}/tor-on.png | Bin src/defaults/preferences/preferences.js | 2 +- 13 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/chrome.manifest b/src/chrome.manifest index 230a1e6..7b57d39 100644 --- a/src/chrome.manifest +++ b/src/chrome.manifest @@ -6,6 +6,7 @@ overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome: overlay about:addons chrome://torbutton/content/torbutton-extensions.xul overlay chrome://mozapps/content/extensions/extensions.xul chrome://torbutton/content/torbutton-extensions.xul resource torbutton ./ +resource torbutton-assets resource://torbutton/chrome/skin/ contentaccessible=yes # browser branding override chrome://branding/locale/brand.dtd chrome://torbutton/locale/brand.dtd diff --git a/src/chrome/content/aboutTor/aboutTor.xhtml b/src/chrome/content/aboutTor/aboutTor.xhtml index 0d8f680..5cb2a60 100644 --- a/src/chrome/content/aboutTor/aboutTor.xhtml +++ b/src/chrome/content/aboutTor/aboutTor.xhtml @@ -20,8 +20,8 @@
[tor-commits] [torbutton/master] Bug 26100: baseMenuOverlay.xul was removed by Mozilla
commit 5905b318d348f608f6c8e59dccac28015aea6672 Author: Igor OliveiraDate: Thu May 17 14:28:58 2018 -0300 Bug 26100: baseMenuOverlay.xul was removed by Mozilla Now it is inline in the browser.xul[1]. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1441378 --- src/chrome.manifest | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chrome.manifest b/src/chrome.manifest index f72fffa..230a1e6 100644 --- a/src/chrome.manifest +++ b/src/chrome.manifest @@ -13,7 +13,7 @@ override chrome://branding/locale/brand.properties chrome://torbutton/locale/bra overlay chrome://browser/content/aboutDialog.xul chrome://torbutton/content/aboutDialog.xul # UI customization -overlay chrome://browser/content/baseMenuOverlay.xul chrome://torbutton/content/menu-overlay.xul +overlay chrome://browser/content/browser.xul chrome://torbutton/content/menu-overlay.xul overlay about:preferences chrome://torbutton/content/privacy-prefs-overlay.xul overlay chrome://browser/content/browser.xul chrome://torbutton/content/tor-circuit-display.xul ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Migrate general.useragent.locale to intl.locale.requested
commit 399d2ba81505e4a74535b61f60563f4a9c2a8f6d Author: Igor OliveiraDate: Wed Feb 28 13:43:48 2018 -0300 Bug 26100: Migrate general.useragent.locale to intl.locale.requested intl.locale.requested is the new way that Gecko handles locales. See https://bugzilla.mozilla.org/show_bug.cgi?id=1414390 --- src/chrome/content/aboutTor/aboutTor-content.js | 6 -- src/chrome/content/menu-overlay.xul | 2 +- src/chrome/content/preferences.js | 5 - src/chrome/content/torbutton.js | 10 +- src/modules/utils.js| 10 -- 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/src/chrome/content/aboutTor/aboutTor-content.js b/src/chrome/content/aboutTor/aboutTor-content.js index ec515bb..1a8d5cf 100644 --- a/src/chrome/content/aboutTor/aboutTor-content.js +++ b/src/chrome/content/aboutTor/aboutTor-content.js @@ -67,8 +67,10 @@ var AboutTorListener = { onPageLoad: function() { // Arrange to update localized text and links. -bindPrefAndInit("general.useragent.locale", aNewVal => { - this.onLocaleChange(aNewVal); +bindPrefAndInit("intl.locale.requested", aNewVal => { + if (aNewVal !== null) { +this.onLocaleChange(aNewVal); + } }); // Add message and event listeners. diff --git a/src/chrome/content/menu-overlay.xul b/src/chrome/content/menu-overlay.xul index 53654c5..f6c6fbd 100644 --- a/src/chrome/content/menu-overlay.xul +++ b/src/chrome/content/menu-overlay.xul @@ -22,6 +22,6 @@ position="1" label="_user_manual.label;" accesskey="_user_manual.accesskey;" - oncommand="gBrowser.selectedTab = gBrowser.addTab('https://tb-manual.torproject.org/' + Services.prefs.getCharPref('general.useragent.locale'))" /> + oncommand="gBrowser.selectedTab = gBrowser.addTab('https://tb-manual.torproject.org/' + Services.locale.getRequestedLocale())" /> diff --git a/src/chrome/content/preferences.js b/src/chrome/content/preferences.js index 721ff46..36c8818 100644 --- a/src/chrome/content/preferences.js +++ b/src/chrome/content/preferences.js @@ -5,6 +5,9 @@ let { utils: Cu } = Components; let { getBoolPref, getIntPref, setBoolPref, setIntPref, getCharPref } = Cu.import("resource://gre/modules/Services.jsm", {}).Services.prefs; +let { getLocale } = +Cu.import("resource://torbutton/modules/utils.js", {}); + // Description elements have the follow names. const descNames = [, "desc_safest", "desc_safer", "desc_standard"]; @@ -67,7 +70,7 @@ function torbutton_set_learn_more_links() { let show_manual = window.opener.torbutton_show_torbrowser_manual(); let locale = "" if (show_manual) { -locale = getCharPref('general.useragent.locale'); +locale = getLocale(); } let links = linkNames.map(name => document.getElementById(name)); links.forEach(link => {; diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js index 2f1f689..d744d15 100644 --- a/src/chrome/content/torbutton.js +++ b/src/chrome/content/torbutton.js @@ -10,7 +10,7 @@ let { LoadContextInfo } = Cu.import('resource://gre/modules/LoadContextInfo.jsm', {}); let { Services } = Cu.import("resource://gre/modules/Services.jsm", {}); let { showDialog } = Cu.import("resource://torbutton/modules/utils.js", {}); -let { unescapeTorString } = Cu.import("resource://torbutton/modules/utils.js", {}); +let { getLocale, unescapeTorString } = Cu.import("resource://torbutton/modules/utils.js", {}); let SecurityPrefs = Cu.import("resource://torbutton/modules/security-prefs.js", {}); let { bindPrefAndInit, observe } = Cu.import("resource://torbutton/modules/utils.js", {}); @@ -818,14 +818,14 @@ function torbutton_update_toolbutton() // Bug 1506 P3: Support code for language+uagent spoofing function torbutton_get_general_useragent_locale() { try { -var locale = m_tb_prefs.getCharPref("general.useragent.locale"); +const locale = getLocale(); if (/chrome:\/\//.test(locale)) { -return m_tb_prefs.getComplexValue("general.useragent.locale", +return m_tb_prefs.getComplexValue("intl.locale.requested", Components.interfaces.nsIPrefLocalizedString).data; } return locale; } catch(err) { -torbutton_log(4, "Error while getting general.useragent.locale:" + err); +torbutton_log(4, "Error while getting locale" + err); return 'en-US'; } } @@ -2380,7 +2380,7 @@ function torbutton_show_torbrowser_manual() { // torbutton_show_torbrowser_manual() returns true. function torbutton_init_user_manual_links() { let menuitem = document.getElementById("torBrowserUserManual"); - bindPrefAndInit("general.useragent.locale", val => { + bindPrefAndInit("intl.locale.requested", val => { menuitem.hidden = !torbutton_show_torbrowser_manual();
[tor-commits] [torbutton/master] Bug 26100: Load extension preferences during initialization
commit e5ecb22e0f4bfec84935f8266cc1520642301660 Author: Igor OliveiraDate: Mon May 14 17:56:18 2018 -0300 Bug 26100: Load extension preferences during initialization Mozilla removed the code that loads the default extension preferences[1]. Thus we need to load them in the startup time. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1413413 --- src/chrome/content/torbutton.js | 8 src/components/cookie-jar-selector.js | 4 src/components/domain-isolator.js | 11 --- src/components/dragDropFilter.js | 2 ++ src/components/startup-observer.js| 9 ++--- src/components/torbutton-logger.js| 19 ++- src/modules/default-prefs.js | 30 ++ 7 files changed, 64 insertions(+), 19 deletions(-) diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js index cf39dc2..40d63fd 100644 --- a/src/chrome/content/torbutton.js +++ b/src/chrome/content/torbutton.js @@ -1217,7 +1217,7 @@ function torbutton_do_new_identity() { torbutton_log(3, "New Identity: Syncing prefs"); // Force prefs to be synced to disk - m_tb_prefs.savePrefFile(null); + Services.prefs.savePrefFile(null); torbutton_log(3, "New Identity: Clearing permissions"); @@ -1634,7 +1634,7 @@ function torbutton_update_disk_prefs() { } catch (e) {} // Force prefs to be synced to disk -m_tb_prefs.savePrefFile(null); +Services.prefs.savePrefFile(null); } function torbutton_update_fingerprinting_prefs() { @@ -1667,7 +1667,7 @@ function torbutton_update_fingerprinting_prefs() { m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode); // Force prefs to be synced to disk -m_tb_prefs.savePrefFile(null); +Services.prefs.savePrefFile(null); } function torbutton_update_isolation_prefs() { @@ -1682,7 +1682,7 @@ function torbutton_update_isolation_prefs() { m_tb_prefs.setBoolPref("security.enable_tls_session_tickets", !isolate); // Force prefs to be synced to disk -m_tb_prefs.savePrefFile(null); +Services.prefs.savePrefFile(null); } // This function closes all XUL browser windows except this one. For this diff --git a/src/components/cookie-jar-selector.js b/src/components/cookie-jar-selector.js index 4f137d7..8456da3 100644 --- a/src/components/cookie-jar-selector.js +++ b/src/components/cookie-jar-selector.js @@ -19,6 +19,10 @@ const kMODULE_CONTRACTID = "@torproject.org/cookie-jar-selector;1"; const kMODULE_CID = Components.ID("e6204253-b690-4159-bfe8-d4eedab6b3be"); const Cr = Components.results; +const Cu = Components.utils; + +Cu.import("resource://torbutton/modules/default-prefs.js", {}) + .ensureDefaultPrefs(); // XXX: Must match the definition in torcookie.js :/ function Cookie(number,name,value,isDomain,host,rawHost,HttpOnly,path,isSecure,isSession, diff --git a/src/components/domain-isolator.js b/src/components/domain-isolator.js index a52..a698439 100644 --- a/src/components/domain-isolator.js +++ b/src/components/domain-isolator.js @@ -16,6 +16,12 @@ const Cc = Components.classes, Ci = Components.interfaces, Cu = Components.utils let logger = Cc["@torproject.org/torbutton-logger;1"] .getService(Components.interfaces.nsISupports).wrappedJSObject; +let { ensureDefaultPrefs } = Cu.import("resource://torbutton/modules/default-prefs.js", {}); +ensureDefaultPrefs(); + +// Import Services object +Cu.import("resource://gre/modules/Services.jsm"); + // Import crypto object (FF 37+). Cu.importGlobalProperties(["crypto"]); @@ -165,6 +171,7 @@ Cu.import("resource://gre/modules/XPCOMUtils.jsm"); function DomainIsolator() { this.wrappedJSObject = this; } + // Firefox component requirements DomainIsolator.prototype = { QueryInterface: XPCOMUtils.generateQI([Ci.nsISupports, Ci.nsIObserver]), @@ -175,9 +182,7 @@ DomainIsolator.prototype = { if (topic === "profile-after-change") { logger.eclog(3, "domain isolator: set up isolating circuits by domain"); - let prefs = Cc["@mozilla.org/preferences-service;1"] - .getService(Ci.nsIPrefBranch); - if (prefs.getBoolPref("extensions.torbutton.use_nontor_proxy")) { + if (Services.prefs.getBoolPref("extensions.torbutton.use_nontor_proxy")) { tor.isolationEnabled = false; } tor.isolateCircuitsByDomain(); diff --git a/src/components/dragDropFilter.js b/src/components/dragDropFilter.js index 22dde86..916b835 100644 --- a/src/components/dragDropFilter.js +++ b/src/components/dragDropFilter.js @@ -9,6 +9,8 @@ const Cc = Components.classes; const Ci = Components.interfaces; const Cu = Components.utils; +Cu.import("resource://torbutton/modules/default-prefs.js", {}).ensureDefaultPrefs(); + Cu.import("resource://gre/modules/XPCOMUtils.jsm"); // Module specific constants diff --git a/src/components/startup-observer.js
[tor-commits] [torbutton/master] Bug 26100: Use inputStream.asyncWait instead of nsIInputStreamPump
commit 2764f9a0019b1eb8704e6748bfa46b9f58aaf74a Author: Arthur EdelsteinDate: Thu May 17 22:35:51 2018 -0700 Bug 26100: Use inputStream.asyncWait instead of nsIInputStreamPump --- src/modules/tor-control-port.js | 39 +++ 1 file changed, 15 insertions(+), 24 deletions(-) diff --git a/src/modules/tor-control-port.js b/src/modules/tor-control-port.js index 3491efc..2b75e22 100644 --- a/src/modules/tor-control-port.js +++ b/src/modules/tor-control-port.js @@ -68,35 +68,26 @@ io.asyncSocketStreams = function (ipcFile, host, port) { }; // __io.pumpInputStream(scriptableInputStream, onInputData, onError)__. -// Run an "input stream pump" that takes an input stream and -// asynchronously pumps incoming data to the onInputData callback. +// Take an input stream and asynchronously pass data to the onInputData callback. io.pumpInputStream = function (inputStream, onInputData, onError) { // Wrap raw inputStream with a "ScriptableInputStream" so we can read incoming data. let ScriptableInputStream = Components.Constructor( "@mozilla.org/scriptableinputstream;1", "nsIScriptableInputStream", "init"), scriptableInputStream = new ScriptableInputStream(inputStream), - // A private method to read all data available on the input stream. - readAll = function() { -return scriptableInputStream.read(scriptableInputStream.available()); - }, - pump = Cc["@mozilla.org/network/input-stream-pump;1"] - .createInstance(Components.interfaces.nsIInputStreamPump); - // Start the pump. - pump.init(inputStream, -1, -1, 0, 0, true); - // Tell the pump to read all data whenever it is available, and pass the data - // to the onInputData callback. The first argument to asyncRead implements - // nsIStreamListener. - pump.asyncRead({ onStartRequest: function (request, context) { }, - onStopRequest: function (request, context, code) { }, - onDataAvailable : function (request, context, stream, offset, count) { - try { - onInputData(readAll()); - } catch (error) { - // readAll() or onInputData(...) has thrown an error. - // Notify calling code through onError. - onError(error); - } - } }, null); + awaitNextChunk = function () { +inputStream.asyncWait({ + onInputStreamReady: (stream) => { +try { + let chunk = scriptableInputStream.read(scriptableInputStream.available()); + onInputData(chunk); + awaitNextChunk(); +} catch (err) { + onError(err); +} + } +}, 0, 0, Services.tm.currentThread); + }; + awaitNextChunk(); }; // __io.asyncSocket(ipcFile, host, port, onInputData, onError)__. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Use new asynchronous applyFilter
commit d07608265a3720f6f0a35f1e1bfa3c4d08706861 Author: Arthur EdelsteinDate: Wed May 16 13:48:39 2018 -0700 Bug 26100: Use new asynchronous applyFilter applyFilter changed its signature to include a callback object: https://hg.mozilla.org/mozilla-central/rev/77c14093bc69 --- src/components/domain-isolator.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/domain-isolator.js b/src/components/domain-isolator.js index a698439..fc28703 100644 --- a/src/components/domain-isolator.js +++ b/src/components/domain-isolator.js @@ -43,8 +43,8 @@ mozilla.protocolProxyService = Cc["@mozilla.org/network/protocol-proxy-service;1 // for the given channel, and should return a new Proxy or list of Proxies. mozilla.registerProxyChannelFilter = function (filterFunction, positionIndex) { let proxyFilter = { -applyFilter : function (aProxyService, aChannel, aProxy) { - return filterFunction(aChannel, aProxy); +applyFilter : function (aProxyService, aChannel, aProxy, aCallback) { + aCallback.onProxyFilterResult(filterFunction(aChannel, aProxy)); } }; mozilla.protocolProxyService.registerChannelFilter(proxyFilter, positionIndex); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Update deprecated JS and CSS code
commit 3047f3fcb9c606a659c6e7ffa7e4d97e33cd0ebe Author: Igor OliveiraDate: Wed Feb 28 17:38:59 2018 -0300 Bug 26100: Update deprecated JS and CSS code - catch statement can not have if statements. https://bugzilla.mozilla.org/show_bug.cgi?id=1228841 - Use 0o to represent octal numbers. https://bugzilla.mozilla.org/show_bug.cgi?id=1263074 - remove -moz- prefix in css https://bugzilla.mozilla.org/show_bug.cgi?id=1270406 --- src/chrome/content/torbutton.js | 9 ++--- src/chrome/skin/aboutTor.css| 6 +++--- src/chrome/skin/tor-circuit-display.css | 4 ++-- src/components/cookie-jar-selector.js | 4 ++-- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js index d744d15..4b15c5f 100644 --- a/src/chrome/content/torbutton.js +++ b/src/chrome/content/torbutton.js @@ -1140,9 +1140,12 @@ function torbutton_do_new_identity() { // #5715 also makes this synchronous. So we pass a null callback. try { appCacheStorage.asyncEvictStorage(null); - } catch (err if err.name == 'NS_ERROR_NOT_AVAILABLE') { -// We ignore "not available" errors because they occur if a cache -// has not been used, e.g., if no browsing has been done. + } catch (err) { + // We ignore "not available" errors because they occur if a cache + // has not been used, e.g., if no browsing has been done. + if (err.name !== 'NS_ERROR_NOT_AVAILABLE') { + throw err; + } } } } catch(e) { diff --git a/src/chrome/skin/aboutTor.css b/src/chrome/skin/aboutTor.css index 7ba7e7c..873f6d0 100644 --- a/src/chrome/skin/aboutTor.css +++ b/src/chrome/skin/aboutTor.css @@ -25,11 +25,11 @@ body { } body { - background-image: -moz-linear-gradient(top, #ff, #ff 10%, #dd 50%, #dd); + background-image: linear-gradient(to bottom, #ff, #ff 10%, #dd 50%, #dd); } body[toron] { - background-image: -moz-linear-gradient(top, #ff, #ff 10%, #d5ffd5 50%, #d5ffd5); + background-image: linear-gradient(to bottom, #ff, #ff 10%, #d5ffd5 50%, #d5ffd5); } /* Hide the entire document by default to avoid showing the incorrect @@ -221,7 +221,7 @@ body .top div.hideIfTorIsUpToDate h1 { padding: 5px 0 0 22px; } -#middle ul:-moz-dir(rtl) { +#middle ul:dir(rtl) { padding: 5px 22px 0 0; } diff --git a/src/chrome/skin/tor-circuit-display.css b/src/chrome/skin/tor-circuit-display.css index 640d595..c9e682a 100644 --- a/src/chrome/skin/tor-circuit-display.css +++ b/src/chrome/skin/tor-circuit-display.css @@ -21,7 +21,7 @@ and lines drawn between them to represent Tor network inter-relay connections. width: 100%; } -#circuit-display-content:-moz-locale-dir(rtl) { +#circuit-display-content:dir(rtl) { background-position: calc(100% - 1em) 1em; } @@ -65,7 +65,7 @@ ul#circuit-display-nodes li { white-space: nowrap; } -ul#circuit-display-nodes li:-moz-locale-dir(rtl) { +ul#circuit-display-nodes li:dir(rtl) { background-position: right center; } diff --git a/src/components/cookie-jar-selector.js b/src/components/cookie-jar-selector.js index f6d579e..4f137d7 100644 --- a/src/components/cookie-jar-selector.js +++ b/src/components/cookie-jar-selector.js @@ -143,7 +143,7 @@ function CookieJarSelector() { var file = getProfileFile("cookies-" + name + ".json"); var foStream = Cc["@mozilla.org/network/file-output-stream;1"] .createInstance(Ci.nsIFileOutputStream); -foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); +foStream.init(file, 0x02 | 0x08 | 0x20, 0o666, 0); var data = JSON.stringify(this["cookiesobj-" + name]); foStream.write(data, data.length); foStream.close(); @@ -154,7 +154,7 @@ function CookieJarSelector() { var file = getProfileFile("protected-" + name + ".json"); var foStream = Cc["@mozilla.org/network/file-output-stream;1"] .createInstance(Ci.nsIFileOutputStream); -foStream.init(file, 0x02 | 0x08 | 0x20, 0666, 0); +foStream.init(file, 0x02 | 0x08 | 0x20, 0o666, 0); var data = JSON.stringify(this["protected-" + name]); foStream.write(data, data.length); foStream.close(); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Update xmlhttprequest calls after changes in xpcom interface
commit 91f1c5deae6fb8415e0c22a99d4c0c3eac7db7b5 Author: Igor OliveiraDate: Wed Feb 28 17:42:33 2018 -0300 Bug 26100: Update xmlhttprequest calls after changes in xpcom interface The xmlhttprequest xpcom interface was deprecated in favor of the XMLHttpRequest. --- src/chrome/content/torbutton.js| 12 +++- src/components/torCheckService.js | 5 ++--- src/components/torbutton-logger.js | 4 +--- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/chrome/content/torbutton.js b/src/chrome/content/torbutton.js index 4b15c5f..cf39dc2 100644 --- a/src/chrome/content/torbutton.js +++ b/src/chrome/content/torbutton.js @@ -7,13 +7,14 @@ // TODO: Double-check there are no strange exploits to defeat: // http://kb.mozillazine.org/Links_to_local_pages_don%27t_work -let { LoadContextInfo } = Cu.import('resource://gre/modules/LoadContextInfo.jsm', {}); let { Services } = Cu.import("resource://gre/modules/Services.jsm", {}); let { showDialog } = Cu.import("resource://torbutton/modules/utils.js", {}); let { getLocale, unescapeTorString } = Cu.import("resource://torbutton/modules/utils.js", {}); let SecurityPrefs = Cu.import("resource://torbutton/modules/security-prefs.js", {}); let { bindPrefAndInit, observe } = Cu.import("resource://torbutton/modules/utils.js", {}); +Cu.importGlobalProperties(["XMLHttpRequest"]); + const k_tb_last_browser_version_pref = "extensions.torbutton.lastBrowserVersion"; const k_tb_browser_update_needed_pref = "extensions.torbutton.updateNeeded"; const k_tb_last_update_check_pref = "extensions.torbutton.lastUpdateCheck"; @@ -733,9 +734,7 @@ function torbutton_do_async_versioncheck() { torbutton_log(3, "Checking version with socks port: " +m_tb_prefs.getIntPref("network.proxy.socks_port")); try { -var req = Components.classes["@mozilla.org/xmlextras/xmlhttprequest;1"] - .createInstance(Components.interfaces.nsIXMLHttpRequest); -//var req = new XMLHttpRequest(); Blocked by content policy +var req = new XMLHttpRequest(); var url = m_tb_prefs.getCharPref("extensions.torbutton.versioncheck_url"); req.open('GET', url, true); req.channel.loadFlags |= Ci.nsIRequest.LOAD_BYPASS_CACHE; @@ -1130,6 +1129,9 @@ function torbutton_do_new_identity() { torbutton_log(3, "New Identity: Clearing Offline Cache"); try { +const LoadContextInfo = Cc["@mozilla.org/load-context-info-factory;1"] + .getService(Ci.nsILoadContextInfoFactory); + for (let contextInfo of [LoadContextInfo.default, LoadContextInfo.private]) { let appCacheStorage = Services.cache2.appCacheStorage(contextInfo, null); // The following call (asyncEvictStorage) is actually synchronous, either @@ -2023,7 +2025,7 @@ let stopLanguagePromptObserver; function torbutton_new_window(event) { torbutton_log(3, "New window"); -var browser = getBrowser(); +var browser = window.gBrowser; if(!browser) { torbutton_log(5, "No browser for new window."); diff --git a/src/components/torCheckService.js b/src/components/torCheckService.js index 04708d4..19e13f4 100644 --- a/src/components/torCheckService.js +++ b/src/components/torCheckService.js @@ -77,9 +77,8 @@ TBTorCheckService.prototype = createCheckRequest: function(aAsync) { -let req = Cc["@mozilla.org/xmlextras/xmlhttprequest;1"] - .createInstance(Ci.nsIXMLHttpRequest); -//let req = new XMLHttpRequest(); Blocked by content policy +Cu.importGlobalProperties(["XMLHttpRequest"]); +let req = new XMLHttpRequest(); let prefs = Cc["@mozilla.org/preferences-service;1"] .getService(Ci.nsIPrefBranch); let url = prefs.getCharPref("extensions.torbutton.test_url"); diff --git a/src/components/torbutton-logger.js b/src/components/torbutton-logger.js index 620113f..18a5f1e 100644 --- a/src/components/torbutton-logger.js +++ b/src/components/torbutton-logger.js @@ -22,9 +22,7 @@ function TorbuttonLogger() { .getService(Components.interfaces.nsIPrefBranch); // Register observer -var pref_service = Components.classes["@mozilla.org/preferences-service;1"] -.getService(Components.interfaces.nsIPrefBranchInternal); -this._branch = pref_service.QueryInterface(Components.interfaces.nsIPrefBranchInternal); +this._branch = this.prefs.QueryInterface(Components.interfaces.nsIPrefBranch); this._branch.addObserver("extensions.torbutton", this, false); this.loglevel = this.prefs.getIntPref("extensions.torbutton.loglevel"); ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [torbutton/master] Bug 26100: Switch from Task.spawn to async/await
commit c4a44294290fc96471646ae1ff39fb55d2dedf92 Author: Igor OliveiraDate: Mon May 14 17:56:26 2018 -0300 Bug 26100: Switch from Task.spawn to async/await Mozilla switched from Task.spawn to async/await[1] and we should follow it since it makes the code simple. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1353542 --- src/chrome/content/tor-circuit-display.js | 29 ++--- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/chrome/content/tor-circuit-display.js b/src/chrome/content/tor-circuit-display.js index 5bd02bc..7b12db0 100644 --- a/src/chrome/content/tor-circuit-display.js +++ b/src/chrome/content/tor-circuit-display.js @@ -28,7 +28,6 @@ let createTorCircuitDisplay = (function () { // Mozilla utilities const { Cu : utils , Ci : interfaces } = Components.utils; Cu.import("resource://gre/modules/Services.jsm"); -Cu.import("resource://gre/modules/Task.jsm"); // Import the controller code. let { controller } = Cu.import("resource://torbutton/modules/tor-control-port.js", {}); @@ -59,8 +58,8 @@ let trimQuotes = s => s ? s.match(/^"(.*)"$/)[1] : undefined; // __getBridge(id)__. // Gets the bridge parameters for a given node ID. If the node // is not currently used as a bridge, returns null. -let getBridge = function* (controller, id) { - let bridges = yield controller.getConf("bridge"); +let getBridge = async function (controller, id) { + let bridges = await controller.getConf("bridge"); if (bridges) { for (let bridge of bridges) { if (bridge.ID && bridge.ID.toUpperCase() === id.toUpperCase()) { @@ -75,9 +74,9 @@ let getBridge = function* (controller, id) { // Returns the type, IP and country code of a node with given ID. // Example: `nodeDataForID(controller, "20BC91DC525C3DC9974B29FBEAB51230DE024C44")` // => `{ type : "default", ip : "12.23.34.45", countryCode : "fr" }` -let nodeDataForID = function* (controller, id) { +let nodeDataForID = async function (controller, id) { let result = {}, - bridge = yield getBridge(controller, id); // type, ip, countryCode; + bridge = await getBridge(controller, id); // type, ip, countryCode; if (bridge) { result.type = "bridge"; result.bridgeType = bridge.type; @@ -89,14 +88,14 @@ let nodeDataForID = function* (controller, id) { result.type = "default"; // Get the IP address for the given node ID. try { - let statusMap = yield controller.getInfo("ns/id/" + id); + let statusMap = await controller.getInfo("ns/id/" + id); result.ip = statusMap.IP; } catch (e) { } } if (result.ip) { // Get the country code for the node's IP address. try { - let countryCode = yield controller.getInfo("ip-to-country/" + result.ip); + let countryCode = await controller.getInfo("ip-to-country/" + result.ip); result.countryCode = countryCode === "??" ? null : countryCode; } catch (e) { } } @@ -105,18 +104,18 @@ let nodeDataForID = function* (controller, id) { // __nodeDataForCircuit(controller, circuitEvent)__. // Gets the information for a circuit. -let nodeDataForCircuit = function* (controller, circuitEvent) { +let nodeDataForCircuit = async function (controller, circuitEvent) { let rawIDs = circuitEvent.circuit.map(circ => circ[0]), // Remove the leading '$' if present. ids = rawIDs.map(id => id[0] === "$" ? id.substring(1) : id); // Get the node data for all IDs in circuit. - return [for (id of ids) yield nodeDataForID(controller, id)]; + return Promise.all(ids.map(id => nodeDataForID(controller, id))); }; // __getCircuitStatusByID(aController, circuitID)__ // Returns the circuit status for the circuit with the given ID. -let getCircuitStatusByID = function* (aController, circuitID) { - let circuitStatuses = yield aController.getInfo("circuit-status"); +let getCircuitStatusByID = async function (aController, circuitID) { + let circuitStatuses = await aController.getInfo("circuit-status"); if (circuitStatuses) { for (let circuitStatus of circuitStatuses) { if (circuitStatus.id === circuitID) { @@ -139,22 +138,22 @@ let collectIsolationData = function (aController, updateUI) { return aController.watchEvent( "STREAM", streamEvent => streamEvent.StreamStatus === "SENTCONNECT", -streamEvent => Task.spawn(function* () { +async (streamEvent) => { if (!knownCircuitIDs[streamEvent.CircuitID]) { logger.eclog(3, "streamEvent.CircuitID: " + streamEvent.CircuitID); knownCircuitIDs[streamEvent.CircuitID] = true; -let circuitStatus = yield getCircuitStatusByID(aController, streamEvent.CircuitID), +let circuitStatus = await getCircuitStatusByID(aController, streamEvent.CircuitID), credentials = circuitStatus ? (trimQuotes(circuitStatus.SOCKS_USERNAME) + "|" +