ports/79037: MAINTAINER update of net/samba3 port to 3.0.12 version

Timur I. Bakeyev timur at gnu.org
Sun Mar 20 03:20:07 UTC 2005


>Number:         79037
>Category:       ports
>Synopsis:       MAINTAINER update of net/samba3 port to 3.0.12 version
>Confidential:   no
>Severity:       non-critical
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 20 03:20:05 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Timur I. Bakeyev
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:


System: FreeBSD 5.3-STABLE #2: Mon Feb 14 05:35:07 CET 2005
    root at timur.home.bat.ru:/usr/src/sys/i386/compile/COMMON



>Description:


An update of net/samba3 to 3.0.12 version.

In this port ADS support is off for the package builds, as it create dependency problems  with Kerberos5.
Also an experimental support of extended attributes is included.



>How-To-Repeat:





>Fix:


--- samba3.diff begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/net/samba3/Makefile,v
retrieving revision 1.135
diff -u -r1.135 Makefile
--- Makefile	7 Feb 2005 05:15:16 -0000	1.135
+++ Makefile	19 Mar 2005 16:44:20 -0000
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=		samba
-PORTVERSION?=		3.0.11
+PORTVERSION?=		3.0.12
 PORTREVISION?=		0
 PORTEPOCH?=		1
 CATEGORIES?=		net
@@ -59,9 +59,16 @@
 CONFIGURE_ARGS+=	--with-libiconv=${LOCALBASE}
 
 .if !defined(SAMBA_SUBPORT)
-OPTIONS=	LDAP		"With LDAP support" on \
-		ADS		"With Active Directory support" on \
-		CUPS		"With CUPS printing support" on \
+
+OPTIONS=	LDAP		"With LDAP support" on
+.if defined(PACKAGE_BUILDING)
+# Kerberos5 setup is very box specific, we don't
+# want artificial dependencies in the packages
+OPTIONS+=	ADS		"With Active Directory support" off
+.else
+OPTIONS+=	ADS		"With Active Directory support" on
+.endif
+OPTIONS+=	CUPS		"With CUPS printing support" on \
 		WINBIND		"With WinBIND support" on \
 		ACL_SUPPORT	"With ACL support" off \
 		SYSLOG		"With Syslog support" off \
@@ -293,8 +300,8 @@
 	@${RM} -rf ${WRKDIR}/${DISTNAME}/examples/libsmbclient
 	@${RM} -rf ${WRKDIR}/${DISTNAME}/swat/lang
 	@${FIND} ${WRKSRC} -name CVS -o -name .cvsignore | ${XARGS} ${RM}
-	@${FIND} ${WRKDIR}/${DISTNAME} -type d | ${XARGS} ${CHMOD} 0755
-	@${FIND} ${WRKDIR}/${DISTNAME}/examples -type f | ${XARGS} ${CHMOD} 0644
+	@${FIND} ${WRKDIR}/${DISTNAME} -type d | ${XARGS} ${CHMOD} u+w,a+rx
+	@${FIND} ${WRKDIR}/${DISTNAME} -type f | ${XARGS} ${CHMOD} u+w,a+r
 
 pre-install:
 	-@${FIND} ${SAMBA_LIBDIR} -type f 2>/dev/null | ${SORT} | ${SED} -e 's|^${PREFIX}||; s|^/||' >> ${WRKDIR}/.PLIST.exclude
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/net/samba3/distinfo,v
retrieving revision 1.62
diff -u -r1.62 distinfo
--- distinfo	7 Feb 2005 05:15:16 -0000	1.62
+++ distinfo	19 Mar 2005 16:27:00 -0000
@@ -1,2 +1,2 @@
-MD5 (samba-3.0.11.tar.gz) = 217e489646a474b4fb69d5802c14bc6e
-SIZE (samba-3.0.11.tar.gz) = 15372539
+MD5 (samba-3.0.12.tar.gz) = 5c31e5d115ba08b30d1541983d30e2dc
+SIZE (samba-3.0.12.tar.gz) = 15576905
Index: pkg-message
===================================================================
RCS file: /home/ncvs/ports/net/samba3/pkg-message,v
retrieving revision 1.3
diff -u -r1.3 pkg-message
--- pkg-message	7 Feb 2005 05:15:16 -0000	1.3
+++ pkg-message	20 Mar 2005 02:43:01 -0000
@@ -1,5 +1,5 @@
-******************************************************************************
-NOTICE: *.tdb files have been moved from /var/run/samba/ to /var/db/samba/!
-NOTICE: Please, move them manually, if necessary, at least winbind_*.tdb.
-******************************************************************************
+Samba3 package now doesn't include ADS support due the portability problems
+with Kerberos5 libraries on different installations. You need to compile port
+yourself to get this functionality.
+
 For additional hints and directions, please, look into the README.FreeBSD file.
Index: pkg-plist
===================================================================
RCS file: /home/ncvs/ports/net/samba3/pkg-plist,v
retrieving revision 1.59
diff -u -r1.59 pkg-plist
--- pkg-plist	7 Feb 2005 05:15:16 -0000	1.59
+++ pkg-plist	19 Mar 2005 17:49:26 -0000
@@ -61,6 +61,8 @@
 %%EXAMPLESDIR%%/dce-dfs/README
 %%EXAMPLESDIR%%/dce-dfs/smb.conf
 %%EXAMPLESDIR%%/genlogon/genlogon.pl
