<div dir="auto"><div>Aye, the backside of FTP can't come soon enough. Even sftp, basically FTP protocol over SSH, needs to die.</div><div dir="auto"><br></div><div dir="auto">- Eric<br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sat, 6 Nov 2021, 11:29 pm Rob Landley, <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 11/5/21 11:54 PM, Rob Landley wrote:<br>
> On 11/2/21 2:00 PM, Eric Molitor wrote:<br>
>> Attention should be paid to the change to portability.h. I believe this is the<br>
>> correct way to expose memrchr for glibc. I've tested it and it works with glibc<br>
>> but I primarily use MUSL.<br>
> <br>
> I'm uncomfortable trying to guess which combinations of const and restrict a<br>
> nonstandard header prototype is going to have from version to version and<br>
> library to library.<br>
<br>
Finally taking a proper look at this (these commands were an external submission<br>
I did the minimal cleanup pass to get it out of pending and haven't looked at<br>
since), and I am once again reminded that yes, FTP is an insane protocol. I<br>
thought PASV did in-band file transfer in the  existing connection, but no it<br>
just means client dials a SECOND connection to a known port on the target, which<br>
yes requiresd Pauline Middelink's IP masquerading invention to parse the<br>
protocol to masquerade it:<br>
<br>
  <a href="https://www.linuxjournal.com/article/5047" rel="noreferrer noreferrer" target="_blank">https://www.linuxjournal.com/article/5047</a><br>
<br>
Which is why encrypted FTP never took off: because the masquerading module can't<br>
intercept and parse the protocol and add the temporary rule that this IP is<br>
allowed to open one connection to this port, presumably timing out eventually if<br>
they don't for long enough...<br>
<br>
What a mess.<br>
<br>
Rob<br>
</blockquote></div></div></div>