Simo Sorce simo.sorce at
Fri Aug 18 10:17:01 GMT 2000

Gerald Carter wrote:
> "Christopher R. Hertel" wrote:
> >
> > The problem is that Samba itself is the result of
> > both the docs you've already found and
> > reverse-engineering work.  That means that we don't
> > always know why the protocol does what it does, and
> > we also have a moving target.  That's tough to document.
> >
> > Best bet is to ask good technical questions.
> I think there are also other issues here besides ones
> relating to protocols.  For example,
> * Samba locking semantincs
> * the smb.conf parsing routines (and adding parameters)
> * the RPC marshalling/unmarshalling routines
> * the various TDB's
> * etc...
> These are the internal issues I was thinking of
> in my first reply.  The HEAD branch is around 200 KLOC
> now.  Quite a large project to grab a hold of.
> I think it is most helpful to concentrate on a small area
> and use a symbolic debugger to step through the code.
> That has helped me the most.  Then as you become more
> familar with the internal data structures, the code becomes
> more readable.

Yes this is my approach, and I understand periferal parts of
the code as smb.conf parsing or passwd/smbpasswd<->NT_SID mapping.
But the way to understand the whole is long and a clear (not
necessarly too detailed) document that show how samba is structured
internally and that points to were to look for keypoints to
understand and that by the way explain somehow what is known of
the M$ protocols would significally shorten the time to learn.

May be I may contribute designing such a document while trying to
understand samba underlining where I found hard to understand points
or designes.

> And I would encourage more comments in the code as well.
> :-)

Oh that would be wonderful, but some piece of code are yet well
documented some other lack this.

Simo Sorce - Integrazione Sistemi Unix/Windows - Politecnico di Milano
E-mail: simo.sorce at 02 2399 2425 - 02 2399 2451
Be happy, use Linux!

More information about the samba-technical mailing list