From e0e4dc1c2282253cfaac5bae39b75361d13c843e Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 29 Nov 2010 18:09:49 +0100 Subject: s3: Add shadow copy info to smbclient allinfo Autobuild-User: Volker Lendecke Autobuild-Date: Tue Nov 30 12:23:50 CET 2010 on sn-devel-104 --- source3/client/client.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'source3/client') diff --git a/source3/client/client.c b/source3/client/client.c index 062809d1b6..b3bbcf5cd7 100644 --- a/source3/client/client.c +++ b/source3/client/client.c @@ -1633,8 +1633,11 @@ static int do_allinfo(const char *name) uint16_t mode; SMB_INO_T ino; NTTIME tmp; + uint16_t fnum; unsigned int num_streams; struct stream_struct *streams; + int num_snapshots; + char **snapshots; unsigned int i; NTSTATUS status; @@ -1681,6 +1684,49 @@ static int do_allinfo(const char *name) (unsigned long long)streams[i].size); } + status = cli_open(cli, name, O_RDONLY, DENY_NONE, &fnum); + if (!NT_STATUS_IS_OK(status)) { + /* + * Ignore failure, it does not hurt if we can't list + * snapshots + */ + return 0; + } + status = cli_shadow_copy_data(talloc_tos(), cli, fnum, + true, &snapshots, &num_snapshots); + if (!NT_STATUS_IS_OK(status)) { + cli_close(cli, fnum); + return 0; + } + + for (i=0; i