support running "--simulate" as user
[apt.git] / methods / ftp.cc
index b744d9882f7d888967eebbc9bacd34fedc3286bd..554a24cf52c52c19a7ca11a23477a61b934d7bc3 100644 (file)
@@ -229,7 +229,7 @@ bool FTPConn::Login()
       if (ReadResp(Tag,Msg) == false)
         return false;
       if (Tag >= 400)
-        return _error->Error(_("Server refused our connection and said: %s"),Msg.c_str());
+        return _error->Error(_("The server refused the connection and said: %s"),Msg.c_str());
       
       // Perform proxy script execution
       Configuration::Item const *Opts = _config->Tree("Acquire::ftp::ProxyLogin");
@@ -1055,9 +1055,12 @@ bool FtpMethod::Fetch(FetchItem *Itm)
         UBuf.modtime = FailTime;
         utime(FailFile.c_str(),&UBuf);
         
-        // If the file is missing we hard fail otherwise transient fail
-        if (Missing == true)
+        // If the file is missing we hard fail and delete the destfile
+        // otherwise transient fail
+        if (Missing == true) {
+           unlink(FailFile.c_str());
            return false;
+        }
         Fail(true);
         return true;
       }
@@ -1098,11 +1101,11 @@ int main(int argc,const char *argv[])
         char S[300];
         snprintf(S,sizeof(S),"http_proxy=%s",getenv("ftp_proxy"));
         putenv(S);
-        putenv("no_proxy=");
+        putenv((char *)"no_proxy=");
         
         // Run the http method
         string Path = flNotFile(argv[0]) + "http";
-        execl(Path.c_str(),Path.c_str(),0);
+        execl(Path.c_str(),Path.c_str(),(char *)NULL);
         cerr << _("Unable to invoke ") << Path << endl;
         exit(100);
       }