Formatting improvements.

This commit is contained in:
David Fifield 2019-12-24 18:01:17 -07:00
parent e27709080a
commit d6467ff585
5 changed files with 20 additions and 24 deletions

View file

@ -30,7 +30,6 @@ type Tongue interface {
// Interface for collecting some number of Snowflakes, for passing along // Interface for collecting some number of Snowflakes, for passing along
// ultimately to the SOCKS handler. // ultimately to the SOCKS handler.
type SnowflakeCollector interface { type SnowflakeCollector interface {
// Add a Snowflake to the collection. // Add a Snowflake to the collection.
// Implementation should decide how to connect and maintain the webRTCConn. // Implementation should decide how to connect and maintain the webRTCConn.
Collect() (Snowflake, error) Collect() (Snowflake, error)

View file

@ -44,8 +44,7 @@ func (p *Peers) Collect() (Snowflake, error) {
cnt := p.Count() cnt := p.Count()
s := fmt.Sprintf("Currently at [%d/%d]", cnt, p.capacity) s := fmt.Sprintf("Currently at [%d/%d]", cnt, p.capacity)
if cnt >= p.capacity { if cnt >= p.capacity {
s = fmt.Sprintf("At capacity [%d/%d]", cnt, p.capacity) return nil, fmt.Errorf("At capacity [%d/%d]", cnt, p.capacity)
return nil, errors.New(s)
} }
log.Println("WebRTC: Collecting a new Snowflake.", s) log.Println("WebRTC: Collecting a new Snowflake.", s)
// Engage the Snowflake Catching interface, which must be available. // Engage the Snowflake Catching interface, which must be available.
@ -68,12 +67,12 @@ func (p *Peers) Pop() Snowflake {
// Blocks until an available, valid snowflake appears. // Blocks until an available, valid snowflake appears.
var snowflake Snowflake var snowflake Snowflake
var ok bool var ok bool
for nil == snowflake { for snowflake == nil {
snowflake, ok = <-p.snowflakeChan snowflake, ok = <-p.snowflakeChan
conn := snowflake.(*WebRTCPeer)
if !ok { if !ok {
return nil return nil
} }
conn := snowflake.(*WebRTCPeer)
if conn.closed { if conn.closed {
snowflake = nil snowflake = nil
} }
@ -120,5 +119,5 @@ func (p *Peers) End() {
p.activePeers.Remove(e) p.activePeers.Remove(e)
e = next e = next
} }
log.Println("WebRTC: melted all", cnt, "snowflakes.") log.Printf("WebRTC: melted all %d snowflakes.", cnt)
} }

View file

@ -50,13 +50,13 @@ func CreateBrokerTransport() http.RoundTripper {
// to clients, and |front| is the option fronting domain. // to clients, and |front| is the option fronting domain.
func NewBrokerChannel(broker string, front string, transport http.RoundTripper) *BrokerChannel { func NewBrokerChannel(broker string, front string, transport http.RoundTripper) *BrokerChannel {
targetURL, err := url.Parse(broker) targetURL, err := url.Parse(broker)
if nil != err { if err != nil {
return nil return nil
} }
log.Println("Rendezvous using Broker at:", broker) log.Println("Rendezvous using Broker at:", broker)
bc := new(BrokerChannel) bc := new(BrokerChannel)
bc.url = targetURL bc.url = targetURL
if "" != front { // Optional front domain. if front != "" { // Optional front domain.
log.Println("Domain fronting using:", front) log.Println("Domain fronting using:", front)
bc.Host = bc.url.Host bc.Host = bc.url.Host
bc.url.Host = front bc.url.Host = front
@ -109,7 +109,6 @@ func (bc *BrokerChannel) Negotiate(offer *webrtc.SessionDescription) (
} }
answer := deserializeSessionDescription(string(body)) answer := deserializeSessionDescription(string(body))
return answer, nil return answer, nil
case http.StatusServiceUnavailable: case http.StatusServiceUnavailable:
return nil, errors.New(BrokerError503) return nil, errors.New(BrokerError503)
case http.StatusBadRequest: case http.StatusBadRequest:
@ -125,8 +124,7 @@ type WebRTCDialer struct {
webrtcConfig *webrtc.Configuration webrtcConfig *webrtc.Configuration
} }
func NewWebRTCDialer( func NewWebRTCDialer(broker *BrokerChannel, iceServers []webrtc.ICEServer) *WebRTCDialer {
broker *BrokerChannel, iceServers []webrtc.ICEServer) *WebRTCDialer {
var config webrtc.Configuration var config webrtc.Configuration
if iceServers != nil { if iceServers != nil {
config = webrtc.Configuration{ config = webrtc.Configuration{

View file

@ -30,9 +30,9 @@ func ConnectLoop(snowflakes sf.SnowflakeCollector) {
for { for {
// Check if ending is necessary. // Check if ending is necessary.
_, err := snowflakes.Collect() _, err := snowflakes.Collect()
if nil != err { if err != nil {
log.Println("WebRTC:", err, log.Printf("WebRTC: %v Retrying in %v seconds...",
" Retrying in", sf.ReconnectTimeout, "seconds...") err, sf.ReconnectTimeout)
} }
select { select {
case <-time.After(time.Second * sf.ReconnectTimeout): case <-time.After(time.Second * sf.ReconnectTimeout):
@ -52,7 +52,7 @@ func socksAcceptLoop(ln *pt.SocksListener, snowflakes sf.SnowflakeCollector) {
log.Println("SOCKS listening...") log.Println("SOCKS listening...")
conn, err := ln.AcceptSocks() conn, err := ln.AcceptSocks()
if err != nil { if err != nil {
if e, ok := err.(net.Error); ok && e.Temporary() { if err, ok := err.(net.Error); ok && err.Temporary() {
continue continue
} }
log.Printf("SOCKS accept error: %s", err) log.Printf("SOCKS accept error: %s", err)
@ -66,7 +66,7 @@ func socksAcceptLoop(ln *pt.SocksListener, snowflakes sf.SnowflakeCollector) {
} }
} }
//s is a comma-separated list of ICE server URLs // s is a comma-separated list of ICE server URLs.
func parseIceServers(s string) []webrtc.ICEServer { func parseIceServers(s string) []webrtc.ICEServer {
var servers []webrtc.ICEServer var servers []webrtc.ICEServer
log.Println(s) log.Println(s)
@ -98,9 +98,9 @@ func main() {
log.SetFlags(log.LstdFlags | log.LUTC) log.SetFlags(log.LstdFlags | log.LUTC)
// Don't write to stderr; versions of tor earlier than about // Don't write to stderr; versions of tor earlier than about 0.3.5.6 do
// 0.3.5.6 do not read from the pipe, and eventually we will // not read from the pipe, and eventually we will deadlock because the
// deadlock because the buffer is full. // buffer is full.
// https://bugs.torproject.org/26360 // https://bugs.torproject.org/26360
// https://bugs.torproject.org/25600#comment:14 // https://bugs.torproject.org/25600#comment:14
var logOutput = ioutil.Discard var logOutput = ioutil.Discard
@ -120,7 +120,7 @@ func main() {
defer logFile.Close() defer logFile.Close()
logOutput = logFile logOutput = logFile
} }
//We want to send the log output through our scrubber first // We want to send the log output through our scrubber first
log.SetOutput(&safelog.LogScrubber{Output: logOutput}) log.SetOutput(&safelog.LogScrubber{Output: logOutput})
log.Println("\n\n\n --- Starting Snowflake Client ---") log.Println("\n\n\n --- Starting Snowflake Client ---")
@ -194,10 +194,10 @@ func main() {
}() }()
} }
// wait for a signal // Wait for a signal.
<-sigChan <-sigChan
// signal received, shut down // Signal received, shut down.
for _, ln := range listeners { for _, ln := range listeners {
ln.Close() ln.Close()
} }

View file

@ -345,10 +345,10 @@ func main() {
}() }()
} }
// wait for a signal // Wait for a signal.
sig := <-sigChan sig := <-sigChan
// signal received, shut down // Signal received, shut down.
log.Printf("caught signal %q, exiting", sig) log.Printf("caught signal %q, exiting", sig)
for _, server := range servers { for _, server := range servers {
server.Close() server.Close()