basic_msnt_auth helper and NTLM/SMBLIB/RFCNB library polish.
Samba smblib/rfcnb code:
* Import the latest copy which I could find a download link to.
This source is from 1997 so I suspect there is something even newer
we should be using. Time was tight is the only excuse for using
these sources. Our originals were from 1995 and 1996 depending on the
helper using it, with a mix of patches.
* These two directories are in ours sources as lib/smblib and lib/rfcnb.
Each has its own convenience library. Kept separate with original
filenames to simplify future upgrades or removal.
* Samba sources have been diffed and compared function by function
against the copies previously in our sources. Functionality extensions
we use have been grafted back on top of the new(er) Samba sources.
- this was mostly around passing extra Unicode, DC hints and pre-crypted
passwords to the login checks.
- some files from libntlmauth have yet to be compared in fine detail,
that will be completed today before merge.
- some basic API function and struct definitions had to be moved to the
API headers to prevent needing to include the *-priv.h private
definitions externally to the library.
* the Samba API headers have been wrapped with #ifndef safety wrappers
* compile errors and include changes required to compile have been
made (code stays C)
* duplicate code in helpers/basic_auth/MSNT/* and libntlmauth/* is
removed.
* abuse of the smblib-priv.h and rfcnb-priv.h headers and all local
re-definitions has been erased from our code. Replaced by includes
of the library API headers: rfcnb/rfcnb.h smblib/smblib.h
libntlmauth:
* smblib/rfcnb bits erased
* moved to lib/ntlmauth in its much reduced form
* built as a convenience library instead of full library