[tor-commits] [translation/torbutton-torbuttonproperties] Update translations for torbutton-torbuttonproperties
commit dbd9f562fc8d01ba7be446983f64ea9adc884c1a Author: Translation commit bot Date: Sun Mar 27 15:15:52 2016 + Update translations for torbutton-torbuttonproperties --- tr/torbutton.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tr/torbutton.properties b/tr/torbutton.properties index e705c1d..6722796 100644 --- a/tr/torbutton.properties +++ b/tr/torbutton.properties @@ -76,4 +76,4 @@ profileProblemTitle=%S Profili Sorunu profileReadOnly=%S salt okunur bir dosya sisteminden çalıÅtırılamaz. Lütfen kullanmadan önce %S yazılımını farklı bir konuma kopyalayın. profileReadOnlyMac=%S salt okunur bir dosya sisteminden çalıÅtırılamaz. Lütfen kullanmadan önce %S yazılımını Masaüstü veya Uygulamalar klasörüne kopyalayın. profileAccessDenied=%S, profilinize eriÅemiyor. Lütfen dosya sistemi izinlerini ayarlayarak yeniden deneyin. -profileMigrationFailed=Migration of your existing %S profile failed.\nNew settings will be used. +profileMigrationFailed=Varolan %S profilinizin taÅınma iÅlemi baÅarısız oldu.\nYeni ayarlar kullanılacak. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] begin client sub-readme
commit 2515ddb1fa4fa744cc86d9a72468ba53a1dfc7dd Author: Serene Han Date: Mon Mar 21 23:18:17 2016 -0700 begin client sub-readme --- client/README.md | 23 +++ 1 file changed, 23 insertions(+) diff --git a/client/README.md b/client/README.md new file mode 100644 index 000..294d9ee --- /dev/null +++ b/client/README.md @@ -0,0 +1,23 @@ +This is the Tor client component of Snowflake. + +It is based on goptlib. + +### Flags + +The client uses these following `torrc` options by default: +``` +ClientTransportPlugin snowflake exec ./client \ +-url https://snowflake-reg.appspot.com/ \ +-front www.google.com \ +-ice stun:stun.l.google.com:19302 +``` + +`-url` should be the URL of a Broker instance. This is required to have +automated signalling (which is desired in most use cases). +When omitted, the client uses copy-paste signalling instead. + +`-front` is an optional front domain for the Broker request. + +`-ice` is a comma-separated list of ICE servers. These can be STUN or TURN +servers. + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] create and removing from webrtcRemotes test
commit f024f6b832dc587b60809b2cebf29068a13a3759 Author: Serene Han Date: Sat Mar 26 18:34:04 2016 -0700 create and removing from webrtcRemotes test --- client/client_test.go | 14 ++ 1 file changed, 14 insertions(+) diff --git a/client/client_test.go b/client/client_test.go index 5e683ba..1f6f0a6 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -49,6 +49,7 @@ func (m *MockTransport) RoundTrip(req *http.Request) (*http.Response, error) { func TestConnect(t *testing.T) { Convey("Snowflake", t, func() { + webrtcRemotes = make(map[int]*webRTCConn) Convey("WebRTC Connection", func() { c := new(webRTCConn) @@ -58,6 +59,19 @@ func TestConnect(t *testing.T) { } So(c.buffer.Bytes(), ShouldEqual, nil) + Convey("Create and remove from WebRTCConn set", func() { + So(len(webrtcRemotes), ShouldEqual, 0) + So(remoteIndex, ShouldEqual, 0) + s := NewWebRTCConnection(nil, nil) + So(s, ShouldNotBeNil) + So(s.index, ShouldEqual, 0) + So(len(webrtcRemotes), ShouldEqual, 1) + So(remoteIndex, ShouldEqual, 1) + s.Close() + So(len(webrtcRemotes), ShouldEqual, 0) + So(remoteIndex, ShouldEqual, 1) + }) + Convey("Write buffers when datachannel is nil", func() { c.Write([]byte("test")) c.snowflake = nil ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] use webrtcRemotes len for capacity instead of the chan
commit b2d7586cb47fdd6cb8df02e303b83b41d51c Author: Serene Han Date: Fri Mar 25 17:03:38 2016 -0700 use webrtcRemotes len for capacity instead of the chan --- client/snowflake.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/snowflake.go b/client/snowflake.go index a9f17cc..fa02178 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -59,7 +59,7 @@ type SnowflakeChannel interface { // transfer to the Tor SOCKS handler when needed. func SnowflakeConnectLoop() { for { - numRemotes := len(snowflakeChan) + numRemotes := len(webrtcRemotes) if numRemotes >= SnowflakeCapacity { log.Println("At Capacity: ", numRemotes, "snowflake. Re-checking in 10s") <-time.After(time.Second * 10) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] begin multiplex snowflake connect loop for #31
commit 451edb6decf7790db2ec0efceb94dc994952b0e8 Author: Serene Han Date: Sun Mar 20 11:11:21 2016 -0700 begin multiplex snowflake connect loop for #31 --- client/snowflake.go | 21 ++--- client/webrtc.go| 3 --- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/client/snowflake.go b/client/snowflake.go index c78eed0..ac593a4 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -12,6 +12,7 @@ import ( "os/signal" "sync" "syscall" + "time" "git.torproject.org/pluggable-transports/goptlib.git" "github.com/keroserene/go-webrtc" @@ -19,10 +20,10 @@ import ( var ptInfo pt.ClientInfo -// var logFile *os.File var brokerURL string var frontDomain string var iceServers IceServerList +var snowflakes []*webRTCConn // When a connection handler starts, +1 is written to this channel; when it // ends, -1 is written. @@ -30,6 +31,7 @@ var handlerChan = make(chan int) const ( ReconnectTimeout = 5 + SnowflakeCapacity = 1 ) func copyLoop(a, b net.Conn) { @@ -53,6 +55,20 @@ type SnowflakeChannel interface { Close() error } +// Maintain |WebRTCSlots| number of open connections to +// transfer to SOCKS when needed. TODO: complete +func SnowflakeConnectLoop() { + for len(snowflakes) < SnowflakeCapacity { + s, err := dialWebRTC() + if err != nil { + snowflakes = append(snowflakes, s) + continue + } + log.Println("WebRTC Error: ", err) + <-time.After(time.Second * ReconnectTimeout) + } +} + // Initialize a WebRTC Connection. func dialWebRTC() (*webRTCConn, error) { // TODO: [#3] Fetch ICE server information from Broker. @@ -82,8 +98,6 @@ func handler(conn *pt.SocksConn) error { defer func() { handlerChan <- -1 }() - defer conn.Close() - log.Println("handler fired:", conn) remote, err := dialWebRTC() if err != nil || remote == nil { @@ -91,6 +105,7 @@ func handler(conn *pt.SocksConn) error { return err } defer remote.Close() + defer conn.Close() webrtcRemote = remote err = conn.Grant(&net.TCPAddr{IP: net.IPv4zero, Port: 0}) diff --git a/client/webrtc.go b/client/webrtc.go index 1300212..55f39e0 100644 --- a/client/webrtc.go +++ b/client/webrtc.go @@ -207,9 +207,6 @@ func (c *webRTCConn) establishDataChannel() error { // Disable the DataChannel as a write destination. log.Println("WebRTC: DataChannel.OnClose [remotely]") c.snowflake = nil - // TODO(issue #12): Need a way to update the circuit so that when a new WebRTC - // data channel is available, the relay actually recognizes the new - // snowflake. c.Reset() } dc.OnMessage = func(msg []byte) { ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [snowflake/master] replace webrtcRemote with webrtcRemotes map & indexing, client multiplexing remotes confirmed working (#31)
commit 22ace32a713558b6c22fc15eed08d781bf503f60 Author: Serene Han Date: Wed Mar 23 19:40:26 2016 -0700 replace webrtcRemote with webrtcRemotes map & indexing, client multiplexing remotes confirmed working (#31) --- client/snowflake.go | 31 --- client/webrtc.go| 14 -- 2 files changed, 20 insertions(+), 25 deletions(-) diff --git a/client/snowflake.go b/client/snowflake.go index 101d26f..a9f17cc 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -22,7 +22,7 @@ var ptInfo pt.ClientInfo const ( ReconnectTimeout = 5 - SnowflakeCapacity = 1 + SnowflakeCapacity = 3 ) var brokerURL string @@ -55,12 +55,13 @@ type SnowflakeChannel interface { Close() error } -// Maintain |WebRTCSlots| number of open connections to -// transfer to SOCKS when needed. TODO: complete +// Maintain |SnowflakeCapacity| number of available WebRTC connections, to +// transfer to the Tor SOCKS handler when needed. func SnowflakeConnectLoop() { for { - if len(snowflakeChan) >= SnowflakeCapacity { - log.Println("At Capacity: ", len(snowflakeChan), "snowflake. Re-checking in 10s") + numRemotes := len(snowflakeChan) + if numRemotes >= SnowflakeCapacity { + log.Println("At Capacity: ", numRemotes, "snowflake. Re-checking in 10s") <-time.After(time.Second * 10) continue } @@ -70,9 +71,6 @@ func SnowflakeConnectLoop() { <-time.After(time.Second * ReconnectTimeout) continue } - - log.Println("Created a snowflake.") - // TODO: Better handling of multiplex snowflakes. snowflakeChan <- s } } @@ -93,11 +91,9 @@ func dialWebRTC() (*webRTCConn, error) { func endWebRTC() { log.Printf("WebRTC: interruped") - if nil == webrtcRemote { - return + for _, r := range webrtcRemotes { + r.Close() } - webrtcRemote.Close() - webrtcRemote = nil } // Establish a WebRTC channel for SOCKS connections. @@ -106,7 +102,7 @@ func handler(conn *pt.SocksConn) error { defer func() { handlerChan <- -1 }() - + // Wait for an available WebRTC remote... remote, ok := <-snowflakeChan if remote == nil || !ok { conn.Reject() @@ -114,8 +110,6 @@ func handler(conn *pt.SocksConn) error { } defer remote.Close() defer conn.Close() - // TODO: Fix this global - webrtcRemote = remote log.Println("handler: Snowflake assigned.") err := conn.Grant(&net.TCPAddr{IP: net.IPv4zero, Port: 0}) @@ -123,8 +117,6 @@ func handler(conn *pt.SocksConn) error { return err } - // TODO: Make SOCKS acceptance more independent from WebRTC so they can - // be more easily interchanged. go copyLoop(conn, remote) // When WebRTC resets, close the SOCKS connection, which induces new handler. <-remote.reset @@ -164,10 +156,10 @@ func readSignalingMessages(f *os.File) { log.Printf("ignoring invalid signal message %+q", msg) continue } - webrtcRemote.answerChannel <- sdp + webrtcRemotes[0].answerChannel <- sdp } log.Printf("close answerChannel") - close(webrtcRemote.answerChannel) + close(webrtcRemotes[0].answerChannel) if err := s.Err(); err != nil { log.Printf("signal FIFO: %s", err) } @@ -211,6 +203,7 @@ func main() { go readSignalingMessages(signalFile) } + webrtcRemotes = make(map[int]*webRTCConn) go SnowflakeConnectLoop() ptInfo, err = pt.ClientSetup(nil) diff --git a/client/webrtc.go b/client/webrtc.go index 022a855..2b907ad 100644 --- a/client/webrtc.go +++ b/client/webrtc.go @@ -24,11 +24,12 @@ type webRTCConn struct { writePipe *io.PipeWriter bufferbytes.Buffer reset chan struct{} - activebool + index int *BytesInfo } -var webrtcRemote *webRTCConn +var webrtcRemotes map[int]*webRTCConn +var remoteIndex int = 0 func (c *webRTCConn) Read(b []byte) (int, error) { return c.recvPipe.Read(b) @@ -53,6 +54,7 @@ func (c *webRTCConn) Close() error { close(c.offerChannel) close(c.answerChannel) close(c.errorChannel) + delete(webrtcRemotes, c.index) return err } @@ -87,7 +89,6 @@ func NewWebRTCConnection(config *webrtc.Configuration, // creation & local description setting, which happens asynchronously. connection.errorChannel = make(chan error, 1) connection.reset = make(chan struct{}, 1) - connection.active = false /
[tor-commits] [snowflake/master] client multiplexing using a webRTCConn channel (#31)
commit a8ea5e586ebf535994d029d1f78c6dd5cfa2b1e4 Author: Serene Han Date: Tue Mar 22 18:03:25 2016 -0700 client multiplexing using a webRTCConn channel (#31) --- client/snowflake.go | 42 +++--- client/webrtc.go| 2 ++ 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/client/snowflake.go b/client/snowflake.go index ac593a4..101d26f 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -20,20 +20,20 @@ import ( var ptInfo pt.ClientInfo +const ( + ReconnectTimeout = 5 + SnowflakeCapacity = 1 +) + var brokerURL string var frontDomain string var iceServers IceServerList -var snowflakes []*webRTCConn +var snowflakeChan = make(chan *webRTCConn, 1) // When a connection handler starts, +1 is written to this channel; when it // ends, -1 is written. var handlerChan = make(chan int) -const ( - ReconnectTimeout = 5 - SnowflakeCapacity = 1 -) - func copyLoop(a, b net.Conn) { var wg sync.WaitGroup wg.Add(2) @@ -58,14 +58,22 @@ type SnowflakeChannel interface { // Maintain |WebRTCSlots| number of open connections to // transfer to SOCKS when needed. TODO: complete func SnowflakeConnectLoop() { - for len(snowflakes) < SnowflakeCapacity { + for { + if len(snowflakeChan) >= SnowflakeCapacity { + log.Println("At Capacity: ", len(snowflakeChan), "snowflake. Re-checking in 10s") + <-time.After(time.Second * 10) + continue + } s, err := dialWebRTC() - if err != nil { - snowflakes = append(snowflakes, s) + if nil == s || nil != err { + log.Println("WebRTC Error: ", err, " retrying...") + <-time.After(time.Second * ReconnectTimeout) continue } - log.Println("WebRTC Error: ", err) - <-time.After(time.Second * ReconnectTimeout) + + log.Println("Created a snowflake.") + // TODO: Better handling of multiplex snowflakes. + snowflakeChan <- s } } @@ -99,16 +107,18 @@ func handler(conn *pt.SocksConn) error { handlerChan <- -1 }() - remote, err := dialWebRTC() - if err != nil || remote == nil { + remote, ok := <-snowflakeChan + if remote == nil || !ok { conn.Reject() - return err + return errors.New("handler: Received invalid Snowflake") } defer remote.Close() defer conn.Close() + // TODO: Fix this global webrtcRemote = remote + log.Println("handler: Snowflake assigned.") - err = conn.Grant(&net.TCPAddr{IP: net.IPv4zero, Port: 0}) + err := conn.Grant(&net.TCPAddr{IP: net.IPv4zero, Port: 0}) if err != nil { return err } @@ -201,6 +211,8 @@ func main() { go readSignalingMessages(signalFile) } + go SnowflakeConnectLoop() + ptInfo, err = pt.ClientSetup(nil) if err != nil { log.Fatal(err) diff --git a/client/webrtc.go b/client/webrtc.go index 55f39e0..022a855 100644 --- a/client/webrtc.go +++ b/client/webrtc.go @@ -24,6 +24,7 @@ type webRTCConn struct { writePipe *io.PipeWriter bufferbytes.Buffer reset chan struct{} + activebool *BytesInfo } @@ -86,6 +87,7 @@ func NewWebRTCConnection(config *webrtc.Configuration, // creation & local description setting, which happens asynchronously. connection.errorChannel = make(chan error, 1) connection.reset = make(chan struct{}, 1) + connection.active = false // Log every few seconds. connection.BytesInfo = &BytesInfo{ ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Don't provide man's '--encoding' argument on OSX
commit 878f90cc3aba39fe86f762ef15bac9f848938f4b Author: Damian Johnson Date: Sun Mar 27 12:33:02 2016 -0700 Don't provide man's '--encoding' argument on OSX Turns out the argument isn't available on OSX. Caught by Sebastian... https://trac.torproject.org/projects/tor/ticket/18660 --- stem/cached_tor_manual.cfg | 6 +++--- stem/manual.py | 10 -- test/integ/manual.py | 3 ++- test/unit/manual.py| 1 + 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/stem/cached_tor_manual.cfg b/stem/cached_tor_manual.cfg index 835024c..fade04b 100644 --- a/stem/cached_tor_manual.cfg +++ b/stem/cached_tor_manual.cfg @@ -6,8 +6,8 @@ description |Basically, Tor provides a distributed network of servers or relays ("onion routers"). Users bounce their TCP streams -- web traffic, ftp, ssh, etc. -- around the network, and recipients, observers, and even the relays themselves have difficulty tracking the source of the stream. | |By default, tor will only act as a client only. To help the network by providing bandwidth as a relay, change the ORPort configuration option -- see below. Please also consult the documentation on the Tor Project's website. -man_commit 424af93ded7e1d9d98733ed17b2b6fee143262b9 -stem_commit 7f4fcf8f6da3941e84376ee67747135e7f34462b +man_commit 94cb8792e8c28e75bc71434fc557ddefa5c03083 +stem_commit 27a654e2e0495c7ac701d792e7db7ed47d4e9753 commandline_options -f FILE => Specify a new configuration file to contain further Tor configuration options OR pass - to make Tor read its configuration from standard input. (Default: @CONFDIR@/torrc, or $HOME/.torrc if that file is not found) commandline_options --ignore-missing-torrc => Specifies that Tor should treat a missing torrc file as though it were empty. Ordinarily, Tor does this for missing default torrc files, but not for those specified on the command line. commandline_options --list-fingerprint => Generate your keys and output your nickname and fingerprint. @@ -110,7 +110,7 @@ config_options.ExcludeNodes.name ExcludeNodes config_options.ExcludeNodes.usage node,node,... config_options.ExcludeNodes.summary Relays or locales never to be used in circuits config_options.ExcludeNodes.description -|A list of identity fingerprints, country codes, and address patterns of nodes to avoid when building a circuit. Country codes are 2-letter ISA3166 codes, and must be wrapped in braces; fingerprints may be preceded by a dollar sign. (Example: ExcludeNodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, {cc}, 255.254.0.0/8) +|A list of identity fingerprints, country codes, and address patterns of nodes to avoid when building a circuit. Country codes are 2-letter ISO3166 codes, and must be wrapped in braces; fingerprints may be preceded by a dollar sign. (Example: ExcludeNodes ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, {cc}, 255.254.0.0/8) | |By default, this option is treated as a preference that Tor is allowed to override in order to keep working. For example, if you try to connect to a hidden service, but you have excluded all of the hidden service's introduction points, Tor will connect to one of them anyway. If you do not want this behavior, set the StrictNodes option (documented below). | diff --git a/stem/manual.py b/stem/manual.py index 31f9ed1..be7b224 100644 --- a/stem/manual.py +++ b/stem/manual.py @@ -360,6 +360,10 @@ class Manual(object): """ Reads and parses a given man page. +On OSX the man command doesn't have an '--encoding' argument so its results +may not quite match other platforms. For instance, it normalizes long +dashes into '--'. + :param str man_path: path argument for 'man', for example you might want '/path/to/tor/doc/tor.1' to read from tor's git repository @@ -368,10 +372,12 @@ class Manual(object): :raises: **IOError** if unable to retrieve the manual """ +man_cmd = 'man %s -P cat %s' % ('' if stem.util.system.is_mac() else '--encoding=ascii', man_path) + try: - man_output = stem.util.system.call('man --encoding=ascii -P cat %s' % man_path, env = {'MANWIDTH': '1000'}) + man_output = stem.util.system.call(man_cmd, env = {'MANWIDTH': '1000'}) except OSError as exc: - raise IOError("Unable to run 'man --encoding=ascii -P cat %s': %s" % (man_path, exc)) + raise IOError("Unable to run '%s': %s" % (man_cmd, exc)) categories, config_options = _get_categories(man_output), OrderedDict() diff --git a/test/integ/manual.py b/test/integ/manual.py index d20c407..dbef86a 100644 --- a/test/integ/manual.py +++ b/test/integ/manual.py @@ -107,7 +107,8 @@ class TestManual(unittest.TestCase): stem.manual.download_man_page(file_handle = tmp) self.man_path = tmp.name -self.man_content = stem.util.system.call('man --encoding=ascii -P cat %s' % self.man_path, env = {'MANWIDTH': '1000'}) +man_cmd = 'man %s -P cat %s'
[tor-commits] [snowflake/master] Use 192.81.135.242:9902 as the default relay.
commit 57c0724491ecab7abb2d57067fe762de48bc0d6a Author: David Fifield Date: Sun Mar 27 12:49:20 2016 -0700 Use 192.81.135.242:9902 as the default relay. This is the relay that reports using the transport name "snowflake". https://bugs.torproject.org/18627 --- proxy/README.md| 2 +- proxy/snowflake.coffee | 2 +- server/server.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/proxy/README.md b/proxy/README.md index 0398d3d..4686783 100644 --- a/proxy/README.md +++ b/proxy/README.md @@ -23,7 +23,7 @@ To run locally, either: ### Parameters With no parameters, -snowflake uses the default relay `192.81.135.242:9901` and +snowflake uses the default relay `192.81.135.242:9902` and uses automatic signaling with the default broker at `https://snowflake-reg.appspot.com/`. diff --git a/proxy/snowflake.coffee b/proxy/snowflake.coffee index 7e26481..a96dbdf 100644 --- a/proxy/snowflake.coffee +++ b/proxy/snowflake.coffee @@ -10,7 +10,7 @@ this must always act as the answerer. DEFAULT_BROKER = 'snowflake-reg.appspot.com' DEFAULT_RELAY = host: '192.81.135.242' - port: 9901 + port: 9902 COPY_PASTE_ENABLED = false DEBUG = false diff --git a/server/server.go b/server/server.go index c424c29..fc41364 100644 --- a/server/server.go +++ b/server/server.go @@ -4,7 +4,7 @@ // // Usage in torrc: // ExtORPort auto -// ServerTransportPlugin snowflake exec server --port 9901 +// ServerTransportPlugin snowflake exec server --port 9902 package main import ( ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Python3 regression when reading descriptors
commit a82f7fcfd08174d6edbbb7d120a28ea2d478eea1 Author: Damian Johnson Date: Sun Mar 27 13:08:28 2016 -0700 Python3 regression when reading descriptors Oops! Recent commit broke all descriptor parsing for python3, caught by toralf... https://trac.torproject.org/projects/tor/ticket/18658 --- stem/descriptor/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stem/descriptor/__init__.py b/stem/descriptor/__init__.py index 65e6ed4..05c6087 100644 --- a/stem/descriptor/__init__.py +++ b/stem/descriptor/__init__.py @@ -861,7 +861,7 @@ def _get_descriptor_components(raw_contents, validate, extra_keywords = (), non_ if validate and keyword not in non_ascii_fields: try: -value.decode('ascii') +value.encode('ascii') except UnicodeError: replaced = ''.join([(char if char in string.printable else '?') for char in value]) raise ValueError("'%s' line had non-ascii content: %s" % (keyword, replaced)) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Use a real random generator instead of time.time()
commit 52f0d735b5158cc667019d136764d80ab77cb066 Author: Sebastian Hahn Date: Sun Mar 27 22:19:16 2016 +0200 Use a real random generator instead of time.time() Fixes spurious issues in the integration tests, ticket #8865. --- test/integ/control/controller.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integ/control/controller.py b/test/integ/control/controller.py index 7f9edd3..d5c2ec1 100644 --- a/test/integ/control/controller.py +++ b/test/integ/control/controller.py @@ -47,7 +47,7 @@ def random_fingerprint(): Provides a random 40 character hex string. """ - return hashlib.sha1(stem.util.str_tools._to_bytes(str(time.time(.hexdigest().upper() + return hashlib.sha1(os.urandom(20)).hexdigest().upper() class TestController(unittest.TestCase): ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Expand IPv6 addresses from the proc module
commit a06302ce5547798d5846c0e99fabccc6640c4a1b Author: Damian Johnson Date: Sun Mar 27 13:40:44 2016 -0700 Expand IPv6 addresses from the proc module Sebastian's running into unit test failures because the socket module gives him a different but equivalent address.. https://trac.torproject.org/projects/tor/ticket/18659 Normalizing addresses the module gives us. --- stem/util/proc.py | 2 +- test/unit/util/proc.py | 10 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/stem/util/proc.py b/stem/util/proc.py index a0ceb8b..2897242 100644 --- a/stem/util/proc.py +++ b/stem/util/proc.py @@ -475,7 +475,7 @@ def _decode_proc_address_encoding(addr, is_ipv6): ip = b''.join(inverted) -ip = socket.inet_ntop(socket.AF_INET6, base64.b16decode(ip)) +ip = stem.util.connection.expand_ipv6_address(socket.inet_ntop(socket.AF_INET6, base64.b16decode(ip))) return (ip, port) diff --git a/test/unit/util/proc.py b/test/unit/util/proc.py index e8858f1..72b7131 100644 --- a/test/unit/util/proc.py +++ b/test/unit/util/proc.py @@ -265,8 +265,8 @@ class TestProc(unittest.TestCase): }[param] expected_results = [ - Connection('2a01:4f8:190:514a::2', 443, '2001:638:a000:4140:::189', 40435, 'tcp', True), - Connection('2a01:4f8:190:514a::2', 443, '2001:858:2:2:aabb:0:563b:1526', 44469, 'tcp', True), + Connection('2a01:04f8:0190:514a::::0002', 443, '2001:0638:a000:4140::::0189', 40435, 'tcp', True), + Connection('2a01:04f8:0190:514a::::0002', 443, '2001:0858:0002:0002:aabb::563b:1526', 44469, 'tcp', True), ] self.assertEqual(expected_results, proc.connections(pid = pid)) @@ -293,9 +293,9 @@ class TestProc(unittest.TestCase): }[param] expected_results = [ - Connection(':::5.9.158.75', 5222, ':::78.54.134.33', 38330, 'tcp', True), - Connection('2a01:4f8:190:514a::2', 5269, '2001:6f8:126f:11::26', 50594, 'tcp', True), - Connection(':::5.9.158.75', 5222, ':::78.54.134.33', 38174, 'tcp', True), + Connection('::::::0509:9e4b', 5222, '::::::4e36:8621', 38330, 'tcp', True), + Connection('2a01:04f8:0190:514a::::0002', 5269, '2001:06f8:126f:0011::::0026', 50594, 'tcp', True), + Connection('::::::0509:9e4b', 5222, '::::::4e36:8621', 38174, 'tcp', True), ] self.assertEqual(expected_results, proc.connections(user = 'me')) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Skip couple manual unit tests on OSX
commit 3519790cb186f1442883c928434819c6637e22d9 Author: Damian Johnson Date: Sun Mar 27 14:05:16 2016 -0700 Skip couple manual unit tests on OSX OSX is still proving an issue for some of these assertions. Skipping the tests for now... https://trac.torproject.org/projects/tor/ticket/18660 --- test/unit/manual.py | 6 ++ 1 file changed, 6 insertions(+) diff --git a/test/unit/manual.py b/test/unit/manual.py index be0ee9c..7d9cf2a 100644 --- a/test/unit/manual.py +++ b/test/unit/manual.py @@ -131,6 +131,9 @@ class TestManual(unittest.TestCase): if not stem.util.system.is_available('man'): test.runner.skip(self, '(require man command)') return +elif not stem.util.system.is_mac(): + test.runner.skip(self, '(man lacks --encoding arg on OSX, #18660)') + return manual = stem.manual.Manual.from_man(EXAMPLE_MAN_PATH) @@ -151,6 +154,9 @@ class TestManual(unittest.TestCase): if not stem.util.system.is_available('man'): test.runner.skip(self, '(require man command)') return +elif not stem.util.system.is_mac(): + test.runner.skip(self, '(man lacks --encoding arg on OSX, #18660)') + return manual = stem.manual.Manual.from_man(UNKNOWN_OPTIONS_MAN_PATH) ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [stem/master] Inverted skip checks
commit 7bfc752b69972f7043b260651602b8cb7bc270c4 Author: Damian Johnson Date: Sun Mar 27 14:19:01 2016 -0700 Inverted skip checks Baka, skipped on non-osx rather than osx. Oops. --- test/unit/manual.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/unit/manual.py b/test/unit/manual.py index 7d9cf2a..9cbd6ad 100644 --- a/test/unit/manual.py +++ b/test/unit/manual.py @@ -131,7 +131,7 @@ class TestManual(unittest.TestCase): if not stem.util.system.is_available('man'): test.runner.skip(self, '(require man command)') return -elif not stem.util.system.is_mac(): +elif stem.util.system.is_mac(): test.runner.skip(self, '(man lacks --encoding arg on OSX, #18660)') return @@ -154,7 +154,7 @@ class TestManual(unittest.TestCase): if not stem.util.system.is_available('man'): test.runner.skip(self, '(require man command)') return -elif not stem.util.system.is_mac(): +elif stem.util.system.is_mac(): test.runner.skip(self, '(man lacks --encoding arg on OSX, #18660)') return ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/bridgedb] Update translations for bridgedb
commit e8153035603c5599b260d1d33d49c9baae9a8eb9 Author: Translation commit bot Date: Mon Mar 28 02:45:04 2016 + Update translations for bridgedb --- es_CO/LC_MESSAGES/bridgedb.po | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/es_CO/LC_MESSAGES/bridgedb.po b/es_CO/LC_MESSAGES/bridgedb.po index 6591c95..aa70efa 100644 --- a/es_CO/LC_MESSAGES/bridgedb.po +++ b/es_CO/LC_MESSAGES/bridgedb.po @@ -5,6 +5,7 @@ # Translators: # Alfredo Chaves , 2015 # Andres Felipe Torres , 2015 +# Dario Tabares , 2016 # Marcela Garcia-Casteblanco , 2015 # William Beltrán , 2015 msgid "" @@ -12,8 +13,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=isis'\n" "POT-Creation-Date: 2015-07-25 03:40+\n" -"PO-Revision-Date: 2016-03-21 16:27+\n" -"Last-Translator: Alfredo Chaves \n" +"PO-Revision-Date: 2016-03-28 02:38+\n" +"Last-Translator: Dario Tabares \n" "Language-Team: Spanish (Colombia) (http://www.transifex.com/otf/torproject/language/es_CO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -98,27 +99,27 @@ msgstr "Intente %s ir de regreso %s y seleccionar un tipo diferente de puente!" #: bridgedb/https/templates/index.html:11 #, python-format msgid "Step %s1%s" -msgstr "Paso %s 1 %s" +msgstr "Paso %s1%s" #: bridgedb/https/templates/index.html:13 #, python-format msgid "Download %s Tor Browser %s" -msgstr "Descargue %s Navegador Tor %s" +msgstr "Descargar %s Navegador Tor %s" #: bridgedb/https/templates/index.html:25 #, python-format msgid "Step %s2%s" -msgstr "Paso %s 2 %s" +msgstr "Paso %s2%s" #: bridgedb/https/templates/index.html:27 #, python-format msgid "Get %s bridges %s" -msgstr "Obtenga %s puentes %s" +msgstr "Obtener %s puentes %s" #: bridgedb/https/templates/index.html:36 #, python-format msgid "Step %s3%s" -msgstr "Paso %s 3 %s" +msgstr "Paso %s3%s" #: bridgedb/https/templates/index.html:38 #, python-format @@ -203,7 +204,7 @@ msgstr "Hola, amigo!" #: bridgedb/strings.py:58 bridgedb/https/templates/base.html:90 msgid "Public Keys" -msgstr "Llaves publicas " +msgstr "Llaves públicas " #. TRANSLATORS: This string will end up saying something like: #. "This email was generated with rainbows, unicorns, and sparkles @@ -213,7 +214,7 @@ msgstr "Llaves publicas " msgid "" "This email was generated with rainbows, unicorns, and sparkles\n" "for %s on %s at %s." -msgstr "Este correo electrónico ha sido creado con arco iris, unicornios y destellos para %s en %s a %s." +msgstr "Este correo electrónico ha sido creado con arco iris, unicornios y destellos\n para %s en %s a %s." #. TRANSLATORS: Please DO NOT translate "BridgeDB". #. TRANSLATORS: Please DO NOT translate "Pluggable Transports". @@ -227,7 +228,7 @@ msgid "" "difficult for anyone watching your internet traffic to determine that you are\n" "using Tor.\n" "\n" -msgstr "BrideDB puede proporcionar puentes con varios %s tipos de Transportes Conectables %s, \nlo cual puede complicar sus conecciones a la red Tor, creando mas\ndificultades para alguien observando su tráfico de internet para determinar que usted está utilizando Tor. \n" +msgstr "BrideDB puede proporcionar puentes con varios %s tipos de Transportes Conectables %s, \nlo cual puede complicar sus conexiones a la red Tor, creando mas\ndificultades para alguien observando su tráfico de Internet para determinar que usted está\nutilizando Tor. \n\n" #. TRANSLATORS: Please DO NOT translate "Pluggable Transports". #: bridgedb/strings.py:79 @@ -235,7 +236,7 @@ msgid "" "Some bridges with IPv6 addresses are also available, though some Pluggable\n" "Transports aren't IPv6 compatible.\n" "\n" -msgstr "Algunos puentes con direcciones IPv6 también se encuentran disponibles, aunque algunos Transportes Conectables no son compatibles con IPv6. \n" +msgstr "Algunos puentes con direcciones IPv6 puede encontrarse disponibles, con algunos conectores\nTransportes no son compatibles con IPv6.\n\n" #. TRANSLATORS: Please DO NOT translate "BridgeDB". #. TRANSLATORS: The phrase "plain-ol'-vanilla" means "plain, boring, ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/bridgedb_completed] Update translations for bridgedb_completed
commit 47262a609fe8381cddbee2b1fca1cb05e437a062 Author: Translation commit bot Date: Mon Mar 28 02:45:09 2016 + Update translations for bridgedb_completed --- es_CO/LC_MESSAGES/bridgedb.po | 23 --- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/es_CO/LC_MESSAGES/bridgedb.po b/es_CO/LC_MESSAGES/bridgedb.po index 6591c95..aa70efa 100644 --- a/es_CO/LC_MESSAGES/bridgedb.po +++ b/es_CO/LC_MESSAGES/bridgedb.po @@ -5,6 +5,7 @@ # Translators: # Alfredo Chaves , 2015 # Andres Felipe Torres , 2015 +# Dario Tabares , 2016 # Marcela Garcia-Casteblanco , 2015 # William Beltrán , 2015 msgid "" @@ -12,8 +13,8 @@ msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: 'https://trac.torproject.org/projects/tor/newticket?component=BridgeDB&keywords=bridgedb-reported,msgid&cc=isis,sysrqb&owner=isis'\n" "POT-Creation-Date: 2015-07-25 03:40+\n" -"PO-Revision-Date: 2016-03-21 16:27+\n" -"Last-Translator: Alfredo Chaves \n" +"PO-Revision-Date: 2016-03-28 02:38+\n" +"Last-Translator: Dario Tabares \n" "Language-Team: Spanish (Colombia) (http://www.transifex.com/otf/torproject/language/es_CO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -98,27 +99,27 @@ msgstr "Intente %s ir de regreso %s y seleccionar un tipo diferente de puente!" #: bridgedb/https/templates/index.html:11 #, python-format msgid "Step %s1%s" -msgstr "Paso %s 1 %s" +msgstr "Paso %s1%s" #: bridgedb/https/templates/index.html:13 #, python-format msgid "Download %s Tor Browser %s" -msgstr "Descargue %s Navegador Tor %s" +msgstr "Descargar %s Navegador Tor %s" #: bridgedb/https/templates/index.html:25 #, python-format msgid "Step %s2%s" -msgstr "Paso %s 2 %s" +msgstr "Paso %s2%s" #: bridgedb/https/templates/index.html:27 #, python-format msgid "Get %s bridges %s" -msgstr "Obtenga %s puentes %s" +msgstr "Obtener %s puentes %s" #: bridgedb/https/templates/index.html:36 #, python-format msgid "Step %s3%s" -msgstr "Paso %s 3 %s" +msgstr "Paso %s3%s" #: bridgedb/https/templates/index.html:38 #, python-format @@ -203,7 +204,7 @@ msgstr "Hola, amigo!" #: bridgedb/strings.py:58 bridgedb/https/templates/base.html:90 msgid "Public Keys" -msgstr "Llaves publicas " +msgstr "Llaves públicas " #. TRANSLATORS: This string will end up saying something like: #. "This email was generated with rainbows, unicorns, and sparkles @@ -213,7 +214,7 @@ msgstr "Llaves publicas " msgid "" "This email was generated with rainbows, unicorns, and sparkles\n" "for %s on %s at %s." -msgstr "Este correo electrónico ha sido creado con arco iris, unicornios y destellos para %s en %s a %s." +msgstr "Este correo electrónico ha sido creado con arco iris, unicornios y destellos\n para %s en %s a %s." #. TRANSLATORS: Please DO NOT translate "BridgeDB". #. TRANSLATORS: Please DO NOT translate "Pluggable Transports". @@ -227,7 +228,7 @@ msgid "" "difficult for anyone watching your internet traffic to determine that you are\n" "using Tor.\n" "\n" -msgstr "BrideDB puede proporcionar puentes con varios %s tipos de Transportes Conectables %s, \nlo cual puede complicar sus conecciones a la red Tor, creando mas\ndificultades para alguien observando su tráfico de internet para determinar que usted está utilizando Tor. \n" +msgstr "BrideDB puede proporcionar puentes con varios %s tipos de Transportes Conectables %s, \nlo cual puede complicar sus conexiones a la red Tor, creando mas\ndificultades para alguien observando su tráfico de Internet para determinar que usted está\nutilizando Tor. \n\n" #. TRANSLATORS: Please DO NOT translate "Pluggable Transports". #: bridgedb/strings.py:79 @@ -235,7 +236,7 @@ msgid "" "Some bridges with IPv6 addresses are also available, though some Pluggable\n" "Transports aren't IPv6 compatible.\n" "\n" -msgstr "Algunos puentes con direcciones IPv6 también se encuentran disponibles, aunque algunos Transportes Conectables no son compatibles con IPv6. \n" +msgstr "Algunos puentes con direcciones IPv6 puede encontrarse disponibles, con algunos conectores\nTransportes no son compatibles con IPv6.\n\n" #. TRANSLATORS: Please DO NOT translate "BridgeDB". #. TRANSLATORS: The phrase "plain-ol'-vanilla" means "plain, boring, ___ 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 f4665e23c34a9ed90fa5c64e59825d6f08e01c97 Author: Translation commit bot Date: Mon Mar 28 02:45:19 2016 + Update translations for whisperback --- es_CO/es_CO.po | 53 ++--- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/es_CO/es_CO.po b/es_CO/es_CO.po index 8183a12..f9c74ee 100644 --- a/es_CO/es_CO.po +++ b/es_CO/es_CO.po @@ -7,10 +7,10 @@ msgid "" msgstr "" "Project-Id-Version: The Tor Project\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2013-08-01 15:36+0200\n" -"PO-Revision-Date: 2013-11-01 15:50+\n" +"POT-Creation-Date: 2015-12-16 19:54+0100\n" +"PO-Revision-Date: 2016-03-28 02:41+\n" "Last-Translator: runasand \n" -"Language-Team: Spanish (Colombia) (http://www.transifex.com/projects/p/torproject/language/es_CO/)\n" +"Language-Team: Spanish (Colombia) (http://www.transifex.com/otf/torproject/language/es_CO/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -18,17 +18,17 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #. XXX use a better exception -#: ../whisperBack/whisperback.py:63 +#: ../whisperBack/whisperback.py:56 #, python-format msgid "Invalid contact email: %s" msgstr "" -#: ../whisperBack/whisperback.py:80 +#: ../whisperBack/whisperback.py:73 #, python-format msgid "Invalid contact OpenPGP key: %s" msgstr "" -#: ../whisperBack/whisperback.py:82 +#: ../whisperBack/whisperback.py:75 msgid "Invalid contact OpenPGP public key block" msgstr "" @@ -39,40 +39,40 @@ msgid "" "/etc/whisperback/config.py, ~/.whisperback/config.py, ./config.py" msgstr "" -#: ../whisperBack/gui.py:154 +#: ../whisperBack/gui.py:148 msgid "Unable to load a valid configuration." msgstr "" -#: ../whisperBack/gui.py:220 +#: ../whisperBack/gui.py:214 msgid "Sending mail..." msgstr "" -#: ../whisperBack/gui.py:221 +#: ../whisperBack/gui.py:215 msgid "Sending mail" msgstr "" #. pylint: disable=C0301 -#: ../whisperBack/gui.py:223 +#: ../whisperBack/gui.py:217 msgid "This could take a while..." msgstr "" -#: ../whisperBack/gui.py:237 +#: ../whisperBack/gui.py:232 msgid "The contact email adress doesn't seem valid." msgstr "" -#: ../whisperBack/gui.py:254 +#: ../whisperBack/gui.py:249 msgid "Unable to send the mail: SMTP error." msgstr "" -#: ../whisperBack/gui.py:256 +#: ../whisperBack/gui.py:251 msgid "Unable to connect to the server." msgstr "" -#: ../whisperBack/gui.py:258 +#: ../whisperBack/gui.py:253 msgid "Unable to create or to send the mail." msgstr "" -#: ../whisperBack/gui.py:261 +#: ../whisperBack/gui.py:256 msgid "" "\n" "\n" @@ -81,21 +81,20 @@ msgid "" "If it does not work, you will be offered to save the bug report." msgstr "" -#: ../whisperBack/gui.py:274 +#: ../whisperBack/gui.py:269 msgid "Your message has been sent." msgstr "" -#: ../whisperBack/gui.py:281 +#: ../whisperBack/gui.py:276 msgid "An error occured during encryption." msgstr "" -#: ../whisperBack/gui.py:301 +#: ../whisperBack/gui.py:296 #, python-format msgid "Unable to save %s." msgstr "" -#. XXX: fix string -#: ../whisperBack/gui.py:325 +#: ../whisperBack/gui.py:319 #, python-format msgid "" "The bug report could not be sent, likely due to network problems.\n" @@ -105,27 +104,27 @@ msgid "" "Do you want to save the bug report to a file?" msgstr "" -#: ../whisperBack/gui.py:389 ../data/whisperback.ui.h:21 +#: ../whisperBack/gui.py:379 ../data/whisperback.ui.h:21 msgid "WhisperBack" msgstr "" -#: ../whisperBack/gui.py:390 ../data/whisperback.ui.h:2 +#: ../whisperBack/gui.py:380 ../data/whisperback.ui.h:2 msgid "Send feedback in an encrypted mail." msgstr "" -#: ../whisperBack/gui.py:393 +#: ../whisperBack/gui.py:383 msgid "Copyright © 2009-2012 Tails developpers (ta...@boum.org)" msgstr "" -#: ../whisperBack/gui.py:394 +#: ../whisperBack/gui.py:384 msgid "Tails developers " msgstr "" -#: ../whisperBack/gui.py:395 +#: ../whisperBack/gui.py:385 msgid "translator-credits" msgstr "" -#: ../whisperBack/gui.py:422 +#: ../whisperBack/gui.py:412 msgid "This doesn't seem to be a valid URL or OpenPGP key." msgstr "" @@ -192,7 +191,7 @@ msgstr "" #: ../data/whisperback.ui.h:29 msgid "Help" -msgstr "" +msgstr "Ayuda" #: ../data/whisperback.ui.h:30 msgid "Send" ___ 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 fc8e4bf71bce4656cdb8a67372ab59f6588d3654 Author: Translation commit bot Date: Mon Mar 28 02:46:06 2016 + Update translations for torbutton-torbuttondtd --- es_CO/torbutton.dtd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es_CO/torbutton.dtd b/es_CO/torbutton.dtd index ece3215..195e9fa 100644 --- a/es_CO/torbutton.dtd +++ b/es_CO/torbutton.dtd @@ -20,7 +20,7 @@ - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-accountsproperties] Update translations for tor-messenger-accountsproperties
commit 0ba3444a94e9a0b58fe6290543b864a0d28b2b1d Author: Translation commit bot Date: Mon Mar 28 02:46:25 2016 + Update translations for tor-messenger-accountsproperties --- es_CO/accounts.properties | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/es_CO/accounts.properties b/es_CO/accounts.properties index 051ba0d..e10ba03 100644 --- a/es_CO/accounts.properties +++ b/es_CO/accounts.properties @@ -4,6 +4,6 @@ # LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText): # %S is replaced with the name of the account -passwordPromptTitle=Password for %S -passwordPromptText=Please enter your password for %S in order to connect it. -passwordPromptSaveCheckbox=Use Password Manager to remember this password. +passwordPromptTitle=Contraseña para %S +passwordPromptText=Por favor escribe tu contraseña para %S en orden para conectarse. +passwordPromptSaveCheckbox=Usa una Contraseña Maestra para recordar esta contraseña ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-authdtd] Update translations for tor-messenger-authdtd
commit fb39ec67d1203ea949dfe4b1fa810fabcdc3b1d5 Author: Translation commit bot Date: Mon Mar 28 02:46:34 2016 + Update translations for tor-messenger-authdtd --- es_CO/auth.dtd | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/es_CO/auth.dtd b/es_CO/auth.dtd index e3a9f58..38f3b4c 100644 --- a/es_CO/auth.dtd +++ b/es_CO/auth.dtd @@ -1,14 +1,14 @@ - + - - + + - - + + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-accountsproperties_completed] Update translations for tor-messenger-accountsproperties_completed
commit 0fac92c953505888e6f162314a76606ef0696942 Author: Translation commit bot Date: Mon Mar 28 02:46:29 2016 + Update translations for tor-messenger-accountsproperties_completed --- es_CO/accounts.properties | 9 + 1 file changed, 9 insertions(+) diff --git a/es_CO/accounts.properties b/es_CO/accounts.properties new file mode 100644 index 000..e10ba03 --- /dev/null +++ b/es_CO/accounts.properties @@ -0,0 +1,9 @@ +# 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/. + +# LOCALIZATION NOTE (passwordPromptTitle, passwordPromptText): +# %S is replaced with the name of the account +passwordPromptTitle=Contraseña para %S +passwordPromptText=Por favor escribe tu contraseña para %S en orden para conectarse. +passwordPromptSaveCheckbox=Usa una Contraseña Maestra para recordar esta contraseña ___ 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 f9168618440425cb33898efbbcbb3491f7e3b451 Author: Translation commit bot Date: Mon Mar 28 03:15:44 2016 + Update translations for tor-launcher-network-settings --- es_CO/network-settings.dtd | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/es_CO/network-settings.dtd b/es_CO/network-settings.dtd index 8ec90ba..f7e9bb4 100644 --- a/es_CO/network-settings.dtd +++ b/es_CO/network-settings.dtd @@ -1,12 +1,12 @@ - - + + - + ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-authdtd] Update translations for tor-messenger-authdtd
commit 0561f6863a46efd4f14e8b86ef5136ef6cff9665 Author: Translation commit bot Date: Mon Mar 28 03:16:21 2016 + Update translations for tor-messenger-authdtd --- es_CO/auth.dtd | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/es_CO/auth.dtd b/es_CO/auth.dtd index 38f3b4c..8d2846d 100644 --- a/es_CO/auth.dtd +++ b/es_CO/auth.dtd @@ -9,13 +9,13 @@ - + - - + + - - - - \ No newline at end of file + + + + \ No newline at end of file ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits
[tor-commits] [translation/tor-messenger-authproperties] Update translations for tor-messenger-authproperties
commit 38b9eebe3e161df289d0396e4e961f1a9eb7ce22 Author: Translation commit bot Date: Mon Mar 28 03:16:27 2016 + Update translations for tor-messenger-authproperties --- es_CO/auth.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/es_CO/auth.properties b/es_CO/auth.properties index a851ed4..4ac2280 100644 --- a/es_CO/auth.properties +++ b/es_CO/auth.properties @@ -4,7 +4,7 @@ auth.theirFingerprint=Purported fingerprint for %S:\n%S auth.help=Verifying a contact's identity helps ensure that the person you are talking to is who they claim to be. auth.helpTitle=Verification help auth.question=This is the question asked by your contact:\n\n%S\n\nEnter secret answer here (case sensitive): -auth.secret=Enter secret here: +auth.secret=Pon tu secreto aquÃ: auth.error=An error occurred while verifying your contact's identity. auth.success=Verifying your contact's identity completed successfully. auth.successThem=Your contact has successfully verified your identity. You may want to verify their identity as well by asking your own question. ___ tor-commits mailing list tor-commits@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits