summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog1
-rw-r--r--methods/ftp.cc9
2 files changed, 7 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 472cae153..a36fe97b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,6 +12,7 @@ apt (0.5.4) unstable; urgency=low
* no_proxy and ftp. Closes: #89671
* Philippe Batailler's man page patches.
* Fix for display bug. Closes: #92033
+ * Reordered some things to make dante happier. Closes: #92757
-- Jason Gunthorpe <jgg@debian.org> Thu, 8 Mar 2001 22:48:06 -0700
diff --git a/methods/ftp.cc b/methods/ftp.cc
index 4f9410bfc..89f144fe5 100644
--- a/methods/ftp.cc
+++ b/methods/ftp.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: ftp.cc,v 1.26 2001/03/24 22:34:55 jgg Exp $
+// $Id: ftp.cc,v 1.27 2001/04/10 04:51:50 jgg Exp $
/* ######################################################################
FTP Aquire Method - This is the FTP aquire method for APT.
@@ -153,6 +153,10 @@ bool FTPConn::Open(pkgAcqMethod *Owner)
RotateDNS();
if (Connect(Host,Port,"ftp",21,ServerFd,TimeOut,Owner) == false)
return false;
+
+ // Login must be before getpeername otherwise dante won't work.
+ Owner->Status("Logging in");
+ bool Res = Login();
// Get the remote server's address
PeerAddrLen = sizeof(PeerAddr);
@@ -164,8 +168,7 @@ bool FTPConn::Open(pkgAcqMethod *Owner)
if (getsockname(ServerFd,(sockaddr *)&ServerAddr,&ServerAddrLen) != 0)
return _error->Errno("getsockname","Unable to determine the local name");
- Owner->Status("Logging in");
- return Login();
+ return Res;
}
/*}}}*/
// FTPConn::Login - Login to the remote server /*{{{*/