aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2005-11-08 00:52:31 +0000
committerRob Landley <rob@landley.net>2005-11-08 00:52:31 +0000
commit6f03722448c35d825cd36a381725d6481920071d (patch)
tree6b3abc18b5e43a372cfe8f3dee90fd968ce0ef8f
parentc98a359a16ab163107051056a85014d011be4cfa (diff)
downloadbusybox-w32-6f03722448c35d825cd36a381725d6481920071d.tar.gz
busybox-w32-6f03722448c35d825cd36a381725d6481920071d.tar.bz2
busybox-w32-6f03722448c35d825cd36a381725d6481920071d.zip
Patch from Tomasz Mateja: don't try to CWD to a _filename_, just send the full
path to the STOR command.
-rw-r--r--networking/ftpgetput.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/networking/ftpgetput.c b/networking/ftpgetput.c
index 02c21d9e1..1d5b18624 100644
--- a/networking/ftpgetput.c
+++ b/networking/ftpgetput.c
@@ -10,20 +10,7 @@
10 * Based on wget.c by Chip Rosenthal Covad Communications 10 * Based on wget.c by Chip Rosenthal Covad Communications
11 * <chip@laserlink.net> 11 * <chip@laserlink.net>
12 * 12 *
13 * This program is free software; you can redistribute it and/or modify 13 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 2 of the License, or
16 * (at your option) any later version.
17 *
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 *
27 */ 14 */
28 15
29#include <sys/types.h> 16#include <sys/types.h>
@@ -229,10 +216,6 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream,
229 } 216 }
230 fd_data = xconnect_ftpdata(server, buf); 217 fd_data = xconnect_ftpdata(server, buf);
231 218
232 if (ftpcmd("CWD ", server_path, control_stream, buf) != 250) {
233 bb_error_msg_and_die("CWD error: %s", buf + 4);
234 }
235
236 /* get the local file */ 219 /* get the local file */
237 if ((local_path[0] == '-') && (local_path[1] == '\0')) { 220 if ((local_path[0] == '-') && (local_path[1] == '\0')) {
238 fd_local = STDIN_FILENO; 221 fd_local = STDIN_FILENO;
@@ -252,7 +235,7 @@ static int ftp_send(ftp_host_info_t *server, FILE *control_stream,
252 break; 235 break;
253 } 236 }
254 } 237 }
255 response = ftpcmd("STOR ", local_path, control_stream, buf); 238 response = ftpcmd("STOR ", server_path, control_stream, buf);
256 switch (response) { 239 switch (response) {
257 case 125: 240 case 125:
258 case 150: 241 case 150: