diff options
| author | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-07 20:46:04 +0900 |
|---|---|---|
| committer | Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com> | 2011-08-07 20:46:04 +0900 |
| commit | 7368c9c9d8515232204d3708a3e2233454368aec (patch) | |
| tree | 711691b54ea9fc1e09ab730cc856d70622684d62 /src/FileEntry.cc | |
| parent | 491e8bc519fc1c7462321b9cff5719d18e812ac6 (diff) | |
Percent-encode non-printable ASCII and non-ASCII chars in FileEntry.
Percent-encode non-printable ASCII and non-ASCII chars in URI using
util::percentEncodeMini() when URI is added to FileEntry. Removed
percent-encode from Request. Also do percent-encoding when setting
referer and redirected URI.
Diffstat (limited to 'src/FileEntry.cc')
| -rw-r--r-- | src/FileEntry.cc | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/FileEntry.cc b/src/FileEntry.cc index 3fa5a900..f214a015 100644 --- a/src/FileEntry.cc +++ b/src/FileEntry.cc @@ -155,7 +155,7 @@ FileEntry::getRequest req.reset(); continue; } - req->setReferer(referer); + req->setReferer(util::percentEncodeMini(referer)); req->setMethod(method); spentUris_.push_back(uri); inFlightRequests_.push_back(req); @@ -518,8 +518,9 @@ size_t FileEntry::setUris(const std::vector<std::string>& uris) bool FileEntry::addUri(const std::string& uri) { uri::UriStruct us; - if(uri::parse(us, uri)) { - uris_.push_back(uri); + std::string peUri = util::percentEncodeMini(uri); + if(uri::parse(us, peUri)) { + uris_.push_back(peUri); return true; } else { return false; @@ -529,9 +530,10 @@ bool FileEntry::addUri(const std::string& uri) bool FileEntry::insertUri(const std::string& uri, size_t pos) { uri::UriStruct us; - if(uri::parse(us, uri)) { + std::string peUri = util::percentEncodeMini(uri); + if(uri::parse(us, peUri)) { pos = std::min(pos, uris_.size()); - uris_.insert(uris_.begin()+pos, uri); + uris_.insert(uris_.begin()+pos, peUri); return true; } else { return false; |
