diff options
Diffstat (limited to 'net/samba3/files')
-rw-r--r-- | net/samba3/files/README.FreeBSD | 2 | ||||
-rw-r--r-- | net/samba3/files/patch-Makefile.in | 16 | ||||
-rw-r--r-- | net/samba3/files/patch-aclocal.m4 | 104 | ||||
-rw-r--r-- | net/samba3/files/patch-configure.in | 50 | ||||
-rw-r--r-- | net/samba3/files/patch-include_includes.h | 17 | ||||
-rw-r--r-- | net/samba3/files/patch-lib_system.c | 306 | ||||
-rw-r--r-- | net/samba3/files/patch-script_installswat.sh | 4 | ||||
-rw-r--r-- | net/samba3/files/samba.sh.sample | 2 | ||||
-rw-r--r-- | net/samba3/files/smb.conf.default | 14 |
9 files changed, 22 insertions, 493 deletions
diff --git a/net/samba3/files/README.FreeBSD b/net/samba3/files/README.FreeBSD index fc1e790897f0..f0957adc703f 100644 --- a/net/samba3/files/README.FreeBSD +++ b/net/samba3/files/README.FreeBSD @@ -12,7 +12,7 @@ are encouraged to use 'tdbsam' backend instead: passdb backend = tdbsam, smbpasswd You can use pdbedit to migrate accounts from 'smbpasswd' to 'tdbsam', -see the Samba-HOWTO-Collection. +see the Samba3-HOWTO-Collection. You still can create 'smbpasswd' file with the supplied 'make_smbpasswd' script: diff --git a/net/samba3/files/patch-Makefile.in b/net/samba3/files/patch-Makefile.in index 160a940172f8..b91e88f6b97f 100644 --- a/net/samba3/files/patch-Makefile.in +++ b/net/samba3/files/patch-Makefile.in @@ -1,14 +1,14 @@ ---- Makefile.in.orig Sun Nov 7 21:43:23 2004 -+++ Makefile.in Mon Nov 8 17:40:48 2004 -@@ -99,6 +99,7 @@ +--- Makefile.in.orig Tue Jul 12 18:42:55 2005 ++++ Makefile.in Fri Jul 22 04:03:37 2005 +@@ -97,6 +97,7 @@ LIBSMBCLIENT_MAJOR=0 LIBSMBCLIENT_MINOR=1 +NSS_VERSION=1 - FLAGS1 = $(CFLAGS) @FLAGS1@ -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx -I$(srcdir)/smbwrapper -I. $(CPPFLAGS) -I$(srcdir) + FLAGS1 = $(CFLAGS) @FLAGS1@ -Iinclude -I$(srcdir)/include -I$(srcdir)/ubiqx @SMBWRAP_INC@ -I. $(CPPFLAGS) -I$(srcdir) FLAGS2 = -@@ -989,8 +990,8 @@ +@@ -987,8 +988,8 @@ @SONAMEFLAG@`basename $@` bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS) @@ -19,7 +19,7 @@ $(KRB5LIBS) $(LDAP_LIBS) \ @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR) -@@ -1074,13 +1075,13 @@ +@@ -1082,13 +1083,13 @@ @WINBIND_NSS@: $(WINBIND_NSS_PICOBJS) @echo "Linking $@" @$(SHLD) $(WINBIND_NSS_LDSHFLAGS) -o $@ $(WINBIND_NSS_PICOBJS) \ @@ -35,10 +35,10 @@ nsswitch/pam_winbind.@SHLIBEXT@: $(PAM_WINBIND_PICOBJ) bin/.dummy @echo "Linking $@" -@@ -1276,7 +1277,7 @@ +@@ -1295,7 +1296,7 @@ bin/t_snprintf@EXEEXT@: lib/snprintf.c - $(CC) $(FLAGS) -o $@ $(DYNEXP) -DTEST_SNPRINTF lib/snprintf.c -lm + $(CC) $(FLAGS) @PIE_LDFLAGS@ -o $@ $(DYNEXP) -DTEST_SNPRINTF lib/snprintf.c -lm -install: installbin installman installscripts installdat installswat installmodules @INSTALLCLIENT@ +install: installbin installscripts installdat installswat installmodules diff --git a/net/samba3/files/patch-aclocal.m4 b/net/samba3/files/patch-aclocal.m4 deleted file mode 100644 index 36c172411d1e..000000000000 --- a/net/samba3/files/patch-aclocal.m4 +++ /dev/null @@ -1,104 +0,0 @@ ---- aclocal.m4.orig Sat Apr 3 22:30:01 2004 -+++ aclocal.m4 Sat Apr 3 22:33:24 2004 -@@ -564,89 +564,20 @@ - jm_cv_lib_iconv="" - jm_cv_giconv=no - jm_save_LIBS="$LIBS" -- LIBS="$LIBS -lbiconv" -- AC_TRY_LINK([#include <stdlib.h> --#include <biconv.h>], -- [iconv_t cd = iconv_open("",""); -- iconv(cd,NULL,NULL,NULL,NULL); -- iconv_close(cd);], -- jm_cv_func_iconv=yes -- jm_cv_biconv=yes -- jm_cv_include="biconv.h" -- jm_cv_lib_iconv="biconv") -- LIBS="$jm_save_LIBS" -- -- dnl Check for include in funny place but no lib needed -- if test "$jm_cv_func_iconv" != yes; then -- AC_TRY_LINK([#include <stdlib.h> --#include <giconv.h>], -- [iconv_t cd = iconv_open("",""); -- iconv(cd,NULL,NULL,NULL,NULL); -- iconv_close(cd);], -- jm_cv_func_iconv=yes -- jm_cv_include="giconv.h" -- jm_cv_giconv="yes" -- jm_cv_lib_iconv="") -- -- dnl Standard iconv.h include, lib in glibc or libc ... -- if test "$jm_cv_func_iconv" != yes; then -- AC_TRY_LINK([#include <stdlib.h> -+ LIBS="$LIBS -liconv" -+ AC_TRY_LINK([#include <stdlib.h> - #include <iconv.h>], -- [iconv_t cd = iconv_open("",""); -- iconv(cd,NULL,NULL,NULL,NULL); -- iconv_close(cd);], -- jm_cv_include="iconv.h" -- jm_cv_func_iconv=yes -- jm_cv_lib_iconv="") -- -- if test "$jm_cv_lib_iconv" != yes; then -- jm_save_LIBS="$LIBS" -- LIBS="$LIBS -lgiconv" -- AC_TRY_LINK([#include <stdlib.h> --#include <giconv.h>], -- [iconv_t cd = iconv_open("",""); -- iconv(cd,NULL,NULL,NULL,NULL); -- iconv_close(cd);], -- jm_cv_lib_iconv=yes -- jm_cv_func_iconv=yes -- jm_cv_include="giconv.h" -- jm_cv_giconv=yes -- jm_cv_lib_iconv="giconv") -- -- LIBS="$jm_save_LIBS" -- -- if test "$jm_cv_func_iconv" != yes; then -- jm_save_LIBS="$LIBS" -- LIBS="$LIBS -liconv" -- AC_TRY_LINK([#include <stdlib.h> --#include <iconv.h>], -- [iconv_t cd = iconv_open("",""); -- iconv(cd,NULL,NULL,NULL,NULL); -- iconv_close(cd);], -- jm_cv_include="iconv.h" -- jm_cv_func_iconv=yes -- jm_cv_lib_iconv="iconv") -- LIBS="$jm_save_LIBS" -- fi -- fi -- fi -- fi -+ [iconv_t cd = iconv_open("",""); -+ iconv(cd,NULL,NULL,NULL,NULL); -+ iconv_close(cd);], -+ jm_cv_include="iconv.h" -+ jm_cv_func_iconv=yes -+ jm_cv_lib_iconv="iconv") -+ LIBS="$jm_save_LIBS" - if test "$jm_cv_func_iconv" = yes; then -- if test "$jm_cv_giconv" = yes; then -- AC_DEFINE(HAVE_GICONV, 1, [What header to include for iconv() function: giconv.h]) -- AC_MSG_RESULT(yes) -- ICONV_FOUND=yes -- else -- if test "$jm_cv_biconv" = yes; then -- AC_DEFINE(HAVE_BICONV, 1, [What header to include for iconv() function: biconv.h]) -- AC_MSG_RESULT(yes) -- ICONV_FOUND=yes -- else -- AC_DEFINE(HAVE_ICONV, 1, [What header to include for iconv() function: iconv.h]) -- AC_MSG_RESULT(yes) -- ICONV_FOUND=yes -- fi -- fi -+ AC_DEFINE(HAVE_ICONV, 1, [What header to include for iconv() function: iconv.h]) -+ AC_MSG_RESULT(yes) -+ ICONV_FOUND=yes - else - AC_MSG_RESULT(no) - fi diff --git a/net/samba3/files/patch-configure.in b/net/samba3/files/patch-configure.in deleted file mode 100644 index 264d8495296a..000000000000 --- a/net/samba3/files/patch-configure.in +++ /dev/null @@ -1,50 +0,0 @@ ---- configure.in.orig Thu Apr 14 08:14:26 2005 -+++ configure.in Wed Jul 20 02:42:57 2005 -@@ -727,7 +727,9 @@ - AC_CHECK_HEADERS(nss.h nss_common.h nsswitch.h ns_api.h sys/security.h security/pam_appl.h) - AC_CHECK_HEADERS(stropts.h poll.h) - AC_CHECK_HEADERS(sys/capability.h syscall.h sys/syscall.h) --AC_CHECK_HEADERS(sys/acl.h sys/attributes.h attr/xattr.h sys/xattr.h sys/cdefs.h glob.h) -+AC_CHECK_HEADERS(sys/acl.h sys/attributes.h attr/xattr.h sys/xattr.h sys/extattr.h sys/uio.h) -+AC_CHECK_HEADERS(sys/cdefs.h glob.h) -+ - # These faile to compile on Solaris so just check for their presence - AC_CHECK_HEADERS(security/pam_modules.h net/if.h netinet/ip.h, [], [], -) - -@@ -1162,6 +1164,18 @@ - AC_CHECK_FUNCS(setxattr lsetxattr fsetxattr) - AC_CHECK_FUNCS(attr_get attr_list attr_set attr_remove) - AC_CHECK_FUNCS(attr_getf attr_listf attr_setf attr_removef) -+# Check if we have extattr -+case "$host_os" in -+ *freebsd4* | *DragonFly* ) -+ AC_DEFINE(BROKEN_EXTATTR, 1, [Does extattr API work]) -+ ;; -+ *) -+ AC_CHECK_FUNCS(extattr_delete_fd extattr_delete_file extattr_delete_link) -+ AC_CHECK_FUNCS(extattr_get_fd extattr_get_file extattr_get_link) -+ AC_CHECK_FUNCS(extattr_list_fd extattr_list_file extattr_list_link) -+ AC_CHECK_FUNCS(extattr_set_fd extattr_set_file extattr_set_link) -+ ;; -+esac - - # Assume non-shared by default and override below - BLDSHARED="false" -@@ -3974,7 +3988,7 @@ - AC_DEFINE(HAVE_TRU64_ACLS,1,[Whether Tru64 ACLs are available]) - ACL_LIBS="$ACL_LIBS -lpacl" - ;; -- *freebsd5*|*freebsd6*) -+ *freebsd[[5-9]]*) - AC_MSG_RESULT(Using FreeBSD posix ACLs) - AC_DEFINE(HAVE_POSIX_ACLS,1,[Whether FreeBSD POSIX ACLs are available]) - AC_DEFINE(HAVE_ACL_GET_PERM_NP,1,[Whether acl_get_perm_np() is available]) -@@ -4322,7 +4336,7 @@ - *linux*) - WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_linux.o" - ;; -- *freebsd5*|*freebsd6*) -+ *freebsd[[5-9]]*) - # FreeBSD winbind client is implemented as a wrapper around - # the Linux version. - WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \ diff --git a/net/samba3/files/patch-include_includes.h b/net/samba3/files/patch-include_includes.h deleted file mode 100644 index 0260c58a5b85..000000000000 --- a/net/samba3/files/patch-include_includes.h +++ /dev/null @@ -1,17 +0,0 @@ ---- include/includes.h.orig Fri Nov 26 00:47:28 2004 -+++ include/includes.h Fri Nov 26 01:59:16 2004 -@@ -476,6 +476,14 @@ - #include <sys/xattr.h> - #endif - -+#ifdef HAVE_SYS_EXTATTR_H -+#include <sys/extattr.h> -+#endif -+ -+#ifdef HAVE_SYS_UIO_H -+#include <sys/uio.h> -+#endif -+ - #if HAVE_LOCALE_H - #include <locale.h> - #endif diff --git a/net/samba3/files/patch-lib_system.c b/net/samba3/files/patch-lib_system.c deleted file mode 100644 index f67b92a915e8..000000000000 --- a/net/samba3/files/patch-lib_system.c +++ /dev/null @@ -1,306 +0,0 @@ ---- lib/system.c.orig Fri Feb 25 18:59:32 2005 -+++ lib/system.c Fri Mar 4 02:04:45 2005 -@@ -1373,10 +1373,17 @@ - { - #if defined(HAVE_GETXATTR) - return getxattr(path, name, value, size); -+#elif defined(HAVE_EXTATTR_GET_FILE) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_get_file(path, attrnamespace, attrname, value, size); - #elif defined(HAVE_ATTR_GET) - int retval, flags = 0; - int valuelength = (int)size; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1393,10 +1400,17 @@ - { - #if defined(HAVE_LGETXATTR) - return lgetxattr(path, name, value, size); -+#elif defined(HAVE_EXTATTR_GET_LINK) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_get_link(path, attrnamespace, attrname, value, size); - #elif defined(HAVE_ATTR_GET) - int retval, flags = ATTR_DONTFOLLOW; - int valuelength = (int)size; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1413,10 +1427,17 @@ - { - #if defined(HAVE_FGETXATTR) - return fgetxattr(filedes, name, value, size); -+#elif defined(HAVE_EXTATTR_GET_FD) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_get_fd(filedes, attrnamespace, attrname, value, size); - #elif defined(HAVE_ATTR_GETF) - int retval, flags = 0; - int valuelength = (int)size; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1429,6 +1450,99 @@ - #endif - } - -+#if defined(HAVE_EXTATTR_LIST_FILE) -+ -+#define EXTATTR_PREFIX(s) (s), (sizeof((s))-1) -+ -+static struct { -+ int space; -+ const char *name; -+ size_t len; -+} -+extattr[] = { -+ { EXTATTR_NAMESPACE_SYSTEM, EXTATTR_PREFIX("system.") }, -+ { EXTATTR_NAMESPACE_USER, EXTATTR_PREFIX("user.") }, -+}; -+ -+typedef union { -+ const char *path; -+ int filedes; -+} extattr_arg; -+ -+static ssize_t bsd_attr_list (int type, extattr_arg arg, char *list, size_t size) -+{ -+ ssize_t list_size, total_size = 0; -+ int i, t, len; -+ char *buf; -+ /* Iterate through extattr(2) namespaces */ -+ for(t = 0; t < (sizeof(extattr)/sizeof(extattr[0])); t++) { -+ switch(type) { -+#if defined(HAVE_EXTATTR_LIST_FILE) -+ case 0: -+ list_size = extattr_list_file(arg.path, extattr[t].space, list, size); -+ break; -+#endif -+#if defined(HAVE_EXTATTR_LIST_LINK) -+ case 1: -+ list_size = extattr_list_link(arg.path, extattr[t].space, list, size); -+ break; -+#endif -+#if defined(HAVE_EXTATTR_LIST_FD) -+ case 2: -+ list_size = extattr_list_fd(arg.filedes, extattr[t].space, list, size); -+ break; -+#endif -+ default: -+ errno = ENOSYS; -+ return -1; -+ } -+ /* Some error happend. Errno should be set by the previous call */ -+ if(list_size < 0) -+ return -1; -+ /* No attributes */ -+ if(list_size == 0) -+ continue; -+ /* XXX: Call with an empty buffer may be used to calculate -+ necessary buffer size. Unfortunately, we can't say, how -+ many attributes were returned, so here is the potential -+ problem with the emulation. -+ */ -+ if(list == NULL) { -+ /* Take the worse case of one char attribute names - -+ two bytes per name plus one more for sanity. -+ */ -+ total_size += list_size + (list_size/2 + 1)*extattr[t].len; -+ continue; -+ } -+ /* Count necessary offset to fit namespace prefixes */ -+ len = 0; -+ for(i = 0; i < list_size; i += list[i] + 1) -+ len += extattr[t].len; -+ -+ total_size += list_size + len; -+ /* Buffer is too small to fit the results */ -+ if(total_size > size) { -+ errno = ERANGE; -+ return -1; -+ } -+ /* Shift the results back, so we can prepend prefixes */ -+ buf = memmove(list + len, list, list_size); -+ -+ for(i = 0; i < list_size; i += len + 1) { -+ len = buf[i]; -+ strncpy(list, extattr[t].name, extattr[t].len + 1); -+ list += extattr[t].len; -+ strncpy(list, buf + i + 1, len); -+ list[len] = '\0'; -+ list += len + 1; -+ } -+ size -= total_size; -+ } -+ return total_size; -+} -+ -+#endif -+ - #if defined(HAVE_ATTR_LIST) && defined(HAVE_SYS_ATTRIBUTES_H) - static char attr_buffer[ATTR_MAX_VALUELEN]; - -@@ -1501,6 +1615,10 @@ - { - #if defined(HAVE_LISTXATTR) - return listxattr(path, list, size); -+#elif defined(HAVE_EXTATTR_LIST_FILE) -+ extattr_arg arg; -+ arg.path = path; -+ return bsd_attr_list(0, arg, list, size); - #elif defined(HAVE_ATTR_LIST) && defined(HAVE_SYS_ATTRIBUTES_H) - return irix_attr_list(path, 0, list, size, 0); - #else -@@ -1513,6 +1631,10 @@ - { - #if defined(HAVE_LLISTXATTR) - return llistxattr(path, list, size); -+#elif defined(HAVE_EXTATTR_LIST_LINK) -+ extattr_arg arg; -+ arg.path = path; -+ return bsd_attr_list(1, arg, list, size); - #elif defined(HAVE_ATTR_LIST) && defined(HAVE_SYS_ATTRIBUTES_H) - return irix_attr_list(path, 0, list, size, ATTR_DONTFOLLOW); - #else -@@ -1525,6 +1647,10 @@ - { - #if defined(HAVE_FLISTXATTR) - return flistxattr(filedes, list, size); -+#elif defined(HAVE_EXTATTR_LIST_FD) -+ extattr_arg arg; -+ arg.filedes = filedes; -+ return bsd_attr_list(2, arg, list, size); - #elif defined(HAVE_ATTR_LISTF) - return irix_attr_list(NULL, filedes, list, size, 0); - #else -@@ -1537,9 +1663,16 @@ - { - #if defined(HAVE_REMOVEXATTR) - return removexattr(path, name); -+#elif defined(HAVE_EXTATTR_DELETE_FILE) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_delete_file(path, attrnamespace, attrname); - #elif defined(HAVE_ATTR_REMOVE) - int flags = 0; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1554,9 +1687,16 @@ - { - #if defined(HAVE_LREMOVEXATTR) - return lremovexattr(path, name); -+#elif defined(HAVE_EXTATTR_DELETE_LINK) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_delete_link(path, attrnamespace, attrname); - #elif defined(HAVE_ATTR_REMOVE) - int flags = ATTR_DONTFOLLOW; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1571,9 +1711,16 @@ - { - #if defined(HAVE_FREMOVEXATTR) - return fremovexattr(filedes, name); -+#elif defined(HAVE_EXTATTR_DELETE_FD) -+ char *s; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ return extattr_delete_fd(filedes, attrnamespace, attrname); - #elif defined(HAVE_ATTR_REMOVEF) - int flags = 0; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) flags |= ATTR_ROOT; - -@@ -1593,9 +1740,18 @@ - { - #if defined(HAVE_SETXATTR) - return setxattr(path, name, value, size, flags); -+#elif defined(HAVE_EXTATTR_SET_FILE) -+ char *s; -+ int retval = 0; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ retval = extattr_set_file(path, attrnamespace, attrname, value, size); -+ return (retval < 0) ? -1 : 0; - #elif defined(HAVE_ATTR_SET) - int myflags = 0; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) myflags |= ATTR_ROOT; - if (flags & XATTR_CREATE) myflags |= ATTR_CREATE; -@@ -1612,9 +1768,18 @@ - { - #if defined(HAVE_LSETXATTR) - return lsetxattr(path, name, value, size, flags); -+#elif defined(HAVE_EXTATTR_SET_LINK) -+ char *s; -+ int retval = 0; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ retval = extattr_set_link(path, attrnamespace, attrname, value, size); -+ return (retval < 0) ? -1 : 0; - #elif defined(HAVE_ATTR_SET) - int myflags = ATTR_DONTFOLLOW; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) myflags |= ATTR_ROOT; - if (flags & XATTR_CREATE) myflags |= ATTR_CREATE; -@@ -1631,9 +1796,18 @@ - { - #if defined(HAVE_FSETXATTR) - return fsetxattr(filedes, name, value, size, flags); -+#elif defined(HAVE_EXTATTR_SET_FD) -+ char *s; -+ int retval = 0; -+ int attrnamespace = (strncmp(name, "system", 6) == 0) ? -+ EXTATTR_NAMESPACE_SYSTEM : EXTATTR_NAMESPACE_USER; -+ const char *attrname = ((s=strchr_m(name, '.')) == NULL) ? name : s + 1; -+ -+ retval = extattr_set_fd(filedes, attrnamespace, attrname, value, size); -+ return (retval < 0) ? -1 : 0; - #elif defined(HAVE_ATTR_SETF) - int myflags = 0; -- char *attrname = strchr(name,'.') +1; -+ char *attrname = strchr(name,'.') + 1; - - if (strncmp(name, "system", 6) == 0) myflags |= ATTR_ROOT; - if (flags & XATTR_CREATE) myflags |= ATTR_CREATE; diff --git a/net/samba3/files/patch-script_installswat.sh b/net/samba3/files/patch-script_installswat.sh index 9cbea9ebc612..f2ea5abcaee3 100644 --- a/net/samba3/files/patch-script_installswat.sh +++ b/net/samba3/files/patch-script_installswat.sh @@ -1,5 +1,5 @@ ---- script/installswat.sh.orig Fri Dec 17 03:59:34 2004 -+++ script/installswat.sh Fri Dec 17 04:01:34 2004 +--- script/installswat.sh.orig Thu Jul 28 19:44:16 2005 ++++ script/installswat.sh Wed Aug 3 02:33:04 2005 @@ -8,8 +8,7 @@ echo Installing SWAT in $SWATDIR echo Installing the Samba Web Administration Tool diff --git a/net/samba3/files/samba.sh.sample b/net/samba3/files/samba.sh.sample index 9c154b130fab..26214e3844e3 100644 --- a/net/samba3/files/samba.sh.sample +++ b/net/samba3/files/samba.sh.sample @@ -42,7 +42,7 @@ fi if test -n ${samba_enable:-""} && checkyesno samba_enable; then nmbd_enable=${nmbd_enable:-"YES"} smbd_enable=${smbd_enable:-"YES"} -%%WINBIND%% # Check, that winbind is actally configured +%%WINBIND%% # Check that winbind is actually configured %%WINBIND%% if [ "`egrep -i '(idmap.*uid|winbind.*uid)' ${samba_config} 2>/dev/null | egrep -v [\#\;]`" ]; then %%WINBIND%% winbindd_enable="YES" %%WINBIND%% fi diff --git a/net/samba3/files/smb.conf.default b/net/samba3/files/smb.conf.default index 317d7131a00b..e85a61724d2c 100644 --- a/net/samba3/files/smb.conf.default +++ b/net/samba3/files/smb.conf.default @@ -154,10 +154,16 @@ # via DNS nslookups. The default is NO. dns proxy = no -# charset settings -; display charset = ASCII -; unix charset = ASCII -; dos charset = ASCII +# Charset settings +; display charset = koi8-r +; unix charset = koi8-r +; dos charset = cp866 + +# Use extended attributes to store file modes +; store dos attributes = yes +; map hidden = no +; map system = no +; map archive = no # These scripts are used on a domain controller or stand-alone # machine to add or delete corresponding unix accounts |