Commit Graph

94 Commits

Author SHA1 Message Date
Giampaolo Rodola' c2a8169aa3 Fix issue #16646: ftplib.FTP.makeport() might lose socket error details. (patch by Serhiy Storchaka) 2012-12-17 14:30:48 +01:00
Nadeem Vawda b42c53e442 Issue #10883: Fix socket leaks in urllib.request.
* ftpwrapper now uses reference counting to ensure that the underlying socket
  is closed when the ftpwrapper object is no longer in use
* ftplib.FTP.ntransfercmd() now closes the socket if an error occurs

Initial patch by Victor Stinner.
2011-07-23 15:51:16 +02:00
Senthil Kumaran e4ef726879 Fix closes issue1067702 The problem with close multiple ftp transfers were due cases where sockets/file were not closed immediately. Tightned those cases and failure is no longer observed. 2011-06-26 13:45:17 -07:00
Ezio Melotti 24b07bcba3 #11515: fix several typos. Patch by Piotr Kasprzyk. 2011-03-15 18:55:01 +02:00
Giampaolo Rodolà 607f7c056e Fix Issue #4841: timeout is now applied for connections resulting from PORT/EPRT commands 2010-04-19 21:46:28 +00:00
Giampaolo Rodolà cf445fced4 Fix Issue #3817: 225 is now considered a valid response code for ABOR 2010-04-18 12:55:03 +00:00
Antoine Pitrou acbe3bdbab Issue #6845: Add restart support for binary upload in ftplib. The
`storbinary()` method of FTP and FTP_TLS objects gains an optional `rest`
argument.  Patch by Pablo Mouzo.

(note: the patch also adds a test for the rest argument in retrbinary())
2009-11-27 13:18:34 +00:00
Antoine Pitrou ccd5e02d2b Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using
TLS or SSL.  Patch by Giampaolo Rodola'.
2009-11-15 17:22:09 +00:00
Georg Brandl 50ba6e1b50 #1726172: dont raise an unexpected IndexError if a voidresp() call has an empty response. 2009-04-05 10:48:47 +00:00
Benjamin Peterson dee0b175f6 backport r66656 so people using -Qnew aren't affected 2008-09-27 22:08:12 +00:00
Facundo Batista 4f1b1ed975 Fixed the semantic of timeout for socket.create_connection and
all the upper level libraries that use it, including urllib2.
Added and fixed some tests, and changed docs correspondingly.
Thanks to John J Lee for the patch and the pusing, :)
2008-05-29 16:39:26 +00:00
Gregory P. Smith e6c03033af socket.error inherits from IOError, it no longer needs listing in
the all_errors tuple.
2008-04-12 22:24:04 +00:00
Gregory P. Smith 2230bcfe24 docstring and comment updates suggested by Giampaolo Rodola' 2008-01-22 23:15:34 +00:00
Gregory P. Smith c64386b595 accepts and closes issue #1221598: adds an optional callback to ftplib.FTP
storbinary() and storlines() methods.
2008-01-22 00:19:41 +00:00
Facundo Batista 9249312020 FTP.ntransfercmd method now uses create_connection when passive,
using the timeout received in connection time.
2007-06-06 15:13:37 +00:00
Neal Norwitz 0d4c06e06e Whitespace normalization. Ugh, we really need to do this more often.
You might want to review this change as it's my first time.  Be gentle. :-)
2007-04-25 06:30:05 +00:00
Facundo Batista 93c33680a0 Added the posibility to pass the timeout to FTP.connect, not only when
instantiating the class. Docs and tests are updated.
2007-03-30 13:00:35 +00:00
Facundo Batista 3f10099289 Forgot to add the file before the previous commit, here go
the ftplib tests.
2007-03-26 20:56:09 +00:00
Tim Peters f733abb783 Whitespace normalization. 2007-01-30 03:03:46 +00:00
Martin v. Löwis 36cbc08f3f Patch #1359217: Ignore 2xx response before 150 response.
Will backport to 2.5.
2006-11-12 18:48:13 +00:00
Raymond Hettinger c88a6c75df SF bug #1168983: ftplib.py string index out of range
* resp[:1] in '123' # after Py2.2, this allowed blank responses to pass.
* replace <> with !=
* provide a usage message for empty command line calls

