comm: fdc_table state lookup vs connDetails parameters

From: Amos Jeffries <squid3@dont-contact.us>
Date: Sat, 12 Jan 2008 20:41:22 +1300

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.
Received on Sat Jan 12 2008 - 00:41:01 MST

This archive was generated by hypermail pre-2.1.9 : Wed Jan 30 2008 - 12:00:09 MST