From 42d7d27e0dc2b285a25e0772b130e796157e2cfc Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 9 Sep 2025 10:14:39 +0600 Subject: [PATCH 1/4] Fixed USERSHADOW parameter syncing with config --- source/ubl-settings-usergroups-user.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 0cec4cc..7619f40 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -663,12 +663,12 @@ int yon_system_user_sync(char *target_user){ !yon_char_is_empty(groups_string)?groups_string:"",":", !yon_char_is_empty(optionals)?optionals:"",":", user_size>1&&strcmp(parsed[1],"x")?yon_char_return_if_exist(parsed[1],""):yon_char_return_if_exist(parsed_shadow[1],""),NULL); - char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed[2],""),":", - user_size>3?parsed[3]:"",":", - user_size>4?parsed[4]:"",":", - user_size>5?parsed[5]:"",":", - user_size>6?parsed[6]:"",":", - user_size>7?parsed[7]:"",":",NULL); + char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed_shadow[2],""),":", + user_size>3?parsed_shadow[3]:"",":", + user_size>4?parsed_shadow[4]:"",":", + user_size>5?parsed_shadow[5]:"",":", + user_size>6?parsed_shadow[6]:"",":", + user_size>7?parsed_shadow[7]:"",":",NULL); free(groups_string); free(optionals); -- 2.35.1 From db5e1f8c744434faa0b684bcb3b76a374a58b6ec Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 9 Sep 2025 11:47:47 +0600 Subject: [PATCH 2/4] Fixed parameter saving --- source/ubl-settings-usergroups-user.c | 7 +++++-- source/ubl-settings-usergroups.c | 8 ++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 7619f40..6337aec 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -663,6 +663,7 @@ int yon_system_user_sync(char *target_user){ !yon_char_is_empty(groups_string)?groups_string:"",":", !yon_char_is_empty(optionals)?optionals:"",":", user_size>1&&strcmp(parsed[1],"x")?yon_char_return_if_exist(parsed[1],""):yon_char_return_if_exist(parsed_shadow[1],""),NULL); + char *config_shadow = yon_char_unite(yon_char_return_if_exist(parsed_shadow[2],""),":", user_size>3?parsed_shadow[3]:"",":", user_size>4?parsed_shadow[4]:"",":", @@ -674,8 +675,10 @@ int yon_system_user_sync(char *target_user){ if (!yon_char_is_empty(config_user)){ char *user_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",USERADD(target_user)); - yon_config_register(USERADD(target_user),user_command,config_user); - free(config_user); + char *parameter_name = USERADD(target_user); + yon_config_register(parameter_name,user_command,config_user); + yon_config_remove_ignore(parameter_name); + // free(config_user); } else return 0; if (!yon_char_is_empty(config_shadow)){ diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 03faec5..cec79cc 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -336,10 +336,14 @@ void yon_hide_passwords(template_saving_window *window){ char *new_value; gtk_tree_model_get(model,&iter,1,&name,2,&old_value,3,&new_value,-1); if (strstr(name,USERADD_SEARCH_macro)){ - if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)){ + if (!yon_char_is_empty(new_value)&&!yon_char_is_empty(old_value)&&strstr(new_value,old_value)&&new_value[0]==old_value[0]){ GtkTreeIter *iter_cur = gtk_tree_iter_copy(&iter); gtk_list_store_remove(window->list,iter_cur); - gtk_tree_model_get_iter_first(model,&iter); + if (!gtk_tree_model_get_iter_first(model,&iter)){ + gtk_widget_destroy(window->Window); + yon_ubl_status_box_render(yon_char_get_localised_from_lib(NOTHING_TO_SAVE_LABEL),BACKGROUND_IMAGE_FAIL_TYPE); + return; + } continue; } char *old=NULL; -- 2.35.1 From 3a263348f3cb7dc997189eca26fe96ddcef6b715 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 9 Sep 2025 15:48:05 +0600 Subject: [PATCH 3/4] Fixed delete button sensitivity --- source/ubl-settings-usergroups-user.c | 2 +- source/ubl-settings-usergroups.c | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index 6337aec..e0a2b56 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -678,7 +678,7 @@ int yon_system_user_sync(char *target_user){ char *parameter_name = USERADD(target_user); yon_config_register(parameter_name,user_command,config_user); yon_config_remove_ignore(parameter_name); - // free(config_user); + free(config_user); } else return 0; if (!yon_char_is_empty(config_shadow)){ diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index cec79cc..b9c425f 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -2193,13 +2193,6 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi gtk_widget_show(widgets->UserInfoButton); gtk_widget_hide(widgets->UserAddToConfigButton); GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->EditButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,1); - } else { - gtk_widget_set_sensitive(widgets->EditButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==1){ gtk_widget_show(widgets->AddButton); gtk_widget_show(widgets->EditButton); -- 2.35.1 From 780519f985d1903736a9f351f109d19c2b41a3f1 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 9 Sep 2025 16:03:38 +0600 Subject: [PATCH 4/4] Build fix --- source/ubl-settings-usergroups.c | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index b9c425f..57ca1a4 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -2192,34 +2192,17 @@ void on_notebook_page_changed(GtkWidget *, GtkWidget *, int num, main_window *wi gtk_widget_show(widgets->DeleteButton); gtk_widget_show(widgets->UserInfoButton); gtk_widget_hide(widgets->UserAddToConfigButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList); } else if (num==1){ gtk_widget_show(widgets->AddButton); gtk_widget_show(widgets->EditButton); gtk_widget_show(widgets->DeleteButton); gtk_widget_hide(widgets->UserAddToConfigButton); gtk_widget_hide(widgets->UserInfoButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->GroupsList); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->GroupsTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->EditButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } else { - gtk_widget_set_sensitive(widgets->EditButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==2){ gtk_widget_hide(widgets->AddButton); gtk_widget_hide(widgets->EditButton); gtk_widget_show(widgets->UserInfoButton); gtk_widget_show(widgets->UserAddToConfigButton); - GtkTreeModel *model = GTK_TREE_MODEL(widgets->liststore1); - if (gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->SystemTree)),&model,&iter)){ - gtk_widget_set_sensitive(widgets->UserAddToConfigButton,1); - gtk_widget_set_sensitive(widgets->DeleteButton,1); - } else { - gtk_widget_set_sensitive(widgets->UserAddToConfigButton,0); - gtk_widget_set_sensitive(widgets->DeleteButton,0); - } } else if (num==3){ gtk_widget_hide(widgets->AddButton); -- 2.35.1