Test fix for shadow and group shadow loading

pull/235/head
parent 494f5443f8
commit 116edf202b

@ -514,7 +514,7 @@ void on_user_save(GtkWidget *self, dictionary *dict){
}
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);
main_config.remove_homes = yon_char_parsed_rip(main_config.remove_homes,&main_config.homes_size,home_delete);
}
if (!yon_char_is_empty(useradd_sync_string)){

@ -1187,6 +1187,14 @@ void yon_system_load(main_window *window){
yon_char_parsed_free(main_config.users,main_config.users_size);
main_config.users = yon_file_open(users_path,&main_config.users_size);
}
if (main_config.shadow_size>0){
yon_char_parsed_free(main_config.shadow,main_config.shadow_size);
main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size);
}
if (main_config.group_shadow_size>0){
yon_char_parsed_free(main_config.group_shadow,main_config.group_shadow_size);
main_config.group_shadow = yon_file_open(users_path,&main_config.group_shadow_size);
}
GtkTreeIter iter;
for (int i=0;i<main_config.groups_size;i++){
@ -1200,16 +1208,18 @@ void yon_system_load(main_window *window){
}
for (int i=0;i<main_config.users_size;i++){
int parsed_size;
int shadow_parsed_size;
config_str parsed = yon_char_parse(main_config.users[i],&parsed_size,":");
config_str shadow_parsed = yon_char_parse(main_config.shadow[i],&shadow_parsed_size,":");
char *groups_string="";
char *main_group_name="";
for (int j=0;j<main_config.groups_size;j++){
int parsed_gr_size;
config_str parsed_group = yon_char_parse(main_config.groups[j],&parsed_gr_size,":");
if (atol(parsed[2])==atol(parsed_group[2])){
if (atol(parsed[3])==atol(parsed_group[2])){
main_group_name=yon_char_new(parsed_group[0]);
}
if (strstr(parsed_group[3],parsed[0])){
if (strstr(parsed_group[3],shadow_parsed[0])){
groups_string = yon_char_unite(groups_string,!yon_char_is_empty(groups_string)?",":"",parsed_group[0],NULL);
}
yon_char_parsed_free(parsed_group,parsed_gr_size);

Loading…
Cancel
Save