From bdc390b5a941a92e64d890ea36565855d66ade61 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 30 Jan 2024 09:21:50 +0600 Subject: [PATCH 01/10] covering 'system' functions --- source/ubl-settings-usergroups.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 2d989eb..80d63fa 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -106,9 +106,9 @@ if (main_config.sync_users){ if (parsed[1][0]==' '&&parsed[1][1]=='.'&&parsed[1][2]==' ') free(parsed[1]=yon_char_divide(parsed[1],3)); - system (samba_sync_password_command(parsed[0],parsed[1])); + if (system (samba_sync_password_command(parsed[0],parsed[1]))){}; } else { - system ( samba_sync_command(parsed[0])); + if (system ( samba_sync_command(parsed[0]))){}; } @@ -2004,7 +2004,7 @@ int main(int argc, char *argv[]){ if(optarg) main_config.load_socket_id=atoi(optarg); break; - case 'c': system(remove_config_dir_command); + case 'c': if (system(remove_config_dir_command)){}; break; case 1: main_config.lock_help=1; From 0c1f42d8aa7e29940b1b127bfaf92a4f37f79f0a Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 15:07:37 +0600 Subject: [PATCH 02/10] Test fix for crash --- source/ubl-settings-usergroups.c | 58 ++++++++++++++++++++++++++------ source/ubl-settings-usergroups.h | 4 +++ ubl-settings-usergroups.css | 22 +++++------- 3 files changed, 60 insertions(+), 24 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 80d63fa..71ca337 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -117,15 +117,28 @@ if (main_config.sync_users){ } } +void yon_accept_changes(){ + char *remove_homes = ""; + for (int i=0;ilist),&itar); for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ char *name_check; - gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,1,&name_check,-1); + int status; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,1,&name_check,3,&status,-1); if (!strcmp(name,name_check)){ GtkTreeIter *it = gtk_tree_iter_copy(&iter); if (!gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ @@ -209,6 +223,11 @@ void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){ gtk_list_store_remove(widgets->UsersList,it); yon_config_remove_by_key(USERADD(name)); yon_config_remove_by_key(USERSHADOW(name)); + if (status){ + if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){ + yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name); + } + } } } } @@ -255,17 +274,27 @@ void yon_delete_confirmation_open(main_window *widgets){ for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ char *name,*parameters,*homedir=NULL; gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,6,¶meters,-1); - if (strstr(parameters,"--home-dir")){ - int size; - config_str parsed = yon_char_parse(parameters,&size," "); - for (int i=0;i-1){ + int parsed_size; + config_str parsed = yon_char_parse(main_config.users[found],&parsed_size,":"); + if (parsed_size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")){ + + homedir = yon_char_new(parsed[5]); } - yon_char_parsed_free(parsed,size); + yon_char_parsed_free(parsed,parsed_size); } + // if (strstr(parameters,"--home-dir")){ + // int size; + // config_str parsed = yon_char_parse(parameters,&size," "); + // for (int i=0;ilist,&itar); @@ -1072,7 +1101,8 @@ void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets){ void on_user_shell_changed(GtkWidget *self, ubl_settings_usergroups_user_window *window){ - if (!strcmp(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)),SET_LABEL)){ + const char *current = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)); + if (!strcmp(current,SET_LABEL)){ if(gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo))>1){ gtk_widget_set_sensitive(window->userShellEntry,1); } else { @@ -1333,6 +1363,10 @@ void on_user_save(GtkWidget *self, dictionary *dict){ NULL); yon_config_register(USERADD(login),"users",final_user); yon_config_register(USERSHADOW(login),"users",shadow_string); + int home_delete = yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,login); + if (home_delete>-1){ + yon_char_parsed_rip(main_config.remove_homes,&main_config.homes_size,home_delete); + } if (!yon_char_is_empty(useradd_sync_string)) yon_config_register(USERADD_SYNC(login),"users",useradd_sync_string); @@ -1799,6 +1833,8 @@ void config_init(){ main_config.password_min_length=6; main_config.sync_users = NULL; main_config.sync_size=0; + main_config.homes_size=0; + main_config.remove_homes=NULL; int login_size; config_str login_defs = yon_file_open(uid_path,&login_size); for (int i=0;i*{ + margin:2px 2px 0 2px; padding: 3px 10px 3px 5px; border:transparent; } - .menuitemmiddle *{ + .menuitemmiddle>*{ margin:0 2px 0 2px; padding: 3px 10px 3px 5px; border:transparent; } - .menuitembottom *{ + .menuitembottom>*{ margin:0 2px 2px 2px; padding: 3px 10px 3px 5px; } @@ -85,19 +81,19 @@ background:transparent; border-right-width:inherit; } - .menuitemtop:hover* { - margin:4px 2px 0 2px; + .menuitemtop:hover>* { + margin:2px 2px 0 2px; padding: 3px 10px 3px 5px; background:@theme_selected_bg_color; border-radius:2px; } - .menuitemmiddle:hover* { - margin:0 2px 0 2px; + .menuitemmiddle:hover>* { + margin:0 2px 0px 2px; padding: 3px 10px 3px 5px; background:@theme_selected_bg_color; border-radius:2px; } - .menuitembottom:hover* { + .menuitembottom:hover>* { margin:0 2px 2px 2px; padding: 3px 10px 3px 5px; background:@theme_selected_bg_color; From e6c09c08d7c8271e5266dbb11681dad6bb7f0e3e Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 15:09:37 +0600 Subject: [PATCH 03/10] Test fix for crash --- source/ubl-settings-usergroups.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 71ca337..d6d3da9 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1102,7 +1102,7 @@ void on_settings_usergroups_system_open(GtkWidget *self, main_window *widgets){ void on_user_shell_changed(GtkWidget *self, ubl_settings_usergroups_user_window *window){ const char *current = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userShellCombo)); - if (!strcmp(current,SET_LABEL)){ + if (!yon_char_is_empty(current)&&!strcmp(current,SET_LABEL)){ if(gtk_combo_box_get_active(GTK_COMBO_BOX(window->userShellCombo))>1){ gtk_widget_set_sensitive(window->userShellEntry,1); } else { From a58843fd29fce054132394c6861ae306d9df62c3 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 17:28:14 +0600 Subject: [PATCH 04/10] User deletion fixes --- source/ubl-settings-usergroups.c | 34 +++++++++++++++------- ubl-settings-usergroups-confirmation.glade | 5 ++-- 2 files changed, 27 insertions(+), 12 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index d6d3da9..8fdb6ed 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -210,19 +210,34 @@ void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){ int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar); for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ char *name_check; - int status; - gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,1,&name_check,3,&status,-1); - if (!strcmp(name,name_check)){ - GtkTreeIter *it = gtk_tree_iter_copy(&iter); - if (!gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ - iter = *gtk_tree_iter_copy(it); - if (!gtk_tree_model_iter_previous(GTK_TREE_MODEL(widgets->UsersList),&iter)){ - iter = *gtk_tree_iter_copy(it); + int status,delete; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1); + if (!strcmp(name,name_check)&&delete){ + gtk_list_store_remove(widgets->UsersList,&iter); + yon_config_remove_by_key(USERADD(name)); + yon_config_remove_by_key(USERSHADOW(name)); + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter); + if (status){ + if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){ + yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name); } } - gtk_list_store_remove(widgets->UsersList,it); + } + } + } + char *name; + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter); + gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,-1); + int valid2 = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(window->list),&itar); + for (;valid2;valid2 = gtk_tree_model_iter_next(GTK_TREE_MODEL(window->list),&itar)){ + char *name_check; + int status,delete; + gtk_tree_model_get(GTK_TREE_MODEL(window->list),&itar,0,&delete,1,&name_check,3,&status,-1); + if (!strcmp(name,name_check)&&delete){ + gtk_list_store_remove(widgets->UsersList,&iter); yon_config_remove_by_key(USERADD(name)); yon_config_remove_by_key(USERSHADOW(name)); + gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter); if (status){ if (yon_char_parsed_check_exist(main_config.remove_homes,main_config.homes_size,name)==-1){ yon_char_parsed_add_or_create_if_exists(main_config.remove_homes,&main_config.homes_size,name); @@ -230,7 +245,6 @@ void yon_delete_confirmation_save(GtkWidget *self, dictionary *dict){ } } } - } on_subwindow_close(self); } diff --git a/ubl-settings-usergroups-confirmation.glade b/ubl-settings-usergroups-confirmation.glade index d56818e..65e05e5 100644 --- a/ubl-settings-usergroups-confirmation.glade +++ b/ubl-settings-usergroups-confirmation.glade @@ -71,8 +71,9 @@ False 20 20 - 20 - 20 + 10 + 10 + 50 dialog-question-symbolic 6 From 84a773722c6c88ed1261b4f42e7fd91b1fb3d143 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 17:56:59 +0600 Subject: [PATCH 05/10] Fixed unwanted symbols at password --- source/ubl-settings-usergroups.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 8fdb6ed..4ad67ee 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1224,6 +1224,9 @@ void on_user_save(GtkWidget *self, dictionary *dict){ yon_ubl_status_highlight_incorrect(window->userPasswordEntry); return; } + if (password[0]==' '&&password[1]=='.'&&password[2]==' '){ + free(yon_char_divide(password,2)); + } } else { password="x"; } From f2b3b6a676a0deb07b6de27fc892300be962e000 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 18:09:35 +0600 Subject: [PATCH 06/10] Added unencrypted password status --- source/ubl-settings-usergroups.c | 4 +- source/ubl-strings.h | 3 +- ubl-settings-usergroups.pot | 190 +++++++++++++++--------------- ubl-settings-usergroups_ru.po | 193 ++++++++++++++++--------------- 4 files changed, 197 insertions(+), 193 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 4ad67ee..77ff8fe 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -42,7 +42,7 @@ void yon_interface_update(main_window *widgets){ 4,parameters_size>2?parameters[2]:"", 5,parameters_size>3?parameters[3]:"", 6,parameters_size>4?parameters[4]:"", - 7,parameters_size>5?strcmp(parameters[5],"x")? ENDRYPTED_LABEL : DEFAULT_USER_LABEL : DEFAULT_USER_LABEL, + 7,parameters_size>5?strcmp(parameters[5],"x")&&strcmp(parameters[5],"")? parameters[5][0]=='%'&¶meters[5][1]=='%'? UNENCRYPTED_LABEL: ENCRYPTED_LABEL : DEFAULT_USER_LABEL : DEFAULT_USER_LABEL, -1); if(parameters) free(parameters); @@ -70,7 +70,7 @@ void yon_interface_update(main_window *widgets){ 0,parameters_size>1?parameters[1]:"", 2,parameters_size>0?parameters[0]:"", 3,parameters_size>2?parameters[2]:"", - 4,parameters_size>3?ENDRYPTED_LABEL:DEFAULT_USER_LABEL, + 4,parameters_size>3?ENCRYPTED_LABEL:DEFAULT_USER_LABEL, -1); if(parameters) free(parameters); diff --git a/source/ubl-strings.h b/source/ubl-strings.h index fc8bc19..aece6c8 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -58,7 +58,8 @@ #define ADDITIONAL_SETTINGS_TITLE_LABEL _("Additional settings") #define NO_PASSWORD_LABEL _("No password required") #define SET_PASSWORD_LABEL _("Set a password") -#define ENDRYPTED_LABEL _("Endrypted password") +#define ENCRYPTED_LABEL _("Encrypted password") +#define UNENCRYPTED_LABEL _("Unencrypted password") #define MD5_LABEL "md5" #define YESCRYPT_LABEL "yescrypt" #define SCRYPT_LABEL "scrypt" diff --git a/ubl-settings-usergroups.pot b/ubl-settings-usergroups.pot index 407478a..61bd1f8 100644 --- a/ubl-settings-usergroups.pot +++ b/ubl-settings-usergroups.pot @@ -105,7 +105,7 @@ msgstr "" msgid "UID" msgstr "" -#: source/ubl-strings.h:15 source/ubl-strings.h:83 +#: source/ubl-strings.h:15 source/ubl-strings.h:84 msgid "Login" msgstr "" @@ -271,385 +271,385 @@ msgstr "" msgid "Set a password" msgstr "" -#: source/ubl-strings.h:61 -msgid "Endrypted password" +#: source/ubl-strings.h:61 source/ubl-strings.h:87 +msgid "Encrypted password" msgstr "" -#: source/ubl-strings.h:74 -msgid "Accept" +#: source/ubl-strings.h:62 +msgid "Unencrypted password" msgstr "" -#: source/ubl-strings.h:77 -msgid "Configure group" +#: source/ubl-strings.h:75 +msgid "Accept" msgstr "" #: source/ubl-strings.h:78 -msgid "Add group" +msgid "Configure group" msgstr "" #: source/ubl-strings.h:79 -msgid "Group id:" +msgid "Add group" msgstr "" #: source/ubl-strings.h:80 -msgid "Group name:" +msgid "Group id:" msgstr "" #: source/ubl-strings.h:81 -msgid "Group users:" +msgid "Group name:" msgstr "" #: source/ubl-strings.h:82 -msgid "Automatically" +msgid "Group users:" msgstr "" -#: source/ubl-strings.h:84 -msgid "Create group with ununique GID" +#: source/ubl-strings.h:83 +msgid "Automatically" msgstr "" #: source/ubl-strings.h:85 -msgid "Create system group" +msgid "Create group with ununique GID" msgstr "" #: source/ubl-strings.h:86 -msgid "Encrypted password" +msgid "Create system group" msgstr "" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:88 msgid "Additional configuration" msgstr "" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:89 msgid "Group configuration synchronization" msgstr "" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:90 msgid "When shutting down the system, save the group into the configuration" msgstr "" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:91 msgid "Group administrators:" msgstr "" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:94 msgid "Default groups" msgstr "" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:95 msgid "Main group" msgstr "" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:96 msgid "Additional groups" msgstr "" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:97 msgid "Choose groups" msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:98 msgid "Choose users" msgstr "" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:101 msgid "System users and groups" msgstr "" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:102 msgid "Blocked" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:103 msgid "Username" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:104 msgid "" "Primary\n" "group" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:105 msgid "" "Home\n" "directory" msgstr "" -#: source/ubl-strings.h:105 source/ubl-strings.h:111 +#: source/ubl-strings.h:106 source/ubl-strings.h:112 msgid "Group" msgstr "" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:107 msgid "Update the system users and groups list" msgstr "" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:108 msgid "Toggle system groups and users" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:110 msgid "Password mismatch" msgstr "" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:111 msgid "Password must be at least" msgstr "" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:111 msgid "characters" msgstr "" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "" "Days until\n" "warning" msgstr "" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:114 msgid "" "Days\n" "without activity" msgstr "" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:115 msgid "" "Shell\n" "path" msgstr "" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:116 msgid "" "Password has\n" "been changed" msgstr "" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:117 msgid "" "Expiration\n" "date" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:118 msgid "" "Password change\n" "interval (min)" msgstr "" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:119 msgid "" "Password change\n" "interval (max)" msgstr "" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:122 msgid "Add user" msgstr "" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:123 msgid "Configure user" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:124 msgid "Set" msgstr "" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:125 msgid "Empty important field" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:126 msgid "Loading has failed" msgstr "" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:127 msgid "Login name" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:128 msgid "Additional groups:" msgstr "" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:129 msgid "Password configuration" msgstr "" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:130 msgid "Password has been changed:" msgstr "" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:131 msgid "expiration date:" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:132 msgid "Password change interval: minimum" msgstr "" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:133 msgid "days, maximum" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:134 msgid "days" msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:135 msgid "Days until warning:" msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:136 msgid "Days without activity:" msgstr "" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:137 msgid "Force change at next login" msgstr "" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:138 msgid "User shell:" msgstr "" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:139 msgid "Home directory:" msgstr "" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:140 msgid "Don't set" msgstr "" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:141 msgid "Create system user" msgstr "" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:142 msgid "Create user with ununique (repeating) UID" msgstr "" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:143 msgid "Do not check login for compliance with character rules" msgstr "" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:144 msgid "Temporary deactivation" msgstr "" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:145 msgid "Save" msgstr "" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:146 msgid "login_name" msgstr "" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:147 msgid "group_name" msgstr "" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:148 msgid "User name" msgstr "" -#: source/ubl-strings.h:148 +#: source/ubl-strings.h:149 msgid "Sync user" msgstr "" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:150 msgid "Sync user with password" msgstr "" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:151 msgid "Encrypt all passwords" msgstr "" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:153 msgid "User configuration" msgstr "" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:154 msgid "User configuration synchronization" msgstr "" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:155 msgid "During system startup, load the user from the configuration" msgstr "" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:156 msgid "When shutting down the system, save the user into the configuration" msgstr "" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:157 msgid "User password configuration syncronization" msgstr "" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:158 msgid "" "During system startup, load the user's parameters from the configuration" msgstr "" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:159 msgid "" "When shutting down the system, save the user's parameters into the " "configuration" msgstr "" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:161 msgid "Main" msgstr "" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:162 msgid "Additional" msgstr "" -#: source/ubl-strings.h:162 +#: source/ubl-strings.h:163 msgid "Syncronization" msgstr "" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:166 msgid "Repeat password:" msgstr "" -#: source/ubl-strings.h:166 +#: source/ubl-strings.h:167 msgid "Password hash:" msgstr "" -#: source/ubl-strings.h:167 +#: source/ubl-strings.h:168 msgid "Do not encrypt password" msgstr "" -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:171 msgid "Additional configuration of service parameter saving" msgstr "" -#: source/ubl-strings.h:171 +#: source/ubl-strings.h:172 msgid "" "At every system shutdown save changes of (root)/var/lib/samba\n" "into (hd)/ublinux-data/rootcopy" msgstr "" -#: source/ubl-strings.h:172 +#: source/ubl-strings.h:173 msgid "For system save mode \"Sandbox\"" msgstr "" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:176 msgid "User deletion" msgstr "" -#: source/ubl-strings.h:176 +#: source/ubl-strings.h:177 msgid "Confirm user(-s) deletion:" msgstr "" -#: source/ubl-strings.h:177 +#: source/ubl-strings.h:178 msgid "Chosen" msgstr "" -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:179 msgid "User" msgstr "" -#: source/ubl-strings.h:179 +#: source/ubl-strings.h:180 msgid "Home directory" msgstr "" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:181 msgid "Delete home directory" msgstr "" diff --git a/ubl-settings-usergroups_ru.po b/ubl-settings-usergroups_ru.po index 9c1c79f..c18371e 100644 --- a/ubl-settings-usergroups_ru.po +++ b/ubl-settings-usergroups_ru.po @@ -107,7 +107,7 @@ msgstr "Алгоритм хэширования пароля:" msgid "UID" msgstr "UID" -#: source/ubl-strings.h:15 source/ubl-strings.h:83 +#: source/ubl-strings.h:15 source/ubl-strings.h:84 msgid "Login" msgstr "Логин" @@ -287,99 +287,99 @@ msgstr "Пароль не требуется" msgid "Set a password" msgstr "Задать пароль" -#: source/ubl-strings.h:61 -msgid "Endrypted password" +#: source/ubl-strings.h:61 source/ubl-strings.h:87 +msgid "Encrypted password" msgstr "Зашифрованный пароль" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:62 +msgid "Unencrypted password" +msgstr "Незашифрованный пароль" + +#: source/ubl-strings.h:75 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:78 msgid "Configure group" msgstr "Редактировать группу" -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:79 msgid "Add group" msgstr "Добавить группу" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:80 msgid "Group id:" msgstr "ID Группы:" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:81 msgid "Group name:" msgstr "Имя группы:" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:82 msgid "Group users:" msgstr "Пользователи группы:" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:83 msgid "Automatically" msgstr "Автоматически" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:85 msgid "Create group with ununique GID" msgstr "Создать группу с повторяющимися (не уникальными) GID" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:86 msgid "Create system group" msgstr "Создать системную группу" -#: source/ubl-strings.h:86 -msgid "Encrypted password" -msgstr "Зашифрованный пароль" - -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:88 msgid "Additional configuration" msgstr "Дополнительные настройки" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:89 msgid "Group configuration synchronization" msgstr "Синхронизация настроек группы" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:90 msgid "When shutting down the system, save the group into the configuration" msgstr "При завершении работы системы сохранить группу в конфигурацию" -#: source/ubl-strings.h:90 +#: source/ubl-strings.h:91 msgid "Group administrators:" msgstr "Администраторы группы:" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:94 msgid "Default groups" msgstr "Группы пользователей по умолчанию" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:95 msgid "Main group" msgstr "Основная группа" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:96 msgid "Additional groups" msgstr "Дополнительные группы" -#: source/ubl-strings.h:96 +#: source/ubl-strings.h:97 msgid "Choose groups" msgstr "Выбрать группы" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:98 msgid "Choose users" msgstr "Выбрать пользователей" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:101 msgid "System users and groups" msgstr "Пользователи и группы в системе" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:102 msgid "Blocked" msgstr "Заблокировано" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:103 msgid "Username" msgstr "Имя пользователя" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:104 msgid "" "Primary\n" "group" @@ -387,7 +387,7 @@ msgstr "" "Основная\n" "группа" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:105 msgid "" "Home\n" "directory" @@ -395,31 +395,31 @@ msgstr "" "Домашний\n" "каталог" -#: source/ubl-strings.h:105 source/ubl-strings.h:111 +#: source/ubl-strings.h:106 source/ubl-strings.h:112 msgid "Group" msgstr "Группа" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:107 msgid "Update the system users and groups list" msgstr "Обновить список пользователей и групп системы" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:108 msgid "Toggle system groups and users" msgstr "Переключить видимость системных пользователей и групп" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:110 msgid "Password mismatch" msgstr "Несовпадение паролей" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:111 msgid "Password must be at least" msgstr "Пароль должен состоять из как минимум" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:111 msgid "characters" msgstr "символов" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:113 msgid "" "Days until\n" "warning" @@ -427,7 +427,7 @@ msgstr "" "Дней до\n" "предупреждения" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:114 msgid "" "Days\n" "without activity" @@ -435,7 +435,7 @@ msgstr "" "Дней без\n" "активности" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:115 msgid "" "Shell\n" "path" @@ -443,7 +443,7 @@ msgstr "" "Путь до\n" "оболочки" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:116 msgid "" "Password has\n" "been changed" @@ -451,7 +451,7 @@ msgstr "" "Пароль\n" "изменён" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:117 msgid "" "Expiration\n" "date" @@ -459,7 +459,7 @@ msgstr "" "Дата\n" "устаревания" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:118 msgid "" "Password change\n" "interval (min)" @@ -467,7 +467,7 @@ msgstr "" "Интервал смены\n" "пароля (мин.)" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:119 msgid "" "Password change\n" "interval (max)" @@ -475,187 +475,187 @@ msgstr "" "Интервал смены\n" "пароля (макс.)" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:122 msgid "Add user" msgstr "Добавить пользователя" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:123 msgid "Configure user" msgstr "Редактировать пользователя" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:124 msgid "Set" msgstr "Задать" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:125 msgid "Empty important field" msgstr "Пустое важное поле" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:126 msgid "Loading has failed" msgstr "Ошибка загрузки" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:127 msgid "Login name" msgstr "Имя логина" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:128 msgid "Additional groups:" msgstr "Дополнительные группы:" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:129 msgid "Password configuration" msgstr "Конфигурация пароля" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:130 msgid "Password has been changed:" msgstr "Пароль изменён:" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:131 msgid "expiration date:" msgstr "Дата устаревания:" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:132 msgid "Password change interval: minimum" msgstr "Интервал смены пароля: минимум" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:133 msgid "days, maximum" msgstr "дней, максимум" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:134 msgid "days" msgstr "дней" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:135 msgid "Days until warning:" msgstr "Дней до предупреждения:" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:136 msgid "Days without activity:" msgstr "Дней без активности:" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:137 msgid "Force change at next login" msgstr "Принудительно сменить при следующем входе в систему" -#: source/ubl-strings.h:137 +#: source/ubl-strings.h:138 msgid "User shell:" msgstr "Оболочка пользователя:" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:139 msgid "Home directory:" msgstr "Домашний каталог:" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:140 msgid "Don't set" msgstr "Не создавать" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:141 msgid "Create system user" msgstr "Создать системного пользователя" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:142 msgid "Create user with ununique (repeating) UID" msgstr "Создать пользователя с повторяющимися (не уникальными) UID" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:143 msgid "Do not check login for compliance with character rules" msgstr "Не проверять логин на несоответствие правилам использования символов" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:144 msgid "Temporary deactivation" msgstr "Временное отключение учётной записи" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:145 msgid "Save" msgstr "Сохранить" -#: source/ubl-strings.h:145 +#: source/ubl-strings.h:146 msgid "login_name" msgstr "Имя_логина" -#: source/ubl-strings.h:146 +#: source/ubl-strings.h:147 msgid "group_name" msgstr "Имя_группы" -#: source/ubl-strings.h:147 +#: source/ubl-strings.h:148 msgid "User name" msgstr "Имя пользователя" -#: source/ubl-strings.h:148 +#: source/ubl-strings.h:149 msgid "Sync user" msgstr "Синхронизировать пользователя" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:150 msgid "Sync user with password" msgstr "Синхронизировать пользователя с паролем" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:151 msgid "Encrypt all passwords" msgstr "Зашифровать все пароли" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:153 msgid "User configuration" msgstr "Настройка пользователя" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:154 msgid "User configuration synchronization" msgstr "Синхронизация настроек пользователя" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:155 msgid "During system startup, load the user from the configuration" msgstr "При загрузке системы загрузить пользователя из конфигурации" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:156 msgid "When shutting down the system, save the user into the configuration" msgstr "При завершении работы системы сохранить пользователя в конфигурацию" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:157 msgid "User password configuration syncronization" msgstr "Синхронизация настроек пароля пользователя" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:158 msgid "" "During system startup, load the user's parameters from the configuration" msgstr "При загрузке системы загрузить параметры пользователя из конфигурации" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:159 msgid "" "When shutting down the system, save the user's parameters into the " "configuration" msgstr "" "При завершении работы системы сохранить параметры пользователя в конфигурацию" -#: source/ubl-strings.h:160 +#: source/ubl-strings.h:161 msgid "Main" msgstr "Основные" -#: source/ubl-strings.h:161 +#: source/ubl-strings.h:162 msgid "Additional" msgstr "Дополнительные" -#: source/ubl-strings.h:162 +#: source/ubl-strings.h:163 msgid "Syncronization" msgstr "Синхронизация" -#: source/ubl-strings.h:165 +#: source/ubl-strings.h:166 msgid "Repeat password:" msgstr "Подтверждение пароля:" -#: source/ubl-strings.h:166 +#: source/ubl-strings.h:167 msgid "Password hash:" msgstr "Хэш пароля:" -#: source/ubl-strings.h:167 +#: source/ubl-strings.h:168 msgid "Do not encrypt password" msgstr "Не шифровать пароль" -#: source/ubl-strings.h:170 +#: source/ubl-strings.h:171 msgid "Additional configuration of service parameter saving" msgstr "Дополнительные настройки сохранения параметров сервисов" -#: source/ubl-strings.h:171 +#: source/ubl-strings.h:172 msgid "" "At every system shutdown save changes of (root)/var/lib/samba\n" "into (hd)/ublinux-data/rootcopy" @@ -663,30 +663,33 @@ msgstr "" "При каждом завершении работы ОС сохранять изменения (root)/var/lib/samba\n" "в (hd)/ublinux-data/rootcopy/" -#: source/ubl-strings.h:172 +#: source/ubl-strings.h:173 msgid "For system save mode \"Sandbox\"" msgstr "Для режима сохранения системы \"Песочница\"" -#: source/ubl-strings.h:175 +#: source/ubl-strings.h:176 msgid "User deletion" msgstr "Удаление пользователя(-лей)" -#: source/ubl-strings.h:176 +#: source/ubl-strings.h:177 msgid "Confirm user(-s) deletion:" msgstr "Подтвердите удаление пользователя (-ей):" -#: source/ubl-strings.h:177 +#: source/ubl-strings.h:178 msgid "Chosen" msgstr "Выбран" -#: source/ubl-strings.h:178 +#: source/ubl-strings.h:179 msgid "User" msgstr "Пользователь" -#: source/ubl-strings.h:179 +#: source/ubl-strings.h:180 msgid "Home directory" msgstr "Домашний каталог" -#: source/ubl-strings.h:180 +#: source/ubl-strings.h:181 msgid "Delete home directory" msgstr "Удалить домашний каталог" + +#~ msgid "Endrypted password" +#~ msgstr "Зашифрованный пароль" From 9057c1a443550a2b0ed991b41521de25bb6f0edc Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 31 Jan 2024 11:35:50 +0600 Subject: [PATCH 07/10] Comments remove --- source/ubl-settings-usergroups.c | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 77ff8fe..8a6c66c 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -299,16 +299,6 @@ void yon_delete_confirmation_open(main_window *widgets){ } yon_char_parsed_free(parsed,parsed_size); } - // if (strstr(parameters,"--home-dir")){ - // int size; - // config_str parsed = yon_char_parse(parameters,&size," "); - // for (int i=0;ilist,&itar); @@ -359,10 +349,6 @@ void on_filechooser_open(GtkWidget *self, GtkEntry *output_target){ } on_subwindow_close(dialog); - // ubl_settings_usergroups_additional_settings_window *window = yon_ubl_settings_usergroups_additional_settings_new(); - // g_signal_connect(G_OBJECT(window->AcceptButton),"clicked",G_CALLBACK(on_subwindow_close),NULL); - // gtk_widget_show(window->Window); - } void on_groups_save(GtkWidget *self, dictionary *dict){ From 2e87e3e6dc693ecee7cf333ba6c9b16050fbee17 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 1 Feb 2024 12:44:09 +0600 Subject: [PATCH 08/10] Samba sync --- source/ubl-settings-usergroups.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 8a6c66c..6f8203b 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -129,16 +129,19 @@ void yon_accept_changes(){ void on_config_save(){ yon_accept_changes(); + yon_samba_sync_proceed(); yon_save_proceed(NULL,YON_CONFIG_BOTH,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); } void on_config_global_save(){ yon_accept_changes(); + yon_samba_sync_proceed(); yon_save_proceed("global",YON_CONFIG_GLOBAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); } void on_config_local_save(){ yon_accept_changes(); + yon_samba_sync_proceed(); yon_save_proceed("system",YON_CONFIG_LOCAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); } From 625e6563a083c35d7b09eb3b0167b9100ffb2d67 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 1 Feb 2024 12:58:57 +0600 Subject: [PATCH 09/10] Fixes for password statuses --- source/ubl-settings-usergroups.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 6f8203b..d949f9c 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -1381,6 +1381,11 @@ void on_user_save(GtkWidget *self, dictionary *dict){ yon_config_register(USERSHADOW_SYNC(login),"users",usershadow_sync_string); GtkTreeIter iter; GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList); + char *password_status=NULL; + if (password_active==0) password_status = DEFAULT_USER_LABEL; + else if (password_active==1) password_status = NO_PASSWORD_LABEL; + else if (password[0]=='%'&&password[1]=='%') password_status = UNENCRYPTED_LABEL; + else password_status = ENCRYPTED_LABEL; if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter)) gtk_list_store_append(widgets->UsersList,&iter); gtk_list_store_set(widgets->UsersList,&iter, @@ -1390,7 +1395,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){ 4,yon_char_return_if_exist(main_group,login), 5,yon_char_return_if_exist(additional_groups,""), 6,yon_char_unite(yon_char_return_if_exist(user_home,""),yon_char_return_if_exist(user_shell,""),yon_char_return_if_exist(create_system_user,""),yon_char_return_if_exist(create_ununique,""),yon_char_return_if_exist(do_not_check,""),NULL), - 7,yon_char_return_if_exist(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(window->userPasswordCombo)),""), + 7,password_status, -1); on_subwindow_close(self); } From 9f3919c96d1a98538012f5db98ef760d6afa2dbb Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Thu, 1 Feb 2024 15:38:37 +0600 Subject: [PATCH 10/10] Added username to deletion confirmation window --- source/ubl-settings-usergroups.c | 7 ++++--- ubl-settings-usergroups-confirmation.glade | 13 +++++++++++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index d949f9c..7847db4 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -289,8 +289,8 @@ void yon_delete_confirmation_open(main_window *widgets){ } int valid = gtk_tree_model_get_iter_first(GTK_TREE_MODEL(widgets->UsersList),&iter); for (;valid;valid=gtk_tree_model_iter_next(GTK_TREE_MODEL(widgets->UsersList),&iter)){ - char *name,*parameters,*homedir=NULL; - gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,6,¶meters,-1); + char *name,*username,*parameters,*homedir=NULL; + gtk_tree_model_get(GTK_TREE_MODEL(widgets->UsersList),&iter,2,&name,3,&username,6,¶meters,-1); int found = yon_char_parsed_check_exist(main_config.users,main_config.users_size,yon_char_append(name,":")); if (found>-1){ @@ -305,8 +305,9 @@ void yon_delete_confirmation_open(main_window *widgets){ int status=0; if (homedir) status=1; gtk_list_store_append(window->list,&itar); - gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,status,-1); + gtk_list_store_set(window->list,&itar,0,yon_char_parsed_check_exist(chosen,chosen_size,name)>-1?1:0,1,name,2,homedir,3,0,4,status,5,username,-1); free(name); + free(username); free(parameters); free(homedir); } diff --git a/ubl-settings-usergroups-confirmation.glade b/ubl-settings-usergroups-confirmation.glade index 65e05e5..8e05972 100644 --- a/ubl-settings-usergroups-confirmation.glade +++ b/ubl-settings-usergroups-confirmation.glade @@ -25,6 +25,8 @@ + + @@ -138,6 +140,17 @@ + + + User name + + + + 5 + + + + Home directory