From daddedb9553c833e6c4dbc69d3d2bf6b4b15d19f Mon Sep 17 00:00:00 2001 From: Alexander van Gessel Date: Wed, 18 Oct 2017 15:22:26 +0200 Subject: [PATCH] Further explain the filename character blacklist --- src/addon/client.cpp | 6 +++++- src/campaign_server/campaign_server.cpp | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/addon/client.cpp b/src/addon/client.cpp index d4b48600b2ca8..f674f60b3c65e 100644 --- a/src/addon/client.cpp +++ b/src/addon/client.cpp @@ -156,7 +156,11 @@ bool addons_client::upload_addon(const std::string& id, std::string& response_me if(!check_names_legal(addon_data, &badnames)){ this->last_error_ = vgettext("The add-on $addon_title has an invalid file or directory " - "name and cannot be published.", i18n_symbols); + "name and cannot be published. " + + "File or directory names may not contain whitespace, control characters or any of the following characters: '" * / : < > ? \\ | ~'. " + "It also may not contain '..' end with '.' or be longer than 255 characters." + , i18n_symbols); this->last_error_data_ = font::escape_text(utils::join(badnames, "\n")); return false; } diff --git a/src/campaign_server/campaign_server.cpp b/src/campaign_server/campaign_server.cpp index 9f124486575c6..ee2ef99773afc 100644 --- a/src/campaign_server/campaign_server.cpp +++ b/src/campaign_server/campaign_server.cpp @@ -690,7 +690,8 @@ void server::handle_upload(const server::request& req) LOG_CS << "Upload aborted - invalid file names in add-on data (" << badnames.size() << " entries).\n"; send_error( "Add-on rejected: The add-on contains files or directories with illegal names. " - "File or directory names may not contain whitespace or any of the following characters: '/ \\ : ~'", + "File or directory names may not contain whitespace, control characters or any of the following characters: '\" * / : < > ? \\ | ~'. " + "It also may not contain '..' end with '.' or be longer than 255 characters.", filelist, req.sock); } else if(!check_case_insensitive_duplicates(data)) { LOG_CS << "Upload aborted - case conflict in add-on data.\n";