From e1c26567a1ec0d7a3b27a0c9c30bb9ee6ffa0c27 Mon Sep 17 00:00:00 2001 From: longpanda Date: Fri, 3 Dec 2021 18:31:09 +0800 Subject: [PATCH] 1. Add check for invalid characters in menu_class plugin. 2. Optimization for help language list process --- .github/ISSUE_TEMPLATE/issue_template.yml | 2 +- Plugson/build.sh | 1 - Plugson/pack.sh | 4 ++ Plugson/src/Web/ventoy_http.c | 43 ++++++++++++++---- Plugson/src/Web/ventoy_http.h | 1 + .../VentoyPlugson/Release/VentoyPlugson.exe | Bin 319488 -> 320000 bytes Plugson/www/buildtime | 2 +- Plugson/www/helplist | 1 + Plugson/www/index.html | 2 +- Plugson/www/plugson_menu_class.html | 10 ++-- .../static/js/jquery.validate.vtoymethods.js | 21 +++++++++ Plugson/www/static/js/vtoy.js | 5 +- 12 files changed, 73 insertions(+), 19 deletions(-) create mode 100644 Plugson/www/helplist diff --git a/.github/ISSUE_TEMPLATE/issue_template.yml b/.github/ISSUE_TEMPLATE/issue_template.yml index 3003f364..d0e78bb3 100644 --- a/.github/ISSUE_TEMPLATE/issue_template.yml +++ b/.github/ISSUE_TEMPLATE/issue_template.yml @@ -21,7 +21,7 @@ body: attributes: label: Ventoy Version description: What version of ventoy are you running? - placeholder: 1.0.61 + placeholder: 1.0.62 validations: required: true - type: dropdown diff --git a/Plugson/build.sh b/Plugson/build.sh index d53b48c6..095d0709 100644 --- a/Plugson/build.sh +++ b/Plugson/build.sh @@ -76,4 +76,3 @@ build_func "gcc -m32" '32' 'i386' build_func "aarch64-linux-gnu-gcc" 'aa64' 'aarch64' build_func "mips-linux-gnu-gcc -mips64r2 -mabi=64" 'm64e' 'mips64el' - diff --git a/Plugson/pack.sh b/Plugson/pack.sh index 6eed00ed..46fbf032 100644 --- a/Plugson/pack.sh +++ b/Plugson/pack.sh @@ -17,6 +17,10 @@ if [ -f ./www.tar.xz ]; then rm -f ./www.tar.xz fi +[ -f ./www/helplist ] && rm -f ./www/helplist +ls -1 ../INSTALL/grub/help/ | while read line; do + echo -n ${line:0:5} >> ./www/helplist +done echo -n "$plugson_verion" > ./www/buildtime tar cf www.tar www diff --git a/Plugson/src/Web/ventoy_http.c b/Plugson/src/Web/ventoy_http.c index 7ecce221..7f17a4b5 100644 --- a/Plugson/src/Web/ventoy_http.c +++ b/Plugson/src/Web/ventoy_http.c @@ -60,12 +60,7 @@ static const char *g_ventoy_kbd_layout[] = NULL }; -static const char *g_ventoy_help_lang[] = -{ - "de_DE", "en_US", "fr_FR", "hr_HR", "id_ID", "pt_PT", "sr_CY", "sr_SR", "tr_TR", "zh_CN", - - NULL -}; +static char g_ventoy_help_lang[MAX_LANGUAGE][8]; static char g_pub_path[2 * MAX_PATH]; static data_control g_data_control[bios_max + 1]; @@ -622,7 +617,7 @@ int ventoy_data_json_control(data_control *ctrl, char *buf, int buflen) VTOY_JSON_FMT_KEY("help_list"); VTOY_JSON_FMT_ARY_BEGIN(); - for (i = 0; g_ventoy_help_lang[i]; i++) + for (i = 0; g_ventoy_help_lang[i][0]; i++) { VTOY_JSON_FMT_ITEM(g_ventoy_help_lang[i]); } @@ -3839,7 +3834,7 @@ static int ventoy_parse_control(VTOY_JSON *json, void *p) } else if (strcmp(child->pcName, "VTOY_HELP_TXT_LANGUAGE") == 0) { - for (i = 0; g_ventoy_help_lang[i]; i++) + for (i = 0; g_ventoy_help_lang[i][0]; i++) { if (strcmp(child->unData.pcStrVal, g_ventoy_help_lang[i]) == 0) { @@ -5051,11 +5046,41 @@ int ventoy_http_stop(void) int ventoy_http_init(void) { + int i = 0; + +#ifdef VENTOY_SIM + char *Buffer = NULL; + int BufLen = 0; + + ventoy_read_file_to_buf("www/helplist", 4, (void **)&Buffer, &BufLen); + if (Buffer) + { + for (i = 0; i < BufLen / 5; i++) + { + memcpy(g_ventoy_help_lang[i], Buffer + i * 5, 5); + g_ventoy_help_lang[i][5] = 0; + } + free(Buffer); + } +#else + ventoy_file *file; + file = ventoy_tar_find_file("www/helplist"); + if (file) + { + for (i = 0; i < file->size / 5; i++) + { + memcpy(g_ventoy_help_lang[i], (char *)(file->addr) + i * 5, 5); + g_ventoy_help_lang[i][5] = 0; + } + } +#endif + if (!g_pub_json_buffer) { g_pub_json_buffer = malloc(JSON_BUF_MAX * 2); g_pub_save_buffer = g_pub_json_buffer + JSON_BUF_MAX; - } + } + pthread_mutex_init(&g_api_mutex, NULL); return 0; diff --git a/Plugson/src/Web/ventoy_http.h b/Plugson/src/Web/ventoy_http.h index 904fe05e..d5607df1 100644 --- a/Plugson/src/Web/ventoy_http.h +++ b/Plugson/src/Web/ventoy_http.h @@ -22,6 +22,7 @@ #include +#define MAX_LANGUAGE 128 #define L1 " " #define L2 " " diff --git a/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe b/Plugson/vs/VentoyPlugson/Release/VentoyPlugson.exe index d33e7be91302dad9c42997d5826758b506e89ea0..79fbbbefa29ebcef28eaa4335b52ab85c3e9af7d 100644 GIT binary patch delta 61237 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 https://www.ventoy.net diff --git a/Plugson/www/plugson_menu_class.html b/Plugson/www/plugson_menu_class.html index 940bd6db..c451662c 100644 --- a/Plugson/www/plugson_menu_class.html +++ b/Plugson/www/plugson_menu_class.html @@ -169,11 +169,6 @@ } } - if (extra.indexOf("\"") >= 0) { - Message.error(g_current_language === 'en' ? "Class can not contains double quotes." : "Class 不能包含双引号。"); - return; - } - callVtoy({ method : 'class_add', index: current_tab_index, @@ -188,6 +183,11 @@ } function OnAddKeyClass(key, value) { + if (!ventoy_check_file_name_char(key)) { + Message.error(g_current_language === 'en' ? "As part of file name, key can not include invalid characters!" : "作为文件名的一部分,key 中不能包含特殊的符号!"); + return; + } + AddClassEntry(key, 0, 1, value); } diff --git a/Plugson/www/static/js/jquery.validate.vtoymethods.js b/Plugson/www/static/js/jquery.validate.vtoymethods.js index 624c40e5..9e640b9b 100644 --- a/Plugson/www/static/js/jquery.validate.vtoymethods.js +++ b/Plugson/www/static/js/jquery.validate.vtoymethods.js @@ -1,3 +1,16 @@ +function ventoy_check_file_name_char(path) { + for (var i = 0; i < path.length; i++) { + var cc = path[i]; + if (cc === '/' || cc === '\\' || cc === '*' || cc === '?' || cc === '"' || cc === '<' || cc === '>' || cc === '|') + { + return false; + } + } + + return true; +} + + (function(factory) { if (typeof define === "function" && define.amd) { define(["jquery", "../jquery.validate"], factory); @@ -62,6 +75,14 @@ return true; }, 'Can not contain double quotes'); + + $.validator.addMethod('filenamepart', function(value, element, params) { + if (this.optional(element)) { + return true; + } + + return ventoy_check_file_name_char(value); + }, 'Invalid characters'); $.validator.addMethod('printascii', function(value, element, params) { diff --git a/Plugson/www/static/js/vtoy.js b/Plugson/www/static/js/vtoy.js index aee33796..419dbbf1 100644 --- a/Plugson/www/static/js/vtoy.js +++ b/Plugson/www/static/js/vtoy.js @@ -896,6 +896,7 @@ function VtoyCommonChangeLanguage(newlang) { utfmaxlen: $.validator.format("The string exceeds the maximum supported length"), start_slash: $.validator.format("Must start with /"), noquotes: $.validator.format("Can not include double quotes"), + filenamepart:$.validator.format("As part of file name, can not include invalid characters"), printascii: $.validator.format("Can not include non-ascii characters.") }); @@ -941,6 +942,7 @@ function VtoyCommonChangeLanguage(newlang) { utfmaxlen: $.validator.format("超过最大长度"), start_slash: $.validator.format("必须以反斜杠 / 开头"), noquotes: $.validator.format("不能包含双引号"), + filenamepart:$.validator.format("作为文件名的一部分,不能包含特殊的符号"), printascii: $.validator.format("不能包含中文或其他非 ascii 字符。") }); @@ -1102,7 +1104,8 @@ var g_set_key_validator = $("#SetKeyForm").validate({ }, SetKeyValue : { required: true, - utfmaxlen: true + utfmaxlen: true, + filenamepart: true } },