mirror of
https://github.com/aria2/aria2.git
synced 2026-04-02 18:59:20 +00:00
Check scheme part in redirected URI more strictly.
The previous implementation mistakenly sees '/abspath?uri=http://foo' as an absolute URI because it contains '://', but actually it is not. This change checks scheme part is constructed in the allowed character set described in RFC 3986 Section 3.1.
This commit is contained in:
@@ -142,6 +142,12 @@ void RequestTest::testRedirectUri()
|
||||
CPPUNIT_ASSERT(req.redirectUri("//host/to/file"));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("http://host/to/file"), req.getCurrentUri());
|
||||
CPPUNIT_ASSERT_EQUAL(5, req.getRedirectCount());
|
||||
|
||||
// http:// in query part
|
||||
CPPUNIT_ASSERT(req.redirectUri("/abspath?uri=http://foo"));
|
||||
CPPUNIT_ASSERT_EQUAL(std::string("http://host/abspath?uri=http://foo"),
|
||||
req.getCurrentUri());
|
||||
CPPUNIT_ASSERT_EQUAL(6, req.getRedirectCount());
|
||||
}
|
||||
|
||||
void RequestTest::testRedirectUri2()
|
||||
|
||||
Reference in New Issue
Block a user