From b3b31466afd6852d53a542daa17322deb8d908ac Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 21 Dec 2019 17:22:57 +0300 Subject: Relax requirements for CI and submit service parameters --- mod/mod-ci.cxx | 14 ++------------ mod/mod-submit.cxx | 14 ++------------ 2 files changed, 4 insertions(+), 24 deletions(-) (limited to 'mod') diff --git a/mod/mod-ci.cxx b/mod/mod-ci.cxx index 5a56526..b6db669 100644 --- a/mod/mod-ci.cxx +++ b/mod/mod-ci.cxx @@ -265,23 +265,13 @@ handle (request& rq, response& rs) } // Verify that unknown parameter values satisfy the requirements (contain - // only ASCII printable characters plus '\r', '\n', and '\t'). + // only UTF-8 encoded graphic characters plus '\t', '\r', and '\n'). // // Actually, the expected ones must satisfy too, so check them as well. // - auto printable = [] (const string& s) -> bool - { - for (char c: s) - { - if (!((c >= 0x20 && c <= 0x7E) || c == '\n' || c == '\r' || c == '\t')) - return false; - } - return true; - }; - for (const name_value& nv: rps) { - if (nv.value && !printable (*nv.value)) + if (nv.value && !utf8 (*nv.value, codepoint_types::graphic, U"\r\n\t")) return respond_manifest (400, "invalid parameter " + nv.name); } diff --git a/mod/mod-submit.cxx b/mod/mod-submit.cxx index 3130823..2dd8591 100644 --- a/mod/mod-submit.cxx +++ b/mod/mod-submit.cxx @@ -254,23 +254,13 @@ handle (request& rq, response& rs) return respond_manifest (400, "invalid package archive checksum"); // Verify that unknown parameter values satisfy the requirements (contain - // only ASCII printable characters plus '\r', '\n', and '\t'). + // only UTF-8 encoded graphic characters plus '\t', '\r', and '\n'). // // Actually, the expected ones must satisfy too, so check them as well. // - auto printable = [] (const string& s) -> bool - { - for (char c: s) - { - if (!((c >= 0x20 && c <= 0x7E) || c == '\n' || c == '\r' || c == '\t')) - return false; - } - return true; - }; - for (const name_value& nv: rps) { - if (nv.value && !printable (*nv.value)) + if (nv.value && !utf8 (*nv.value, codepoint_types::graphic, U"\r\n\t")) return respond_manifest (400, "invalid parameter " + nv.name); } -- cgit v1.1