]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
afscp: build for windows
authorDerrick Brashear <shadow@dementia.org>
Mon, 4 Apr 2011 17:43:44 +0000 (13:43 -0400)
committerDerrick Brashear <shadow@dementix.org>
Fri, 9 Sep 2011 17:11:56 +0000 (10:11 -0700)
attempt windows support for afscp

Reviewed-on: http://gerrit.openafs.org/4424
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>
(cherry picked from commit d5349810730ff16c68280745398c136ddbdb2b8d)

Change-Id: I568ddc0d257a8ac106426f9ecd4ab44c42ce160c
Reviewed-on: http://gerrit.openafs.org/5380
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>
NTMakefile
src/config/afsconfig-windows.h
src/libafscp/NTMakefile [new file with mode: 0644]
src/libafscp/afscp_callback.c
src/libafscp/afscp_dir.c
src/libafscp/afscp_fid.c

index 4b4597649e9bf4c74ed6be74813fd109956e1c9d..4b96d5db1cc3e2eb15e14e112093e7c65e45593e 100644 (file)
@@ -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 ***** $@
index 1edd7cb6e4dab2310ea486527ec4007bfc693d76..f6c9d92a3bc7a4032b9ffbda3d39f72b9a60dfab 100644 (file)
@@ -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 (file)
index 0000000..e614078
--- /dev/null
@@ -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:
index 92f0ece76f7980937315d281ceb54d90c647cbcf..f803e22919c9f939582db9d0be1018729f824234 100644 (file)
@@ -28,10 +28,15 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <afs/param.h>
 
 #include <afs/afsutil.h>
+
 #ifdef AFS_NT40_ENV
 #include <windows.h>
 #include <rpc.h>
+#include <afs/cm_server.h>
+#include <WINNT/syscfg.h>
 #endif
+
+#include <afs/afsutil.h>
 #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;
index fb021f393248ea84c57ea444f81271484b5507c2..64506b9eb474c92d4c8ddc4438f659b86fbb9514 100644 (file)
@@ -32,6 +32,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #include <afs/vlserver.h>
 #include <afs/vldbint.h>
 #include <afs/dir.h>
+#ifdef AFS_NT40_ENV
+#include <afs/errmap_nt.h>
+#endif
 #include "afscp.h"
 #include "afscp_internal.h"
 
index 7fe7dc51487c63ef7d705daf13fbe49adb0a3639..f3397005ca521d8347121347ec29f7086c488015 100644 (file)
@@ -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;