Add password authentication to IRC

This commit is contained in:
Alex 2020-05-04 18:46:25 +02:00
parent aa6c5628e9
commit 73fa488402
2 changed files with 32 additions and 4 deletions

View file

@ -32,6 +32,20 @@ func init() {
IsBoolean: true, IsBoolean: true,
Default: "false", Default: "false",
}, },
&ConfigEntry{
Name: "server_pass",
Description: "Server password (authenticate with PASS command)",
IsPassword: true,
},
&ConfigEntry{
Name: "sasl_user",
Description: "Username for SASL authentication",
},
&ConfigEntry{
Name: "sasl_pass",
Description: "Password for SASL authentication",
IsPassword: true,
},
}, },
}) })
} }

View file

@ -62,11 +62,25 @@ func (irc *IRC) Configure(c Configuration) error {
return err return err
} }
server_pass, _ := c.GetString("server_pass", "")
sasl_user, _ := c.GetString("sasl_user", "")
sasl_pass, _ := c.GetString("sasl_pass", "")
var sasl girc.SASLMech
if sasl_user != "" && sasl_pass != "" {
sasl = &girc.SASLPlain{
User: sasl_user,
Pass: sasl_pass,
}
}
client := girc.New(girc.Config{ client := girc.New(girc.Config{
Server: irc.server, Server: irc.server,
Port: port, ServerPass: server_pass,
Nick: irc.nick, Port: port,
User: irc.nick, Nick: irc.nick,
User: irc.nick,
SASL: sasl,
//Out: os.Stderr, //Out: os.Stderr,
SSL: ssl, SSL: ssl,
}) })