]> git.saurik.com Git - apt.git/blobdiff - methods/ftp.cc
all errors should be printed to stderr
[apt.git] / methods / ftp.cc
index 621f48476a2cae301fde471939632a030de047b7..ac76295f02ef1342e00dc7a0e9aac52fa38a77a5 100644 (file)
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/netrc.h>
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/netrc.h>
 #include <apt-pkg/configuration.h>
+#include <apt-pkg/strutl.h>
 
 
+#include <ctype.h>
+#include <stdlib.h>
+#include <string.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <unistd.h>
 #include <sys/stat.h>
 #include <sys/time.h>
 #include <unistd.h>
@@ -42,6 +46,7 @@
 #include "rfc2553emu.h"
 #include "connect.h"
 #include "ftp.h"
 #include "rfc2553emu.h"
 #include "connect.h"
 #include "ftp.h"
+
 #include <apti18n.h>
                                                                        /*}}}*/
 
 #include <apti18n.h>
                                                                        /*}}}*/
 
@@ -56,9 +61,9 @@ struct AFMap
 };
 
 #ifndef AF_INET6
 };
 
 #ifndef AF_INET6
-struct AFMap AFMap[] = {{AF_INET,1},{}};
+struct AFMap AFMap[] = {{AF_INET,1},{0, 0}};
 #else
 #else
-struct AFMap AFMap[] = {{AF_INET,1},{AF_INET6,2},{}};
+struct AFMap AFMap[] = {{AF_INET,1},{AF_INET6,2},{0, 0}};
 #endif
 
 unsigned long TimeOut = 120;
 #endif
 
 unsigned long TimeOut = 120;
@@ -70,9 +75,10 @@ time_t FtpMethod::FailTime = 0;
 // FTPConn::FTPConn - Constructor                                      /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 // FTPConn::FTPConn - Constructor                                      /*{{{*/
 // ---------------------------------------------------------------------
 /* */
-FTPConn::FTPConn(URI Srv) : Len(0), ServerFd(-1), DataFd(-1), 
+FTPConn::FTPConn(URI Srv) : Len(0), ServerFd(-1), DataFd(-1),
                             DataListenFd(-1), ServerName(Srv),
                             DataListenFd(-1), ServerName(Srv),
-                           ForceExtended(false), TryPassive(true)
+                           ForceExtended(false), TryPassive(true),
+                           PeerAddrLen(0), ServerAddrLen(0)
 {
    Debug = _config->FindB("Debug::Acquire::Ftp",false);
    PasvAddr = 0;
 {
    Debug = _config->FindB("Debug::Acquire::Ftp",false);
    PasvAddr = 0;
@@ -1098,7 +1104,7 @@ bool FtpMethod::Fetch(FetchItem *Itm)
 }
                                                                        /*}}}*/
 
 }
                                                                        /*}}}*/
 
-int main(int argc,const char *argv[])
+int main(intconst char *argv[])
 { 
    setlocale(LC_ALL, "");
 
 { 
    setlocale(LC_ALL, "");
 
@@ -1126,6 +1132,9 @@ int main(int argc,const char *argv[])
    }
    
    FtpMethod Mth;
    }
    
    FtpMethod Mth;
+
+   // no more active ftp, sorry
+   Mth.DropPrivsOrDie();
    
    return Mth.Run();
 }
    
    return Mth.Run();
 }