shared-libafsrpc-and-libafsauthent-20020828
authorDerrick Brashear <shadow@dementia.org>
Wed, 28 Aug 2002 07:05:43 +0000 (07:05 +0000)
committerDerrick Brashear <shadow@dementia.org>
Wed, 28 Aug 2002 07:05:43 +0000 (07:05 +0000)
shared library versions of libafsrpc and libafsauthent

19 files changed:
Makefile.in
configure.in
src/libafsauthent/Makefile.in
src/libafsrpc/Makefile.in
src/shlibafsauthent/.cvsignore [new file with mode: 0644]
src/shlibafsauthent/Makefile.in [new file with mode: 0644]
src/shlibafsauthent/NTMakefile [new file with mode: 0644]
src/shlibafsauthent/README [new file with mode: 0644]
src/shlibafsauthent/afsauthent.def [new file with mode: 0644]
src/shlibafsauthent/afsauthent.exp [new file with mode: 0644]
src/shlibafsauthent/afsauthent.rc [new file with mode: 0644]
src/shlibafsauthent/mapfile [new file with mode: 0644]
src/shlibafsrpc/.cvsignore [new file with mode: 0644]
src/shlibafsrpc/Makefile.in [new file with mode: 0644]
src/shlibafsrpc/NTMakefile [new file with mode: 0644]
src/shlibafsrpc/afsrpc.def [new file with mode: 0644]
src/shlibafsrpc/afsrpc.exp [new file with mode: 0644]
src/shlibafsrpc/afsrpc.rc [new file with mode: 0644]
src/shlibafsrpc/mapfile [new file with mode: 0644]

index 2edd917..94a4b6e 100644 (file)
@@ -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 \
index eb2723f..5829c55 100644 (file)
@@ -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 \
index 09ddae8..b200d42 100644 (file)
@@ -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
 
index 7564717..e05e7b5 100644 (file)
@@ -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 (file)
index 0000000..f3c7a7c
--- /dev/null
@@ -0,0 +1 @@
+Makefile
diff --git a/src/shlibafsauthent/Makefile.in b/src/shlibafsauthent/Makefile.in
new file mode 100644 (file)
index 0000000..522afd1
--- /dev/null
@@ -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 (file)
index 0000000..d4e5ddf
--- /dev/null
@@ -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 (file)
index 0000000..d7b2b98
--- /dev/null
@@ -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 (file)
index 0000000..20fd119
--- /dev/null
@@ -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 (file)
index 0000000..b5f8247
--- /dev/null
@@ -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 (file)
index 0000000..ce49d82
--- /dev/null
@@ -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 (file)
index 0000000..d8f766b
--- /dev/null
@@ -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 (file)
index 0000000..f3c7a7c
--- /dev/null
@@ -0,0 +1 @@
+Makefile
diff --git a/src/shlibafsrpc/Makefile.in b/src/shlibafsrpc/Makefile.in
new file mode 100644 (file)
index 0000000..9bcc967
--- /dev/null
@@ -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 (file)
index 0000000..f8131dd
--- /dev/null
@@ -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 (file)
index 0000000..95ec3c9
--- /dev/null
@@ -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 (file)
index 0000000..4269ce7
--- /dev/null
@@ -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 (file)
index 0000000..8d08d00
--- /dev/null
@@ -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 (file)
index 0000000..ab29840
--- /dev/null
@@ -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:
+       *;
+};