diff options
Diffstat (limited to 'source3')
-rw-r--r-- | source3/configure.in | 3 | ||||
-rw-r--r-- | source3/modules/vfs_default.c | 4 | ||||
-rwxr-xr-x | source3/script/tests/test_posix_s3.sh | 7 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 6 |
4 files changed, 17 insertions, 3 deletions
diff --git a/source3/configure.in b/source3/configure.in index eae5fcac13..9cbb37debb 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1225,7 +1225,8 @@ fi AC_CHECK_FUNCS(waitpid getcwd strdup strndup strnlen strerror chown fchown chmod fchmod chroot link mknod mknod64) AC_CHECK_FUNCS(strtol strtoll strtoul strtoull strtouq __strtoull) -AC_CHECK_FUNCS(fstat strchr utime utimes getrlimit fsync memset strlcpy strlcat setpgid) +AC_CHECK_FUNCS(fstat strchr utime utimes chflags) +AC_CHECK_FUNCS(getrlimit fsync memset strlcpy strlcat setpgid) AC_CHECK_FUNCS(memmove vsnprintf snprintf asprintf vasprintf setsid glob strpbrk pipe crypt16 getauthuid) AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction sigset innetgr setnetgrent getnetgrent endnetgrent) AC_CHECK_FUNCS(initgroups select poll rdchk getgrnam getgrent pathconf realpath) diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index 4febc064d9..67e615ec23 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -905,8 +905,12 @@ static NTSTATUS vfswrap_notify_watch(vfs_handle_struct *vfs_handle, static int vfswrap_chflags(vfs_handle_struct *handle, const char *path, int flags) { +#ifdef HAVE_CHFLAGS + return chflags(path, flags); +#else errno = ENOSYS; return -1; +#endif } static size_t vfswrap_fget_nt_acl(vfs_handle_struct *handle, files_struct *fsp, int fd, uint32 security_info, SEC_DESC **ppdesc) diff --git a/source3/script/tests/test_posix_s3.sh b/source3/script/tests/test_posix_s3.sh index a56032c7f4..415d71fdee 100755 --- a/source3/script/tests/test_posix_s3.sh +++ b/source3/script/tests/test_posix_s3.sh @@ -36,11 +36,16 @@ raw="$raw RAW-SAMBA3HIDE RAW-SAMBA3BADPATH" rpc="RPC-AUTHCONTEXT RPC-BINDSAMBA3 RPC-SAMBA3-SRVSVC RPC-SAMBA3-SHARESEC" rpc="$rpc RPC-UNIXINFO RPC-SAMBA3-SPOOLSS RPC-SAMBA3-WKSSVC" +# NOTE: to enable the UNIX-WHOAMI test, we need to change the default share +# config to allow guest access. I'm not sure whether this would break other +# tests, so leaving it alone for now -- jpeach +unix="UNIX-INFO2" + if test x$RUN_FROM_BUILD_FARM = xyes; then rpc="$rpc RPC-NETLOGSAMBA3 RPC-SAMBA3SESSIONKEY RPC-SAMBA3-GETUSERNAME" fi -tests="$base $raw $rpc" +tests="$base $raw $rpc $unix" skipped="BASE-CHARSET BASE-DEFER_OPEN BASE-DELAYWRITE BASE-OPENATTR BASE-TCONDEV" skipped="$skipped RAW-ACLS RAW-COMPOSITE RAW-CONTEXT RAW-EAS" diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 1c1606fd67..14dfbe0bbf 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1601,13 +1601,17 @@ static BOOL get_lanman2_dir_entry(connection_struct *conn, DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX\n")); p = store_file_unix_basic(conn, p, NULL, &sbuf); + len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE); } else { DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX_INFO2\n")); p = store_file_unix_basic_info2(conn, p, NULL, &sbuf); + nameptr = p; + p += 4; + len = srvstr_push(outbuf, p, fname, -1, 0); + SIVAL(nameptr, 0, len); } - len = srvstr_push(outbuf, p, fname, -1, STR_TERMINATE); p += len; SIVAL(p,0,0); /* Ensure any padding is null. */ |