diff options
author | meskio <meskio@torproject.org> | 2022-10-17 12:36:19 +0200 |
---|---|---|
committer | meskio <meskio@torproject.org> | 2022-10-17 12:36:19 +0200 |
commit | ac8562803ab9621d037bd1b3710c59799c7aa6d5 (patch) | |
tree | 4ba8b9add7a57f2ecd79e0a4df4ffb222657413b | |
parent | 39df9b36b5694c6afd88a363f7c2984f00d26cb5 (diff) | |
parent | 21d74498518a600f9ad2124cb4da23d721b7fb41 (diff) | |
download | snowflake-ac8562803ab9621d037bd1b3710c59799c7aa6d5.tar.gz snowflake-ac8562803ab9621d037bd1b3710c59799c7aa6d5.zip |
Merge remote-tracking branch 'gitlab/mr/107'
-rw-r--r-- | proxy/lib/snowflake.go | 5 | ||||
-rw-r--r-- | proxy/main.go | 14 |
2 files changed, 14 insertions, 5 deletions
diff --git a/proxy/lib/snowflake.go b/proxy/lib/snowflake.go index 6891be0..f8a0f2c 100644 --- a/proxy/lib/snowflake.go +++ b/proxy/lib/snowflake.go @@ -354,7 +354,10 @@ func (sf *SnowflakeProxy) makeWebRTCAPI() *webrtc.API { settingsEngine := webrtc.SettingEngine{} if sf.EphemeralMinPort != 0 && sf.EphemeralMaxPort != 0 { - settingsEngine.SetEphemeralUDPPortRange(sf.EphemeralMinPort, sf.EphemeralMaxPort) + err := settingsEngine.SetEphemeralUDPPortRange(sf.EphemeralMinPort, sf.EphemeralMaxPort) + if err != nil { + log.Fatal("Invalid port range: min > max") + } } settingsEngine.SetICEMulticastDNSMode(ice.MulticastDNSModeDisabled) diff --git a/proxy/main.go b/proxy/main.go index 38c07b0..ea8f427 100644 --- a/proxy/main.go +++ b/proxy/main.go @@ -2,7 +2,6 @@ package main import ( "flag" - "fmt" "io" "io/ioutil" "log" @@ -31,7 +30,7 @@ func main() { SummaryInterval := flag.Duration("summary-interval", time.Hour, "the time interval to output summary, 0s disables summaries. Valid time units are \"s\", \"m\", \"h\". ") verboseLogging := flag.Bool("verbose", false, "increase log verbosity") - ephemeralPortsRangeFlag := flag.String("ephemeral-ports-range", "ICE UDP ephemeral ports range (format:\"[min]:[max]\")", "") + ephemeralPortsRangeFlag := flag.String("ephemeral-ports-range", "", "ICE UDP ephemeral ports range (format:\"<min>:<max>\")") var ephemeralPortsRange []uint16 = []uint16{0, 0} @@ -52,10 +51,17 @@ func main() { log.Fatal(err) } + if ephemeralMinPort == 0 || ephemeralMaxPort == 0 { + log.Fatal("Ephemeral port cannot be zero") + } + if ephemeralMinPort > ephemeralMaxPort { + log.Fatal("Invalid port range: min > max") + } + ephemeralPortsRange = []uint16{uint16(ephemeralMinPort), uint16(ephemeralMaxPort)} + } else { + log.Fatalf("Bad range port format: %v", *ephemeralPortsRangeFlag) } - - fmt.Printf("Bad range port format: %v", ephemeralPortsRangeFlag) } proxy := sf.SnowflakeProxy{ |