mirror of
https://git.freebsd.org/ports.git
synced 2025-07-03 10:29:15 -04:00
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)
47 lines
1.4 KiB
C
47 lines
1.4 KiB
C
--- 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
|