mirror of
https://github.com/samba-team/samba.git
synced 2025-01-22 22:04:08 +03:00
Prefix VFS API macros with SMB_ for consistency and to avoid problems with VFS_ macros at system side. We currently have one clash with AIX and its VFS_LOCK. Compiled and tested -- no new functionality or code, just plain rename of macros for yet-unreleased VFS API version. Needs to be done before a24 is out
This commit is contained in:
parent
0714dda7cc
commit
c2689ed118
@ -393,14 +393,14 @@ typedef struct vfs_handle_struct {
|
||||
} vfs_handle_struct;
|
||||
|
||||
|
||||
#define VFS_HANDLE_GET_DATA(handle, datap, type, ret) { \
|
||||
#define SMB_VFS_HANDLE_GET_DATA(handle, datap, type, ret) { \
|
||||
if (!(handle)||((datap=(type *)(handle)->data)==NULL)) { \
|
||||
DEBUG(0,("%s() failed to get vfs_handle->data!\n",FUNCTION_MACRO)); \
|
||||
ret; \
|
||||
} \
|
||||
}
|
||||
|
||||
#define VFS_HANDLE_SET_DATA(handle, datap, free_fn, type, ret) { \
|
||||
#define SMB_VFS_HANDLE_SET_DATA(handle, datap, free_fn, type, ret) { \
|
||||
if (!(handle)) { \
|
||||
DEBUG(0,("%s() failed to set handle->data!\n",FUNCTION_MACRO)); \
|
||||
ret; \
|
||||
@ -413,13 +413,13 @@ typedef struct vfs_handle_struct {
|
||||
} \
|
||||
}
|
||||
|
||||
#define VFS_HANDLE_FREE_DATA(handle) { \
|
||||
#define SMB_VFS_HANDLE_FREE_DATA(handle) { \
|
||||
if ((handle) && (handle)->free_data) { \
|
||||
(handle)->free_data(&(handle)->data); \
|
||||
} \
|
||||
}
|
||||
|
||||
#define VFS_OP(x) ((void *) x)
|
||||
#define SMB_VFS_OP(x) ((void *) x)
|
||||
|
||||
|
||||
#include "vfs_macros.h"
|
||||
|
@ -28,79 +28,79 @@
|
||||
********************************************************************/
|
||||
|
||||
/* Disk operations */
|
||||
#define VFS_CONNECT(conn, service, user) ((conn)->vfs.ops.connect((conn)->vfs.handles.connect, (conn), (service), (user)))
|
||||
#define VFS_DISCONNECT(conn) ((conn)->vfs.ops.disconnect((conn)->vfs.handles.disconnect, (conn)))
|
||||
#define VFS_DISK_FREE(conn, path, small_query, bsize, dfree ,dsize) ((conn)->vfs.ops.disk_free((conn)->vfs.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define VFS_GET_QUOTA(conn, qtype, id, qt) ((conn)->vfs.ops.get_quota((conn)->vfs.handles.get_quota, (conn), (qtype), (id), (qt)))
|
||||
#define VFS_SET_QUOTA(conn, qtype, id, qt) ((conn)->vfs.ops.set_quota((conn)->vfs.handles.set_quota, (conn), (qtype), (id), (qt)))
|
||||
#define SMB_VFS_CONNECT(conn, service, user) ((conn)->vfs.ops.connect((conn)->vfs.handles.connect, (conn), (service), (user)))
|
||||
#define SMB_VFS_DISCONNECT(conn) ((conn)->vfs.ops.disconnect((conn)->vfs.handles.disconnect, (conn)))
|
||||
#define SMB_VFS_DISK_FREE(conn, path, small_query, bsize, dfree ,dsize) ((conn)->vfs.ops.disk_free((conn)->vfs.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define SMB_VFS_GET_QUOTA(conn, qtype, id, qt) ((conn)->vfs.ops.get_quota((conn)->vfs.handles.get_quota, (conn), (qtype), (id), (qt)))
|
||||
#define SMB_VFS_SET_QUOTA(conn, qtype, id, qt) ((conn)->vfs.ops.set_quota((conn)->vfs.handles.set_quota, (conn), (qtype), (id), (qt)))
|
||||
|
||||
/* Directory operations */
|
||||
#define VFS_OPENDIR(conn, fname) ((conn)->vfs.ops.opendir((conn)->vfs.handles.opendir, (conn), (fname)))
|
||||
#define VFS_READDIR(conn, dirp) ((conn)->vfs.ops.readdir((conn)->vfs.handles.readdir, (conn), (dirp)))
|
||||
#define VFS_MKDIR(conn, path, mode) ((conn)->vfs.ops.mkdir((conn)->vfs.handles.mkdir,(conn), (path), (mode)))
|
||||
#define VFS_RMDIR(conn, path) ((conn)->vfs.ops.rmdir((conn)->vfs.handles.rmdir, (conn), (path)))
|
||||
#define VFS_CLOSEDIR(conn, dir) ((conn)->vfs.ops.closedir((conn)->vfs.handles.closedir, (conn), dir))
|
||||
#define SMB_VFS_OPENDIR(conn, fname) ((conn)->vfs.ops.opendir((conn)->vfs.handles.opendir, (conn), (fname)))
|
||||
#define SMB_VFS_READDIR(conn, dirp) ((conn)->vfs.ops.readdir((conn)->vfs.handles.readdir, (conn), (dirp)))
|
||||
#define SMB_VFS_MKDIR(conn, path, mode) ((conn)->vfs.ops.mkdir((conn)->vfs.handles.mkdir,(conn), (path), (mode)))
|
||||
#define SMB_VFS_RMDIR(conn, path) ((conn)->vfs.ops.rmdir((conn)->vfs.handles.rmdir, (conn), (path)))
|
||||
#define SMB_VFS_CLOSEDIR(conn, dir) ((conn)->vfs.ops.closedir((conn)->vfs.handles.closedir, (conn), dir))
|
||||
|
||||
/* File operations */
|
||||
#define VFS_OPEN(conn, fname, flags, mode) ((conn)->vfs.ops.open((conn)->vfs.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define VFS_CLOSE(fsp, fd) ((fsp)->conn->vfs.ops.close((fsp)->conn->vfs.handles.close, (fsp), (fd)))
|
||||
#define VFS_READ(fsp, fd, data, n) ((fsp)->conn->vfs.ops.read((fsp)->conn->vfs.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define VFS_WRITE(fsp, fd, data, n) ((fsp)->conn->vfs.ops.write((fsp)->conn->vfs.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define VFS_LSEEK(fsp, fd, offset, whence) ((fsp)->conn->vfs.ops.lseek((fsp)->conn->vfs.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define VFS_SENDFILE(tofd, fsp, fromfd, header, offset, count) ((fsp)->conn->vfs.ops.sendfile((fsp)->conn->vfs.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define VFS_RENAME(conn, old, new) ((conn)->vfs.ops.rename((conn)->vfs.handles.rename, (conn), (old), (new)))
|
||||
#define VFS_FSYNC(fsp, fd) ((fsp)->conn->vfs.ops.fsync((fsp)->conn->vfs.handles.fsync, (fsp), (fd)))
|
||||
#define VFS_STAT(conn, fname, sbuf) ((conn)->vfs.ops.stat((conn)->vfs.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define VFS_FSTAT(fsp, fd, sbuf) ((fsp)->conn->vfs.ops.fstat((fsp)->conn->vfs.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define VFS_LSTAT(conn, path, sbuf) ((conn)->vfs.ops.lstat((conn)->vfs.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define VFS_UNLINK(conn, path) ((conn)->vfs.ops.unlink((conn)->vfs.handles.unlink, (conn), (path)))
|
||||
#define VFS_CHMOD(conn, path, mode) ((conn)->vfs.ops.chmod((conn)->vfs.handles.chmod, (conn), (path), (mode)))
|
||||
#define VFS_FCHMOD(fsp, fd, mode) ((fsp)->conn->vfs.ops.fchmod((fsp)->conn->vfs.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define VFS_CHOWN(conn, path, uid, gid) ((conn)->vfs.ops.chown((conn)->vfs.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define VFS_FCHOWN(fsp, fd, uid, gid) ((fsp)->conn->vfs.ops.fchown((fsp)->conn->vfs.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define VFS_CHDIR(conn, path) ((conn)->vfs.ops.chdir((conn)->vfs.handles.chdir, (conn), (path)))
|
||||
#define VFS_GETWD(conn, buf) ((conn)->vfs.ops.getwd((conn)->vfs.handles.getwd, (conn), (buf)))
|
||||
#define VFS_UTIME(conn, path, times) ((conn)->vfs.ops.utime((conn)->vfs.handles.utime, (conn), (path), (times)))
|
||||
#define VFS_FTRUNCATE(fsp, fd, offset) ((fsp)->conn->vfs.ops.ftruncate((fsp)->conn->vfs.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define VFS_LOCK(fsp, fd, op, offset, count, type) ((fsp)->conn->vfs.ops.lock((fsp)->conn->vfs.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define VFS_SYMLINK(conn, oldpath, newpath) ((conn)->vfs.ops.symlink((conn)->vfs.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define VFS_READLINK(conn, path, buf, bufsiz) ((conn)->vfs.ops.readlink((conn)->vfs.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define VFS_LINK(conn, oldpath, newpath) ((conn)->vfs.ops.link((conn)->vfs.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define VFS_MKNOD(conn, path, mode, dev) ((conn)->vfs.ops.mknod((conn)->vfs.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define VFS_REALPATH(conn, path, resolved_path) ((conn)->vfs.ops.realpath((conn)->vfs.handles.realpath, (conn), (path), (resolved_path)))
|
||||
#define SMB_VFS_OPEN(conn, fname, flags, mode) ((conn)->vfs.ops.open((conn)->vfs.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define SMB_VFS_CLOSE(fsp, fd) ((fsp)->conn->vfs.ops.close((fsp)->conn->vfs.handles.close, (fsp), (fd)))
|
||||
#define SMB_VFS_READ(fsp, fd, data, n) ((fsp)->conn->vfs.ops.read((fsp)->conn->vfs.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_WRITE(fsp, fd, data, n) ((fsp)->conn->vfs.ops.write((fsp)->conn->vfs.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_LSEEK(fsp, fd, offset, whence) ((fsp)->conn->vfs.ops.lseek((fsp)->conn->vfs.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define SMB_VFS_SENDFILE(tofd, fsp, fromfd, header, offset, count) ((fsp)->conn->vfs.ops.sendfile((fsp)->conn->vfs.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define SMB_VFS_RENAME(conn, old, new) ((conn)->vfs.ops.rename((conn)->vfs.handles.rename, (conn), (old), (new)))
|
||||
#define SMB_VFS_FSYNC(fsp, fd) ((fsp)->conn->vfs.ops.fsync((fsp)->conn->vfs.handles.fsync, (fsp), (fd)))
|
||||
#define SMB_VFS_STAT(conn, fname, sbuf) ((conn)->vfs.ops.stat((conn)->vfs.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define SMB_VFS_FSTAT(fsp, fd, sbuf) ((fsp)->conn->vfs.ops.fstat((fsp)->conn->vfs.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define SMB_VFS_LSTAT(conn, path, sbuf) ((conn)->vfs.ops.lstat((conn)->vfs.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define SMB_VFS_UNLINK(conn, path) ((conn)->vfs.ops.unlink((conn)->vfs.handles.unlink, (conn), (path)))
|
||||
#define SMB_VFS_CHMOD(conn, path, mode) ((conn)->vfs.ops.chmod((conn)->vfs.handles.chmod, (conn), (path), (mode)))
|
||||
#define SMB_VFS_FCHMOD(fsp, fd, mode) ((fsp)->conn->vfs.ops.fchmod((fsp)->conn->vfs.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_CHOWN(conn, path, uid, gid) ((conn)->vfs.ops.chown((conn)->vfs.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define SMB_VFS_FCHOWN(fsp, fd, uid, gid) ((fsp)->conn->vfs.ops.fchown((fsp)->conn->vfs.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define SMB_VFS_CHDIR(conn, path) ((conn)->vfs.ops.chdir((conn)->vfs.handles.chdir, (conn), (path)))
|
||||
#define SMB_VFS_GETWD(conn, buf) ((conn)->vfs.ops.getwd((conn)->vfs.handles.getwd, (conn), (buf)))
|
||||
#define SMB_VFS_UTIME(conn, path, times) ((conn)->vfs.ops.utime((conn)->vfs.handles.utime, (conn), (path), (times)))
|
||||
#define SMB_VFS_FTRUNCATE(fsp, fd, offset) ((fsp)->conn->vfs.ops.ftruncate((fsp)->conn->vfs.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define SMB_VFS_LOCK(fsp, fd, op, offset, count, type) ((fsp)->conn->vfs.ops.lock((fsp)->conn->vfs.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define SMB_VFS_SYMLINK(conn, oldpath, newpath) ((conn)->vfs.ops.symlink((conn)->vfs.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_READLINK(conn, path, buf, bufsiz) ((conn)->vfs.ops.readlink((conn)->vfs.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define SMB_VFS_LINK(conn, oldpath, newpath) ((conn)->vfs.ops.link((conn)->vfs.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_MKNOD(conn, path, mode, dev) ((conn)->vfs.ops.mknod((conn)->vfs.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define SMB_VFS_REALPATH(conn, path, resolved_path) ((conn)->vfs.ops.realpath((conn)->vfs.handles.realpath, (conn), (path), (resolved_path)))
|
||||
|
||||
/* NT ACL operations. */
|
||||
#define VFS_FGET_NT_ACL(fsp, fd, ppdesc) ((fsp)->conn->vfs.ops.fget_nt_acl((fsp)->conn->vfs.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define VFS_GET_NT_ACL(fsp, name, ppdesc) ((fsp)->conn->vfs.ops.get_nt_acl((fsp)->conn->vfs.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define VFS_FSET_NT_ACL(fsp, fd, security_info_sent, psd) ((fsp)->conn->vfs.ops.fset_nt_acl((fsp)->conn->vfs.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define VFS_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs.ops.set_nt_acl((fsp)->conn->vfs.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_FGET_NT_ACL(fsp, fd, ppdesc) ((fsp)->conn->vfs.ops.fget_nt_acl((fsp)->conn->vfs.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define SMB_VFS_GET_NT_ACL(fsp, name, ppdesc) ((fsp)->conn->vfs.ops.get_nt_acl((fsp)->conn->vfs.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define SMB_VFS_FSET_NT_ACL(fsp, fd, security_info_sent, psd) ((fsp)->conn->vfs.ops.fset_nt_acl((fsp)->conn->vfs.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs.ops.set_nt_acl((fsp)->conn->vfs.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
|
||||
/* POSIX ACL operations. */
|
||||
#define VFS_CHMOD_ACL(conn, name, mode) ((conn)->vfs.ops.chmod_acl((conn)->vfs.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define VFS_FCHMOD_ACL(fsp, fd, mode) ((fsp)->conn->vfs.ops.fchmod_acl((fsp)->conn->vfs.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_CHMOD_ACL(conn, name, mode) ((conn)->vfs.ops.chmod_acl((conn)->vfs.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define SMB_VFS_FCHMOD_ACL(fsp, fd, mode) ((fsp)->conn->vfs.ops.fchmod_acl((fsp)->conn->vfs.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
|
||||
#define VFS_SYS_ACL_GET_ENTRY(conn, theacl, entry_id, entry_p) ((conn)->vfs.ops.sys_acl_get_entry((conn)->vfs.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define VFS_SYS_ACL_GET_TAG_TYPE(conn, entry_d, tag_type_p) ((conn)->vfs.ops.sys_acl_get_tag_type((conn)->vfs.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define VFS_SYS_ACL_GET_PERMSET(conn, entry_d, permset_p) ((conn)->vfs.ops.sys_acl_get_permset((conn)->vfs.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define VFS_SYS_ACL_GET_QUALIFIER(conn, entry_d) ((conn)->vfs.ops.sys_acl_get_qualifier((conn)->vfs.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define VFS_SYS_ACL_GET_FILE(conn, path_p, type) ((conn)->vfs.ops.sys_acl_get_file((conn)->vfs.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define VFS_SYS_ACL_GET_FD(fsp, fd) ((fsp)->conn->vfs.ops.sys_acl_get_fd((fsp)->conn->vfs.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define VFS_SYS_ACL_CLEAR_PERMS(conn, permset) ((conn)->vfs.ops.sys_acl_clear_perms((conn)->vfs.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define VFS_SYS_ACL_ADD_PERM(conn, permset, perm) ((conn)->vfs.ops.sys_acl_add_perm((conn)->vfs.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define VFS_SYS_ACL_TO_TEXT(conn, theacl, plen) ((conn)->vfs.ops.sys_acl_to_text((conn)->vfs.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define VFS_SYS_ACL_INIT(conn, count) ((conn)->vfs.ops.sys_acl_init((conn)->vfs.handles.sys_acl_init, (conn), (count)))
|
||||
#define VFS_SYS_ACL_CREATE_ENTRY(conn, pacl, pentry) ((conn)->vfs.ops.sys_acl_create_entry((conn)->vfs.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define VFS_SYS_ACL_SET_TAG_TYPE(conn, entry, tagtype) ((conn)->vfs.ops.sys_acl_set_tag_type((conn)->vfs.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define VFS_SYS_ACL_SET_QUALIFIER(conn, entry, qual) ((conn)->vfs.ops.sys_acl_set_qualifier((conn)->vfs.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define VFS_SYS_ACL_SET_PERMSET(conn, entry, permset) ((conn)->vfs.ops.sys_acl_set_permset((conn)->vfs.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define VFS_SYS_ACL_VALID(conn, theacl) ((conn)->vfs.ops.sys_acl_valid((conn)->vfs.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define VFS_SYS_ACL_SET_FILE(conn, name, acltype, theacl) ((conn)->vfs.ops.sys_acl_set_file((conn)->vfs.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define VFS_SYS_ACL_SET_FD(fsp, fd, theacl) ((fsp)->conn->vfs.ops.sys_acl_set_fd((fsp)->conn->vfs.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define VFS_SYS_ACL_DELETE_DEF_FILE(conn, path) ((conn)->vfs.ops.sys_acl_delete_def_file((conn)->vfs.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define VFS_SYS_ACL_GET_PERM(conn, permset, perm) ((conn)->vfs.ops.sys_acl_get_perm((conn)->vfs.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define VFS_SYS_ACL_FREE_TEXT(conn, text) ((conn)->vfs.ops.sys_acl_free_text((conn)->vfs.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define VFS_SYS_ACL_FREE_ACL(conn, posix_acl) ((conn)->vfs.ops.sys_acl_free_acl((conn)->vfs.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define VFS_SYS_ACL_FREE_QUALIFIER(conn, qualifier, tagtype) ((conn)->vfs.ops.sys_acl_free_qualifier((conn)->vfs.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
#define SMB_VFS_SYS_ACL_GET_ENTRY(conn, theacl, entry_id, entry_p) ((conn)->vfs.ops.sys_acl_get_entry((conn)->vfs.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry_d, tag_type_p) ((conn)->vfs.ops.sys_acl_get_tag_type((conn)->vfs.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry_d, permset_p) ((conn)->vfs.ops.sys_acl_get_permset((conn)->vfs.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define SMB_VFS_SYS_ACL_GET_QUALIFIER(conn, entry_d) ((conn)->vfs.ops.sys_acl_get_qualifier((conn)->vfs.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define SMB_VFS_SYS_ACL_GET_FILE(conn, path_p, type) ((conn)->vfs.ops.sys_acl_get_file((conn)->vfs.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define SMB_VFS_SYS_ACL_GET_FD(fsp, fd) ((fsp)->conn->vfs.ops.sys_acl_get_fd((fsp)->conn->vfs.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define SMB_VFS_SYS_ACL_CLEAR_PERMS(conn, permset) ((conn)->vfs.ops.sys_acl_clear_perms((conn)->vfs.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define SMB_VFS_SYS_ACL_ADD_PERM(conn, permset, perm) ((conn)->vfs.ops.sys_acl_add_perm((conn)->vfs.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_SYS_ACL_TO_TEXT(conn, theacl, plen) ((conn)->vfs.ops.sys_acl_to_text((conn)->vfs.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define SMB_VFS_SYS_ACL_INIT(conn, count) ((conn)->vfs.ops.sys_acl_init((conn)->vfs.handles.sys_acl_init, (conn), (count)))
|
||||
#define SMB_VFS_SYS_ACL_CREATE_ENTRY(conn, pacl, pentry) ((conn)->vfs.ops.sys_acl_create_entry((conn)->vfs.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define SMB_VFS_SYS_ACL_SET_TAG_TYPE(conn, entry, tagtype) ((conn)->vfs.ops.sys_acl_set_tag_type((conn)->vfs.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define SMB_VFS_SYS_ACL_SET_QUALIFIER(conn, entry, qual) ((conn)->vfs.ops.sys_acl_set_qualifier((conn)->vfs.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define SMB_VFS_SYS_ACL_SET_PERMSET(conn, entry, permset) ((conn)->vfs.ops.sys_acl_set_permset((conn)->vfs.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define SMB_VFS_SYS_ACL_VALID(conn, theacl) ((conn)->vfs.ops.sys_acl_valid((conn)->vfs.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define SMB_VFS_SYS_ACL_SET_FILE(conn, name, acltype, theacl) ((conn)->vfs.ops.sys_acl_set_file((conn)->vfs.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define SMB_VFS_SYS_ACL_SET_FD(fsp, fd, theacl) ((fsp)->conn->vfs.ops.sys_acl_set_fd((fsp)->conn->vfs.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, path) ((conn)->vfs.ops.sys_acl_delete_def_file((conn)->vfs.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define SMB_VFS_SYS_ACL_GET_PERM(conn, permset, perm) ((conn)->vfs.ops.sys_acl_get_perm((conn)->vfs.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_SYS_ACL_FREE_TEXT(conn, text) ((conn)->vfs.ops.sys_acl_free_text((conn)->vfs.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define SMB_VFS_SYS_ACL_FREE_ACL(conn, posix_acl) ((conn)->vfs.ops.sys_acl_free_acl((conn)->vfs.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define SMB_VFS_SYS_ACL_FREE_QUALIFIER(conn, qualifier, tagtype) ((conn)->vfs.ops.sys_acl_free_qualifier((conn)->vfs.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
@ -110,79 +110,79 @@
|
||||
********************************************************************/
|
||||
|
||||
/* Disk operations */
|
||||
#define VFS_OPAQUE_CONNECT(conn, service, user) ((conn)->vfs_opaque.ops.connect((conn)->vfs_opaque.handles.connect, (conn), (service), (user)))
|
||||
#define VFS_OPAQUE_DISCONNECT(conn) ((conn)->vfs_opaque.ops.disconnect((conn)->vfs_opaque.handles.disconnect, (conn)))
|
||||
#define VFS_OPAQUE_DISK_FREE(conn, path, small_query, bsize, dfree ,dsize) ((conn)->vfs_opaque.ops.disk_free((conn)->vfs_opaque.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define VFS_OPAQUE_GET_QUOTA(conn, qtype, id, qt) ((conn)->vfs_opaque.ops.get_quota((conn)->vfs_opaque.handles.get_quota, (qtype), (id), (qt)))
|
||||
#define VFS_OPAQUE_SET_QUOTA(conn, qtype, id, qt) ((conn)->vfs_opaque.ops.set_quota((conn)->vfs_opaque.handles.set_quota, (qtype), (id), (qt)))
|
||||
#define SMB_VFS_OPAQUE_CONNECT(conn, service, user) ((conn)->vfs_opaque.ops.connect((conn)->vfs_opaque.handles.connect, (conn), (service), (user)))
|
||||
#define SMB_VFS_OPAQUE_DISCONNECT(conn) ((conn)->vfs_opaque.ops.disconnect((conn)->vfs_opaque.handles.disconnect, (conn)))
|
||||
#define SMB_VFS_OPAQUE_DISK_FREE(conn, path, small_query, bsize, dfree ,dsize) ((conn)->vfs_opaque.ops.disk_free((conn)->vfs_opaque.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define SMB_VFS_OPAQUE_GET_QUOTA(conn, qtype, id, qt) ((conn)->vfs_opaque.ops.get_quota((conn)->vfs_opaque.handles.get_quota, (qtype), (id), (qt)))
|
||||
#define SMB_VFS_OPAQUE_SET_QUOTA(conn, qtype, id, qt) ((conn)->vfs_opaque.ops.set_quota((conn)->vfs_opaque.handles.set_quota, (qtype), (id), (qt)))
|
||||
|
||||
/* Directory operations */
|
||||
#define VFS_OPAQUE_OPENDIR(conn, fname) ((conn)->vfs_opaque.ops.opendir((conn)->vfs_opaque.handles.opendir, (conn), (fname)))
|
||||
#define VFS_OPAQUE_READDIR(conn, dirp) ((conn)->vfs_opaque.ops.readdir((conn)->vfs_opaque.handles.readdir, (conn), (dirp)))
|
||||
#define VFS_OPAQUE_MKDIR(conn, path, mode) ((conn)->vfs_opaque.ops.mkdir((conn)->vfs_opaque.handles.mkdir,(conn), (path), (mode)))
|
||||
#define VFS_OPAQUE_RMDIR(conn, path) ((conn)->vfs_opaque.ops.rmdir((conn)->vfs_opaque.handles.rmdir, (conn), (path)))
|
||||
#define VFS_OPAQUE_CLOSEDIR(conn, dir) ((conn)->vfs_opaque.ops.closedir((conn)->vfs_opaque.handles.closedir, (conn), dir))
|
||||
#define SMB_VFS_OPAQUE_OPENDIR(conn, fname) ((conn)->vfs_opaque.ops.opendir((conn)->vfs_opaque.handles.opendir, (conn), (fname)))
|
||||
#define SMB_VFS_OPAQUE_READDIR(conn, dirp) ((conn)->vfs_opaque.ops.readdir((conn)->vfs_opaque.handles.readdir, (conn), (dirp)))
|
||||
#define SMB_VFS_OPAQUE_MKDIR(conn, path, mode) ((conn)->vfs_opaque.ops.mkdir((conn)->vfs_opaque.handles.mkdir,(conn), (path), (mode)))
|
||||
#define SMB_VFS_OPAQUE_RMDIR(conn, path) ((conn)->vfs_opaque.ops.rmdir((conn)->vfs_opaque.handles.rmdir, (conn), (path)))
|
||||
#define SMB_VFS_OPAQUE_CLOSEDIR(conn, dir) ((conn)->vfs_opaque.ops.closedir((conn)->vfs_opaque.handles.closedir, (conn), dir))
|
||||
|
||||
/* File operations */
|
||||
#define VFS_OPAQUE_OPEN(conn, fname, flags, mode) ((conn)->vfs_opaque.ops.open((conn)->vfs_opaque.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define VFS_OPAQUE_CLOSE(fsp, fd) ((fsp)->conn->vfs_opaque.ops.close((fsp)->conn->vfs_opaque.handles.close, (fsp), (fd)))
|
||||
#define VFS_OPAQUE_READ(fsp, fd, data, n) ((fsp)->conn->vfs_opaque.ops.read((fsp)->conn->vfs_opaque.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define VFS_OPAQUE_WRITE(fsp, fd, data, n) ((fsp)->conn->vfs_opaque.ops.write((fsp)->conn->vfs_opaque.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define VFS_OPAQUE_LSEEK(fsp, fd, offset, whence) ((fsp)->conn->vfs_opaque.ops.lseek((fsp)->conn->vfs_opaque.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define VFS_OPAQUE_SENDFILE(tofd, fsp, fromfd, header, offset, count) ((fsp)->conn->vfs_opaque.ops.sendfile((fsp)->conn->vfs_opaque.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define VFS_OPAQUE_RENAME(conn, old, new) ((conn)->vfs_opaque.ops.rename((conn)->vfs_opaque.handles.rename, (conn), (old), (new)))
|
||||
#define VFS_OPAQUE_FSYNC(fsp, fd) ((fsp)->conn->vfs_opaque.ops.fsync((fsp)->conn->vfs_opaque.handles.fsync, (fsp), (fd)))
|
||||
#define VFS_OPAQUE_STAT(conn, fname, sbuf) ((conn)->vfs_opaque.ops.stat((conn)->vfs_opaque.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define VFS_OPAQUE_FSTAT(fsp, fd, sbuf) ((fsp)->conn->vfs_opaque.ops.fstat((fsp)->conn->vfs_opaque.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define VFS_OPAQUE_LSTAT(conn, path, sbuf) ((conn)->vfs_opaque.ops.lstat((conn)->vfs_opaque.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define VFS_OPAQUE_UNLINK(conn, path) ((conn)->vfs_opaque.ops.unlink((conn)->vfs_opaque.handles.unlink, (conn), (path)))
|
||||
#define VFS_OPAQUE_CHMOD(conn, path, mode) ((conn)->vfs_opaque.ops.chmod((conn)->vfs_opaque.handles.chmod, (conn), (path), (mode)))
|
||||
#define VFS_OPAQUE_FCHMOD(fsp, fd, mode) ((fsp)->conn->vfs_opaque.ops.fchmod((fsp)->conn->vfs_opaque.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define VFS_OPAQUE_CHOWN(conn, path, uid, gid) ((conn)->vfs_opaque.ops.chown((conn)->vfs_opaque.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define VFS_OPAQUE_FCHOWN(fsp, fd, uid, gid) ((fsp)->conn->vfs_opaque.ops.fchown((fsp)->conn->vfs_opaque.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define VFS_OPAQUE_CHDIR(conn, path) ((conn)->vfs_opaque.ops.chdir((conn)->vfs_opaque.handles.chdir, (conn), (path)))
|
||||
#define VFS_OPAQUE_GETWD(conn, buf) ((conn)->vfs_opaque.ops.getwd((conn)->vfs_opaque.handles.getwd, (conn), (buf)))
|
||||
#define VFS_OPAQUE_UTIME(conn, path, times) ((conn)->vfs_opaque.ops.utime((conn)->vfs_opaque.handles.utime, (conn), (path), (times)))
|
||||
#define VFS_OPAQUE_FTRUNCATE(fsp, fd, offset) ((fsp)->conn->vfs_opaque.ops.ftruncate((fsp)->conn->vfs_opaque.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define VFS_OPAQUE_LOCK(fsp, fd, op, offset, count, type) ((fsp)->conn->vfs_opaque.ops.lock((fsp)->conn->vfs_opaque.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define VFS_OPAQUE_SYMLINK(conn, oldpath, newpath) ((conn)->vfs_opaque.ops.symlink((conn)->vfs_opaque.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define VFS_OPAQUE_READLINK(conn, path, buf, bufsiz) ((conn)->vfs_opaque.ops.readlink((conn)->vfs_opaque.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define VFS_OPAQUE_LINK(conn, oldpath, newpath) ((conn)->vfs_opaque.ops.link((conn)->vfs_opaque.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define VFS_OPAQUE_MKNOD(conn, path, mode, dev) ((conn)->vfs_opaque.ops.mknod((conn)->vfs_opaque.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define VFS_OPAQUE_REALPATH(conn, path, resolved_path) ((conn)->vfs_opaque.ops.realpath((conn)->vfs_opaque.handles.realpath, (conn), (path), (resolved_path)))
|
||||
#define SMB_VFS_OPAQUE_OPEN(conn, fname, flags, mode) ((conn)->vfs_opaque.ops.open((conn)->vfs_opaque.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define SMB_VFS_OPAQUE_CLOSE(fsp, fd) ((fsp)->conn->vfs_opaque.ops.close((fsp)->conn->vfs_opaque.handles.close, (fsp), (fd)))
|
||||
#define SMB_VFS_OPAQUE_READ(fsp, fd, data, n) ((fsp)->conn->vfs_opaque.ops.read((fsp)->conn->vfs_opaque.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_OPAQUE_WRITE(fsp, fd, data, n) ((fsp)->conn->vfs_opaque.ops.write((fsp)->conn->vfs_opaque.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_OPAQUE_LSEEK(fsp, fd, offset, whence) ((fsp)->conn->vfs_opaque.ops.lseek((fsp)->conn->vfs_opaque.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define SMB_VFS_OPAQUE_SENDFILE(tofd, fsp, fromfd, header, offset, count) ((fsp)->conn->vfs_opaque.ops.sendfile((fsp)->conn->vfs_opaque.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define SMB_VFS_OPAQUE_RENAME(conn, old, new) ((conn)->vfs_opaque.ops.rename((conn)->vfs_opaque.handles.rename, (conn), (old), (new)))
|
||||
#define SMB_VFS_OPAQUE_FSYNC(fsp, fd) ((fsp)->conn->vfs_opaque.ops.fsync((fsp)->conn->vfs_opaque.handles.fsync, (fsp), (fd)))
|
||||
#define SMB_VFS_OPAQUE_STAT(conn, fname, sbuf) ((conn)->vfs_opaque.ops.stat((conn)->vfs_opaque.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define SMB_VFS_OPAQUE_FSTAT(fsp, fd, sbuf) ((fsp)->conn->vfs_opaque.ops.fstat((fsp)->conn->vfs_opaque.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define SMB_VFS_OPAQUE_LSTAT(conn, path, sbuf) ((conn)->vfs_opaque.ops.lstat((conn)->vfs_opaque.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define SMB_VFS_OPAQUE_UNLINK(conn, path) ((conn)->vfs_opaque.ops.unlink((conn)->vfs_opaque.handles.unlink, (conn), (path)))
|
||||
#define SMB_VFS_OPAQUE_CHMOD(conn, path, mode) ((conn)->vfs_opaque.ops.chmod((conn)->vfs_opaque.handles.chmod, (conn), (path), (mode)))
|
||||
#define SMB_VFS_OPAQUE_FCHMOD(fsp, fd, mode) ((fsp)->conn->vfs_opaque.ops.fchmod((fsp)->conn->vfs_opaque.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_OPAQUE_CHOWN(conn, path, uid, gid) ((conn)->vfs_opaque.ops.chown((conn)->vfs_opaque.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define SMB_VFS_OPAQUE_FCHOWN(fsp, fd, uid, gid) ((fsp)->conn->vfs_opaque.ops.fchown((fsp)->conn->vfs_opaque.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define SMB_VFS_OPAQUE_CHDIR(conn, path) ((conn)->vfs_opaque.ops.chdir((conn)->vfs_opaque.handles.chdir, (conn), (path)))
|
||||
#define SMB_VFS_OPAQUE_GETWD(conn, buf) ((conn)->vfs_opaque.ops.getwd((conn)->vfs_opaque.handles.getwd, (conn), (buf)))
|
||||
#define SMB_VFS_OPAQUE_UTIME(conn, path, times) ((conn)->vfs_opaque.ops.utime((conn)->vfs_opaque.handles.utime, (conn), (path), (times)))
|
||||
#define SMB_VFS_OPAQUE_FTRUNCATE(fsp, fd, offset) ((fsp)->conn->vfs_opaque.ops.ftruncate((fsp)->conn->vfs_opaque.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define SMB_VFS_OPAQUE_LOCK(fsp, fd, op, offset, count, type) ((fsp)->conn->vfs_opaque.ops.lock((fsp)->conn->vfs_opaque.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define SMB_VFS_OPAQUE_SYMLINK(conn, oldpath, newpath) ((conn)->vfs_opaque.ops.symlink((conn)->vfs_opaque.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_OPAQUE_READLINK(conn, path, buf, bufsiz) ((conn)->vfs_opaque.ops.readlink((conn)->vfs_opaque.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define SMB_VFS_OPAQUE_LINK(conn, oldpath, newpath) ((conn)->vfs_opaque.ops.link((conn)->vfs_opaque.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_OPAQUE_MKNOD(conn, path, mode, dev) ((conn)->vfs_opaque.ops.mknod((conn)->vfs_opaque.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define SMB_VFS_OPAQUE_REALPATH(conn, path, resolved_path) ((conn)->vfs_opaque.ops.realpath((conn)->vfs_opaque.handles.realpath, (conn), (path), (resolved_path)))
|
||||
|
||||
/* NT ACL operations. */
|
||||
#define VFS_OPAQUE_FGET_NT_ACL(fsp, fd, ppdesc) ((fsp)->conn->vfs_opaque.ops.fget_nt_acl((fsp)->conn->vfs_opaque.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define VFS_OPAQUE_GET_NT_ACL(fsp, name, ppdesc) ((fsp)->conn->vfs_opaque.ops.get_nt_acl((fsp)->conn->vfs_opaque.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define VFS_OPAQUE_FSET_NT_ACL(fsp, fd, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.fset_nt_acl((fsp)->conn->vfs_opaque.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define VFS_OPAQUE_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.set_nt_acl((fsp)->conn->vfs_opaque.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_OPAQUE_FGET_NT_ACL(fsp, fd, ppdesc) ((fsp)->conn->vfs_opaque.ops.fget_nt_acl((fsp)->conn->vfs_opaque.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define SMB_VFS_OPAQUE_GET_NT_ACL(fsp, name, ppdesc) ((fsp)->conn->vfs_opaque.ops.get_nt_acl((fsp)->conn->vfs_opaque.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define SMB_VFS_OPAQUE_FSET_NT_ACL(fsp, fd, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.fset_nt_acl((fsp)->conn->vfs_opaque.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_OPAQUE_SET_NT_ACL(fsp, name, security_info_sent, psd) ((fsp)->conn->vfs_opaque.ops.set_nt_acl((fsp)->conn->vfs_opaque.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
|
||||
/* POSIX ACL operations. */
|
||||
#define VFS_OPAQUE_CHMOD_ACL(conn, name, mode) ((conn)->vfs_opaque.ops.chmod_acl((conn)->vfs_opaque.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define VFS_OPAQUE_FCHMOD_ACL(fsp, fd, mode) ((fsp)->conn->vfs_opaque.ops.fchmod_acl((fsp)->conn->vfs_opaque.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_OPAQUE_CHMOD_ACL(conn, name, mode) ((conn)->vfs_opaque.ops.chmod_acl((conn)->vfs_opaque.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define SMB_VFS_OPAQUE_FCHMOD_ACL(fsp, fd, mode) ((fsp)->conn->vfs_opaque.ops.fchmod_acl((fsp)->conn->vfs_opaque.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_ENTRY(conn, theacl, entry_id, entry_p) ((conn)->vfs_opaque.ops.sys_acl_get_entry((conn)->vfs_opaque.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_TAG_TYPE(conn, entry_d, tag_type_p) ((conn)->vfs_opaque.ops.sys_acl_get_tag_type((conn)->vfs_opaque.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_PERMSET(conn, entry_d, permset_p) ((conn)->vfs_opaque.ops.sys_acl_get_permset((conn)->vfs_opaque.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_QUALIFIER(conn, entry_d) ((conn)->vfs_opaque.ops.sys_acl_get_qualifier((conn)->vfs_opaque.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_FILE(conn, path_p, type) ((conn)->vfs_opaque.ops.sys_acl_get_file((conn)->vfs_opaque.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_FD(fsp, fd) ((fsp)->conn->vfs_opaque.ops.sys_acl_get_fd((fsp)->conn->vfs_opaque.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define VFS_OPAQUE_SYS_ACL_CLEAR_PERMS(conn, permset) ((conn)->vfs_opaque.ops.sys_acl_clear_perms((conn)->vfs_opaque.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define VFS_OPAQUE_SYS_ACL_ADD_PERM(conn, permset, perm) ((conn)->vfs_opaque.ops.sys_acl_add_perm((conn)->vfs_opaque.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define VFS_OPAQUE_SYS_ACL_TO_TEXT(conn, theacl, plen) ((conn)->vfs_opaque.ops.sys_acl_to_text((conn)->vfs_opaque.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define VFS_OPAQUE_SYS_ACL_INIT(conn, count) ((conn)->vfs_opaque.ops.sys_acl_init((conn)->vfs_opaque.handles.sys_acl_init, (conn), (count)))
|
||||
#define VFS_OPAQUE_SYS_ACL_CREATE_ENTRY(conn, pacl, pentry) ((conn)->vfs_opaque.ops.sys_acl_create_entry((conn)->vfs_opaque.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define VFS_OPAQUE_SYS_ACL_SET_TAG_TYPE(conn, entry, tagtype) ((conn)->vfs_opaque.ops.sys_acl_set_tag_type((conn)->vfs_opaque.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define VFS_OPAQUE_SYS_ACL_SET_QUALIFIER(conn, entry, qual) ((conn)->vfs_opaque.ops.sys_acl_set_qualifier((conn)->vfs_opaque.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define VFS_OPAQUE_SYS_ACL_SET_PERMSET(conn, entry, permset) ((conn)->vfs_opaque.ops.sys_acl_set_permset((conn)->vfs_opaque.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define VFS_OPAQUE_SYS_ACL_VALID(conn, theacl) ((conn)->vfs_opaque.ops.sys_acl_valid((conn)->vfs_opaque.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define VFS_OPAQUE_SYS_ACL_SET_FILE(conn, name, acltype, theacl) ((conn)->vfs_opaque.ops.sys_acl_set_file((conn)->vfs_opaque.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define VFS_OPAQUE_SYS_ACL_SET_FD(fsp, fd, theacl) ((fsp)->conn->vfs_opaque.ops.sys_acl_set_fd((fsp)->conn->vfs_opaque.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define VFS_OPAQUE_SYS_ACL_DELETE_DEF_FILE(conn, path) ((conn)->vfs_opaque.ops.sys_acl_delete_def_file((conn)->vfs_opaque.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define VFS_OPAQUE_SYS_ACL_GET_PERM(conn, permset, perm) ((conn)->vfs_opaque.ops.sys_acl_get_perm((conn)->vfs_opaque.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define VFS_OPAQUE_SYS_ACL_FREE_TEXT(conn, text) ((conn)->vfs_opaque.ops.sys_acl_free_text((conn)->vfs_opaque.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define VFS_OPAQUE_SYS_ACL_FREE_ACL(conn, posix_acl) ((conn)->vfs_opaque.ops.sys_acl_free_acl((conn)->vfs_opaque.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define VFS_OPAQUE_SYS_ACL_FREE_QUALIFIER(conn, qualifier, tagtype) ((conn)->vfs_opaque.ops.sys_acl_free_qualifier((conn)->vfs_opaque.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_ENTRY(conn, theacl, entry_id, entry_p) ((conn)->vfs_opaque.ops.sys_acl_get_entry((conn)->vfs_opaque.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_TAG_TYPE(conn, entry_d, tag_type_p) ((conn)->vfs_opaque.ops.sys_acl_get_tag_type((conn)->vfs_opaque.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_PERMSET(conn, entry_d, permset_p) ((conn)->vfs_opaque.ops.sys_acl_get_permset((conn)->vfs_opaque.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_QUALIFIER(conn, entry_d) ((conn)->vfs_opaque.ops.sys_acl_get_qualifier((conn)->vfs_opaque.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_FILE(conn, path_p, type) ((conn)->vfs_opaque.ops.sys_acl_get_file((conn)->vfs_opaque.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_FD(fsp, fd) ((fsp)->conn->vfs_opaque.ops.sys_acl_get_fd((fsp)->conn->vfs_opaque.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_CLEAR_PERMS(conn, permset) ((conn)->vfs_opaque.ops.sys_acl_clear_perms((conn)->vfs_opaque.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_ADD_PERM(conn, permset, perm) ((conn)->vfs_opaque.ops.sys_acl_add_perm((conn)->vfs_opaque.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_TO_TEXT(conn, theacl, plen) ((conn)->vfs_opaque.ops.sys_acl_to_text((conn)->vfs_opaque.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_INIT(conn, count) ((conn)->vfs_opaque.ops.sys_acl_init((conn)->vfs_opaque.handles.sys_acl_init, (conn), (count)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_CREATE_ENTRY(conn, pacl, pentry) ((conn)->vfs_opaque.ops.sys_acl_create_entry((conn)->vfs_opaque.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_SET_TAG_TYPE(conn, entry, tagtype) ((conn)->vfs_opaque.ops.sys_acl_set_tag_type((conn)->vfs_opaque.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_SET_QUALIFIER(conn, entry, qual) ((conn)->vfs_opaque.ops.sys_acl_set_qualifier((conn)->vfs_opaque.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_SET_PERMSET(conn, entry, permset) ((conn)->vfs_opaque.ops.sys_acl_set_permset((conn)->vfs_opaque.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_VALID(conn, theacl) ((conn)->vfs_opaque.ops.sys_acl_valid((conn)->vfs_opaque.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_SET_FILE(conn, name, acltype, theacl) ((conn)->vfs_opaque.ops.sys_acl_set_file((conn)->vfs_opaque.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_SET_FD(fsp, fd, theacl) ((fsp)->conn->vfs_opaque.ops.sys_acl_set_fd((fsp)->conn->vfs_opaque.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_DELETE_DEF_FILE(conn, path) ((conn)->vfs_opaque.ops.sys_acl_delete_def_file((conn)->vfs_opaque.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_GET_PERM(conn, permset, perm) ((conn)->vfs_opaque.ops.sys_acl_get_perm((conn)->vfs_opaque.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_FREE_TEXT(conn, text) ((conn)->vfs_opaque.ops.sys_acl_free_text((conn)->vfs_opaque.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_FREE_ACL(conn, posix_acl) ((conn)->vfs_opaque.ops.sys_acl_free_acl((conn)->vfs_opaque.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define SMB_VFS_OPAQUE_SYS_ACL_FREE_QUALIFIER(conn, qualifier, tagtype) ((conn)->vfs_opaque.ops.sys_acl_free_qualifier((conn)->vfs_opaque.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
@ -192,79 +192,79 @@
|
||||
********************************************************************/
|
||||
|
||||
/* Disk operations */
|
||||
#define VFS_NEXT_CONNECT(handle, conn, service, user) ((handle)->vfs_next.ops.connect((handle)->vfs_next.handles.connect, (conn), (service), (user)))
|
||||
#define VFS_NEXT_DISCONNECT(handle, conn) ((handle)->vfs_next.ops.disconnect((handle)->vfs_next.handles.disconnect, (conn)))
|
||||
#define VFS_NEXT_DISK_FREE(handle, conn, path, small_query, bsize, dfree ,dsize) ((handle)->vfs_next.ops.disk_free((handle)->vfs_next.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define VFS_NEXT_GET_QUOTA(handle, conn, qtype, id, qt) ((handle)->vfs_next.ops.get_quota((handle)->vfs_next.handles.get_quota, (qtype), (id), (qt)))
|
||||
#define VFS_NEXT_SET_QUOTA(handle, conn, qtype, id, qt) ((handle)->vfs_next.ops.set_quota((handle)->vfs_next.handles.set_quota, (qtype), (id), (qt)))
|
||||
#define SMB_VFS_NEXT_CONNECT(handle, conn, service, user) ((handle)->vfs_next.ops.connect((handle)->vfs_next.handles.connect, (conn), (service), (user)))
|
||||
#define SMB_VFS_NEXT_DISCONNECT(handle, conn) ((handle)->vfs_next.ops.disconnect((handle)->vfs_next.handles.disconnect, (conn)))
|
||||
#define SMB_VFS_NEXT_DISK_FREE(handle, conn, path, small_query, bsize, dfree ,dsize) ((handle)->vfs_next.ops.disk_free((handle)->vfs_next.handles.disk_free, (conn), (path), (small_query), (bsize), (dfree), (dsize)))
|
||||
#define SMB_VFS_NEXT_GET_QUOTA(handle, conn, qtype, id, qt) ((handle)->vfs_next.ops.get_quota((handle)->vfs_next.handles.get_quota, (qtype), (id), (qt)))
|
||||
#define SMB_VFS_NEXT_SET_QUOTA(handle, conn, qtype, id, qt) ((handle)->vfs_next.ops.set_quota((handle)->vfs_next.handles.set_quota, (qtype), (id), (qt)))
|
||||
|
||||
/* Directory operations */
|
||||
#define VFS_NEXT_OPENDIR(handle, conn, fname) ((handle)->vfs_next.ops.opendir((handle)->vfs_next.handles.opendir, (conn), (fname)))
|
||||
#define VFS_NEXT_READDIR(handle, conn, dirp) ((handle)->vfs_next.ops.readdir((handle)->vfs_next.handles.readdir, (conn), (dirp)))
|
||||
#define VFS_NEXT_MKDIR(handle, conn, path, mode) ((handle)->vfs_next.ops.mkdir((handle)->vfs_next.handles.mkdir,(conn), (path), (mode)))
|
||||
#define VFS_NEXT_RMDIR(handle, conn, path) ((handle)->vfs_next.ops.rmdir((handle)->vfs_next.handles.rmdir, (conn), (path)))
|
||||
#define VFS_NEXT_CLOSEDIR(handle, conn, dir) ((handle)->vfs_next.ops.closedir((handle)->vfs_next.handles.closedir, (conn), dir))
|
||||
#define SMB_VFS_NEXT_OPENDIR(handle, conn, fname) ((handle)->vfs_next.ops.opendir((handle)->vfs_next.handles.opendir, (conn), (fname)))
|
||||
#define SMB_VFS_NEXT_READDIR(handle, conn, dirp) ((handle)->vfs_next.ops.readdir((handle)->vfs_next.handles.readdir, (conn), (dirp)))
|
||||
#define SMB_VFS_NEXT_MKDIR(handle, conn, path, mode) ((handle)->vfs_next.ops.mkdir((handle)->vfs_next.handles.mkdir,(conn), (path), (mode)))
|
||||
#define SMB_VFS_NEXT_RMDIR(handle, conn, path) ((handle)->vfs_next.ops.rmdir((handle)->vfs_next.handles.rmdir, (conn), (path)))
|
||||
#define SMB_VFS_NEXT_CLOSEDIR(handle, conn, dir) ((handle)->vfs_next.ops.closedir((handle)->vfs_next.handles.closedir, (conn), dir))
|
||||
|
||||
/* File operations */
|
||||
#define VFS_NEXT_OPEN(handle, conn, fname, flags, mode) ((handle)->vfs_next.ops.open((handle)->vfs_next.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define VFS_NEXT_CLOSE(handle, fsp, fd) ((handle)->vfs_next.ops.close((handle)->vfs_next.handles.close, (fsp), (fd)))
|
||||
#define VFS_NEXT_READ(handle, fsp, fd, data, n) ((handle)->vfs_next.ops.read((handle)->vfs_next.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define VFS_NEXT_WRITE(handle, fsp, fd, data, n) ((handle)->vfs_next.ops.write((handle)->vfs_next.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define VFS_NEXT_LSEEK(handle, fsp, fd, offset, whence) ((handle)->vfs_next.ops.lseek((handle)->vfs_next.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define VFS_NEXT_SENDFILE(handle, tofd, fsp, fromfd, header, offset, count) ((handle)->vfs_next.ops.sendfile((handle)->vfs_next.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define VFS_NEXT_RENAME(handle, conn, old, new) ((handle)->vfs_next.ops.rename((handle)->vfs_next.handles.rename, (conn), (old), (new)))
|
||||
#define VFS_NEXT_FSYNC(handle, fsp, fd) ((handle)->vfs_next.ops.fsync((handle)->vfs_next.handles.fsync, (fsp), (fd)))
|
||||
#define VFS_NEXT_STAT(handle, conn, fname, sbuf) ((handle)->vfs_next.ops.stat((handle)->vfs_next.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define VFS_NEXT_FSTAT(handle, fsp, fd, sbuf) ((handle)->vfs_next.ops.fstat((handle)->vfs_next.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define VFS_NEXT_LSTAT(handle, conn, path, sbuf) ((handle)->vfs_next.ops.lstat((handle)->vfs_next.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define VFS_NEXT_UNLINK(handle, conn, path) ((handle)->vfs_next.ops.unlink((handle)->vfs_next.handles.unlink, (conn), (path)))
|
||||
#define VFS_NEXT_CHMOD(handle, conn, path, mode) ((handle)->vfs_next.ops.chmod((handle)->vfs_next.handles.chmod, (conn), (path), (mode)))
|
||||
#define VFS_NEXT_FCHMOD(handle, fsp, fd, mode) ((handle)->vfs_next.ops.fchmod((handle)->vfs_next.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define VFS_NEXT_CHOWN(handle, conn, path, uid, gid) ((handle)->vfs_next.ops.chown((handle)->vfs_next.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define VFS_NEXT_FCHOWN(handle, fsp, fd, uid, gid) ((handle)->vfs_next.ops.fchown((handle)->vfs_next.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define VFS_NEXT_CHDIR(handle, conn, path) ((handle)->vfs_next.ops.chdir((handle)->vfs_next.handles.chdir, (conn), (path)))
|
||||
#define VFS_NEXT_GETWD(handle, conn, buf) ((handle)->vfs_next.ops.getwd((handle)->vfs_next.handles.getwd, (conn), (buf)))
|
||||
#define VFS_NEXT_UTIME(handle, conn, path, times) ((handle)->vfs_next.ops.utime((handle)->vfs_next.handles.utime, (conn), (path), (times)))
|
||||
#define VFS_NEXT_FTRUNCATE(handle, fsp, fd, offset) ((handle)->vfs_next.ops.ftruncate((handle)->vfs_next.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define VFS_NEXT_LOCK(handle, fsp, fd, op, offset, count, type) ((handle)->vfs_next.ops.lock((handle)->vfs_next.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define VFS_NEXT_SYMLINK(handle, conn, oldpath, newpath) ((handle)->vfs_next.ops.symlink((handle)->vfs_next.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define VFS_NEXT_READLINK(handle, conn, path, buf, bufsiz) ((handle)->vfs_next.ops.readlink((handle)->vfs_next.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define VFS_NEXT_LINK(handle, conn, oldpath, newpath) ((handle)->vfs_next.ops.link((handle)->vfs_next.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define VFS_NEXT_MKNOD(handle, conn, path, mode, dev) ((handle)->vfs_next.ops.mknod((handle)->vfs_next.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define VFS_NEXT_REALPATH(handle, conn, path, resolved_path) ((handle)->vfs_next.ops.realpath((handle)->vfs_next.handles.realpath, (conn), (path), (resolved_path)))
|
||||
#define SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode) ((handle)->vfs_next.ops.open((handle)->vfs_next.handles.open, (conn), (fname), (flags), (mode)))
|
||||
#define SMB_VFS_NEXT_CLOSE(handle, fsp, fd) ((handle)->vfs_next.ops.close((handle)->vfs_next.handles.close, (fsp), (fd)))
|
||||
#define SMB_VFS_NEXT_READ(handle, fsp, fd, data, n) ((handle)->vfs_next.ops.read((handle)->vfs_next.handles.read, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_NEXT_WRITE(handle, fsp, fd, data, n) ((handle)->vfs_next.ops.write((handle)->vfs_next.handles.write, (fsp), (fd), (data), (n)))
|
||||
#define SMB_VFS_NEXT_LSEEK(handle, fsp, fd, offset, whence) ((handle)->vfs_next.ops.lseek((handle)->vfs_next.handles.lseek, (fsp), (fd), (offset), (whence)))
|
||||
#define SMB_VFS_NEXT_SENDFILE(handle, tofd, fsp, fromfd, header, offset, count) ((handle)->vfs_next.ops.sendfile((handle)->vfs_next.handles.sendfile, (tofd), (fsp), (fromfd), (header), (offset), (count)))
|
||||
#define SMB_VFS_NEXT_RENAME(handle, conn, old, new) ((handle)->vfs_next.ops.rename((handle)->vfs_next.handles.rename, (conn), (old), (new)))
|
||||
#define SMB_VFS_NEXT_FSYNC(handle, fsp, fd) ((handle)->vfs_next.ops.fsync((handle)->vfs_next.handles.fsync, (fsp), (fd)))
|
||||
#define SMB_VFS_NEXT_STAT(handle, conn, fname, sbuf) ((handle)->vfs_next.ops.stat((handle)->vfs_next.handles.stat, (conn), (fname), (sbuf)))
|
||||
#define SMB_VFS_NEXT_FSTAT(handle, fsp, fd, sbuf) ((handle)->vfs_next.ops.fstat((handle)->vfs_next.handles.fstat, (fsp) ,(fd) ,(sbuf)))
|
||||
#define SMB_VFS_NEXT_LSTAT(handle, conn, path, sbuf) ((handle)->vfs_next.ops.lstat((handle)->vfs_next.handles.lstat, (conn), (path), (sbuf)))
|
||||
#define SMB_VFS_NEXT_UNLINK(handle, conn, path) ((handle)->vfs_next.ops.unlink((handle)->vfs_next.handles.unlink, (conn), (path)))
|
||||
#define SMB_VFS_NEXT_CHMOD(handle, conn, path, mode) ((handle)->vfs_next.ops.chmod((handle)->vfs_next.handles.chmod, (conn), (path), (mode)))
|
||||
#define SMB_VFS_NEXT_FCHMOD(handle, fsp, fd, mode) ((handle)->vfs_next.ops.fchmod((handle)->vfs_next.handles.fchmod, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_NEXT_CHOWN(handle, conn, path, uid, gid) ((handle)->vfs_next.ops.chown((handle)->vfs_next.handles.chown, (conn), (path), (uid), (gid)))
|
||||
#define SMB_VFS_NEXT_FCHOWN(handle, fsp, fd, uid, gid) ((handle)->vfs_next.ops.fchown((handle)->vfs_next.handles.fchown, (fsp), (fd), (uid), (gid)))
|
||||
#define SMB_VFS_NEXT_CHDIR(handle, conn, path) ((handle)->vfs_next.ops.chdir((handle)->vfs_next.handles.chdir, (conn), (path)))
|
||||
#define SMB_VFS_NEXT_GETWD(handle, conn, buf) ((handle)->vfs_next.ops.getwd((handle)->vfs_next.handles.getwd, (conn), (buf)))
|
||||
#define SMB_VFS_NEXT_UTIME(handle, conn, path, times) ((handle)->vfs_next.ops.utime((handle)->vfs_next.handles.utime, (conn), (path), (times)))
|
||||
#define SMB_VFS_NEXT_FTRUNCATE(handle, fsp, fd, offset) ((handle)->vfs_next.ops.ftruncate((handle)->vfs_next.handles.ftruncate, (fsp), (fd), (offset)))
|
||||
#define SMB_VFS_NEXT_LOCK(handle, fsp, fd, op, offset, count, type) ((handle)->vfs_next.ops.lock((handle)->vfs_next.handles.lock, (fsp), (fd) ,(op), (offset), (count), (type)))
|
||||
#define SMB_VFS_NEXT_SYMLINK(handle, conn, oldpath, newpath) ((handle)->vfs_next.ops.symlink((handle)->vfs_next.handles.symlink, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_NEXT_READLINK(handle, conn, path, buf, bufsiz) ((handle)->vfs_next.ops.readlink((handle)->vfs_next.handles.readlink, (conn), (path), (buf), (bufsiz)))
|
||||
#define SMB_VFS_NEXT_LINK(handle, conn, oldpath, newpath) ((handle)->vfs_next.ops.link((handle)->vfs_next.handles.link, (conn), (oldpath), (newpath)))
|
||||
#define SMB_VFS_NEXT_MKNOD(handle, conn, path, mode, dev) ((handle)->vfs_next.ops.mknod((handle)->vfs_next.handles.mknod, (conn), (path), (mode), (dev)))
|
||||
#define SMB_VFS_NEXT_REALPATH(handle, conn, path, resolved_path) ((handle)->vfs_next.ops.realpath((handle)->vfs_next.handles.realpath, (conn), (path), (resolved_path)))
|
||||
|
||||
/* NT ACL operations. */
|
||||
#define VFS_NEXT_FGET_NT_ACL(handle, fsp, fd, ppdesc) ((handle)->vfs_next.ops.fget_nt_acl((handle)->vfs_next.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define VFS_NEXT_GET_NT_ACL(handle, fsp, name, ppdesc) ((handle)->vfs_next.ops.get_nt_acl((handle)->vfs_next.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define VFS_NEXT_FSET_NT_ACL(handle, fsp, fd, security_info_sent, psd) ((handle)->vfs_next.ops.fset_nt_acl((handle)->vfs_next.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define VFS_NEXT_SET_NT_ACL(handle, fsp, name, security_info_sent, psd) ((handle)->vfs_next.ops.set_nt_acl((handle)->vfs_next.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_NEXT_FGET_NT_ACL(handle, fsp, fd, ppdesc) ((handle)->vfs_next.ops.fget_nt_acl((handle)->vfs_next.handles.fget_nt_acl, (fsp), (fd), (ppdesc)))
|
||||
#define SMB_VFS_NEXT_GET_NT_ACL(handle, fsp, name, ppdesc) ((handle)->vfs_next.ops.get_nt_acl((handle)->vfs_next.handles.get_nt_acl, (fsp), (name), (ppdesc)))
|
||||
#define SMB_VFS_NEXT_FSET_NT_ACL(handle, fsp, fd, security_info_sent, psd) ((handle)->vfs_next.ops.fset_nt_acl((handle)->vfs_next.handles.fset_nt_acl, (fsp), (fd), (security_info_sent), (psd)))
|
||||
#define SMB_VFS_NEXT_SET_NT_ACL(handle, fsp, name, security_info_sent, psd) ((handle)->vfs_next.ops.set_nt_acl((handle)->vfs_next.handles.set_nt_acl, (fsp), (name), (security_info_sent), (psd)))
|
||||
|
||||
/* POSIX ACL operations. */
|
||||
#define VFS_NEXT_CHMOD_ACL(handle, conn, name, mode) ((handle)->vfs_next.ops.chmod_acl((handle)->vfs_next.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode) ((handle)->vfs_next.ops.fchmod_acl((handle)->vfs_next.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
#define SMB_VFS_NEXT_CHMOD_ACL(handle, conn, name, mode) ((handle)->vfs_next.ops.chmod_acl((handle)->vfs_next.handles.chmod_acl, (conn), (name), (mode)))
|
||||
#define SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode) ((handle)->vfs_next.ops.fchmod_acl((handle)->vfs_next.handles.chmod_acl, (fsp), (fd), (mode)))
|
||||
|
||||
#define VFS_NEXT_SYS_ACL_GET_ENTRY(handle, conn, theacl, entry_id, entry_p) ((handle)->vfs_next.ops.sys_acl_get_entry((handle)->vfs_next.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, conn, entry_d, tag_type_p) ((handle)->vfs_next.ops.sys_acl_get_tag_type((handle)->vfs_next.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_PERMSET(handle, conn, entry_d, permset_p) ((handle)->vfs_next.ops.sys_acl_get_permset((handle)->vfs_next.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, conn, entry_d) ((handle)->vfs_next.ops.sys_acl_get_qualifier((handle)->vfs_next.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_FILE(handle, conn, path_p, type) ((handle)->vfs_next.ops.sys_acl_get_file((handle)->vfs_next.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_FD(handle, fsp, fd) ((handle)->vfs_next.ops.sys_acl_get_fd((handle)->vfs_next.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, conn, permset) ((handle)->vfs_next.ops.sys_acl_clear_perms((handle)->vfs_next.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define VFS_NEXT_SYS_ACL_ADD_PERM(handle, conn, permset, perm) ((handle)->vfs_next.ops.sys_acl_add_perm((handle)->vfs_next.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define VFS_NEXT_SYS_ACL_TO_TEXT(handle, conn, theacl, plen) ((handle)->vfs_next.ops.sys_acl_to_text((handle)->vfs_next.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define VFS_NEXT_SYS_ACL_INIT(handle, conn, count) ((handle)->vfs_next.ops.sys_acl_init((handle)->vfs_next.handles.sys_acl_init, (conn), (count)))
|
||||
#define VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, conn, pacl, pentry) ((handle)->vfs_next.ops.sys_acl_create_entry((handle)->vfs_next.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, conn, entry, tagtype) ((handle)->vfs_next.ops.sys_acl_set_tag_type((handle)->vfs_next.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, conn, entry, qual) ((handle)->vfs_next.ops.sys_acl_set_qualifier((handle)->vfs_next.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define VFS_NEXT_SYS_ACL_SET_PERMSET(handle, conn, entry, permset) ((handle)->vfs_next.ops.sys_acl_set_permset((handle)->vfs_next.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define VFS_NEXT_SYS_ACL_VALID(handle, conn, theacl) ((handle)->vfs_next.ops.sys_acl_valid((handle)->vfs_next.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define VFS_NEXT_SYS_ACL_SET_FILE(handle, conn, name, acltype, theacl) ((handle)->vfs_next.ops.sys_acl_set_file((handle)->vfs_next.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, fd, theacl) ((handle)->vfs_next.ops.sys_acl_set_fd((handle)->vfs_next.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, conn, path) ((handle)->vfs_next.ops.sys_acl_delete_def_file((handle)->vfs_next.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define VFS_NEXT_SYS_ACL_GET_PERM(handle, conn, permset, perm) ((handle)->vfs_next.ops.sys_acl_get_perm((handle)->vfs_next.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define VFS_NEXT_SYS_ACL_FREE_TEXT(handle, conn, text) ((handle)->vfs_next.ops.sys_acl_free_text((handle)->vfs_next.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define VFS_NEXT_SYS_ACL_FREE_ACL(handle, conn, posix_acl) ((handle)->vfs_next.ops.sys_acl_free_acl((handle)->vfs_next.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, conn, qualifier, tagtype) ((handle)->vfs_next.ops.sys_acl_free_qualifier((handle)->vfs_next.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_ENTRY(handle, conn, theacl, entry_id, entry_p) ((handle)->vfs_next.ops.sys_acl_get_entry((handle)->vfs_next.handles.sys_acl_get_entry, (conn), (theacl), (entry_id), (entry_p)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_TAG_TYPE(handle, conn, entry_d, tag_type_p) ((handle)->vfs_next.ops.sys_acl_get_tag_type((handle)->vfs_next.handles.sys_acl_get_tag_type, (conn), (entry_d), (tag_type_p)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_PERMSET(handle, conn, entry_d, permset_p) ((handle)->vfs_next.ops.sys_acl_get_permset((handle)->vfs_next.handles.sys_acl_get_permset, (conn), (entry_d), (permset_p)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_QUALIFIER(handle, conn, entry_d) ((handle)->vfs_next.ops.sys_acl_get_qualifier((handle)->vfs_next.handles.sys_acl_get_qualifier, (conn), (entry_d)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_FILE(handle, conn, path_p, type) ((handle)->vfs_next.ops.sys_acl_get_file((handle)->vfs_next.handles.sys_acl_get_file, (conn), (path_p), (type)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_FD(handle, fsp, fd) ((handle)->vfs_next.ops.sys_acl_get_fd((handle)->vfs_next.handles.sys_acl_get_fd, (fsp), (fd)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_CLEAR_PERMS(handle, conn, permset) ((handle)->vfs_next.ops.sys_acl_clear_perms((handle)->vfs_next.handles.sys_acl_clear_perms, (conn), (permset)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_ADD_PERM(handle, conn, permset, perm) ((handle)->vfs_next.ops.sys_acl_add_perm((handle)->vfs_next.handles.sys_acl_add_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_TO_TEXT(handle, conn, theacl, plen) ((handle)->vfs_next.ops.sys_acl_to_text((handle)->vfs_next.handles.sys_acl_to_text, (conn), (theacl), (plen)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_INIT(handle, conn, count) ((handle)->vfs_next.ops.sys_acl_init((handle)->vfs_next.handles.sys_acl_init, (conn), (count)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_CREATE_ENTRY(handle, conn, pacl, pentry) ((handle)->vfs_next.ops.sys_acl_create_entry((handle)->vfs_next.handles.sys_acl_create_entry, (conn), (pacl), (pentry)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_TAG_TYPE(handle, conn, entry, tagtype) ((handle)->vfs_next.ops.sys_acl_set_tag_type((handle)->vfs_next.handles.sys_acl_set_tag_type, (conn), (entry), (tagtype)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_QUALIFIER(handle, conn, entry, qual) ((handle)->vfs_next.ops.sys_acl_set_qualifier((handle)->vfs_next.handles.sys_acl_set_qualifier, (conn), (entry), (qual)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_PERMSET(handle, conn, entry, permset) ((handle)->vfs_next.ops.sys_acl_set_permset((handle)->vfs_next.handles.sys_acl_set_permset, (conn), (entry), (permset)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_VALID(handle, conn, theacl) ((handle)->vfs_next.ops.sys_acl_valid((handle)->vfs_next.handles.sys_acl_valid, (conn), (theacl)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_FILE(handle, conn, name, acltype, theacl) ((handle)->vfs_next.ops.sys_acl_set_file((handle)->vfs_next.handles.sys_acl_set_file, (conn), (name), (acltype), (theacl)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_SET_FD(handle, fsp, fd, theacl) ((handle)->vfs_next.ops.sys_acl_set_fd((handle)->vfs_next.handles.sys_acl_set_fd, (fsp), (fd), (theacl)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_DELETE_DEF_FILE(handle, conn, path) ((handle)->vfs_next.ops.sys_acl_delete_def_file((handle)->vfs_next.handles.sys_acl_delete_def_file, (conn), (path)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_GET_PERM(handle, conn, permset, perm) ((handle)->vfs_next.ops.sys_acl_get_perm((handle)->vfs_next.handles.sys_acl_get_perm, (conn), (permset), (perm)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_FREE_TEXT(handle, conn, text) ((handle)->vfs_next.ops.sys_acl_free_text((handle)->vfs_next.handles.sys_acl_free_text, (conn), (text)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_FREE_ACL(handle, conn, posix_acl) ((handle)->vfs_next.ops.sys_acl_free_acl((handle)->vfs_next.handles.sys_acl_free_acl, (conn), (posix_acl)))
|
||||
#define SMB_VFS_NEXT_SYS_ACL_FREE_QUALIFIER(handle, conn, qualifier, tagtype) ((handle)->vfs_next.ops.sys_acl_free_qualifier((handle)->vfs_next.handles.sys_acl_free_qualifier, (conn), (qualifier), (tagtype)))
|
||||
|
||||
|
||||
#endif /* _VFS_MACROS_H */
|
||||
|
@ -205,7 +205,7 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
|
||||
/*
|
||||
* No POSIX to worry about, just close.
|
||||
*/
|
||||
ret = VFS_CLOSE(fsp,fsp->fd);
|
||||
ret = SMB_VFS_CLOSE(fsp,fsp->fd);
|
||||
fsp->fd = -1;
|
||||
return ret;
|
||||
}
|
||||
@ -259,7 +259,7 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
|
||||
DEBUG(10,("fd_close_posix: doing close on %u fd's.\n", (unsigned int)count ));
|
||||
|
||||
for(i = 0; i < count; i++) {
|
||||
if (VFS_CLOSE(fsp,fd_array[i]) == -1) {
|
||||
if (SMB_VFS_CLOSE(fsp,fd_array[i]) == -1) {
|
||||
saved_errno = errno;
|
||||
}
|
||||
}
|
||||
@ -278,7 +278,7 @@ int fd_close_posix(struct connection_struct *conn, files_struct *fsp)
|
||||
* Finally close the fd associated with this fsp.
|
||||
*/
|
||||
|
||||
ret = VFS_CLOSE(fsp,fsp->fd);
|
||||
ret = SMB_VFS_CLOSE(fsp,fsp->fd);
|
||||
|
||||
if (saved_errno != 0) {
|
||||
errno = saved_errno;
|
||||
@ -649,7 +649,7 @@ static BOOL posix_fcntl_lock(files_struct *fsp, int op, SMB_OFF_T offset, SMB_OF
|
||||
|
||||
DEBUG(8,("posix_fcntl_lock %d %d %.0f %.0f %d\n",fsp->fd,op,(double)offset,(double)count,type));
|
||||
|
||||
ret = VFS_LOCK(fsp,fsp->fd,op,offset,count,type);
|
||||
ret = SMB_VFS_LOCK(fsp,fsp->fd,op,offset,count,type);
|
||||
|
||||
if (!ret && ((errno == EFBIG) || (errno == ENOLCK) || (errno == EINVAL))) {
|
||||
|
||||
@ -673,7 +673,7 @@ static BOOL posix_fcntl_lock(files_struct *fsp, int op, SMB_OFF_T offset, SMB_OF
|
||||
DEBUG(0,("Count greater than 31 bits - retrying with 31 bit truncated length.\n"));
|
||||
errno = 0;
|
||||
count &= 0x7fffffff;
|
||||
ret = VFS_LOCK(fsp,fsp->fd,op,offset,count,type);
|
||||
ret = SMB_VFS_LOCK(fsp,fsp->fd,op,offset,count,type);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -49,29 +49,29 @@ static vfs_op_tuple audit_op_tuples[] = {
|
||||
|
||||
/* Disk operations */
|
||||
|
||||
{VFS_OP(audit_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
{VFS_OP(audit_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_mkdir), SMB_VFS_OP_MKDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_mkdir), SMB_VFS_OP_MKDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* File operations */
|
||||
|
||||
{VFS_OP(audit_open), SMB_VFS_OP_OPEN, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_close), SMB_VFS_OP_CLOSE, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_fchmod), SMB_VFS_OP_FCHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_chmod_acl), SMB_VFS_OP_CHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_fchmod_acl), SMB_VFS_OP_FCHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_open), SMB_VFS_OP_OPEN, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_close), SMB_VFS_OP_CLOSE, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_fchmod), SMB_VFS_OP_FCHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_chmod_acl), SMB_VFS_OP_CHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_fchmod_acl), SMB_VFS_OP_FCHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* Finish VFS operations definition */
|
||||
|
||||
{VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
{SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
};
|
||||
|
||||
|
||||
@ -106,7 +106,7 @@ static int audit_connect(vfs_handle_struct *handle, connection_struct *conn, con
|
||||
syslog(audit_syslog_priority(handle), "connect to service %s by user %s\n",
|
||||
svc, user);
|
||||
|
||||
result = VFS_NEXT_CONNECT(handle, conn, svc, user);
|
||||
result = SMB_VFS_NEXT_CONNECT(handle, conn, svc, user);
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -114,7 +114,7 @@ static int audit_connect(vfs_handle_struct *handle, connection_struct *conn, con
|
||||
static void audit_disconnect(vfs_handle_struct *handle, connection_struct *conn)
|
||||
{
|
||||
syslog(audit_syslog_priority(handle), "disconnected\n");
|
||||
VFS_NEXT_DISCONNECT(handle, conn);
|
||||
SMB_VFS_NEXT_DISCONNECT(handle, conn);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -123,7 +123,7 @@ static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
{
|
||||
DIR *result;
|
||||
|
||||
result = VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
result = SMB_VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "opendir %s %s%s\n",
|
||||
fname,
|
||||
@ -137,7 +137,7 @@ static int audit_mkdir(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_MKDIR(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_MKDIR(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "mkdir %s %s%s\n",
|
||||
path,
|
||||
@ -151,7 +151,7 @@ static int audit_rmdir(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_RMDIR(handle, conn, path);
|
||||
result = SMB_VFS_NEXT_RMDIR(handle, conn, path);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "rmdir %s %s%s\n",
|
||||
path,
|
||||
@ -165,7 +165,7 @@ static int audit_open(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
|
||||
result = SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "open %s (fd %d) %s%s%s\n",
|
||||
fname, result,
|
||||
@ -180,7 +180,7 @@ static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CLOSE(handle, fsp, fd);
|
||||
result = SMB_VFS_NEXT_CLOSE(handle, fsp, fd);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "close fd %d %s%s\n",
|
||||
fd,
|
||||
@ -194,7 +194,7 @@ static int audit_rename(vfs_handle_struct *handle, connection_struct *conn, cons
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
result = SMB_VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "rename %s -> %s %s%s\n",
|
||||
old, new,
|
||||
@ -208,7 +208,7 @@ static int audit_unlink(vfs_handle_struct *handle, connection_struct *conn, cons
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_UNLINK(handle, conn, path);
|
||||
result = SMB_VFS_NEXT_UNLINK(handle, conn, path);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "unlink %s %s%s\n",
|
||||
path,
|
||||
@ -222,7 +222,7 @@ static int audit_chmod(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "chmod %s mode 0x%x %s%s\n",
|
||||
path, mode,
|
||||
@ -236,7 +236,7 @@ static int audit_chmod_acl(vfs_handle_struct *handle, connection_struct *conn, c
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CHMOD_ACL(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_CHMOD_ACL(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "chmod_acl %s mode 0x%x %s%s\n",
|
||||
path, mode,
|
||||
@ -250,7 +250,7 @@ static int audit_fchmod(vfs_handle_struct *handle, files_struct *fsp, int fd, mo
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_FCHMOD(handle, fsp, fd, mode);
|
||||
result = SMB_VFS_NEXT_FCHMOD(handle, fsp, fd, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "fchmod %s mode 0x%x %s%s\n",
|
||||
fsp->fsp_name, mode,
|
||||
@ -264,7 +264,7 @@ static int audit_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, int fd
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode);
|
||||
result = SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "fchmod_acl %s mode 0x%x %s%s\n",
|
||||
fsp->fsp_name, mode,
|
||||
|
@ -52,29 +52,29 @@ static vfs_op_tuple audit_op_tuples[] = {
|
||||
|
||||
/* Disk operations */
|
||||
|
||||
{VFS_OP(audit_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
{VFS_OP(audit_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_mkdir), SMB_VFS_OP_MKDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_mkdir), SMB_VFS_OP_MKDIR, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* File operations */
|
||||
|
||||
{VFS_OP(audit_open), SMB_VFS_OP_OPEN, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_close), SMB_VFS_OP_CLOSE, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_fchmod), SMB_VFS_OP_FCHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_chmod_acl), SMB_VFS_OP_CHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{VFS_OP(audit_fchmod_acl), SMB_VFS_OP_FCHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_open), SMB_VFS_OP_OPEN, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_close), SMB_VFS_OP_CLOSE, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_fchmod), SMB_VFS_OP_FCHMOD, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_chmod_acl), SMB_VFS_OP_CHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
{SMB_VFS_OP(audit_fchmod_acl), SMB_VFS_OP_FCHMOD_ACL, SMB_VFS_LAYER_LOGGER},
|
||||
|
||||
/* Finish VFS operations definition */
|
||||
|
||||
{VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
{SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
};
|
||||
|
||||
|
||||
@ -111,7 +111,7 @@ static int audit_connect(vfs_handle_struct *handle, connection_struct *conn, con
|
||||
DEBUG(10, ("Connected to service %s as user %s\n",
|
||||
svc, user));
|
||||
|
||||
result = VFS_NEXT_CONNECT(handle, conn, svc, user);
|
||||
result = SMB_VFS_NEXT_CONNECT(handle, conn, svc, user);
|
||||
|
||||
return result;
|
||||
}
|
||||
@ -120,7 +120,7 @@ static void audit_disconnect(vfs_handle_struct *handle, connection_struct *conn)
|
||||
{
|
||||
syslog(audit_syslog_priority(handle), "disconnected\n");
|
||||
DEBUG(10, ("Disconnected from VFS module extd_audit\n"));
|
||||
VFS_NEXT_DISCONNECT(handle, conn);
|
||||
SMB_VFS_NEXT_DISCONNECT(handle, conn);
|
||||
|
||||
return;
|
||||
}
|
||||
@ -129,7 +129,7 @@ static DIR *audit_opendir(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
{
|
||||
DIR *result;
|
||||
|
||||
result = VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
result = SMB_VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "opendir %s %s%s\n",
|
||||
fname,
|
||||
@ -147,7 +147,7 @@ static int audit_mkdir(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_MKDIR(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_MKDIR(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "mkdir %s %s%s\n",
|
||||
path,
|
||||
@ -165,7 +165,7 @@ static int audit_rmdir(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_RMDIR(handle, conn, path);
|
||||
result = SMB_VFS_NEXT_RMDIR(handle, conn, path);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "rmdir %s %s%s\n",
|
||||
path,
|
||||
@ -183,7 +183,7 @@ static int audit_open(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
|
||||
result = SMB_VFS_NEXT_OPEN(handle, conn, fname, flags, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "open %s (fd %d) %s%s%s\n",
|
||||
fname, result,
|
||||
@ -202,7 +202,7 @@ static int audit_close(vfs_handle_struct *handle, files_struct *fsp, int fd)
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CLOSE(handle, fsp, fd);
|
||||
result = SMB_VFS_NEXT_CLOSE(handle, fsp, fd);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "close fd %d %s%s\n",
|
||||
fd,
|
||||
@ -220,7 +220,7 @@ static int audit_rename(vfs_handle_struct *handle, connection_struct *conn, cons
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
result = SMB_VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "rename %s -> %s %s%s\n",
|
||||
old, new,
|
||||
@ -238,7 +238,7 @@ static int audit_unlink(vfs_handle_struct *handle, connection_struct *conn, cons
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_UNLINK(handle, conn, path);
|
||||
result = SMB_VFS_NEXT_UNLINK(handle, conn, path);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "unlink %s %s%s\n",
|
||||
path,
|
||||
@ -256,7 +256,7 @@ static int audit_chmod(vfs_handle_struct *handle, connection_struct *conn, const
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "chmod %s mode 0x%x %s%s\n",
|
||||
path, mode,
|
||||
@ -274,7 +274,7 @@ static int audit_chmod_acl(vfs_handle_struct *handle, connection_struct *conn, c
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_CHMOD_ACL(handle, conn, path, mode);
|
||||
result = SMB_VFS_NEXT_CHMOD_ACL(handle, conn, path, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "chmod_acl %s mode 0x%x %s%s\n",
|
||||
path, mode,
|
||||
@ -292,7 +292,7 @@ static int audit_fchmod(vfs_handle_struct *handle, files_struct *fsp, int fd, mo
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_FCHMOD(handle, fsp, fd, mode);
|
||||
result = SMB_VFS_NEXT_FCHMOD(handle, fsp, fd, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "fchmod %s mode 0x%x %s%s\n",
|
||||
fsp->fsp_name, mode,
|
||||
@ -310,7 +310,7 @@ static int audit_fchmod_acl(vfs_handle_struct *handle, files_struct *fsp, int fd
|
||||
{
|
||||
int result;
|
||||
|
||||
result = VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode);
|
||||
result = SMB_VFS_NEXT_FCHMOD_ACL(handle, fsp, fd, mode);
|
||||
|
||||
syslog(audit_syslog_priority(handle), "fchmod_acl %s mode 0x%x %s%s\n",
|
||||
fsp->fsp_name, mode,
|
||||
|
@ -31,7 +31,7 @@ static int fake_perms_stat(vfs_handle_struct *handle, connection_struct *conn, c
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
ret = VFS_NEXT_STAT(handle, conn, fname, sbuf);
|
||||
ret = SMB_VFS_NEXT_STAT(handle, conn, fname, sbuf);
|
||||
if (ret == 0) {
|
||||
extern struct current_user current_user;
|
||||
|
||||
@ -51,7 +51,7 @@ static int fake_perms_fstat(vfs_handle_struct *handle, files_struct *fsp, int fd
|
||||
{
|
||||
int ret = -1;
|
||||
|
||||
ret = VFS_NEXT_FSTAT(handle, fsp, fd, sbuf);
|
||||
ret = SMB_VFS_NEXT_FSTAT(handle, fsp, fd, sbuf);
|
||||
if (ret == 0) {
|
||||
extern struct current_user current_user;
|
||||
|
||||
@ -69,10 +69,10 @@ static int fake_perms_fstat(vfs_handle_struct *handle, files_struct *fsp, int fd
|
||||
/* VFS operations structure */
|
||||
|
||||
static vfs_op_tuple fake_perms_ops[] = {
|
||||
{VFS_OP(fake_perms_stat), SMB_VFS_OP_STAT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(fake_perms_fstat), SMB_VFS_OP_FSTAT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(fake_perms_stat), SMB_VFS_OP_STAT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(fake_perms_fstat), SMB_VFS_OP_FSTAT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
|
||||
{NULL, SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
{SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
};
|
||||
|
||||
NTSTATUS vfs_fake_perms_init(void)
|
||||
|
@ -177,7 +177,7 @@ DIR *atalk_opendir(struct vfs_handle_struct *handle, struct connection_struct *c
|
||||
{
|
||||
DIR *ret = 0;
|
||||
|
||||
ret = VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
ret = SMB_VFS_NEXT_OPENDIR(handle, conn, fname);
|
||||
|
||||
/*
|
||||
* when we try to perform delete operation upon file which has fork
|
||||
@ -219,7 +219,7 @@ static int atalk_rmdir(struct vfs_handle_struct *handle, struct connection_struc
|
||||
|
||||
exit_rmdir:
|
||||
talloc_destroy(ctx);
|
||||
return VFS_NEXT_RMDIR(handle, conn, path);
|
||||
return SMB_VFS_NEXT_RMDIR(handle, conn, path);
|
||||
}
|
||||
|
||||
/* File operations */
|
||||
@ -233,7 +233,7 @@ static int atalk_rename(struct vfs_handle_struct *handle, struct connection_stru
|
||||
SMB_STRUCT_STAT orig_info;
|
||||
TALLOC_CTX *ctx;
|
||||
|
||||
ret = VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
ret = SMB_VFS_NEXT_RENAME(handle, conn, old, new);
|
||||
|
||||
if (!conn || !old) return ret;
|
||||
|
||||
@ -265,7 +265,7 @@ static int atalk_unlink(struct vfs_handle_struct *handle, struct connection_stru
|
||||
SMB_STRUCT_STAT orig_info;
|
||||
TALLOC_CTX *ctx;
|
||||
|
||||
ret = VFS_NEXT_UNLINK(handle, conn, path);
|
||||
ret = SMB_VFS_NEXT_UNLINK(handle, conn, path);
|
||||
|
||||
if (!conn || !path) return ret;
|
||||
|
||||
@ -321,7 +321,7 @@ static int atalk_chmod(struct vfs_handle_struct *handle, struct connection_struc
|
||||
SMB_STRUCT_STAT orig_info;
|
||||
TALLOC_CTX *ctx;
|
||||
|
||||
ret = VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
ret = SMB_VFS_NEXT_CHMOD(handle, conn, path, mode);
|
||||
|
||||
if (!conn || !path) return ret;
|
||||
|
||||
@ -353,7 +353,7 @@ static int atalk_chown(struct vfs_handle_struct *handle, struct connection_struc
|
||||
SMB_STRUCT_STAT orig_info;
|
||||
TALLOC_CTX *ctx;
|
||||
|
||||
ret = VFS_NEXT_CHOWN(handle, conn, path, uid, gid);
|
||||
ret = SMB_VFS_NEXT_CHOWN(handle, conn, path, uid, gid);
|
||||
|
||||
if (!conn || !path) return ret;
|
||||
|
||||
@ -380,19 +380,19 @@ static vfs_op_tuple atalk_ops[] = {
|
||||
|
||||
/* Directory operations */
|
||||
|
||||
{VFS_OP(atalk_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(atalk_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_rmdir), SMB_VFS_OP_RMDIR, SMB_VFS_LAYER_TRANSPARENT},
|
||||
|
||||
/* File operations */
|
||||
|
||||
{VFS_OP(atalk_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(atalk_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(atalk_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(atalk_chown), SMB_VFS_OP_CHOWN, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_rename), SMB_VFS_OP_RENAME, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_chmod), SMB_VFS_OP_CHMOD, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(atalk_chown), SMB_VFS_OP_CHOWN, SMB_VFS_LAYER_TRANSPARENT},
|
||||
|
||||
/* Finish VFS operations definition */
|
||||
|
||||
{VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
{SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
};
|
||||
|
||||
NTSTATUS vfs_netatalk_init(void)
|
||||
|
@ -39,13 +39,13 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
static vfs_op_tuple recycle_ops[] = {
|
||||
|
||||
/* Disk operations */
|
||||
{VFS_OP(recycle_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{VFS_OP(recycle_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(recycle_connect), SMB_VFS_OP_CONNECT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(recycle_disconnect), SMB_VFS_OP_DISCONNECT, SMB_VFS_LAYER_TRANSPARENT},
|
||||
|
||||
/* File operations */
|
||||
{VFS_OP(recycle_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_TRANSPARENT},
|
||||
{SMB_VFS_OP(recycle_unlink), SMB_VFS_OP_UNLINK, SMB_VFS_LAYER_TRANSPARENT},
|
||||
|
||||
{NULL, SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
{SMB_VFS_OP(NULL), SMB_VFS_OP_NOOP, SMB_VFS_LAYER_NOOP}
|
||||
};
|
||||
|
||||
static int recycle_connect(vfs_handle_struct *handle, connection_struct *conn, const char *service, const char *user)
|
||||
@ -53,7 +53,7 @@ static int recycle_connect(vfs_handle_struct *handle, connection_struct *conn, c
|
||||
DEBUG(10,("recycle_connect() connect to service[%s] as user[%s].\n",
|
||||
service,user));
|
||||
|
||||
return VFS_NEXT_CONNECT(handle, conn, service, user);
|
||||
return SMB_VFS_NEXT_CONNECT(handle, conn, service, user);
|
||||
}
|
||||
|
||||
static void recycle_disconnect(vfs_handle_struct *handle, connection_struct *conn)
|
||||
@ -61,7 +61,7 @@ static void recycle_disconnect(vfs_handle_struct *handle, connection_struct *con
|
||||
DEBUG(10,("recycle_disconnect() connect to service[%s].\n",
|
||||
lp_servicename(SNUM(conn))));
|
||||
|
||||
VFS_NEXT_DISCONNECT(handle, conn);
|
||||
SMB_VFS_NEXT_DISCONNECT(handle, conn);
|
||||
}
|
||||
|
||||
static const char *recycle_repository(vfs_handle_struct *handle)
|
||||
@ -157,7 +157,7 @@ static BOOL recycle_directory_exist(vfs_handle_struct *handle, const char *dname
|
||||
{
|
||||
SMB_STRUCT_STAT st;
|
||||
|
||||
if (VFS_NEXT_STAT(handle, handle->conn, dname, &st) == 0) {
|
||||
if (SMB_VFS_NEXT_STAT(handle, handle->conn, dname, &st) == 0) {
|
||||
if (S_ISDIR(st.st_mode)) {
|
||||
return True;
|
||||
}
|
||||
@ -170,7 +170,7 @@ static BOOL recycle_file_exist(vfs_handle_struct *handle, const char *fname)
|
||||
{
|
||||
SMB_STRUCT_STAT st;
|
||||
|
||||
if (VFS_NEXT_STAT(handle, handle->conn, fname, &st) == 0) {
|
||||
if (SMB_VFS_NEXT_STAT(handle, handle->conn, fname, &st) == 0) {
|
||||
if (S_ISREG(st.st_mode)) {
|
||||
return True;
|
||||
}
|
||||
@ -189,7 +189,7 @@ static SMB_OFF_T recycle_get_file_size(vfs_handle_struct *handle, const char *fn
|
||||
{
|
||||
SMB_STRUCT_STAT st;
|
||||
|
||||
if (VFS_NEXT_STAT(handle, handle->conn, fname, &st) != 0) {
|
||||
if (SMB_VFS_NEXT_STAT(handle, handle->conn, fname, &st) != 0) {
|
||||
DEBUG(0,("recycle: stat for %s returned %s\n", fname, strerror(errno)));
|
||||
return (SMB_OFF_T)0;
|
||||
}
|
||||
@ -231,7 +231,7 @@ static BOOL recycle_create_dir(vfs_handle_struct *handle, const char *dname)
|
||||
DEBUG(10, ("recycle: dir %s already exists\n", new_dir));
|
||||
else {
|
||||
DEBUG(5, ("recycle: creating new dir %s\n", new_dir));
|
||||
if (VFS_NEXT_MKDIR(handle, handle->conn, new_dir, mode) != 0) {
|
||||
if (SMB_VFS_NEXT_MKDIR(handle, handle->conn, new_dir, mode) != 0) {
|
||||
DEBUG(1,("recycle: mkdir failed for %s with error: %s\n", new_dir, strerror(errno)));
|
||||
ret = False;
|
||||
goto done;
|
||||
@ -304,7 +304,7 @@ static void recycle_do_touch(vfs_handle_struct *handle, const char *fname)
|
||||
struct utimbuf tb;
|
||||
time_t currtime;
|
||||
|
||||
if (VFS_NEXT_STAT(handle, handle->conn, fname, &st) != 0) {
|
||||
if (SMB_VFS_NEXT_STAT(handle, handle->conn, fname, &st) != 0) {
|
||||
DEBUG(0,("recycle: stat for %s returned %s\n", fname, strerror(errno)));
|
||||
return;
|
||||
}
|
||||
@ -312,7 +312,7 @@ static void recycle_do_touch(vfs_handle_struct *handle, const char *fname)
|
||||
tb.actime = currtime;
|
||||
tb.modtime = st.st_mtime;
|
||||
|
||||
if (VFS_NEXT_UTIME(handle, handle->conn, fname, &tb) == -1 ) {
|
||||
if (SMB_VFS_NEXT_UTIME(handle, handle->conn, fname, &tb) == -1 ) {
|
||||
DEBUG(0, ("recycle: touching %s failed, reason = %s\n", fname, strerror(errno)));
|
||||
}
|
||||
}
|
||||
@ -340,14 +340,14 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
|
||||
if(!repository || *(repository) == '\0') {
|
||||
DEBUG(3, ("recycle: repository path not set, purging %s...\n", file_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* we don't recycle the recycle bin... */
|
||||
if (strncmp(file_name, repository, strlen(repository)) == 0) {
|
||||
DEBUG(3, ("recycle: File is within recycling bin, unlinking ...\n"));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -357,7 +357,7 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
*
|
||||
if(fsize == 0) {
|
||||
DEBUG(3, ("recycle: File %s is empty, purging...\n", file_name));
|
||||
rc = VFS_NEXT_UNLINK(handle,conn,file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle,conn,file_name);
|
||||
goto done;
|
||||
}
|
||||
*/
|
||||
@ -369,18 +369,18 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
maxsize = recycle_maxsize(handle);
|
||||
if(maxsize > 0 && file_size > maxsize) {
|
||||
DEBUG(3, ("recycle: File %s exceeds maximum recycle size, purging... \n", file_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
/* FIXME: this is wrong: moving files with rename does not change the disk space
|
||||
* allocation
|
||||
*
|
||||
space_avail = VFS_NEXT_DISK_FREE(handle, conn, ".", True, &bsize, &dfree, &dsize) * 1024L;
|
||||
space_avail = SMB_VFS_NEXT_DISK_FREE(handle, conn, ".", True, &bsize, &dfree, &dsize) * 1024L;
|
||||
DEBUG(5, ("space_avail = %Lu, file_size = %Lu\n", space_avail, file_size));
|
||||
if(space_avail < file_size) {
|
||||
DEBUG(3, ("recycle: Not enough diskspace, purging file %s\n", file_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
*/
|
||||
@ -405,7 +405,7 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
|
||||
if (matchparam(recycle_exclude(handle), base)) {
|
||||
DEBUG(3, ("recycle: file %s is excluded \n", base));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -415,7 +415,7 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
*/
|
||||
if (checkparam(recycle_exclude_dir(handle), path_name)) {
|
||||
DEBUG(3, ("recycle: directory %s is excluded \n", path_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -433,7 +433,7 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
DEBUG(10, ("recycle: Creating directory %s\n", temp_name));
|
||||
if (recycle_create_dir(handle, temp_name) == False) {
|
||||
DEBUG(3, ("recycle: Could not create directory, purging %s...\n", file_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
@ -446,7 +446,7 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
if (recycle_file_exist(handle, final_name)) {
|
||||
if (recycle_versions(handle) == False || matchparam(recycle_noversions(handle), base) == True) {
|
||||
DEBUG(3, ("recycle: Removing old file %s from recycle bin\n", final_name));
|
||||
if (VFS_NEXT_UNLINK(handle, conn, final_name) != 0) {
|
||||
if (SMB_VFS_NEXT_UNLINK(handle, conn, final_name) != 0) {
|
||||
DEBUG(1, ("recycle: Error deleting old file: %s\n", strerror(errno)));
|
||||
}
|
||||
}
|
||||
@ -459,10 +459,10 @@ static int recycle_unlink(vfs_handle_struct *handle, connection_struct *conn, co
|
||||
}
|
||||
|
||||
DEBUG(10, ("recycle: Moving %s to %s\n", file_name, final_name));
|
||||
rc = VFS_NEXT_RENAME(handle, conn, file_name, final_name);
|
||||
rc = SMB_VFS_NEXT_RENAME(handle, conn, file_name, final_name);
|
||||
if (rc != 0) {
|
||||
DEBUG(3, ("recycle: Move error %d (%s), purging file %s (%s)\n", errno, strerror(errno), file_name, final_name));
|
||||
rc = VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
rc = SMB_VFS_NEXT_UNLINK(handle, conn, file_name);
|
||||
goto done;
|
||||
}
|
||||
|
||||
|
@ -169,14 +169,14 @@ BOOL is_msdfs_link(connection_struct* conn, char* path,
|
||||
if (sbufp == NULL)
|
||||
sbufp = &st;
|
||||
|
||||
if (VFS_LSTAT(conn, path, sbufp) != 0) {
|
||||
if (SMB_VFS_LSTAT(conn, path, sbufp) != 0) {
|
||||
DEBUG(5,("is_msdfs_link: %s does not exist.\n",path));
|
||||
return False;
|
||||
}
|
||||
|
||||
if (S_ISLNK(sbufp->st_mode)) {
|
||||
/* open the link and read it */
|
||||
referral_len = VFS_READLINK(conn, path, referral,
|
||||
referral_len = SMB_VFS_READLINK(conn, path, referral,
|
||||
sizeof(pstring));
|
||||
if (referral_len == -1) {
|
||||
DEBUG(0,("is_msdfs_link: Error reading msdfs link %s: %s\n", path, strerror(errno)));
|
||||
@ -785,10 +785,10 @@ BOOL create_msdfs_link(struct junction_map* jn, BOOL exists)
|
||||
DEBUG(5,("create_msdfs_link: Creating new msdfs link: %s -> %s\n", path, msdfs_link));
|
||||
|
||||
if(exists)
|
||||
if(VFS_UNLINK(conn,path)!=0)
|
||||
if(SMB_VFS_UNLINK(conn,path)!=0)
|
||||
return False;
|
||||
|
||||
if(VFS_SYMLINK(conn, msdfs_link, path) < 0) {
|
||||
if(SMB_VFS_SYMLINK(conn, msdfs_link, path) < 0) {
|
||||
DEBUG(1,("create_msdfs_link: symlink failed %s -> %s\nError: %s\n",
|
||||
path, msdfs_link, strerror(errno)));
|
||||
return False;
|
||||
@ -805,7 +805,7 @@ BOOL remove_msdfs_link(struct junction_map* jn)
|
||||
if(!junction_to_local_path(jn, path, sizeof(path), conn))
|
||||
return False;
|
||||
|
||||
if(VFS_UNLINK(conn, path)!=0)
|
||||
if(SMB_VFS_UNLINK(conn, path)!=0)
|
||||
return False;
|
||||
|
||||
return True;
|
||||
@ -862,7 +862,7 @@ static BOOL form_junctions(int snum, struct junction_map* jn, int* jn_count)
|
||||
cnt++;
|
||||
|
||||
/* Now enumerate all dfs links */
|
||||
dirp = VFS_OPENDIR(conn, connect_path);
|
||||
dirp = SMB_VFS_OPENDIR(conn, connect_path);
|
||||
if(!dirp)
|
||||
return False;
|
||||
|
||||
@ -881,7 +881,7 @@ static BOOL form_junctions(int snum, struct junction_map* jn, int* jn_count)
|
||||
}
|
||||
}
|
||||
|
||||
VFS_CLOSEDIR(conn,dirp);
|
||||
SMB_VFS_CLOSEDIR(conn,dirp);
|
||||
*jn_count = cnt;
|
||||
return True;
|
||||
}
|
||||
|
@ -746,7 +746,7 @@ static int get_file_version(files_struct *fsp, char *fname,uint32 *major, uint32
|
||||
}
|
||||
|
||||
/* Skip OEM header (if any) and the DOS stub to start of Windows header */
|
||||
if (VFS_LSEEK(fsp, fsp->fd, SVAL(buf,DOS_HEADER_LFANEW_OFFSET), SEEK_SET) == (SMB_OFF_T)-1) {
|
||||
if (SMB_VFS_LSEEK(fsp, fsp->fd, SVAL(buf,DOS_HEADER_LFANEW_OFFSET), SEEK_SET) == (SMB_OFF_T)-1) {
|
||||
DEBUG(3,("get_file_version: File [%s] too short, errno = %d\n",
|
||||
fname, errno));
|
||||
/* Assume this isn't an error... the file just looks sort of like a PE/NE file */
|
||||
@ -806,7 +806,7 @@ static int get_file_version(files_struct *fsp, char *fname,uint32 *major, uint32
|
||||
}
|
||||
|
||||
/* Seek to the start of the .rsrc section info */
|
||||
if (VFS_LSEEK(fsp, fsp->fd, section_pos, SEEK_SET) == (SMB_OFF_T)-1) {
|
||||
if (SMB_VFS_LSEEK(fsp, fsp->fd, section_pos, SEEK_SET) == (SMB_OFF_T)-1) {
|
||||
DEBUG(3,("get_file_version: PE file [%s] too short for section info, errno = %d\n",
|
||||
fname, errno));
|
||||
goto error_exit;
|
||||
@ -899,7 +899,7 @@ static int get_file_version(files_struct *fsp, char *fname,uint32 *major, uint32
|
||||
* twice, as it is simpler to read the code. */
|
||||
if (strcmp(&buf[i], VS_SIGNATURE) == 0) {
|
||||
/* Compute skip alignment to next long address */
|
||||
int skip = -(VFS_LSEEK(fsp, fsp->fd, 0, SEEK_CUR) - (byte_count - i) +
|
||||
int skip = -(SMB_VFS_LSEEK(fsp, fsp->fd, 0, SEEK_CUR) - (byte_count - i) +
|
||||
sizeof(VS_SIGNATURE)) & 3;
|
||||
if (IVAL(buf,i+sizeof(VS_SIGNATURE)+skip) != 0xfeef04bd) continue;
|
||||
|
||||
@ -992,7 +992,7 @@ static int file_version_is_newer(connection_struct *conn, fstring new_file, fstr
|
||||
DEBUG(6,("file_version_is_newer: Version info not found [%s], use mod time\n",
|
||||
old_file));
|
||||
use_version = False;
|
||||
if (VFS_FSTAT(fsp, fsp->fd, &st) == -1) goto error_exit;
|
||||
if (SMB_VFS_FSTAT(fsp, fsp->fd, &st) == -1) goto error_exit;
|
||||
old_create_time = st.st_mtime;
|
||||
DEBUGADD(6,("file_version_is_newer: mod time = %ld sec\n", old_create_time));
|
||||
}
|
||||
@ -1021,7 +1021,7 @@ static int file_version_is_newer(connection_struct *conn, fstring new_file, fstr
|
||||
DEBUG(6,("file_version_is_newer: Version info not found [%s], use mod time\n",
|
||||
new_file));
|
||||
use_version = False;
|
||||
if (VFS_FSTAT(fsp, fsp->fd, &st) == -1) goto error_exit;
|
||||
if (SMB_VFS_FSTAT(fsp, fsp->fd, &st) == -1) goto error_exit;
|
||||
new_create_time = st.st_mtime;
|
||||
DEBUGADD(6,("file_version_is_newer: mod time = %ld sec\n", new_create_time));
|
||||
}
|
||||
|
@ -80,7 +80,7 @@ files_struct *print_fsp_open(connection_struct *conn, char *fname)
|
||||
string_set(&fsp->fsp_name,print_job_fname(SNUM(conn),jobid));
|
||||
fsp->wbmpx_ptr = NULL;
|
||||
fsp->wcp = NULL;
|
||||
VFS_FSTAT(fsp,fsp->fd, &sbuf);
|
||||
SMB_VFS_FSTAT(fsp,fsp->fd, &sbuf);
|
||||
fsp->mode = sbuf.st_mode;
|
||||
fsp->inode = sbuf.st_ino;
|
||||
fsp->dev = sbuf.st_dev;
|
||||
|
@ -1887,7 +1887,7 @@ WERROR _srv_net_file_query_secdesc(pipes_struct *p, SRV_Q_NET_FILE_QUERY_SECDESC
|
||||
}
|
||||
}
|
||||
|
||||
sd_size = VFS_GET_NT_ACL(fsp, fsp->fsp_name, &psd);
|
||||
sd_size = SMB_VFS_GET_NT_ACL(fsp, fsp->fsp_name, &psd);
|
||||
|
||||
if (sd_size == 0) {
|
||||
DEBUG(3,("_srv_net_file_query_secdesc: Unable to get NT ACL for file %s\n", filename));
|
||||
@ -1991,7 +1991,7 @@ WERROR _srv_net_file_set_secdesc(pipes_struct *p, SRV_Q_NET_FILE_SET_SECDESC *q_
|
||||
}
|
||||
}
|
||||
|
||||
ret = VFS_SET_NT_ACL(fsp, fsp->fsp_name, q_u->sec_info, q_u->sec_desc);
|
||||
ret = SMB_VFS_SET_NT_ACL(fsp, fsp->fsp_name, q_u->sec_info, q_u->sec_desc);
|
||||
|
||||
if (ret == False) {
|
||||
DEBUG(3,("_srv_net_file_set_secdesc: Unable to set NT ACL on file %s\n", filename));
|
||||
|
@ -185,7 +185,7 @@ static int close_normal_file(files_struct *fsp, BOOL normal_close)
|
||||
if (normal_close && delete_on_close) {
|
||||
DEBUG(5,("close_file: file %s. Delete on close was set - deleting file.\n",
|
||||
fsp->fsp_name));
|
||||
if(VFS_UNLINK(conn,fsp->fsp_name) != 0) {
|
||||
if(SMB_VFS_UNLINK(conn,fsp->fsp_name) != 0) {
|
||||
/*
|
||||
* This call can potentially fail as another smbd may have
|
||||
* had the file open with delete on close set and deleted
|
||||
|
@ -643,7 +643,7 @@ BOOL get_dir_entry(connection_struct *conn,char *mask,int dirtype, pstring fname
|
||||
pstrcpy(pathreal,path);
|
||||
pstrcat(path,fname);
|
||||
pstrcat(pathreal,dname);
|
||||
if (VFS_STAT(conn, pathreal, &sbuf) != 0) {
|
||||
if (SMB_VFS_STAT(conn, pathreal, &sbuf) != 0) {
|
||||
DEBUG(5,("Couldn't stat 1 [%s]. Error = %s\n",path, strerror(errno) ));
|
||||
continue;
|
||||
}
|
||||
@ -700,7 +700,7 @@ static BOOL user_can_read_file(connection_struct *conn, char *name, SMB_STRUCT_S
|
||||
return True;
|
||||
|
||||
/* If we can't stat it does not show it */
|
||||
if (!VALID_STAT(*pst) && (VFS_STAT(conn, name, pst) != 0))
|
||||
if (!VALID_STAT(*pst) && (SMB_VFS_STAT(conn, name, pst) != 0))
|
||||
return False;
|
||||
|
||||
/* Pseudo-open the file (note - no fd's created). */
|
||||
@ -715,7 +715,7 @@ static BOOL user_can_read_file(connection_struct *conn, char *name, SMB_STRUCT_S
|
||||
return False;
|
||||
|
||||
/* Get NT ACL -allocated in main loop talloc context. No free needed here. */
|
||||
sd_size = VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
sd_size = SMB_VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
close_file(fsp, True);
|
||||
|
||||
/* No access if SD get failed. */
|
||||
@ -753,7 +753,7 @@ static BOOL user_can_write_file(connection_struct *conn, char *name, SMB_STRUCT_
|
||||
return True;
|
||||
|
||||
/* If we can't stat it does not show it */
|
||||
if (!VALID_STAT(*pst) && (VFS_STAT(conn, name, pst) != 0))
|
||||
if (!VALID_STAT(*pst) && (SMB_VFS_STAT(conn, name, pst) != 0))
|
||||
return False;
|
||||
|
||||
/* Pseudo-open the file (note - no fd's created). */
|
||||
@ -768,7 +768,7 @@ static BOOL user_can_write_file(connection_struct *conn, char *name, SMB_STRUCT_
|
||||
return False;
|
||||
|
||||
/* Get NT ACL -allocated in main loop talloc context. No free needed here. */
|
||||
sd_size = VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
sd_size = SMB_VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
close_file(fsp, False);
|
||||
|
||||
/* No access if SD get failed. */
|
||||
@ -794,7 +794,7 @@ static BOOL file_is_special(connection_struct *conn, char *name, SMB_STRUCT_STAT
|
||||
return True;
|
||||
|
||||
/* If we can't stat it does not show it */
|
||||
if (!VALID_STAT(*pst) && (VFS_STAT(conn, name, pst) != 0))
|
||||
if (!VALID_STAT(*pst) && (SMB_VFS_STAT(conn, name, pst) != 0))
|
||||
return True;
|
||||
|
||||
if (S_ISREG(pst->st_mode) || S_ISDIR(pst->st_mode) || S_ISLNK(pst->st_mode))
|
||||
@ -811,7 +811,7 @@ void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto)
|
||||
{
|
||||
Dir *dirp;
|
||||
const char *n;
|
||||
DIR *p = VFS_OPENDIR(conn,name);
|
||||
DIR *p = SMB_VFS_OPENDIR(conn,name);
|
||||
int used=0;
|
||||
|
||||
if (!p)
|
||||
@ -819,7 +819,7 @@ void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto)
|
||||
dirp = (Dir *)malloc(sizeof(Dir));
|
||||
if (!dirp) {
|
||||
DEBUG(0,("Out of memory in OpenDir\n"));
|
||||
VFS_CLOSEDIR(conn,p);
|
||||
SMB_VFS_CLOSEDIR(conn,p);
|
||||
return(NULL);
|
||||
}
|
||||
dirp->pos = dirp->numentries = dirp->mallocsize = 0;
|
||||
@ -912,7 +912,7 @@ void *OpenDir(connection_struct *conn, const char *name, BOOL use_veto)
|
||||
dirp->numentries++;
|
||||
}
|
||||
|
||||
VFS_CLOSEDIR(conn,p);
|
||||
SMB_VFS_CLOSEDIR(conn,p);
|
||||
return((void *)dirp);
|
||||
}
|
||||
|
||||
|
@ -56,7 +56,7 @@ mode_t unix_mode(connection_struct *conn,int dosmode,const char *fname)
|
||||
|
||||
dname = parent_dirname(fname);
|
||||
DEBUG(2,("unix_mode(%s) inheriting from %s\n",fname,dname));
|
||||
if (VFS_STAT(conn,dname,&sbuf) != 0) {
|
||||
if (SMB_VFS_STAT(conn,dname,&sbuf) != 0) {
|
||||
DEBUG(4,("unix_mode(%s) failed, [dir %s]: %s\n",fname,dname,strerror(errno)));
|
||||
return(0); /* *** shouldn't happen! *** */
|
||||
}
|
||||
@ -191,7 +191,7 @@ int file_chmod(connection_struct *conn,char *fname, uint32 dosmode,SMB_STRUCT_ST
|
||||
|
||||
if (!st) {
|
||||
st = &st1;
|
||||
if (VFS_STAT(conn,fname,st))
|
||||
if (SMB_VFS_STAT(conn,fname,st))
|
||||
return(-1);
|
||||
}
|
||||
|
||||
@ -235,7 +235,7 @@ int file_chmod(connection_struct *conn,char *fname, uint32 dosmode,SMB_STRUCT_ST
|
||||
unixmode |= (st->st_mode & (S_IWUSR|S_IWGRP|S_IWOTH));
|
||||
}
|
||||
|
||||
if ((ret = VFS_CHMOD(conn,fname,unixmode)) == 0)
|
||||
if ((ret = SMB_VFS_CHMOD(conn,fname,unixmode)) == 0)
|
||||
return 0;
|
||||
|
||||
if((errno != EPERM) && (errno != EACCES))
|
||||
@ -262,7 +262,7 @@ int file_chmod(connection_struct *conn,char *fname, uint32 dosmode,SMB_STRUCT_ST
|
||||
if (!fsp)
|
||||
return -1;
|
||||
become_root();
|
||||
ret = VFS_FCHMOD(fsp, fsp->fd, unixmode);
|
||||
ret = SMB_VFS_FCHMOD(fsp, fsp->fd, unixmode);
|
||||
unbecome_root();
|
||||
close_file_fchmod(fsp);
|
||||
}
|
||||
@ -283,7 +283,7 @@ int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
|
||||
|
||||
errno = 0;
|
||||
|
||||
if(VFS_UTIME(conn,fname, times) == 0)
|
||||
if(SMB_VFS_UTIME(conn,fname, times) == 0)
|
||||
return 0;
|
||||
|
||||
if((errno != EPERM) && (errno != EACCES))
|
||||
@ -298,7 +298,7 @@ int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
|
||||
(as DOS does).
|
||||
*/
|
||||
|
||||
if(VFS_STAT(conn,fname,&sb) != 0)
|
||||
if(SMB_VFS_STAT(conn,fname,&sb) != 0)
|
||||
return -1;
|
||||
|
||||
/* Check if we have write access. */
|
||||
@ -311,7 +311,7 @@ int file_utime(connection_struct *conn, char *fname, struct utimbuf *times)
|
||||
current_user.ngroups,current_user.groups)))) {
|
||||
/* We are allowed to become root and change the filetime. */
|
||||
become_root();
|
||||
ret = VFS_UTIME(conn,fname, times);
|
||||
ret = SMB_VFS_UTIME(conn,fname, times);
|
||||
unbecome_root();
|
||||
}
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ static SMB_OFF_T seek_file(files_struct *fsp,SMB_OFF_T pos)
|
||||
{
|
||||
SMB_OFF_T seek_ret;
|
||||
|
||||
seek_ret = VFS_LSEEK(fsp,fsp->fd,pos,SEEK_SET);
|
||||
seek_ret = SMB_VFS_LSEEK(fsp,fsp->fd,pos,SEEK_SET);
|
||||
|
||||
if(seek_ret == -1) {
|
||||
DEBUG(0,("seek_file: (%s) sys_lseek failed. Error was %s\n",
|
||||
@ -101,7 +101,7 @@ ssize_t read_file(files_struct *fsp,char *data,SMB_OFF_T pos,size_t n)
|
||||
#ifdef DMF_FIX
|
||||
int numretries = 3;
|
||||
tryagain:
|
||||
readret = VFS_READ(fsp,fsp->fd,data,n);
|
||||
readret = SMB_VFS_READ(fsp,fsp->fd,data,n);
|
||||
if (readret == -1) {
|
||||
if ((errno == EAGAIN) && numretries) {
|
||||
DEBUG(3,("read_file EAGAIN retry in 10 seconds\n"));
|
||||
@ -112,7 +112,7 @@ tryagain:
|
||||
return -1;
|
||||
}
|
||||
#else /* NO DMF fix. */
|
||||
readret = VFS_READ(fsp,fsp->fd,data,n);
|
||||
readret = SMB_VFS_READ(fsp,fsp->fd,data,n);
|
||||
if (readret == -1)
|
||||
return -1;
|
||||
#endif
|
||||
@ -181,7 +181,7 @@ ssize_t write_file(files_struct *fsp, char *data, SMB_OFF_T pos, size_t n)
|
||||
SMB_STRUCT_STAT st;
|
||||
fsp->modified = True;
|
||||
|
||||
if (VFS_FSTAT(fsp,fsp->fd,&st) == 0) {
|
||||
if (SMB_VFS_FSTAT(fsp,fsp->fd,&st) == 0) {
|
||||
int dosmode = dos_mode(fsp->conn,fsp->fsp_name,&st);
|
||||
fsp->size = (SMB_BIG_UINT)st.st_size;
|
||||
if (MAP_ARCHIVE(fsp->conn) && !IS_DOS_ARCHIVE(dosmode))
|
||||
@ -760,7 +760,7 @@ void sync_file(connection_struct *conn, files_struct *fsp)
|
||||
{
|
||||
if(lp_strict_sync(SNUM(conn)) && fsp->fd != -1) {
|
||||
flush_write_cache(fsp, SYNC_FLUSH);
|
||||
VFS_FSYNC(fsp,fsp->fd);
|
||||
SMB_VFS_FSYNC(fsp,fsp->fd);
|
||||
}
|
||||
}
|
||||
|
||||
@ -772,7 +772,7 @@ void sync_file(connection_struct *conn, files_struct *fsp)
|
||||
int fsp_stat(files_struct *fsp, SMB_STRUCT_STAT *pst)
|
||||
{
|
||||
if (fsp->fd == -1)
|
||||
return VFS_STAT(fsp->conn, fsp->fsp_name, pst);
|
||||
return SMB_VFS_STAT(fsp->conn, fsp->fsp_name, pst);
|
||||
else
|
||||
return VFS_FSTAT(fsp,fsp->fd, pst);
|
||||
return SMB_VFS_FSTAT(fsp,fsp->fd, pst);
|
||||
}
|
||||
|
@ -178,7 +178,7 @@ BOOL unix_convert(pstring name,connection_struct *conn,char *saved_last_componen
|
||||
* stat the name - if it exists then we are all done!
|
||||
*/
|
||||
|
||||
if (VFS_STAT(conn,name,&st) == 0) {
|
||||
if (SMB_VFS_STAT(conn,name,&st) == 0) {
|
||||
stat_cache_add(orig_path, name);
|
||||
DEBUG(5,("conversion finished %s -> %s\n",orig_path, name));
|
||||
*pst = st;
|
||||
@ -234,7 +234,7 @@ BOOL unix_convert(pstring name,connection_struct *conn,char *saved_last_componen
|
||||
* Check if the name exists up to this point.
|
||||
*/
|
||||
|
||||
if (VFS_STAT(conn,name, &st) == 0) {
|
||||
if (SMB_VFS_STAT(conn,name, &st) == 0) {
|
||||
/*
|
||||
* It exists. it must either be a directory or this must be
|
||||
* the last part of the path for it to be OK.
|
||||
@ -342,7 +342,7 @@ BOOL unix_convert(pstring name,connection_struct *conn,char *saved_last_componen
|
||||
* JRA.
|
||||
*/
|
||||
|
||||
if (VFS_STAT(conn,name, &st) == 0) {
|
||||
if (SMB_VFS_STAT(conn,name, &st) == 0) {
|
||||
*pst = st;
|
||||
} else {
|
||||
ZERO_STRUCT(st);
|
||||
@ -418,7 +418,7 @@ BOOL check_name(pstring name,connection_struct *conn)
|
||||
#ifdef S_ISLNK
|
||||
if (!lp_symlinks(SNUM(conn))) {
|
||||
SMB_STRUCT_STAT statbuf;
|
||||
if ( (VFS_LSTAT(conn,name,&statbuf) != -1) &&
|
||||
if ( (SMB_VFS_LSTAT(conn,name,&statbuf) != -1) &&
|
||||
(S_ISLNK(statbuf.st_mode)) ) {
|
||||
DEBUG(3,("check_name: denied: file path name %s is a symlink\n",name));
|
||||
ret=0;
|
||||
|
@ -48,7 +48,7 @@ static BOOL notify_hash(connection_struct *conn, char *path, uint32 flags,
|
||||
|
||||
ZERO_STRUCTP(data);
|
||||
|
||||
if(VFS_STAT(conn,path, &st) == -1)
|
||||
if(SMB_VFS_STAT(conn,path, &st) == -1)
|
||||
return False;
|
||||
|
||||
data->modify_time = st.st_mtime;
|
||||
@ -100,7 +100,7 @@ static BOOL notify_hash(connection_struct *conn, char *path, uint32 flags,
|
||||
/*
|
||||
* Do the stat - but ignore errors.
|
||||
*/
|
||||
VFS_STAT(conn,full_name, &st);
|
||||
SMB_VFS_STAT(conn,full_name, &st);
|
||||
|
||||
/*
|
||||
* Always sum the times.
|
||||
|
@ -89,7 +89,7 @@ int vfs_get_ntquota(files_struct *fsp, enum SMB_QUOTA_TYPE qtype, DOM_SID *psid,
|
||||
sid_string_static(psid)));
|
||||
}
|
||||
|
||||
ret = VFS_GET_QUOTA(fsp->conn, qtype, id, &D);
|
||||
ret = SMB_VFS_GET_QUOTA(fsp->conn, qtype, id, &D);
|
||||
|
||||
if (psid)
|
||||
qt->sid = *psid;
|
||||
@ -136,7 +136,7 @@ int vfs_set_ntquota(files_struct *fsp, enum SMB_QUOTA_TYPE qtype, DOM_SID *psid,
|
||||
sid_string_static(psid)));
|
||||
}
|
||||
|
||||
ret = VFS_SET_QUOTA(fsp->conn, qtype, id, &D);
|
||||
ret = SMB_VFS_SET_QUOTA(fsp->conn, qtype, id, &D);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
@ -1075,7 +1075,7 @@ static NTSTATUS set_sd(files_struct *fsp, char *data, uint32 sd_len, uint32 secu
|
||||
if (psd->off_dacl==0)
|
||||
security_info_sent &= ~DACL_SECURITY_INFORMATION;
|
||||
|
||||
ret = VFS_FSET_NT_ACL( fsp, fsp->fd, security_info_sent, psd);
|
||||
ret = SMB_VFS_FSET_NT_ACL( fsp, fsp->fd, security_info_sent, psd);
|
||||
|
||||
if (!ret) {
|
||||
talloc_destroy(mem_ctx);
|
||||
@ -1598,7 +1598,7 @@ static int call_nt_transact_query_security_desc(connection_struct *conn,
|
||||
if (!lp_nt_acl_support(SNUM(conn)))
|
||||
sd_size = get_null_nt_acl(mem_ctx, &psd);
|
||||
else
|
||||
sd_size = VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
sd_size = SMB_VFS_FGET_NT_ACL(fsp, fsp->fd, &psd);
|
||||
|
||||
if (sd_size == 0) {
|
||||
talloc_destroy(mem_ctx);
|
||||
|
@ -38,13 +38,13 @@ static int fd_open(struct connection_struct *conn, char *fname,
|
||||
flags |= O_NOFOLLOW;
|
||||
#endif
|
||||
|
||||
fd = VFS_OPEN(conn,fname,flags,mode);
|
||||
fd = SMB_VFS_OPEN(conn,fname,flags,mode);
|
||||
|
||||
/* Fix for files ending in '.' */
|
||||
if((fd == -1) && (errno == ENOENT) &&
|
||||
(strchr_m(fname,'.')==NULL)) {
|
||||
pstrcat(fname,".");
|
||||
fd = VFS_OPEN(conn,fname,flags,mode);
|
||||
fd = SMB_VFS_OPEN(conn,fname,flags,mode);
|
||||
}
|
||||
|
||||
DEBUG(10,("fd_open: name %s, flags = 0%o mode = 0%o, fd = %d. %s\n", fname,
|
||||
@ -186,9 +186,9 @@ static BOOL open_file(files_struct *fsp,connection_struct *conn,
|
||||
int ret;
|
||||
|
||||
if (fsp->fd == -1)
|
||||
ret = VFS_STAT(conn, fname, psbuf);
|
||||
ret = SMB_VFS_STAT(conn, fname, psbuf);
|
||||
else {
|
||||
ret = VFS_FSTAT(fsp,fsp->fd,psbuf);
|
||||
ret = SMB_VFS_FSTAT(fsp,fsp->fd,psbuf);
|
||||
/* If we have an fd, this stat should succeed. */
|
||||
if (ret == -1)
|
||||
DEBUG(0,("Error doing fstat on open file %s (%s)\n", fname,strerror(errno) ));
|
||||
@ -259,7 +259,7 @@ static int truncate_unless_locked(struct connection_struct *conn, files_struct *
|
||||
unix_ERR_ntstatus = dos_to_ntstatus(ERRDOS, ERRlock);
|
||||
return -1;
|
||||
} else {
|
||||
return VFS_FTRUNCATE(fsp,fsp->fd,0);
|
||||
return SMB_VFS_FTRUNCATE(fsp,fsp->fd,0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1071,7 +1071,7 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n",
|
||||
/*
|
||||
* We are modifing the file after open - update the stat struct..
|
||||
*/
|
||||
if ((truncate_unless_locked(conn,fsp) == -1) || (VFS_FSTAT(fsp,fsp->fd,psbuf)==-1)) {
|
||||
if ((truncate_unless_locked(conn,fsp) == -1) || (SMB_VFS_FSTAT(fsp,fsp->fd,psbuf)==-1)) {
|
||||
unlock_share_entry_fsp(fsp);
|
||||
fd_close(conn,fsp);
|
||||
file_free(fsp);
|
||||
@ -1150,7 +1150,7 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n",
|
||||
|
||||
int saved_errno = errno; /* We might get ENOSYS in the next call.. */
|
||||
|
||||
if (VFS_FCHMOD_ACL(fsp, fsp->fd, mode) == -1 && errno == ENOSYS)
|
||||
if (SMB_VFS_FCHMOD_ACL(fsp, fsp->fd, mode) == -1 && errno == ENOSYS)
|
||||
errno = saved_errno; /* Ignore ENOSYS */
|
||||
|
||||
} else if (new_mode) {
|
||||
@ -1161,7 +1161,7 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n",
|
||||
|
||||
{
|
||||
int saved_errno = errno; /* We might get ENOSYS in the next call.. */
|
||||
ret = VFS_FCHMOD_ACL(fsp, fsp->fd, new_mode);
|
||||
ret = SMB_VFS_FCHMOD_ACL(fsp, fsp->fd, new_mode);
|
||||
|
||||
if (ret == -1 && errno == ENOSYS) {
|
||||
errno = saved_errno; /* Ignore ENOSYS */
|
||||
@ -1172,7 +1172,7 @@ flags=0x%X flags2=0x%X mode=0%o returned %d\n",
|
||||
}
|
||||
}
|
||||
|
||||
if ((ret == -1) && (VFS_FCHMOD(fsp, fsp->fd, new_mode) == -1))
|
||||
if ((ret == -1) && (SMB_VFS_FCHMOD(fsp, fsp->fd, new_mode) == -1))
|
||||
DEBUG(5, ("open_file_shared: failed to reset attributes of file %s to 0%o\n",
|
||||
fname, (int)new_mode));
|
||||
}
|
||||
@ -1285,7 +1285,7 @@ files_struct *open_directory(connection_struct *conn, char *fname, SMB_STRUCT_ST
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if(VFS_STAT(conn,fname, psbuf) != 0) {
|
||||
if(SMB_VFS_STAT(conn,fname, psbuf) != 0) {
|
||||
file_free(fsp);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -158,9 +158,9 @@ static mode_t convert_permset_to_mode_t(connection_struct *conn, SMB_ACL_PERMSET
|
||||
{
|
||||
mode_t ret = 0;
|
||||
|
||||
ret |= (VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_READ) ? S_IRUSR : 0);
|
||||
ret |= (VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_WRITE) ? S_IWUSR : 0);
|
||||
ret |= (VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_EXECUTE) ? S_IXUSR : 0);
|
||||
ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_READ) ? S_IRUSR : 0);
|
||||
ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_WRITE) ? S_IWUSR : 0);
|
||||
ret |= (SMB_VFS_SYS_ACL_GET_PERM(conn, permset, SMB_ACL_EXECUTE) ? S_IXUSR : 0);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -190,18 +190,18 @@ static mode_t unix_perms_to_acl_perms(mode_t mode, int r_mask, int w_mask, int x
|
||||
|
||||
static int map_acl_perms_to_permset(connection_struct *conn, mode_t mode, SMB_ACL_PERMSET_T *p_permset)
|
||||
{
|
||||
if (VFS_SYS_ACL_CLEAR_PERMS(conn, *p_permset) == -1)
|
||||
if (SMB_VFS_SYS_ACL_CLEAR_PERMS(conn, *p_permset) == -1)
|
||||
return -1;
|
||||
if (mode & S_IRUSR) {
|
||||
if (VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_READ) == -1)
|
||||
if (SMB_VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_READ) == -1)
|
||||
return -1;
|
||||
}
|
||||
if (mode & S_IWUSR) {
|
||||
if (VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_WRITE) == -1)
|
||||
if (SMB_VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_WRITE) == -1)
|
||||
return -1;
|
||||
}
|
||||
if (mode & S_IXUSR) {
|
||||
if (VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_EXECUTE) == -1)
|
||||
if (SMB_VFS_SYS_ACL_ADD_PERM(conn, *p_permset, SMB_ACL_EXECUTE) == -1)
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
@ -648,7 +648,7 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace,
|
||||
/*
|
||||
* When setting ACLs and missing one out of SMB_ACL_USER_OBJ,
|
||||
* SMB_ACL_GROUP_OBJ, SMB_ACL_OTHER, try to retrieve current
|
||||
* values. For user and other a simple VFS_STAT would do, but
|
||||
* values. For user and other a simple SMB_VFS_STAT would do, but
|
||||
* we would get mask instead of group. Let's do it via ACL.
|
||||
*/
|
||||
|
||||
@ -658,13 +658,13 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace,
|
||||
int entry_id = SMB_ACL_FIRST_ENTRY;
|
||||
|
||||
if(fsp->is_directory || fsp->fd == -1) {
|
||||
current_posix_acl = VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_ACCESS);
|
||||
current_posix_acl = SMB_VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_ACCESS);
|
||||
} else {
|
||||
current_posix_acl = VFS_SYS_ACL_GET_FD(fsp, fsp->fd);
|
||||
current_posix_acl = SMB_VFS_SYS_ACL_GET_FD(fsp, fsp->fd);
|
||||
}
|
||||
|
||||
if (current_posix_acl) {
|
||||
while (VFS_SYS_ACL_GET_ENTRY(conn, current_posix_acl, entry_id, &entry) == 1) {
|
||||
while (SMB_VFS_SYS_ACL_GET_ENTRY(conn, current_posix_acl, entry_id, &entry) == 1) {
|
||||
SMB_ACL_TAG_T tagtype;
|
||||
SMB_ACL_PERMSET_T permset;
|
||||
|
||||
@ -673,10 +673,10 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace,
|
||||
entry_id = SMB_ACL_NEXT_ENTRY;
|
||||
|
||||
/* Is this a MASK entry ? */
|
||||
if (VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
continue;
|
||||
|
||||
if (VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
continue;
|
||||
|
||||
switch(tagtype) {
|
||||
@ -694,7 +694,7 @@ static BOOL ensure_canon_entry_valid(canon_ace **pp_ace,
|
||||
break;
|
||||
}
|
||||
}
|
||||
VFS_SYS_ACL_FREE_ACL(conn, current_posix_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, current_posix_acl);
|
||||
} else {
|
||||
DEBUG(10,("ensure_canon_entry_valid: failed to retrieve current ACL of %s\n",
|
||||
fsp->fsp_name));
|
||||
@ -1656,7 +1656,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
SMB_ACL_ENTRY_T entry;
|
||||
size_t ace_count;
|
||||
|
||||
while ( posix_acl && (VFS_SYS_ACL_GET_ENTRY(conn, posix_acl, entry_id, &entry) == 1)) {
|
||||
while ( posix_acl && (SMB_VFS_SYS_ACL_GET_ENTRY(conn, posix_acl, entry_id, &entry) == 1)) {
|
||||
SMB_ACL_TAG_T tagtype;
|
||||
SMB_ACL_PERMSET_T permset;
|
||||
DOM_SID sid;
|
||||
@ -1668,10 +1668,10 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
entry_id = SMB_ACL_NEXT_ENTRY;
|
||||
|
||||
/* Is this a MASK entry ? */
|
||||
if (VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
continue;
|
||||
|
||||
if (VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
continue;
|
||||
|
||||
/* Decide which SID to use based on the ACL type. */
|
||||
@ -1684,7 +1684,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
break;
|
||||
case SMB_ACL_USER:
|
||||
{
|
||||
uid_t *puid = (uid_t *)VFS_SYS_ACL_GET_QUALIFIER(conn, entry);
|
||||
uid_t *puid = (uid_t *)SMB_VFS_SYS_ACL_GET_QUALIFIER(conn, entry);
|
||||
if (puid == NULL) {
|
||||
DEBUG(0,("canonicalise_acl: Failed to get uid.\n"));
|
||||
continue;
|
||||
@ -1701,7 +1701,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
uid_to_sid( &sid, *puid);
|
||||
unix_ug.uid = *puid;
|
||||
owner_type = UID_ACE;
|
||||
VFS_SYS_ACL_FREE_QUALIFIER(conn, (void *)puid,tagtype);
|
||||
SMB_VFS_SYS_ACL_FREE_QUALIFIER(conn, (void *)puid,tagtype);
|
||||
break;
|
||||
}
|
||||
case SMB_ACL_GROUP_OBJ:
|
||||
@ -1712,7 +1712,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
break;
|
||||
case SMB_ACL_GROUP:
|
||||
{
|
||||
gid_t *pgid = (gid_t *)VFS_SYS_ACL_GET_QUALIFIER(conn, entry);
|
||||
gid_t *pgid = (gid_t *)SMB_VFS_SYS_ACL_GET_QUALIFIER(conn, entry);
|
||||
if (pgid == NULL) {
|
||||
DEBUG(0,("canonicalise_acl: Failed to get gid.\n"));
|
||||
continue;
|
||||
@ -1720,7 +1720,7 @@ static canon_ace *canonicalise_acl( files_struct *fsp, SMB_ACL_T posix_acl, SMB_
|
||||
gid_to_sid( &sid, *pgid);
|
||||
unix_ug.gid = *pgid;
|
||||
owner_type = GID_ACE;
|
||||
VFS_SYS_ACL_FREE_QUALIFIER(conn, (void *)pgid,tagtype);
|
||||
SMB_VFS_SYS_ACL_FREE_QUALIFIER(conn, (void *)pgid,tagtype);
|
||||
break;
|
||||
}
|
||||
case SMB_ACL_MASK:
|
||||
@ -1805,7 +1805,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
{
|
||||
connection_struct *conn = fsp->conn;
|
||||
BOOL ret = False;
|
||||
SMB_ACL_T the_acl = VFS_SYS_ACL_INIT(conn, (int)count_canon_ace_list(the_ace) + 1);
|
||||
SMB_ACL_T the_acl = SMB_VFS_SYS_ACL_INIT(conn, (int)count_canon_ace_list(the_ace) + 1);
|
||||
canon_ace *p_ace;
|
||||
int i;
|
||||
SMB_ACL_ENTRY_T mask_entry;
|
||||
@ -1863,7 +1863,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
* Get the entry for this ACE.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_CREATE_ENTRY(conn, &the_acl, &the_entry) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_CREATE_ENTRY(conn, &the_acl, &the_entry) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to create entry %d. (%s)\n",
|
||||
i, strerror(errno) ));
|
||||
goto done;
|
||||
@ -1889,7 +1889,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
* First tell the entry what type of ACE this is.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_SET_TAG_TYPE(conn, the_entry, p_ace->type) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_TAG_TYPE(conn, the_entry, p_ace->type) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to set tag type on entry %d. (%s)\n",
|
||||
i, strerror(errno) ));
|
||||
goto done;
|
||||
@ -1901,7 +1901,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
*/
|
||||
|
||||
if ((p_ace->type == SMB_ACL_USER) || (p_ace->type == SMB_ACL_GROUP)) {
|
||||
if (VFS_SYS_ACL_SET_QUALIFIER(conn, the_entry,(void *)&p_ace->unix_ug.uid) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_QUALIFIER(conn, the_entry,(void *)&p_ace->unix_ug.uid) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to set qualifier on entry %d. (%s)\n",
|
||||
i, strerror(errno) ));
|
||||
goto done;
|
||||
@ -1912,7 +1912,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
* Convert the mode_t perms in the canon_ace to a POSIX permset.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_GET_PERMSET(conn, the_entry, &the_permset) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, the_entry, &the_permset) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to get permset on entry %d. (%s)\n",
|
||||
i, strerror(errno) ));
|
||||
goto done;
|
||||
@ -1928,7 +1928,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
* ..and apply them to the entry.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_SET_PERMSET(conn, the_entry, the_permset) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_PERMSET(conn, the_entry, the_permset) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to add permset on entry %d. (%s)\n",
|
||||
i, strerror(errno) ));
|
||||
goto done;
|
||||
@ -1939,17 +1939,17 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
}
|
||||
|
||||
if (needs_mask && !got_mask_entry) {
|
||||
if (VFS_SYS_ACL_CREATE_ENTRY(conn, &the_acl, &mask_entry) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_CREATE_ENTRY(conn, &the_acl, &mask_entry) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to create mask entry. (%s)\n", strerror(errno) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (VFS_SYS_ACL_SET_TAG_TYPE(conn, mask_entry, SMB_ACL_MASK) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_TAG_TYPE(conn, mask_entry, SMB_ACL_MASK) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to set tag type on mask entry. (%s)\n",strerror(errno) ));
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (VFS_SYS_ACL_GET_PERMSET(conn, mask_entry, &mask_permset) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, mask_entry, &mask_permset) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to get mask permset. (%s)\n", strerror(errno) ));
|
||||
goto done;
|
||||
}
|
||||
@ -1959,7 +1959,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (VFS_SYS_ACL_SET_PERMSET(conn, mask_entry, mask_permset) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_PERMSET(conn, mask_entry, mask_permset) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: Failed to add mask permset. (%s)\n", strerror(errno) ));
|
||||
goto done;
|
||||
}
|
||||
@ -1969,7 +1969,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
* Check if the ACL is valid.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_VALID(conn, the_acl) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_VALID(conn, the_acl) == -1) {
|
||||
DEBUG(0,("set_canon_ace_list: ACL type (%s) is invalid for set (%s).\n",
|
||||
the_acl_type == SMB_ACL_TYPE_DEFAULT ? "directory default" : "file",
|
||||
strerror(errno) ));
|
||||
@ -1981,7 +1981,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
*/
|
||||
|
||||
if(default_ace || fsp->is_directory || fsp->fd == -1) {
|
||||
if (VFS_SYS_ACL_SET_FILE(conn, fsp->fsp_name, the_acl_type, the_acl) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_FILE(conn, fsp->fsp_name, the_acl_type, the_acl) == -1) {
|
||||
/*
|
||||
* Some systems allow all the above calls and only fail with no ACL support
|
||||
* when attempting to apply the acl. HPUX with HFS is an example of this. JRA.
|
||||
@ -2000,7 +2000,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
goto done;
|
||||
}
|
||||
} else {
|
||||
if (VFS_SYS_ACL_SET_FD(fsp, fsp->fd, the_acl) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_SET_FD(fsp, fsp->fd, the_acl) == -1) {
|
||||
/*
|
||||
* Some systems allow all the above calls and only fail with no ACL support
|
||||
* when attempting to apply the acl. HPUX with HFS is an example of this. JRA.
|
||||
@ -2024,7 +2024,7 @@ static BOOL set_canon_ace_list(files_struct *fsp, canon_ace *the_ace, BOOL defau
|
||||
done:
|
||||
|
||||
if (the_acl != NULL)
|
||||
VFS_SYS_ACL_FREE_ACL(conn, the_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, the_acl);
|
||||
|
||||
return ret;
|
||||
}
|
||||
@ -2055,8 +2055,8 @@ SMB_ACL_T free_empty_sys_acl(connection_struct *conn, SMB_ACL_T acl)
|
||||
|
||||
if (!acl)
|
||||
return NULL;
|
||||
if (VFS_SYS_ACL_GET_ENTRY(conn, acl, SMB_ACL_FIRST_ENTRY, &entry) != 1) {
|
||||
VFS_SYS_ACL_FREE_ACL(conn, acl);
|
||||
if (SMB_VFS_SYS_ACL_GET_ENTRY(conn, acl, SMB_ACL_FIRST_ENTRY, &entry) != 1) {
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, acl);
|
||||
return NULL;
|
||||
}
|
||||
return acl;
|
||||
@ -2222,34 +2222,34 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc)
|
||||
if(fsp->is_directory || fsp->fd == -1) {
|
||||
|
||||
/* Get the stat struct for the owner info. */
|
||||
if(VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf) != 0) {
|
||||
if(SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf) != 0) {
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* Get the ACL from the path.
|
||||
*/
|
||||
|
||||
posix_acl = VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_ACCESS);
|
||||
posix_acl = SMB_VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_ACCESS);
|
||||
|
||||
/*
|
||||
* If it's a directory get the default POSIX ACL.
|
||||
*/
|
||||
|
||||
if(fsp->is_directory) {
|
||||
dir_acl = VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_DEFAULT);
|
||||
dir_acl = SMB_VFS_SYS_ACL_GET_FILE(conn, fsp->fsp_name, SMB_ACL_TYPE_DEFAULT);
|
||||
dir_acl = free_empty_sys_acl(conn, dir_acl);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
/* Get the stat struct for the owner info. */
|
||||
if(VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0) {
|
||||
if(SMB_VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0) {
|
||||
return 0;
|
||||
}
|
||||
/*
|
||||
* Get the ACL from the fd.
|
||||
*/
|
||||
posix_acl = VFS_SYS_ACL_GET_FD(fsp, fsp->fd);
|
||||
posix_acl = SMB_VFS_SYS_ACL_GET_FD(fsp, fsp->fd);
|
||||
}
|
||||
|
||||
DEBUG(5,("get_nt_acl : file ACL %s, directory ACL %s\n",
|
||||
@ -2477,9 +2477,9 @@ size_t get_nt_acl(files_struct *fsp, SEC_DESC **ppdesc)
|
||||
done:
|
||||
|
||||
if (posix_acl)
|
||||
VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
if (dir_acl)
|
||||
VFS_SYS_ACL_FREE_ACL(conn, dir_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, dir_acl);
|
||||
free_canon_ace_list(file_ace);
|
||||
free_canon_ace_list(dir_ace);
|
||||
SAFE_FREE(nt_ace_list);
|
||||
@ -2503,14 +2503,14 @@ static int try_chown(connection_struct *conn, const char *fname, uid_t uid, gid_
|
||||
SMB_STRUCT_STAT st;
|
||||
|
||||
/* try the direct way first */
|
||||
ret = VFS_CHOWN(conn, fname, uid, gid);
|
||||
ret = SMB_VFS_CHOWN(conn, fname, uid, gid);
|
||||
if (ret == 0)
|
||||
return 0;
|
||||
|
||||
if(!CAN_WRITE(conn) || !lp_dos_filemode(SNUM(conn)))
|
||||
return -1;
|
||||
|
||||
if (VFS_STAT(conn,fname,&st))
|
||||
if (SMB_VFS_STAT(conn,fname,&st))
|
||||
return -1;
|
||||
|
||||
fsp = open_file_fchmod(conn,fname,&st);
|
||||
@ -2525,7 +2525,7 @@ static int try_chown(connection_struct *conn, const char *fname, uid_t uid, gid_
|
||||
|
||||
become_root();
|
||||
/* Keep the current file gid the same. */
|
||||
ret = VFS_FCHOWN(fsp, fsp->fd, uid, (gid_t)-1);
|
||||
ret = SMB_VFS_FCHOWN(fsp, fsp->fd, uid, (gid_t)-1);
|
||||
unbecome_root();
|
||||
|
||||
close_file_fchmod(fsp);
|
||||
@ -2568,10 +2568,10 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
|
||||
*/
|
||||
|
||||
if(fsp->is_directory || fsp->fd == -1) {
|
||||
if(VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf) != 0)
|
||||
if(SMB_VFS_STAT(fsp->conn,fsp->fsp_name, &sbuf) != 0)
|
||||
return False;
|
||||
} else {
|
||||
if(VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0)
|
||||
if(SMB_VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0)
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -2617,7 +2617,7 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
|
||||
*/
|
||||
|
||||
if(fsp->is_directory) {
|
||||
if(VFS_STAT(fsp->conn, fsp->fsp_name, &sbuf) != 0) {
|
||||
if(SMB_VFS_STAT(fsp->conn, fsp->fsp_name, &sbuf) != 0) {
|
||||
return False;
|
||||
}
|
||||
} else {
|
||||
@ -2625,9 +2625,9 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
|
||||
int ret;
|
||||
|
||||
if(fsp->fd == -1)
|
||||
ret = VFS_STAT(fsp->conn, fsp->fsp_name, &sbuf);
|
||||
ret = SMB_VFS_STAT(fsp->conn, fsp->fsp_name, &sbuf);
|
||||
else
|
||||
ret = VFS_FSTAT(fsp,fsp->fd,&sbuf);
|
||||
ret = SMB_VFS_FSTAT(fsp,fsp->fd,&sbuf);
|
||||
|
||||
if(ret != 0)
|
||||
return False;
|
||||
@ -2695,7 +2695,7 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
|
||||
* No default ACL - delete one if it exists.
|
||||
*/
|
||||
|
||||
if (VFS_SYS_ACL_DELETE_DEF_FILE(conn, fsp->fsp_name) == -1) {
|
||||
if (SMB_VFS_SYS_ACL_DELETE_DEF_FILE(conn, fsp->fsp_name) == -1) {
|
||||
DEBUG(3,("set_nt_acl: sys_acl_delete_def_file failed (%s)\n", strerror(errno)));
|
||||
free_canon_ace_list(file_ace_list);
|
||||
free_canon_ace_list(dir_ace_list);
|
||||
@ -2724,7 +2724,7 @@ BOOL set_nt_acl(files_struct *fsp, uint32 security_info_sent, SEC_DESC *psd)
|
||||
DEBUG(3,("set_nt_acl: chmod %s. perms = 0%o.\n",
|
||||
fsp->fsp_name, (unsigned int)posix_perms ));
|
||||
|
||||
if(VFS_CHMOD(conn,fsp->fsp_name, posix_perms) == -1) {
|
||||
if(SMB_VFS_CHMOD(conn,fsp->fsp_name, posix_perms) == -1) {
|
||||
DEBUG(3,("set_nt_acl: chmod %s, 0%o failed. Error = %s.\n",
|
||||
fsp->fsp_name, (unsigned int)posix_perms, strerror(errno) ));
|
||||
free_canon_ace_list(file_ace_list);
|
||||
@ -2766,7 +2766,7 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo
|
||||
SMB_ACL_ENTRY_T entry;
|
||||
int num_entries = 0;
|
||||
|
||||
while ( VFS_SYS_ACL_GET_ENTRY(conn, posix_acl, entry_id, &entry) == 1) {
|
||||
while ( SMB_VFS_SYS_ACL_GET_ENTRY(conn, posix_acl, entry_id, &entry) == 1) {
|
||||
SMB_ACL_TAG_T tagtype;
|
||||
SMB_ACL_PERMSET_T permset;
|
||||
mode_t perms;
|
||||
@ -2775,10 +2775,10 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo
|
||||
if (entry_id == SMB_ACL_FIRST_ENTRY)
|
||||
entry_id = SMB_ACL_NEXT_ENTRY;
|
||||
|
||||
if (VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_TAG_TYPE(conn, entry, &tagtype) == -1)
|
||||
return -1;
|
||||
|
||||
if (VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
if (SMB_VFS_SYS_ACL_GET_PERMSET(conn, entry, &permset) == -1)
|
||||
return -1;
|
||||
|
||||
num_entries++;
|
||||
@ -2809,7 +2809,7 @@ static int chmod_acl_internals( connection_struct *conn, SMB_ACL_T posix_acl, mo
|
||||
if (map_acl_perms_to_permset(conn, perms, &permset) == -1)
|
||||
return -1;
|
||||
|
||||
if (VFS_SYS_ACL_SET_PERMSET(conn, entry, permset) == -1)
|
||||
if (SMB_VFS_SYS_ACL_SET_PERMSET(conn, entry, permset) == -1)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -2835,17 +2835,17 @@ static int copy_access_acl(connection_struct *conn, const char *from, const char
|
||||
SMB_ACL_T posix_acl = NULL;
|
||||
int ret = -1;
|
||||
|
||||
if ((posix_acl = VFS_SYS_ACL_GET_FILE(conn, from, SMB_ACL_TYPE_ACCESS)) == NULL)
|
||||
if ((posix_acl = SMB_VFS_SYS_ACL_GET_FILE(conn, from, SMB_ACL_TYPE_ACCESS)) == NULL)
|
||||
return -1;
|
||||
|
||||
if ((ret = chmod_acl_internals(conn, posix_acl, mode)) == -1)
|
||||
goto done;
|
||||
|
||||
ret = VFS_SYS_ACL_SET_FILE(conn, to, SMB_ACL_TYPE_ACCESS, posix_acl);
|
||||
ret = SMB_VFS_SYS_ACL_SET_FILE(conn, to, SMB_ACL_TYPE_ACCESS, posix_acl);
|
||||
|
||||
done:
|
||||
|
||||
VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -2887,17 +2887,17 @@ int fchmod_acl(files_struct *fsp, int fd, mode_t mode)
|
||||
SMB_ACL_T posix_acl = NULL;
|
||||
int ret = -1;
|
||||
|
||||
if ((posix_acl = VFS_SYS_ACL_GET_FD(fsp, fd)) == NULL)
|
||||
if ((posix_acl = SMB_VFS_SYS_ACL_GET_FD(fsp, fd)) == NULL)
|
||||
return -1;
|
||||
|
||||
if ((ret = chmod_acl_internals(conn, posix_acl, mode)) == -1)
|
||||
goto done;
|
||||
|
||||
ret = VFS_SYS_ACL_SET_FD(fsp, fd, posix_acl);
|
||||
ret = SMB_VFS_SYS_ACL_SET_FD(fsp, fd, posix_acl);
|
||||
|
||||
done:
|
||||
|
||||
VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, posix_acl);
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -2907,14 +2907,14 @@ int fchmod_acl(files_struct *fsp, int fd, mode_t mode)
|
||||
|
||||
BOOL directory_has_default_acl(connection_struct *conn, const char *fname)
|
||||
{
|
||||
SMB_ACL_T dir_acl = VFS_SYS_ACL_GET_FILE( conn, fname, SMB_ACL_TYPE_DEFAULT);
|
||||
SMB_ACL_T dir_acl = SMB_VFS_SYS_ACL_GET_FILE( conn, fname, SMB_ACL_TYPE_DEFAULT);
|
||||
BOOL has_acl = False;
|
||||
SMB_ACL_ENTRY_T entry;
|
||||
|
||||
if (dir_acl != NULL && (VFS_SYS_ACL_GET_ENTRY(conn, dir_acl, SMB_ACL_FIRST_ENTRY, &entry) == 1))
|
||||
if (dir_acl != NULL && (SMB_VFS_SYS_ACL_GET_ENTRY(conn, dir_acl, SMB_ACL_FIRST_ENTRY, &entry) == 1))
|
||||
has_acl = True;
|
||||
|
||||
if (dir_acl)
|
||||
VFS_SYS_ACL_FREE_ACL(conn, dir_acl);
|
||||
SMB_VFS_SYS_ACL_FREE_ACL(conn, dir_acl);
|
||||
return has_acl;
|
||||
}
|
||||
|
@ -399,7 +399,7 @@ int reply_chkpth(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
|
||||
mode = SVAL(inbuf,smb_vwv0);
|
||||
|
||||
if (check_name(name,conn)) {
|
||||
if (VALID_STAT(sbuf) || VFS_STAT(conn,name,&sbuf) == 0)
|
||||
if (VALID_STAT(sbuf) || SMB_VFS_STAT(conn,name,&sbuf) == 0)
|
||||
if (!(ok = S_ISDIR(sbuf.st_mode)))
|
||||
errno = ENOTDIR;
|
||||
}
|
||||
@ -458,7 +458,7 @@ int reply_getatr(connection_struct *conn, char *inbuf,char *outbuf, int dum_size
|
||||
} else {
|
||||
unix_convert(fname,conn,0,&bad_path,&sbuf);
|
||||
if (check_name(fname,conn)) {
|
||||
if (VALID_STAT(sbuf) || VFS_STAT(conn,fname,&sbuf) == 0) {
|
||||
if (VALID_STAT(sbuf) || SMB_VFS_STAT(conn,fname,&sbuf) == 0) {
|
||||
mode = dos_mode(conn,fname,&sbuf);
|
||||
size = sbuf.st_size;
|
||||
mtime = sbuf.st_mtime;
|
||||
@ -553,7 +553,7 @@ int reply_dskattr(connection_struct *conn, char *inbuf,char *outbuf, int dum_siz
|
||||
SMB_BIG_UINT dfree,dsize,bsize;
|
||||
START_PROFILE(SMBdskattr);
|
||||
|
||||
VFS_DISK_FREE(conn,".",True,&bsize,&dfree,&dsize);
|
||||
SMB_VFS_DISK_FREE(conn,".",True,&bsize,&dfree,&dsize);
|
||||
|
||||
outsize = set_message(outbuf,5,0,True);
|
||||
|
||||
@ -1128,7 +1128,7 @@ int reply_ctemp(connection_struct *conn, char *inbuf,char *outbuf, int dum_size,
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
|
||||
VFS_STAT(conn,fname,&sbuf);
|
||||
SMB_VFS_STAT(conn,fname,&sbuf);
|
||||
|
||||
/* Open file in dos compatibility share mode. */
|
||||
/* We should fail if file does not exist. */
|
||||
@ -1227,7 +1227,7 @@ static NTSTATUS can_delete(char *fname,connection_struct *conn, int dirtype)
|
||||
if (!CAN_WRITE(conn))
|
||||
return NT_STATUS_MEDIA_WRITE_PROTECTED;
|
||||
|
||||
if (VFS_LSTAT(conn,fname,&sbuf) != 0)
|
||||
if (SMB_VFS_LSTAT(conn,fname,&sbuf) != 0)
|
||||
return NT_STATUS_OBJECT_NAME_NOT_FOUND;
|
||||
|
||||
fmode = dos_mode(conn,fname,&sbuf);
|
||||
@ -1313,7 +1313,7 @@ NTSTATUS unlink_internals(connection_struct *conn, int dirtype, char *name)
|
||||
error = can_delete(directory,conn,dirtype);
|
||||
if (!NT_STATUS_IS_OK(error)) return error;
|
||||
|
||||
if (VFS_UNLINK(conn,directory) == 0) {
|
||||
if (SMB_VFS_UNLINK(conn,directory) == 0) {
|
||||
count++;
|
||||
}
|
||||
} else {
|
||||
@ -1343,7 +1343,7 @@ NTSTATUS unlink_internals(connection_struct *conn, int dirtype, char *name)
|
||||
slprintf(fname,sizeof(fname)-1, "%s/%s",directory,dname);
|
||||
error = can_delete(fname,conn,dirtype);
|
||||
if (!NT_STATUS_IS_OK(error)) continue;
|
||||
if (VFS_UNLINK(conn,fname) == 0) count++;
|
||||
if (SMB_VFS_UNLINK(conn,fname) == 0) count++;
|
||||
DEBUG(3,("unlink_internals: succesful unlink [%s]\n",fname));
|
||||
}
|
||||
CloseDir(dirptr);
|
||||
@ -1429,7 +1429,7 @@ void send_file_readbraw(connection_struct *conn, files_struct *fsp, SMB_OFF_T st
|
||||
header.length = 4;
|
||||
header.free = NULL;
|
||||
|
||||
if ( VFS_SENDFILE( smbd_server_fd(), fsp, fsp->fd, &header, startpos, nread) == -1) {
|
||||
if ( SMB_VFS_SENDFILE( smbd_server_fd(), fsp, fsp->fd, &header, startpos, nread) == -1) {
|
||||
/*
|
||||
* Special hack for broken Linux with no 64 bit clean sendfile. If we
|
||||
* return ENOSYS then pretend we just got a normal read.
|
||||
@ -1554,7 +1554,7 @@ int reply_readbraw(connection_struct *conn, char *inbuf, char *outbuf, int dum_s
|
||||
|
||||
if (size < sizeneeded) {
|
||||
SMB_STRUCT_STAT st;
|
||||
if (VFS_FSTAT(fsp,fsp->fd,&st) == 0)
|
||||
if (SMB_VFS_FSTAT(fsp,fsp->fd,&st) == 0)
|
||||
size = st.st_size;
|
||||
if (!fsp->can_write)
|
||||
fsp->size = size;
|
||||
@ -1723,7 +1723,7 @@ int send_file_readX(connection_struct *conn, char *inbuf,char *outbuf,int length
|
||||
SMB_STRUCT_STAT sbuf;
|
||||
DATA_BLOB header;
|
||||
|
||||
if(VFS_FSTAT(fsp,fsp->fd, &sbuf) == -1)
|
||||
if(SMB_VFS_FSTAT(fsp,fsp->fd, &sbuf) == -1)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
|
||||
if (startpos > sbuf.st_size)
|
||||
@ -1750,7 +1750,7 @@ int send_file_readX(connection_struct *conn, char *inbuf,char *outbuf,int length
|
||||
header.length = data - outbuf;
|
||||
header.free = NULL;
|
||||
|
||||
if ( VFS_SENDFILE( smbd_server_fd(), fsp, fsp->fd, &header, startpos, smb_maxcnt) == -1) {
|
||||
if ( SMB_VFS_SENDFILE( smbd_server_fd(), fsp, fsp->fd, &header, startpos, smb_maxcnt) == -1) {
|
||||
/*
|
||||
* Special hack for broken Linux with no 64 bit clean sendfile. If we
|
||||
* return ENOSYS then pretend we just got a normal read.
|
||||
@ -2262,7 +2262,7 @@ int reply_lseek(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
break;
|
||||
}
|
||||
|
||||
if((res = VFS_LSEEK(fsp,fsp->fd,startpos,umode)) == -1) {
|
||||
if((res = SMB_VFS_LSEEK(fsp,fsp->fd,startpos,umode)) == -1) {
|
||||
/*
|
||||
* Check for the special case where a seek before the start
|
||||
* of the file sets the offset to zero. Added in the CIFS spec,
|
||||
@ -2274,7 +2274,7 @@ int reply_lseek(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
|
||||
if(umode == SEEK_CUR) {
|
||||
|
||||
if((current_pos = VFS_LSEEK(fsp,fsp->fd,0,SEEK_CUR)) == -1) {
|
||||
if((current_pos = SMB_VFS_LSEEK(fsp,fsp->fd,0,SEEK_CUR)) == -1) {
|
||||
END_PROFILE(SMBlseek);
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
@ -2285,7 +2285,7 @@ int reply_lseek(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
|
||||
SMB_STRUCT_STAT sbuf;
|
||||
|
||||
if(VFS_FSTAT(fsp,fsp->fd, &sbuf) == -1) {
|
||||
if(SMB_VFS_FSTAT(fsp,fsp->fd, &sbuf) == -1) {
|
||||
END_PROFILE(SMBlseek);
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
@ -2294,7 +2294,7 @@ int reply_lseek(connection_struct *conn, char *inbuf,char *outbuf, int size, int
|
||||
}
|
||||
|
||||
if(current_pos < 0)
|
||||
res = VFS_LSEEK(fsp,fsp->fd,0,SEEK_SET);
|
||||
res = SMB_VFS_LSEEK(fsp,fsp->fd,0,SEEK_SET);
|
||||
}
|
||||
|
||||
if(res == -1) {
|
||||
@ -2901,7 +2901,7 @@ static BOOL recursive_rmdir(connection_struct *conn, char *directory)
|
||||
pstrcat(fullname, "/");
|
||||
pstrcat(fullname, dname);
|
||||
|
||||
if(VFS_LSTAT(conn,fullname, &st) != 0) {
|
||||
if(SMB_VFS_LSTAT(conn,fullname, &st) != 0) {
|
||||
ret = True;
|
||||
break;
|
||||
}
|
||||
@ -2911,11 +2911,11 @@ static BOOL recursive_rmdir(connection_struct *conn, char *directory)
|
||||
ret = True;
|
||||
break;
|
||||
}
|
||||
if(VFS_RMDIR(conn,fullname) != 0) {
|
||||
if(SMB_VFS_RMDIR(conn,fullname) != 0) {
|
||||
ret = True;
|
||||
break;
|
||||
}
|
||||
} else if(VFS_UNLINK(conn,fullname) != 0) {
|
||||
} else if(SMB_VFS_UNLINK(conn,fullname) != 0) {
|
||||
ret = True;
|
||||
break;
|
||||
}
|
||||
@ -2932,7 +2932,7 @@ BOOL rmdir_internals(connection_struct *conn, char *directory)
|
||||
{
|
||||
BOOL ok;
|
||||
|
||||
ok = (VFS_RMDIR(conn,directory) == 0);
|
||||
ok = (SMB_VFS_RMDIR(conn,directory) == 0);
|
||||
if(!ok && ((errno == ENOTEMPTY)||(errno == EEXIST)) && lp_veto_files(SNUM(conn))) {
|
||||
/*
|
||||
* Check to see if the only thing in this directory are
|
||||
@ -2974,21 +2974,21 @@ BOOL rmdir_internals(connection_struct *conn, char *directory)
|
||||
pstrcat(fullname, "/");
|
||||
pstrcat(fullname, dname);
|
||||
|
||||
if(VFS_LSTAT(conn,fullname, &st) != 0)
|
||||
if(SMB_VFS_LSTAT(conn,fullname, &st) != 0)
|
||||
break;
|
||||
if(st.st_mode & S_IFDIR) {
|
||||
if(lp_recursive_veto_delete(SNUM(conn))) {
|
||||
if(recursive_rmdir(conn, fullname) != 0)
|
||||
break;
|
||||
}
|
||||
if(VFS_RMDIR(conn,fullname) != 0)
|
||||
if(SMB_VFS_RMDIR(conn,fullname) != 0)
|
||||
break;
|
||||
} else if(VFS_UNLINK(conn,fullname) != 0)
|
||||
} else if(SMB_VFS_UNLINK(conn,fullname) != 0)
|
||||
break;
|
||||
}
|
||||
CloseDir(dirptr);
|
||||
/* Retry the rmdir */
|
||||
ok = (VFS_RMDIR(conn,directory) == 0);
|
||||
ok = (SMB_VFS_RMDIR(conn,directory) == 0);
|
||||
} else {
|
||||
CloseDir(dirptr);
|
||||
}
|
||||
@ -3284,7 +3284,7 @@ directory = %s, newname = %s, newname_last_component = %s, is_8_3 = %d\n",
|
||||
return NT_STATUS_OBJECT_NAME_COLLISION;
|
||||
}
|
||||
|
||||
if(VFS_RENAME(conn,directory, newname) == 0) {
|
||||
if(SMB_VFS_RENAME(conn,directory, newname) == 0) {
|
||||
DEBUG(3,("rename_internals: succeeded doing rename on %s -> %s\n",
|
||||
directory,newname));
|
||||
return NT_STATUS_OK;
|
||||
@ -3351,7 +3351,7 @@ directory = %s, newname = %s, newname_last_component = %s, is_8_3 = %d\n",
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!VFS_RENAME(conn,fname,destname))
|
||||
if (!SMB_VFS_RENAME(conn,fname,destname))
|
||||
count++;
|
||||
DEBUG(3,("rename_internals: doing rename on %s -> %s\n",fname,destname));
|
||||
}
|
||||
@ -3445,7 +3445,7 @@ static BOOL copy_file(char *src,char *dest1,connection_struct *conn, int ofun,
|
||||
if (!target_is_directory && count)
|
||||
ofun = FILE_EXISTS_OPEN;
|
||||
|
||||
if (VFS_STAT(conn,dest,&sbuf2) == -1)
|
||||
if (SMB_VFS_STAT(conn,dest,&sbuf2) == -1)
|
||||
ZERO_STRUCTP(&sbuf2);
|
||||
|
||||
fsp2 = open_file_shared(conn,dest,&sbuf2,SET_DENY_MODE(DENY_NONE)|SET_OPEN_MODE(DOS_OPEN_WRONLY),
|
||||
@ -3457,7 +3457,7 @@ static BOOL copy_file(char *src,char *dest1,connection_struct *conn, int ofun,
|
||||
}
|
||||
|
||||
if ((ofun&3) == 1) {
|
||||
if(VFS_LSEEK(fsp2,fsp2->fd,0,SEEK_END) == -1) {
|
||||
if(SMB_VFS_LSEEK(fsp2,fsp2->fd,0,SEEK_END) == -1) {
|
||||
DEBUG(0,("copy_file: error - vfs lseek returned error %s\n", strerror(errno) ));
|
||||
/*
|
||||
* Stop the copy from occurring.
|
||||
|
@ -704,7 +704,7 @@ static connection_struct *make_connection_snum(int snum, user_struct *vuser,
|
||||
|
||||
/* Invoke VFS make connection hook */
|
||||
|
||||
if (VFS_CONNECT(conn, lp_servicename(snum), user) < 0) {
|
||||
if (SMB_VFS_CONNECT(conn, lp_servicename(snum), user) < 0) {
|
||||
DEBUG(0,("make_connection: VFS make connection failed!\n"));
|
||||
change_to_root_user();
|
||||
conn_free(conn);
|
||||
@ -871,7 +871,7 @@ void close_cnum(connection_struct *conn, uint16 vuid)
|
||||
lp_servicename(SNUM(conn))));
|
||||
|
||||
/* Call VFS disconnect hook */
|
||||
VFS_DISCONNECT(conn);
|
||||
SMB_VFS_DISCONNECT(conn);
|
||||
|
||||
yield_connection(conn, lp_servicename(SNUM(conn)));
|
||||
|
||||
|
@ -242,7 +242,7 @@ BOOL stat_cache_lookup(connection_struct *conn, pstring name, pstring dirpath,
|
||||
} else {
|
||||
scp = (stat_cache_entry *)(hash_elem->value);
|
||||
DO_PROFILE_INC(statcache_hits);
|
||||
if(VFS_STAT(conn,scp->translated_path, pst) != 0) {
|
||||
if(SMB_VFS_STAT(conn,scp->translated_path, pst) != 0) {
|
||||
/* Discard this entry - it doesn't exist in the filesystem. */
|
||||
hash_remove(&stat_cache, hash_elem);
|
||||
return False;
|
||||
|
@ -551,12 +551,12 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn,
|
||||
pstrcat(pathreal,dname);
|
||||
|
||||
if (INFO_LEVEL_IS_UNIX(info_level)) {
|
||||
if (VFS_LSTAT(conn,pathreal,&sbuf) != 0) {
|
||||
if (SMB_VFS_LSTAT(conn,pathreal,&sbuf) != 0) {
|
||||
DEBUG(5,("get_lanman2_dir_entry:Couldn't lstat [%s] (%s)\n",
|
||||
pathreal,strerror(errno)));
|
||||
continue;
|
||||
}
|
||||
} else if (VFS_STAT(conn,pathreal,&sbuf) != 0) {
|
||||
} else if (SMB_VFS_STAT(conn,pathreal,&sbuf) != 0) {
|
||||
|
||||
/* Needed to show the msdfs symlinks as
|
||||
* directories */
|
||||
@ -1324,7 +1324,7 @@ static int call_trans2qfsinfo(connection_struct *conn, char *inbuf, char *outbuf
|
||||
|
||||
DEBUG(3,("call_trans2qfsinfo: level = %d\n", info_level));
|
||||
|
||||
if(VFS_STAT(conn,".",&st)!=0) {
|
||||
if(SMB_VFS_STAT(conn,".",&st)!=0) {
|
||||
DEBUG(2,("call_trans2qfsinfo: stat of . failed (%s)\n", strerror(errno)));
|
||||
return ERROR_DOS(ERRSRV,ERRinvdevice);
|
||||
}
|
||||
@ -1341,7 +1341,7 @@ static int call_trans2qfsinfo(connection_struct *conn, char *inbuf, char *outbuf
|
||||
{
|
||||
SMB_BIG_UINT dfree,dsize,bsize;
|
||||
data_len = 18;
|
||||
VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
SMB_VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
SIVAL(pdata,l1_idFileSystem,st.st_dev);
|
||||
SIVAL(pdata,l1_cSectorUnit,bsize/512);
|
||||
SIVAL(pdata,l1_cUnit,dsize);
|
||||
@ -1416,7 +1416,7 @@ static int call_trans2qfsinfo(connection_struct *conn, char *inbuf, char *outbuf
|
||||
{
|
||||
SMB_BIG_UINT dfree,dsize,bsize,block_size,sectors_per_unit,bytes_per_sector;
|
||||
data_len = 24;
|
||||
VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
SMB_VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
block_size = lp_block_size(snum);
|
||||
if (bsize < block_size) {
|
||||
SMB_BIG_UINT factor = block_size/bsize;
|
||||
@ -1446,7 +1446,7 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned
|
||||
{
|
||||
SMB_BIG_UINT dfree,dsize,bsize,block_size,sectors_per_unit,bytes_per_sector;
|
||||
data_len = 32;
|
||||
VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
SMB_VFS_DISK_FREE(conn,".",False,&bsize,&dfree,&dsize);
|
||||
block_size = lp_block_size(snum);
|
||||
if (bsize < block_size) {
|
||||
SMB_BIG_UINT factor = block_size/bsize;
|
||||
@ -1793,13 +1793,13 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
|
||||
|
||||
if (INFO_LEVEL_IS_UNIX(info_level)) {
|
||||
/* Always do lstat for UNIX calls. */
|
||||
if (VFS_LSTAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
if (SMB_VFS_LSTAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
set_bad_path_error(errno, bad_path);
|
||||
return(UNIXERROR(ERRDOS,ERRbadpath));
|
||||
}
|
||||
} else if (!VALID_STAT(sbuf) && VFS_STAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
} else if (!VALID_STAT(sbuf) && SMB_VFS_STAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
set_bad_path_error(errno, bad_path);
|
||||
return(UNIXERROR(ERRDOS,ERRbadpath));
|
||||
}
|
||||
@ -1812,11 +1812,11 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
|
||||
CHECK_FSP(fsp,conn);
|
||||
|
||||
pstrcpy(fname, fsp->fsp_name);
|
||||
if (VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0) {
|
||||
if (SMB_VFS_FSTAT(fsp,fsp->fd,&sbuf) != 0) {
|
||||
DEBUG(3,("fstat of fnum %d failed (%s)\n", fsp->fnum, strerror(errno)));
|
||||
return(UNIXERROR(ERRDOS,ERRbadfid));
|
||||
}
|
||||
if((pos = VFS_LSEEK(fsp,fsp->fd,0,SEEK_CUR)) == -1)
|
||||
if((pos = SMB_VFS_LSEEK(fsp,fsp->fd,0,SEEK_CUR)) == -1)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
|
||||
delete_pending = fsp->delete_on_close;
|
||||
@ -1843,13 +1843,13 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
|
||||
|
||||
if (INFO_LEVEL_IS_UNIX(info_level)) {
|
||||
/* Always do lstat for UNIX calls. */
|
||||
if (VFS_LSTAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
if (SMB_VFS_LSTAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
set_bad_path_error(errno, bad_path);
|
||||
return(UNIXERROR(ERRDOS,ERRbadpath));
|
||||
}
|
||||
} else if (!VALID_STAT(sbuf) && VFS_STAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
} else if (!VALID_STAT(sbuf) && SMB_VFS_STAT(conn,fname,&sbuf)) {
|
||||
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
|
||||
set_bad_path_error(errno, bad_path);
|
||||
return(UNIXERROR(ERRDOS,ERRbadpath));
|
||||
}
|
||||
@ -2242,7 +2242,7 @@ static int call_trans2qfilepathinfo(connection_struct *conn,
|
||||
#else
|
||||
return(UNIXERROR(ERRDOS,ERRbadlink));
|
||||
#endif
|
||||
len = VFS_READLINK(conn,fullpathname, buffer, sizeof(pstring)-1); /* read link */
|
||||
len = SMB_VFS_READLINK(conn,fullpathname, buffer, sizeof(pstring)-1); /* read link */
|
||||
if (len == -1)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
buffer[len] = 0;
|
||||
@ -2366,7 +2366,7 @@ static int ensure_link_is_safe(connection_struct *conn, const char *link_dest_in
|
||||
pstrcpy(link_dest, "./");
|
||||
}
|
||||
|
||||
if (VFS_REALPATH(conn,link_dest,resolved_name) == NULL)
|
||||
if (SMB_VFS_REALPATH(conn,link_dest,resolved_name) == NULL)
|
||||
return -1;
|
||||
|
||||
pstrcpy(link_dest, resolved_name);
|
||||
@ -2463,7 +2463,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
|
||||
pstrcpy(fname, fsp->fsp_name);
|
||||
fd = fsp->fd;
|
||||
|
||||
if (VFS_FSTAT(fsp,fd,&sbuf) != 0) {
|
||||
if (SMB_VFS_FSTAT(fsp,fd,&sbuf) != 0) {
|
||||
DEBUG(3,("call_trans2setfilepathinfo: fstat of fnum %d failed (%s)\n",fsp->fnum, strerror(errno)));
|
||||
return(UNIXERROR(ERRDOS,ERRbadfid));
|
||||
}
|
||||
@ -2655,7 +2655,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
|
||||
if (new_fsp == NULL)
|
||||
return(UNIXERROR(ERRDOS,ERRbadpath));
|
||||
ret = vfs_allocate_file_space(new_fsp, allocation_size);
|
||||
if (VFS_FSTAT(new_fsp,new_fsp->fd,&new_sbuf) != 0) {
|
||||
if (SMB_VFS_FSTAT(new_fsp,new_fsp->fd,&new_sbuf) != 0) {
|
||||
DEBUG(3,("call_trans2setfilepathinfo: fstat of fnum %d failed (%s)\n",
|
||||
new_fsp->fnum, strerror(errno)));
|
||||
ret = -1;
|
||||
@ -2663,7 +2663,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn,
|
||||
close_file(new_fsp,True);
|
||||
} else {
|
||||
ret = vfs_allocate_file_space(fsp, allocation_size);
|
||||
if (VFS_FSTAT(fsp,fd,&new_sbuf) != 0) {
|
||||
if (SMB_VFS_FSTAT(fsp,fd,&new_sbuf) != 0) {
|
||||
DEBUG(3,("call_trans2setfilepathinfo: fstat of fnum %d failed (%s)\n",
|
||||
fsp->fnum, strerror(errno)));
|
||||
ret = -1;
|
||||
@ -2803,7 +2803,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
0%o for file %s\n", (double)dev, unixmode, fname ));
|
||||
|
||||
/* Ok - do the mknod. */
|
||||
if (VFS_MKNOD(conn,dos_to_unix_static(fname), unixmode, dev) != 0)
|
||||
if (SMB_VFS_MKNOD(conn,dos_to_unix_static(fname), unixmode, dev) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
|
||||
inherit_access_acl(conn, fname, unixmode);
|
||||
@ -2822,7 +2822,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
if (raw_unixmode != SMB_MODE_NO_CHANGE) {
|
||||
DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_BASIC setting mode 0%o for file %s\n",
|
||||
(unsigned int)unixmode, fname ));
|
||||
if (VFS_CHMOD(conn,fname,unixmode) != 0)
|
||||
if (SMB_VFS_CHMOD(conn,fname,unixmode) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
|
||||
@ -2833,7 +2833,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
if ((set_owner != (uid_t)SMB_UID_NO_CHANGE) && (sbuf.st_uid != set_owner)) {
|
||||
DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_BASIC changing owner %u for file %s\n",
|
||||
(unsigned int)set_owner, fname ));
|
||||
if (VFS_CHOWN(conn,fname,set_owner, (gid_t)-1) != 0)
|
||||
if (SMB_VFS_CHOWN(conn,fname,set_owner, (gid_t)-1) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
|
||||
@ -2844,7 +2844,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
if ((set_grp != (uid_t)SMB_GID_NO_CHANGE) && (sbuf.st_gid != set_grp)) {
|
||||
DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_BASIC changing group %u for file %s\n",
|
||||
(unsigned int)set_owner, fname ));
|
||||
if (VFS_CHOWN(conn,fname,(uid_t)-1, set_grp) != 0)
|
||||
if (SMB_VFS_CHOWN(conn,fname,(uid_t)-1, set_grp) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
}
|
||||
break;
|
||||
@ -2871,7 +2871,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_LINK doing symlink %s -> %s\n",
|
||||
fname, link_dest ));
|
||||
|
||||
if (VFS_SYMLINK(conn,link_dest,fname) != 0)
|
||||
if (SMB_VFS_SYMLINK(conn,link_dest,fname) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
SSVAL(params,0,0);
|
||||
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
|
||||
@ -2896,7 +2896,7 @@ size = %.0f, uid = %u, gid = %u, raw perms = 0%o\n",
|
||||
DEBUG(10,("call_trans2setfilepathinfo: SMB_SET_FILE_UNIX_LINK doing hard link %s -> %s\n",
|
||||
fname, link_dest ));
|
||||
|
||||
if (VFS_LINK(conn,link_dest,fname) != 0)
|
||||
if (SMB_VFS_LINK(conn,link_dest,fname) != 0)
|
||||
return(UNIXERROR(ERRDOS,ERRnoaccess));
|
||||
SSVAL(params,0,0);
|
||||
send_trans2_replies(outbuf, bufsize, params, 2, *ppdata, 0);
|
||||
|
@ -93,7 +93,7 @@ int vfswrap_mkdir(vfs_handle_struct *handle, connection_struct *conn, const char
|
||||
* mess up any inherited ACL bits that were set. JRA.
|
||||
*/
|
||||
int saved_errno = errno; /* We may get ENOSYS */
|
||||
if ((VFS_CHMOD_ACL(conn, path, mode) == -1) && (errno == ENOSYS))
|
||||
if ((SMB_VFS_CHMOD_ACL(conn, path, mode) == -1) && (errno == ENOSYS))
|
||||
errno = saved_errno;
|
||||
}
|
||||
|
||||
@ -281,7 +281,7 @@ int vfswrap_chmod(vfs_handle_struct *handle, connection_struct *conn, const char
|
||||
|
||||
{
|
||||
int saved_errno = errno; /* We might get ENOSYS */
|
||||
if ((result = VFS_CHMOD_ACL(conn, path, mode)) == 0) {
|
||||
if ((result = SMB_VFS_CHMOD_ACL(conn, path, mode)) == 0) {
|
||||
END_PROFILE(syscall_chmod);
|
||||
return result;
|
||||
}
|
||||
@ -308,7 +308,7 @@ int vfswrap_fchmod(vfs_handle_struct *handle, files_struct *fsp, int fd, mode_t
|
||||
|
||||
{
|
||||
int saved_errno = errno; /* We might get ENOSYS */
|
||||
if ((result = VFS_FCHMOD_ACL(fsp, fd, mode)) == 0) {
|
||||
if ((result = SMB_VFS_FCHMOD_ACL(fsp, fd, mode)) == 0) {
|
||||
END_PROFILE(syscall_chmod);
|
||||
return result;
|
||||
}
|
||||
@ -391,14 +391,14 @@ int vfswrap_utime(vfs_handle_struct *handle, connection_struct *conn, const char
|
||||
static int strict_allocate_ftruncate(vfs_handle_struct *handle, files_struct *fsp, int fd, SMB_OFF_T len)
|
||||
{
|
||||
SMB_STRUCT_STAT st;
|
||||
SMB_OFF_T currpos = VFS_LSEEK(fsp, fd, 0, SEEK_CUR);
|
||||
SMB_OFF_T currpos = SMB_VFS_LSEEK(fsp, fd, 0, SEEK_CUR);
|
||||
unsigned char zero_space[4096];
|
||||
SMB_OFF_T space_to_write;
|
||||
|
||||
if (currpos == -1)
|
||||
return -1;
|
||||
|
||||
if (VFS_FSTAT(fsp, fd, &st) == -1)
|
||||
if (SMB_VFS_FSTAT(fsp, fd, &st) == -1)
|
||||
return -1;
|
||||
|
||||
space_to_write = len - st.st_size;
|
||||
@ -416,7 +416,7 @@ static int strict_allocate_ftruncate(vfs_handle_struct *handle, files_struct *fs
|
||||
return sys_ftruncate(fd, len);
|
||||
|
||||
/* Write out the real space on disk. */
|
||||
if (VFS_LSEEK(fsp, fd, st.st_size, SEEK_SET) != st.st_size)
|
||||
if (SMB_VFS_LSEEK(fsp, fd, st.st_size, SEEK_SET) != st.st_size)
|
||||
return -1;
|
||||
|
||||
space_to_write = len - st.st_size;
|
||||
@ -426,7 +426,7 @@ static int strict_allocate_ftruncate(vfs_handle_struct *handle, files_struct *fs
|
||||
SMB_OFF_T retlen;
|
||||
SMB_OFF_T current_len_to_write = MIN(sizeof(zero_space),space_to_write);
|
||||
|
||||
retlen = VFS_WRITE(fsp,fsp->fd,(char *)zero_space,current_len_to_write);
|
||||
retlen = SMB_VFS_WRITE(fsp,fsp->fd,(char *)zero_space,current_len_to_write);
|
||||
if (retlen <= 0)
|
||||
return -1;
|
||||
|
||||
@ -434,7 +434,7 @@ static int strict_allocate_ftruncate(vfs_handle_struct *handle, files_struct *fs
|
||||
}
|
||||
|
||||
/* Seek to where we were */
|
||||
if (VFS_LSEEK(fsp, fd, currpos, SEEK_SET) != currpos)
|
||||
if (SMB_VFS_LSEEK(fsp, fd, currpos, SEEK_SET) != currpos)
|
||||
return -1;
|
||||
|
||||
return 0;
|
||||
@ -468,7 +468,7 @@ int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, int fd, SMB_
|
||||
/* According to W. R. Stevens advanced UNIX prog. Pure 4.3 BSD cannot
|
||||
extend a file with ftruncate. Provide alternate implementation
|
||||
for this */
|
||||
currpos = VFS_LSEEK(fsp, fd, 0, SEEK_CUR);
|
||||
currpos = SMB_VFS_LSEEK(fsp, fd, 0, SEEK_CUR);
|
||||
if (currpos == -1) {
|
||||
goto done;
|
||||
}
|
||||
@ -477,7 +477,7 @@ int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, int fd, SMB_
|
||||
size in which case the ftruncate above should have
|
||||
succeeded or shorter, in which case seek to len - 1 and
|
||||
write 1 byte of zero */
|
||||
if (VFS_FSTAT(fsp, fd, &st) == -1) {
|
||||
if (SMB_VFS_FSTAT(fsp, fd, &st) == -1) {
|
||||
goto done;
|
||||
}
|
||||
|
||||
@ -498,14 +498,14 @@ int vfswrap_ftruncate(vfs_handle_struct *handle, files_struct *fsp, int fd, SMB_
|
||||
goto done;
|
||||
}
|
||||
|
||||
if (VFS_LSEEK(fsp, fd, len-1, SEEK_SET) != len -1)
|
||||
if (SMB_VFS_LSEEK(fsp, fd, len-1, SEEK_SET) != len -1)
|
||||
goto done;
|
||||
|
||||
if (VFS_WRITE(fsp, fd, &c, 1)!=1)
|
||||
if (SMB_VFS_WRITE(fsp, fd, &c, 1)!=1)
|
||||
goto done;
|
||||
|
||||
/* Seek to where we were */
|
||||
if (VFS_LSEEK(fsp, fd, currpos, SEEK_SET) != currpos)
|
||||
if (SMB_VFS_LSEEK(fsp, fd, currpos, SEEK_SET) != currpos)
|
||||
goto done;
|
||||
result = 0;
|
||||
|
||||
|
@ -320,7 +320,7 @@ BOOL vfs_directory_exist(connection_struct *conn, const char *dname, SMB_STRUCT_
|
||||
if (!st)
|
||||
st = &st2;
|
||||
|
||||
if (VFS_STAT(conn,dname,st) != 0)
|
||||
if (SMB_VFS_STAT(conn,dname,st) != 0)
|
||||
return(False);
|
||||
|
||||
ret = S_ISDIR(st->st_mode);
|
||||
@ -339,7 +339,7 @@ int vfs_MkDir(connection_struct *conn, const char *name, mode_t mode)
|
||||
int ret;
|
||||
SMB_STRUCT_STAT sbuf;
|
||||
|
||||
if(!(ret=VFS_MKDIR(conn, name, mode))) {
|
||||
if(!(ret=SMB_VFS_MKDIR(conn, name, mode))) {
|
||||
|
||||
inherit_access_acl(conn, name, mode);
|
||||
|
||||
@ -349,8 +349,8 @@ int vfs_MkDir(connection_struct *conn, const char *name, mode_t mode)
|
||||
* Consider bits automagically set by UNIX, i.e. SGID bit from parent dir.
|
||||
*/
|
||||
if(mode & ~(S_IRWXU|S_IRWXG|S_IRWXO) &&
|
||||
!VFS_STAT(conn,name,&sbuf) && (mode & ~sbuf.st_mode))
|
||||
VFS_CHMOD(conn,name,sbuf.st_mode | (mode & ~sbuf.st_mode));
|
||||
!SMB_VFS_STAT(conn,name,&sbuf) && (mode & ~sbuf.st_mode))
|
||||
SMB_VFS_CHMOD(conn,name,sbuf.st_mode | (mode & ~sbuf.st_mode));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -368,7 +368,7 @@ BOOL vfs_object_exist(connection_struct *conn,const char *fname,SMB_STRUCT_STAT
|
||||
|
||||
ZERO_STRUCTP(sbuf);
|
||||
|
||||
if (VFS_STAT(conn,fname,sbuf) == -1)
|
||||
if (SMB_VFS_STAT(conn,fname,sbuf) == -1)
|
||||
return(False);
|
||||
return True;
|
||||
}
|
||||
@ -386,7 +386,7 @@ BOOL vfs_file_exist(connection_struct *conn, const char *fname,SMB_STRUCT_STAT *
|
||||
|
||||
ZERO_STRUCTP(sbuf);
|
||||
|
||||
if (VFS_STAT(conn,fname,sbuf) == -1)
|
||||
if (SMB_VFS_STAT(conn,fname,sbuf) == -1)
|
||||
return False;
|
||||
return(S_ISREG(sbuf->st_mode));
|
||||
}
|
||||
@ -401,7 +401,7 @@ ssize_t vfs_read_data(files_struct *fsp, char *buf, size_t byte_count)
|
||||
|
||||
while (total < byte_count)
|
||||
{
|
||||
ssize_t ret = VFS_READ(fsp, fsp->fd, buf + total,
|
||||
ssize_t ret = SMB_VFS_READ(fsp, fsp->fd, buf + total,
|
||||
byte_count - total);
|
||||
|
||||
if (ret == 0) return total;
|
||||
@ -426,7 +426,7 @@ ssize_t vfs_write_data(files_struct *fsp,const char *buffer,size_t N)
|
||||
ssize_t ret;
|
||||
|
||||
while (total < N) {
|
||||
ret = VFS_WRITE(fsp,fsp->fd,buffer + total,N - total);
|
||||
ret = SMB_VFS_WRITE(fsp,fsp->fd,buffer + total,N - total);
|
||||
|
||||
if (ret == -1)
|
||||
return -1;
|
||||
@ -465,7 +465,7 @@ int vfs_allocate_file_space(files_struct *fsp, SMB_BIG_UINT len)
|
||||
return -1;
|
||||
}
|
||||
|
||||
ret = VFS_FSTAT(fsp,fsp->fd,&st);
|
||||
ret = SMB_VFS_FSTAT(fsp,fsp->fd,&st);
|
||||
if (ret == -1)
|
||||
return ret;
|
||||
|
||||
@ -479,7 +479,7 @@ int vfs_allocate_file_space(files_struct *fsp, SMB_BIG_UINT len)
|
||||
fsp->fsp_name, (double)st.st_size ));
|
||||
|
||||
flush_write_cache(fsp, SIZECHANGE_FLUSH);
|
||||
if ((ret = VFS_FTRUNCATE(fsp, fsp->fd, (SMB_OFF_T)len)) != -1) {
|
||||
if ((ret = SMB_VFS_FTRUNCATE(fsp, fsp->fd, (SMB_OFF_T)len)) != -1) {
|
||||
set_filelen_write_cache(fsp, len);
|
||||
}
|
||||
return ret;
|
||||
@ -492,7 +492,7 @@ int vfs_allocate_file_space(files_struct *fsp, SMB_BIG_UINT len)
|
||||
|
||||
len -= st.st_size;
|
||||
len /= 1024; /* Len is now number of 1k blocks needed. */
|
||||
space_avail = VFS_DISK_FREE(conn,fsp->fsp_name,False,&bsize,&dfree,&dsize);
|
||||
space_avail = SMB_VFS_DISK_FREE(conn,fsp->fsp_name,False,&bsize,&dfree,&dsize);
|
||||
|
||||
DEBUG(10,("vfs_allocate_file_space: file %s, grow. Current size %.0f, needed blocks = %.0f, space avail = %.0f\n",
|
||||
fsp->fsp_name, (double)st.st_size, (double)len, (double)space_avail ));
|
||||
@ -518,7 +518,7 @@ int vfs_set_filelen(files_struct *fsp, SMB_OFF_T len)
|
||||
release_level_2_oplocks_on_change(fsp);
|
||||
DEBUG(10,("vfs_set_filelen: ftruncate %s to len %.0f\n", fsp->fsp_name, (double)len));
|
||||
flush_write_cache(fsp, SIZECHANGE_FLUSH);
|
||||
if ((ret = VFS_FTRUNCATE(fsp, fsp->fd, len)) != -1)
|
||||
if ((ret = SMB_VFS_FTRUNCATE(fsp, fsp->fd, len)) != -1)
|
||||
set_filelen_write_cache(fsp, len);
|
||||
|
||||
return ret;
|
||||
@ -533,12 +533,12 @@ static files_struct *out_fsp;
|
||||
|
||||
static ssize_t read_fn(int fd, void *buf, size_t len)
|
||||
{
|
||||
return VFS_READ(in_fsp, fd, buf, len);
|
||||
return SMB_VFS_READ(in_fsp, fd, buf, len);
|
||||
}
|
||||
|
||||
static ssize_t write_fn(int fd, const void *buf, size_t len)
|
||||
{
|
||||
return VFS_WRITE(out_fsp, fd, buf, len);
|
||||
return SMB_VFS_WRITE(out_fsp, fd, buf, len);
|
||||
}
|
||||
|
||||
SMB_OFF_T vfs_transfer_file(files_struct *in, files_struct *out, SMB_OFF_T n)
|
||||
@ -561,7 +561,7 @@ char *vfs_readdirname(connection_struct *conn, void *p)
|
||||
if (!p)
|
||||
return(NULL);
|
||||
|
||||
ptr = (struct dirent *)VFS_READDIR(conn,p);
|
||||
ptr = (struct dirent *)SMB_VFS_READDIR(conn,p);
|
||||
if (!ptr)
|
||||
return(NULL);
|
||||
|
||||
@ -597,7 +597,7 @@ int vfs_ChDir(connection_struct *conn, const char *path)
|
||||
|
||||
DEBUG(4,("vfs_ChDir to %s\n",path));
|
||||
|
||||
res = VFS_CHDIR(conn,path);
|
||||
res = SMB_VFS_CHDIR(conn,path);
|
||||
if (!res)
|
||||
pstrcpy(LastDir,path);
|
||||
return(res);
|
||||
@ -654,7 +654,7 @@ char *vfs_GetWd(connection_struct *conn, char *path)
|
||||
*s = 0;
|
||||
|
||||
if (!use_getwd_cache)
|
||||
return(VFS_GETWD(conn,path));
|
||||
return(SMB_VFS_GETWD(conn,path));
|
||||
|
||||
/* init the cache */
|
||||
if (!getwd_cache_init) {
|
||||
@ -668,9 +668,9 @@ char *vfs_GetWd(connection_struct *conn, char *path)
|
||||
/* Get the inode of the current directory, if this doesn't work we're
|
||||
in trouble :-) */
|
||||
|
||||
if (VFS_STAT(conn, ".",&st) == -1) {
|
||||
if (SMB_VFS_STAT(conn, ".",&st) == -1) {
|
||||
DEBUG(0,("Very strange, couldn't stat \".\" path=%s\n", path));
|
||||
return(VFS_GETWD(conn,path));
|
||||
return(SMB_VFS_GETWD(conn,path));
|
||||
}
|
||||
|
||||
|
||||
@ -684,7 +684,7 @@ char *vfs_GetWd(connection_struct *conn, char *path)
|
||||
the same...) */
|
||||
|
||||
if (st.st_ino == ino_list[i].inode && st.st_dev == ino_list[i].dev) {
|
||||
if (VFS_STAT(conn,ino_list[i].dos_path,&st2) == 0) {
|
||||
if (SMB_VFS_STAT(conn,ino_list[i].dos_path,&st2) == 0) {
|
||||
if (st.st_ino == st2.st_ino && st.st_dev == st2.st_dev &&
|
||||
(st2.st_mode & S_IFMT) == S_IFDIR) {
|
||||
pstrcpy (path, ino_list[i].dos_path);
|
||||
@ -706,8 +706,8 @@ char *vfs_GetWd(connection_struct *conn, char *path)
|
||||
The very slow getcwd, which spawns a process on some systems, or the
|
||||
not quite so bad getwd. */
|
||||
|
||||
if (!VFS_GETWD(conn,s)) {
|
||||
DEBUG(0,("vfs_GetWd: VFS_GETWD call failed, errno %s\n",strerror(errno)));
|
||||
if (!SMB_VFS_GETWD(conn,s)) {
|
||||
DEBUG(0,("vfs_GetWd: SMB_VFS_GETWD call failed, errno %s\n",strerror(errno)));
|
||||
return (NULL);
|
||||
}
|
||||
|
||||
@ -763,7 +763,7 @@ static BOOL readlink_check(connection_struct *conn, const char *dir, char *name)
|
||||
realdir[reallen] = 0;
|
||||
}
|
||||
|
||||
if (VFS_READLINK(conn, name, flink, sizeof(pstring) -1) != -1) {
|
||||
if (SMB_VFS_READLINK(conn, name, flink, sizeof(pstring) -1) != -1) {
|
||||
DEBUG(3,("reduce_name: file path name %s is a symlink\nChecking it's path\n", name));
|
||||
if (*flink == '/') {
|
||||
pstrcpy(cleanlink, flink);
|
||||
|
@ -94,13 +94,13 @@ static NTSTATUS cmd_show_data(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int ar
|
||||
|
||||
static NTSTATUS cmd_connect(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
|
||||
{
|
||||
VFS_CONNECT(vfs->conn, lp_servicename(vfs->conn->service), "vfstest");
|
||||
SMB_VFS_CONNECT(vfs->conn, lp_servicename(vfs->conn->service), "vfstest");
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
static NTSTATUS cmd_disconnect(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
|
||||
{
|
||||
VFS_DISCONNECT(vfs->conn);
|
||||
SMB_VFS_DISCONNECT(vfs->conn);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
@ -112,7 +112,7 @@ static NTSTATUS cmd_disk_free(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int ar
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
diskfree = VFS_DISK_FREE(vfs->conn, argv[1], False, &bsize, &dfree, &dsize);
|
||||
diskfree = SMB_VFS_DISK_FREE(vfs->conn, argv[1], False, &bsize, &dfree, &dsize);
|
||||
printf("disk_free: %lu, bsize = %lu, dfree = %lu, dsize = %lu\n",
|
||||
(unsigned long)diskfree,
|
||||
(unsigned long)bsize,
|
||||
@ -129,7 +129,7 @@ static NTSTATUS cmd_opendir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
vfs->currentdir = VFS_OPENDIR(vfs->conn, argv[1]);
|
||||
vfs->currentdir = SMB_VFS_OPENDIR(vfs->conn, argv[1]);
|
||||
if (vfs->currentdir == NULL) {
|
||||
printf("opendir error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -149,7 +149,7 @@ static NTSTATUS cmd_readdir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
dent = VFS_READDIR(vfs->conn, vfs->currentdir);
|
||||
dent = SMB_VFS_READDIR(vfs->conn, vfs->currentdir);
|
||||
if (dent == NULL) {
|
||||
printf("readdir: NULL\n");
|
||||
return NT_STATUS_OK;
|
||||
@ -167,7 +167,7 @@ static NTSTATUS cmd_mkdir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_MKDIR(vfs->conn, argv[1], 00755) == -1) {
|
||||
if (SMB_VFS_MKDIR(vfs->conn, argv[1], 00755) == -1) {
|
||||
printf("mkdir error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -186,7 +186,7 @@ static NTSTATUS cmd_closedir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int arg
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
ret = VFS_CLOSEDIR(vfs->conn, vfs->currentdir);
|
||||
ret = SMB_VFS_CLOSEDIR(vfs->conn, vfs->currentdir);
|
||||
if (ret == -1) {
|
||||
printf("closedir failure: %s\n", strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -278,7 +278,7 @@ static NTSTATUS cmd_open(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
|
||||
}
|
||||
}
|
||||
|
||||
fd = VFS_OPEN(vfs->conn, argv[1], flags, mode);
|
||||
fd = SMB_VFS_OPEN(vfs->conn, argv[1], flags, mode);
|
||||
if (fd == -1) {
|
||||
printf("open: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -303,11 +303,11 @@ static NTSTATUS cmd_pathfunc(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int arg
|
||||
}
|
||||
|
||||
if (strcmp("rmdir", argv[0]) == 0 ) {
|
||||
ret = VFS_RMDIR(vfs->conn, argv[1]);
|
||||
ret = SMB_VFS_RMDIR(vfs->conn, argv[1]);
|
||||
} else if (strcmp("unlink", argv[0]) == 0 ) {
|
||||
ret = VFS_UNLINK(vfs->conn, argv[1]);
|
||||
ret = SMB_VFS_UNLINK(vfs->conn, argv[1]);
|
||||
} else if (strcmp("chdir", argv[0]) == 0 ) {
|
||||
ret = VFS_CHDIR(vfs->conn, argv[1]);
|
||||
ret = SMB_VFS_CHDIR(vfs->conn, argv[1]);
|
||||
} else {
|
||||
printf("%s: error=%d (invalid function name!)\n", argv[0], errno);
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -338,7 +338,7 @@ static NTSTATUS cmd_close(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
ret = VFS_CLOSE(vfs->files[fd], fd);
|
||||
ret = SMB_VFS_CLOSE(vfs->files[fd], fd);
|
||||
if (ret == -1 )
|
||||
printf("close: error=%d (%s)\n", errno, strerror(errno));
|
||||
else
|
||||
@ -371,7 +371,7 @@ static NTSTATUS cmd_read(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
|
||||
}
|
||||
vfs->data_size = size;
|
||||
|
||||
rsize = VFS_READ(vfs->files[fd], fd, vfs->data, size);
|
||||
rsize = SMB_VFS_READ(vfs->files[fd], fd, vfs->data, size);
|
||||
if (rsize == -1) {
|
||||
printf("read: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -404,7 +404,7 @@ static NTSTATUS cmd_write(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
wsize = VFS_WRITE(vfs->files[fd], fd, vfs->data, size);
|
||||
wsize = SMB_VFS_WRITE(vfs->files[fd], fd, vfs->data, size);
|
||||
|
||||
if (wsize == -1) {
|
||||
printf("write: error=%d (%s)\n", errno, strerror(errno));
|
||||
@ -435,7 +435,7 @@ static NTSTATUS cmd_lseek(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
default: whence = SEEK_END;
|
||||
}
|
||||
|
||||
pos = VFS_LSEEK(vfs->files[fd], fd, offset, whence);
|
||||
pos = SMB_VFS_LSEEK(vfs->files[fd], fd, offset, whence);
|
||||
if (pos == (SMB_OFF_T)-1) {
|
||||
printf("lseek: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -454,7 +454,7 @@ static NTSTATUS cmd_rename(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
ret = VFS_RENAME(vfs->conn, argv[1], argv[2]);
|
||||
ret = SMB_VFS_RENAME(vfs->conn, argv[1], argv[2]);
|
||||
if (ret == -1) {
|
||||
printf("rename: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -474,7 +474,7 @@ static NTSTATUS cmd_fsync(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
}
|
||||
|
||||
fd = atoi(argv[1]);
|
||||
ret = VFS_FSYNC(vfs->files[fd], fd);
|
||||
ret = SMB_VFS_FSYNC(vfs->files[fd], fd);
|
||||
if (ret == -1) {
|
||||
printf("fsync: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -499,7 +499,7 @@ static NTSTATUS cmd_stat(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
ret = VFS_STAT(vfs->conn, argv[1], &st);
|
||||
ret = SMB_VFS_STAT(vfs->conn, argv[1], &st);
|
||||
if (ret == -1) {
|
||||
printf("stat: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
@ -563,7 +563,7 @@ static NTSTATUS cmd_fstat(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_FSTAT(vfs->files[fd], fd, &st) == -1) {
|
||||
if (SMB_VFS_FSTAT(vfs->files[fd], fd, &st) == -1) {
|
||||
printf("fstat: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -613,7 +613,7 @@ static NTSTATUS cmd_lstat(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_LSTAT(vfs->conn, argv[1], &st) == -1) {
|
||||
if (SMB_VFS_LSTAT(vfs->conn, argv[1], &st) == -1) {
|
||||
printf("lstat: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -659,7 +659,7 @@ static NTSTATUS cmd_chmod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
}
|
||||
|
||||
mode = atoi(argv[2]);
|
||||
if (VFS_CHMOD(vfs->conn, argv[1], mode) == -1) {
|
||||
if (SMB_VFS_CHMOD(vfs->conn, argv[1], mode) == -1) {
|
||||
printf("chmod: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -689,7 +689,7 @@ static NTSTATUS cmd_fchmod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_FCHMOD(vfs->files[fd], fd, mode) == -1) {
|
||||
if (SMB_VFS_FCHMOD(vfs->files[fd], fd, mode) == -1) {
|
||||
printf("fchmod: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -710,7 +710,7 @@ static NTSTATUS cmd_chown(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
|
||||
uid = atoi(argv[2]);
|
||||
gid = atoi(argv[3]);
|
||||
if (VFS_CHOWN(vfs->conn, argv[1], uid, gid) == -1) {
|
||||
if (SMB_VFS_CHOWN(vfs->conn, argv[1], uid, gid) == -1) {
|
||||
printf("chown: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -741,7 +741,7 @@ static NTSTATUS cmd_fchown(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
printf("fchown: error=%d (invalid file descriptor)\n", EBADF);
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
if (VFS_FCHOWN(vfs->files[fd], fd, uid, gid) == -1) {
|
||||
if (SMB_VFS_FCHOWN(vfs->files[fd], fd, uid, gid) == -1) {
|
||||
printf("fchown error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -754,7 +754,7 @@ static NTSTATUS cmd_fchown(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
static NTSTATUS cmd_getwd(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv)
|
||||
{
|
||||
char buf[PATH_MAX];
|
||||
if (VFS_GETWD(vfs->conn, buf) == NULL) {
|
||||
if (SMB_VFS_GETWD(vfs->conn, buf) == NULL) {
|
||||
printf("getwd: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -772,7 +772,7 @@ static NTSTATUS cmd_utime(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
}
|
||||
times.actime = atoi(argv[2]);
|
||||
times.modtime = atoi(argv[3]);
|
||||
if (VFS_UTIME(vfs->conn, argv[1], ×) != 0) {
|
||||
if (SMB_VFS_UTIME(vfs->conn, argv[1], ×) != 0) {
|
||||
printf("utime: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -801,7 +801,7 @@ static NTSTATUS cmd_ftruncate(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int ar
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_FTRUNCATE(vfs->files[fd], fd, off) == -1) {
|
||||
if (SMB_VFS_FTRUNCATE(vfs->files[fd], fd, off) == -1) {
|
||||
printf("ftruncate: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -884,7 +884,7 @@ static NTSTATUS cmd_lock(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
|
||||
|
||||
printf("lock: debug lock(fd=%d, op=%d, offset=%ld, count=%ld, type=%d))\n", fd, op, offset, count, type);
|
||||
|
||||
if ((ret = VFS_LOCK(vfs->files[fd], fd, op, offset, count, type)) == False) {
|
||||
if ((ret = SMB_VFS_LOCK(vfs->files[fd], fd, op, offset, count, type)) == False) {
|
||||
printf("lock: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -900,7 +900,7 @@ static NTSTATUS cmd_symlink(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_SYMLINK(vfs->conn, argv[1], argv[2]) == -1) {
|
||||
if (SMB_VFS_SYMLINK(vfs->conn, argv[1], argv[2]) == -1) {
|
||||
printf("symlink: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -920,7 +920,7 @@ static NTSTATUS cmd_readlink(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int arg
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if ((size = VFS_READLINK(vfs->conn, argv[1], buffer, PATH_MAX)) == -1) {
|
||||
if ((size = SMB_VFS_READLINK(vfs->conn, argv[1], buffer, PATH_MAX)) == -1) {
|
||||
printf("readlink: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -938,7 +938,7 @@ static NTSTATUS cmd_link(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, c
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_LINK(vfs->conn, argv[1], argv[2]) == -1) {
|
||||
if (SMB_VFS_LINK(vfs->conn, argv[1], argv[2]) == -1) {
|
||||
printf("link: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -971,7 +971,7 @@ static NTSTATUS cmd_mknod(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc,
|
||||
}
|
||||
dev = (SMB_DEV_T)dev_val;
|
||||
|
||||
if (VFS_MKNOD(vfs->conn, argv[1], mode, dev) == -1) {
|
||||
if (SMB_VFS_MKNOD(vfs->conn, argv[1], mode, dev) == -1) {
|
||||
printf("mknod: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
@ -989,7 +989,7 @@ static NTSTATUS cmd_realpath(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int arg
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
||||
if (VFS_REALPATH(vfs->conn, argv[1], respath) == NULL) {
|
||||
if (SMB_VFS_REALPATH(vfs->conn, argv[1], respath) == NULL) {
|
||||
printf("realpath: error=%d (%s)\n", errno, strerror(errno));
|
||||
return NT_STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user