From 181c342d7214001624e22590a8694f908a7ab218 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Sat, 28 Dec 2024 13:47:17 +0600 Subject: [PATCH] Fixed system data reloading --- source/ubl-settings-usergroups.c | 8 ++++++++ source/ubl-settings-usergroups.h | 4 ++++ 2 files changed, 12 insertions(+) diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 784971a..8c1b166 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -76,6 +76,14 @@ int yon_load_proceed(YON_CONFIG_TYPE type){ void yon_interface_update(main_window *widgets){ gtk_list_store_clear(widgets->UsersList); gtk_list_store_clear(widgets->GroupsList); + if (main_config.groups_size) yon_char_parsed_free(main_config.groups,main_config.groups_size); + if (main_config.users_size) yon_char_parsed_free(main_config.users,main_config.users_size); + if (main_config.shadow_size) yon_char_parsed_free(main_config.shadow,main_config.shadow_size); + if (main_config.group_shadow_size) yon_char_parsed_free(main_config.group_shadow,main_config.group_shadow_size); + main_config.groups = yon_file_open(groups_path,&main_config.groups_size); + main_config.users = yon_file_open(users_path,&main_config.users_size); + main_config.shadow = yon_file_open(shadow_path,&main_config.shadow_size); + main_config.group_shadow = yon_file_open(group_shadow_path,&main_config.group_shadow_size); int size; GtkTreeIter iter; char *def_groups = yon_config_get_by_key(USERGROUPS_parameter); diff --git a/source/ubl-settings-usergroups.h b/source/ubl-settings-usergroups.h index 20a3662..3090a96 100644 --- a/source/ubl-settings-usergroups.h +++ b/source/ubl-settings-usergroups.h @@ -51,6 +51,10 @@ #define get_system_shadow_command(target) yon_char_unite("/usr/lib/ublinux/functions get_conf_usershadow_from_system ",target,NULL) #define get_system_group_command(target) yon_char_unite("/usr/lib/ublinux/functions get_conf_groupadd_from_system ",target,NULL) +#define remove_user_from_system_command(target) yon_char_append("userdel ",target) +#define remove_user_and_homedir_from_system_command yon_char_append("userdel -r ",target) +#define remove_group_from_system_command yon_char_append("groupdel ",target) + #define groups_path "/etc/group" #define users_path "/etc/passwd" #define shadow_path "/etc/shadow"