diff options
author | Jeremy Allison <jra@samba.org> | 2009-05-08 11:31:34 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2009-05-08 11:39:05 -0700 |
commit | 3d6f4a7af7b91d9f9ac9fd0b00af63bb23e371f7 (patch) | |
tree | 3f5c0bc15c8c95eff144cc0c3bf3279becd417f7 /source3 | |
parent | f47b220ce1bd8632205679bbba8f679f4470360b (diff) | |
download | samba-3d6f4a7af7b91d9f9ac9fd0b00af63bb23e371f7.tar.gz samba-3d6f4a7af7b91d9f9ac9fd0b00af63bb23e371f7.tar.bz2 samba-3d6f4a7af7b91d9f9ac9fd0b00af63bb23e371f7.zip |
Fix bug #6330 - DFS doesn't work on AIX. Jeremy.
Diffstat (limited to 'source3')
-rw-r--r-- | source3/configure.in | 10 | ||||
-rw-r--r-- | source3/smbd/msdfs.c | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/source3/configure.in b/source3/configure.in index b532372bfd..b6cdcc86ad 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -5703,6 +5703,16 @@ fi AC_HAVE_DECL(splice, [#include <fcntl.h>]) +############################################ +# See if we have the a broken readlink syscall. + +AC_CACHE_CHECK([for a broken readlink syscall],samba_cv_HAVE_BROKEN_READLINK,[ +AC_TRY_RUN([#include "${srcdir-.}/../tests/readlink.c"], + samba_cv_HAVE_BROKEN_READLINK=no,samba_cv_HAVE_BROKEN_READLINK=yes,samba_cv_HAVE_BROKEN_READLINK=cross) +]) +if test x"$samba_cv_HAVE_BROKEN_READLINK" = x"yes"; then + AC_DEFINE(HAVE_BROKEN_READLINK,1,[Whether the readlink syscall is broken]) +fi ################################################# # Check whether winbind is supported on this platform. If so we need to diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index 7bd32e8280..efbc05ceb0 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -413,7 +413,11 @@ static bool is_msdfs_link_internal(TALLOC_CTX *ctx, { SMB_STRUCT_STAT st; int referral_len = 0; +#if defined(HAVE_BROKEN_READLINK) + char link_target_buf[PATH_MAX]; +#else char link_target_buf[7]; +#endif size_t bufsize = 0; char *link_target = NULL; |