diff -urN samba-3.0.0.org/PATCH.README.BeOS samba-3.0.0/PATCH.README.BeOS --- samba-3.0.0.org/PATCH.README.BeOS Thu Jan 1 01:00:00 1970 +++ samba-3.0.0/PATCH.README.BeOS Sat Dec 20 09:19:41 2003 @@ -0,0 +1,15 @@ +plugins: audit.so, extd_audit.so use syslog(), which is in libbe.so, which we checked for in configure, so we have to use $(LIBS). + +before make install: +# cleanup in case other prog used sbin +mv /boot/home/config/sbin/* /boot/home/config/bin/ +rmdir /boot/home/config/sbin/ +# fake it +ln -s bin /boot/home/config/sbin + + + +Why +/boot/home/config/lib/??.msg ??? +/boot/home/config/lib/vfs/recycle.so ... + diff -urN samba-3.0.0.org/TODO.BeOS samba-3.0.0/TODO.BeOS --- samba-3.0.0.org/TODO.BeOS Thu Jan 1 01:00:00 1970 +++ samba-3.0.0/TODO.BeOS Fri Dec 19 17:37:06 2003 @@ -0,0 +1,4 @@ +-Wno-shadow +modules/vfs_beos +configure.in: AC_DEFINE(STAT_ST_BLOCKSIZE,512) ?? +modules as .so Binary files samba-3.0.0.org/a.out and samba-3.0.0/a.out differ diff -urN samba-3.0.0.org/source/Makefile.in samba-3.0.0/source/Makefile.in --- samba-3.0.0.org/source/Makefile.in Wed Sep 24 19:16:13 2003 +++ samba-3.0.0/source/Makefile.in Sat Dec 20 08:51:59 2003 @@ -1021,111 +1021,111 @@ bin/rhosts.@SHLIBEXT@: $(AUTH_RHOSTS_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_RHOSTS_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_RHOSTS_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/builtin.@SHLIBEXT@: $(AUTH_BUILTIN_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_BUILTIN_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_BUILTIN_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/domain.@SHLIBEXT@: $(AUTH_DOMAIN_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_DOMAIN_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_DOMAIN_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/smbserver.@SHLIBEXT@: $(AUTH_SERVER_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SERVER_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SERVER_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/winbind.@SHLIBEXT@: $(AUTH_WINBIND_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_WINBIND_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_WINBIND_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/unix.@SHLIBEXT@: $(AUTH_UNIX_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_UNIX_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_UNIX_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/sam.@SHLIBEXT@: $(AUTH_SAM_OBJ:.o=.po) @echo "Building plugin $@" - @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SAM_OBJ:.o=.po) @SONAMEFLAG@`basename $@` + @$(SHLD) $(LDSHFLAGS) -o $@ $(AUTH_SAM_OBJ:.o=.po) @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/mysql.@SHLIBEXT@: $(MYSQL_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(MYSQL_OBJ:.o=.po) @MYSQL_LIBS@ \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/ldapsam.@SHLIBEXT@: passdb/pdb_ldap.po @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) $(LDAP_LIBS) -o $@ passdb/pdb_ldap.po \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/tdbsam.@SHLIBEXT@: passdb/pdb_tdb.po @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_tdb.po \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/smbpasswd.@SHLIBEXT@: passdb/pdb_smbpasswd.po @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ passdb/pdb_smbpasswd.po \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/weird.@SHLIBEXT@: $(DEVEL_HELP_WEIRD_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_WEIRD_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/CP850.@SHLIBEXT@: $(DEVEL_HELP_CP850_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_CP850_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/CP437.@SHLIBEXT@: $(DEVEL_HELP_CP437_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(DEVEL_HELP_CP437_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/xml.@SHLIBEXT@: $(XML_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(XML_OBJ:.o=.po) @XML_LIBS@ \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/audit.@SHLIBEXT@: $(VFS_AUDIT_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_AUDIT_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` $(LIBS) @SHLIB_PLUGIN_LINKTO@ bin/extd_audit.@SHLIBEXT@: $(VFS_EXTD_AUDIT_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_EXTD_AUDIT_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` $(LIBS) @SHLIB_PLUGIN_LINKTO@ bin/recycle.@SHLIBEXT@: $(VFS_RECYCLE_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_RECYCLE_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/netatalk.@SHLIBEXT@: $(VFS_NETATALK_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_NETATALK_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/fake_perms.@SHLIBEXT@: $(VFS_FAKE_PERMS_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_FAKE_PERMS_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/default_quota.@SHLIBEXT@: $(VFS_DEFAULT_QUOTA_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_DEFAULT_QUOTA_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/readonly.@SHLIBEXT@: $(VFS_READONLY_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_READONLY_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/cap.@SHLIBEXT@: $(VFS_CAP_OBJ:.o=.po) @echo "Building plugin $@" @$(SHLD) $(LDSHFLAGS) -o $@ $(VFS_CAP_OBJ:.o=.po) \ - @SONAMEFLAG@`basename $@` + @SONAMEFLAG@`basename $@` @SHLIB_PLUGIN_LINKTO@ bin/wbinfo@EXEEXT@: $(WBINFO_OBJ) @BUILD_POPT@ bin/.dummy @echo Linking $@ diff -urN samba-3.0.0.org/source/configure.in samba-3.0.0/source/configure.in --- samba-3.0.0.org/source/configure.in Wed Sep 24 19:16:13 2003 +++ samba-3.0.0/source/configure.in Fri Dec 19 23:01:10 2003 @@ -145,6 +145,7 @@ AC_SUBST(PICSUFFIX) AC_SUBST(POBAD_CC) AC_SUBST(SHLIBEXT) +AC_SUBST(SHLIB_PLUGIN_LINKTO) AC_SUBST(INSTALLCLIENT) AC_SUBST(INSTALLCLIENTCMD_SH) AC_SUBST(INSTALLCLIENTCMD_A) @@ -543,6 +544,13 @@ fi AC_MSG_RESULT([$GLIBC_LFS_SUPPORT]) ;; +# +# BeOS sometimes has inet_ntoa in libbind (BONE). syslog stuff is in libbe, for no reason. +# + *beos*) + AC_CHECK_LIB(bind,__inet_ntoa) + AC_CHECK_LIB(be,openlog) + ;; esac @@ -1024,6 +1032,7 @@ PICSUFFIX="po" POBAD_CC="#" SHLIBEXT="so" +SHLIB_PLUGIN_LINKTO="" if test "$enable_shared" = "yes"; then # this bit needs to be modified for each OS that is suported by @@ -1186,6 +1195,15 @@ BLDSHARED="true" LDSHFLAGS="-bundle -flat_namespace -undefined suppress" SHLIBEXT="dylib" + AC_DEFINE(STAT_ST_BLOCKSIZE,512) + ;; + *beos*) AC_DEFINE(BEOS,1,[Whether the host os is BeOS/Zeta]) + BLDSHARED="false" # not workign yet + LDSHFLAGS="-nostart" + DYNEXP="-Wl,--export-dynamic" + PICFLAG="" # PIC is on by default + SONAMEFLAG="-Xlinker -soname=" + SHLIB_PLUGIN_LINKTO="bin/smbd" AC_DEFINE(STAT_ST_BLOCKSIZE,512) ;; diff -urN samba-3.0.0.org/source/iftest.c samba-3.0.0/source/iftest.c --- samba-3.0.0.org/source/iftest.c Thu Jan 1 01:00:00 1970 +++ samba-3.0.0/source/iftest.c Sat Dec 20 08:30:30 2003 @@ -0,0 +1,6 @@ +#define HAVE_IFACE_AIX 1 +#define AUTOCONF_TEST 1 +//#include "confdefs.h" +#include +#include "./lib/interfaces.c" + diff -urN samba-3.0.0.org/source/include/byteorder.h samba-3.0.0/source/include/byteorder.h --- samba-3.0.0.org/source/include/byteorder.h Fri Aug 15 22:39:52 2003 +++ samba-3.0.0/source/include/byteorder.h Fri Nov 14 01:35:03 2003 @@ -18,8 +18,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifndef _BYTEORDER_H -#define _BYTEORDER_H +#ifndef SMB_BYTEORDER_H +#define SMB_BYTEORDER_H /* This file implements macros for machine independent short and @@ -97,7 +97,7 @@ /* we know that the 386 can handle misalignment and has the "right" byteorder */ -#ifdef __i386__ +#if defined(__i386__) || defined(__BEOS__) #define CAREFUL_ALIGNMENT 0 #endif diff -urN samba-3.0.0.org/source/include/config.h.in samba-3.0.0/source/include/config.h.in --- samba-3.0.0.org/source/include/config.h.in Thu Sep 25 03:54:13 2003 +++ samba-3.0.0/source/include/config.h.in Fri Dec 19 22:26:28 2003 @@ -3,6 +3,9 @@ /* Whether the host os is aix */ #undef AIX +/* Whether the host os is BeOS/Zeta */ +#undef BEOS + /* Does getgrnam work correctly */ #undef BROKEN_GETGRNAM @@ -537,6 +540,12 @@ /* Define to 1 if you have the `asn1' library (-lasn1). */ #undef HAVE_LIBASN1 + +/* Define to 1 if you have the `be' library (-lbe). */ +#undef HAVE_LIBBE + +/* Define to 1 if you have the `bind' library (-lbind). */ +#undef HAVE_LIBBIND /* Define to 1 if you have the `com_err' library (-lcom_err). */ #undef HAVE_LIBCOM_ERR diff -urN samba-3.0.0.org/source/lib/fault.c samba-3.0.0/source/lib/fault.c --- samba-3.0.0.org/source/lib/fault.c Thu Aug 28 23:42:43 2003 +++ samba-3.0.0/source/lib/fault.c Tue Jan 25 18:00:12 2005 @@ -46,8 +46,10 @@ CatchSignal(SIGSEGV,SIGNAL_CAST SIG_DFL); #endif #ifdef SIGBUS +#if !defined(SIGSEGV) || (SIGSEGV != SIGBUS) CatchSignal(SIGBUS,SIGNAL_CAST SIG_DFL); #endif +#endif return; /* this should cause a core dump */ } exit(1); @@ -67,12 +69,15 @@ void fault_setup(void (*fn)(void *)) { cont_fn = fn; - +#ifdef WTF_BEOS_DEBUGGER_WANTS_TO_CATCH_THOSE #ifdef SIGSEGV CatchSignal(SIGSEGV,SIGNAL_CAST sig_fault); #endif #ifdef SIGBUS +#if !defined(SIGSEGV) || (SIGSEGV != SIGBUS) CatchSignal(SIGBUS,SIGNAL_CAST sig_fault); +#endif +#endif #endif } diff -urN samba-3.0.0.org/source/lib/interfaces.c samba-3.0.0/source/lib/interfaces.c --- samba-3.0.0.org/source/lib/interfaces.c Sat Jun 7 19:57:32 2003 +++ samba-3.0.0/source/lib/interfaces.c Thu Jan 29 16:56:30 2004 @@ -307,7 +307,14 @@ goto next; } +#ifndef __BEOS__ nmask = ((struct sockaddr_in *)&ifr->ifr_addr)->sin_addr; +#else + /* + * BeOS (BONE) uses a different field for that in ifreq_t. + */ + nmask = ((struct sockaddr_in *)&ifr->ifr_mask)->sin_addr; +#endif strncpy(ifaces[total].name, iname, sizeof(ifaces[total].name)-1); ifaces[total].name[sizeof(ifaces[total].name)-1] = 0; @@ -323,10 +330,17 @@ * minimum size. Usually this doesn't matter, but if * your machine has tunnel interfaces, etc. that have * a zero length "link address", this does matter. */ - +#ifndef __BEOS__ if (inc < sizeof(ifr->ifr_addr)) inc = sizeof(ifr->ifr_addr); inc += IFNAMSIZ; +#else + /* + * BONE has a big struct for ifreq, not a union... + * which actually includes everything we would need + * without any other ioctl. */ + inc = sizeof(struct ifreq); +#endif ifr = (struct ifreq*) (((char*) ifr) + inc); i -= inc; diff -urN samba-3.0.0.org/source/lib/system_smbd.c samba-3.0.0/source/lib/system_smbd.c --- samba-3.0.0.org/source/lib/system_smbd.c Wed Jul 16 17:56:26 2003 +++ samba-3.0.0/source/lib/system_smbd.c Fri Nov 14 01:46:58 2003 @@ -92,13 +92,13 @@ restore_re_gid(); - if (setgroups(ngrp_saved, gids_saved) != 0) { - /* yikes! */ - DEBUG(0,("ERROR: getgrouplist: failed to reset group list!\n")); - smb_panic("getgrouplist: failed to reset group list!\n"); - free(gids_saved); - return -1; - } +// if (setgroups(ngrp_saved, gids_saved) != 0) { +// /* yikes! */ +// DEBUG(0,("ERROR: getgrouplist: failed to reset group list!\n")); +// smb_panic("getgrouplist: failed to reset group list!\n"); +// free(gids_saved); +// return -1; +// } free(gids_saved); return ret; diff -urN samba-3.0.0.org/source/libsmb/libsmbclient.c samba-3.0.0/source/libsmb/libsmbclient.c --- samba-3.0.0.org/source/libsmb/libsmbclient.c Sat Jun 7 19:57:33 2003 +++ samba-3.0.0/source/libsmb/libsmbclient.c Fri Nov 14 11:21:08 2003 @@ -1140,7 +1140,9 @@ st->st_size = size; st->st_blksize = 512; +#ifndef __BEOS__ st->st_blocks = (size+511)/512; +#endif /* __BEOS__ */ st->st_uid = getuid(); st->st_gid = getgid(); diff -urN samba-3.0.0.org/source/modules/vfs_recycle.c samba-3.0.0/source/modules/vfs_recycle.c --- samba-3.0.0.org/source/modules/vfs_recycle.c Mon Sep 8 18:04:35 2003 +++ samba-3.0.0/source/modules/vfs_recycle.c Fri Nov 14 00:54:02 2003 @@ -213,7 +213,11 @@ char *tok_str; BOOL ret = False; - mode = S_IREAD | S_IWRITE | S_IEXEC; + mode = S_IREAD | S_IWRITE +#ifdef S_IEXEC + | S_IEXEC +#endif +; tmp_str = strdup(dname); ALLOC_CHECK(tmp_str, done); diff -urN samba-3.0.0.org/source/nsswitch/wb_client.c samba-3.0.0/source/nsswitch/wb_client.c --- samba-3.0.0.org/source/nsswitch/wb_client.c Fri Aug 15 22:39:57 2003 +++ samba-3.0.0/source/nsswitch/wb_client.c Fri Nov 14 01:45:01 2003 @@ -316,11 +316,11 @@ /* Set the groups */ - if (sys_setgroups(ngroups, groups) == -1) { +// if (sys_setgroups(ngroups, groups) == -1) { errno = EPERM; result = -1; goto done; - } +// } } else { diff -urN samba-3.0.0.org/source/nsswitch/wb_common.c samba-3.0.0/source/nsswitch/wb_common.c --- samba-3.0.0.org/source/nsswitch/wb_common.c Fri Aug 15 22:39:57 2003 +++ samba-3.0.0/source/nsswitch/wb_common.c Fri Nov 14 01:00:21 2003 @@ -130,6 +130,7 @@ } /* Connect to winbindd socket */ +#ifdef HAVE_UNIXSOCKET static int winbind_named_pipe_sock(const char *dir) { @@ -197,6 +198,7 @@ return fd; } +#endif /* Connect to winbindd socket */ diff -urN samba-3.0.0.org/source/rpc_server/srv_spoolss_nt.c samba-3.0.0/source/rpc_server/srv_spoolss_nt.c --- samba-3.0.0.org/source/rpc_server/srv_spoolss_nt.c Thu Aug 28 23:42:45 2003 +++ samba-3.0.0/source/rpc_server/srv_spoolss_nt.c Fri Nov 14 01:41:42 2003 @@ -1803,7 +1803,11 @@ && (RA_WIN2K == get_remote_arch()) ) { DEBUG(10,("_spoolss_open_printer_ex: Enabling LAN/WAN hack for Win2k clients.\n")); +#ifdef __BEOS__ + snooze( 500000 ); +#else usleep( 500000 ); +#endif /* __BEOS__ */ } return WERR_OK; diff -urN samba-3.0.0.org/source/smbd/dosmode.c samba-3.0.0/source/smbd/dosmode.c --- samba-3.0.0.org/source/smbd/dosmode.c Sat Jun 7 19:57:39 2003 +++ samba-3.0.0/source/smbd/dosmode.c Fri Nov 14 00:52:20 2003 @@ -135,10 +135,11 @@ if (S_ISDIR(sbuf->st_mode)) result = aDIR | (result & aRONLY); - +#ifndef __BEOS__ if (sbuf->st_size > sbuf->st_blocks * (SMB_OFF_T)sbuf->st_blksize) { result |= FILE_ATTRIBUTE_SPARSE; } +#endif #ifdef S_ISLNK #if LINKS_READ_ONLY diff -urN samba-3.0.0.org/source/tdb/tdbback.c samba-3.0.0/source/tdb/tdbback.c --- samba-3.0.0.org/source/tdb/tdbback.c Tue Jul 1 16:40:46 2003 +++ samba-3.0.0/source/tdb/tdbback.c Fri Nov 14 01:05:34 2003 @@ -26,7 +26,9 @@ #include #include #include +#ifndef __BEOS__ #include +#endif #include #include #include diff -urN samba-3.0.0.org/source/tdb/tdbbackup.c samba-3.0.0/source/tdb/tdbbackup.c --- samba-3.0.0.org/source/tdb/tdbbackup.c Tue Jul 1 22:44:26 2003 +++ samba-3.0.0/source/tdb/tdbbackup.c Fri Nov 14 01:55:23 2003 @@ -49,7 +49,10 @@ #include #include #include +#ifndef __BEOS__ #include +#endif + #include #include #include diff -urN samba-3.0.0.org/source/tests/summary.c samba-3.0.0/source/tests/summary.c --- samba-3.0.0.org/source/tests/summary.c Mon Apr 17 07:56:49 2000 +++ samba-3.0.0/source/tests/summary.c Fri Nov 14 00:41:35 2003 @@ -2,7 +2,7 @@ main() { -#if !(defined(HAVE_FCNTL_LOCK) || defined(HAVE_STRUCT_FLOCK64)) +#if !(defined(HAVE_FCNTL_LOCK) || defined(HAVE_STRUCT_FLOCK64)) && !defined(__BEOS__) printf("ERROR: No locking available. Running Samba would be unsafe\n"); exit(1); #endif @@ -11,7 +11,7 @@ printf("WARNING: No automated network interface determination\n"); #endif -#if !(defined(USE_SETEUID) || defined(USE_SETREUID) || defined(USE_SETRESUID) || defined(USE_SETUIDX)) +#if !(defined(USE_SETEUID) || defined(USE_SETREUID) || defined(USE_SETRESUID) || defined(USE_SETUIDX)) && !defined(__BEOS__) printf("ERROR: no seteuid method available\n"); exit(1); #endif diff -urN samba-3.0.0.org/source/utils/profiles.c samba-3.0.0/source/utils/profiles.c --- samba-3.0.0.org/source/utils/profiles.c Fri Aug 15 22:40:01 2003 +++ samba-3.0.0/source/utils/profiles.c Fri Dec 19 16:50:44 2003 @@ -295,7 +295,9 @@ #include #include #include +#ifndef __BEOS__ #include +#endif typedef unsigned int DWORD; typedef unsigned short WORD; @@ -610,7 +612,18 @@ * dealing with the records. We are interested in the sk record */ start = 0; +#ifdef HAVE_MMAP base = mmap(&start, sbuf.st_size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); +#else + base = malloc(sbuf.st_size); + if (base) { + if (read(fd, base, sbuf.st_size) < sbuf.st_size) { + free(base); + base = -1; + } + } else + base = (void *)-1; +#endif if ((int)base == -1) { fprintf(stderr, "Could not mmap file: %s, %s\n", poptPeekArg(pc), @@ -726,7 +739,12 @@ sk_hdr = (SK_HDR *)(base + OFF(IVAL(&sk_hdr->prev_off, 0))); } while (sk_off != first_sk_off); - munmap(base, sbuf.st_size); +#ifdef HAVE_MMAP + munmap(base, sbuf.st_size); +#else + lseek(fd, 0LL, SEEK_SET); + write(fd, base, sbuf.st_size); +#endif poptFreeContext(pc);