I'm trying to track down a weird bug in FTP where the peer address gets reset on the data channel when the PASV/PORT/EPRT failover occurs.

So far I have determined that the connDetails passed out of the accept routines are in fact the fdc_table[].accept.connDetails from the initial listening socket. In FTP's case the listener gets closed and NULL'd as soon as a new data channel is accepted and before use.

Does anyone know of any implications to the rest of squid for the accept to clone these details ( fdc_table[listener] ) into the fdc_table[newfd] entry and passing those out instead?

Or should the cloning occur AND connDetails be dropped as a handler parameter and looked up on the proper FD whenever needed? same as all the flags, states, etc.


Amos
--
Please use Squid 2.6STABLE17+ or 3.0STABLE1+
There are serious security advisories out on all earlier releases.

Reply via email to