From 44bb92d5ba4f96be693863d52096fdeeec6e71e7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 24 Dec 2024 18:06:22 +0600 Subject: [PATCH] Checking for restricted symbols --- source/ubl-settings-update.c | 13 ++++++++++++- source/ubl-strings.h | 1 + ubl-settings-update.pot | 4 ++++ ubl-settings-update_ru.po | 4 ++++ 4 files changed, 21 insertions(+), 1 deletion(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index c0ca695..b98d3ba 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1149,6 +1149,17 @@ void on_web_publish_accept(GtkWidget *, dictionary *dict){ char *username = (char*)gtk_entry_get_text(GTK_ENTRY(window->UsernameEntry)); char *user_password = yon_char_new((char*)gtk_entry_get_text(GTK_ENTRY(window->UserPasswordEntry))); char *encryption = user_password[6]=='|'?yon_char_divide(user_password,6):NULL; + + if (strpbrk(username,"!@#%^&*\'")){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),ENTRY_RESTRICTED_SYMBOL_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->UsernameEntry); + return; + } + if (strpbrk(user_password,"!@#%^&*\'")){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_RESTRICTED_SYMBOL_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->UserPasswordEntry); + return; + } if (username_check&&yon_char_is_empty(username)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->UsernameEntry); @@ -1323,7 +1334,7 @@ void on_password_accept(GtkWidget *,dictionary *dict){ } else { char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); char *password_check = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); - if (strstr(password,"'")){ + if (strpbrk(password,"!@#%^&*\'")){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_RESTRICTED_SYMBOL_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordEntry); return; diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 2387dc9..92ac93a 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -15,6 +15,7 @@ #define PASSWORD_MISMATCH_LABEL _("Passwords do not match") #define PASSWORD_RESTRICTED_SYMBOL_LABEL _("Password contains restricted symbols") + #define ENTRY_RESTRICTED_SYMBOL_LABEL _("Entry contains restricted symbols") #define REPO_TOOLTIP_LABEL _("file://\t\t- Directory URL prefix for repository\n\ ftp://\t\t- FTP URL prefix for repository\n\ diff --git a/ubl-settings-update.pot b/ubl-settings-update.pot index 7076f69..f1173df 100644 --- a/ubl-settings-update.pot +++ b/ubl-settings-update.pot @@ -65,6 +65,10 @@ msgstr "" msgid "Password contains restricted symbols" msgstr "" +#: source/ubl-strings.h:17 +msgid "Entry contains restricted symbols" +msgstr "" + #: source/ubl-strings.h:18 msgid "" "file://\t\t- Directory URL prefix for repository\n" diff --git a/ubl-settings-update_ru.po b/ubl-settings-update_ru.po index 6aefa16..77fc9b7 100644 --- a/ubl-settings-update_ru.po +++ b/ubl-settings-update_ru.po @@ -65,6 +65,10 @@ msgstr "Пароли не совпадают" msgid "Password contains restricted symbols" msgstr "Пароль содержит запрещённые символы" +#: source/ubl-strings.h:17 +msgid "Entry contains restricted symbols" +msgstr "Поле содержит запрещённые символы" + #: source/ubl-strings.h:18 msgid "" "file://\t\t- Directory URL prefix for repository\n"