mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-14 05:11:19 -04:00
Move handling of -ice option into main.
Rather than having it happen as a side effect of flag parsing. Having it happen as a side effect of flag parsing caused log messages related to handling the option (e.g. "IceServerList:") to always go to stderr, despite the presence of a -log option. This is because the requested log file had not been opened yet.
This commit is contained in:
parent
8dcd337ce4
commit
0c02af35d0
2 changed files with 11 additions and 15 deletions
|
@ -10,6 +10,7 @@ import (
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
@ -121,8 +122,7 @@ func copyLoop(a, b io.ReadWriter) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
var iceServers IceServerList
|
iceServersCommas := flag.String("ice", "", "comma-separated list of ICE servers")
|
||||||
flag.Var(&iceServers, "ice", "comma-separated list of ICE servers")
|
|
||||||
brokerURL := flag.String("url", "", "URL of signaling broker")
|
brokerURL := flag.String("url", "", "URL of signaling broker")
|
||||||
frontDomain := flag.String("front", "", "front domain")
|
frontDomain := flag.String("front", "", "front domain")
|
||||||
logFilename := flag.String("log", "", "name of log file")
|
logFilename := flag.String("log", "", "name of log file")
|
||||||
|
@ -144,6 +144,15 @@ func main() {
|
||||||
|
|
||||||
log.Println("\n\n\n --- Starting Snowflake Client ---")
|
log.Println("\n\n\n --- Starting Snowflake Client ---")
|
||||||
|
|
||||||
|
var iceServers IceServerList
|
||||||
|
log.Println("IceServerList:")
|
||||||
|
for _, server := range strings.Split(*iceServersCommas, ",") {
|
||||||
|
// TODO: STUN / TURN url format validation?
|
||||||
|
log.Println(server)
|
||||||
|
option := webrtc.OptionIceServer(server)
|
||||||
|
iceServers = append(iceServers, option)
|
||||||
|
}
|
||||||
|
|
||||||
// Prepare to collect remote WebRTC peers.
|
// Prepare to collect remote WebRTC peers.
|
||||||
snowflakes := NewPeers(*max)
|
snowflakes := NewPeers(*max)
|
||||||
if "" != *brokerURL {
|
if "" != *brokerURL {
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"log"
|
"log"
|
||||||
"strings"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/keroserene/go-webrtc"
|
"github.com/keroserene/go-webrtc"
|
||||||
|
@ -19,17 +17,6 @@ func (i *IceServerList) String() string {
|
||||||
return fmt.Sprint(*i)
|
return fmt.Sprint(*i)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *IceServerList) Set(s string) error {
|
|
||||||
log.Println("IceServerList:")
|
|
||||||
for _, server := range strings.Split(s, ",") {
|
|
||||||
// TODO: STUN / TURN url format validation?
|
|
||||||
log.Println(server)
|
|
||||||
option := webrtc.OptionIceServer(server)
|
|
||||||
*i = append(*i, option)
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type BytesLogger interface {
|
type BytesLogger interface {
|
||||||
Log()
|
Log()
|
||||||
AddOutbound(int)
|
AddOutbound(int)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue