--- a/libpurple/protocols/ircv3/purpleircv3connection.c Fri Dec 02 12:39:22 2022 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3connection.c Fri Dec 02 12:46:05 2022 -0600
@@ -60,6 +60,19 @@
*****************************************************************************/
+purple_ircv3_connection_send_pass_command(PurpleIRCv3Connection *connection) { + PurpleAccount *account = NULL; + const char *password = NULL; + account = purple_connection_get_account(PURPLE_CONNECTION(connection)); + password = purple_account_get_string(account, "server-password", ""); + if(password != NULL && *password != '\0') { + purple_ircv3_connection_writef(connection, "PASS %s", password); purple_ircv3_connection_send_user_command(PurpleIRCv3Connection *connection) {
PurpleAccount *account = NULL;
const char *identname = NULL;
@@ -221,6 +234,7 @@
/* Send our registration commands. */
purple_ircv3_capabilities_start(connection->capabilities);
+ purple_ircv3_connection_send_pass_command(connection); purple_ircv3_connection_send_user_command(connection);
purple_ircv3_connection_send_nick_command(connection);
--- a/libpurple/protocols/ircv3/purpleircv3protocol.c Fri Dec 02 12:39:22 2022 -0600
+++ b/libpurple/protocols/ircv3/purpleircv3protocol.c Fri Dec 02 12:46:05 2022 -0600
@@ -53,6 +53,10 @@
option = purple_account_option_bool_new(_("Use TLS"), "use-tls", TRUE);
options = g_list_append(options, option);
+ option = purple_account_option_string_new(_("Server password"), + "server-password", ""); + options = g_list_append(options, option); option = purple_account_option_string_new(_("Ident name"), "ident", "");
options = g_list_append(options, option);