+%%EXAMPLESDIR%%/misc/adssearch.pl
+%%EXAMPLESDIR%%/misc/check_multiple_LDAP_entries.pl
 %%EXAMPLESDIR%%/misc/extra_smbstatus
 %%EXAMPLESDIR%%/misc/swat.pl
 %%EXAMPLESDIR%%/misc/wall.perl
@@ -238,6 +240,7 @@
 share/swat/help/Samba-Guide/ix01.html
 share/swat/help/Samba-Guide/kerberos.html
 share/swat/help/Samba-Guide/migration.html
+share/swat/help/Samba-Guide/nw4migration.html
 share/swat/help/Samba-Guide/pr01.html
 share/swat/help/Samba-Guide/pr02.html
 share/swat/help/Samba-Guide/pr03.html
@@ -335,6 +338,7 @@
 share/swat/help/Samba-HOWTO-Collection/integrate-ms-networks.html
 share/swat/help/Samba-HOWTO-Collection/introduction.html
 share/swat/help/Samba-HOWTO-Collection/ix01.html
+share/swat/help/Samba-HOWTO-Collection/largefile.html
 share/swat/help/Samba-HOWTO-Collection/locking.html
 share/swat/help/Samba-HOWTO-Collection/migration.html
 share/swat/help/Samba-HOWTO-Collection/msdfs.html
@@ -577,12 +581,10 @@
 @dirrm share/swat/using_samba
 @dirrm share/swat/include
 @dirrm share/swat/images
- at dirrm share/swat/help/images
 @dirrm share/swat/help/Samba-HOWTO-Collection/images
 @dirrm share/swat/help/Samba-HOWTO-Collection
 @dirrm share/swat/help/Samba-Guide/images
 @dirrm share/swat/help/Samba-Guide
- at dirrm share/swat/help/Samba-Developers-Guide/images
 @dirrm share/swat/help/Samba-Developers-Guide
 @dirrm share/swat/help
 @dirrm share/swat
Index: files/patch-configure.in
===================================================================
RCS file: /home/ncvs/ports/net/samba3/files/patch-configure.in,v
retrieving revision 1.10
diff -u -r1.10 patch-configure.in
--- files/patch-configure.in	7 Feb 2005 05:15:17 -0000	1.10
+++ files/patch-configure.in	20 Mar 2005 00:25:08 -0000
@@ -1,6 +1,6 @@
---- configure.in.orig	Tue Nov 16 04:03:30 2004
-+++ configure.in	Fri Nov 26 02:04:59 2004
-@@ -691,7 +691,9 @@
+--- configure.in.orig	Fri Mar 11 14:47:05 2005
++++ configure.in	Sun Mar 20 01:24:25 2005
+@@ -724,7 +724,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)
@@ -11,29 +11,22 @@
  # 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, [], [], -)
  
-@@ -829,6 +831,13 @@
-    AC_DEFINE(HAVE_SIG_ATOMIC_T_TYPE,1,[Whether we have the atomic_t variable type])
- fi
- 
-+AC_CACHE_CHECK([for optreset], samba_cv_var_optreset, [
-+  AC_TRY_LINK([#include <unistd.h>],[optreset = 1],
-+  [samba_cv_var_optreset=yes],[samba_cv_var_optreset=no])])
-+if test x"$samba_cv_var_optreset" = x"yes"; then
-+  AC_DEFINE(HAVE_OPTRESET,1,[Whether the system has optreset])
-+fi
-+
- # stupid headers have the functions but no declaration. grrrr.
- AC_HAVE_DECL(errno, [#include <errno.h>])
- AC_HAVE_DECL(setresuid, [#include <unistd.h>])
-@@ -1125,6 +1134,11 @@
+@@ -1159,6 +1161,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
-+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)
++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"
Index: files/patch-lib_system.c
===================================================================
RCS file: files/patch-lib_system.c
diff -N files/patch-lib_system.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-lib_system.c	19 Mar 2005 21:33:53 -0000
@@ -0,0 +1,306 @@
+--- 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;
Index: files/patch-utils_net_time.c
===================================================================
RCS file: files/patch-utils_net_time.c
diff -N files/patch-utils_net_time.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/patch-utils_net_time.c	20 Mar 2005 00:42:40 -0000
@@ -0,0 +1,19 @@
+--- utils/net_time.c.orig	Fri Feb 25 18:59:42 2005
++++ utils/net_time.c	Sun Mar 20 01:41:20 2005
+@@ -76,9 +76,16 @@
+ 
+ 	tm = localtime(&t);
+ 	
++#if defined(FREEBSD)
++	fstr_sprintf(s, "%02d%02d%02d%02d%02d.%02d",
++		 tm->tm_year+1900,tm->tm_mon+1,tm->tm_mday,
++		 tm->tm_hour,tm->tm_min,tm->tm_sec);
++#else
+ 	fstr_sprintf(s, "%02d%02d%02d%02d%04d.%02d", 
+ 		 tm->tm_mon+1, tm->tm_mday, tm->tm_hour, 
+ 		 tm->tm_min, tm->tm_year + 1900, tm->tm_sec);
++#endif /* defined(FREEBSD) */
++	
+ 	return s;
+ }
+ 
--- samba3.diff ends here ---



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list