aboutsummaryrefslogtreecommitdiff
path: root/lib/libftp/FtpPasv.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libftp/FtpPasv.c')
-rw-r--r--lib/libftp/FtpPasv.c100
1 files changed, 0 insertions, 100 deletions
diff --git a/lib/libftp/FtpPasv.c b/lib/libftp/FtpPasv.c
deleted file mode 100644
index 3dd52fef4b49..000000000000
--- a/lib/libftp/FtpPasv.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Library for ftpd clients.(libftp)
- Copyright by Oleg Orel
- All rights reserved.
-
-This library is desined for free, non-commercial software creation.
-It is changeable and can be improved. The author would greatly appreciate
-any advises, new components and patches of the exist
-ing programs.
-Commercial usage is also possible with participation of it's author.
-
-
-
-*/
-
-#include "FtpLibrary.h"
-#include <unistd.h>
-#include <ctype.h>
-
-char * FtpPasv (FTP *ftp)
-{
- char *msg;
- static String PORT;
- char *p=PORT;
-
- if FtpError(FtpCommand(ftp,"PASV","",227,EOF))
- return "";
-
- msg = FtpMessage (227);
-
- msg+=3;
-
- while (!isdigit(*msg++));
- msg--;
-
- while (isdigit(*msg)||*msg==',') *p++=*msg++;
- *p=0;
-
- return PORT;
-}
-
-
-STATUS FtpLink(FTP *ftp1, FTP *ftp2)
-{
-
- String PORT;
-
- strcpy(PORT,FtpPasv(ftp1));
-
- FtpCommand(ftp2,"PORT %s",PORT,200,EOF);
- return 0;
-}
-
-STATUS FtpPassiveTransfer(FTP *ftp1, FTP *ftp2, char *f1, char *f2)
-{
- String tmp;
- fd_set fds;
-
- FtpAssert(ftp1,FtpLink(ftp1,ftp2));
-
-
- if (!*f2) f2=f1;
-
- FtpAssert(ftp2,FtpCommand(ftp2,"STOR %s",f2, 200, 120 , 150 , 125 , 250 , EOF ));
- FtpAssert(ftp1,FtpCommand(ftp1,"RETR %s",f1, 200, 120 , 150 , 125 , 250 , EOF ));
-
- FD_ZERO(&fds);
-
- FD_SET(fileno(FTPCMD(ftp1)),&fds);
- FD_SET(fileno(FTPCMD(ftp2)),&fds);
-
- if (select(getdtablesize(),&fds,0,0,0)<0)
- {
- if (ftp1->error!=NULL)
- return (*(ftp1->error))(ftp1,QUIT,sys_errlist[errno]);
- if (ftp2->error!=NULL)
- return (*(ftp2->error))(ftp1,QUIT,sys_errlist[errno]);
- return QUIT;
- }
-
- if (FD_ISSET(fileno(FTPCMD(ftp1)),&fds))
- {
- FtpGetMessage(ftp1,tmp);
- FtpLog(ftp1->title,tmp);
- FtpGetMessage(ftp2,tmp);
- FtpLog(ftp2->title,tmp);
- }
- else
- {
- FtpGetMessage(ftp2,tmp);
- FtpLog(ftp2->title,tmp);
- FtpGetMessage(ftp1,tmp);
- FtpLog(ftp1->title,tmp);
- }
- return 0;
-}
-
-
-
-
-