libpurple/protocols/jabber/auth.c

changeset 40680
f9ea6d5e8992
parent 40474
1341be8e3402
child 41084
72d6941bfa2e
--- a/libpurple/protocols/jabber/auth.c	Sat Jan 02 18:53:11 2021 -0600
+++ b/libpurple/protocols/jabber/auth.c	Sat Jan 02 19:06:28 2021 -0600
@@ -99,10 +99,15 @@
 		return;
 	}
 
-	if (remember)
+	if(remember) {
+		PurpleCredentialManager *manager = NULL;
+
 		purple_account_set_remember_password(account, TRUE);
 
-	purple_account_set_password(account, entry, NULL, NULL);
+		manager = purple_credential_manager_get_default();
+		purple_credential_manager_write_password_async(manager, account, entry,
+		                                               NULL, NULL, NULL);
+	}
 
 	/* Restart our connection */
 	jabber_auth_start_old(js);
@@ -215,8 +220,15 @@
 					purple_strequal(err_code, "401")) {
 			reason = PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED;
 			/* Clear the pasword if it isn't being saved */
-			if (!purple_account_get_remember_password(account))
-				purple_account_set_password(account, NULL, NULL, NULL);
+			if(!purple_account_get_remember_password(account)) {
+				PurpleCredentialManager *manager = NULL;
+
+				manager = purple_credential_manager_get_default();
+
+				purple_credential_manager_clear_password_async(manager, account,
+				                                               NULL, NULL,
+				                                               NULL);
+			}
 		}
 
 		purple_connection_error(js->gc, reason, msg);

mercurial