ftpd change?

2011-12-25 Thread STeve Andre'

[apologies if you see this twice--having mail loss problems]

I have an old FTP machine (3.6!) that a horde of people are
suckling from at the moment.  I'm making a new one remotely,
but found that an 'mget *' on the new machine fails, with no
such file.  There are 515 files in the dir; the 3.6 system expands
the mget, and the newer 4.9-current doesn't.

I don't see anything in the ftpd man page about this.  Was
this a change, or did I miss something?  I've currently got 110
people feeding from a 128M machine and would like to put
this larger machine into service right now. ;-)

Thanks!

--STeve Andre'



ftpd change?

2011-12-25 Thread STeve Andre'

   I have an old FTP machine (3.6!) that a horde of people are
suckling from at the moment.  I'm making a new one remotely,
but found that an 'mget *' on the new machine fails, with no
such file.  There are 515 files in the dir; the 3.6 system expands
the mget, and the newer 4.9-current doesn't.

   I don't see anything in the ftpd man page about this.  Was
this a change, or did I miss something?  I've currently got 110
people feeding from a 128M machine and would like to put
this larger machine into service right now. ;-)

   Thanks!

--STeve Andre'



Re: ftpd change?

2011-12-25 Thread Nick Holland
On 12/25/11 20:12, STeve Andre' wrote:
> [apologies if you see this twice--having mail loss problems]
> 
>  I have an old FTP machine (3.6!) that a horde of people are
> suckling from at the moment.  I'm making a new one remotely,
> but found that an 'mget *' on the new machine fails, with no
> such file.  There are 515 files in the dir; the 3.6 system expands
> the mget, and the newer 4.9-current doesn't.
> 
>  I don't see anything in the ftpd man page about this.  Was
> this a change, or did I miss something?  I've currently got 110
> people feeding from a 128M machine and would like to put
> this larger machine into service right now. ;-)
> 
>  Thanks!
> 
> --STeve Andre'

I'm not seeing this.

>From my 5.0-cur machine, I can mget * an entire OpenBSD release, either
from a mirror (running OpenBSD 5.0) or from a local machine (also
running OpenBSD 5.0).  And as this is something I do frequently, if it
broke at any point, I'd probably notice.

So, I don't think it is simply a matter of expanding mget.

Could it be that with 515 files, the mget is blowing out some maximum
number of chars when the globbing is expanded?  Either your 4.9 (why
4.9??) machine has more (or longer file names), or a small difference in
some buffer is pushing you over some edge between 3.6 and 4.9?

Nick.



Re: ftpd change?

2011-12-25 Thread STeve Andre'

On 12/25/11 22:25, Nick Holland wrote:

On 12/25/11 20:12, STeve Andre' wrote:

[apologies if you see this twice--having mail loss problems]

  I have an old FTP machine (3.6!) that a horde of people are
suckling from at the moment.  I'm making a new one remotely,
but found that an 'mget *' on the new machine fails, with no
such file.  There are 515 files in the dir; the 3.6 system expands
the mget, and the newer 4.9-current doesn't.

  I don't see anything in the ftpd man page about this.  Was
this a change, or did I miss something?  I've currently got 110
people feeding from a 128M machine and would like to put
this larger machine into service right now. ;-)

  Thanks!

--STeve Andre'

I'm not seeing this.

> From my 5.0-cur machine, I can mget * an entire OpenBSD release, either
from a mirror (running OpenBSD 5.0) or from a local machine (also
running OpenBSD 5.0).  And as this is something I do frequently, if it
broke at any point, I'd probably notice.

So, I don't think it is simply a matter of expanding mget.

Could it be that with 515 files, the mget is blowing out some maximum
number of chars when the globbing is expanded?  Either your 4.9 (why
4.9??) machine has more (or longer file names), or a small difference in
some buffer is pushing you over some edge between 3.6 and 4.9?

Nick.


4.9, as it was what I had online, that I could press into service
from home.  I'm going to try and upgrade it now.  There is
something else going on that looks like a memory leak.  I'm
having typically 80 - 100 ftp sessions going, and am losing
free memory.  I've gone from 1300M free (according to top)
to 400M.

Yes, I think that the size of the file names 38 bytes * 515
is 19K which is beyond a limit, which I haven't seen before.
The 3.6 machine handles the mget *.  Hmmm.

Thanks Nick.

--STeve Andre'



Re: ftpd change?

2011-12-27 Thread Stuart Henderson
There were some DoS protections added which limit the number of
results that can be returned from a glob, it is to do with total
filename lengths iirc. I see this a lot in package snapshot
directories. If you want something good that will handle more
files, try pureftpd (it's in ports).


On 2011-12-26, STeve Andre'  wrote:
> I have an old FTP machine (3.6!) that a horde of people are
> suckling from at the moment.  I'm making a new one remotely,
> but found that an 'mget *' on the new machine fails, with no
> such file.  There are 515 files in the dir; the 3.6 system expands
> the mget, and the newer 4.9-current doesn't.
>
> I don't see anything in the ftpd man page about this.  Was
> this a change, or did I miss something?  I've currently got 110
> people feeding from a 128M machine and would like to put
> this larger machine into service right now. ;-)
>
> Thanks!
>
> --STeve Andre'



Re: ftpd change?

2011-12-28 Thread Stuart Henderson
On 2011-12-27, I wrote:
> There were some DoS protections added which limit the number of
> results that can be returned from a glob, it is to do with total
> filename lengths iirc. I see this a lot in package snapshot

If you're looking for this, the limits are in src/libc/gen/glob.c;
the first limit you're likely to hit with ftpd is GLOB_STAT; I'm not
sure what a good value would be but 128 is clearly too small.

> directories. If you want something good that will handle more
> files, try pureftpd (it's in ports).

note _pure_ftpd (not proftpd, which is not in ports for good reasons
regularly documented at your favourite vulnerability database).