mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-19 21:17:54 +00:00
docs/FTP: the Twisted patch (t3462) has landed, will be in the next release
This commit is contained in:
parent
81ad52d6eb
commit
cc2fcd700c
@ -145,70 +145,9 @@ library that is frequently installed as /usr/lib/libcryptopp.a, to avoid
|
||||
problems with non-alphanumerics in filenames).
|
||||
|
||||
The FTP server requires code in Twisted that enables asynchronous closing of
|
||||
file-upload operations. This code was not in the Twisted-8.2.0 release, and
|
||||
has not been committed to SVN trunk as of r27213 (see
|
||||
http://twistedmatrix.com/trac/ticket/3462 for details). So it may be
|
||||
necessary to apply the following patch. The Tahoe node will refuse to start
|
||||
the FTP server if it detects that this patch has not been applied.
|
||||
|
||||
Index: twisted/protocols/ftp.py
|
||||
===================================================================
|
||||
--- twisted/protocols/ftp.py (revision 24956)
|
||||
+++ twisted/protocols/ftp.py (working copy)
|
||||
@@ -1049,7 +1049,6 @@
|
||||
cons = ASCIIConsumerWrapper(cons)
|
||||
|
||||
d = self.dtpInstance.registerConsumer(cons)
|
||||
- d.addCallbacks(cbSent, ebSent)
|
||||
|
||||
# Tell them what to doooo
|
||||
if self.dtpInstance.isConnected:
|
||||
@@ -1062,6 +1061,8 @@
|
||||
def cbOpened(file):
|
||||
d = file.receive()
|
||||
d.addCallback(cbConsumer)
|
||||
+ d.addCallback(lambda ignored: file.close())
|
||||
+ d.addCallbacks(cbSent, ebSent)
|
||||
return d
|
||||
|
||||
def ebOpened(err):
|
||||
@@ -1434,7 +1435,14 @@
|
||||
@rtype: C{Deferred} of C{IConsumer}
|
||||
"""
|
||||
|
||||
+ def close():
|
||||
+ """
|
||||
+ Perform any post-write work that needs to be done. This method may
|
||||
+ only be invoked once on each provider, and will always be invoked
|
||||
+ after receive().
|
||||
|
||||
+ @rtype: C{Deferred} of anything: the value is ignored
|
||||
+ """
|
||||
|
||||
def _getgroups(uid):
|
||||
"""Return the primary and supplementary groups for the given UID.
|
||||
@@ -1795,6 +1803,8 @@
|
||||
# FileConsumer will close the file object
|
||||
return defer.succeed(FileConsumer(self.fObj))
|
||||
|
||||
+ def close(self):
|
||||
+ return defer.succeed(None)
|
||||
|
||||
|
||||
class FTPRealm:
|
||||
Index: twisted/vfs/adapters/ftp.py
|
||||
===================================================================
|
||||
--- twisted/vfs/adapters/ftp.py (revision 24956)
|
||||
+++ twisted/vfs/adapters/ftp.py (working copy)
|
||||
@@ -295,6 +295,11 @@
|
||||
"""
|
||||
return defer.succeed(IConsumer(self.node))
|
||||
|
||||
+ def close(self):
|
||||
+ """
|
||||
+ Perform post-write actions.
|
||||
+ """
|
||||
+ return defer.succeed(None)
|
||||
|
||||
|
||||
class _FileToConsumerAdapter(object):
|
||||
file-upload operations. This code was landed to Twisted's SVN trunk in r28453
|
||||
on 23-Feb-2010, slightly too late for the Twisted-10.0 release, but it should
|
||||
be present in the next release after that. To use Tahoe's FTP server with
|
||||
Twisted-10.0 or earlier, you will need to apply the patch attached to
|
||||
http://twistedmatrix.com/trac/ticket/3462 . The Tahoe node will refuse to
|
||||
start the FTP server unless it detects the necessary support code in Twisted.
|
||||
|
Loading…
Reference in New Issue
Block a user