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){