more-uafs-support-20040417
[openafs.git] / src / libuafs / README
1 Copyright 2000, International Business Machines Corporation.
2 All Rights Reserved.
3
4 This software has been released under the terms of the IBM Public
5 License.  For details, see the LICENSE file in the top-level source
6 directory or online at http://www.openafs.org/dl/license10.html.
7
8 README file for libuafs and libjuafs, Version 1.2 06/04/2003.
9
10
11 ### INTRODUCTION ###
12
13 This Makefile generates two libraries, the standard libuafs.a and 
14 libjuafs.a, a libuafs.a variant that is designed for use with Java
15 enabled applications (as used with libjafsadm, see
16 src/JAVA/libjafsadm/JAFSADM_README). The libuafs.a library facilitates
17 user authentication at a process level and enables access and 
18 manipulation of the files and access control lists (ACLs).  By way of 
19 the libuafs.a klog function (uafs_klog), the authenticated user's 
20 credentials are bound to the executing process and therefore is granted 
21 permission to act on behalf of the authenticated user.
22
23
24 ### LIBUAFS ###
25
26 As of 05/13/2002 the libuafs.a library remains unchanged with respect 
27 to OpenAFS release 1.2.3.
28
29
30 ### LIBJUAFS ###
31
32 The libjuafs.a is a new addition to the libuafs.a build as of 05/10/2002 and has 
33 been added for the following reasons:
34
35 - To avoid function name collisions with other libraries
36 - To ensure that existing applications using libuafs.a will not be affected.
37 - Utilize libuafs.a functionality in Java-based applications.
38
39 The libjuafs.a library implements the AFS_WEB_ENHANCEMENTS and UKERNEL 
40 (user space kernel) definitions, which are used to enable functions 
41 such as:
42
43 - afs_setpag_val*
44 - uafs_klog_nopag
45 - uafs_getcellstatus
46 - uafs_getvolquota
47 - uafs_setvolquota
48 - uafs_statmountpoint
49 - uafs_getRights
50
51 *afs_setpag_val
52 A function like setpag but sets the current thread's pag id to a
53 caller-provided value instead of calling genpag().  This implements a
54 form of token caching since the caller can recall a particular pag value
55 for the thread to restore tokens, rather than reauthenticating.
56
57
58 ### BUILD ###
59
60 A simple "make" will build both libuafs.a and libjuafs.a.  Optionally, you 
61 can make each library independently by issuing:
62
63   make UAFS/libuafs.a
64
65   - and -
66
67   make JUAFS/libjuafs.a
68
69
70 ### DIRECTORIES ###
71
72 The libuafs/UAFS directory is generated by the Makefile and contains the
73 object files and local copy of libuafs.a resulting from the build process.
74 The libuafs/JUAFS directory is the same as libuafs/UAFS, however it 
75 contains output files respective to libjuafs.a.
76
77
78 ### CONSIDERATIONS ###
79
80 The libjuafs.a library has only been tested using RedHat Linux 7.3 and 
81 OpenAFS 1.2.6, OpenAFS 1.2.7, OpenAFS 1.2.8, and OpenAFS 1.2.9.