From 569bba63c7d5dc8a0998ef73f64f339f5e9d39c1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 26 Feb 2024 10:29:08 +0600 Subject: [PATCH] Fixed user with default password hasn't been blocking --- source/ubl-settings-usergroups.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 3394f51..296a74c 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1511,17 +1511,17 @@ void on_user_save(GtkWidget *self, dictionary *dict){ yon_ubl_status_highlight_incorrect(window->userPasswordEntry); return; } - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck))){ - if (password[0]=='%'&&password[1]=='%'){ - char *temp = yon_char_replace(password,"%%","!!"); - password = yon_char_replace(temp,"!!","%%!*"); - } else { - password = yon_char_append("!*",password); - } - } } else { password=""; } + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck))){ + if (strlen(password)>1&&password[0]=='%'&&password[1]=='%'){ + char *temp = yon_char_replace(password,"%%","!!"); + password = yon_char_replace(temp,"!!","%%!*"); + } else { + password = yon_char_append("!*",password); + } + } username = (char*)gtk_entry_get_text(GTK_ENTRY(window->userUserNameEntry)); if (yon_char_is_empty(username)){ @@ -1607,9 +1607,6 @@ void on_user_save(GtkWidget *self, dictionary *dict){ yon_samba_sync_remove(login); } - int deactivate_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userDeactivatedCheck)); - if (deactivate_active); - extra_options=(char*)gtk_entry_get_text(GTK_ENTRY(window->userExtraOptionsEntry)); if (!window->old_password||window->old_password&&strcmp(window->old_password,password)){ @@ -2049,7 +2046,7 @@ void on_main_edit(GtkWidget *self, main_window *widgets){ } } - if (parsed_size>4&&!yon_char_is_empty(parameters[4])){ + if (parsed_size>4&&!yon_char_is_empty(parameters[4])&&strcmp(parameters[4],"")&&strcmp(parameters[4],"x")){ int params_size; config_str parameters_substring = yon_char_parse(parameters[4],¶ms_size," "); for (int i=0;i