Merge pull request #1258 from slingamn/issue1213_nouser

fix #1213
This commit is contained in:
Shivaram Lingamneni 2020-09-09 00:02:04 -07:00 committed by GitHub
commit adeaa5440b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 2 deletions

View File

@ -127,6 +127,10 @@ server:
# use ident protocol to get usernames
check-ident: true
# ignore the supplied user/ident string from the USER command; always set the value to
# `~user` (literally) instead. this can potentially reduce confusion and simplify bans.
suppress-ident: false
# password to login to the server
# generated using "oragono genpasswd"
#password: ""

View File

@ -154,6 +154,10 @@ server:
# use ident protocol to get usernames
check-ident: false
# ignore the supplied user/ident string from the USER command; always set the value to
# `~user` (literally) instead. this can potentially reduce confusion and simplify bans.
suppress-ident: false
# password to login to the server
# generated using "oragono genpasswd"
#password: ""

View File

@ -1083,7 +1083,8 @@ func (client *Client) IdleSeconds() uint64 {
// SetNames sets the client's ident and realname.
func (client *Client) SetNames(username, realname string, fromIdent bool) error {
limit := client.server.Config().Limits.IdentLen
config := client.server.Config()
limit := config.Limits.IdentLen
if !fromIdent {
limit -= 1 // leave room for the prepended ~
}
@ -1095,7 +1096,9 @@ func (client *Client) SetNames(username, realname string, fromIdent bool) error
return errInvalidUsername
}
if !fromIdent {
if config.Server.SuppressIdent {
username = "~user"
} else if !fromIdent {
username = "~" + username
}

View File

@ -498,6 +498,7 @@ type Config struct {
lookupHostnames bool
ForwardConfirmHostnames bool `yaml:"forward-confirm-hostnames"`
CheckIdent bool `yaml:"check-ident"`
SuppressIdent bool `yaml:"suppress-ident"`
MOTD string
motdLines []string
MOTDFormatting bool `yaml:"motd-formatting"`
@ -896,6 +897,10 @@ func LoadConfig(filename string) (config *Config, err error) {
}
}
if config.Server.CheckIdent && config.Server.SuppressIdent {
return nil, errors.New("Can't configure both check-ident and suppress-ident")
}
config.Server.supportedCaps = caps.NewCompleteSet()
config.Server.capValues = make(caps.Values)