From 11fd47365a2cdc2950a6e1840e9aeec575649ffa Mon Sep 17 00:00:00 2001
From: Stephan Bosch <stephan.bosch@open-xchange.com>
Date: Tue, 3 Oct 2023 00:30:45 +0200
Subject: [PATCH] managesieve-login: client-authenticate - Adjust to changes in
 SASL response handling.

---
 src/managesieve-login/client-authenticate.c | 17 ++++-------------
 src/managesieve-login/client-authenticate.h |  2 +-
 2 files changed, 5 insertions(+), 14 deletions(-)

diff --git a/src/managesieve-login/client-authenticate.c b/src/managesieve-login/client-authenticate.c
index b342f4a06..7dfcf7009 100644
--- a/src/managesieve-login/client-authenticate.c
+++ b/src/managesieve-login/client-authenticate.c
@@ -242,7 +242,7 @@ managesieve_client_auth_read_response(struct managesieve_client *msieve_client,
 	return 1;
 }
 
-void managesieve_client_auth_parse_response(struct client *client)
+bool managesieve_client_auth_parse_response(struct client *client)
 {
 	struct managesieve_client *msieve_client =
 		(struct managesieve_client *)client;
@@ -254,20 +254,11 @@ void managesieve_client_auth_parse_response(struct client *client)
 	if (ret < 0) {
 		if (error != NULL)
 			client_auth_fail(client, error);
-		return;
+		return FALSE;
 	}
 	if (ret == 0)
-		return;
-
-	if (strcmp(str_c(client->auth_response), "*") == 0) {
-		client_auth_abort(client);
-		return;
-	}
-
-	client_auth_respond(client, str_c(client->auth_response));
-
-	memset(str_c_modifiable(client->auth_response), 0,
-	       str_len(client->auth_response));
+		return FALSE;
+	return TRUE;
 }
 
 int cmd_authenticate(struct managesieve_client *msieve_client,
diff --git a/src/managesieve-login/client-authenticate.h b/src/managesieve-login/client-authenticate.h
index e58c8fe5c..3deb83ba6 100644
--- a/src/managesieve-login/client-authenticate.h
+++ b/src/managesieve-login/client-authenticate.h
@@ -12,7 +12,7 @@ void managesieve_client_auth_result(struct client *client,
 
 void managesieve_client_auth_send_challenge(struct client *client,
 					    const char *data);
-void managesieve_client_auth_parse_response(struct client *client);
+bool managesieve_client_auth_parse_response(struct client *client);
 
 int cmd_authenticate(struct managesieve_client *client,
 		     const struct managesieve_arg *args);
-- 
GitLab