diff options
| -rw-r--r-- | client/lib/peers.go | 4 | ||||
| -rw-r--r-- | client/lib/rendezvous.go | 12 | ||||
| -rw-r--r-- | client/snowflake.go | 16 |
3 files changed, 10 insertions, 22 deletions
diff --git a/client/lib/peers.go b/client/lib/peers.go index 12213e1..d385971 100644 --- a/client/lib/peers.go +++ b/client/lib/peers.go @@ -35,7 +35,7 @@ func NewPeers(max int) *Peers { // Use buffered go channel to pass snowflakes onwards to the SOCKS handler. p.snowflakeChan = make(chan Snowflake, max) p.activePeers = list.New() - p.melt = make(chan struct{}, 1) + p.melt = make(chan struct{}) return p } @@ -110,7 +110,7 @@ func (p *Peers) purgeClosedPeers() { // Close all Peers contained here. func (p *Peers) End() { close(p.snowflakeChan) - p.melt <- struct{}{} + close(p.melt) cnt := p.Count() for e := p.activePeers.Front(); e != nil; { next := e.Next() diff --git a/client/lib/rendezvous.go b/client/lib/rendezvous.go index 0b15f68..55d89c6 100644 --- a/client/lib/rendezvous.go +++ b/client/lib/rendezvous.go @@ -125,13 +125,8 @@ type WebRTCDialer struct { } func NewWebRTCDialer(broker *BrokerChannel, iceServers []webrtc.ICEServer) *WebRTCDialer { - var config webrtc.Configuration - if iceServers != nil { - config = webrtc.Configuration{ - ICEServers: iceServers, - } - } else { - config = webrtc.Configuration{} + config := webrtc.Configuration{ + ICEServers: iceServers, } return &WebRTCDialer{ BrokerChannel: broker, @@ -141,9 +136,6 @@ func NewWebRTCDialer(broker *BrokerChannel, iceServers []webrtc.ICEServer) *WebR // Initialize a WebRTC Connection by signaling through the broker. func (w WebRTCDialer) Catch() (Snowflake, error) { - if nil == w.BrokerChannel { - return nil, errors.New("cannot Dial WebRTC without a BrokerChannel") - } // TODO: [#3] Fetch ICE server information from Broker. // TODO: [#18] Consider TURN servers here too. connection := NewWebRTCPeer(w.webrtcConfig, w.BrokerChannel) diff --git a/client/snowflake.go b/client/snowflake.go index bd53f65..1d7907b 100644 --- a/client/snowflake.go +++ b/client/snowflake.go @@ -47,9 +47,7 @@ func ConnectLoop(snowflakes sf.SnowflakeCollector) { // Accept local SOCKS connections and pass them to the handler. func socksAcceptLoop(ln *pt.SocksListener, snowflakes sf.SnowflakeCollector) { defer ln.Close() - log.Println("Started SOCKS listener.") for { - log.Println("SOCKS listening...") conn, err := ln.AcceptSocks() if err != nil { if err, ok := err.(net.Error); ok && err.Temporary() { @@ -58,7 +56,7 @@ func socksAcceptLoop(ln *pt.SocksListener, snowflakes sf.SnowflakeCollector) { log.Printf("SOCKS accept error: %s", err) break } - log.Println("SOCKS accepted: ", conn.Req) + log.Printf("SOCKS accepted: %v", conn.Req) err = sf.Handler(conn, snowflakes) if err != nil { log.Printf("handler error: %s", err) @@ -69,16 +67,13 @@ func socksAcceptLoop(ln *pt.SocksListener, snowflakes sf.SnowflakeCollector) { // s is a comma-separated list of ICE server URLs. func parseIceServers(s string) []webrtc.ICEServer { var servers []webrtc.ICEServer - log.Println(s) s = strings.TrimSpace(s) if len(s) == 0 { return nil } urls := strings.Split(s, ",") - log.Printf("Using ICE Servers:") for _, url := range urls { url = strings.TrimSpace(url) - log.Printf("url: %s", url) servers = append(servers, webrtc.ICEServer{ URLs: []string{url}, }) @@ -126,6 +121,10 @@ func main() { log.Println("\n\n\n --- Starting Snowflake Client ---") iceServers := parseIceServers(*iceServersCommas) + log.Printf("Using ICE servers:") + for _, server := range iceServers { + log.Printf("url: %v", strings.Join(server.URLs, " ")) + } // Prepare to collect remote WebRTC peers. snowflakes := sf.NewPeers(*max) @@ -134,10 +133,6 @@ func main() { broker := sf.NewBrokerChannel(*brokerURL, *frontDomain, sf.CreateBrokerTransport()) snowflakes.Tongue = sf.NewWebRTCDialer(broker, iceServers) - if nil == snowflakes.Tongue { - log.Fatal("Unable to prepare rendezvous method.") - return - } // Use a real logger to periodically output how much traffic is happening. snowflakes.BytesLogger = &sf.BytesSyncLogger{ InboundChan: make(chan int, 5), @@ -170,6 +165,7 @@ func main() { pt.CmethodError(methodName, err.Error()) break } + log.Printf("Started SOCKS listener at %v.", ln.Addr()) go socksAcceptLoop(ln, snowflakes) pt.Cmethod(methodName, ln.Version(), ln.Addr()) listeners = append(listeners, ln) |
