Copyright 2000, International Business Machines Corporation. All Rights Reserved. This software has been released under the terms of the IBM Public License. For details, see the LICENSE file in the top-level source directory or online at http://www.openafs.org/dl/license10.html. README file for libuafs and libjuafs, Version 1.0 05/13/2002. ### INTRODUCTION ### This Makefile generates two libraries, the standard libuafs.a and libjuafs.a, a libuafs.a variant that is designed for use with Java enabled applications (as used with libjafsadm, see src/JAVA/libjafsadm/JAFSADM_README). The libuafs.a library facilitates user authentication at a process level and enables access and manipulation of the files and access control lists (ACLs). By way of the libuafs.a klog function (uafs_klog), the authenticated user's credentials are bound to the executing process and therefore is granted permission to act on behalf of the authenticated user. ### LIBUAFS ### As of 05/13/2002 the libuafs.a library remains unchanged with respect to OpenAFS release 1.2.3. ### LIBJUAFS ### The libjuafs.a is a new addition to the libuafs.a build as of 05/10/2002 and has been added for the following reasons: - To avoid function name collisions with other libraries - To ensure that existing applications using libuafs.a will not be affected. - Utilize libuafs.a functionality in Java-based applications. The libjuafs.a library implements the AFS_WEB_ENHANCEMENTS and UKERNEL (user space kernel) definitions, which are used to enable functions such as: - afs_setpag_val* - uafs_klog_nopag - uafs_getcellstatus - uafs_getvolquota - uafs_setvolquota - uafs_statmountpoint - uafs_getRights *afs_setpag_val A function like setpag but sets the current thread's pag id to a caller-provided value instead of calling genpag(). This implements a form of token caching since the caller can recall a particular pag value for the thread to restore tokens, rather than reauthenticating. ### BUILD ### A simple "make" will build both libuafs.a and libjuafs.a. Optionally, you can make each library independently by issuing: make UAFS/libuafs.a - and - make JUAFS/libjuafs.a ### DIRECTORIES ### The libuafs/UAFS directory is generated by the Makefile and contains the object files and local copy of libuafs.a resulting from the build process. The libuafs/JUAFS directory is the same as libuafs/UAFS, however it contains output files respective to libjuafs.a. ### CONSIDERATIONS ### The libjuafs.a library has only been tested using RedHat Linux 7.1 and OpenAFS 1.2.3 and OpenAFS 1.2.4.