From d1ee45c84d091da36e7920e12a54ab8a3581c250 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Wed, 19 Nov 2025 17:10:16 +0600 Subject: [PATCH] Changed key creation restricted symbols --- source/ubl-settings-repomanager-key.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/source/ubl-settings-repomanager-key.c b/source/ubl-settings-repomanager-key.c index dc0eba8..5af0ec7 100644 --- a/source/ubl-settings-repomanager-key.c +++ b/source/ubl-settings-repomanager-key.c @@ -16,8 +16,8 @@ void on_key_generate_accept(GtkWidget *self, key_creation_window* window){ yon_ubl_status_highlight_incorrect(window->NameEntry); return; } - if (!yon_char_is_empty(email)&&strlen(email)<5){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),NAME_SHORT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + if (!yon_char_is_empty(email)&&!g_regex_match_simple("^(?!\\.)\\S+@\\S+.[^.]\\S+",email,0,0)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMAIL_INVALID_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->EmailEntry); return; } @@ -36,6 +36,11 @@ void on_key_generate_accept(GtkWidget *self, key_creation_window* window){ yon_ubl_status_highlight_incorrect(highlight_target); return; } + if (highlight_target){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(highlight_target); + return; + } char *expire = NULL; if (gtk_combo_box_get_active(GTK_COMBO_BOX(window->ExpireCombo))==1){ GDateTime *datetime = g_date_time_new_from_unix_local(yon_calendar_get_last_date()); @@ -91,6 +96,9 @@ key_creation_window *yon_key_creation_window_new(){ window->PasswordEntry = yon_gtk_builder_get_widget(builder,"PasswordEntry"); window->PasswordConfirmationEntry = yon_gtk_builder_get_widget(builder,"PasswordConfirmationEntry"); + yon_gtk_entry_block_symbols(GTK_ENTRY(window->EmailEntry),"()\'\"&^%$#!*=\\|?><~`:;,[]{}"); + yon_gtk_entry_block_symbols(GTK_ENTRY(window->NameEntry),"()\'\"&^%$#@!+*=\\|?><~`:;,[]{}"); + yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordConfirmationEntry)); yon_gtk_entry_set_password_visibility_icon(GTK_ENTRY(window->PasswordEntry));