Backport candidate.
2005-04-05 04:31:09 +00:00
Walter Dörwald 70a6b49821 Replace backticks with repr() or "%r"
From SF patch #852334.
2004-02-12 17:35:32 +00:00
Walter Dörwald a401ae4010 Fix a regression from the 1.68->1.69 checkin:
string.split(foo, bar) must be foo.split(bar) instead of bar.split(foo).
2002-06-03 10:41:45 +00:00
Raymond Hettinger 54f0222547 SF 563203. Replaced 'has_key()' with 'in'. 2002-06-01 14:18:47 +00:00
Raymond Hettinger 094662a165 Replace boolean test with is None 2002-06-01 01:29:16 +00:00
Neal Norwitz 7ce734cd72 Use string methods where possible, and remove import string 2002-05-31 14:13:04 +00:00
Raymond Hettinger e874fc304e Closes SF patch 553277. Per GvR, reverting to original patch -- the way to
test if 'callable' has not been supplied is to test for None instead of
False.  The previous correction to 'if callable()' was wrong because an unusable
callback would be ignored rather than raising an exception.
2002-05-12 05:53:51 +00:00
Martin v. Löwis a8dd0941b8 Patch #553277: Accept callbacks that are callable, not callbacks that are true. 2002-05-08 08:56:33 +00:00
Martin v. Löwis b5255114d1 Access the exception argument to see whether it starts with '500'.
Fixes #527855.
2002-03-10 15:59:58 +00:00
Martin v. Löwis e12454f44a The Grande 'sendall()' patch, copied from release21-maint. Fixes #516715.
Replaces calls to socket.send() (which isn't guaranteed to send all data)
with the new socket.sendall() method.
2002-02-16 23:06:19 +00:00
Tim Peters e4418609f7 Whitespace normalization. 2002-02-16 07:34:19 +00:00
Guido van Rossum 24a643416d Update the docstring too. :-) 2001-12-28 20:54:55 +00:00
Guido van Rossum c33e077838 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.
2001-12-28 20:54:28 +00:00
Guido van Rossum 2826fade49 Don't set passiveserver to 0 in connect(). See SF bug #495693.
This should definitely be backported to 2.2.1.  I'll leave it to Jack
to decide whether he wants to fix this in MacPython 2.2.
2001-12-23 13:54:19 +00:00
Guido van Rossum 1f74cb3575 Oops. Catching OverflowError from int() doesn't help, since it raises
ValueError on too-large inputs.
2001-10-17 17:21:47 +00:00
Guido van Rossum b6aca6afe2 Fix SF bug #459767: ftplib fails with files > 2GB
size(), parse150(): try int() first, catch OverflowError, fall back to
long().
2001-10-16 19:45:52 +00:00
Martin v. Löwis 322c0d187d Only close sockets if they have been created. Reported by Blake Winton. 2001-10-07 08:53:32 +00:00
Guido van Rossum 70297d3bd4 Change the 227 response parser to use a more liberal regular
expression.  This is needed for certain servers that (in violation of
the standard) don't return the parentheses in the response.

This fixes SF bug #441712 by Henrik Weber (not exactly using his
patch).
2001-08-17 17:24:29 +00:00
Martin v. Löwis 2ad2569c72 Initialize msg to avoid unbound locals. 2001-07-31 08:40:21 +00:00
Martin v. Löwis 4eb5940a4d Untabify IPv6 changes. 2001-07-26 13:37:33 +00:00
Martin v. Löwis a43c2f845e Patch #401196: Use getaddrinfo and AF_INET6 in TCP servers and clients. 2001-07-24 20:34:08 +00:00
Jeremy Hylton 0e8468c8ba remove global decl about unused variable 2001-04-09 04:31:50 +00:00
Fred Drake 9c98a428ef Move some constant initialization from FTP.__init__() and FTP.connect()
to the class namespace.

Allow FTP.close() to be called more than once without tossing cookies.
(This seems to be a fairly common idiom for .close() methods, so let's
try to be consistent.)
2001-02-28 21:46:37 +00:00
Guido van Rossum 4ac83474a3 Provide a default for the blocksize arg of storbinary().
SF patch #103517 by mfx.
2001-02-15 13:50:36 +00:00
Eric S. Raymond c95bf69fce String method conversion. 2001-02-09 10:06:47 +00:00
Skip Montanaro eccd02a40d more __all__ updates 2001-01-20 23:34:12 +00:00
Guido van Rossum e6ccf3ab96 Default to passive mode. See SF bug #126851.
This is slightly controversial, but after reading the argumentation in
the bug tracker for and against, I believe this is the right solution.
Let me know if it breaks for you, and how.
2001-01-15 16:32:49 +00:00
Tim Peters 88869f9787 Whitespace normalization. 2001-01-14 23:36:06 +00:00
Fred Drake 8152d32375 Update the code to better reflect recommended style:
Use != instead of <> since <> is documented as "obsolescent".
Use "is" and "is not" when comparing with None or type objects.
2000-12-12 23:20:45 +00:00
Barry Warsaw 100d81e8e3 Added support for RFC 959's REST command (restart), closing SF patch
#101187, which some modifications.  Specifically,

ntransfercmd(), transfercmd(), and retrbinary() all grow an optional
`rest' argument, which if not None, is used as the argument to an FTP
REST comman dbefore the socket is returned.  Differences from the SF
patch:

- always compare against None with `is' or `is not' instead of == or !=

- no parens around conditional

- RFC 959 defines the argument to REST is a string containing any
  ASCII characters in the range [33..126].  Therefore, we use the %s
  format character instead of %f or %d as suggested in the patch's
  comments.  Note that we do /not/ sanity checkthe contents of the
  rest argument (but we'll document this in the library reference
  manual).
2000-09-01 06:09:23 +00:00