diff options
author | Volker Lendecke <vl@samba.org> | 2011-06-30 15:26:21 +0200 |
---|---|---|
committer | Volker Lendecke <vl@samba.org> | 2011-07-03 11:31:29 +0200 |
commit | e2498b1110d260c917be3f938c11f68e6b6c80e4 (patch) | |
tree | 60dad61c51f5bacce70d51e751030448766263de | |
parent | 79d27e28ad27b61169689586ca1cd30050c5ce1f (diff) | |
download | samba-e2498b1110d260c917be3f938c11f68e6b6c80e4.tar.gz samba-e2498b1110d260c917be3f938c11f68e6b6c80e4.tar.bz2 samba-e2498b1110d260c917be3f938c11f68e6b6c80e4.zip |
s3: Read symlink information in smbclient "allinfo"
-rw-r--r-- | source3/client/client.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/source3/client/client.c b/source3/client/client.c index 207147c6d0..94c7e98ab3 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -1716,6 +1716,23 @@ static int do_allinfo(const char *name) (unsigned long long)streams[i].size); } + if (mode & FILE_ATTRIBUTE_REPARSE_POINT) { + char *subst, *print; + uint32_t flags; + + status = cli_readlink(cli, name, talloc_tos(), &subst, &print, + &flags); + if (!NT_STATUS_IS_OK(status)) { + d_fprintf(stderr, "cli_readlink returned %s\n", + nt_errstr(status)); + } else { + d_printf("symlink: subst=[%s], print=[%s], flags=%x\n", + subst, print, flags); + TALLOC_FREE(subst); + TALLOC_FREE(print); + } + } + status = cli_ntcreate(cli, name, 0, CREATE_ACCESS_READ, 0, FILE_SHARE_READ|FILE_SHARE_WRITE |