diff options
-rw-r--r-- | degesch.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -1319,6 +1319,10 @@ static struct config_schema g_config_server[] = .comment = "Addresses of the IRC network (e.g. \"irc.net:6667\")", .type = CONFIG_ITEM_STRING_ARRAY, .validate = config_validate_addresses }, + { .name = "password", + .comment = "Password to connect to the server, if any", + .type = CONFIG_ITEM_STRING, + .validate = config_validate_nonjunk_string }, { .name = "ssl", .comment = "Whether to use SSL/TLS", @@ -3314,6 +3318,10 @@ irc_register (struct server *s) const char *realname = get_config_string (s->config, "realname"); hard_assert (nickname && username && realname); + const char *password = get_config_string (s->config, "password"); + if (password) + irc_send (s, "PASS :%s", password); + irc_send (s, "NICK %s", nickname); // IRC servers may ignore the last argument if it's empty irc_send (s, "USER %s 8 * :%s", username, *realname ? realname : " "); |