downstream: fix network name msimatch check being too strict

The network name can be set via BOUNCER BIND. In that case we
don't want to error out when fallbackNetworkName == "".
This commit is contained in:
Simon Ser 2022-03-03 09:08:51 +01:00
parent 5ee667a2d9
commit c742726316

View File

@ -1290,7 +1290,7 @@ func (dc *downstreamConn) register(ctx context.Context) error {
_, fallbackClientName, fallbackNetworkName := unmarshalUsername(dc.rawUsername) _, fallbackClientName, fallbackNetworkName := unmarshalUsername(dc.rawUsername)
if dc.clientName == "" { if dc.clientName == "" {
dc.clientName = fallbackClientName dc.clientName = fallbackClientName
} else if dc.clientName != fallbackClientName { } else if fallbackClientName != "" && dc.clientName != fallbackClientName {
return ircError{&irc.Message{ return ircError{&irc.Message{
Command: irc.ERR_ERRONEUSNICKNAME, Command: irc.ERR_ERRONEUSNICKNAME,
Params: []string{dc.nick, "Client name mismatch in usernames"}, Params: []string{dc.nick, "Client name mismatch in usernames"},
@ -1298,7 +1298,7 @@ func (dc *downstreamConn) register(ctx context.Context) error {
} }
if dc.networkName == "" { if dc.networkName == "" {
dc.networkName = fallbackNetworkName dc.networkName = fallbackNetworkName
} else if dc.networkName != fallbackNetworkName { } else if fallbackNetworkName != "" && dc.networkName != fallbackNetworkName {
return ircError{&irc.Message{ return ircError{&irc.Message{
Command: irc.ERR_ERRONEUSNICKNAME, Command: irc.ERR_ERRONEUSNICKNAME,
Params: []string{dc.nick, "Network name mismatch in usernames"}, Params: []string{dc.nick, "Network name mismatch in usernames"},