diff --git a/NTMakefile b/NTMakefile index 4b4597649e..4b96d5db1c 100644 --- a/NTMakefile +++ b/NTMakefile @@ -648,6 +648,13 @@ rpctestlib: fsint libafsrpc $(NTMAKE) $(CD) ..\.. +libafscp: util afs volser vlserver rx auth fsint afsdobjs + @echo ***** $@ + $(DOCD) $(SRC)\$@ + $(CD) $(SRC)\$@ + $(NTMAKE) + $(CD) ..\.. + extra: netidmgr_plugin rpctestlib ! IF EXIST($(SRC)\WINNT\extra) && EXIST($(SRC)\WINNT\extra\NTMakefile) @echo ***** $@ diff --git a/src/config/afsconfig-windows.h b/src/config/afsconfig-windows.h index 1edd7cb6e4..f6c9d92a3b 100644 --- a/src/config/afsconfig-windows.h +++ b/src/config/afsconfig-windows.h @@ -245,3 +245,4 @@ typedef int errno_t; #endif #define HAVE_CONIO_H 1 +#define HAVE_KRB5_CREDS_KEYBLOCK_ENCTYPE 1 diff --git a/src/libafscp/NTMakefile b/src/libafscp/NTMakefile new file mode 100644 index 0000000000..e614078659 --- /dev/null +++ b/src/libafscp/NTMakefile @@ -0,0 +1,55 @@ +# 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 + +RELDIR=libacl +!INCLUDE ..\config\NTMakefile.$(SYS_NAME) +!INCLUDE ..\config\NTMakefile.version + +############################################################################ +# Install inc files + +INCFILEDIR = $(DESTDIR)\include\afs + +INCFILES =\ + $(INCFILEDIR)\afscp.h + + +############################################################################ +# build afscp.lib + +LIBFILE = $(DESTDIR)\lib\afs\afscp.lib + +afscflags = -I..\WINNT\kfw\inc\krb5 $(afscflags) + +LIBOBJS =\ + $(OUT)\afscp_callback.obj \ + $(OUT)\afscp_server.obj \ + $(OUT)\afscp_fid.obj \ + $(OUT)\afscp_volume.obj \ + $(OUT)\afscp_file.obj \ + $(OUT)\afscp_dir.obj \ + $(OUT)\afscp_init.obj \ + $(OUT)\afscp_util.obj \ + $(OUT)\afscp_dirops.obj \ + $(OUT)\afscp_acl.obj \ + $(OUT)\AFS_component_version_number.obj + +$(LIBFILE): $(LIBOBJS) + $(LIBARCH) + + +############################################################################ +# install afscp.lib + +install_headers: $(INCFILES) + +install: $(LIBFILE) + +clean:: + $(DEL) $(INCFILES) + +mkdir: diff --git a/src/libafscp/afscp_callback.c b/src/libafscp/afscp_callback.c index 92f0ece76f..f803e22919 100644 --- a/src/libafscp/afscp_callback.c +++ b/src/libafscp/afscp_callback.c @@ -28,10 +28,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include + #ifdef AFS_NT40_ENV #include #include +#include +#include #endif + +#include #include "afscp.h" #include "afscp_internal.h" @@ -53,6 +58,7 @@ init_afs_cb(void) * untested here and may be unnecessary if rx_getAllAddr() can be used on that * platform. However, there was already an ifdef here surrounding UuidCreate(). */ + long rx_mtu = -1; int code; int cm_IPAddr[CM_MAXINTERFACE_ADDR]; /* client's IP address in host order */ int cm_SubnetMask[CM_MAXINTERFACE_ADDR]; /* client's subnet mask in host order */ @@ -305,7 +311,8 @@ SRXAFSCB_CallBack(struct rx_call * rxcall, AFSCBFids * Fids_Array, struct afscp_callback *cb; struct afscp_venusfid f; struct AFSFid *fid; - int i, j; + int i; + unsigned int j; if (server == NULL) { return 0; @@ -527,10 +534,7 @@ SRXAFSCB_TellMeAboutYourself(struct rx_call * a_call, for (i = 0; i < cm_noIPAddr; i++) { addr->addr_in[i] = cm_IPAddr[i]; addr->subnetmask[i] = cm_SubnetMask[i]; - addr->mtu[i] = (rx_mtu == -1 - || (rx_mtu != -1 - && cm_NetMtu[i] < - rx_mtu)) ? cm_NetMtu[i] : rx_mtu; + addr->mtu[i] = cm_NetMtu[i]; } } else { addr->numberOfInterfaces = 0; diff --git a/src/libafscp/afscp_dir.c b/src/libafscp/afscp_dir.c index fb021f3932..64506b9eb4 100644 --- a/src/libafscp/afscp_dir.c +++ b/src/libafscp/afscp_dir.c @@ -32,6 +32,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include +#ifdef AFS_NT40_ENV +#include +#endif #include "afscp.h" #include "afscp_internal.h" diff --git a/src/libafscp/afscp_fid.c b/src/libafscp/afscp_fid.c index 7fe7dc5148..f3397005ca 100644 --- a/src/libafscp/afscp_fid.c +++ b/src/libafscp/afscp_fid.c @@ -178,8 +178,11 @@ afscp_Stat(const struct afscp_venusfid *fid, struct stat *s) s->st_mode = S_IFREG; else if (status.FileType == Directory) s->st_mode = S_IFDIR; +#ifndef AFS_NT40_ENV else if (status.FileType == SymbolicLink) s->st_mode = S_IFLNK; + /* a behavior needs to be defined on Windows */ +#endif else { afscp_errno = EINVAL; return -1;