From 982ae473195a02d9f8dbcce24e592d961c2637c1 Mon Sep 17 00:00:00 2001 From: Sergey Matveychuk Date: Mon, 9 Jan 2006 16:45:33 +0000 Subject: - Update to 3.0.21a Common bugs fixed in 3.0.21 include: o Missing groups in a user's token when logging in via kerberos o Incompatibilities with newer MS Windows hotfixes and embedded OS platforms o Portability and crash bugs. o Performance issues in winbindd. New features introduced in Samba 3.0.21 include: o Complete NTLMv2 support by consolidating authentication mechanism used at the CIFS and RPC layers. o The capability to manage Unix services using the Win32 Service Control API. o The capability to view external Unix log files via the Microsoft Event Viewer. o New libmsrpc share library for application developers. o Rewrite of CIFS oplock implementation. o Performance Counter external daemon. o Winbindd auto-detection query methods when communicating with a domain controller. o The ability to enumerate long share names in libsmbclient applications. PR: ports/91528 Submitted by: Timur I. Bakeyev (maintainer) --- net/samba3/files/patch-smbd_statvfs.c | 47 +++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 net/samba3/files/patch-smbd_statvfs.c (limited to 'net/samba3/files/patch-smbd_statvfs.c') diff --git a/net/samba3/files/patch-smbd_statvfs.c b/net/samba3/files/patch-smbd_statvfs.c new file mode 100644 index 000000000000..bfd733806251 --- /dev/null +++ b/net/samba3/files/patch-smbd_statvfs.c @@ -0,0 +1,47 @@ +--- smbd/statvfs.c.orig Wed Nov 9 19:28:55 2005 ++++ smbd/statvfs.c Thu Jan 5 04:26:54 2006 +@@ -3,6 +3,7 @@ + VFS API's statvfs abstraction + Copyright (C) Alexander Bokovoy 2005 + Copyright (C) Steve French 2005 ++ Copyright (C) Timur I. Bakeyev 2005 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by +@@ -41,6 +42,27 @@ + } + return result; + } ++#elif defined(FREEBSD) ++static int bsd_statvfs(const char *path, vfs_statvfs_struct *statbuf) ++{ ++ struct statfs statfs_buf; ++ int result; ++ ++ result = statfs(path, &statfs_buf); ++ ++ if (!result) { ++ statbuf->OptimalTransferSize = statfs_buf.f_iosize; ++ statbuf->BlockSize = statfs_buf.f_bsize; ++ statbuf->TotalBlocks = statfs_buf.f_blocks; ++ statbuf->BlocksAvail = statfs_buf.f_bfree; ++ statbuf->UserBlocksAvail = statfs_buf.f_bavail; ++ statbuf->TotalFileNodes = statfs_buf.f_files; ++ statbuf->FreeFileNodes = statfs_buf.f_ffree; ++ statbuf->FsIdentifier = ++ (((SMB_BIG_UINT)statfs_buf.f_fsid.val[0]<<32) & 0xffffffff00000000LL) | (SMB_BIG_UINT)statfs_buf.f_fsid.val[1]; ++ } ++ return result; ++} + #endif + + /* +@@ -53,6 +75,8 @@ + { + #if defined(LINUX) + return linux_statvfs(path, statbuf); ++#elif defined(FREEBSD) ++ return bsd_statvfs(path, statbuf); + #else + /* BB change this to return invalid level */ + #ifdef EOPNOTSUPP -- cgit v1.2.3