Browse Source

webserver: strip parameters from filename

Again, not (currently) used by the tests itself, but in interactive
usage of the webserver itself.

Git-Dch: Ignore
tags/debian/0.9.14
David Kalnischkies 8 years ago
parent
commit
d23bda4245
1 changed files with 9 additions and 1 deletions
  1. +9
    -1
      test/interactive-helper/aptwebserver.cc

+ 9
- 1
test/interactive-helper/aptwebserver.cc View File

@@ -308,7 +308,7 @@ void sendDirectoryListing(int const client, std::string const &dir, /*{{{*/
}
/*}}}*/
bool parseFirstLine(int const client, std::string const &request, /*{{{*/
std::string &filename, bool &sendContent,
std::string &filename, std::string &params, bool &sendContent,
bool &closeConnection)
{
if (strncmp(request.c_str(), "HEAD ", 5) == 0)
@@ -375,6 +375,14 @@ bool parseFirstLine(int const client, std::string const &request, /*{{{*/
sendError(client, 400, request, sendContent, "Request is absolutePath, but configured to not accept that");
return false;
}

size_t paramspos = filename.find('?');
if (paramspos != std::string::npos)
{
params = filename.substr(paramspos + 1);
filename.erase(paramspos);
}

filename = DeQuoteString(filename);

// this is not a secure server, but at least prevent the obvious …


Loading…
Cancel
Save