|
|
|
|
@ -5,9 +5,8 @@ config main_config;
|
|
|
|
|
//functions
|
|
|
|
|
|
|
|
|
|
int yon_load_proceed(YON_CONFIG_TYPE type){
|
|
|
|
|
yon_config_load_register(YON_CONFIG_DEFAULT,DEFAULTPASSWD_SEC,DEFAULTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,DEFAULTROOTPASSWD_PARAM,USERGROUPS_SEC,USERGROUPS_PARAM,DEFAULTUSER_SEC,DEFAULTUSER_PARAM,HASHPASSWD_SEC,HASHPASSWD_PARAM,ADDADM_SEC,ADDADM_PARAM,NULL);
|
|
|
|
|
if (yon_config_load_register_no_cleaning(type,DEFAULTPASSWD_SEC,DEFAULTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,DEFAULTROOTPASSWD_PARAM,USERGROUPS_SEC,USERGROUPS_PARAM,DEFAULTUSER_SEC,DEFAULTUSER_PARAM,HASHPASSWD_SEC,HASHPASSWD_PARAM,ADDADM_SEC,ADDADM_PARAM,USERADD_SEC,USERADD_PARAM("*"),USERSHADOW_SEC,USERSHADOW_PARAM("*"),GROUPADD_SEC,GROUPADD_PARAM("*"),NULL)){
|
|
|
|
|
|
|
|
|
|
yon_config_load_register(YON_CONFIG_DEFAULT,"users","DEFAULTPASSWD DEFAULTROOTPASSWD USERGROUPS DEFAULTUSER HASHPASSWD ADDADM",NULL);
|
|
|
|
|
if (yon_config_load_register_no_cleaning(type,"users","DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL)){
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
return 0;
|
|
|
|
|
@ -19,7 +18,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
gtk_list_store_clear(widgets->GroupsList);
|
|
|
|
|
int size;
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
config_str users = yon_config_get_all_by_key(USERADD_SIMPLE,&size);
|
|
|
|
|
config_str users = yon_config_get_all_by_key("USERADD",&size);
|
|
|
|
|
if (users){
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
gtk_list_store_append(widgets->UsersList,&iter);
|
|
|
|
|
@ -50,7 +49,7 @@ void yon_interface_update(main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
free(users);
|
|
|
|
|
}
|
|
|
|
|
config_str groups = yon_config_get_all_by_key(GROUPADD_SIMPLE,&size);
|
|
|
|
|
config_str groups = yon_config_get_all_by_key("GROUPADD",&size);
|
|
|
|
|
if (groups){
|
|
|
|
|
for (int i=0;i<size;i++){
|
|
|
|
|
gtk_list_store_append(widgets->GroupsList,&iter);
|
|
|
|
|
@ -99,15 +98,15 @@ void on_config_global_load(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_save(){
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_BOTH,DEFAULTPASSWD_SEC,DEFAULTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,DEFAULTROOTPASSWD_PARAM,USERGROUPS_SEC,USERGROUPS_PARAM,DEFAULTUSER_SEC,DEFAULTUSER_PARAM,HASHPASSWD_SEC,HASHPASSWD_PARAM,ADDADM_SEC,ADDADM_PARAM,USERADD_SEC,USERADD_PARAM("*"),USERSHADOW_SEC,USERSHADOW_PARAM("*"),GROUPADD_SEC,GROUPADD_PARAM("*"),NULL);
|
|
|
|
|
yon_save_proceed(NULL,YON_CONFIG_BOTH,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_global_save(){
|
|
|
|
|
yon_save_proceed("global",YON_CONFIG_GLOBAL,DEFAULTPASSWD_SEC,DEFAULTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,DEFAULTROOTPASSWD_PARAM,USERGROUPS_SEC,USERGROUPS_PARAM,DEFAULTUSER_SEC,DEFAULTUSER_PARAM,HASHPASSWD_SEC,HASHPASSWD_PARAM,ADDADM_SEC,ADDADM_PARAM,USERADD_SEC,USERADD_PARAM("*"),USERSHADOW_SEC,USERSHADOW_PARAM("*"),GROUPADD_SEC,GROUPADD_PARAM("*"),NULL);
|
|
|
|
|
yon_save_proceed("global",YON_CONFIG_GLOBAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_config_local_save(){
|
|
|
|
|
yon_save_proceed("system",YON_CONFIG_LOCAL,DEFAULTPASSWD_SEC,DEFAULTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,DEFAULTROOTPASSWD_PARAM,USERGROUPS_SEC,USERGROUPS_PARAM,DEFAULTUSER_SEC,DEFAULTUSER_PARAM,HASHPASSWD_SEC,HASHPASSWD_PARAM,ADDADM_SEC,ADDADM_PARAM,USERADD_SEC,USERADD_PARAM("*"),USERSHADOW_SEC,USERSHADOW_PARAM("*"),GROUPADD_SEC,GROUPADD_PARAM("*"),NULL);
|
|
|
|
|
yon_save_proceed("system",YON_CONFIG_LOCAL,"users", "DEFAULTPASSWD DEFAULTROOTPASSWD DEFAULTUSER HASHPASSWD USERGROUPS ADDADM USERADD[*] USERSHADOW[*] GROUPADD[*]",NULL);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void on_password_combo_changed(GtkComboBox *self, GtkWidget *target){
|
|
|
|
|
@ -245,31 +244,31 @@ void on_expiration_clicked(GtkWidget *self, ubl_settings_usergroups_user_window
|
|
|
|
|
void on_additional_settings_save(GtkWidget *self, ubl_settings_usergroups_additional_settings_window *window){
|
|
|
|
|
const char *default_user = (char*)gtk_entry_get_text(GTK_ENTRY(window->DefaultUserNameEntry));
|
|
|
|
|
if (!yon_char_is_empty(default_user)){
|
|
|
|
|
yon_config_register(DEFAULTUSER_PARAM,DEFAULTUSER_SEC,yon_char_new((char*)default_user));
|
|
|
|
|
yon_config_register("DEFAULTUSER","users",yon_char_new((char*)default_user));
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(DEFAULTUSER_PARAM);
|
|
|
|
|
yon_config_remove_by_key("DEFAULTUSER");
|
|
|
|
|
}
|
|
|
|
|
char *default_password = gtk_combo_box_get_active(GTK_COMBO_BOX(window->DefaultPasswordCombo))>1? (char*)gtk_entry_get_text(GTK_ENTRY(window->DefaultPasswordEntry)):NULL;
|
|
|
|
|
if (!yon_char_is_empty(default_password)){
|
|
|
|
|
yon_config_register(DEFAULTPASSWD_PARAM,DEFAULTPASSWD_SEC,default_password);
|
|
|
|
|
yon_config_register("DEFAULTPASSWD","users",default_password);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(DEFAULTPASSWD_PARAM);
|
|
|
|
|
yon_config_remove_by_key("DEFAULTPASSWD");
|
|
|
|
|
}
|
|
|
|
|
char *root_password = gtk_combo_box_get_active(GTK_COMBO_BOX(window->RootPasswordCombo)) > 1 ? (char*)gtk_entry_get_text(GTK_ENTRY(window->RootPasswordEntry)) : NULL;
|
|
|
|
|
if (!yon_char_is_empty(root_password)){
|
|
|
|
|
yon_config_register(DEFAULTROOTPASSWD_PARAM,DEFAULTROOTPASSWD_SEC,root_password);
|
|
|
|
|
yon_config_register("DEFAULTROOTPASSWD","users",root_password);
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_remove_by_key(DEFAULTROOTPASSWD_PARAM);
|
|
|
|
|
yon_config_remove_by_key("DEFAULTROOTPASSWD");
|
|
|
|
|
}
|
|
|
|
|
int user_k_admin = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->DefaultUserAdministratorCheck));
|
|
|
|
|
if (user_k_admin){
|
|
|
|
|
yon_config_register(ADDADM_PARAM,ADDADM_SEC,"yes");
|
|
|
|
|
yon_config_register("ADDADM","users","yes");
|
|
|
|
|
} else {
|
|
|
|
|
yon_config_register(ADDADM_PARAM,ADDADM_SEC,"no");
|
|
|
|
|
yon_config_register("ADDADM","users","no");
|
|
|
|
|
}
|
|
|
|
|
char *hash = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->PasswordHashCombo));
|
|
|
|
|
if (!yon_char_is_empty(hash)){
|
|
|
|
|
yon_config_register(HASHPASSWD_PARAM,HASHPASSWD_SEC,hash);
|
|
|
|
|
yon_config_register("HASHPASSWD","users",hash);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -320,26 +319,26 @@ ubl_settings_usergroups_additional_settings_window *yon_ubl_settings_usergroups_
|
|
|
|
|
}
|
|
|
|
|
yon_char_parsed_free(hash_algos,hash_size);
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(window->PasswordHashCombo),0);
|
|
|
|
|
char *default_user = yon_config_get_by_key(DEFAULTUSER_PARAM);
|
|
|
|
|
char *default_user = yon_config_get_by_key("DEFAULTUSER");
|
|
|
|
|
if (!yon_char_is_empty(default_user))
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->DefaultUserNameEntry),default_user);
|
|
|
|
|
char *default_password = yon_config_get_by_key(DEFAULTPASSWD_PARAM);
|
|
|
|
|
char *default_password = yon_config_get_by_key("DEFAULTPASSWD");
|
|
|
|
|
if (!yon_char_is_empty(default_password)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->DefaultPasswordEntry),default_password);
|
|
|
|
|
if(!yon_config_check_ignore(DEFAULTPASSWD_PARAM))
|
|
|
|
|
if(!yon_config_check_ignore("DEFAULTPASSWD"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(window->DefaultPasswordCombo),3);
|
|
|
|
|
}
|
|
|
|
|
char *root_password = yon_config_get_by_key(DEFAULTROOTPASSWD_PARAM);
|
|
|
|
|
char *root_password = yon_config_get_by_key("DEFAULTROOTPASSWD");
|
|
|
|
|
if (!yon_char_is_empty(root_password)){
|
|
|
|
|
gtk_entry_set_text(GTK_ENTRY(window->RootPasswordEntry),root_password);
|
|
|
|
|
if(!yon_config_check_ignore(DEFAULTROOTPASSWD_PARAM))
|
|
|
|
|
if(!yon_config_check_ignore("DEFAULTROOTPASSWD"))
|
|
|
|
|
gtk_combo_box_set_active(GTK_COMBO_BOX(window->RootPasswordCombo),3);
|
|
|
|
|
}
|
|
|
|
|
char *is_k_admin = yon_config_get_by_key(ADDADM_PARAM);
|
|
|
|
|
char *is_k_admin = yon_config_get_by_key("ADDADM");
|
|
|
|
|
if (!yon_char_is_empty(is_k_admin))
|
|
|
|
|
if (!strcmp(is_k_admin,"yes"))
|
|
|
|
|
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(window->DefaultUserAdministratorCheck),1);
|
|
|
|
|
char *hash = yon_config_get_by_key(HASHPASSWD_PARAM);
|
|
|
|
|
char *hash = yon_config_get_by_key("HASHPASSWD");
|
|
|
|
|
if (!yon_char_is_empty(hash)){
|
|
|
|
|
gtk_combo_box_set_active_id(GTK_COMBO_BOX(window->PasswordHashCombo),hash);
|
|
|
|
|
}
|
|
|
|
|
@ -398,7 +397,7 @@ void on_GID_update(GtkWidget *self, ubl_settings_usergroups_group_creation_windo
|
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck))){
|
|
|
|
|
int config_size=0;
|
|
|
|
|
int final_size=0;
|
|
|
|
|
config_str config_groups = yon_config_get_all_by_key(GROUPADD_SIMPLE,&config_size);
|
|
|
|
|
config_str config_groups = yon_config_get_all_by_key("GROUPADD",&config_size);
|
|
|
|
|
yon_char_parsed_prepend_strings(config_groups,config_size,":");
|
|
|
|
|
config_str final = yon_char_parsed_merge(main_config.groups,main_config.groups_size,config_groups,config_size,&final_size);
|
|
|
|
|
long prev_busy=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->SystemGroupCheck))?0:main_config.MINGID;
|
|
|
|
|
@ -575,7 +574,7 @@ void on_standard_groups_accept(GtkWidget *self, ubl_settings_usergroups_group_wi
|
|
|
|
|
standard_groups=extend_groups;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
yon_config_register(USERGROUPS_PARAM,USERGROUPS_SEC,standard_groups);
|
|
|
|
|
yon_config_register("USERGROUPS","users",standard_groups);
|
|
|
|
|
on_subwindow_close(self);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -594,7 +593,7 @@ void on_standard_groups_open(GtkWidget *self, main_window *widgets){
|
|
|
|
|
}
|
|
|
|
|
g_signal_connect(G_OBJECT(window->GroupsOkButton),"clicked",G_CALLBACK(on_standard_groups_accept),window);
|
|
|
|
|
gtk_window_set_transient_for(GTK_WINDOW(window->GroupsWindow),GTK_WINDOW(widgets->Window));
|
|
|
|
|
char *groups = yon_config_get_by_key(USERGROUPS_PARAM);
|
|
|
|
|
char *groups = yon_config_get_by_key("USERGROUPS");
|
|
|
|
|
if (!yon_char_is_empty(groups)){
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
int size;
|
|
|
|
|
@ -844,7 +843,7 @@ void on_UID_update(GtkWidget *self, ubl_settings_usergroups_user_window *window)
|
|
|
|
|
if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userUIDAutoCheck))){
|
|
|
|
|
int config_size=0;
|
|
|
|
|
int final_size=0;
|
|
|
|
|
config_str config_users = yon_config_get_all_by_key(USERADD_SIMPLE,&config_size);
|
|
|
|
|
config_str config_users = yon_config_get_all_by_key("USERADD",&config_size);
|
|
|
|
|
yon_char_parsed_prepend_strings(config_users,config_size,":");
|
|
|
|
|
config_str final = yon_char_parsed_merge(main_config.users,main_config.users_size,config_users,config_size,&final_size);
|
|
|
|
|
long prev_busy=gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->userCreateSystemCheck))?0:main_config.MINGID;
|
|
|
|
|
@ -1074,14 +1073,14 @@ void on_user_save(GtkWidget *self, dictionary *dict){
|
|
|
|
|
":",yon_char_return_if_exist(password,"x"),
|
|
|
|
|
":",yon_char_return_if_exist(extra_options,""),
|
|
|
|
|
NULL);
|
|
|
|
|
yon_config_register(USERADD(login),USERADD_SEC,final_user);
|
|
|
|
|
yon_config_register(USERSHADOW(login),USERSHADOW_SEC,shadow_string);
|
|
|
|
|
yon_config_register(USERADD(login),"users",final_user);
|
|
|
|
|
yon_config_register(USERSHADOW(login),"users",shadow_string);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(useradd_sync_string))
|
|
|
|
|
yon_config_register(USERADD_SYNC(login),USERADD_SYNC_SEC,useradd_sync_string);
|
|
|
|
|
yon_config_register(USERADD_SYNC(login),"users",useradd_sync_string);
|
|
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(usershadow_sync_string))
|
|
|
|
|
yon_config_register(USERSHADOW_SYNC(login),USERSHADOW_SYNC_SEC,usershadow_sync_string);
|
|
|
|
|
yon_config_register(USERSHADOW_SYNC(login),"users",usershadow_sync_string);
|
|
|
|
|
GtkTreeIter iter;
|
|
|
|
|
GtkTreeModel *model = GTK_TREE_MODEL(widgets->UsersList);
|
|
|
|
|
if (!gtk_tree_selection_get_selected(gtk_tree_view_get_selection(GTK_TREE_VIEW(widgets->UsersTree)),&model,&iter))
|
|
|
|
|
|