5
0
mirror of https://github.com/cwinfo/yggdrasil-go.git synced 2024-11-26 07:11:40 +00:00

Merge pull request #329 from neilalexander/readtimeout

Remove ReadTimeout configuration option
This commit is contained in:
Neil Alexander 2019-02-10 18:19:20 +00:00 committed by GitHub
commit 2ba427a737
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 9 deletions

View File

@ -77,6 +77,7 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *nodeCo
// names have changed recently. // names have changed recently.
changes := map[string]string{ changes := map[string]string{
"Multicast": "", "Multicast": "",
"ReadTimeout": "",
"LinkLocal": "MulticastInterfaces", "LinkLocal": "MulticastInterfaces",
"BoxPub": "EncryptionPublicKey", "BoxPub": "EncryptionPublicKey",
"BoxPriv": "EncryptionPrivateKey", "BoxPriv": "EncryptionPrivateKey",
@ -89,11 +90,11 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *nodeCo
if _, ok := dat[from]; ok { if _, ok := dat[from]; ok {
if to == "" { if to == "" {
if !*normaliseconf { if !*normaliseconf {
log.Println("Warning: Deprecated config option", from, "- please remove") log.Println("Warning: Config option", from, "is deprecated")
} }
} else { } else {
if !*normaliseconf { if !*normaliseconf {
log.Println("Warning: Deprecated config option", from, "- please rename to", to) log.Println("Warning: Config option", from, "has been renamed - please change to", to)
} }
// If the configuration file doesn't already contain a line with the // If the configuration file doesn't already contain a line with the
// new name then set it to the old value. This makes sure that we // new name then set it to the old value. This makes sure that we

View File

@ -16,7 +16,6 @@ type NodeConfig struct {
AdminListen string `comment:"Listen address for admin connections. Default is to listen for local\nconnections either on TCP/9001 or a UNIX socket depending on your\nplatform. Use this value for yggdrasilctl -endpoint=X. To disable\nthe admin socket, use the value \"none\" instead."` AdminListen string `comment:"Listen address for admin connections. Default is to listen for local\nconnections either on TCP/9001 or a UNIX socket depending on your\nplatform. Use this value for yggdrasilctl -endpoint=X. To disable\nthe admin socket, use the value \"none\" instead."`
Peers []string `comment:"List of connection strings for static peers in URI format, e.g.\ntcp://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j."` Peers []string `comment:"List of connection strings for static peers in URI format, e.g.\ntcp://a.b.c.d:e or socks://a.b.c.d:e/f.g.h.i:j."`
InterfacePeers map[string][]string `comment:"List of connection strings for static peers in URI format, arranged\nby source interface, e.g. { \"eth0\": [ tcp://a.b.c.d:e ] }. Note that\nSOCKS peerings will NOT be affected by this option and should go in\nthe \"Peers\" section instead."` InterfacePeers map[string][]string `comment:"List of connection strings for static peers in URI format, arranged\nby source interface, e.g. { \"eth0\": [ tcp://a.b.c.d:e ] }. Note that\nSOCKS peerings will NOT be affected by this option and should go in\nthe \"Peers\" section instead."`
ReadTimeout int32 `comment:"Read timeout for connections, specified in milliseconds. If less\nthan 6000 and not negative, 6000 (the default) is used. If negative,\nreads won't time out."`
AllowedEncryptionPublicKeys []string `comment:"List of peer encryption public keys to allow or incoming TCP\nconnections from. If left empty/undefined then all connections\nwill be allowed by default."` AllowedEncryptionPublicKeys []string `comment:"List of peer encryption public keys to allow or incoming TCP\nconnections from. If left empty/undefined then all connections\nwill be allowed by default."`
EncryptionPublicKey string `comment:"Your public encryption key. Your peers may ask you for this to put\ninto their AllowedEncryptionPublicKeys configuration."` EncryptionPublicKey string `comment:"Your public encryption key. Your peers may ask you for this to put\ninto their AllowedEncryptionPublicKeys configuration."`
EncryptionPrivateKey string `comment:"Your private encryption key. DO NOT share this with anyone!"` EncryptionPrivateKey string `comment:"Your private encryption key. DO NOT share this with anyone!"`

View File

@ -36,7 +36,6 @@ type tcpInterface struct {
reconfigure chan chan error reconfigure chan chan error
serv net.Listener serv net.Listener
stop chan bool stop chan bool
timeout time.Duration
addr string addr string
mutex sync.Mutex // Protecting the below mutex sync.Mutex // Protecting the below
calls map[string]struct{} calls map[string]struct{}
@ -106,13 +105,8 @@ func (iface *tcpInterface) listen() error {
iface.core.configMutex.RLock() iface.core.configMutex.RLock()
iface.addr = iface.core.config.Listen iface.addr = iface.core.config.Listen
iface.timeout = time.Duration(iface.core.config.ReadTimeout) * time.Millisecond
iface.core.configMutex.RUnlock() iface.core.configMutex.RUnlock()
if iface.timeout >= 0 && iface.timeout < default_timeout {
iface.timeout = default_timeout
}
ctx := context.Background() ctx := context.Background()
lc := net.ListenConfig{ lc := net.ListenConfig{
Control: iface.tcpContext, Control: iface.tcpContext,