From 94891dda356676409b9a6141d36bac933784a79c Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 7 Mar 2025 11:52:18 +0600 Subject: [PATCH 1/5] Web publication password logic changes --- source/ubl-settings-update.c | 24 +++++++++++++------ ubl-settings-update-web-publication-add.glade | 5 +--- 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index b68d17d..27a1c6b 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1391,13 +1391,16 @@ void on_password_accept(GtkWidget *,dictionary *dict){ GtkWidget *target = yon_dictionary_get_data(dict->first->next,GtkWidget*); if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + char *encryption = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); char *hash = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); if (yon_char_is_empty(hash)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); return; } - gtk_entry_set_text(GTK_ENTRY(target),hash); + char *temp = yon_char_unite(encryption,"|",hash,NULL); + gtk_entry_set_text(GTK_ENTRY(target),temp); + free(temp); } else { char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); char *password_check = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); @@ -1417,12 +1420,19 @@ void on_password_accept(GtkWidget *,dictionary *dict){ gtk_entry_set_text(GTK_ENTRY(target),password); } else { - int size; - config_str hash = yon_config_load(yon_debug_output("%s\n",!strcmp(encryption,"sha512")?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); - yon_char_remove_last_symbol(hash[0],'\n'); - char *temp = yon_char_unite(encryption,"|",hash[0],NULL); - gtk_entry_set_text(GTK_ENTRY(target),temp); - yon_char_parsed_free(hash,size); + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + char *temp = yon_char_unite(encryption,"|",password,NULL); + gtk_entry_set_text(GTK_ENTRY(target),temp); + free(temp); + } else { + int size; + config_str hash = yon_config_load(yon_debug_output("%s\n",!strcmp(encryption,"sha512")?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); + yon_char_remove_last_symbol(hash[0],'\n'); + char *temp = yon_char_unite(encryption,"|",hash[0],NULL); + gtk_entry_set_text(GTK_ENTRY(target),temp); + yon_char_parsed_free(hash,size); + free(temp); + } } } diff --git a/ubl-settings-update-web-publication-add.glade b/ubl-settings-update-web-publication-add.glade index 827c1b1..3fc993e 100644 --- a/ubl-settings-update-web-publication-add.glade +++ b/ubl-settings-update-web-publication-add.glade @@ -361,11 +361,10 @@ - True False False User password - 0 + 1 Not encrypted Set @@ -380,7 +379,6 @@ True - False False User password False @@ -398,7 +396,6 @@ 28 28 True - False True True Edit From bc69e1e80b532964b3f68277c83f55e95c3869cb Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Fri, 7 Mar 2025 11:55:19 +0600 Subject: [PATCH 2/5] localisation fixes --- source/ubl-strings.h | 2 +- ubl-settings-update.glade | 2 +- ubl-settings-update.pot | 2 +- ubl-settings-update_ru.po | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 9a63636..07ed8a4 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -104,7 +104,7 @@ mirrorlist - mirrors file, make sure server URL is NOT included in this file! Si #define _LABEL _("Port") #define _LABEL _("Name") #define _LABEL _("Password/Hash type") - #define _LABEL _("Password/Password hash") + #define _LABEL _("Password hash") #define _LABEL _("Setting up publication of a lazy mirror of connected repositories as a local WEB resource") #define _LABEL _("Publish lazy mirror") #define _LABEL _("Type") diff --git a/ubl-settings-update.glade b/ubl-settings-update.glade index f8febc6..4a9e7bd 100644 --- a/ubl-settings-update.glade +++ b/ubl-settings-update.glade @@ -1373,7 +1373,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - Password/Password hash + Password hash end diff --git a/ubl-settings-update.pot b/ubl-settings-update.pot index f1173df..663e7e9 100644 --- a/ubl-settings-update.pot +++ b/ubl-settings-update.pot @@ -385,7 +385,7 @@ msgid "Password/Hash type" msgstr "" #: source/ubl-strings.h:103 -msgid "Password/Password hash" +msgid "Password hash" msgstr "" #: source/ubl-strings.h:104 diff --git a/ubl-settings-update_ru.po b/ubl-settings-update_ru.po index 51a670b..79a0ceb 100644 --- a/ubl-settings-update_ru.po +++ b/ubl-settings-update_ru.po @@ -408,8 +408,8 @@ msgid "Password/Hash type" msgstr "Пароль/Тип хэша" #: source/ubl-strings.h:103 -msgid "Password/Password hash" -msgstr "Пароль/Хэш пароля" +msgid "Password hash" +msgstr "Хэш пароля" #: source/ubl-strings.h:104 msgid "" From 05aa25b5e54841c74fae8d763272baa6dfd034f7 Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Mar 2025 11:18:34 +0600 Subject: [PATCH 3/5] Password changes --- source/ubl-settings-update.c | 116 +++++++++++++++++++++++++---------- 1 file changed, 84 insertions(+), 32 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 27a1c6b..f244902 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1390,54 +1390,106 @@ void on_password_accept(GtkWidget *,dictionary *dict){ password_window *window = yon_dictionary_get_data(dict->first,password_window*); GtkWidget *target = yon_dictionary_get_data(dict->first->next,GtkWidget*); - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ - char *encryption = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); - char *hash = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); - if (yon_char_is_empty(hash)){ - yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); - yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); - return; - } - char *temp = yon_char_unite(encryption,"|",hash,NULL); - gtk_entry_set_text(GTK_ENTRY(target),temp); - free(temp); - } else { - char *password = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); - char *password_check = (char*)gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); + int encription_active = gtk_combo_box_get_active(GTK_COMBO_BOX(window->EncryptionCombo)); + const char *encription = gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); + if (encription_active == 0){ + const char *password = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + const char *password_repeat = gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); 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; } - if (strcmp(password,password_check)){ + if (strcmp(password,password_repeat)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_MISMATCH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordEntry); yon_ubl_status_highlight_incorrect(window->RepeatPasswordEntry); return; } - char *encryption = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); - if (yon_char_is_empty(encryption)){ - gtk_entry_set_text(GTK_ENTRY(target),password); - + gtk_entry_set_text(GTK_ENTRY(target),password); + } else { + if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + const char *hash = gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); + if (!yon_char_is_empty(hash)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); + } + char *final = yon_char_unite(encription,"|",hash,NULL); + gtk_entry_set_text(GTK_ENTRY(target),final); + free(final); } else { - if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ - char *temp = yon_char_unite(encryption,"|",password,NULL); - gtk_entry_set_text(GTK_ENTRY(target),temp); - free(temp); - } else { - int size; - config_str hash = yon_config_load(yon_debug_output("%s\n",!strcmp(encryption,"sha512")?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); - yon_char_remove_last_symbol(hash[0],'\n'); - char *temp = yon_char_unite(encryption,"|",hash[0],NULL); - gtk_entry_set_text(GTK_ENTRY(target),temp); - yon_char_parsed_free(hash,size); - free(temp); + const char *password = gtk_entry_get_text(GTK_ENTRY(window->PasswordEntry)); + const char *password_repeat = gtk_entry_get_text(GTK_ENTRY(window->RepeatPasswordEntry)); + 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; } - } + if (strcmp(password,password_repeat)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_MISMATCH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordEntry); + yon_ubl_status_highlight_incorrect(window->RepeatPasswordEntry); + return; + } + + int size; + config_str hash = yon_config_load(yon_debug_output("%s\n",encription_active==1?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); + yon_char_remove_last_symbol(hash[0],'\n'); + char *final = yon_char_unite(encription,"|",hash[0],NULL); + gtk_entry_set_text(GTK_ENTRY(target),final); + free(final); + } } gtk_widget_destroy(window->Window); + // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + // char *encryption = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); + // char *hash = (char*)gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); + // if (yon_char_is_empty(hash)){ + // yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + // yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); + // return; + // } + // char *temp = yon_char_unite(encryption,"|",hash,NULL); + // gtk_entry_set_text(GTK_ENTRY(target),temp); + // free(temp); + // } 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 (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; + // } + // if (strcmp(password,password_check)){ + // yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),PASSWORD_MISMATCH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + // yon_ubl_status_highlight_incorrect(window->PasswordEntry); + // yon_ubl_status_highlight_incorrect(window->RepeatPasswordEntry); + // return; + // } + // char *encryption = (char*)gtk_combo_box_get_active_id(GTK_COMBO_BOX(window->EncryptionCombo)); + // if (yon_char_is_empty(encryption)){ + // gtk_entry_set_text(GTK_ENTRY(target),password); + + // } else { + // if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ + // char *temp = yon_char_unite(encryption,"|",password,NULL); + // gtk_entry_set_text(GTK_ENTRY(target),temp); + // free(temp); + // } else { + // int size; + // config_str hash = yon_config_load(yon_debug_output("%s\n",!strcmp(encryption,"sha512")?sha512_encrypt_command(password):sha256_encrypt_command(password)),&size); + // yon_char_remove_last_symbol(hash[0],'\n'); + // char *temp = yon_char_unite(encryption,"|",hash[0],NULL); + // gtk_entry_set_text(GTK_ENTRY(target),temp); + // yon_char_parsed_free(hash,size); + // free(temp); + // } + // } + + // } + } void on_mirror_path_removed(GtkWidget *self, mirror_add_window *window){ From f2cc67982ed03d9e42fd0f8e8ca0bda764f58f5b Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Tue, 25 Mar 2025 11:42:30 +0600 Subject: [PATCH 4/5] Added hash check --- source/ubl-settings-update.c | 8 +- source/ubl-settings-update.h | 2 + source/ubl-strings.h | 1 + ubl-settings-update.pot | 276 ++++++++++++++++++----------------- ubl-settings-update_ru.po | 276 ++++++++++++++++++----------------- 5 files changed, 290 insertions(+), 273 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index f244902..9ba1d16 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -1410,9 +1410,15 @@ void on_password_accept(GtkWidget *,dictionary *dict){ } else { if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(window->NoEncriptionCheck))){ const char *hash = gtk_entry_get_text(GTK_ENTRY(window->PasswordHashEntry)); - if (!yon_char_is_empty(hash)){ + if (yon_char_is_empty(hash)){ yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),EMPTY_IMPORTANT_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); + return; + } + if (check_is_password_hash(hash)){ + yon_ubl_status_box_spawn(GTK_CONTAINER(window->StatusBox),INCORRECT_HASH_LABEL,5,BACKGROUND_IMAGE_FAIL_TYPE); + yon_ubl_status_highlight_incorrect(window->PasswordHashEntry); + return; } char *final = yon_char_unite(encription,"|",hash,NULL); gtk_entry_set_text(GTK_ENTRY(target),final); diff --git a/source/ubl-settings-update.h b/source/ubl-settings-update.h index e262540..1a88728 100644 --- a/source/ubl-settings-update.h +++ b/source/ubl-settings-update.h @@ -22,6 +22,8 @@ #define _(String) gettext(String) +#define check_is_password_hash(password) system(yon_char_unite("/lib/ublinux/functions is_hash_password '", password,"'",NULL)) + #define glade_path "/com/ublinux/ui/ubl-settings-update.glade" #define glade_repo_add_path "/com/ublinux/ui/ubl-settings-update-repo-add.glade" #define glade_web_publish_add_path "/com/ublinux/ui/ubl-settings-update-web-publication-add.glade" diff --git a/source/ubl-strings.h b/source/ubl-strings.h index 07ed8a4..3b4b9b5 100644 --- a/source/ubl-strings.h +++ b/source/ubl-strings.h @@ -21,6 +21,7 @@ #define MODSYS_UPDATE_MODE_LABEL _("First update all modules and then the system") #define MODULES_UPDATE_MODE_LABEL _("Update only modules") #define SYSTEM_UPDATE_MODE_LABEL _("Update everything in the order of the specified repositories") + #define INCORRECT_HASH_LABEL _("Invalid hash") #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 663e7e9..f22ee3f 100644 --- a/ubl-settings-update.pot +++ b/ubl-settings-update.pot @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/ubl-strings.h:4 source/ubl-strings.h:45 +#: source/ubl-strings.h:4 source/ubl-strings.h:53 msgid "System update" msgstr "" @@ -65,11 +65,27 @@ msgstr "" msgid "Password contains restricted symbols" msgstr "" -#: source/ubl-strings.h:17 +#: source/ubl-strings.h:18 msgid "Entry contains restricted symbols" msgstr "" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:21 +msgid "First update all modules and then the system" +msgstr "" + +#: source/ubl-strings.h:22 +msgid "Update only modules" +msgstr "" + +#: source/ubl-strings.h:23 +msgid "Update everything in the order of the specified repositories" +msgstr "" + +#: source/ubl-strings.h:24 +msgid "Invalid hash" +msgstr "" + +#: source/ubl-strings.h:26 msgid "" "file://\t\t- Directory URL prefix for repository\n" "ftp://\t\t- FTP URL prefix for repository\n" @@ -78,7 +94,7 @@ msgid "" "Configuration - configuration path" msgstr "" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:31 msgid "" "url - web-link for repository. It is allowed to write multiple, separating " "with comma (,)\n" @@ -88,513 +104,501 @@ msgid "" "file! Single parameter per repository" msgstr "" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:35 msgid "Signature verification will not be performed" msgstr "" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:36 msgid "" "Signatures will be verified if present, but unsigned databases and packages " "will also be accepted" msgstr "" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:37 msgid "Signatures will be required for all packages and databases" msgstr "" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:38 msgid "" "If signature is verified for packages and database, it must be in the " "keyring and fully trusted; marginal trust not applicable" msgstr "" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:39 msgid "" "If signature is verified, it must be in keyring, but does not need to have a " "trust level assigned (e.g. unknown or marginal trust)" msgstr "" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:40 msgid "Packages only" msgstr "" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:41 msgid "Database only" msgstr "" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:42 msgid "If signature is verified only for packages" msgstr "" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:43 msgid "If signature is verified only for database" msgstr "" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:44 msgid "every" msgstr "" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:45 msgid "Resource link of file path" msgstr "" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:46 msgid "Open file explorer" msgstr "" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:47 msgid "Add source" msgstr "" -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:48 msgid "Username" msgstr "" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:49 msgid "User password" msgstr "" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:50 msgid "Storage path to publish" msgstr "" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:51 msgid "" "The full URL of where to find the database, packages, and signatures (if " "available) for this repository. Multiple can be specified, separated by " "commas (,)" msgstr "" -#: source/ubl-strings.h:44 source/ubl-strings.h:75 +#: source/ubl-strings.h:52 source/ubl-strings.h:80 msgid "Update" msgstr "" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:54 msgid "Repositories" msgstr "" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:55 msgid "Publication" msgstr "" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:56 msgid "WEB-publication" msgstr "" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:57 msgid "Mirror publication" msgstr "" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:58 msgid "Date of last automatic update:" msgstr "" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:59 msgid "Date of last automatic update" msgstr "" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:60 msgid "Automatic update" msgstr "" -#: source/ubl-strings.h:53 -msgid "First update all modules and then the system" -msgstr "" - -#: source/ubl-strings.h:54 -msgid "Update only modules" -msgstr "" - -#: source/ubl-strings.h:55 -msgid "Update everything in the order of the specified repositories" -msgstr "" - -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:61 msgid "Update mode:" msgstr "" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:62 msgid "Update interval:" msgstr "" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:64 msgid "Update mode" msgstr "" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:65 msgid "Update interval" msgstr "" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:66 msgid "Boot" msgstr "" -#: source/ubl-strings.h:62 source/ubl-strings.h:145 +#: source/ubl-strings.h:67 source/ubl-strings.h:150 msgid "Minutes" msgstr "" -#: source/ubl-strings.h:63 source/ubl-strings.h:146 +#: source/ubl-strings.h:68 source/ubl-strings.h:151 msgid "Hours" msgstr "" -#: source/ubl-strings.h:64 source/ubl-strings.h:147 +#: source/ubl-strings.h:69 source/ubl-strings.h:152 msgid "Days" msgstr "" -#: source/ubl-strings.h:65 source/ubl-strings.h:148 +#: source/ubl-strings.h:70 source/ubl-strings.h:153 msgid "Months" msgstr "" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:71 msgid "Repositories from which the update will occur" msgstr "" -#: source/ubl-strings.h:67 source/ubl-strings.h:90 +#: source/ubl-strings.h:72 source/ubl-strings.h:95 msgid "Repositories list:" msgstr "" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:73 msgid "Repositories list" msgstr "" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:74 msgid "Default" msgstr "" -#: source/ubl-strings.h:70 source/ubl-strings.h:92 +#: source/ubl-strings.h:75 source/ubl-strings.h:97 msgid "Choose" msgstr "" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:76 msgid "Chosen" msgstr "" -#: source/ubl-strings.h:72 +#: source/ubl-strings.h:77 msgid "Repository" msgstr "" -#: source/ubl-strings.h:73 +#: source/ubl-strings.h:78 msgid "Manage repository list" msgstr "" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:79 msgid "Disable system repositories" msgstr "" -#: source/ubl-strings.h:76 +#: source/ubl-strings.h:81 msgid "Move up" msgstr "" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:82 msgid "Move down" msgstr "" -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:83 msgid "Add" msgstr "" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:84 msgid "Edit" msgstr "" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:85 msgid "Remove" msgstr "" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:86 msgid "Enabled" msgstr "" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:87 msgid "Source" msgstr "" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:88 msgid "Signature level" msgstr "" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:89 msgid "Usage level" msgstr "" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:90 msgid "Repository connection configuration" msgstr "" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:91 msgid "" "Setting up a connection to a distributed repository network and publishing " "your repositories" msgstr "" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:92 msgid "Connect and publish" msgstr "" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:93 msgid "Recieve DB packages from shared network" msgstr "" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:94 msgid "Repositories for publishing" msgstr "" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:96 msgid "All repositories" msgstr "" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:98 msgid "Accept" msgstr "" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:99 msgid "Repository name" msgstr "" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:100 msgid "" "Setting up publication of storage and/or repositories as a local WEB resource" msgstr "" -#: source/ubl-strings.h:96 source/ubl-strings.h:137 +#: source/ubl-strings.h:101 source/ubl-strings.h:142 msgid "Authorization parameters" msgstr "" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:102 msgid "Storage" msgstr "" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:103 msgid "Chosen repositories" msgstr "" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:104 msgid "Reviewer" msgstr "" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:105 msgid "Port" msgstr "" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:106 msgid "Name" msgstr "" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:107 msgid "Password/Hash type" msgstr "" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:108 msgid "Password hash" msgstr "" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:109 msgid "" "Setting up publication of a lazy mirror of connected repositories as a local " "WEB resource" msgstr "" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:110 msgid "Publish lazy mirror" msgstr "" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:111 msgid "Type" msgstr "" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:112 msgid "Resource URL" msgstr "" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:113 msgid "Configure" msgstr "" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:114 msgid "Mirror publish configuration" msgstr "" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:115 msgid "Service port:" msgstr "" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:116 msgid "Cache directory:" msgstr "" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:117 msgid "Duration of inactivity (in seconds):" msgstr "" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:118 msgid "Timeout (in seconds) for loading internel cache:" msgstr "" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:119 msgid "Work through proxy:" msgstr "" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:120 msgid "User agent:" msgstr "" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:121 msgid "Standard expression for cron:" msgstr "" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:122 msgid "" "The number of consecutie days that systems on the network have not been " "updated:" msgstr "" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:123 msgid "The number of consecutive days wthout an update requested:" msgstr "" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:124 msgid "Add mirror" msgstr "" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:125 msgid "Repository name:" msgstr "" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:126 msgid "Repository type:" msgstr "" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:127 msgid "WEB link" msgstr "" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:128 msgid "Proxy server" msgstr "" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:129 msgid "Mirrors file" msgstr "" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:130 msgid "Source:" msgstr "" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:131 msgid "Configuration" msgstr "" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:132 msgid "Sign level:" msgstr "" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:133 msgid "Enable repository update" msgstr "" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:134 msgid "Enable repository search" msgstr "" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:135 msgid "" "Enable installation of packages from this repository during --sync operation" msgstr "" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:136 msgid "" "Allow this repository to be a valid source of packages when running --" "sysupgrade" msgstr "" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:137 msgid "Enable publishing of local repository as WEB resource" msgstr "" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:138 msgid "Path to publication directory:" msgstr "" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "Port:" msgstr "" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:140 msgid "Publishing parameters" msgstr "" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:141 msgid "Enable WEB file browser" msgstr "" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:143 msgid "Set" msgstr "" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:144 msgid "Username:" msgstr "" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:145 msgid "User password:" msgstr "" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:146 msgid "Not encrypted" msgstr "" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:147 msgid "Encrypted with SHA256" msgstr "" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:148 msgid "Encrypted with SHA512" msgstr "" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:149 msgid "System" msgstr "" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:154 msgid "Sign level" msgstr "" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:155 msgid "Description" msgstr "" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:156 msgid "Password input" msgstr "" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:157 msgid "Password:" msgstr "" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:158 msgid "Repeat password:" msgstr "" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:159 msgid "Entryption:" msgstr "" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:160 msgid "Do not encrypt password" msgstr "" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:161 msgid "Password hash:" msgstr "" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:162 msgid "Default (None)" msgstr "" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:163 msgid "Encryption:" msgstr "" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:164 msgid "Encryption" msgstr "" diff --git a/ubl-settings-update_ru.po b/ubl-settings-update_ru.po index 79a0ceb..d79e412 100644 --- a/ubl-settings-update_ru.po +++ b/ubl-settings-update_ru.po @@ -17,7 +17,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: source/ubl-strings.h:4 source/ubl-strings.h:45 +#: source/ubl-strings.h:4 source/ubl-strings.h:53 msgid "System update" msgstr "Обновление системы" @@ -65,11 +65,27 @@ msgstr "Пароли не совпадают" msgid "Password contains restricted symbols" msgstr "Пароль содержит запрещённые символы" -#: source/ubl-strings.h:17 +#: source/ubl-strings.h:18 msgid "Entry contains restricted symbols" msgstr "Поле содержит запрещённые символы" -#: source/ubl-strings.h:18 +#: source/ubl-strings.h:21 +msgid "First update all modules and then the system" +msgstr "Вначале обновлять все модули и после систему" + +#: source/ubl-strings.h:22 +msgid "Update only modules" +msgstr "Обновлять только модули" + +#: source/ubl-strings.h:23 +msgid "Update everything in the order of the specified repositories" +msgstr "Обновлять всё в порядке указанных репозиториев" + +#: source/ubl-strings.h:24 +msgid "Invalid hash" +msgstr "Неверный хэш" + +#: source/ubl-strings.h:26 msgid "" "file://\t\t- Directory URL prefix for repository\n" "ftp://\t\t- FTP URL prefix for repository\n" @@ -83,7 +99,7 @@ msgstr "" "https://\t\t- URL префикс для репозитория HTTPS\n" "Конфигурация - путь до конфигурации" -#: source/ubl-strings.h:23 +#: source/ubl-strings.h:31 msgid "" "url - web-link for repository. It is allowed to write multiple, separating " "with comma (,)\n" @@ -98,11 +114,11 @@ msgstr "" "mirrorlist - файл зерка, убедитесь что URL текущего сервера НЕ включен в " "этот файл! Допускается только один параметр на репозиторий" -#: source/ubl-strings.h:27 +#: source/ubl-strings.h:35 msgid "Signature verification will not be performed" msgstr "Проверка подписи выполняться не будет" -#: source/ubl-strings.h:28 +#: source/ubl-strings.h:36 msgid "" "Signatures will be verified if present, but unsigned databases and packages " "will also be accepted" @@ -110,11 +126,11 @@ msgstr "" "Подписи будут проверяться при их наличии, но неподписанные базы данных и " "пакеты также будут приниматься" -#: source/ubl-strings.h:29 +#: source/ubl-strings.h:37 msgid "Signatures will be required for all packages and databases" msgstr "Подписи будут необходимы для всех пакетов и баз данных" -#: source/ubl-strings.h:30 +#: source/ubl-strings.h:38 msgid "" "If signature is verified for packages and database, it must be in the " "keyring and fully trusted; marginal trust not applicable" @@ -122,7 +138,7 @@ msgstr "" "Если подпись проверяется для пакетов и базы, она должна находиться в связке " "ключей и быть полностью доверенной" -#: source/ubl-strings.h:31 +#: source/ubl-strings.h:39 msgid "" "If signature is verified, it must be in keyring, but does not need to have a " "trust level assigned (e.g. unknown or marginal trust)" @@ -131,51 +147,51 @@ msgstr "" "требуется назначать уровень доверия (например, неизвестное или предельное " "доверие)" -#: source/ubl-strings.h:32 +#: source/ubl-strings.h:40 msgid "Packages only" msgstr "Только для пакетов" -#: source/ubl-strings.h:33 +#: source/ubl-strings.h:41 msgid "Database only" msgstr "Только для базы данных" -#: source/ubl-strings.h:34 +#: source/ubl-strings.h:42 msgid "If signature is verified only for packages" msgstr "Если подпись проверяется только для пакетов" -#: source/ubl-strings.h:35 +#: source/ubl-strings.h:43 msgid "If signature is verified only for database" msgstr "Если подпись проверяется только для базы данных" -#: source/ubl-strings.h:36 +#: source/ubl-strings.h:44 msgid "every" msgstr "каждые" -#: source/ubl-strings.h:37 +#: source/ubl-strings.h:45 msgid "Resource link of file path" msgstr "Ссылка на ресурс или путь до файла" -#: source/ubl-strings.h:38 +#: source/ubl-strings.h:46 msgid "Open file explorer" msgstr "Открыть в файловом менеджере" -#: source/ubl-strings.h:39 +#: source/ubl-strings.h:47 msgid "Add source" msgstr "Добавить источник" -#: source/ubl-strings.h:40 +#: source/ubl-strings.h:48 msgid "Username" msgstr "Имя пользователя" -#: source/ubl-strings.h:41 +#: source/ubl-strings.h:49 msgid "User password" msgstr "Пароль" -#: source/ubl-strings.h:42 +#: source/ubl-strings.h:50 msgid "Storage path to publish" msgstr "Путь до каталога хранилища, который будет опубликован" -#: source/ubl-strings.h:43 +#: source/ubl-strings.h:51 msgid "" "The full URL of where to find the database, packages, and signatures (if " "available) for this repository. Multiple can be specified, separated by " @@ -184,163 +200,151 @@ msgstr "" "Полный адрес места, где можно найти базу данных, пакеты и подписа (если " "доступны) для этого репозитория. Возможно указать несколько через запятую (,)" -#: source/ubl-strings.h:44 source/ubl-strings.h:75 +#: source/ubl-strings.h:52 source/ubl-strings.h:80 msgid "Update" msgstr "Обновление" -#: source/ubl-strings.h:46 +#: source/ubl-strings.h:54 msgid "Repositories" msgstr "Репозитории" -#: source/ubl-strings.h:47 +#: source/ubl-strings.h:55 msgid "Publication" msgstr "Публикация" -#: source/ubl-strings.h:48 +#: source/ubl-strings.h:56 msgid "WEB-publication" msgstr "WEB-публикация" -#: source/ubl-strings.h:49 +#: source/ubl-strings.h:57 msgid "Mirror publication" msgstr "Публикация зеркала" -#: source/ubl-strings.h:50 +#: source/ubl-strings.h:58 msgid "Date of last automatic update:" msgstr "Дата последнего автообновления:" -#: source/ubl-strings.h:51 +#: source/ubl-strings.h:59 msgid "Date of last automatic update" msgstr "Дата последнего автообновления" -#: source/ubl-strings.h:52 +#: source/ubl-strings.h:60 msgid "Automatic update" msgstr "Автоматическое обновление" -#: source/ubl-strings.h:53 -msgid "First update all modules and then the system" -msgstr "Вначале обновлять все модули и после систему" - -#: source/ubl-strings.h:54 -msgid "Update only modules" -msgstr "Обновлять только модули" - -#: source/ubl-strings.h:55 -msgid "Update everything in the order of the specified repositories" -msgstr "Обновлять всё в порядке указанных репозиториев" - -#: source/ubl-strings.h:56 +#: source/ubl-strings.h:61 msgid "Update mode:" msgstr "Режим обновления:" -#: source/ubl-strings.h:57 +#: source/ubl-strings.h:62 msgid "Update interval:" msgstr "Интервал обновлений:" -#: source/ubl-strings.h:59 +#: source/ubl-strings.h:64 msgid "Update mode" msgstr "Режим обновления" -#: source/ubl-strings.h:60 +#: source/ubl-strings.h:65 msgid "Update interval" msgstr "Интервал обновлений" -#: source/ubl-strings.h:61 +#: source/ubl-strings.h:66 msgid "Boot" msgstr "Запуск" -#: source/ubl-strings.h:62 source/ubl-strings.h:145 +#: source/ubl-strings.h:67 source/ubl-strings.h:150 msgid "Minutes" msgstr "минут" -#: source/ubl-strings.h:63 source/ubl-strings.h:146 +#: source/ubl-strings.h:68 source/ubl-strings.h:151 msgid "Hours" msgstr "часов" -#: source/ubl-strings.h:64 source/ubl-strings.h:147 +#: source/ubl-strings.h:69 source/ubl-strings.h:152 msgid "Days" msgstr "дней" -#: source/ubl-strings.h:65 source/ubl-strings.h:148 +#: source/ubl-strings.h:70 source/ubl-strings.h:153 msgid "Months" msgstr "месяцев" -#: source/ubl-strings.h:66 +#: source/ubl-strings.h:71 msgid "Repositories from which the update will occur" msgstr "Репозитории с которых будет происходить обновление" -#: source/ubl-strings.h:67 source/ubl-strings.h:90 +#: source/ubl-strings.h:72 source/ubl-strings.h:95 msgid "Repositories list:" msgstr "Список репозиториев:" -#: source/ubl-strings.h:68 +#: source/ubl-strings.h:73 msgid "Repositories list" msgstr "Список репозиториев" -#: source/ubl-strings.h:69 +#: source/ubl-strings.h:74 msgid "Default" msgstr "По умолчанию" -#: source/ubl-strings.h:70 source/ubl-strings.h:92 +#: source/ubl-strings.h:75 source/ubl-strings.h:97 msgid "Choose" msgstr "Выбрать" -#: source/ubl-strings.h:71 +#: source/ubl-strings.h:76 msgid "Chosen" msgstr "Выбран" -#: source/ubl-strings.h:72 +#: source/ubl-strings.h:77 msgid "Repository" msgstr "Репозиторий" -#: source/ubl-strings.h:73 +#: source/ubl-strings.h:78 msgid "Manage repository list" msgstr "Управление списком репозиториев" -#: source/ubl-strings.h:74 +#: source/ubl-strings.h:79 msgid "Disable system repositories" msgstr "Отключить системные репозитории" -#: source/ubl-strings.h:76 +#: source/ubl-strings.h:81 msgid "Move up" msgstr "Переместить выше" -#: source/ubl-strings.h:77 +#: source/ubl-strings.h:82 msgid "Move down" msgstr "Переместить ниже" -#: source/ubl-strings.h:78 +#: source/ubl-strings.h:83 msgid "Add" msgstr "Добавить" -#: source/ubl-strings.h:79 +#: source/ubl-strings.h:84 msgid "Edit" msgstr "Изменить" -#: source/ubl-strings.h:80 +#: source/ubl-strings.h:85 msgid "Remove" msgstr "Удалить" -#: source/ubl-strings.h:81 +#: source/ubl-strings.h:86 msgid "Enabled" msgstr "Включен" -#: source/ubl-strings.h:82 +#: source/ubl-strings.h:87 msgid "Source" msgstr "Источник" -#: source/ubl-strings.h:83 +#: source/ubl-strings.h:88 msgid "Signature level" msgstr "Уровень подписи" -#: source/ubl-strings.h:84 +#: source/ubl-strings.h:89 msgid "Usage level" msgstr "Уровень использования" -#: source/ubl-strings.h:85 +#: source/ubl-strings.h:90 msgid "Repository connection configuration" msgstr "Настройки подключения репозитория" -#: source/ubl-strings.h:86 +#: source/ubl-strings.h:91 msgid "" "Setting up a connection to a distributed repository network and publishing " "your repositories" @@ -348,70 +352,70 @@ msgstr "" "Настройки подключения к распределённой сети репозиториев и публикация своих " "репозиториев" -#: source/ubl-strings.h:87 +#: source/ubl-strings.h:92 msgid "Connect and publish" msgstr "Подключиться и опубликовать" -#: source/ubl-strings.h:88 +#: source/ubl-strings.h:93 msgid "Recieve DB packages from shared network" msgstr "Получать БД пакетов из распределённой сети" -#: source/ubl-strings.h:89 +#: source/ubl-strings.h:94 msgid "Repositories for publishing" msgstr "Репозитории для публикации" -#: source/ubl-strings.h:91 +#: source/ubl-strings.h:96 msgid "All repositories" msgstr "Все репозитории" -#: source/ubl-strings.h:93 +#: source/ubl-strings.h:98 msgid "Accept" msgstr "Принять" -#: source/ubl-strings.h:94 +#: source/ubl-strings.h:99 msgid "Repository name" msgstr "Имя репозитория" -#: source/ubl-strings.h:95 +#: source/ubl-strings.h:100 msgid "" "Setting up publication of storage and/or repositories as a local WEB resource" msgstr "" "Настройка публикации хранилища и/или репозиториев в виде локального WEB " "ресурса" -#: source/ubl-strings.h:96 source/ubl-strings.h:137 +#: source/ubl-strings.h:101 source/ubl-strings.h:142 msgid "Authorization parameters" msgstr "Параметры авторизации" -#: source/ubl-strings.h:97 +#: source/ubl-strings.h:102 msgid "Storage" msgstr "Хранилище" -#: source/ubl-strings.h:98 +#: source/ubl-strings.h:103 msgid "Chosen repositories" msgstr "Выбранные репозитории" -#: source/ubl-strings.h:99 +#: source/ubl-strings.h:104 msgid "Reviewer" msgstr "Обозреватель" -#: source/ubl-strings.h:100 +#: source/ubl-strings.h:105 msgid "Port" msgstr "Порт" -#: source/ubl-strings.h:101 +#: source/ubl-strings.h:106 msgid "Name" msgstr "Имя пользователя" -#: source/ubl-strings.h:102 +#: source/ubl-strings.h:107 msgid "Password/Hash type" msgstr "Пароль/Тип хэша" -#: source/ubl-strings.h:103 +#: source/ubl-strings.h:108 msgid "Password hash" msgstr "Хэш пароля" -#: source/ubl-strings.h:104 +#: source/ubl-strings.h:109 msgid "" "Setting up publication of a lazy mirror of connected repositories as a local " "WEB resource" @@ -419,117 +423,117 @@ msgstr "" "Настройка публикации ленивого зеркала подключенных репозиториев в виде " "локального WEB ресурса" -#: source/ubl-strings.h:105 +#: source/ubl-strings.h:110 msgid "Publish lazy mirror" msgstr "Опубликовать ленивое зеркало" -#: source/ubl-strings.h:106 +#: source/ubl-strings.h:111 msgid "Type" msgstr "Тип" -#: source/ubl-strings.h:107 +#: source/ubl-strings.h:112 msgid "Resource URL" msgstr "Ресурс URL" -#: source/ubl-strings.h:108 +#: source/ubl-strings.h:113 msgid "Configure" msgstr "Настроить" -#: source/ubl-strings.h:109 +#: source/ubl-strings.h:114 msgid "Mirror publish configuration" msgstr "Параметры публикации зеркала" -#: source/ubl-strings.h:110 +#: source/ubl-strings.h:115 msgid "Service port:" msgstr "Порт сервиса:" -#: source/ubl-strings.h:111 +#: source/ubl-strings.h:116 msgid "Cache directory:" msgstr "Каталог кеша:" -#: source/ubl-strings.h:112 +#: source/ubl-strings.h:117 msgid "Duration of inactivity (in seconds):" msgstr "Продолжительность бездействия (в секундах):" -#: source/ubl-strings.h:113 +#: source/ubl-strings.h:118 msgid "Timeout (in seconds) for loading internel cache:" msgstr "Таймаут (в секундах) для загрузки интернет-кэша:" -#: source/ubl-strings.h:114 +#: source/ubl-strings.h:119 msgid "Work through proxy:" msgstr "Работать через прокси:" -#: source/ubl-strings.h:115 +#: source/ubl-strings.h:120 msgid "User agent:" msgstr "Пользовательский агент:" -#: source/ubl-strings.h:116 +#: source/ubl-strings.h:121 msgid "Standard expression for cron:" msgstr "Стандартное выражение cron:" -#: source/ubl-strings.h:117 +#: source/ubl-strings.h:122 msgid "" "The number of consecutie days that systems on the network have not been " "updated:" msgstr "" "Количество дней подряд, в течение которых не обновляются системы в сети:" -#: source/ubl-strings.h:118 +#: source/ubl-strings.h:123 msgid "The number of consecutive days wthout an update requested:" msgstr "" "Количество дней подряд, в течение которых не было запрошено обновление:" -#: source/ubl-strings.h:119 +#: source/ubl-strings.h:124 msgid "Add mirror" msgstr "Добавить зеркало" -#: source/ubl-strings.h:120 +#: source/ubl-strings.h:125 msgid "Repository name:" msgstr "Имя репозитория:" -#: source/ubl-strings.h:121 +#: source/ubl-strings.h:126 msgid "Repository type:" msgstr "Тип репозитория:" -#: source/ubl-strings.h:122 +#: source/ubl-strings.h:127 msgid "WEB link" msgstr "Вэб ссылка" -#: source/ubl-strings.h:123 +#: source/ubl-strings.h:128 msgid "Proxy server" msgstr "Прокси-сервер" -#: source/ubl-strings.h:124 +#: source/ubl-strings.h:129 msgid "Mirrors file" msgstr "Файл зеркал" -#: source/ubl-strings.h:125 +#: source/ubl-strings.h:130 msgid "Source:" msgstr "Источник:" -#: source/ubl-strings.h:126 +#: source/ubl-strings.h:131 msgid "Configuration" msgstr "Конфигурация" -#: source/ubl-strings.h:127 +#: source/ubl-strings.h:132 msgid "Sign level:" msgstr "Уровень подписи:" -#: source/ubl-strings.h:128 +#: source/ubl-strings.h:133 msgid "Enable repository update" msgstr "Включать обновления для этого репозитория" -#: source/ubl-strings.h:129 +#: source/ubl-strings.h:134 msgid "Enable repository search" msgstr "Включать поиск этого репозитория" -#: source/ubl-strings.h:130 +#: source/ubl-strings.h:135 msgid "" "Enable installation of packages from this repository during --sync operation" msgstr "" "Включать установку пакетов из этого репозитория во время операции --sync" -#: source/ubl-strings.h:131 +#: source/ubl-strings.h:136 msgid "" "Allow this repository to be a valid source of packages when running --" "sysupgrade" @@ -537,95 +541,95 @@ msgstr "" "Позволить этому репозиторию быть действительным источником пакетов при " "выполнении --sysupgrade" -#: source/ubl-strings.h:132 +#: source/ubl-strings.h:137 msgid "Enable publishing of local repository as WEB resource" msgstr "Включить публикацию локального репозитория в виде WEB ресурса" -#: source/ubl-strings.h:133 +#: source/ubl-strings.h:138 msgid "Path to publication directory:" msgstr "Хранилище:" -#: source/ubl-strings.h:134 +#: source/ubl-strings.h:139 msgid "Port:" msgstr "Порт:" -#: source/ubl-strings.h:135 +#: source/ubl-strings.h:140 msgid "Publishing parameters" msgstr "Параметры публикации" -#: source/ubl-strings.h:136 +#: source/ubl-strings.h:141 msgid "Enable WEB file browser" msgstr "Включить WEB обозреватель файлов" -#: source/ubl-strings.h:138 +#: source/ubl-strings.h:143 msgid "Set" msgstr "Задать" -#: source/ubl-strings.h:139 +#: source/ubl-strings.h:144 msgid "Username:" msgstr "Имя пользователя:" -#: source/ubl-strings.h:140 +#: source/ubl-strings.h:145 msgid "User password:" msgstr "Пароль:" -#: source/ubl-strings.h:141 +#: source/ubl-strings.h:146 msgid "Not encrypted" msgstr "Пароль не требуется" -#: source/ubl-strings.h:142 +#: source/ubl-strings.h:147 msgid "Encrypted with SHA256" msgstr "Шфировать с SHA256" -#: source/ubl-strings.h:143 +#: source/ubl-strings.h:148 msgid "Encrypted with SHA512" msgstr "Шифровать с SHA512" -#: source/ubl-strings.h:144 +#: source/ubl-strings.h:149 msgid "System" msgstr "Система" -#: source/ubl-strings.h:149 +#: source/ubl-strings.h:154 msgid "Sign level" msgstr "Уровень подписи" -#: source/ubl-strings.h:150 +#: source/ubl-strings.h:155 msgid "Description" msgstr "Описание" -#: source/ubl-strings.h:151 +#: source/ubl-strings.h:156 msgid "Password input" msgstr "Ввод пароля" -#: source/ubl-strings.h:152 +#: source/ubl-strings.h:157 msgid "Password:" msgstr "Пароль:" -#: source/ubl-strings.h:153 +#: source/ubl-strings.h:158 msgid "Repeat password:" msgstr "Подтвердите ввод пароля:" -#: source/ubl-strings.h:154 +#: source/ubl-strings.h:159 msgid "Entryption:" msgstr "Алгоритм шифрования пароля:" -#: source/ubl-strings.h:155 +#: source/ubl-strings.h:160 msgid "Do not encrypt password" msgstr "Не шифровать пароль" -#: source/ubl-strings.h:156 +#: source/ubl-strings.h:161 msgid "Password hash:" msgstr "Пароль/Хэш пароля" -#: source/ubl-strings.h:157 +#: source/ubl-strings.h:162 msgid "Default (None)" msgstr "По умолчанию (Отсутствует)" -#: source/ubl-strings.h:158 +#: source/ubl-strings.h:163 msgid "Encryption:" msgstr "Алгоритм шифрования пароля:" -#: source/ubl-strings.h:159 +#: source/ubl-strings.h:164 msgid "Encryption" msgstr "Алгоритм шифрования пароля" From 460cd62a5107a128610b24ea378da4c69708cfce Mon Sep 17 00:00:00 2001 From: Ivan Yarcev Date: Mon, 31 Mar 2025 11:42:49 +0600 Subject: [PATCH 5/5] Fixed loading --- source/ubl-settings-update.c | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/source/ubl-settings-update.c b/source/ubl-settings-update.c index 9ba1d16..2d617ac 100644 --- a/source/ubl-settings-update.c +++ b/source/ubl-settings-update.c @@ -197,27 +197,7 @@ void yon_load_proceed(YON_CONFIG_TYPE type){ } else if (type==YON_CONFIG_LOCAL){ yon_config_load_config(type,config_get_local_command,NULL); } else if (type==YON_CONFIG_CUSTOM){ - char *path=""; - textdomain(template_ui_LocaleName); - GtkWidget *dialog = gtk_file_chooser_dialog_new(template_app_information.app_title,NULL,GTK_FILE_CHOOSER_ACTION_SAVE,CANCEL_LABEL,GTK_RESPONSE_CANCEL,OPEN_LABEL,GTK_RESPONSE_ACCEPT,NULL); - textdomain(LocaleName); - gtk_window_set_icon_name(GTK_WINDOW(dialog),"com.ublinux.ubl-settings-services"); - gtk_window_set_title(GTK_WINDOW(dialog),TITLE_LABEL); - GtkFileFilter *filter = gtk_file_filter_new(); - gtk_file_filter_add_pattern(filter,"*.ini"); - gtk_file_filter_set_name(filter, "*.ini"); - gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(dialog),filter); - gtk_widget_show(dialog); - int response = gtk_dialog_run(GTK_DIALOG(dialog)); - if (response == GTK_RESPONSE_ACCEPT){ - char *file = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog)); - if (!yon_char_is_empty(file)){ - path=file; - } - gtk_widget_destroy(dialog); - } else { - gtk_widget_destroy(dialog); - } + char *path=yon_custom_config_init(GTK_FILE_CHOOSER_ACTION_OPEN); char *command = yon_config_get_custom_command(path); yon_config_load_config(type,command,NULL); }