1 This library is to be used by multithreaded programs that need to access
2 the kauth and auth library interfaces. The primary method used to obtain
3 thread safety in these libraries is to lock/unlock a recursive global
4 mutex at the entry point of every public function in the library.
6 However, not all public functions are made thread safe since not all
7 functions are needed by the NT admin work. In particular, there are
8 many public functions that make up decendants of the functions
9 we wish to use that weren't modified, since these functions will be
10 protected by the locking at a higher level function.
12 To prevent people from using non-thread safe functions, platform
13 specific methods are used to limit the functions exported by the
14 library (using def files under NT and mapfiles under Solaris). For
15 most non-exported functions, it should be trivial to make the
16 transformation to thread safe by simply locking/ unlocking the
17 global mutex at the beginning/end of the function.