From ab490b1ac0994852bee2ef4d7628eb743890cf17 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 6 Aug 2024 14:04:59 +0600 Subject: [PATCH 1/5] test fix for crash --- source/ubl-settings-usergroups.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index c09b947..9e3ad8d 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1061,7 +1061,11 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window yon_config_append(USERADD_SYNC_parameter,"boot",","); } } else { - yon_config_remove_element(USERADD_SYNC_parameter,"boot",","); + if (!strcmp(config(USERADD_SYNC_parameter),"boot")){ + yon_config_remove_by_key(USERADD_SYNC_parameter); + } else { + yon_config_remove_element(USERADD_SYNC_parameter,"boot",","); + } } } @@ -1074,7 +1078,11 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window yon_config_append(USERADD_SYNC_parameter,"shutdown",","); } } else { - yon_config_remove_element(USERADD_SYNC_parameter,"shutdown",","); + if (!strcmp(config(USERADD_SYNC_parameter),"shutdown")){ + yon_config_remove_by_key(USERADD_SYNC_parameter); + } else { + yon_config_remove_element(USERADD_SYNC_parameter,"shutdown",","); + } } } -- 2.35.1 From 2c44f354d3b3954954d48b7e2f3b429ebd1942ed Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 6 Aug 2024 14:33:41 +0600 Subject: [PATCH 2/5] Test fix for crash at USERADD_SYNC editing --- source/ubl-settings-usergroups.c | 33 ++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 9e3ad8d..66aaace 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1053,36 +1053,41 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window } void on_users_boot_toggled(GtkToggleButton *self){ - if (gtk_toggle_button_get_active(self)){ char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); + if (gtk_toggle_button_get_active(self)){ if (!parameter){ yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"boot"); } else { - yon_config_append(USERADD_SYNC_parameter,"boot",","); + char *new_str = yon_char_append(parameter,",boot"); + yon_config_set(USERADD_SYNC_parameter,new_str); + free(parameter); } } else { - if (!strcmp(config(USERADD_SYNC_parameter),"boot")){ - yon_config_remove_by_key(USERADD_SYNC_parameter); - } else { - yon_config_remove_element(USERADD_SYNC_parameter,"boot",","); - } + char *new_str = yon_char_replace(parameter,"boot",""); + char *feasf = yon_char_replace(new_str,",",""); + free(new_str); + yon_config_set(USERADD_SYNC_parameter,feasf); + } + } void on_users_shutdown_toggled(GtkToggleButton *self){ - if (gtk_toggle_button_get_active(self)){ char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); + if (gtk_toggle_button_get_active(self)){ if (!parameter){ yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"shutdown"); } else { - yon_config_append(USERADD_SYNC_parameter,"shutdown",","); + char *new_str = yon_char_append(parameter,",shutdown"); + yon_config_set(USERADD_SYNC_parameter,new_str); + free(parameter); } } else { - if (!strcmp(config(USERADD_SYNC_parameter),"shutdown")){ - yon_config_remove_by_key(USERADD_SYNC_parameter); - } else { - yon_config_remove_element(USERADD_SYNC_parameter,"shutdown",","); - } + char *new_str = yon_char_replace(parameter,"shutdown",""); + char *feasf = yon_char_replace(new_str,",",""); + free(new_str); + yon_config_set(USERADD_SYNC_parameter,feasf); + } } -- 2.35.1 From 41f370920707241fcccbdeb96ff290719a8b0ab0 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 6 Aug 2024 15:13:17 +0600 Subject: [PATCH 3/5] Return of sync parameter function --- source/ubl-settings-usergroups.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 66aaace..c09b947 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1053,41 +1053,28 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window } void on_users_boot_toggled(GtkToggleButton *self){ - char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); if (gtk_toggle_button_get_active(self)){ + char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); if (!parameter){ yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"boot"); } else { - char *new_str = yon_char_append(parameter,",boot"); - yon_config_set(USERADD_SYNC_parameter,new_str); - free(parameter); + yon_config_append(USERADD_SYNC_parameter,"boot",","); } } else { - char *new_str = yon_char_replace(parameter,"boot",""); - char *feasf = yon_char_replace(new_str,",",""); - free(new_str); - yon_config_set(USERADD_SYNC_parameter,feasf); - + yon_config_remove_element(USERADD_SYNC_parameter,"boot",","); } - } void on_users_shutdown_toggled(GtkToggleButton *self){ - char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); if (gtk_toggle_button_get_active(self)){ + char *parameter = yon_config_get_by_key(USERADD_SYNC_parameter); if (!parameter){ yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,"shutdown"); } else { - char *new_str = yon_char_append(parameter,",shutdown"); - yon_config_set(USERADD_SYNC_parameter,new_str); - free(parameter); + yon_config_append(USERADD_SYNC_parameter,"shutdown",","); } } else { - char *new_str = yon_char_replace(parameter,"shutdown",""); - char *feasf = yon_char_replace(new_str,",",""); - free(new_str); - yon_config_set(USERADD_SYNC_parameter,feasf); - + yon_config_remove_element(USERADD_SYNC_parameter,"shutdown",","); } } -- 2.35.1 From a0913dbc396645d888be56ea9390de94f73c2ccb Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 6 Aug 2024 16:04:26 +0600 Subject: [PATCH 4/5] Test fix for saving crash --- source/ubl-settings-usergroups.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index c09b947..68105cf 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1036,6 +1036,20 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window }else { yon_config_remove_by_key(HASHPASSWD_parameter); } + char *sync = ""; + int boot_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsersBootCheck)); + int shutdown_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UsersShutdownCheck)); + if (!boot_active&&!shutdown_active){ + yon_config_remove_by_key(USERADD_SYNC_parameter); + } else { + if (boot_active){ + sync = "boot"; + } + if (shutdown_active){ + sync = yon_char_unite(sync,yon_char_is_empty(sync)?"":",","shutdown"); + } + yon_config_register(USERADD_SYNC_parameter,USERADD_SYNC_parameter_command,sync); + } } void on_hash_changed(GtkWidget *self, ubl_settings_usergroups_additional_settings_window *window){ @@ -1192,8 +1206,8 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_ g_signal_connect(G_OBJECT(window->PasswordHashCombo),"changed",G_CALLBACK(on_hash_changed),window); - g_signal_connect(G_OBJECT(window->UsersBootCheck),"toggled",G_CALLBACK(on_users_boot_toggled),NULL); - g_signal_connect(G_OBJECT(window->UsersShutdownCheck),"toggled",G_CALLBACK(on_users_shutdown_toggled),NULL); + // g_signal_connect(G_OBJECT(window->UsersBootCheck),"toggled",G_CALLBACK(on_users_boot_toggled),NULL); + // g_signal_connect(G_OBJECT(window->UsersShutdownCheck),"toggled",G_CALLBACK(on_users_shutdown_toggled),NULL); return window; } -- 2.35.1 From 270e0e0fd0b0caf6fef93ba6711ca558fd3f0d68 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 8 Aug 2024 12:07:01 +0600 Subject: [PATCH 5/5] Fixed ADDADM parameter registering, fixed last parameter from user's parameter string always stayed --- source/ubl-settings-usergroups.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 68105cf..8ccb44f 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -41,7 +41,6 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ local_value=temp; yon_config_set(key,yon_char_new(local_value)); yon_config_set_status(key,0); - } } @@ -1023,10 +1022,21 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window yon_config_remove_by_key(DEFAULTROOTPASSWD_parameter); } int user_k_admin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultUserAdministratorCheck)); - if (user_k_admin){ - yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + if (!yon_config_check_ignore(ADDADM_parameter)){ + if (user_k_admin){ + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + } else { + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + } } else { - yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + char *user_k = config(ADDADM_parameter); + if (strcmp(user_k,user_k_admin?"yes":"no")){ + if (user_k_admin){ + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"yes"); + } else { + yon_config_register(ADDADM_parameter,ADDADM_parameter_command,"no"); + } + } } if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->PasswordHashCombo))!=0){ char *hash = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PasswordHashCombo)); @@ -2306,6 +2316,8 @@ void on_parameter_changed(GtkWidget *self,ubl_settings_usergroups_user_window *w if (final_string[strlen(final_string)-1]==' ') final_string[strlen(final_string)-1]='\0'; gtk_entry_set_text(GTK_ENTRY(window->userExtraOptionsEntry),final_string); free(final_string); + } else { + gtk_entry_set_text(GTK_ENTRY(window->userExtraOptionsEntry),""); } } -- 2.35.1