[Zope-Coders] [Fwd: [Zope] specify passive ports for ftp]

Paul Everitt paul@zope.com
Mon, 11 Feb 2002 13:40:04 -0500


I thought the same thing when I saw the patch.  Go ahead and try it.

--Paul

Chris Withers wrote:
> Has anyone got any problem if I work this into the Zope core?
> 
> It'd be very useful for allowing non-passive mode FTP into Zope through
> firewalls
> 
> (EMACS is a bitch to set up on Windows with passive mode ftp :-S)
> 
> cheers,
> 
> Chris
> 
> ra@burningman.com wrote:
> 
>>Brad Clements wrote:
>>
>>
>>>On 7 Feb 2002 at 23:37, ra@burningman.com wrote:
>>>
>>>
>>>
>>>>Actually, I'd be interested in even hearing ways to solve this problem that
>>>>DO involve modifying the source code... I dug into the FTPServer.py code a
>>>>while back to try to tackle this very problem and didn't see where the
>>>>ports were being specified.  Unfortunately, other matters became a bit more
>>>>pressing.  I'd be willing to hack up a way to set the passive ftp ports if
>>>>someone would orient me a bit...
>>>>
>>>>
>>>I changed the code in one of my servers to specify the pasv port range.. Now I can't
>>>remember which instance I changed, or where it was in the code.
>>>
>>>It wasn't hard, if that's any help.
>>>
>>>You need to change ZServer/medusa/ftp_server.py
>>>
>>>class passive_acceptor (asyncore.dispatcher):
>>>        ready = None
>>>
>>>        def __init__ (self, control_channel):
>>>                # connect_fun (conn, addr)
>>>                asyncore.dispatcher.__init__ (self)
>>>                self.control_channel = control_channel
>>>                self.create_socket (socket.AF_INET, socket.SOCK_STREAM)
>>>                # bind to an address on the interface that the
>>>                # control connection is coming from.
>>>                self.bind ((
>>>                        self.control_channel.getsockname()[0],
>>>                        0
>>>                        ))
>>>                self.addr = self.getsockname()
>>>                self.listen (1)
>>>
>>>
>>>As I recall, I put a range loop to try the self.bind over a range of non-privilaged ports. I
>>>use a range in case a port is in use.
>>>
>>Awesome, thanks!  I'll dig in over the next few days and will post a
>>brief note to the list after I've got it working.  Anyone interested in
>>the patch (against 2.4.2, which I'm currently running) can contact me
>>off-list at that point.
>>
>>-r
>>
>>_______________________________________________
>>Zope maillist  -  Zope@zope.org
>>http://lists.zope.org/mailman/listinfo/zope
>>**   No cross posts or HTML encoding!  **
>>(Related lists -
>> http://lists.zope.org/mailman/listinfo/zope-announce
>> http://lists.zope.org/mailman/listinfo/zope-dev )
>>
> 
> _______________________________________________
> Zope-Coders mailing list
> Zope-Coders@zope.org
> http://lists.zope.org/mailman/listinfo/zope-coders
>