SF patch #497420 (Eduardo Pérez): ftplib: ftp anonymous password

Instead of sending the real user and host, use "anonymous@" (i.e. no
host name at all!) as the default anonymous FTP password.  This avoids
privacy violations.
This commit is contained in:
Guido van Rossum 2001-12-28 20:54:28 +00:00
parent 5560269675
commit c33e077838
3 changed files with 11 additions and 18 deletions

View file

@ -351,19 +351,14 @@ class FTP:
if not passwd: passwd = ''
if not acct: acct = ''
if user == 'anonymous' and passwd in ('', '-'):
# get fully qualified domain name of local host
thishost = socket.getfqdn()
try:
if os.environ.has_key('LOGNAME'):
realuser = os.environ['LOGNAME']
elif os.environ.has_key('USER'):
realuser = os.environ['USER']
else:
realuser = 'anonymous'
except AttributeError:
# Not all systems have os.environ....
realuser = 'anonymous'
passwd = passwd + realuser + '@' + thishost
# If there is no anonymous ftp password specified
# then we'll just use anonymous@
# We don't send any other thing because:
# - We want to remain anonymous
# - We want to stop SPAM
# - We don't want to let ftp sites to discriminate by the user,
# host or country.
passwd = passwd + 'anonymous@'
resp = self.sendcmd('USER ' + user)
if resp[0] == '3': resp = self.sendcmd('PASS ' + passwd)
if resp[0] == '3': resp = self.sendcmd('ACCT ' + acct)