From ce163ee12c0a1ad9de2936bf061bce0dccefd41b Mon Sep 17 00:00:00 2001 From: Jan Willamowius <jan@willamowius.de> Date: 周一, 22 4月 2019 23:56:28 +0800 Subject: [PATCH] fix regex to check format of client signature --- src/tools/license-generator/license-generator.cpp | 21 ++++++++++----------- 1 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/tools/license-generator/license-generator.cpp b/src/tools/license-generator/license-generator.cpp index e929748..0eae1f5 100644 --- a/src/tools/license-generator/license-generator.cpp +++ b/src/tools/license-generator/license-generator.cpp @@ -71,7 +71,7 @@ } vector<FullLicenseInfo> LicenseGenerator::parseLicenseInfo( - po::variables_map vm) { + const po::variables_map& vm) { string begin_date = FullLicenseInfo::UNUSED_TIME; string end_date = FullLicenseInfo::UNUSED_TIME; if (vm.count("expire_date")) { @@ -102,15 +102,14 @@ string client_signature = ""; if (vm.count("client_signature")) { client_signature = vm["client_signature"].as<string>(); - //fixme match + and / - /*regex e("(A-Za-z0-9){4}-(A-Za-z0-9){4}-(A-Za-z0-9){4}-(A-Za-z0-9){4}"); - if (!regex_match(client_signature, e)) { - cerr << endl << "Client signature not recognized: " - << client_signature - << " Please enter a valid signature in format XXXX-XXXX-XXXX-XXXX" - << endl; - exit(2); - }*/ + regex e("[A-Za-z0-9\\+/]{4}-[A-Za-z0-9\\+/]{4}-[A-Za-z0-9\\+/]{4}-[A-Za-z0-9\\+/]{4}"); + if (!regex_match(client_signature, e)) { + cerr << endl << "Client signature not recognized: " + << client_signature + << " Please enter a valid signature in format XXXX-XXXX-XXXX-XXXX" + << endl; + exit(2); + } } string extra_data = ""; if (vm.count("extra_data")) { @@ -153,7 +152,7 @@ int LicenseGenerator::generateLicense(int argc, const char **argv) { po::options_description visibleOptions = configureProgramOptions(); - //positional options must be addedd to standard options + //positional options must be added to standard options po::options_description allOptions; allOptions.add(visibleOptions).add_options()("product", po::value<vector<string>>(), "product names"); -- Gitblit v1.9.1