mirror of
https://github.com/PurpleI2P/i2pd.git
synced 2025-01-22 08:14:15 +00:00
'@' can exist in url path
This commit is contained in:
parent
0784934520
commit
28ab1230e2
5
HTTP.cpp
5
HTTP.cpp
@ -81,7 +81,8 @@ namespace http {
|
|||||||
}
|
}
|
||||||
/* user[:pass] */
|
/* user[:pass] */
|
||||||
pos_c = url.find('@', pos_p);
|
pos_c = url.find('@', pos_p);
|
||||||
if (pos_c != std::string::npos) {
|
std::size_t pos_slash = url.find('/', pos_p);
|
||||||
|
if (pos_c != std::string::npos && (pos_slash == std::string::npos || pos_slash > pos_c)) {
|
||||||
std::size_t delim = url.find(':', pos_p);
|
std::size_t delim = url.find(':', pos_p);
|
||||||
if (delim != std::string::npos && delim < pos_c) {
|
if (delim != std::string::npos && delim < pos_c) {
|
||||||
user = url.substr(pos_p, delim - pos_p);
|
user = url.substr(pos_p, delim - pos_p);
|
||||||
@ -90,7 +91,7 @@ namespace http {
|
|||||||
} else {
|
} else {
|
||||||
user = url.substr(pos_p, pos_c - pos_p);
|
user = url.substr(pos_p, pos_c - pos_p);
|
||||||
}
|
}
|
||||||
pos_p = pos_c + 1;
|
pos_p = pos_c + 1;
|
||||||
}
|
}
|
||||||
/* hostname[:port][/path] */
|
/* hostname[:port][/path] */
|
||||||
pos_c = url.find_first_of(":/", pos_p);
|
pos_c = url.find_first_of(":/", pos_p);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user