From ae19912bddf60da101c4e88a78e6a783077d0a59 Mon Sep 17 00:00:00 2001 From: Derrick Brashear Date: Wed, 28 Aug 2002 07:05:43 +0000 Subject: [PATCH] shared-libafsrpc-and-libafsauthent-20020828 shared library versions of libafsrpc and libafsauthent --- Makefile.in | 25 +- configure.in | 2 + src/libafsauthent/Makefile.in | 30 --- src/libafsrpc/Makefile.in | 29 --- src/shlibafsauthent/.cvsignore | 1 + src/shlibafsauthent/Makefile.in | 266 ++++++++++++++++++++ src/shlibafsauthent/NTMakefile | 235 ++++++++++++++++++ src/shlibafsauthent/README | 24 ++ src/shlibafsauthent/afsauthent.def | 86 +++++++ src/shlibafsauthent/afsauthent.exp | 55 ++++ src/shlibafsauthent/afsauthent.rc | 15 ++ src/shlibafsauthent/mapfile | 83 +++++++ src/shlibafsrpc/.cvsignore | 1 + src/shlibafsrpc/Makefile.in | 387 +++++++++++++++++++++++++++++ src/shlibafsrpc/NTMakefile | 303 ++++++++++++++++++++++ src/shlibafsrpc/afsrpc.def | 200 +++++++++++++++ src/shlibafsrpc/afsrpc.exp | 165 ++++++++++++ src/shlibafsrpc/afsrpc.rc | 15 ++ src/shlibafsrpc/mapfile | 117 +++++++++ 19 files changed, 1978 insertions(+), 61 deletions(-) create mode 100644 src/shlibafsauthent/.cvsignore create mode 100644 src/shlibafsauthent/Makefile.in create mode 100644 src/shlibafsauthent/NTMakefile create mode 100644 src/shlibafsauthent/README create mode 100644 src/shlibafsauthent/afsauthent.def create mode 100644 src/shlibafsauthent/afsauthent.exp create mode 100644 src/shlibafsauthent/afsauthent.rc create mode 100644 src/shlibafsauthent/mapfile create mode 100644 src/shlibafsrpc/.cvsignore create mode 100644 src/shlibafsrpc/Makefile.in create mode 100644 src/shlibafsrpc/NTMakefile create mode 100644 src/shlibafsrpc/afsrpc.def create mode 100644 src/shlibafsrpc/afsrpc.exp create mode 100644 src/shlibafsrpc/afsrpc.rc create mode 100644 src/shlibafsrpc/mapfile diff --git a/Makefile.in b/Makefile.in index 2edd9170f..94a4b6ea2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -414,6 +414,23 @@ libafsauthent: ubik auth kauth libafsrpc echo Not building MT libafsrpc for ${SYS_NAME} ;; \ esac +# pthread based user space RX library +shlibafsrpc: rx rxkad des + case ${SYS_NAME} in \ + alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110) \ + ${COMPILE_PART1} shlibafsrpc ${COMPILE_PART2} ;; \ + *) \ + echo Not building shared libafsrpc for ${SYS_NAME} ;; \ + esac + +shlibafsauthent: ubik auth kauth shlibafsrpc + case ${SYS_NAME} in \ + alpha_dux*|sgi_*|sun4x_*|sunx86_*|rs_aix*|*linux*|hp_ux110) \ + ${COMPILE_PART1} shlibafsauthent ${COMPILE_PART2} ;; \ + *) \ + echo Not building shared libafsrpc for ${SYS_NAME} ;; \ + esac + libadmin_real: ${COMPILE_PART1} libadmin ${COMPILE_PART2} ${COMPILE_PART1} libadmin/adminutil ${COMPILE_PART2} @@ -451,13 +468,13 @@ jafsadm: libjafsadm finale: project cmd comerr afsd allrcmds butc tbutc @ENABLE_KERNEL_MODULE@ libuafs audit kauth log package \ ptserver scout bu_utils ubik uss bozo vfsck volser \ venus update xstat afsmonitor dauth rxdebug libafsrpc \ - libafsauthent libadmin + libafsauthent shlibafsrpc shlibafsauthent libadmin ${COMPILE_PART1} finale ${COMPILE_PART2} finale_nolibafs: project cmd comerr afsd allrcmds butc tbutc libuafs audit kauth log package \ ptserver scout bu_utils ubik uss bozo vfsck volser \ venus update xstat afsmonitor dauth rxdebug libafsrpc \ - libafsauthent libadmin + libafsauthent shlibafsrpc shlibafsauthent libadmin ${COMPILE_PART1} finale ${COMPILE_PART2} # Use washtool to ensure MakefileProto is current and obj/libafs exists. @@ -551,6 +568,8 @@ clean2: -${COMPILE_PART1} rxdebug ${COMPILE_CLEAN} -${COMPILE_PART1} libafsrpc ${COMPILE_CLEAN} -${COMPILE_PART1} libafsauthent ${COMPILE_CLEAN} + -${COMPILE_PART1} shlibafsrpc ${COMPILE_CLEAN} + -${COMPILE_PART1} shlibafsauthent ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin/adminutil ${COMPILE_CLEAN} -${COMPILE_PART1} libadmin/client ${COMPILE_CLEAN} @@ -675,6 +694,8 @@ distclean: clean src/rxstat/Makefile \ src/scout/Makefile \ src/sgistuff/Makefile \ + src/shlibafsauthent/Makefile \ + src/shlibafsrpc/Makefile \ src/sia/Makefile \ src/sys/Makefile \ src/tbutc/Makefile \ diff --git a/configure.in b/configure.in index eb2723f39..5829c5555 100644 --- a/configure.in +++ b/configure.in @@ -104,6 +104,8 @@ src/rxkad/test/Makefile \ src/rxstat/Makefile \ src/scout/Makefile \ src/sgistuff/Makefile \ +src/shlibafsauthent/Makefile \ +src/shlibafsrpc/Makefile \ src/sia/Makefile \ src/sys/Makefile \ src/tbutc/Makefile \ diff --git a/src/libafsauthent/Makefile.in b/src/libafsauthent/Makefile.in index 09ddae851..b200d42eb 100644 --- a/src/libafsauthent/Makefile.in +++ b/src/libafsauthent/Makefile.in @@ -1,8 +1,3 @@ -# API version. When something changes, increment as appropriate. -# Ignore at your own risk. -LIBAFSAUTHENTMAJOR=1 -LIBAFSAUTHENTMINOR=0 - # Copyright 2000, International Business Machines Corporation and others. # All Rights Reserved. # @@ -15,7 +10,6 @@ LIBAFSAUTHENTMINOR=0 srcdir=@srcdir@ include @TOP_OBJDIR@/src/config/Makefile.config - CC=${MT_CC} CFLAGS=-I. -I${srcdir} ${OPTMZ} ${DBG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${MT_CFLAGS} \ -I../auth -I../kauth -I../ptserver -I../sys @@ -99,22 +93,6 @@ all: ${TOP_LIBDIR}/libafsauthent.a install: ${DESTDIR}${libdir}/libafsauthent.a -LIBAFSAUTHENT = libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}.${LIBAFSAUTHENTMINOR} - -${DEST}${libdir}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} - ${INSTALL} ${LIBAFSAUTHENT} ${DEST}${libdir}/${LIBAFSAUTHENT} - -ln -f -s ${LIBAFSAUTHENT} ${DEST}${libdir}/libafsauthent.${SHLIB_SUFFIX} - -${LIBAFSAUTHENT}: ${LIBOBJS} - case ${SYS_NAME} in \ - rs_aix4*) \ - ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -bE:afsauthent.exp -lafsrpc ${MT_LIBS};; \ - sun*_5*) \ - ${SHLIB_LINKER} -h ${LIBAFSAUTHENT} -o ${LIBAFSAUTHENT} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \ - *) \ - ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \ - esac - ${DEST}/lib/libafsauthent.a: libafsauthent.a ${INSTALL} $? $@ @@ -265,16 +243,8 @@ clean: ${DESTDIR}${libdir}/libafsauthent.a: libafsauthent.a ${INSTALL} $? $@ -${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} - ${INSTALL} ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/${LIBAFSAUTHENT} - -ln -f -s ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX} - ${TOP_LIBDIR}/libafsauthent.a: libafsauthent.a ${INSTALL} $? $@ -${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} - ${INSTALL} ${LIBAFSAUTHENT} ${TOP_LIBDIR}/${LIBAFSAUTHENT} - -ln -f -s ${LIBAFSAUTHENT} ${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX} - dest: ${DEST}/lib/libafsauthent.a diff --git a/src/libafsrpc/Makefile.in b/src/libafsrpc/Makefile.in index 756471719..e05e7b519 100644 --- a/src/libafsrpc/Makefile.in +++ b/src/libafsrpc/Makefile.in @@ -1,8 +1,3 @@ -# API version. When something changes, increment as appropriate. -# Ignore at your own risk. -LIBAFSRPCMAJOR=1 -LIBAFSRPCMINOR=0 - # Copyright 2000, International Business Machines Corporation and others. # All Rights Reserved. # @@ -122,22 +117,6 @@ all: ${TOP_LIBDIR}/libafsrpc.a install: ${DESTDIR}${libdir}/libafsrpc.a -LIBAFSRPC = libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}.${LIBAFSRPCMINOR} - -${DEST}${libdir}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} - ${INSTALL} ${LIBAFSRPC} ${DEST}${libdir}/${LIBAFSRPC} - -ln -f -s ${LIBAFSRPC} ${DEST}${libdir}/libafsrpc.${SHLIB_SUFFIX} - -${LIBAFSRPC}: ${LIBOBJS} - case ${SYS_NAME} in \ - rs_aix4*) \ - ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:afsrpc.exp ${MT_LIBS};; \ - sun*_5*) \ - ${SHLIB_LINKER} -h ${LIBAFSRPC} -o ${LIBAFSRPC} ${MT_LIBS};; \ - *) \ - ${SHLIB_LINKER} -o ${LIBAFSRPC} ${MT_LIBS};; \ - esac - ${DEST}/lib/libafsrpc.a: libafsrpc.a ${INSTALL} $? $@ @@ -388,17 +367,9 @@ afsaux.o: ${FSINT}/afsaux.c clean: $(RM) -f *.o libafsrpc* -${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} - ${INSTALL} ${LIBAFSRPC} ${DESTDIR}${libdir}/${LIBAFSRPC} - -ln -f -s ${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX} - ${DESTDIR}${libdir}/libafsrpc.a: libafsrpc.a ${INSTALL} $? $@ -${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} - ${INSTALL} ${LIBAFSRPC} ${TOP_LIBDIR}/${LIBAFSRPC} - -ln -f -s ${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX} - ${TOP_LIBDIR}/libafsrpc.a: libafsrpc.a ${INSTALL} $? $@ diff --git a/src/shlibafsauthent/.cvsignore b/src/shlibafsauthent/.cvsignore new file mode 100644 index 000000000..f3c7a7c5d --- /dev/null +++ b/src/shlibafsauthent/.cvsignore @@ -0,0 +1 @@ +Makefile diff --git a/src/shlibafsauthent/Makefile.in b/src/shlibafsauthent/Makefile.in new file mode 100644 index 000000000..522afd187 --- /dev/null +++ b/src/shlibafsauthent/Makefile.in @@ -0,0 +1,266 @@ +# API version. When something changes, increment as appropriate. +# Ignore at your own risk. +LIBAFSAUTHENTMAJOR=1 +LIBAFSAUTHENTMINOR=0 + +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +# This is a pthread safe library containing ubikclient, auth, kauth. + +srcdir=@srcdir@ +include @TOP_OBJDIR@/src/config/Makefile.config + + +CC=${MT_CC} +CFLAGS=-I. -I${srcdir} ${OPTMZ} ${DBG} -I${TOP_OBJDIR}/src/config -I${TOP_INCDIR} ${MT_CFLAGS} ${SHLIB_CFLAGS} \ + -I../auth -I../kauth -I../ptserver -I../sys +CCRULE = ${CC} ${CFLAGS} -c $? + +AUDIT= ../audit +AUTH = ../auth +KAUTH = ../kauth +UBIK = ../ubik +UTIL = ../util +RXKAD = ../rxkad +PTSERVER = ../ptserver +SYS = ../sys + +AUDITOBJS = audit.o + +AUTHOBJS = \ + cellconfig.o \ + ktc.o \ + userok.o \ + writeconfig.o \ + authcon.o \ + ktc_errors.o \ + acfg_errors.o + +KAUTHOBJS = \ + kauth.xdr.o \ + kauth.cs.o \ + kaaux.o \ + client.o \ + authclient.o \ + token.o \ + kautils.o \ + kalocalcell.o \ + kaerrors.o \ + user.o \ + read_passwd.o + +UBIKOBJS = \ + ubikclient.o \ + uerrors.o \ + ubik_int.cs.o \ + ubik_int.xdr.o + +UTILOBJS = \ + pthread_glock.o \ + get_krbrlm.o \ + dirpath.o \ + fileutil.o \ + casestrcpy.o + +RXKADOBJS = \ + rxkad_errs.o + +SYSOBJS = \ + rmtsysc.o \ + rmtsys.xdr.o \ + rmtsys.cs.o \ + afssyscalls.o \ + rmtsysnet.o + +PTSERVEROBJS = \ + ptclient.o \ + ptint.cs.o \ + ptint.xdr.o \ + ptuser.o \ + display.o \ + pterror.o + +LIBOBJS = \ + ${AUDITOBJS} \ + ${AUTHOBJS} \ + ${KAUTHOBJS} \ + ${UBIKOBJS} \ + ${UTILOBJS} \ + ${RXKADOBJS} \ + ${PTSERVEROBJS} \ + ${SYSOBJS} + +LIBAFSAUTHENT = libafsauthent.${SHLIB_SUFFIX}.${LIBAFSAUTHENTMAJOR}.${LIBAFSAUTHENTMINOR} + +${DEST}${libdir}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} + ${INSTALL} ${LIBAFSAUTHENT} ${DEST}${libdir}/${LIBAFSAUTHENT} + -ln -f -s ${LIBAFSAUTHENT} ${DEST}${libdir}/libafsauthent.${SHLIB_SUFFIX} + +all: ${TOP_LIBDIR}/${LIBAFSAUTHENT} + +install: ${DESTDIR}${libdir}/${LIBAFSAUTHENT} + +${LIBAFSAUTHENT}: ${LIBOBJS} + case ${SYS_NAME} in \ + rs_aix4*) \ + ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} ${LIBOBJS} -L${TOP_LIBDIR} -bE:afsauthent.exp -lafsrpc ${MT_LIBS};; \ + sun*_5*) \ + ${SHLIB_LINKER} -h ${LIBAFSAUTHENT} -o ${LIBAFSAUTHENT} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \ + *) \ + ${SHLIB_LINKER} -o ${LIBAFSAUTHENT} -L${TOP_LIBDIR} -lafsrpc ${MT_LIBS};; \ + esac + +audit.o: ${AUDIT}/audit.c + ${CCRULE} + +cellconfig.o: ${AUTH}/cellconfig.c + ${CCRULE} + +ktc.o: ${AUTH}/ktc.c + ${CCRULE} + +userok.o: ${AUTH}/userok.c + ${CCRULE} + +writeconfig.o: ${AUTH}/writeconfig.c + ${CCRULE} + +authcon.o: ${AUTH}/authcon.c + ${CCRULE} + +ktc_errors.o: ${AUTH}/ktc_errors.c + ${CCRULE} + +acfg_errors.o: ${AUTH}/acfg_errors.c + ${CCRULE} + +kauth.xdr.o: ${KAUTH}/kauth.xdr.c + ${CCRULE} + +kauth.cs.o: ${KAUTH}/kauth.cs.c + ${CCRULE} + +kaaux.o: ${KAUTH}/kaaux.c + ${CCRULE} + +client.o: ${KAUTH}/client.c + ${CCRULE} + +authclient.o: ${KAUTH}/authclient.c + ${CCRULE} + +token.o: ${KAUTH}/token.c + ${CCRULE} + +kautils.o: ${KAUTH}/kautils.c + ${CCRULE} + +kalocalcell.o: ${KAUTH}/kalocalcell.c + ${CCRULE} + +kaerrors.o: ${KAUTH}/kaerrors.c + ${CCRULE} + +user.o: ${KAUTH}/user.c + ${CCRULE} + +read_passwd.o: ${KAUTH}/read_passwd.c + ${CCRULE} + +ubikclient.o: ${UBIK}/ubikclient.c + ${CCRULE} + +uerrors.o: ${UBIK}/uerrors.c + ${CCRULE} + +ubik_int.cs.o: ${UBIK}/ubik_int.cs.c + ${CCRULE} + +ubik_int.xdr.o: ${UBIK}/ubik_int.xdr.c + ${CCRULE} + +get_krbrlm.o: ${UTIL}/get_krbrlm.c + ${CCRULE} + +dirpath.o: ${UTIL}/dirpath.c + ${CCRULE} + +fileutil.o: ${UTIL}/fileutil.c + ${CCRULE} + +casestrcpy.o: ${UTIL}/casestrcpy.c + ${CCRULE} + +pthread_glock.o: ${UTIL}/pthread_glock.c + ${CCRULE} + +rxkad_errs.o: ${RXKAD}/rxkad_errs.c + ${CCRULE} + +ptclient.o: ${PTSERVER}/ptclient.c + ${CCRULE} + +# The special treatment of this file for hp_ux110 is because of a bug +# in version A.11.01.00 of the HP C compiler. This bug appears to be +# fixed in version A.11.01.02 of the HP C compiler, however this version +# of the compiler is not installed on all of our build machines. +# The symptom of the problem is an error when linking the pthread fileserver: +# /usr/ccs/bin/ld: TP override with DATA_ONE_SYM fixup for non thread local +# storage symbol pr_Initialize in file DEST/lib/libafsauthent.a(ptuser.o) +ptuser.o: ${PTSERVER}/ptuser.c + set -x; \ + case ${SYS_NAME} in \ + hp_ux11*) \ + set X `echo ${CCRULE} | sed s/-g//`; shift; \ + "$$@" \ + ;; \ + *) \ + ${CCRULE} \ + ;; \ + esac + +display.o: ${PTSERVER}/display.c + ${CCRULE} + +ptint.cs.o: ${PTSERVER}/ptint.cs.c + ${CCRULE} + +ptint.xdr.o: ${PTSERVER}/ptint.xdr.c + ${CCRULE} + +pterror.o: ${PTSERVER}/pterror.c + ${CCRULE} + +rmtsysc.o: ${SYS}/rmtsysc.c + ${CCRULE} + +rmtsys.xdr.o: ${SYS}/rmtsys.xdr.c + ${CCRULE} + +rmtsys.cs.o: ${SYS}/rmtsys.cs.c + ${CCRULE} + +afssyscalls.o: ${SYS}/afssyscalls.c + ${CCRULE} + +rmtsysnet.o: ${SYS}/rmtsysnet.c + ${CCRULE} + +clean: + $(RM) -f *.o *.a libafsauthent* + +${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} + ${INSTALL} ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/${LIBAFSAUTHENT} + -ln -f -s ${LIBAFSAUTHENT} ${DESTDIR}${libdir}/libafsauthent.${SHLIB_SUFFIX} + +${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX}: ${LIBAFSAUTHENT} + ${INSTALL} ${LIBAFSAUTHENT} ${TOP_LIBDIR}/${LIBAFSAUTHENT} + -ln -f -s ${LIBAFSAUTHENT} ${TOP_LIBDIR}/libafsauthent.${SHLIB_SUFFIX} + +dest: ${DEST}/lib/${LIBAFSAUTHENT} + diff --git a/src/shlibafsauthent/NTMakefile b/src/shlibafsauthent/NTMakefile new file mode 100644 index 000000000..d4e5ddf50 --- /dev/null +++ b/src/shlibafsauthent/NTMakefile @@ -0,0 +1,235 @@ +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +# This is a pthread safe library containing ubikclient, auth, kauth. + + +AFSDEV_AUXCDEFINES = -DAFS_PTHREAD_ENV + +!include ..\config\NTMakefile.$(SYS_NAME) +!include ..\config\NTMakefile.version + +AUDIT = ..\audit +AUTH = ..\auth +KAUTH = ..\kauth +UBIK = ..\ubik +UTIL = ..\util +RXKAD = ..\rxkad +PTSERVER = ..\ptserver +SYS = ..\sys +WINNTAFSD = ..\WINNT\afsd + +LIBFILE = $(DESTDIR)\lib\afsauthent.dll + +AUDITOBJS = audit.obj + +AUTHOBJS = \ + cellconfig.obj \ + userok.obj \ + writeconfig.obj \ + authcon.obj \ + ktc_errors.obj \ + ktc_nt.obj \ + acfg_errors.obj + +KAUTHOBJS = \ + kauth.xdr.obj \ + kauth.cs.obj \ + kaaux.obj \ + client.obj \ + authclient.obj \ + token.obj \ + kautils.obj \ + kalocalcell.obj \ + kaerrors.obj \ + user_nt.obj + +UBIKOBJS = \ + ubikclient.obj \ + uerrors.obj \ + ubik_int.cs.obj \ + ubik_int.xdr.obj + +UTILOBJS = \ + pthread_glock.obj \ + get_krbrlm.obj \ + casestrcpy.obj \ + fileutil.obj \ + dirpath.obj \ + readdir_nt.obj + +RXKADOBJS = \ + rxkad_errs.obj + +PTSERVEROBJS = \ + ptclient.obj \ + ptint.cs.obj \ + ptint.xdr.obj \ + ptuser.obj \ + display.obj \ + pterror.obj + +SYSOBJS = \ + pioctl_nt.obj + +WINNTAFSDOBJS =\ + cm_config.obj \ + afsrpc_c.obj + +DLLOBJS =\ + $(AUTHOBJS) \ + $(KAUTHOBJS) \ + $(UBIKOBJS) \ + $(UTILOBJS) \ + $(RXKADOBJS) \ + $(PTSERVEROBJS) \ + $(SYSOBJS) \ + $(WINNTAFSDOBJS) \ + $(AUDITOBJS) \ + $(DESTDIR)\lib\cm_dns.obj \ + afsauthent.res + +audit.obj: $(AUDIT)\audit.c + $(C2OBJ) $(AUDIT)\audit.c + +cellconfig.obj: $(AUTH)\cellconfig.c + $(C2OBJ) $(AUTH)\cellconfig.c + +userok.obj: $(AUTH)\userok.c + $(C2OBJ) $(AUTH)\userok.c + +writeconfig.obj: $(AUTH)\writeconfig.c + $(C2OBJ) $(AUTH)\writeconfig.c + +authcon.obj: $(AUTH)\authcon.c + $(C2OBJ) $(AUTH)\authcon.c + +ktc_errors.obj: $(AUTH)\ktc_errors.c + $(C2OBJ) $(AUTH)\ktc_errors.c + +acfg_errors.obj: $(AUTH)\acfg_errors.c + $(C2OBJ) $(AUTH)\acfg_errors.c + +kauth.xdr.obj: $(KAUTH)\kauth.xdr.c + $(C2OBJ) $(KAUTH)\kauth.xdr.c + +kauth.cs.obj: $(KAUTH)\kauth.cs.c + $(C2OBJ) $(KAUTH)\kauth.cs.c + +kaaux.obj: $(KAUTH)\kaaux.c + $(C2OBJ) $(KAUTH)\kaaux.c + +client.obj: $(KAUTH)\client.c + $(C2OBJ) $(KAUTH)\client.c + +authclient.obj: $(KAUTH)\authclient.c + $(C2OBJ) $(KAUTH)\authclient.c + +token.obj: $(KAUTH)\token.c + $(C2OBJ) $(KAUTH)\token.c + +kautils.obj: $(KAUTH)\kautils.c + $(C2OBJ) $(KAUTH)\kautils.c + +kalocalcell.obj: $(KAUTH)\kalocalcell.c + $(C2OBJ) $(KAUTH)\kalocalcell.c + +kaerrors.obj: $(KAUTH)\kaerrors.c + $(C2OBJ) $(KAUTH)\kaerrors.c + +ktc_nt.obj: $(AUTH)\ktc_nt.c + $(C2OBJ) $(AUTH)\ktc_nt.c + +user_nt.obj: $(KAUTH)\user_nt.c + $(C2OBJ) $(KAUTH)\user_nt.c + +ubikclient.obj: $(UBIK)\ubikclient.c + $(C2OBJ) $(UBIK)\ubikclient.c + +uerrors.obj: $(UBIK)\uerrors.c + $(C2OBJ) $(UBIK)\uerrors.c + +ubik_int.cs.obj: $(UBIK)\ubik_int.cs.c + $(C2OBJ) $(UBIK)\ubik_int.cs.c + +ubik_int.xdr.obj: $(UBIK)\ubik_int.xdr.c + $(C2OBJ) $(UBIK)\ubik_int.xdr.c + +get_krbrlm.obj: $(UTIL)\get_krbrlm.c + $(C2OBJ) $(UTIL)\get_krbrlm.c + +dirpath.obj: $(UTIL)\dirpath.c + $(C2OBJ) $(UTIL)\dirpath.c + +fileutil.obj: $(UTIL)\fileutil.c + $(C2OBJ) $(UTIL)\fileutil.c + +readdir_nt.obj: $(UTIL)\readdir_nt.c + $(C2OBJ) $(UTIL)\readdir_nt.c + +casestrcpy.obj: $(UTIL)\casestrcpy.c + $(C2OBJ) $(UTIL)\casestrcpy.c + +pthread_glock.obj: $(UTIL)\pthread_glock.c + $(C2OBJ) $(UTIL)\pthread_glock.c + +rxkad_errs.obj: $(RXKAD)\rxkad_errs.c + $(C2OBJ) $(RXKAD)\rxkad_errs.c + +ptclient.obj: $(PTSERVER)\ptclient.c + $(C2OBJ) $(PTSERVER)\ptclient.c + +ptuser.obj: $(PTSERVER)\ptuser.c + $(C2OBJ) $(PTSERVER)\ptuser.c + +display.obj: $(PTSERVER)\display.c + $(C2OBJ) $(PTSERVER)\display.c + +ptint.cs.obj: $(PTSERVER)\ptint.cs.c + $(C2OBJ) $(PTSERVER)\ptint.cs.c + +ptint.xdr.obj: $(PTSERVER)\ptint.xdr.c + $(C2OBJ) $(PTSERVER)\ptint.xdr.c + +pterror.obj: $(PTSERVER)\pterror.c + $(C2OBJ) $(PTSERVER)\pterror.c + +pioctl_nt.obj: $(SYS)\pioctl_nt.c + $(C2OBJ) $(SYS)\pioctl_nt.c + +afsrpc_c.obj: $(WINNTAFSD)\afsrpc_c.c + $(C2OBJ) $(WINNTAFSD)\afsrpc_c.c + +cm_config.obj: $(WINNTAFSD)\cm_config.c + $(C2OBJ) $(WINNTAFSD)\cm_config.c + +DLLLIBS =\ +!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" )) + $(DESTDIR)\lib\win95\afspthread.lib \ +!ELSE + $(DESTDIR)\lib\afspthread.lib \ +!ENDIF + $(DESTDIR)\lib\afsrpc.lib \ + $(DESTDIR)\lib\afsdes.lib \ + $(DESTDIR)\lib\afs\afsutil.lib \ + $(DESTDIR)\lib\afs\afsreg.lib \ + $(DESTDIR)\lib\afs\afseventlog.lib + +$(LIBFILE): $(DLLOBJS) $(DLLLIBS) + $(DLLCONLINK) /DEF:afsauthent.def rpcrt4.lib + $(DLLPREP) + +# Definitions for generating versioninfo resources +afsauthent.res: afsauthent.rc AFS_component_version_number.h + $(RC) $*.rc + +install: $(LIBFILE) + +install9x: install + +clean :: + $(DEL) $(LIBFILE) diff --git a/src/shlibafsauthent/README b/src/shlibafsauthent/README new file mode 100644 index 000000000..d7b2b98bd --- /dev/null +++ b/src/shlibafsauthent/README @@ -0,0 +1,24 @@ +Copyright 2000, International Business Machines Corporation and others. +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 + +This library is to be used by multithreaded programs that need to access +the kauth and auth library interfaces. The primary method used to obtain +thread safety in these libraries is to lock/unlock a recursive global +mutex at the entry point of every public function in the library. + +However, not all public functions are made thread safe since not all +functions are needed by the NT admin work. In particular, there are +many public functions that make up decendants of the functions +we wish to use that weren't modified, since these functions will be +protected by the locking at a higher level function. + +To prevent people from using non-thread safe functions, platform +specific methods are used to limit the functions exported by the +library (using def files under NT and mapfiles under Solaris). For +most non-exported functions, it should be trivial to make the +transformation to thread safe by simply locking/ unlocking the +global mutex at the beginning/end of the function. diff --git a/src/shlibafsauthent/afsauthent.def b/src/shlibafsauthent/afsauthent.def new file mode 100644 index 000000000..20fd1192d --- /dev/null +++ b/src/shlibafsauthent/afsauthent.def @@ -0,0 +1,86 @@ +EXPORTS + afsconf_AddKey @1 + afsconf_AddUser @2 + afsconf_CellApply @3 + afsconf_CheckAuth @4 + afsconf_ClientAuth @5 + afsconf_ClientAuthSecure @6 + afsconf_Close @7 + afsconf_DeleteKey @8 + afsconf_DeleteUser @9 + afsconf_GetCellInfo @10 + afsconf_GetKey @11 + afsconf_GetKeys @12 + afsconf_GetLatestKey @13 + afsconf_GetLocalCell @14 + afsconf_GetNoAuthFlag @15 + afsconf_GetNthUser @16 + afsconf_IntGetKeys @17 + afsconf_Open @18 + afsconf_ServerAuth @19 + afsconf_SetCellInfo @20 + afsconf_SetNoAuthFlag @21 + afsconf_SuperUser @22 + ka_AuthServerConn @23 + ka_Authenticate @24 + ka_CellConfig @25 + ka_CellToRealm @26 + ka_ChangePassword @27 + ka_ExpandCell @28 + ka_ExplicitCell @29 + ka_GetAdminToken @30 + ka_GetAuthToken @31 + ka_GetSecurity @32 + ka_GetServerToken @33 + ka_GetServers @34 + ka_GetToken @35 + ka_Init @36 + ka_LocalCell @37 + ka_ParseLoginName @38 + ka_ReadPassword @39 + ka_SingleServerConn @40 + ka_StringToKey @41 + ka_UserAuthenticateGeneral @42 + ka_VerifyUserToken @43 + ubik_Call @44 + ubik_Call_New @45 + ubik_CallIter @46 + ubik_ClientDestroy @47 + ubik_ClientInit @48 + ubik_ParseClientList @49 + getDirPath @50 + ka_AuthSpecificServersConn @51 + pthread_recursive_mutex_lock @52 + pthread_recursive_mutex_unlock @53 + grmutex @54 DATA + initAFSDirPath @55 + renamefile @56 + opendir @57 + readdir @58 + closedir @59 + nterr_nt2unix @60 + ka_KeyCheckSum @61 + pr_GetCPS @62 + pr_Initialize @63 + pr_GetHostCPS @64 + afs_krb_get_lrealm @65 + pr_NameToId @66 + pr_IdToName @67 + afs_gettimeofday @68 + int_to_base32 @69 + base32_to_int @70 + ktc_ForgetAllTokens @71 + ktc_ForgetToken @72 + ktc_GetToken @73 + ktc_ListTokens @74 + ktc_SetToken @75 + ktc_OldPioctl @76 + pioctl @77 + rx_Init @78 + ka_UserAuthenticateGeneral2 @79 + + + + + DISK_function_names @83 DATA + VOTE_function_names @84 DATA diff --git a/src/shlibafsauthent/afsauthent.exp b/src/shlibafsauthent/afsauthent.exp new file mode 100644 index 000000000..b5f82474a --- /dev/null +++ b/src/shlibafsauthent/afsauthent.exp @@ -0,0 +1,55 @@ +afsconf_AddKey +afsconf_AddUser +afsconf_CellApply +afsconf_CheckAuth +afsconf_ClientAuth +afsconf_ClientAuthSecure +afsconf_Close +afsconf_DeleteKey +afsconf_DeleteUser +afsconf_GetCellInfo +afsconf_GetKey +afsconf_GetKeys +afsconf_GetLatestKey +afsconf_GetLocalCell +afsconf_GetNoAuthFlag +afsconf_GetNthUser +afsconf_IntGetKeys +afsconf_Open +afsconf_ServerAuth +afsconf_SetCellInfo +afsconf_SetNoAuthFlag +afsconf_SuperUser +ka_AuthServerConn +ka_Authenticate +ka_CellConfig +ka_CellToRealm +ka_ChangePassword +ka_ExpandCell +ka_ExplicitCell +ka_GetAdminToken +ka_GetAuthToken +ka_GetSecurity +ka_GetServerToken +ka_GetServers +ka_GetToken +ka_Init +ka_LocalCell +ka_ParseLoginName +ka_ReadPassword +ka_SingleServerConn +ka_StringToKey +ka_UserAuthenticateGeneral +ka_VerifyUserToken +ktc_ForgetAllTokens +ktc_ForgetToken +ktc_GetToken +ktc_ListTokens +ktc_OldPioctl +ktc_SetToken +ubik_Call +ubik_Call_New +ubik_CallIter +ubik_ClientDestroy +ubik_ClientInit +ubik_ParseClientList diff --git a/src/shlibafsauthent/afsauthent.rc b/src/shlibafsauthent/afsauthent.rc new file mode 100644 index 000000000..ce49d82f0 --- /dev/null +++ b/src/shlibafsauthent/afsauthent.rc @@ -0,0 +1,15 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * 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 + */ + +/* Define VERSIONINFO resource */ + +#define AFS_VERINFO_FILE_DESCRIPTION "AFS Authentication Utilities DLL" + +#include "AFS_component_version_number.h" +#include "..\config\NTVersioninfo.rc" diff --git a/src/shlibafsauthent/mapfile b/src/shlibafsauthent/mapfile new file mode 100644 index 000000000..d8f766b7e --- /dev/null +++ b/src/shlibafsauthent/mapfile @@ -0,0 +1,83 @@ +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +{ + global: + afsconf_AddKey; + afsconf_AddUser; + afsconf_CellApply; + afsconf_CheckAuth; + afsconf_ClientAuth; + afsconf_ClientAuthSecure; + afsconf_Close; + afsconf_DeleteKey; + afsconf_DeleteUser; + afsconf_GetCellInfo; + afsconf_GetKey; + afsconf_GetKeys; + afsconf_GetLatestKey; + afsconf_GetLocalCell; + afsconf_GetNoAuthFlag; + afsconf_GetNthUser; + afsconf_IntGetKeys; + afsconf_Open; + afsconf_ServerAuth; + afsconf_SetCellInfo; + afsconf_SetNoAuthFlag; + afsconf_SuperUser; + ka_AuthServerConn; + ka_Authenticate; + ka_CellConfig; + ka_CellToRealm; + ka_ChangePassword; + ka_ExpandCell; + ka_ExplicitCell; + ka_GetAdminToken; + ka_GetAuthToken; + ka_GetSecurity; + ka_GetServerToken; + ka_GetServers; + ka_GetToken; + ka_Init; + ka_LocalCell; + ka_ParseLoginName; + ka_ReadPassword; + ka_SingleServerConn; + ka_StringToKey; + ka_KeyCheckSum; + ka_UserAuthenticateGeneral; + ka_VerifyUserToken; + ktc_ForgetAllTokens; + ktc_ForgetToken; + ktc_GetToken; + ktc_ListTokens; + ktc_OldPioctl; + ktc_SetToken; + ubik_Call; + ubik_Call_New; + ubik_CallIter; + ubik_ClientDestroy; + ubik_ClientInit; + ubik_ParseClientList; + pioctl; + getDirPath; + ka_AuthSpecificServersConn; + pthread_recursive_mutex_lock; + pthread_recursive_mutex_unlock; + grmutex; + initAFSDirPath; + renamefile; + pr_GetCPS; + pr_Initialize; + pr_GetHostCPS; + afs_krb_get_lrealm; + pr_NameToId; + pr_IdToName; + + local: + *; +}; diff --git a/src/shlibafsrpc/.cvsignore b/src/shlibafsrpc/.cvsignore new file mode 100644 index 000000000..f3c7a7c5d --- /dev/null +++ b/src/shlibafsrpc/.cvsignore @@ -0,0 +1 @@ +Makefile diff --git a/src/shlibafsrpc/Makefile.in b/src/shlibafsrpc/Makefile.in new file mode 100644 index 000000000..9bcc96754 --- /dev/null +++ b/src/shlibafsrpc/Makefile.in @@ -0,0 +1,387 @@ +# API version. When something changes, increment as appropriate. +# Ignore at your own risk. +LIBAFSRPCMAJOR=1 +LIBAFSRPCMINOR=0 + +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +# This is a pthread safe library containing rx, rxkad and des. + +srcdir=@srcdir@ +include @TOP_OBJDIR@/src/config/Makefile.config + +CC=${MT_CC} +INCLUDES=-I. -I${srcdir} -I${TOP_INCDIR} -I.. -I${srcdir}/../rx -I${srcdir}../des -I../des \ + -I../rxkad -I${srcdir}/../rxkad -I../rxstat -I../fsint +CFLAGS = ${OPTMZ} ${DBG} ${INCLUDES} -DRXDEBUG ${MT_CFLAGS} -I${TOP_OBJDIR}/src/config ${SHLIB_CFLAGS} +SFLAGS=-P -I${TOP_INCDIR} +RX = ../rx +CCRULE = ${CC} ${CFLAGS} -c $? +RXKAD = ../rxkad +RXSTAT = ../rxstat +FSINT = ../fsint +DES = ../des +COMERR = ../comerr +UTIL = ../util +SYS = ${srcdir}/../sys + +SYSOBJS =\ + syscall.o + +UTILOBJS =\ + casestrcpy.o \ + base64.o + +COMERROBJS =\ + error_msg.o \ + et_name.o \ + com_err.o + +XDROBJS =\ + xdr.o \ + xdr_array.o \ + xdr_arrayn.o \ + xdr_rx.o \ + xdr_int32.o \ + xdr_int64.o \ + xdr_afsuuid.o \ + AFS_component_version_number.o + +RXOBJS =\ + rx_event.o \ + rx_user.o \ + rx_pthread.o \ + rx.o \ + rx_null.o \ + rx_conncache.o \ + rx_globals.o \ + rx_getaddr.o \ + rx_misc.o \ + rx_packet.o \ + rx_rdwr.o \ + rx_trace.o \ + rx_multi.o + +RXSTATOBJS =\ + rxstat.o \ + rxstat.ss.o \ + rxstat.xdr.o \ + rxstat.cs.o + +FSINTOBJS =\ + afsint.cs.o \ + afsint.xdr.o \ + afscbint.cs.o \ + afscbint.xdr.o \ + afsaux.o + +RXKADOBJS =\ + rxkad_client.o \ + rxkad_server.o \ + rxkad_common.o \ + ticket.o \ + fcrypt.o \ + crypt_conn.o + +DESOBJS =\ + des.o \ + cbc_encrypt.o \ + pcbc_encrypt.o \ + cksum.o \ + new_rnd_key.o \ + key_sched.o \ + debug_decl.o \ + quad_cksum.o \ + key_parity.o \ + weak_key.o \ + strng_to_key.o \ + misc.o \ + util.o + +CRYPT_OBJ = crypt.o + +LIBOBJS = \ + ${RXOBJS} \ + ${DESOBJS} \ + ${XDROBJS} \ + ${RXKADOBJS} \ + ${COMERROBJS} \ + ${UTILOBJS} \ + ${SYSOBJS} \ + ${CRYPT_OBJ} \ + ${RXSTATOBJS} \ + ${FSINTOBJS} + +LIBAFSRPC = libafsrpc.${SHLIB_SUFFIX}.${LIBAFSRPCMAJOR}.${LIBAFSRPCMINOR} + +all: ${TOP_LIBDIR}/${LIBAFSRPC} + +install: ${DESTDIR}${libdir}/${LIBAFSRPC} + +${DEST}${libdir}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} + ${INSTALL} ${LIBAFSRPC} ${DEST}${libdir}/${LIBAFSRPC} + -ln -f -s ${LIBAFSRPC} ${DEST}${libdir}/libafsrpc.${SHLIB_SUFFIX} + +${LIBAFSRPC}: ${LIBOBJS} + case ${SYS_NAME} in \ + rs_aix4*) \ + ${SHLIB_LINKER} -o ${LIBAFSRPC} ${LIBOBJS} -bE:afsrpc.exp ${MT_LIBS};; \ + sun*_5*) \ + ${SHLIB_LINKER} -h ${LIBAFSRPC} -o ${LIBAFSRPC} ${MT_LIBS};; \ + *) \ + ${SHLIB_LINKER} -o ${LIBAFSRPC} ${MT_LIBS};; \ + esac + +rx_event.o: ${RX}/rx_event.c + ${CCRULE} + +rx_user.o: ${RX}/rx_user.c + ${CCRULE} + +rx_pthread.o: ${RX}/rx_pthread.c + ${CCRULE} + +rx.o: ${RX}/rx.c + ${CCRULE} + +rx_conncache.o: ${RX}/rx_conncache.c + ${CCRULE} + +rx_null.o: ${RX}/rx_null.c + ${CCRULE} + +rx_globals.o: ${RX}/rx_globals.c + ${CCRULE} + +rx_getaddr.o: ${RX}/rx_getaddr.c + ${CCRULE} + +rx_misc.o: ${RX}/rx_misc.c + ${CCRULE} + +rx_packet.o: ${RX}/rx_packet.c + ${CCRULE} + +rx_rdwr.o: ${RX}/rx_rdwr.c + ${CCRULE} + +rx_trace.o: ${RX}/rx_trace.c + ${CCRULE} + +rx_multi.o: ${RX}/rx_multi.c + ${CCRULE} + +rxkad_client.o: ${RXKAD}/rxkad_client.c + ${CCRULE} + +rxkad_server.o: ${RXKAD}/rxkad_server.c + ${CCRULE} + +rxkad_common.o: ${RXKAD}/rxkad_common.c + ${CCRULE} + +ticket.o: ${RXKAD}/ticket.c + ${CCRULE} + +fcrypt.o: ${RXKAD}/fcrypt.c + ${CCRULE} + +crypt_conn.o: ${RXKAD}/crypt_conn.c + ${CCRULE} + +AFS_component_version_number.o: ${RX}/AFS_component_version_number.c + ${CCRULE} + +xdr.o: ${RX}/xdr.c + ${CCRULE} + +xdr_int32.o: ${RX}/xdr_int32.c + ${CCRULE} + +xdr_int64.o: ${RX}/xdr_int64.c + ${CCRULE} + +xdr_array.o: ${RX}/xdr_array.c + ${CCRULE} + +xdr_arrayn.o: ${RX}/xdr_arrayn.c + ${CCRULE} + +xdr_float.o: ${RX}/xdr_float.c + ${CCRULE} + +xdr_mem.o: ${RX}/xdr_mem.c + ${CCRULE} + +xdr_rec.o: ${RX}/xdr_rec.c + ${CCRULE} + +xdr_refernce.o: ${RX}/xdr_refernce.c + ${CCRULE} + +xdr_rx.o: ${RX}/xdr_rx.c + ${CCRULE} + +xdr_update.o: ${RX}/xdr_update.c + ${CCRULE} + +xdr_afsuuid.o: ${RX}/xdr_afsuuid.c + ${CCRULE} + +# Note that the special case statement for compiling des.c is present +# simply to work around a compiler bug on HP-UX 11.0. The symptom of +# the problem is that linking the pthread fileserver fails with messages +# such as +# +# pxdb internal warning: cu[84]: SLT_SRCFILE[411] out of synch +# Please contact your HP Support representative +# pxdb internal warning: cu[84]: SLT_SRCFILE[442] out of synch +# pxdb internal warning: cu[84]: SLT_SRCFILE[450] out of synch +# pxdb internal warning: cu[84]: SLT_SRCFILE[529] out of synch +# pxdb internal warning: cu[84]: SLT_SRCFILE[544] out of synch +# ... +# pxdb32: internal error. File won't be debuggable (still a valid executable) +# *** Error exit code 10 +# +# The problematic version of pxdb is: +# +# $ what /opt/langtools/bin/pxdb32 +# /opt/langtools/bin/pxdb32: +# HP92453-02 A.10.0A HP-UX SYMBOLIC DEBUGGER (PXDB) $Revision$ +# +# The problem occurs when -g and -O are both used when compiling des.c. +# The simplest way to work around the problem is to leave out either -g or -O. +# Since des.c is relatively stable I've chosen to eliminate -g rather +# than take any hit in performance. + +des.o: ${DES}/des.c + set -x; \ + case ${SYS_NAME} in \ + hp_ux11*) \ + set X `echo ${CCRULE} | sed s/-g//`; shift; \ + "$$@" \ + ;; \ + *) \ + ${CCRULE} \ + ;; \ + esac + +crypt.o: ${DES}/crypt.c + ${CCRULE} + +cbc_encrypt.o: ${DES}/cbc_encrypt.c + ${CCRULE} + +pcbc_encrypt.o: ${DES}/pcbc_encrypt.c + ${CCRULE} + +cksum.o: ${DES}/cksum.c + ${CCRULE} + +new_rnd_key.o: ${DES}/new_rnd_key.c + ${CCRULE} + +key_sched.o: ${DES}/key_sched.c + ${CCRULE} + +debug_decl.o: ${DES}/debug_decl.c + ${CCRULE} + +quad_cksum.o: ${DES}/quad_cksum.c + ${CCRULE} + +key_parity.o: ${DES}/key_parity.c + ${CCRULE} + +weak_key.o: ${DES}/weak_key.c + ${CCRULE} + +strng_to_key.o: ${DES}/strng_to_key.c + ${CCRULE} + +misc.o: ${DES}/misc.c + ${CCRULE} + +util.o: ${DES}/util.c + ${CCRULE} + +error_msg.o: ${COMERR}/error_msg.c + ${CCRULE} + +et_name.o: ${COMERR}/et_name.c + ${CCRULE} + +com_err.o: ${COMERR}/com_err.c + ${CCRULE} + +casestrcpy.o: ${UTIL}/casestrcpy.c + ${CCRULE} + +base64.o: ${UTIL}/base64.c + ${CCRULE} + +syscall.o: ${SYS}/syscall.s + case "$(SYS_NAME)" in \ + sun4x_5* | sunx86_5*) \ + /usr/ccs/lib/cpp ${SFLAGS} ${SYS}/syscall.s syscall.ss; \ + as -o syscall.o syscall.ss; \ + $(RM) syscall.ss;; \ + sgi_* | ppc_darwin* ) \ + ${CC} ${CFLAGS} -c ${SYS}/syscall.s;; \ + alpha_dux?? ) \ + ${AS} -P ${CFLAGS} -D_NO_PROTO -DMACH -DOSF -nostdinc -traditional -DASSEMBLER ${SYS}/syscall.s; \ + ${AS} -o syscall.o syscall.i; \ + $(RM) -f syscall.ss syscall.i;; \ + *fbsd* ) \ + touch syscall.o ;; \ + *) \ + /lib/cpp ${SFLAGS} ${SYS}/syscall.s syscall.ss; \ + as -o syscall.o syscall.ss; \ + $(RM) syscall.ss;; \ + esac + +rxstat.o: ${RXSTAT}/rxstat.c + ${CCRULE} + +rxstat.cs.o: ${RXSTAT}/rxstat.cs.c + ${CCRULE} + +rxstat.ss.o: ${RXSTAT}/rxstat.ss.c + ${CCRULE} + +rxstat.xdr.o: ${RXSTAT}/rxstat.xdr.c + ${CCRULE} + +afsint.cs.o: ${FSINT}/afsint.cs.c + ${CCRULE} + +afsint.xdr.o: ${FSINT}/afsint.xdr.c + ${CCRULE} + +afscbint.cs.o: ${FSINT}/afscbint.cs.c + ${CCRULE} + +afscbint.xdr.o: ${FSINT}/afscbint.xdr.c + ${CCRULE} + +afsaux.o: ${FSINT}/afsaux.c + ${CCRULE} + +clean: + $(RM) -f *.o libafsrpc* + +${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} + ${INSTALL} ${LIBAFSRPC} ${DESTDIR}${libdir}/${LIBAFSRPC} + -ln -f -s ${LIBAFSRPC} ${DESTDIR}${libdir}/libafsrpc.${SHLIB_SUFFIX} + +${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX}: ${LIBAFSRPC} + ${INSTALL} ${LIBAFSRPC} ${TOP_LIBDIR}/${LIBAFSRPC} + -ln -f -s ${LIBAFSRPC} ${TOP_LIBDIR}/libafsrpc.${SHLIB_SUFFIX} + +dest: ${DEST}/lib/${LIBAFSRPC} + diff --git a/src/shlibafsrpc/NTMakefile b/src/shlibafsrpc/NTMakefile new file mode 100644 index 000000000..f8131dd31 --- /dev/null +++ b/src/shlibafsrpc/NTMakefile @@ -0,0 +1,303 @@ +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +!include ..\config\NTMakefile.$(SYS_NAME) +!include ..\config\NTMakefile.version + +RX = ..\rx +RXSTAT = ..\rxstat +RXKAD = ..\rxkad +DES = ..\des +UTIL = ..\util +FSINT = ..\fsint +COMERR = ..\comerr + +# Additional debugging flag for RX. +AFSDEV_AUXCDEFINES = -DRXDEBUG -DAFS_PTHREAD_ENV + +LIBFILE = $(DESTDIR)\lib\afsrpc.dll + +# Object files by category. +MULTIOBJS = rx_multi.obj + +XDROBJS = xdr.obj xdr_array.obj xdr_arrayn.obj xdr_float.obj xdr_mem.obj \ + xdr_rec.obj xdr_refernce.obj xdr_rx.obj xdr_update.obj \ + xdr_afsuuid.obj xdr_int64.obj + +RXOBJS = rx_event.obj rx_user.obj rx_pthread.obj rx.obj \ + rx_null.obj rx_globals.obj rx_getaddr.obj rx_misc.obj rx_packet.obj \ + rx_rdwr.obj rx_trace.obj rx_xmit_nt.obj rx_conncache.obj + +RXSTATOBJS = rxstat.obj rxstat.ss.obj rxstat.xdr.obj rxstat.cs.obj + +LIBRXKAD_OBJS = rxkad_client.obj rxkad_server.obj rxkad_common.obj ticket.obj \ + AFS_component_version_number.obj + +LIBRXKAD_REGOBJS = fcrypt.obj crypt_conn.obj + +DESOBJS = des.obj cbc_encrypt.obj pcbc_encrypt.obj cksum.obj new_rnd_key.obj \ + key_sched.obj debug_decl.obj quad_cksum.obj key_parity.obj \ + weak_key.obj strng_to_key.obj misc.obj util.obj + +UTILOBJS = casestrcpy.obj winsock_nt.obj + +COMERROBJS = error_msg.obj et_name.obj com_err.obj + +FSINTOBJS = afsint.cs.obj afsint.xdr.obj afscbint.cs.obj afscbint.xdr.obj \ + afsaux.obj + +DLLOBJS = $(MULTIOBJS) $(RXOBJS) $(XDROBJS) $(RXSTATOBJS) $(LIBRXKAD_OBJS) \ + $(DESOBJS) $(LIBRXKAD_REGOBJS) $(UTILOBJS) $(COMERROBJS) \ + $(FSINTOBJS) afsrpc.res + +rx_multi.obj: $(RX)\rx_multi.c + $(C2OBJ) $(RX)\rx_multi.c + +xdr.obj: $(RX)\xdr.c + $(C2OBJ) $(RX)\xdr.c + +xdr_array.obj: $(RX)\xdr_array.c + $(C2OBJ) $(RX)\xdr_array.c + +xdr_arrayn.obj: $(RX)\xdr_arrayn.c + $(C2OBJ) $(RX)\xdr_arrayn.c + +xdr_float.obj: $(RX)\xdr_float.c + $(C2OBJ) $(RX)\xdr_float.c + +xdr_mem.obj: $(RX)\xdr_mem.c + $(C2OBJ) $(RX)\xdr_mem.c + +xdr_rec.obj: $(RX)\xdr_rec.c + $(C2OBJ) $(RX)\xdr_rec.c + +xdr_refernce.obj: $(RX)\xdr_refernce.c + $(C2OBJ) $(RX)\xdr_refernce.c + +xdr_rx.obj: $(RX)\xdr_rx.c + $(C2OBJ) $(RX)\xdr_rx.c + +xdr_update.obj: $(RX)\xdr_update.c + $(C2OBJ) $(RX)\xdr_update.c + +xdr_afsuuid.obj: $(RX)\xdr_afsuuid.c + $(C2OBJ) $(RX)\xdr_afsuuid.c + +xdr_int64.obj: $(RX)\xdr_int64.c + $(C2OBJ) $(RX)\xdr_int64.c + +rx_event.obj: $(RX)\rx_event.c + $(C2OBJ) $(RX)\rx_event.c + +rx_user.obj: $(RX)\rx_user.c + $(C2OBJ) $(RX)\rx_user.c + +rx_pthread.obj: $(RX)\rx_pthread.c + $(C2OBJ) $(RX)\rx_pthread.c + +rx.obj: $(RX)\rx.c + $(C2OBJ) $(RX)\rx.c + +rx_null.obj: $(RX)\rx_null.c + $(C2OBJ) $(RX)\rx_null.c + +rx_globals.obj: $(RX)\rx_globals.c + $(C2OBJ) $(RX)\rx_globals.c + +rx_getaddr.obj: $(RX)\rx_getaddr.c + $(C2OBJ) $(RX)\rx_getaddr.c + +rx_misc.obj: $(RX)\rx_misc.c + $(C2OBJ) $(RX)\rx_misc.c + +rx_packet.obj: $(RX)\rx_packet.c + $(C2OBJ) $(RX)\rx_packet.c + +rx_rdwr.obj: $(RX)\rx_rdwr.c + $(C2OBJ) $(RX)\rx_rdwr.c + +rx_trace.obj: $(RX)\rx_trace.c + $(C2OBJ) $(RX)\rx_trace.c + +rx_xmit_nt.obj: $(RX)\rx_xmit_nt.c + $(C2OBJ) $(RX)\rx_xmit_nt.c + +rx_conncache.obj: $(RX)\rx_conncache.c + $(C2OBJ) $(RX)\rx_conncache.c + +rxstat.cs.obj:$(RXSTAT)\rxstat.cs.c + $(C2OBJ) $(RXSTAT)\rxstat.cs.c + +rxstat.ss.obj:$(RXSTAT)\rxstat.ss.c + $(C2OBJ) $(RXSTAT)\rxstat.ss.c + +rxstat.xdr.obj:$(RXSTAT)\rxstat.xdr.c + $(C2OBJ) $(RXSTAT)\rxstat.xdr.c + +rxstat.obj:$(RXSTAT)\rxstat.c + $(C2OBJ) $(RXSTAT)\rxstat.c + +rxkad_client.obj:$(RXKAD)\rxkad_client.c + $(C2OBJ) $(RXKAD)\rxkad_client.c + +rxkad_server.obj:$(RXKAD)\rxkad_server.c + $(C2OBJ) $(RXKAD)\rxkad_server.c + +rxkad_common.obj:$(RXKAD)\rxkad_common.c + $(C2OBJ) $(RXKAD)\rxkad_common.c + +ticket.obj:$(RXKAD)\ticket.c + $(C2OBJ) $(RXKAD)\ticket.c + +fcrypt.obj:$(RXKAD)\fcrypt.c + $(C2OBJ) $(RXKAD)\fcrypt.c + +crypt_conn.obj:$(RXKAD)\crypt_conn.c + $(C2OBJ) $(RXKAD)\crypt_conn.c + +AFS_component_version_number.obj:$(RXKAD)\AFS_component_version_number.c + $(C2OBJ) $(RXKAD)\AFS_component_version_number.c + +fcrypt_x.obj:$(RXKAD)\fcrypt.c + $(C2OBJ) $(RXKAD)\fcrypt.c /Fofcrypt_x.obj + +crypt_conn_x.obj:$(RXKAD)\crypt_conn.c + $(C2OBJ) $(RXKAD)\crypt_conn.c /Focrypt_conn_x.obj + +des.obj:$(DES)\des.c + $(C2OBJ) $(DES)\des.c + +cbc_encrypt.obj:$(DES)\cbc_encrypt.c + $(C2OBJ) $(DES)\cbc_encrypt.c + +pcbc_encrypt.obj:$(DES)\pcbc_encrypt.c + $(C2OBJ) $(DES)\pcbc_encrypt.c + +cksum.obj:$(DES)\cksum.c + $(C2OBJ) $(DES)\cksum.c + +new_rnd_key.obj:$(DES)\new_rnd_key.c + $(C2OBJ) $(DES)\new_rnd_key.c + +key_sched.obj:$(DES)\key_sched.c + $(C2OBJ) $(DES)\key_sched.c + +debug_decl.obj:$(DES)\debug_decl.c + $(C2OBJ) $(DES)\debug_decl.c + +quad_cksum.obj:$(DES)\quad_cksum.c + $(C2OBJ) $(DES)\quad_cksum.c + +key_parity.obj:$(DES)\key_parity.c + $(C2OBJ) $(DES)\key_parity.c + +weak_key.obj:$(DES)\weak_key.c + $(C2OBJ) $(DES)\weak_key.c + +strng_to_key.obj:$(DES)\strng_to_key.c + $(C2OBJ) $(DES)\strng_to_key.c + +misc.obj:$(DES)\misc.c + $(C2OBJ) -DDONT_INCL_MAIN $(DES)\misc.c + +util.obj:$(DES)\util.c + $(C2OBJ) $(DES)\util.c + +des_x.obj:$(DES)\des.c + $(C2OBJ) $(DES)\des.c /Fodes_x.obj + +cbc_crypt_x.obj:$(DES)\cbc_encrypt.c + $(C2OBJ) $(DES)\cbc_encrypt.c /Focbc_crypt_x.obj + +pcbc_crypt_x.obj:$(DES)\pcbc_encrypt.c + $(C2OBJ) $(DES)\pcbc_encrypt.c /Fopcbc_crypt_x.obj + +cksum_x.obj:$(DES)\cksum.c + $(C2OBJ) $(DES)\cksum.c /Focksum_x.obj + +nrnd_key_x.obj:$(DES)\new_rnd_key.c + $(C2OBJ) $(DES)\new_rnd_key.c /Fonrnd_key_x.obj + +error_msg.obj:$(COMERR)\error_msg.c + $(C2OBJ) $(COMERR)\error_msg.c + +et_name.obj:$(COMERR)\et_name.c + $(C2OBJ) $(COMERR)\et_name.c + +com_err.obj:$(COMERR)\com_err.c + $(C2OBJ) $(COMERR)\com_err.c + +casestrcpy.obj:$(UTIL)\casestrcpy.c + $(C2OBJ) $(UTIL)\casestrcpy.c + +winsock_nt.obj:$(UTIL)\winsock_nt.c + $(C2OBJ) $(UTIL)\winsock_nt.c + +afsint.cs.obj:$(FSINT)\afsint.cs.c + $(C2OBJ) $(FSINT)\afsint.cs.c + +afsint.xdr.obj:$(FSINT)\afsint.xdr.c + $(C2OBJ) $(FSINT)\afsint.xdr.c + +afscbint.cs.obj:$(FSINT)\afscbint.cs.c + $(C2OBJ) $(FSINT)\afscbint.cs.c + +afscbint.xdr.obj:$(FSINT)\afscbint.xdr.c + $(C2OBJ) $(FSINT)\afscbint.xdr.c + +afsaux.obj:$(FSINT)\afsaux.c + $(C2OBJ) $(FSINT)\afsaux.c + +NTMAKE = nmake /nologo /f ntmakefile + + +DLLLIBS =\ +!IF (("$(SYS_NAME)"=="i386_win95" ) || ("$(SYS_NAME)"=="I386_WIN95" )) + $(DESTDIR)\lib\win95\afspthread.lib \ +!ELSE + $(DESTDIR)\lib\afspthread.lib \ +!ENDIF + $(DESTDIR)\lib\afs\afsutil.lib \ + $(DESTDIR)\lib\afs\afsreg.lib + +$(DESTDIR)\lib\afsrpc.dll: $(DLLOBJS) $(DLLLIBS) + $(DLLCONLINK) /DEF:afsrpc.def + $(DLLPREP) + +# Definitions for generating versioninfo resources +afsrpc.res: afsrpc.rc AFS_component_version_number.h + $(RC) $*.rc + + +install: +! IF (EXIST(..\..\src\des\NTMakefile)) + $(NTMAKE) $(LIBFILE) +! else + $(NTMAKE) libstub +! endif + +install9x: install + +!IF (EXIST(..\..\src\des\NTMakefile)) +!ELSE IF (EXIST(..\..\DESLIB)) +DESPAR = ..\..\DESLIB\dest +!ELSE IF (EXIST(..\..\..\DESLIB)) +DESPAR = ..\..\..\DESLIB\dest +!ELSE +!ERROR Must create DESLIB link in the same directory as PARENT link. +!ENDIF + +libstub: + $(COPY) $(DESPAR)\lib\afsrpc.dll \ + $(DESTDIR)\lib\afsrpc.dll + $(COPY) $(DESPAR)\lib\afsrpc.lib \ + $(DESTDIR)\lib\afsrpc.lib + $(COPY) $(DESPAR)\lib\afsrpc.exp \ + $(DESTDIR)\lib\afsrpc.exp + +clean:: + $(DEL) $(DESTDIR)\lib\afsrpc.dll $(DESTDIR)\lib\afsrpc.lib $(DESTDIR)\lib\afsrpc.exp \ No newline at end of file diff --git a/src/shlibafsrpc/afsrpc.def b/src/shlibafsrpc/afsrpc.def new file mode 100644 index 000000000..95ec3c992 --- /dev/null +++ b/src/shlibafsrpc/afsrpc.def @@ -0,0 +1,200 @@ +EXPORTS + des_check_key_parity @2 + des_fixup_key_parity @5 + des_init_random_number_generator @6 + des_is_weak_key @7 + des_key_sched @8 + des_random_key @9 + des_string_to_key @10 + ktohl @11 + life_to_time @12 + rx_DestroyConnection @13 + rx_EndCall @14 + rx_Finalize @15 + rx_GetCachedConnection @16 + rx_GetCall @17 + rx_GetIFInfo @18 + rx_Init @19 + rx_NewCall @20 + rx_NewConnection @21 + rx_NewService @22 + rx_PrintPeerStats @23 + rx_PrintStats @24 + rx_PrintTheseStats @25 + rx_ReadProc @26 + rx_ReleaseCachedConnection @27 + rx_ServerProc @28 + rx_StartServer @29 + rx_WriteProc @30 + rxevent_Init @31 + rxevent_Post @32 + rxkad_GetServerInfo @33 + rxkad_NewClientSecurityObject @34 + rxkad_NewServerSecurityObject @35 + rxnull_NewClientSecurityObject @38 + rxnull_NewServerSecurityObject @39 + rxs_Release @40 + time_to_life @41 + tkt_CheckTimes @42 + tkt_DecodeTicket @43 + tkt_MakeTicket @44 + xdr_array @45 + xdr_bool @46 + xdr_bytes @47 + xdr_char @48 + xdr_double @49 + xdr_enum @50 + xdr_float @51 + xdr_int @52 + xdr_long @53 + xdr_opaque @54 + xdr_pointer @55 + xdr_reference @56 + xdr_short @57 + xdr_string @58 + xdr_u_char @59 + xdr_u_int @60 + xdr_u_long @61 + xdr_u_short @62 + xdr_union @63 + xdr_vector @64 + xdr_void @65 + xdr_wrapstring @66 + xdrmem_create @67 + xdrrec_create @68 + xdrrec_endofrecord @69 + xdrrec_eof @70 + xdrrec_skiprecord @71 + xdrrx_create @72 + hton_syserr_conv @73 + rxkad_stats @74 DATA + com_err @75 + error_message @76 + rx_socket @77 DATA + AssertionFailed @79 + afs_winsockInit @80 + rxevent_debugFile @81 DATA + rx_debugFile @82 DATA + rx_connDeadTime @83 DATA + rx_maxReceiveSize @84 DATA + rx_UdpBufSize @85 DATA + rx_extraQuota @86 DATA + rx_extraPackets @87 DATA + rx_tranquil @88 DATA + rx_getAllAddr @89 + rx_nWaiting @90 DATA + rx_stats @91 DATA + rx_SetNoJumbo @92 + rx_SetConnDeadTime @93 + rx_FlushWrite @94 + rx_thread_id_key @95 DATA + multi_Finalize @96 + multi_Select @97 + multi_Init @98 + multi_Finalize_Ignore @99 + add_to_error_table @100 + xdr_afsUUID @101 + rx_GetSpecific @102 + rx_SetSpecific @103 + rx_KeyCreate @104 + rx_BusyError @105 DATA + rx_BusyThreshold @106 DATA + rx_IncrementTimeAndCount @107 + rx_enable_stats @108 DATA + rx_GetServerDebug @109 + rx_GetServerStats @110 + rx_GetServerVersion @111 + rx_GetServerConnections @112 + rx_stats_mutex @113 DATA + rx_GetServerPeers @114 + rx_RetrieveProcessRPCStats @115 + rx_RetrievePeerRPCStats @116 + rx_FreeRPCStats @117 + rx_queryProcessRPCStats @118 + rx_queryPeerRPCStats @119 + rx_enableProcessRPCStats @120 + rx_enablePeerRPCStats @121 + rx_disableProcessRPCStats @122 + rx_disablePeerRPCStats @123 + RXSTATS_ExecuteRequest @124 + RXSTATS_RetrieveProcessRPCStats @125 + RXSTATS_RetrievePeerRPCStats @126 + RXSTATS_QueryProcessRPCStats @127 + RXSTATS_QueryPeerRPCStats @128 + RXSTATS_EnableProcessRPCStats @129 + RXSTATS_EnablePeerRPCStats @130 + RXSTATS_DisableProcessRPCStats @131 + RXSTATS_DisablePeerRPCStats @132 + RXSTATS_QueryRPCStatsVersion @133 + RXSTATS_ClearProcessRPCStats @134 + RXSTATS_ClearPeerRPCStats @135 + + + rxi_connAbortThreshhold @138 DATA + rxi_connAbortDelay @139 DATA + rxi_callAbortThreshhold @140 DATA + rxi_callAbortDelay @141 DATA + RXSTATS_function_names @142 DATA + RXAFSCB_function_names @143 DATA + RXAFSCB_CallBack @144 + StartRXAFSCB_CallBack @145 + EndRXAFSCB_CallBack @146 + RXAFSCB_InitCallBackState @147 + RXAFSCB_Probe @148 + StartRXAFSCB_Probe @149 + EndRXAFSCB_Probe @150 + RXAFSCB_GetLock @151 + RXAFSCB_GetCE @152 + RXAFSCB_XStatsVersion @153 + RXAFSCB_GetXStats @154 + RXAFSCB_InitCallBackState2 @155 + RXAFSCB_WhoAreYou @156 + RXAFSCB_InitCallBackState3 @157 + RXAFSCB_ProbeUuid @158 + StartRXAFSCB_ProbeUuid @159 + EndRXAFSCB_ProbeUuid @160 + RXAFSCB_GetServerPrefs @161 + RXAFSCB_GetCellServDB @162 + RXAFSCB_GetLocalCell @163 + RXAFSCB_GetCacheConfig @164 + StartRXAFS_FetchData @165 + EndRXAFS_FetchData @166 + RXAFS_FetchACL @167 + RXAFS_FetchStatus @168 + StartRXAFS_StoreData @169 + EndRXAFS_StoreData @170 + RXAFS_StoreACL @171 + RXAFS_StoreStatus @172 + RXAFS_RemoveFile @173 + RXAFS_CreateFile @174 + RXAFS_Rename @175 + RXAFS_Symlink @176 + RXAFS_Link @177 + RXAFS_MakeDir @178 + RXAFS_RemoveDir @179 + RXAFS_OldSetLock @180 + RXAFS_OldExtendLock @181 + RXAFS_OldReleaseLock @182 + RXAFS_GetStatistics @183 + RXAFS_GiveUpCallBacks @184 + RXAFS_GetVolumeInfo @185 + RXAFS_GetVolumeStatus @186 + RXAFS_SetVolumeStatus @187 + RXAFS_GetRootVolume @188 + RXAFS_CheckToken @189 + RXAFS_GetTime @190 + RXAFS_NGetVolumeInfo @191 + RXAFS_BulkStatus @192 + RXAFS_SetLock @193 + RXAFS_ExtendLock @194 + RXAFS_ReleaseLock @195 + RXAFS_XStatsVersion @196 + RXAFS_GetXStats @197 + RXAFS_Lookup @198 + RXAFS_FlushCPS @199 + RXAFS_DFSSymlink @200 + rx_SetRxStatUserOk @201 + rx_RxStatUserOk @202 + rx_enable_hot_thread @203 DATA + xdr_int64 @204 + xdr_uint64 @205 diff --git a/src/shlibafsrpc/afsrpc.exp b/src/shlibafsrpc/afsrpc.exp new file mode 100644 index 000000000..4269ce73d --- /dev/null +++ b/src/shlibafsrpc/afsrpc.exp @@ -0,0 +1,165 @@ +des_cbc_cksum +des_cbc_encrypt +des_cbc_init +des_check_key_parity +des_cksum_init +des_des_init +des_ecb_encrypt +des_fixup_key_parity +des_generate_random_block +des_init_random_number_generator +des_is_weak_key +des_key_sched +des_pcbc_encrypt +des_random_key +des_string_to_key +ktohl +life_to_time +rx_DestroyConnection +rx_EndCall +rx_EventPost +rx_Finalize +rx_GetCachedConnection +rx_GetCall +rx_GetIFInfo +rx_Init +rx_NewCall +rx_NewConnection +rx_NewService +rx_PrintPeerStats +rx_PrintStats +rx_PrintTheseStats +rx_ReadProc +rx_ReleaseCachedConnection +rx_ServerProc +rx_StartServer +rx_WriteProc +rxevent_Init +rxevent_Post +rxkad_GetServerInfo +rxkad_NewClientSecurityObject +rxkad_NewServerSecurityObject +rxkad_client_init +rxkad_crypt_init +rxnull_NewClientSecurityObject +rxnull_NewServerSecurityObject +rxs_Release +time_to_life +tkt_CheckTimes +tkt_DecodeTicket +tkt_MakeTicket +xdr_array +xdr_bool +xdr_bytes +xdr_char +xdr_double +xdr_enum +xdr_float +xdr_int +xdr_long +xdr_opaque +xdr_pointer +xdr_reference +xdr_short +xdr_string +xdr_u_char +xdr_u_int +xdr_u_long +xdr_u_short +xdr_union +xdr_vector +xdr_void +xdr_wrapstring +xdrmem_create +xdrrec_create +xdrrec_endofrecord +xdrrec_eof +xdrrec_skiprecord +xdrrx_create +xdr_afsuuid +xdr_int64 +hton_syserr_conv +rxkad_stats +_et_list +et_list_mutex +com_err +error_message +rx_socket +des_pcbc_init +rx_BusyError +rx_BusyThreshold +rxi_connAbortThreshhold +rxi_connAbortDelay +rxi_callAbortThreshhold +rxi_callAbortDelay +RXSTATS_ExecuteRequest +RXSTATS_RetrieveProcessRPCStats +RXSTATS_RetrievePeerRPCStats +RXSTATS_QueryProcessRPCStats +RXSTATS_QueryPeerRPCStats +RXSTATS_EnableProcessRPCStats +RXSTATS_EnablePeerRPCStats +RXSTATS_DisableProcessRPCStats +RXSTATS_DisablePeerRPCStats +RXSTATS_QueryRPCStatsVersion +RXSTATS_ClearProcessRPCStats +RXSTATS_ClearPeerRPCStats +RXSTATS_function_names +RXAFSCB_CallBack +StartRXAFSCB_CallBack +EndRXAFSCB_CallBack +RXAFSCB_InitCallBackState +RXAFSCB_Probe +StartRXAFSCB_Probe +EndRXAFSCB_Probe +RXAFSCB_GetLock +RXAFSCB_GetCE +RXAFSCB_XStatsVersion +RXAFSCB_GetXStats +RXAFSCB_InitCallBackState2 +RXAFSCB_WhoAreYou +RXAFSCB_InitCallBackState3 +RXAFSCB_ProbeUuid +StartRXAFSCB_ProbeUuid +EndRXAFSCB_ProbeUuid +RXAFSCB_GetServerPrefs +RXAFSCB_GetCellServDB +RXAFSCB_GetLocalCell +RXAFSCB_GetCacheConfig +StartRXAFS_FetchData +EndRXAFS_FetchData +RXAFS_FetchACL +RXAFS_FetchStatus +StartRXAFS_StoreData +EndRXAFS_StoreData +RXAFS_StoreACL +RXAFS_StoreStatus +RXAFS_RemoveFile +RXAFS_CreateFile +RXAFS_Rename +RXAFS_Symlink +RXAFS_Link +RXAFS_MakeDir +RXAFS_RemoveDir +RXAFS_OldSetLock +RXAFS_OldExtendLock +RXAFS_OldReleaseLock +RXAFS_GetStatistics +RXAFS_GiveUpCallBacks +RXAFS_GetVolumeInfo +RXAFS_GetVolumeStatus +RXAFS_SetVolumeStatus +RXAFS_GetRootVolume +RXAFS_CheckToken +RXAFS_GetTime +RXAFS_NGetVolumeInfo +RXAFS_BulkStatus +RXAFS_SetLock +RXAFS_ExtendLock +RXAFS_ReleaseLock +RXAFS_XStatsVersion +RXAFS_GetXStats +RXAFS_Lookup +RXAFS_FlushCPS +RXAFS_DFSSymlink +RXAFSCB_function_names diff --git a/src/shlibafsrpc/afsrpc.rc b/src/shlibafsrpc/afsrpc.rc new file mode 100644 index 000000000..8d08d0068 --- /dev/null +++ b/src/shlibafsrpc/afsrpc.rc @@ -0,0 +1,15 @@ +/* + * Copyright 2000, International Business Machines Corporation and others. + * 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 + */ + +/* Define VERSIONINFO resource */ + +#define AFS_VERINFO_FILE_DESCRIPTION "AFS Rx RPC DLL" + +#include "AFS_component_version_number.h" +#include "..\config\NTVersioninfo.rc" diff --git a/src/shlibafsrpc/mapfile b/src/shlibafsrpc/mapfile new file mode 100644 index 000000000..ab298407a --- /dev/null +++ b/src/shlibafsrpc/mapfile @@ -0,0 +1,117 @@ +# Copyright 2000, International Business Machines Corporation and others. +# 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 + +{ + global: + des_cbc_init; + des_check_key_parity; + des_cksum_init; + des_des_init; + des_fixup_key_parity; + des_init_random_number_generator; + des_is_weak_key; + des_key_sched; + des_random_key; + des_string_to_key; + ktohl; + life_to_time; + rx_DestroyConnection; + rx_EndCall; + rx_Finalize; + rx_GetCachedConnection; + rx_GetCall; + rx_GetIFInfo; + rx_GetSpecific; + rx_Init; + rx_KeyCreate; + rx_NewCall; + rx_NewConnection; + rx_NewService; + rx_PrintPeerStats; + rx_PrintStats; + rx_PrintTheseStats; + rx_ReadProc; + rx_ReleaseCachedConnection; + rx_ServerProc; + rx_SetSpecific; + rx_StartServer; + rx_WriteProc; + rxevent_Init; + rxevent_Post; + rxkad_GetServerInfo; + rxkad_NewClientSecurityObject; + rxkad_NewServerSecurityObject; + rxkad_client_init; + rxkad_crypt_init; + rxnull_NewClientSecurityObject; + rxnull_NewServerSecurityObject; + rxs_Release; + time_to_life; + tkt_CheckTimes; + tkt_DecodeTicket; + tkt_MakeTicket; + xdrrx_create; + hton_syserr_conv; + rxkad_stats; + com_err; + error_message; + rx_socket; + des_pcbc_init; + rxevent_debugFile; + rx_debugFile; + rx_connDeadTime; + rx_maxReceiveSize; + rx_UdpBufSize; + rx_extraQuota; + rx_extraPackets; + rx_tranquil; + rx_getAllAddr; + rx_nWaiting; + rx_stats; + rx_SetNoJumbo; + rx_SetConnDeadTime; + rx_FlushWrite; + rx_thread_id_key; + multi_Finalize; + multi_Select; + multi_Init; + multi_Finalize_Ignore; + add_to_error_table; + xdr_afsUUID; + rx_IncrementTimeAndCount; + rx_enable_stats; + rx_GetServerDebug; + rx_GetServerStats; + rx_GetServerVersion; + rx_GetServerConnections; + rx_stats_mutex; + rx_GetServerPeers; + rx_RetrieveProcessRPCStats; + rx_RetrievePeerRPCStats; + rx_FreeRPCStats; + rx_queryProcessRPCStats; + rx_queryPeerRPCStats; + rx_enableProcessRPCStats; + rx_enablePeerRPCStats; + rx_disableProcessRPCStats; + rx_disablePeerRPCStats; + RXSTATS_ExecuteRequest; + RXSTATS_RetrieveProcessRPCStats; + RXSTATS_RetrievePeerRPCStats; + RXSTATS_QueryProcessRPCStats; + RXSTATS_QueryPeerRPCStats; + RXSTATS_EnableProcessRPCStats; + RXSTATS_EnablePeerRPCStats; + RXSTATS_DisableProcessRPCStats; + RXSTATS_DisablePeerRPCStats; + RXSTATS_QueryRPCStatsVersion; + RXSTATS_ClearProcessRPCStats; + RXSTATS_ClearPeerRPCStats; + + local: + *; +}; -- 2.39.5