Yeah, it does makes sense. Just to make sure my understanding is correct -

The patch we have on file -

(1) would always first try to get an unused passive port. If it does,
everything is good and works the same old way.
(2) If (1) fails, it would try to get a port that is not shared by the
same source/client address. If it finds such a port, it would still
work the old way.
(3) If (1) and (2) fail to get a port number, a 4xx error is sent to
the client (may be after a timeout?)

Correct me if I'm still incorrect :).

Regards,
Sai Pullabhotla





On Thu, Mar 25, 2010 at 9:13 AM, Niklas Gustavsson <nik...@protocol7.com> wrote:
> On Thu, Mar 25, 2010 at 3:04 PM, Sai Pullabhotla
> <sai.pullabho...@jmethods.com> wrote:
>> Not sure what you meant by -
>>
>> "In that case, we would basically get what we would have in 1.0.x."
>>
>> 1.0.x never sends the same port number to two different clients, isn't it?
>
> Neither should 1.1.x if those clients are from the same remote IP.
> Thus, if you got two clients that are behind the same proxy and
> FtpServer thus see the same IP, the behavior for those two clients
> would be the same as we're talking about for 1.0.x. That is, the
> second client would get an error since no free port is available (for
> that IP).
>
> So, as far as I can see, nothing (besides the complexity of our code
> perhaps) gets worse in 1.1.x. In most case it's an improvement because
> multiple clients will be able to connect on the same port. In some
> cases (multiple clients from the same IP), it will be as in 1.0.x.
>
> Does that make any sense?
>
> /niklas
>

Reply via email to