diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 8e1eca7..077294c 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -125,22 +125,71 @@ void yon_accept_changes(){ } } +void yon_hide_passwords(template_saving_window *window){ + GtkTreeModel *model = GTK_TREE_MODEL(window->list); + GtkTreeIter iter; + int valid = gtk_tree_model_get_iter_first(model,&iter); + for (;valid;valid = gtk_tree_model_iter_next(model,&iter)){ + char *name; + char *old_value; + char *new_value; + gtk_tree_model_get(model,&iter,1,&name,2,&old_value,3,&new_value,-1); + if (strstr(name,"USERADD[")){ + int size; + config_str parsed = yon_char_parse(new_value,&size,":"); + if (parsed[5][0] !='$'&&parsed[5][0]!='%'){ + parsed[5]="******"; + char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"":"","\n",yon_char_parsed_to_string(parsed,size,":"),NULL); + gtk_list_store_set(window->list,&iter,7,new_compare,-1); + } + + } else if (strstr(name,"GROUPADD[")){ + int size; + config_str parsed = yon_char_parse(new_value,&size,":"); + if (parsed[4][0] !='$'&&parsed[4][0]!='%'){ + parsed[4]="******"; + char *new_compare = yon_char_unite(!yon_char_is_empty(old_value)?"":"",!yon_char_is_empty(old_value)?old_value:"",!yon_char_is_empty(old_value)?"":"","\n",yon_char_parsed_to_string(parsed,size,":"),NULL); + gtk_list_store_set(window->list,&iter,7,new_compare,-1); + } + + } else if (strstr(name,"DEFAULTPASSWD")){ + if (new_value[0] !='$'&&new_value[0]!='%'){ + char *new_compare = yon_char_unite("",old_value,"\n******",NULL); + gtk_list_store_set(window->list,&iter,7,new_compare,-1); + free(new_compare); + } + + } else if (strstr(name,"DEFAULTROOTPASSWD")){ + if (new_value[0] !='$'&&new_value[0]!='%'){ + char *new_compare = yon_char_unite("",old_value,"\n******",NULL); + gtk_list_store_set(window->list,&iter,7,new_compare,-1); + free(new_compare); + } + + } + } +} + 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); + template_saving_window *window = yon_save_proceed(NULL,YON_CONFIG_BOTH,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); + yon_hide_passwords(window); } 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); + template_saving_window *window = yon_save_proceed("global",YON_CONFIG_GLOBAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); + yon_hide_passwords(window); + } 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); + template_saving_window *window = yon_save_proceed("system",YON_CONFIG_LOCAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL); + yon_hide_passwords(window); } void on_saving_settings_save(GtkWidget *self, yon_savasettings_window *window){