Loading lib/ftp.c +7 −1 Original line number Diff line number Diff line Loading @@ -3691,6 +3691,12 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) case FTPFILE_SINGLECWD: /* get the last slash */ if(!path_to_use[0]) { /* no dir, no file */ ftpc->dirdepth = 0; ftp->file = NULL; break; } slash_pos=strrchr(cur_pos, '/'); if(slash_pos || !*cur_pos) { ftpc->dirs = (char **)calloc(1, sizeof(ftpc->dirs[0])); Loading Loading @@ -3773,7 +3779,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) ftp->file = cur_pos; /* the rest is the file name */ } if(*ftp->file) { if(ftp->file && *ftp->file) { ftp->file = curl_easy_unescape(conn->data, ftp->file, 0, NULL); if(NULL == ftp->file) { freedirs(conn); Loading tests/data/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -42,4 +42,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test405 test604 test605 test606 test607 test608 test609 test294 test295 \ test296 test297 test298 test610 test611 test612 test406 test407 test408 \ test409 test613 test614 test700 test701 test702 test704 test705 test703 \ test706 test707 test350 test351 test352 test706 test707 test350 test351 test352 test353 tests/data/test353 0 → 100644 +56 −0 Original line number Diff line number Diff line <testcase> <info> <keywords> FTP PASV LIST </keywords> </info> # # Server-side <reply> # When doing LIST, we get the default list output hard-coded in the test # FTP server <datacheck> total 20 drwxr-xr-x 8 98 98 512 Oct 22 13:06 . drwxr-xr-x 8 98 98 512 Oct 22 13:06 .. drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT -r--r--r-- 1 0 1 35 Jul 16 1996 README lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev drwxrwxrwx 2 98 98 512 May 29 16:04 download.html dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr </datacheck> </reply> # # Client-side <client> <server> ftp </server> <name> FTP home dir list singlecwd </name> <command> ftp://%HOSTIP:%FTPPORT/ --ftp-method singlecwd </command> </client> # # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A LIST QUIT </protocol> </verify> </testcase> Loading
lib/ftp.c +7 −1 Original line number Diff line number Diff line Loading @@ -3691,6 +3691,12 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) case FTPFILE_SINGLECWD: /* get the last slash */ if(!path_to_use[0]) { /* no dir, no file */ ftpc->dirdepth = 0; ftp->file = NULL; break; } slash_pos=strrchr(cur_pos, '/'); if(slash_pos || !*cur_pos) { ftpc->dirs = (char **)calloc(1, sizeof(ftpc->dirs[0])); Loading Loading @@ -3773,7 +3779,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn) ftp->file = cur_pos; /* the rest is the file name */ } if(*ftp->file) { if(ftp->file && *ftp->file) { ftp->file = curl_easy_unescape(conn->data, ftp->file, 0, NULL); if(NULL == ftp->file) { freedirs(conn); Loading
tests/data/Makefile.am +1 −1 Original line number Diff line number Diff line Loading @@ -42,4 +42,4 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46 \ test405 test604 test605 test606 test607 test608 test609 test294 test295 \ test296 test297 test298 test610 test611 test612 test406 test407 test408 \ test409 test613 test614 test700 test701 test702 test704 test705 test703 \ test706 test707 test350 test351 test352 test706 test707 test350 test351 test352 test353
tests/data/test353 0 → 100644 +56 −0 Original line number Diff line number Diff line <testcase> <info> <keywords> FTP PASV LIST </keywords> </info> # # Server-side <reply> # When doing LIST, we get the default list output hard-coded in the test # FTP server <datacheck> total 20 drwxr-xr-x 8 98 98 512 Oct 22 13:06 . drwxr-xr-x 8 98 98 512 Oct 22 13:06 .. drwxr-xr-x 2 98 98 512 May 2 1996 .NeXT -r--r--r-- 1 0 1 35 Jul 16 1996 README lrwxrwxrwx 1 0 1 7 Dec 9 1999 bin -> usr/bin dr-xr-xr-x 2 0 1 512 Oct 1 1997 dev drwxrwxrwx 2 98 98 512 May 29 16:04 download.html dr-xr-xr-x 2 0 1 512 Nov 30 1995 etc drwxrwxrwx 2 98 1 512 Oct 30 14:33 pub dr-xr-xr-x 5 0 1 512 Oct 1 1997 usr </datacheck> </reply> # # Client-side <client> <server> ftp </server> <name> FTP home dir list singlecwd </name> <command> ftp://%HOSTIP:%FTPPORT/ --ftp-method singlecwd </command> </client> # # Verify data after the test has been "shot" <verify> <protocol> USER anonymous PASS ftp@example.com PWD EPSV TYPE A LIST QUIT </protocol> </verify> </testcase>