Changeset 197 in code for trunk


Ignore:
Timestamp:
Apr 1, 2020, 10:14:36 AM (5 years ago)
Author:
contact
Message:

Only set network.conn when registered

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/upstream.go

    r195 r197  
    13271327}
    13281328
     1329func (uc *upstreamConn) runUntilRegistered() error {
     1330        for !uc.registered {
     1331                msg, err := uc.irc.ReadMessage()
     1332                if err != nil {
     1333                        return fmt.Errorf("failed to read message: %v", err)
     1334                }
     1335
     1336                if uc.srv.Debug {
     1337                        uc.logger.Printf("received: %v", msg)
     1338                }
     1339
     1340                if err := uc.handleMessage(msg); err != nil {
     1341                        return fmt.Errorf("failed to handle message %q: %v", msg, err)
     1342                }
     1343        }
     1344
     1345        return nil
     1346}
     1347
    13291348func (uc *upstreamConn) requestSASL() bool {
    13301349        if uc.network.SASL.Mechanism == "" {
  • trunk/user.go

    r196 r197  
    7272
    7373                uc.register()
    74 
    75                 // TODO: wait for the connection to be registered before adding it to
    76                 // net, otherwise messages might be sent to it while still being
    77                 // unauthenticated
     74                if err := uc.runUntilRegistered(); err != nil {
     75                        uc.logger.Printf("failed to register: %v", err)
     76                        uc.Close()
     77                        continue
     78                }
     79
    7880                net.lock.Lock()
    7981                net.conn = uc
     
    135137        for _, network := range u.networks {
    136138                uc := network.upstream()
    137                 if uc == nil || !uc.registered {
     139                if uc == nil {
    138140                        continue
    139141                }
Note: See TracChangeset for help on using the changeset viewer.