[PATCH] FSRVP client support

David Disseldorp ddiss at suse.de
Tue Apr 3 10:36:13 MDT 2012


Hi,

The following patch set adds support for the File Server Remote VSS
Protocl (MS-FSRVP) to rpcclient.

FSRVP support is new to Windows Server "8" Beta, and allows an SMB
client to request the creation and exposure of a share shadow-copy
(snapshot) via a dcerpc request to the FssagentRpc named pipe.
Windows Server "8" Beta FSRVP setup instructions are briefly documented
on on page 19 of:
http://download.microsoft.com/download/6/7/6/676CCB32-8ECC-4793-A698-68D0AFD2F1A9/WS8%20Beta%20Storage%20and%20Availability%20White%20Paper.pdf

Once the server is configured, rpcclient can be used as follows:

ddiss at plati:~> bin/rpcclient -k -U 'DOM\administrator%pw' ncacn_np:lutze[sign]

rpcclient $> fss_create_expose backup ro hyper
fa6215e3-8207-40c0-a75b-1336cf0b2285: shadow-copy set created
fa6215e3-8207-40c0-a75b-1336cf0b2285(bf6037df-e6f0-4f4b-96ff-68223060c2a8): \\lutze\hyper shadow-copy added to set
fa6215e3-8207-40c0-a75b-1336cf0b2285: prepare completed in 63 secs
fa6215e3-8207-40c0-a75b-1336cf0b2285: commit completed in 48 secs
fa6215e3-8207-40c0-a75b-1336cf0b2285(bf6037df-e6f0-4f4b-96ff-68223060c2a8): share hyper@{BF6037DF-E6F0-4F4B-96FF-68223060C2A8} exposed as a snapshot of \\lutze\hyper

rpcclient $> netshareenum
netname: hyper
        remark: shadow-copy able ReFS share
        path:   E:\Shares\hyper
...
netname: hyper@{BF6037DF-E6F0-4F4B-96FF-68223060C2A8}
        remark: (null)
        path:   \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy{C767E48E-7C1A-11E1-B9F0-B8AC6F927453}\Shares\hyper\

rpcclient $> fss_delete hyper fa6215e3-8207-40c0-a75b-1336cf0b2285 bf6037df-e6f0-4f4b-96ff-68223060c2a8
fa6215e3-8207-40c0-a75b-1336cf0b2285(bf6037df-e6f0-4f4b-96ff-68223060c2a8): \\lutze\hyper shadow-copy deleted

A number of smbtorture tests are also added, in preparation for FSRVP
server support.

"pidl: remove alignment pull at ParseStructPullPrimitives tail" is
included as a workaround for NDR64 dcerpc_bind_ack unmarshalling
problems, it is likely incorrect.

Feedback welcome.

Cheers, David

http://git.samba.org/?p=ddiss/samba.git;a=shortlog;h=refs/heads/mstr_fsrvp_client

The following changes since commit 22a6497526812becab60f8e49ab13d9155986ae1:

  s3: Enhance the dbwrap needed x attempts msg (2012-04-03 15:17:11 +0200)

are available in the git repository at:
  git://git.samba.org/ddiss/samba.git mstr_fsrvp_client

David Disseldorp (6):
      idl: add File Server Remote VSS Protocol idl
      s4-torture: fsrvp test suite
      pidl: remove alignment pull at ParseStructPullPrimitives tail
      s3-rpcclient: add fsrvp commands
      doc: add FSRVP commands to rpcclient man page
      selftest: do not run samba4.rpc.fsrvp tests

 docs-xml/manpages-3/rpcclient.1.xml      |   15 +
 librpc/idl/fsrvp.idl                     |  113 +++++
 librpc/idl/wscript_build                 |    4 +-
 librpc/wscript_build                     |   12 +-
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm |    2 -
 selftest/skip                            |    1 +
 source3/Makefile.in                      |    8 +-
 source3/librpc/rpc/rpc_common.c          |    4 +
 source3/rpcclient/cmd_fss.c              |  655 ++++++++++++++++++++++++++++++
 source3/rpcclient/rpcclient.c            |    2 +
 source3/wscript_build                    |    3 +-
 source4/torture/rpc/fsrvp.c              |  535 ++++++++++++++++++++++++
 source4/torture/rpc/rpc.c                |    1 +
 source4/torture/wscript_build            |    4 +-
 14 files changed, 1349 insertions(+), 10 deletions(-)
 create mode 100644 librpc/idl/fsrvp.idl
 create mode 100644 source3/rpcclient/cmd_fss.c
 create mode 100644 source4/torture/rpc/fsrvp.c


More information about the samba-technical mailing list