@ -26,29 +26,19 @@ int yon_bootloader_save(main_window *widgets){
gtk_tree_model_get ( model , & iter , 0 , & is_admin , 1 , & username , 2 , & password , - 1 ) ;
yon_config_register ( GRUB_PASSWORD_parameter ( username ) , GRUB_PASSWORD_parameter_command ( username ) , password ) ;
if ( is_admin ) {
yon_config_append_element ( GRUB_SUPERUSERS_parameter , GRUB_SUPERUSERS_parameter_command, username) ;
yon_config_append_element ( GRUB_SUPERUSERS_parameter , username, " , " ) ;
} else {
yon_config_remove_by_key ( GRUB_SUPERUSERS_parameter ) ;
}
}
if ( ! main_config . configure_mode ) {
int user_size = 0 ;
int param_size = 0 ;
config_str users = yon_config_get_all_keys_by_key ( GRUB_PASSWORD_parameter_search , & user_size ) ;
config_str user_parameters = yon_config_get_save_parameters_by_list ( & param_size , users , user_size ) ;
yon_char_parsed_free ( users , user_size ) ;
char * user_string = yon_char_parsed_to_string ( user_parameters , param_size , " " ) ;
yon_char_parsed_free ( user_parameters , param_size ) ;
int size ;
config_str parameters = yon_config_get_save_parameters_by_key ( & size , GRUB_TIMEOUT_parameter , GRUB_SUPERUSERS_parameter , NULL ) ;
if ( parameters | | user_parameters ) {
char * command_parameters = yon_char_parsed_to_string ( parameters , size , " -- " ) ;
char * command = yon_char_unite ( ubconfig_dull_command , " --target system remove [autoinstall] " , GRUB_PASSWORD_parameter_all , " ; " , ubconfig_dull_command , " --target system " , command_parameters , " " , user_string , NULL ) ;
if ( ! system ( yon_debug_output ( " %s \n " , command ) ) ) { }
free ( command ) ;
yon_char_parsed_free ( parameters , size ) ;
}
yon_char_parsed_add_or_create_if_exists ( users , & user_size , GRUB_SUPERUSERS_parameter ) ;
yon_char_parsed_add_or_create_if_exists ( users , & user_size , GRUB_TIMEOUT_parameter ) ;
yon_config_save_list_simple ( users , user_size , main_config . config_load_path ) ;
}
yon_bootloader_interface_update ( widgets ) ;
@ -458,16 +448,9 @@ void yon_bootloader_init(main_window *widgets){
if ( ! main_config . configure_mode ) {
int size = 0 ;
config_str users = yon_config_get_all_by_key ( GRUB_PASSWORD_parameter_search , & size ) ;
yon_config_remove_by_list ( users , ( size_t ) size ) ;
yon_config_remove_by_args ( GRUB_TIMEOUT_parameter , GRUB_SUPERUSERS_parameter , NULL ) ;
char * command = yon_config_parameter_prepare_command ( GRUB_TIMEOUT_parameter , main_config . config_load_path , NULL , NULL ) ;
char * command2 = yon_config_parameter_prepare_command ( GRUB_SUPERUSERS_parameter , main_config . config_load_path , NULL , NULL ) ;
char * command3 = yon_config_parameter_prepare_command ( GRUB_PASSWORD_parameter_all , main_config . config_load_path , NULL , NULL ) ;
yon_config_load_config ( YON_CONFIG_CUSTOM , command , command2 , command3 , NULL ) ;
yon_char_parsed_free ( users , size ) ;
free ( command ) ;
free ( command2 ) ;
free ( command3 ) ;
yon_config_remove_by_list ( users , size ) ;
yon_config_update_by_args ( GRUB_TIMEOUT_parameter , GRUB_SUPERUSERS_parameter , NULL ) ;
yon_config_load_config ( YON_CONFIG_CUSTOM , ubconfig_load_command ( main_config . config_load_path ) , GRUB_PASSWORD_parameter_command_all , NULL ) ;
}
gtk_list_store_clear ( widgets - > BootloadUsersList ) ;
char * timeout = config ( GRUB_TIMEOUT_parameter ) ;