Changeset 91 in code for trunk/downstream.go
- Timestamp:
- Mar 12, 2020, 8:28:09 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/downstream.go
r90 r91 2 2 3 3 import ( 4 "crypto/tls" 4 5 "fmt" 5 6 "io" 6 7 "net" 7 8 "strings" 9 "time" 8 10 9 11 "golang.org/x/crypto/bcrypt" … … 337 339 } 338 340 341 func sanityCheckServer(addr string) error { 342 dialer := net.Dialer{Timeout: 30 * time.Second} 343 conn, err := tls.DialWithDialer(&dialer, "tcp", addr, nil) 344 if err != nil { 345 return err 346 } 347 return conn.Close() 348 } 349 339 350 func (dc *downstreamConn) register() error { 340 351 username := strings.TrimPrefix(dc.username, "~") … … 366 377 network = u.getNetwork(networkName) 367 378 if network == nil { 368 dc.logger.Printf("failed registration: unknown network %q", networkName) 369 dc.SendMessage(&irc.Message{ 370 Prefix: dc.srv.prefix(), 371 Command: irc.ERR_PASSWDMISMATCH, 372 Params: []string{"*", fmt.Sprintf("Unknown network %q", networkName)}, 373 }) 374 return nil 379 addr := networkName 380 if !strings.ContainsRune(addr, ':') { 381 addr = addr + ":6697" 382 } 383 384 dc.logger.Printf("trying to connect to new upstream server %q", addr) 385 if err := sanityCheckServer(addr); err != nil { 386 dc.logger.Printf("failed to connect to %q: %v", addr, err) 387 return ircError{&irc.Message{ 388 Command: irc.ERR_PASSWDMISMATCH, 389 Params: []string{"*", fmt.Sprintf("Failed to connect to %q", networkName)}, 390 }} 391 } 392 393 dc.logger.Printf("auto-adding network %q", networkName) 394 network, err = u.createNetwork(networkName, dc.nick) 395 if err != nil { 396 return err 397 } 375 398 } 376 399 }
Note:
See TracChangeset
for help on using the changeset viewer.