[Toybox] ftpget - Fixes and minor new features.

Rob Landley rob at landley.net
Sat Nov 6 16:50:42 PDT 2021


On 11/5/21 11:54 PM, Rob Landley wrote:
> On 11/2/21 2:00 PM, Eric Molitor wrote:
>> Attention should be paid to the change to portability.h. I believe this is the
>> correct way to expose memrchr for glibc. I've tested it and it works with glibc
>> but I primarily use MUSL.
> 
> I'm uncomfortable trying to guess which combinations of const and restrict a
> nonstandard header prototype is going to have from version to version and
> library to library.

Finally taking a proper look at this (these commands were an external submission
I did the minimal cleanup pass to get it out of pending and haven't looked at
since), and I am once again reminded that yes, FTP is an insane protocol. I
thought PASV did in-band file transfer in the  existing connection, but no it
just means client dials a SECOND connection to a known port on the target, which
yes requiresd Pauline Middelink's IP masquerading invention to parse the
protocol to masquerade it:

  https://www.linuxjournal.com/article/5047

Which is why encrypted FTP never took off: because the masquerading module can't
intercept and parse the protocol and add the temporary rule that this IP is
allowed to open one connection to this port, presumably timing out eventually if
they don't for long enough...

What a mess.

Rob



More information about the Toybox mailing list