mirror of
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake.git
synced 2025-10-13 20:11:19 -04:00
Change how ephemeral-ports-range CLI flag is handled
This commit is contained in:
parent
47f9392645
commit
068af08703
1 changed files with 25 additions and 18 deletions
|
@ -1,7 +1,9 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"flag"
|
"flag"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"log"
|
"log"
|
||||||
|
@ -30,7 +32,27 @@ func main() {
|
||||||
SummaryInterval := flag.Duration("summary-interval", time.Hour,
|
SummaryInterval := flag.Duration("summary-interval", time.Hour,
|
||||||
"the time interval to output summary, 0s disables summaries. Valid time units are \"s\", \"m\", \"h\". ")
|
"the time interval to output summary, 0s disables summaries. Valid time units are \"s\", \"m\", \"h\". ")
|
||||||
verboseLogging := flag.Bool("verbose", false, "increase log verbosity")
|
verboseLogging := flag.Bool("verbose", false, "increase log verbosity")
|
||||||
ephemeralPortsRange := flag.String("ephemeral-ports-range", "", "UDP ephemeral ports range")
|
var ephemeralPortsRange []uint16 = []uint16{0, 0}
|
||||||
|
flag.Func("ephemeral-ports-range", "ICE UDP ephemeral ports range (format: \"[min]:[max]\")", func(s string) error {
|
||||||
|
ephemeralPortsRangeParts := strings.Split(s, ":")
|
||||||
|
if len(ephemeralPortsRangeParts) == 2 {
|
||||||
|
ephemeralMinPort, err := strconv.ParseUint(ephemeralPortsRangeParts[0], 10, 16)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
ephemeralMaxPort, err := strconv.ParseUint(ephemeralPortsRangeParts[1], 10, 16)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
ephemeralPortsRange = []uint16{uint16(ephemeralMinPort), uint16(ephemeralMaxPort)}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return errors.New(fmt.Sprintf("Bad range port format: %v", s))
|
||||||
|
})
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
|
@ -42,6 +64,8 @@ func main() {
|
||||||
BrokerURL: *rawBrokerURL,
|
BrokerURL: *rawBrokerURL,
|
||||||
KeepLocalAddresses: *keepLocalAddresses,
|
KeepLocalAddresses: *keepLocalAddresses,
|
||||||
RelayURL: *relayURL,
|
RelayURL: *relayURL,
|
||||||
|
EphemeralMinPort: ephemeralPortsRange[0],
|
||||||
|
EphemeralMaxPort: ephemeralPortsRange[1],
|
||||||
|
|
||||||
NATTypeMeasurementInterval: *NATTypeMeasurementInterval,
|
NATTypeMeasurementInterval: *NATTypeMeasurementInterval,
|
||||||
EventDispatcher: eventLogger,
|
EventDispatcher: eventLogger,
|
||||||
|
@ -50,23 +74,6 @@ func main() {
|
||||||
AllowNonTLSRelay: *allowNonTLSRelay,
|
AllowNonTLSRelay: *allowNonTLSRelay,
|
||||||
}
|
}
|
||||||
|
|
||||||
ephemeralPortsRangeParts := strings.Split(*ephemeralPortsRange, ":")
|
|
||||||
if len(ephemeralPortsRangeParts) == 2 {
|
|
||||||
ephemeralMinPort, err := strconv.ParseUint(ephemeralPortsRangeParts[0], 10, 16)
|
|
||||||
if err == nil {
|
|
||||||
proxy.EphemeralMinPort = uint16(ephemeralMinPort)
|
|
||||||
} else {
|
|
||||||
log.Printf("Invalid port (%v): %v", ephemeralPortsRangeParts[0], err)
|
|
||||||
}
|
|
||||||
|
|
||||||
ephemeralMaxPort, err := strconv.ParseUint(ephemeralPortsRangeParts[1], 10, 16)
|
|
||||||
if err == nil {
|
|
||||||
proxy.EphemeralMaxPort = uint16(ephemeralMaxPort)
|
|
||||||
} else {
|
|
||||||
log.Printf("Invalid port (%v): %v", ephemeralPortsRangeParts[1], err)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
var logOutput io.Writer = os.Stderr
|
var logOutput io.Writer = os.Stderr
|
||||||
var eventlogOutput io.Writer = os.Stderr
|
var eventlogOutput io.Writer = os.Stderr
|
||||||
log.SetFlags(log.LstdFlags | log.LUTC)
|
log.SetFlags(log.LstdFlags | log.LUTC)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue