Fixed users, bootloader users and network connections saving

pull/300/head
parent a21d9eef1b
commit 5dd85cb2a1

@ -42,7 +42,7 @@ int yon_bootloader_save(main_window *widgets){
yon_char_parsed_free(user_parameters,param_size);
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,GRUB_TIMEOUT_parameter,AUTOLOGINUSER_parameter,GRUB_SUPERUSERS_parameter,NULL);
if (parameters){
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))){}
@ -443,6 +443,8 @@ void yon_bootloader_interface_update(main_window *widgets){
for (int i=0;i<size;i++){
char *value = yon_char_new(users[i]);
char *parameter = yon_char_divide_search(value,"=",-1);
if (yon_config_get_status(parameter)<-1) continue;
char *key = yon_config_parameter_get_key(parameter);
GtkTreeIter iter;
@ -483,6 +485,7 @@ void yon_bootloader_init(main_window *widgets){
for (int i=0;i<size;i++){
char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
if (yon_config_get_status(parameter_name)<-1) continue;
char *key = yon_config_parameter_get_key(parameter_name);
char *key_sub = key+yon_char_find_last(key,'[');
char *subkey = yon_config_parameter_get_key(key_sub);

@ -187,6 +187,10 @@ int yon_network_save(main_window *widgets){
} else {
yon_config_remove_by_key(DOMAIN_admanger_parameter);
}
} else {
yon_config_remove_by_key(DOMAIN_parameter);
yon_config_remove_by_key(DOMAIN_admanger_parameter);
}
if (gtk_switch_get_active(GTK_SWITCH(widgets->NetworkNTPServerSwitch))){
@ -235,6 +239,16 @@ int yon_network_save(main_window *widgets){
yon_config_remove_by_key(hostname_parameter);
}
{
int size;
config_str users = yon_config_get_all_by_key(NETWORK_parameter_search,&size);
for (int i=0;i<size;i++){
char *parameter = yon_char_divide_search(users[i],"=",-1);
yon_config_remove_by_key(parameter);
free(parameter);
}
}
GList *list = gtk_container_get_children(GTK_CONTAINER(widgets->NetworkConnectionsBox));
GList *iter;
for (iter=list;iter;iter=iter->next){
@ -290,17 +304,19 @@ int yon_network_save(main_window *widgets){
}
}
if (!main_config.configure_mode){
int connect_size;
int connect_size=0;
int param_size=0;
config_str connections = yon_config_get_all_by_key(NETWORK_parameter_search,&connect_size);
char *connections_string = yon_char_parsed_to_string(connections,connect_size," ");
config_str connections = yon_config_get_all_keys_by_key(NETWORK_parameter_search,&connect_size);
config_str connection_parameters = yon_config_get_save_parameters_by_list(&param_size,connections,connect_size);
yon_char_parsed_free(connections,connect_size);
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,DOMAIN_parameter,DOMAIN_admanger_parameter,NTPSERVERS_parameter,hostname_parameter,NULL);
if (parameters){
if (parameters||connection_parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters, " ", connections_string,NULL);
char *connections_string = yon_char_parsed_to_string(connection_parameters,param_size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system remove [autoinstall] ",NETWORK_parameter_all,"; ", ubconfig_dull_command,"--target system ",yon_char_return_if_exist(command_parameters,""), " ", connections_string,NULL);
if (!system(yon_debug_output("%s\n",command))){}
free(command);
yon_char_parsed_free(parameters,size);
@ -392,6 +408,7 @@ void yon_network_init(main_window *widgets){
for (int i=0;i<size;i++){
char *parameter = yon_char_new(parameters[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
if (yon_config_get_status(parameter_name)<-1) continue;
char *key = yon_config_parameter_get_key(parameter_name);
char *key_sub = key+yon_char_find_last(key,'[');
char *subkey = yon_config_parameter_get_key(key_sub);

@ -34,19 +34,22 @@ int yon_users_save(main_window *widgets){
if (!main_config.configure_mode){
int users_size;
config_str users = yon_config_get_all_by_key(USERADD_parameter_search,&users_size);
char *parameter = yon_char_parsed_to_string(users,users_size," ");
int param_size=0;
config_str users = yon_config_get_all_keys_by_key(USERADD_parameter_search,&users_size);
config_str users_parameters = yon_config_get_save_parameters_by_list(&param_size,users,users_size);
yon_char_parsed_free(users,users_size);
int size;
config_str parameters = yon_config_get_save_parameters_by_key(&size,autologin_parameter,root_password_parameter,NULL);
if (parameters){
char *command_parameters = yon_char_parsed_to_string(parameters,size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system ",command_parameters," ",parameter,NULL);
char *parameter = yon_char_parsed_to_string(users_parameters,param_size," -- ");
char *command = yon_char_unite(ubconfig_dull_command,"--target system remove [autoinstall] ",USERADD_parameter_all,"; ", ubconfig_dull_command,"--target system ",yon_char_return_if_exist(command_parameters,""), " ", parameter,NULL);
if (!system(yon_debug_output("%s\n",command))){}
free(command);
yon_char_parsed_free(parameters,size);
}
yon_char_parsed_free(users_parameters,param_size);
}
return 1;
}
@ -189,6 +192,7 @@ void yon_user_init(main_window *widgets){
int parsed_size;
char *parameter = yon_char_new(users[i]);
char *parameter_name = yon_char_divide_search(parameter,"=",-1);
if (yon_config_get_status(parameter_name)<-1) continue;
char *key = yon_config_parameter_get_key(parameter_name);
char *login = yon_config_parameter_get_key(strstr(key,"USERADD["));
yon_char_remove_brackets(login);

Loading…
Cancel
Save