Skip to content
Snippets Groups Projects
Commit 5974d563 authored by phajdan.jr@chromium.org's avatar phajdan.jr@chromium.org
Browse files

FTP: fix directory listing parser for ftp.symantec.com.

Some servers do not send the symlink target that we were expecting,
possibly for security reasons.

BUG=56972
TEST=net_unittests

Review URL: http://codereview.chromium.org/3416028

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60763 0039d316-1c4b-4281-b951-d872f2087c98
parent 38fbc921
No related branches found
No related tags found
No related merge requests found
......@@ -158,9 +158,11 @@ bool FtpDirectoryListingParserLs::ConsumeLine(const string16& line) {
entry.name = FtpUtil::GetStringPartAfterColumns(line, 6 + column_offset);
if (entry.type == FtpDirectoryListingEntry::SYMLINK) {
string16::size_type pos = entry.name.rfind(ASCIIToUTF16(" -> "));
if (pos == string16::npos)
return false;
entry.name = entry.name.substr(0, pos);
// We don't require the " -> " to be present. Some FTP servers don't send
// the symlink target, possibly for security reasons.
if (pos != string16::npos)
entry.name = entry.name.substr(0, pos);
}
entries_.push(entry);
......
......@@ -49,6 +49,9 @@ TEST_F(FtpDirectoryListingParserLsTest, Good) {
{ "drwxrwxrwx 1 owner group 0 Sep 13 0:30 audio",
net::FtpDirectoryListingEntry::DIRECTORY, "audio", -1,
1994, 9, 13, 0, 30 },
{ "lrwxrwxrwx 1 0 0 26 Sep 18 2008 pub",
net::FtpDirectoryListingEntry::SYMLINK, "pub", -1,
2008, 9, 18, 0, 0 },
// Tests for the wu-ftpd variant:
{ "drwxr-xr-x 2 sys 512 Mar 27 2009 pub",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment