[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [goptlib/master] Remove IsClient and IsServer; recommend peeking at TOR_PT_CLIENT_TRANSPORTS.
commit 610121b00ca09636f61ad9b3ad7ae5b8d4a2bec6
Author: David Fifield <david@xxxxxxxxxxxxxxx>
Date: Sun Jun 1 16:11:21 2014 -0700
Remove IsClient and IsServer; recommend peeking at TOR_PT_CLIENT_TRANSPORTS.
See discussion on https://trac.torproject.org/projects/tor/ticket/12087.
---
pt.go | 30 ++++++++++++++++++------------
pt_test.go | 24 ------------------------
2 files changed, 18 insertions(+), 36 deletions(-)
diff --git a/pt.go b/pt.go
index dba6701..8630cae 100644
--- a/pt.go
+++ b/pt.go
@@ -359,6 +359,15 @@ type ClientInfo struct {
// and returning a non-nil error if any error is encountered. star is the list
// of method names to use in case "*" is requested by Tor. Returns a ClientInfo
// struct.
+//
+// If your program needs to know whether to call ClientSetup or ServerSetup
+// (i.e., if the same program can be run as either a client or a server), check
+// whether the TOR_PT_CLIENT_TRANSPORTS environment variable is set:
+// if os.Getenv("TOR_PT_CLIENT_TRANSPORTS") != "" {
+// // Client mode; call pt.ClientSetup.
+// } else {
+// // Server mode; call pt.ServerSetup.
+// }
func ClientSetup(star []string) (info ClientInfo, err error) {
ver, err := getManagedTransportVer()
if err != nil {
@@ -544,6 +553,15 @@ type ServerInfo struct {
// of method names to use in case "*" is requested by Tor. Resolves the various
// requested bind addresses, the server ORPort and extended ORPort, and reads
// the auth cookie file. Returns a ServerInfo struct.
+//
+// If your program needs to know whether to call ClientSetup or ServerSetup
+// (i.e., if the same program can be run as either a client or a server), check
+// whether the TOR_PT_CLIENT_TRANSPORTS environment variable is set:
+// if os.Getenv("TOR_PT_CLIENT_TRANSPORTS") != "" {
+// // Client mode; call pt.ClientSetup.
+// } else {
+// // Server mode; call pt.ServerSetup.
+// }
func ServerSetup(star []string) (info ServerInfo, err error) {
ver, err := getManagedTransportVer()
if err != nil {
@@ -829,15 +847,3 @@ func DialOr(info *ServerInfo, addr, methodName string) (*net.TCPConn, error) {
return s, nil
}
-
-// IsClient returns true if the enviornment reflects a managed client.
-func IsClient() bool {
- env := getenv("TOR_PT_CLIENT_TRANSPORTS")
- return env != ""
-}
-
-// IsServer returns true if the enviornment reflects a managed server.
-func IsServer() bool {
- env := getenv("TOR_PT_SERVER_TRANSPORTS")
- return env != ""
-}
diff --git a/pt_test.go b/pt_test.go
index b569352..d6a53e1 100644
--- a/pt_test.go
+++ b/pt_test.go
@@ -796,27 +796,3 @@ func TestMakeStateDir(t *testing.T) {
t.Errorf("MakeStateDir with a subdirectory of a file unexpectedly succeded")
}
}
-
-func TestIsClient(t *testing.T) {
- os.Clearenv()
- if IsClient() {
- t.Errorf("empty enviornment unexpectedly appears as a client")
- }
-
- os.Setenv("TOR_PT_CLIENT_TRANSPORTS", "dummy")
- if !IsClient() {
- t.Errorf("IsClient returned false with TOR_PT_CLIENT_TRANSPORTS set")
- }
-}
-
-func TestIsServer(t *testing.T) {
- os.Clearenv()
- if IsServer() {
- t.Errorf("empty enviornment unexpectedly appears as a server")
- }
-
- os.Setenv("TOR_PT_SERVER_TRANSPORTS", "dummy")
- if !IsServer() {
- t.Errorf("IsServer returned false with TOR_PT_SERVER_TRANSPORTS set")
- }
-}
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits