[PATCH] Fix Samba HEAD to observe executable extensions

Paul_GreenVOS at vos.stratus.com Paul_GreenVOS at vos.stratus.com
Sat Nov 30 04:05:01 GMT 2002


The following patch changes the HEAD version of Samba to
discover and use a required executable extension, if required by
the host OS.  It also changes torture/torture.c to use
shm_open() if shmget() is unavailable.  And it changes the only
reference to bcmp in Samba to a nice standard memcmp.

(I also have a patch for Samba 3.0; see separate letter).

I created it because Stratus VOS has a required executable
extension, and because we have POSIX not System V shared memory.

I have tested this patch here on VOS.  I used the version of
head that existed this morning (changing and testing these files
is a little like jumping on and off a moving train; they change
frequently...).  I tested the 3.0 version of the patch on SunOS
5.8, and these are basically the same changes, so I'm hoping I
won't break head too badly...  ;-).

I've tested it using autoconf 2.13.  The generated configure
script should work properly on Unix-type systems regardless of
which version of autoconf is used.

I still have a problem in that the Makefile tries to build
libsmbclient.so even on systems that don't support shared
objects, but I'll send that change in separately, when I have it
ready.

### START OF PATCH ###

diff -urp old/samba/source/Makefile.in new/samba/source/Makefile.in
--- old/samba/source/Makefile.in	Fri Nov 29 21:35:28 2002
+++ new/samba/source/Makefile.in	Fri Nov 29 21:35:55 2002
@@ -14,6 +14,7 @@ CC=@CC@
 SHLD=@SHLD@
 CFLAGS=@CFLAGS@
 CPPFLAGS=@CPPFLAGS@
+EXEEXT=@EXEEXT@
 LDFLAGS=@LDFLAGS@
 LDSHFLAGS=@LDSHFLAGS@ @LDFLAGS@ @CFLAGS@
 AWK=@AWK@
@@ -100,14 +101,21 @@ PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"
 PATH_FLAGS6 = $(PATH_FLAGS5) -DCONFIGDIR=\"$(CONFIGFIR)\"
 PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS)
 
-SBIN_PROGS = bin/smbd bin/nmbd bin/swat bin/wrepld @EXTRA_SBIN_PROGS@
+# Note that all executable programs now provide for an optional executable suffix.
 
-BIN_PROGS1 = bin/smbclient bin/net bin/smbspool bin/testparm bin/testprns bin/smbstatus 
-BIN_PROGS2 = bin/smbcontrol bin/smbtree bin/tdbbackup bin/nmblookup bin/pdbedit
-BIN_PROGS3 = bin/smbpasswd bin/rpcclient bin/smbcacls bin/profiles bin/smbgroupedit bin/ntlm_auth
+SBIN_PROGS = bin/smbd at EXEEXT@ bin/nmbd at EXEEXT@ bin/swat at EXEEXT@ \
+	bin/wrepld at EXEEXT@ @EXTRA_SBIN_PROGS@
 
-TORTURE_PROGS = bin/smbtorture bin/msgtest bin/masktest bin/locktest \
-	bin/locktest2 bin/nsstest bin/vfstest
+BIN_PROGS1 = bin/smbclient at EXEEXT@ bin/net at EXEEXT@ bin/smbspool at EXEEXT@ \
+	bin/testparm at EXEEXT@ bin/testprns at EXEEXT@ bin/smbstatus at EXEEXT@ 
+BIN_PROGS2 = bin/smbcontrol at EXEEXT@ bin/smbtree at EXEEXT@ bin/tdbbackup at EXEEXT@ \
+	bin/nmblookup at EXEEXT@ bin/pdbedit at EXEEXT@
+BIN_PROGS3 = bin/smbpasswd at EXEEXT@ bin/rpcclient at EXEEXT@ bin/smbcacls at EXEEXT@ \
+	bin/profiles at EXEEXT@ bin/smbgroupedit at EXEEXT@ bin/ntlm_auth at EXEEXT@
+
+TORTURE_PROGS = bin/smbtorture at EXEEXT@ bin/msgtest at EXEEXT@ \
+	bin/masktest at EXEEXT@ bin/locktest at EXEEXT@ \
+	bin/locktest2 at EXEEXT@ bin/nsstest at EXEEXT@ bin/vfstest at EXEEXT@
 
 BIN_PROGS = $(BIN_PROGS1) $(BIN_PROGS2) $(BIN_PROGS3) @EXTRA_BIN_PROGS@
 
@@ -556,27 +564,27 @@ smbwrapper : SHOWFLAGS @SMBWRAPPER@
 
 torture : SHOWFLAGS $(TORTURE_PROGS)
 
-smbtorture : SHOWFLAGS bin/smbtorture
+smbtorture : SHOWFLAGS bin/smbtorture at EXEEXT@
 
-masktest : SHOWFLAGS bin/masktest
+masktest : SHOWFLAGS bin/masktest at EXEEXT@
 
-msgtest : SHOWFLAGS bin/msgtest
+msgtest : SHOWFLAGS bin/msgtest at EXEEXT@
 
-locktest : SHOWFLAGS bin/locktest
+locktest : SHOWFLAGS bin/locktest at EXEEXT@
 
-smbcacls : SHOWFLAGS bin/smbcacls
+smbcacls : SHOWFLAGS bin/smbcacls at EXEEXT@
 
-locktest2 : SHOWFLAGS bin/locktest2
+locktest2 : SHOWFLAGS bin/locktest2 at EXEEXT@
 
-rpctorture : SHOWFLAGS bin/rpctorture
+rpctorture : SHOWFLAGS bin/rpctorture at EXEEXT@
 
-debug2html : SHOWFLAGS bin/debug2html
+debug2html : SHOWFLAGS bin/debug2html at EXEEXT@
 
-smbfilter : SHOWFLAGS bin/smbfilter
+smbfilter : SHOWFLAGS bin/smbfilter at EXEEXT@
 
-talloctort : SHOWFLAGS bin/talloctort
+talloctort : SHOWFLAGS bin/talloctort at EXEEXT@
 
-nsswitch : SHOWFLAGS bin/winbindd bin/wbinfo nsswitch/libnss_winbind.so nsswitch/pam_winbind.so
+nsswitch : SHOWFLAGS bin/winbindd at EXEEXT@ bin/wbinfo at EXEEXT@ nsswitch/libnss_winbind.so nsswitch/pam_winbind.so
 
 wins : SHOWFLAGS nsswitch/libnss_wins. at SHLIBEXT@
 
@@ -651,149 +659,149 @@ bin/.dummy:
 	  dir=bin $(MAKEDIR); fi
 	@: >> $@ || : > $@ # what a fancy emoticon!
 
-bin/smbd: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy
+bin/smbd at EXEEXT@: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
 	  $(AUTHLIBS) $(LIBS) @BUILD_POPT@
 
