libpurple/protocols/ircv3/purpleircv3sasl.c

changeset 42333
a34601ac633c
parent 42287
8fc84ffcdcb2
child 42510
fe16c4d773b4
--- a/libpurple/protocols/ircv3/purpleircv3sasl.c	Tue Oct 03 00:02:16 2023 -0500
+++ b/libpurple/protocols/ircv3/purpleircv3sasl.c	Tue Oct 03 00:05:15 2023 -0500
@@ -188,11 +188,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_logged_in(G_GNUC_UNUSED GHashTable *tags,
-                            G_GNUC_UNUSED const char *source,
-                            G_GNUC_UNUSED const char *command,
-                            G_GNUC_UNUSED guint n_params,
-                            G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_logged_in(G_GNUC_UNUSED PurpleIRCv3Message *message,
                             G_GNUC_UNUSED GError **error,
                             gpointer user_data)
 {
@@ -231,11 +227,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_logged_out(G_GNUC_UNUSED GHashTable *tags,
-                             G_GNUC_UNUSED const char *source,
-                             G_GNUC_UNUSED const char *command,
-                             G_GNUC_UNUSED guint n_params,
-                             G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_logged_out(G_GNUC_UNUSED PurpleIRCv3Message *message,
                              G_GNUC_UNUSED GError **error,
                              gpointer user_data)
 {
@@ -261,16 +253,13 @@
 }
 
 gboolean
-purple_ircv3_sasl_nick_locked(G_GNUC_UNUSED GHashTable *tags,
-                              G_GNUC_UNUSED const char *source,
-                              G_GNUC_UNUSED const char *command,
-                              G_GNUC_UNUSED guint n_params,
-                              GStrv params,
+purple_ircv3_sasl_nick_locked(PurpleIRCv3Message *v3_message,
                               GError **error,
                               gpointer user_data)
 {
 	PurpleIRCv3Connection *connection = user_data;
 	PurpleIRCv3SASLData *data = NULL;
+	GStrv params = NULL;
 	char *message = NULL;
 
 	data = g_object_get_data(G_OBJECT(connection), PURPLE_IRCV3_SASL_DATA_KEY);
@@ -282,6 +271,7 @@
 		return FALSE;
 	}
 
+	params = purple_ircv3_message_get_params(v3_message);
 	message = g_strjoinv(" ", params);
 
 	g_set_error(error, PURPLE_CONNECTION_ERROR,
@@ -295,11 +285,7 @@
 
 
 gboolean
-purple_ircv3_sasl_success(G_GNUC_UNUSED GHashTable *tags,
-                          G_GNUC_UNUSED const char *source,
-                          G_GNUC_UNUSED const char *command,
-                          G_GNUC_UNUSED guint n_params,
-                          G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_success(G_GNUC_UNUSED PurpleIRCv3Message *message,
                           GError **error,
                           gpointer user_data)
 {
@@ -330,11 +316,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_failed(G_GNUC_UNUSED GHashTable *tags,
-                         G_GNUC_UNUSED const char *source,
-                         G_GNUC_UNUSED const char *command,
-                         G_GNUC_UNUSED guint n_params,
-                         G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_failed(G_GNUC_UNUSED PurpleIRCv3Message *message,
                          G_GNUC_UNUSED GError **error,
                          gpointer user_data)
 {
@@ -355,11 +337,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_message_too_long(G_GNUC_UNUSED GHashTable *tags,
-                                   G_GNUC_UNUSED const char *source,
-                                   G_GNUC_UNUSED const char *command,
-                                   G_GNUC_UNUSED guint n_params,
-                                   G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_message_too_long(G_GNUC_UNUSED PurpleIRCv3Message *message,
                                    G_GNUC_UNUSED GError **error,
                                    gpointer user_data)
 {
@@ -379,11 +357,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_aborted(G_GNUC_UNUSED GHashTable *tags,
-                          G_GNUC_UNUSED const char *source,
-                          G_GNUC_UNUSED const char *command,
-                          G_GNUC_UNUSED guint n_params,
-                          G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_aborted(G_GNUC_UNUSED PurpleIRCv3Message *message,
                           G_GNUC_UNUSED GError **error,
                           gpointer user_data)
 {
@@ -409,11 +383,7 @@
 }
 
 gboolean
-purple_ircv3_sasl_already_authed(G_GNUC_UNUSED GHashTable *tags,
-                                 G_GNUC_UNUSED const char *source,
-                                 G_GNUC_UNUSED const char *command,
-                                 G_GNUC_UNUSED guint n_params,
-                                 G_GNUC_UNUSED GStrv params,
+purple_ircv3_sasl_already_authed(G_GNUC_UNUSED PurpleIRCv3Message *message,
                                  G_GNUC_UNUSED GError **error,
                                  gpointer user_data)
 {
@@ -439,16 +409,14 @@
 }
 
 gboolean
-purple_ircv3_sasl_mechanisms(G_GNUC_UNUSED GHashTable *tags,
-                             G_GNUC_UNUSED const char *source,
-                             G_GNUC_UNUSED const char *command,
-                             guint n_params,
-                             GStrv params,
+purple_ircv3_sasl_mechanisms(PurpleIRCv3Message *message,
                              G_GNUC_UNUSED GError **error,
                              gpointer user_data)
 {
 	PurpleIRCv3Connection *connection = user_data;
 	PurpleIRCv3SASLData *data = NULL;
+	GStrv params = NULL;
+	guint n_params = 0;
 
 	data = g_object_get_data(G_OBJECT(connection), PURPLE_IRCV3_SASL_DATA_KEY);
 	if(data == NULL) {
@@ -459,6 +427,11 @@
 		return FALSE;
 	}
 
+	params = purple_ircv3_message_get_params(message);
+	if(params != NULL) {
+		n_params = g_strv_length(params);
+	}
+
 	/* We need to find a server that sends this message. The specification says
 	 * it _may_ be sent when the client sends AUTHENTICATE with an unknown
 	 * mechanism, but ergo doesn't.
@@ -483,18 +456,21 @@
 }
 
 gboolean
-purple_ircv3_sasl_authenticate(G_GNUC_UNUSED GHashTable *tags,
-                               G_GNUC_UNUSED const char *source,
-                               G_GNUC_UNUSED const char *command,
-                               guint n_params,
-                               GStrv params,
+purple_ircv3_sasl_authenticate(PurpleIRCv3Message *message,
                                GError **error,
                                gpointer user_data)
 {
 	PurpleIRCv3Connection *connection = user_data;
 	PurpleIRCv3SASLData *data = NULL;
+	GStrv params = NULL;
 	char *payload = NULL;
 	gboolean done = FALSE;
+	guint n_params = 0;
+
+	params = purple_ircv3_message_get_params(message);
+	if(params != NULL) {
+		n_params = g_strv_length(params);
+	}
 
 	if(n_params != 1) {
 		g_set_error(error, PURPLE_IRCV3_DOMAIN, 0,

mercurial