CVS update: samba/source/lib/rpc/server

Andrew Tridgell tridge at samba.anu.edu.au
Tue Mar 17 23:39:15 GMT 1998


> > struct encap_layer {
> >        void (*allocate)(int maxsize);
> >        void (*free)(void *ptr);
> >        int (*read)(void *ptr, int maxsize);
> >        int (*write)(void *ptr, int size);
> >        int (*poll)(void );
> > };
> 
> Hmmmm. Methinks these are C++ member functions.
> We'll get you to use C++ yet, Andrew :-).

no, no! (help, I'm drowning in an object oriented C ...)

anyway, this sort of "inode like" structure predates C++ by a long
time. We've even got a couple of them in Samba already!

> Don't forget the 2-3 weeks of re-testing afterwards :-).

I suspect we would be debugging it for a long time afterwards. All
those places where we have been lazy and used a fixed offset would
have to be changed. If we missed one we might not notice it for quite
some time.

here's an idea. We temporarily change the offset to 16k and take away
16k-4 bytes in the ->write function. Then we have an invalid page at
the start. We'd find the places we'd missed very quickly as smbd would
segfault.

That might allow us to debug it a bit quicker.

Cheers, Andrew



More information about the samba-technical mailing list