-bin/nmbd: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy
+bin/nmbd at EXEEXT@: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/wrepld: $(WREPL_OBJ) bin/.dummy
+bin/wrepld at EXEEXT@: $(WREPL_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(WREPL_OBJ) $(LDFLAGS) $(LIBS) 
 
-bin/swat: $(SWAT_OBJ) bin/.dummy
+bin/swat at EXEEXT@: $(SWAT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
 	  $(AUTHLIBS) $(LIBS) 
 
-bin/rpcclient: $(RPCCLIENT_OBJ) @BUILD_POPT@ bin/.dummy
+bin/rpcclient at EXEEXT@: $(RPCCLIENT_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @BUILD_POPT@
 
-bin/smbclient: $(CLIENT_OBJ) @BUILD_POPT@ bin/.dummy
+bin/smbclient at EXEEXT@: $(CLIENT_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @BUILD_POPT@
 
-bin/net: $(NET_OBJ) @BUILD_POPT@ bin/.dummy
+bin/net at EXEEXT@: $(NET_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/profiles: utils/profiles.o bin/.dummy
+bin/profiles at EXEEXT@: utils/profiles.o bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ utils/profiles.o $(LDFLAGS) $(LIBS)
 
-bin/smbspool: $(CUPS_OBJ) bin/.dummy
+bin/smbspool at EXEEXT@: $(CUPS_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(CUPS_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbmount: $(MOUNT_OBJ) bin/.dummy
+bin/smbmount at EXEEXT@: $(MOUNT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(MOUNT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbmnt: $(MNT_OBJ) bin/.dummy
+bin/smbmnt at EXEEXT@: $(MNT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(MNT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbumount: $(UMOUNT_OBJ) bin/.dummy
+bin/smbumount at EXEEXT@: $(UMOUNT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(UMOUNT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/testparm: $(TESTPARM_OBJ) @BUILD_POPT@ bin/.dummy
+bin/testparm at EXEEXT@: $(TESTPARM_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(TESTPARM_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/testprns: $(TESTPRNS_OBJ) bin/.dummy
+bin/testprns at EXEEXT@: $(TESTPRNS_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(TESTPRNS_OBJ) $(LDFLAGS) $(PRINTLIBS) $(LIBS)
 
-bin/smbstatus: $(STATUS_OBJ) @BUILD_POPT@ bin/.dummy
+bin/smbstatus at EXEEXT@: $(STATUS_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(STATUS_OBJ) $(LDFLAGS) $(LIBS) @BUILD_POPT@
 
-bin/smbcontrol: $(SMBCONTROL_OBJ) bin/.dummy
+bin/smbcontrol at EXEEXT@: $(SMBCONTROL_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) -DUSING_SMBCONTROL $(FLAGS) -o $@ $(SMBCONTROL_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbtree: $(SMBTREE_OBJ) bin/.dummy
+bin/smbtree at EXEEXT@: $(SMBTREE_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBTREE_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbpasswd: $(SMBPASSWD_OBJ) bin/.dummy
+bin/smbpasswd at EXEEXT@: $(SMBPASSWD_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS)
 
-bin/pdbedit: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
+bin/pdbedit at EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @BUILD_POPT@
 
-bin/samtest: $(SAMTEST_OBJ) @BUILD_POPT@ bin/.dummy
+bin/samtest at EXEEXT@: $(SAMTEST_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SAMTEST_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(LIBS) @BUILD_POPT@
 
-bin/smbgroupedit: $(SMBGROUPEDIT_OBJ) bin/.dummy
+bin/smbgroupedit at EXEEXT@: $(SMBGROUPEDIT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBGROUPEDIT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/nmblookup: $(NMBLOOKUP_OBJ) bin/.dummy
+bin/nmblookup at EXEEXT@: $(NMBLOOKUP_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(NMBLOOKUP_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbtorture: $(SMBTORTURE_OBJ) bin/.dummy
+bin/smbtorture at EXEEXT@: $(SMBTORTURE_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBTORTURE_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/talloctort: $(TALLOCTORT_OBJ) bin/.dummy
+bin/talloctort at EXEEXT@: $(TALLOCTORT_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(TALLOCTORT_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/masktest: $(MASKTEST_OBJ) bin/.dummy
+bin/masktest at EXEEXT@: $(MASKTEST_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(MASKTEST_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/msgtest: $(MSGTEST_OBJ) bin/.dummy
+bin/msgtest at EXEEXT@: $(MSGTEST_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(MSGTEST_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbcacls: $(SMBCACLS_OBJ) bin/.dummy
+bin/smbcacls at EXEEXT@: $(SMBCACLS_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBCACLS_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS)
 
-bin/locktest: $(LOCKTEST_OBJ) bin/.dummy
+bin/locktest at EXEEXT@: $(LOCKTEST_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(LOCKTEST_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/nsstest: $(NSSTEST_OBJ) bin/.dummy
+bin/nsstest at EXEEXT@: $(NSSTEST_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(NSSTEST_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/vfstest: $(VFSTEST_OBJ) @BUILD_POPT@ bin/.dummy
+bin/vfstest at EXEEXT@: $(VFSTEST_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(VFSTEST_OBJ) $(LDFLAGS) $(TERMLDFLAGS) $(TERMLIBS) $(DYNEXP) $(PRINTLIBS) $(AUTHLIBS) $(LIBS) @BUILD_POPT@
 
-bin/locktest2: $(LOCKTEST2_OBJ) bin/.dummy
+bin/locktest2 at EXEEXT@: $(LOCKTEST2_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(LOCKTEST2_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/rpctorture: $(RPCTORTURE_OBJ) bin/.dummy
+bin/rpctorture at EXEEXT@: $(RPCTORTURE_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(RPCTORTURE_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS)
 
-bin/debug2html: $(DEBUG2HTML_OBJ) bin/.dummy
+bin/debug2html at EXEEXT@: $(DEBUG2HTML_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(DEBUG2HTML_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbfilter: $(SMBFILTER_OBJ) bin/.dummy
+bin/smbfilter at EXEEXT@: $(SMBFILTER_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBFILTER_OBJ) $(LDFLAGS) $(LIBS)
 
-bin/smbw_sample: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
+bin/smbw_sample at EXEEXT@: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS)
 
-bin/smbsh: $(SMBSH_OBJ) bin/.dummy
+bin/smbsh at EXEEXT@: $(SMBSH_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(SMBSH_OBJ) $(LDFLAGS) $(LIBS)
 
@@ -828,7 +836,7 @@ nsswitch/libnss_wins. at SHLIBEXT@: $(NSS_O
 	@$(SHLD) $(LDSHFLAGS) -o $@ $(NSS_OBJ) -lc \
 		@SONAMEFLAG@`basename $@`
 
-bin/winbindd: $(WINBINDD_OBJ) bin/.dummy
+bin/winbindd at EXEEXT@: $(WINBINDD_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(LINK) -o $@ $(WINBINDD_OBJ) $(DYNEXP) $(LIBS)
 
@@ -877,13 +885,13 @@ bin/vfs_netatalk. at SHLIBEXT@: $(VFS_NETAT
 	@$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NETATALK_OBJ) \
 		@SONAMEFLAG@`basename $@`
 
-bin/wbinfo: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
+bin/wbinfo at EXEEXT@: $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
 		$(UBIQX_OBJ) $(SECRETS_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(LINK) -o $@ $(WBINFO_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
 		$(UBIQX_OBJ) $(SECRETS_OBJ) $(LIBS) @BUILD_POPT@
 
-bin/ntlm_auth: $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
+bin/ntlm_auth at EXEEXT@: $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
 		$(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy
 	@echo Linking $@
 	@$(LINK) -o $@ $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
@@ -896,7 +904,7 @@ bin/pam_smbpass. at SHLIBEXT@: $(PAM_SMBPAS
 bin/libmsrpc.a: $(LIBMSRPC_PICOBJ)
 	-$(AR) -rc $@ $(LIBMSRPC_PICOBJ) 
 
-bin/tdbbackup: $(TDBBACKUP_OBJ) bin/.dummy
+bin/tdbbackup at EXEEXT@: $(TDBBACKUP_OBJ) bin/.dummy
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(TDBBACKUP_OBJ)
 
diff -urp old/samba/source/configure.in new/samba/source/configure.in
--- old/samba/source/configure.in	Fri Nov 29 19:21:40 2002
+++ new/samba/source/configure.in	Fri Nov 29 19:22:43 2002
@@ -191,6 +191,9 @@ AC_PROG_LD_GNU
 dnl needed before AC_TRY_COMPILE
 AC_ISC_POSIX
 
+dnl look for executable suffix
+AC_EXEEXT
+
 dnl Check if C compiler understands -c and -o at the same time
 AC_PROG_CC_C_O
 if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" = no"; then
@@ -736,7 +739,7 @@ fi
 # Check if we have execl, if not we need to compile smbrun.
 AC_CHECK_FUNCS(execl)
 if test x"$ac_cv_func_execl" = x"no"; then
-    EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun"
+    EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/smbrun$(EXEEXT)"
 fi
 
 AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
@@ -749,8 +752,8 @@ AC_CHECK_FUNCS(lstat64 fopen64 atexit gr
 AC_CHECK_FUNCS(fseek64 fseeko64 ftell64 ftello64 setluid getpwanam setlinebuf)
 AC_CHECK_FUNCS(srandom random srand rand setenv usleep strcasecmp fcvt fcvtl symlink readlink)
 AC_CHECK_FUNCS(syslog vsyslog getgrouplist timegm)
-# setbuffer is needed for smbtorture
-AC_CHECK_FUNCS(setbuffer)
+# setbuffer, shmget, shm_open are needed for smbtorture
+AC_CHECK_FUNCS(setbuffer shmget shm_open)
 
 # syscall() is needed for smbwrapper.
 AC_CHECK_FUNCS(syscall)
@@ -1883,7 +1886,7 @@ AC_ARG_WITH(smbwrapper,
   yes)
     AC_MSG_RESULT(yes)
     AC_DEFINE(WITH_SMBWRAPPER,1,[Whether to include smbwrapper support])
-	WRAPPROG="bin/smbsh"
+	WRAPPROG="bin/smbsh$(EXEEXT)"
 	WRAP="bin/smbwrapper.$SHLIBEXT"
 
 	if test x$ATTEMPT_WRAP32_BUILD = x; then
@@ -3053,8 +3056,8 @@ if test x"$HAVE_WINBIND" = x"yes"; then
         AC_MSG_RESULT(yes)
 	AC_DEFINE(WITH_WINBIND,1,[Whether to build winbind])
 
-	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo"
-	EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd"
+	EXTRA_BIN_PROGS="$EXTRA_BIN_PROGS bin/wbinfo$(EXEEXT)"
+	EXTRA_SBIN_PROGS="$EXTRA_SBIN_PROGS bin/winbindd$(EXEEXT)"
         if test x"$BLDSHARED" = x"true"; then
 		SHLIB_PROGS="$SHLIB_PROGS nsswitch/libnss_winbind.so"
 		if test x"$with_pam" = x"yes"; then
diff -urp old/samba/source/torture/torture.c new/samba/source/torture/torture.c
--- old/samba/source/torture/torture.c	Tue Nov 26 11:37:13 2002
+++ new/samba/source/torture/torture.c	Tue Nov 26 13:58:58 2002
@@ -69,6 +69,7 @@ void *shm_setup(int size)
 	int shmid;
 	void *ret;
 
+#ifdef HAVE_SHMGET
 	shmid = shmget(IPC_PRIVATE, size, SHM_R | SHM_W);
 	if (shmid == -1) {
 		printf("can't get shared memory\n");
@@ -87,7 +88,23 @@ void *shm_setup(int size)
 	   See Stevens "advanced programming in unix env" for details
 	   */
 	shmctl(shmid, IPC_RMID, 0);
-	
+#elif HAVE_SHM_OPEN
+	/* Attempt to do the same thing the POSIX way... */
+	shmid = shm_open ("samba_torture.shm", O_RDWR, O_CREAT);
+	if (shmid == -1) {
+		printf("can't get shared memory\n");
+		exit(1);
+	}
+	ret = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, shmid, 0);
+	if (!ret || ret == (void *)-1) {
+		printf("can't attach to shared memory\n");
+		return NULL;
+	}
+	shm_unlink ("samba_torture.shm");
+#else
+	printf("no support for shared memory\n");
+	exit(1);
+#endif
 	return ret;
 }
 
diff -urp old/samba/source/utils/profiles.c new/samba/source/utils/profiles.c
--- old/samba/source/utils/profiles.c	Wed Nov 20 15:42:40 2002
+++ new/samba/source/utils/profiles.c	Wed Nov 20 15:48:28 2002
@@ -408,7 +408,7 @@ int my_sid_equal(DOM_SID *s1, DOM_SID *s
 
   if (sa1 != sa2) return 0;
 
-  return !bcmp((char *)&s1->id_auth, (char *)&s2->id_auth,
+  return !memcmp((void *)&s1->id_auth, (void *)&s2->id_auth,
 		6 + sa1 * 4);
 
 }

### END OF PATCH ###

Thanks
PG
--
Paul Green                  | Mail: Paul.Green at stratus.com
Senior Technical Consultant | Voice: +1 978-461-7557   FAX: +1 978-461-3610
Stratus Technologies        | Video: PictureTel/AT&T by request.
Maynard, MA  01754          | Disclaimer: I speak for myself, not Stratus.





More information about the samba-technical mailing list