diff options
author | Jeremy Allison <jra@samba.org> | 2001-06-29 22:32:24 +0000 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2001-06-29 22:32:24 +0000 |
commit | c24e6b41ea60ab4bac2fcd19da947851d6df3c7c (patch) | |
tree | f3b2b2e323f02131190892dab2748bc0000c3c6d /source/smbd/vfs-wrap.c | |
parent | 001e9b7b540f04c80ba65c879aaa41acddc86f3e (diff) | |
download | samba-c24e6b41ea60ab4bac2fcd19da947851d6df3c7c.tar.gz |
Ensured all the system calls in msdfs.c go through the vfs layer.
Added vfs calls to symlink() and readlink() with appropriate configure
checks.
Jeremy.
Diffstat (limited to 'source/smbd/vfs-wrap.c')
-rw-r--r-- | source/smbd/vfs-wrap.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/source/smbd/vfs-wrap.c b/source/smbd/vfs-wrap.c index da8484e14ee..a0b4966c596 100644 --- a/source/smbd/vfs-wrap.c +++ b/source/smbd/vfs-wrap.c @@ -558,6 +558,38 @@ BOOL vfswrap_lock(files_struct *fsp, int fd, int op, SMB_OFF_T offset, SMB_OFF_T return result; } +int vfswrap_symlink(connection_struct *conn, const char *oldpath, const char *newpath) +{ + int result; + + START_PROFILE(syscall_symlink); + +#ifdef VFS_CHECK_NULL + if ((oldpath == NULL) || (newpath == NULL)) + smb_panic("NULL pointer passed to vfswrap_symlink()\n"); +#endif + + result = sys_symlink(oldpath, newpath); + END_PROFILE(syscall_symlink); + return result; +} + +int vfswrap_readlink(connection_struct *conn, const char *path, char *buf, size_t bufsiz) +{ + int result; + + START_PROFILE(syscall_readlink); + +#ifdef VFS_CHECK_NULL + if ((path == NULL) || (buf == NULL)) + smb_panic("NULL pointer passed to vfswrap_readlink()\n"); +#endif + + result = sys_readlink(path, buf, bufsiz); + END_PROFILE(syscall_readlink); + return result; +} + size_t vfswrap_fget_nt_acl(files_struct *fsp, int fd, SEC_DESC **ppdesc) { return get_nt_acl(fsp, ppdesc); |