openafs/src
Ben Huntsman 3de1ffe929 rx: Add rxs_Ref et al to liboafs_rx.la.sym
On Linux and possibly other platforms, if configure is run with the
--disable-static option, anything linking against liboafs_rxkad.la will
fail:

    gcc [...] -o afsd [...] .../src/auth/liboafs_auth.la [...] -lafshcrypto -lrokenafs -lpthread -lresolv
    /home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_Ref'
    /home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_SetRefs'
    /home/build/openafs/src/rxkad/.libs/liboafs_rxkad.so: undefined reference to `rxs_DecRef'
    collect2: error: ld returned 1 exit status
    make: *** [afsd] Error 1

The references to these symbols were added in commit 9d7b94493c (rx: Use
atomics for rx_securityClass refcounts), but that commit didn't add them
to the liboafs_rx.la.sym symbol file. Add them to allow the build to
complete with --disable-static.

Change-Id: I14b348d1be6bf6e8f512d1cac6a70a58fd6f39a1
Reviewed-on: https://gerrit.openafs.org/15988
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Cheyenne Wills <cwills@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Andrew Deason <adeason@sinenomine.net>
2024-12-20 13:43:53 -05:00
..
afs afs: Update VCHash comments on not hashing on uniq 2024-12-05 13:14:52 -05:00
afsd afsd: Fix problems found by static analysis 2024-11-01 10:54:53 -04:00
afsmonitor Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
aklog Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
audit Fix various warnings on RHEL5 2024-07-03 09:46:08 -04:00
auth libtool: Make libfoo.krb depend on libfoo 2024-11-07 15:49:40 -05:00
bozo bozo: Remove unused conditional OPBOS from 'bos' 2024-11-05 11:12:48 -05:00
bu_utils clang-16: Fix simple unused-but-set variables 2022-12-01 21:31:58 -05:00
bubasics bubasics: Remove dead code backmon.xg 2024-06-28 08:30:14 -04:00
bucoord bucoord: Fix problems found by static analysis 2024-11-18 14:02:28 -05:00
budb Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
butc butc: Fix problems found by static analysis 2024-11-18 14:12:34 -05:00
butm butm: Remove duplicate library arguments 2024-07-08 14:51:53 -04:00
cf DARWIN: Add --with-macos-* packaging options 2024-12-20 10:51:59 -05:00
cmd cmd: Assert that *alloc() returns success 2024-11-18 14:07:18 -05:00
comerr comerr: Fix problems found by static analysis 2024-11-18 22:16:53 -05:00
config FBSD: Build support for FreeBSD 14.0 and 14.1 2024-11-21 10:24:58 -05:00
crypto Restore max() macro for Heimdal 2024-11-07 16:35:00 -05:00
dir Standardize static library archive (lib*.a) options 2024-06-28 08:17:31 -04:00
dviced Move key-related warnings to common server code 2021-01-08 12:11:37 -05:00
dvolser Move key-related warnings to common server code 2021-01-08 12:11:37 -05:00
export export: Use XCFLAGS64 for -q64 2024-07-02 09:10:44 -04:00
external afs: Add prototypes for roken strlcpy/strlcat 2024-03-22 23:15:40 -04:00
finale finale: Use unified_afs.o from objdir 2022-06-05 14:10:28 -04:00
fsint afs: Add declaration for RXAFS_ResidencyCmd() 2024-02-18 15:52:27 -05:00
fsprobe OPENAFS-SA-2024-003: xdr: Set _len for prealloc'd opaque/array OUT args 2024-11-12 12:35:18 -05:00
gtx gtx: Fix problems found by static analysis 2024-11-18 14:37:21 -05:00
kauth Remove some dead assignment/increment operations 2024-11-20 18:18:07 -05:00
kopenafs libtool: Serialize building libfoo.la and libfoo.a 2020-01-08 00:20:14 -05:00
libacl libacl: Fix problems found by static analysis 2024-11-15 12:27:42 -05:00
libadmin OPENAFS-SA-2024-003: Check sanity on lengths of RPC returned arrays 2024-11-12 12:35:28 -05:00
libafs DARWIN: Ignore more build artifacts 2024-12-20 10:36:44 -05:00
libafsauthent libafsauthent: export pr_IsAMemberOf 2021-06-24 00:45:22 -04:00
libafscp libafscp: Avoid use of memory after freed 2024-11-16 17:51:10 -05:00
libafsrpc Standardize static library archive (lib*.a) options 2024-06-28 08:17:31 -04:00
libuafs AIX: Use MT_CC for libuafs CC 2024-07-01 14:56:39 -04:00
log build: declare test targets as phony 2019-01-18 07:56:15 -05:00
lwp SOLARIS: Support 64-bit SPARC userspace builds 2024-11-04 18:19:16 -05:00
opr opr: Check for failed memory allocation 2024-10-18 13:51:45 -04:00
packaging packaging: Check for nonzero $? for command failure 2024-12-20 10:53:17 -05:00
pam libtool: Make libfoo.krb depend on libfoo 2024-11-07 15:49:40 -05:00
platform DARWIN: Add --with-macos-* packaging options 2024-12-20 10:51:59 -05:00
procmgmt Standardize static library archive (lib*.a) options 2024-06-28 08:17:31 -04:00
ptserver ptserver: Add xdr_namelist to liboafs_prot.la.sym 2024-11-13 11:26:24 -05:00
roken roken: Add include guards to roken.h 2024-06-24 17:49:43 -04:00
rx rx: Add rxs_Ref et al to liboafs_rx.la.sym 2024-12-20 13:43:53 -05:00
rxdebug clang-16: Fix unused-but-set 'for' control vars 2022-12-01 21:25:18 -05:00
rxgen rxgen: Introduce xdrfree_type() 2024-07-03 15:13:37 -04:00
rxgk rx: Use atomics for rx_securityClass refcounts 2024-07-03 14:25:04 -04:00
rxkad rxkad: Fix unused-but-set-variable in test/stress.c 2024-12-12 11:13:48 -05:00
rxosd Standardize static library archive (lib*.a) options 2024-06-28 08:17:31 -04:00
rxstat Normalize names of libtool convenience libraries 2014-10-08 10:47:55 -04:00
scout Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
sys OPENAFS-SA-2024-003: xdr: Initialize memory for INOUT args 2024-11-12 12:35:48 -05:00
tbudb Standardize static library archive (lib*.a) options 2024-06-28 08:17:31 -04:00
tbutc Inhibit -Wstrict-prototypes warnings via CFLAGS 2024-07-09 07:58:53 -04:00
tests Link LWP binaries with libafshcrypto_lwp.a 2024-11-21 10:22:44 -05:00
tools Remove almost all bcopy/bzero/bcmp calls 2024-06-28 14:23:42 -04:00
tptserver ptclient: enable pthreaded support 2019-02-22 10:07:13 -05:00
tsalvaged Remove dead code 2019-08-23 09:36:44 -04:00
tsm41 Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
tubik Fix build for separate objdirs 2013-01-07 20:28:58 -08:00
tvlserver vlserver: Remove sascnvldb 2018-10-05 09:40:19 -04:00
tvolser Move key-related warnings to common server code 2021-01-08 12:11:37 -05:00
ubik Inhibit -Wstrict-prototypes warnings via CFLAGS 2024-07-09 07:58:53 -04:00
update Move key-related warnings to common server code 2021-01-08 12:11:37 -05:00
usd usd: Add USD_IOCTL() is seekable check 2024-10-09 19:31:04 -04:00
uss OPENAFS-SA-2024-002: Avoid uninitialized memory when parsing ACLs 2024-11-12 12:35:08 -05:00
util util: Restore min macro in ktime.h 2024-10-19 10:44:19 -04:00
venus OPENAFS-SA-2024-003: Check sanity on lengths of RPC returned arrays 2024-11-12 12:35:28 -05:00
vfsck clang-10: use AFS_FALLTHROUGH for case fallthrough 2020-07-27 12:20:50 -04:00
viced viced: Set HashTable size at startup 2024-12-20 11:13:42 -05:00
vlserver OPENAFS-SA-2024-003: Check sanity on lengths of RPC returned arrays 2024-11-12 12:35:28 -05:00
vol Replace lowercase min/max macros with opr_min/max 2024-10-10 12:56:19 -04:00
volser OPENAFS-SA-2024-003: Run xdr_free for retried RPCs 2024-11-12 12:35:38 -05:00
WINNT OPENAFS-SA-2024-003: Run xdr_free for retried RPCs 2024-11-12 12:35:38 -05:00
xstat Remove more SRXAFSCB_GetDE stubs 2024-04-17 23:07:06 -04:00
.gitignore gitignore-20090615 2009-06-15 23:29:29 +00:00
DOLASTCMP.BAT
helper-splint.sh.in
libafsdep fsint: remove dead code 2018-10-05 09:27:36 -04:00
mkdest.pl
ntbuild.bat Update windows build documentation 2013-07-02 15:14:09 -07:00
NTObjdir viced: Remove the LWP fileserver 2012-01-23 14:18:59 -08:00
README.md afsweb: remove unsupported afsweb component 2024-06-13 15:29:05 -04:00
rmbat.bat
rmbat.rsp fix newline conventions 2010-07-06 08:16:25 -07:00
splint.cfg
symlink.bat

Guide to the OpenAFS source tree

This is a guide to the various directories in the OpenAFS source code tree. Some directories contain source code for components of the OpenAFS system, while other directories are used by the build system to build libraries, kernel modules, and program variations. See the Makefile at the top of the project tree for build order and inter-dependencies.

RPC interface definitions (IDL)

The following directory contains interface definitions (IDL) files for the OpenAFS file server and cache manager.

directory description
fsint File server and cache manager RPC interface definitions

Cache Managers

The following directories contain the source code of OpenAFS cache manager and related programs.

directory description
afs The OpenAFS cache manager as a kernel-module for unix-like systems
afsd The afsd user-space program to start the cache manager on unix-like systems
aklog The Kerberos 5 login programs: aklog, asetkey, akeyconvert
sys NFS translator local and remote system call interfaces
venus The fs program and other cache manager related utilities
WINNT The OpenAFS cache manager and installer for MS Windows
export Symbol exports for AIX kernel module

Servers

The following directories contain the source code of the OpenAFS servers and administrative command suites.

directory description
bozo The basic overseer server and bos command suite
ptserver The protection server and pts command suite
update The update server and client for maintaining server software and configuration (deprecated)
viced The file server
vlserver The volume location server
volser The volume server and vos command suite

Backup system

The following directories contain the source code of the OpenAFS backup system.

directory description
bubasics Backup related RPC interface definitions
bucoord Backup coordinator and support library
budb Backup database server buserver
butc Backup tape coordinator, and read_tape restoration client
butm Backup tape manager library
bu_utils Backup utilities to estimate tape capacity and file mark sizes
tsm41 Tivoli storage manager support

Rx subsystem

The following directories contain the source code of the Rx subsystem. Rx provides Remote Procedure Calls (RPC) over UDP/IP in user-space and kernel-mode, and includes an XDR implementation to encode and decode binary data.

directory description
rx The Rx library for kernel and user-space
rxdebug Debugging tool for rx
rxgen The rxgen program to generate AFS RPC stubs from IDL (i.e., *.xg)
rxgk Rxgk security class for rx
rxkad Kerberos security module for rx
rxosd Rx object storage device extensions IDL files
rxstat Rx statistics package

Libraries

The following directories contain the source code for the various libraries used by OpenAFS.

directory description
opr General purpose library for user-space and headers for kernel mode
audit The libaudit event auditing support library
auth The libauth library to manage key and cell configuration files
cmd The libcmd library to parse command line arguments
comerr The com_err library to provide error table lookup
dir Modules to lookup, add, and remove entries in directory objects
gtx A curses-based graphics library for terminal-based programs
kopenafs The libkopenafs library for setting up stand-alone setpag() function for Heimdal/KTH libkafs
libacl The libacl library for access control lists
libadmin The libadmin administration API
libafscp The libafscp library; client operations without a cache manager
libafsrpc The libafsrpc library; basic rx functionality for programs which do not require authentication
libafsauthent The libafsauthent library; for AFS-aware utilities
procmgmt Process management library
ubik Ubik replicated database library
usd User-space device input/output library
util Utility library (deprecated in favor of opr)
vol Volume library for managing volumes on-disk

Utilities

The following directories contain source code for utilities and libraries for OpenAFS administrators.

directory description
afsmonitor Terminal-based file server and cache manager monitoring tool
fsprobe File Server probe library and program
scout Terminal-based file server monitoring tool
tools Contributed configuration and maintenance tools
xstat Command line tools and libraries for gathering file server and cache manager statistics

Other

directory description
external Contains imported code which is maintained in other open source projects
platform Code for platform-specific programs and build specs.

Build system

The following directories are build directories or contain components for the build system.

directory description
cf OpenAFS specific M4 macros for autoconf
config Build system OS-specific configuration
crypto libhcrypto library build directory
dviced Demand Attach File Server (DAFS) build directory
dvolser Demand Attach Volume Server build directory
finale Final stage build directory; includes translate_et which translates error codes to descriptive messages
libafs OpenAFS kernel modules build directory
libuafs OpenAFS user-space cache manager build directory
packaging Contributed packaging files for various platforms
roken Build directory for libroken, a set of os-independent functions
tbudb Pthreaded Backup Server (budb) build directory
tbutc Pthreaded Backup Tape Coordinator (butc) build directory
tptserver Pthreaded Protection Server (ptserver) build directory
tsalvaged Pthreaded Salvage Server build directory; Used by Demand Attach File Server
tubik Pthreaded ubik build directory
tvlserver Pthreaded Volume Location vlserver build directory
tvolser Pthreaded Volume Server build directory

Not Maintained

The following directories contain code of obsolete components which are no longer actively maintained.

directory description
kauth Obsolete Kerberos-4 server (kaserver) and related programs
log Obsolete programs to show and forget Kerberos-4 tokens
lwp Lightweight user-level non-preemptive cooperative threading library
pam Pluggable authentication modules (PAM) for kauth authentication
tests Legacy test scripts; new unit tests should be added to the top level tests directory
uss Tool for managing users; limited to kauth
vfsck OpenAFS specific fsck for obsolete inode-based file server partitions