diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c
index 0efee6e..bcb9bd3 100644
--- a/source/ubl-settings-usergroups.c
+++ b/source/ubl-settings-usergroups.c
@@ -238,6 +238,22 @@ void yon_hide_passwords(template_saving_window *window){
}
}
if(!yon_char_is_empty(old_value)){
+ config_str parsed = NULL;
+ parsed = yon_char_parse(old_value,&size,":");
+ if (size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")&&parsed[5][0]!='%'&&parsed[5][1]!='%'){
+ free(old_value);
+ free(parsed[5]);
+ parsed[5]=yon_char_new("*******");
+ old_value = yon_char_parsed_to_string(parsed,size,":");
+ } else if (size>5&&!yon_char_is_empty(parsed[5])&&strcmp(parsed[5],"x")) {
+ free(old_value);
+ free(yon_char_divide(parsed[5],1));
+ old_value = yon_char_parsed_to_string(parsed,size,":");
+ }
+ if (parsed){
+ yon_char_parsed_free(parsed,size);
+ }
+
old=yon_char_unite("",old_value,"",NULL);
}
if(!yon_char_is_empty(new_value)){
@@ -260,6 +276,21 @@ void yon_hide_passwords(template_saving_window *window){
new_value = yon_char_parsed_to_string(parsed,size,":");
}
if(!yon_char_is_empty(old_value)){
+ config_str parsed = NULL;
+ parsed = yon_char_parse(old_value,&size,":");
+ if (size>4&&!yon_char_is_empty(parsed[4])&&strcmp(parsed[4],"x")&&parsed[4][0]!='%'&&parsed[4][1]!='%'){
+ free(old_value);
+ free(parsed[4]);
+ parsed[4]=yon_char_new("*******");
+ old_value = yon_char_parsed_to_string(parsed,size,":");
+ } else if (size>4&&!yon_char_is_empty(parsed[4])&&strcmp(parsed[4],"x")) {
+ free(old_value);
+ free(yon_char_divide(parsed[4],1));
+ old_value = yon_char_parsed_to_string(parsed,size,":");
+ }
+ if (parsed){
+ yon_char_parsed_free(parsed,size);
+ }
old=yon_char_unite("",old_value,"",NULL);
}
if(!yon_char_is_empty(new_value)){
@@ -276,12 +307,21 @@ void yon_hide_passwords(template_saving_window *window){
free(yon_char_divide(new_value,1));
newv=new_value;
} else if (!yon_char_is_empty(new_value)&&new_value[0]=='$') {
- newv=new_value;
+ if (main_config.load_mode){
+ newv=new_value;
+ } else {
+ newv="*******";
+ }
}else if (!yon_char_is_empty(new_value)){
newv="*******";
}
if (!yon_char_is_empty(old_value)){
- old = yon_char_unite("",old_value,"",NULL);
+ if (main_config.load_mode){
+
+ old = yon_char_new("*******");
+ } else {
+ old = yon_char_unite("",old_value,"",NULL);
+ }
}
char *new_string = yon_char_unite(!yon_char_is_empty(old)?old:"","\n",!yon_char_is_empty(newv)?newv:"",NULL);
gtk_list_store_set(window->list,&iter,7,new_string,-1);
@@ -293,12 +333,20 @@ void yon_hide_passwords(template_saving_window *window){
free(yon_char_divide(new_value,1));
newv=new_value;
} else if (!yon_char_is_empty(new_value)&&new_value[0]=='$') {
- newv=new_value;
+ if (main_config.load_mode){
+ newv=new_value;
+ } else {
+ newv="*******";
+ }
}else if (!yon_char_is_empty(new_value)){
newv="*******";
}
if (!yon_char_is_empty(old_value)){
- old = yon_char_unite("",old_value,"",NULL);
+ if (main_config.load_mode){
+ old = yon_char_new("*******");
+ } else {
+ old = yon_char_unite("",old_value,"",NULL);
+ }
}
char *new_string = yon_char_unite(!yon_char_is_empty(old)?old:"","\n",!yon_char_is_empty(newv)?newv:"",NULL);
gtk_list_store_set(window->list,&iter,7,new_string,-1);