Patch to add support for Novell Directory Services (NDS) Universal Password. The attached patches add support for reading the Universal and Simple Passwords stored in NDS for authentication to samba. The first patch adds a function to the passdb interface, update_login_attempts. This function allows the passdb backend to analyze the authentication and samba result in updating internal passdb counters and giving the passdb the final say on authentication. This allows backends such as pdb_nds to apply internal NDS password policies to the user. The seconds patch adds pdb_nds.c and modifies pdb_ldap.c to add the NDS specific LDAP passdb backend. The source for ldapnmasext.so has been incorporated in pdb_nds.c to avoid dynamically loading the library and importing the functions. pdb_ldap.c and pdb_nds.c share struct ldapsam_privates, so I've moved it to includes.h. pdb_nds.c calls functions in pdb_ldap.c so they're no longer static but are unique.
Created attachment 997 [details] Adds update_login_attempts to passdb interface
Created attachment 998 [details] Patch: add support for NDS flavour of LDAP and Universal Password
Created attachment 999 [details] New file: (pdb_nds.c) NDS extension for pdb_ldap.c This attachment should be placed in source/passdb as pdb_nds.c and shoud accompany attachment #998 [details].
Great work - thanks ! There are a few changes I'd make to configure.in to config this correctly, plus I'm not sure this'd work on systems where the new logon attempts pdb interface isn't defined (we need to catch and ignore the NT_STATUS_NOT_IMPLEMENTED here I think) but this looks really nice solid work ! Thanks, Jeremy.
Applied (with slight modifications for Samba portability etc). Thanks a *lot* ! Vince - please test to make sure this works as desired in SVN. Jeremy.
SVN source tested and verified. Thanks Jeremy!
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.