[NUT-devel] huge vs. damaged forward_ptrs in packets

Michael Niedermayer michaelni at gmx.at
Thu Mar 9 01:40:45 CET 2006


Hi

On Wed, Mar 08, 2006 at 11:20:22AM -0500, Rich Felker wrote:
> On Wed, Mar 08, 2006 at 01:52:47PM +0100, Michael Niedermayer wrote:
> > Hi
> > 
> > $subj, and what about a change like:
> > 
> > --- mpcf.txt	2006-03-08 13:36:02.000000000 +0100
> > +++ mncf.txt	2006-03-05 14:49:57.000000000 +0100
> > @@ -312,6 +306,8 @@
> >  packet_header
> >          startcode                               f(64)
> >          forward_ptr                             v
> > +        if(forward_ptr>64k)
> > +            header_checksum                     u(32)
> >  
> >  packet_footer
> >          reserved_bytes
> > @@ -591,6 +576,9 @@
> >      for frame headers the checksum contains the framecode byte and all
> >      following bytes upto the checksum itself
> >  
> > +header_checksum
> > +    checksum over the startcode and forward pointer
> > +
> 
> I'm a little bit confused. Is this a second checksum, or replacing the
> old checksum at the end of the header?

second, yeah it doesnt help if you find a packet with 1gb size and a
missmatching checksum due to the whole packet and forward_ptr being random
junk


> 
> Also, can we have a field in the header instead of arbitrary 64k? I'm
> fine with a requirement that it MUST be <= 64k. Some users may want
> more intense checksum.. Also some muxers with very small output buffer
> may want to use a smaller checksum block..

iam somewhat against this, at least for the main header its not possible
so it would mean 2 different rules depending on header type

OTOH ill immedeatly agree to a smaller threshold, 16kb or so maybe?

[...]
-- 
Michael




More information about the NUT-devel mailing list