diff --git a/source/ubl-settings-usergroups-user.c b/source/ubl-settings-usergroups-user.c index ce9bdf3..4cb25db 100644 --- a/source/ubl-settings-usergroups-user.c +++ b/source/ubl-settings-usergroups-user.c @@ -587,7 +587,11 @@ void on_user_sync_with_config(GtkWidget *,main_window *widgets){ int group_shadow_size=0; config_str parsed = yon_char_parse(group,&group_size,":"); config_str parsed_shadow = yon_char_parse(group_shadow,&group_shadow_size,":"); - char *config_group = yon_char_unite(parsed[3],":",parsed[2],"::",parsed_shadow[2],":",strcmp(parsed[1],"x")?parsed[1]:parsed_shadow[1],NULL); + char *config_group = yon_char_unite(yon_char_return_if_exist(parsed[3],""), + ":",yon_char_return_if_exist(parsed[2],""), + "::",yon_char_return_if_exist(parsed_shadow[2],""), + ":",strcmp(parsed[1],"x")?yon_char_return_if_exist(parsed[1],""):yon_char_return_if_exist(parsed_shadow[1],""), + NULL); if (!yon_char_is_empty(config_group)){ char *group_command = yon_config_parameter_prepare_command(dull_parameter_get_command,NULL,"users",GROUPADD(target)); diff --git a/source/ubl-settings-usergroups.c b/source/ubl-settings-usergroups.c index 43fdec0..e1112e7 100644 --- a/source/ubl-settings-usergroups.c +++ b/source/ubl-settings-usergroups.c @@ -158,6 +158,8 @@ void yon_interface_update(main_window *widgets){ if (parameters_size>4&&strcmp(parameters[4],"x")&&strcmp(parameters[4],"")){ if (!check_is_password_hash(parameters[4])&¶meters[4][0]!='%'&¶meters[4][1]!='%'){ pars = ENCRYPTED_LABEL; + } else if (!strcmp(parameters[4],"!*")){ + pars = NO_PASSWORD_LABEL; } else { pars = UNENCRYPTED_LABEL; @@ -168,8 +170,8 @@ void yon_interface_update(main_window *widgets){ } gtk_list_store_set(widgets->GroupsList,&iter, 1,login, - 0,parameters_size>2?parameters[2]:"", - 2,parameters_size>1?parameters[1]:"", + 0,parameters_size>2?parameters[1]:"", + 2,parameters_size>1?parameters[0]:"", 3,parameters_size>3?parameters[3]:"", 4,pars, -1); @@ -1188,7 +1190,7 @@ void on_group_save(GtkWidget *self, dictionary *dict){ } - if (strcmp(gid,window->last_gid)){ + if (!yon_char_is_empty(window->last_gid)&&strcmp(gid,window->last_gid)){ int config_size=0; int final_size=0; config_str config_users = yon_config_get_all_by_key(GROUPADD_SEARCH_macro,&config_size); @@ -1231,12 +1233,6 @@ void on_group_save(GtkWidget *self, dictionary *dict){ } group_users = (char*)gtk_entry_get_text(GTK_ENTRY(window->userGroupsEntry)); - if (yon_char_is_empty(group_users)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - gtk_notebook_set_current_page(GTK_NOTEBOOK(window->MainNotebook),0); - yon_ubl_status_highlight_incorrect(window->userGroupsEntry); - return; - } admins = (char*)gtk_entry_get_text(GTK_ENTRY(window->AdminGroupsEntry)); int non_unique_active = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->UnuniqueGIDCheck)); @@ -2135,7 +2131,7 @@ void on_main_edit(GtkWidget *, main_window *widgets){ } } if (size>4){ - if (strcmp(parsed[4],"")&&strcmp(parsed[4],"x")){ + if (!yon_char_is_empty(parsed[4])&&strcmp(parsed[4],"x")){ gtk_entry_set_text(GTK_ENTRY(window->PasswordEntry),parsed[4]); gtk_combo_box_set_active(GTK_COMBO_BOX(window->PasswordCombo),2); } else {