Changeset 100 in code for trunk/downstream.go


Ignore:
Timestamp:
Mar 16, 2020, 8:32:18 AM (5 years ago)
Author:
contact
Message:

Strip client & network name from username

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/downstream.go

    r98 r100  
    6262        closed       chan struct{}
    6363
    64         registered bool
    65         user       *user
    66         nick       string
    67         username   string
    68         realname   string
    69         password   string   // empty after authentication
    70         network    *network // can be nil
     64        registered  bool
     65        user        *user
     66        nick        string
     67        username    string
     68        rawUsername string
     69        realname    string
     70        password    string   // empty after authentication
     71        network     *network // can be nil
    7172}
    7273
     
    324325                        return err
    325326                }
    326                 dc.username = "~" + username
     327                dc.rawUsername = username
    327328        case "PASS":
    328329                if err := parseMessageParams(msg, &dc.password); err != nil {
     
    333334                return newUnknownCommandError(msg.Command)
    334335        }
    335         if dc.username != "" && dc.nick != "" {
     336        if dc.rawUsername != "" && dc.nick != "" {
    336337                return dc.register()
    337338        }
     
    349350
    350351func (dc *downstreamConn) register() error {
    351         username := strings.TrimPrefix(dc.username, "~")
     352        username := dc.rawUsername
    352353        var networkName string
    353354        if i := strings.LastIndexAny(username, "/@"); i >= 0 {
     
    357358                username = username[:i]
    358359        }
     360        dc.username = "~" + username
    359361
    360362        password := dc.password
Note: See TracChangeset for help on using the changeset viewer.