mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
b6e034069f
The Samba fss_agent RPC server is an implementation of the File Server Remote VSS (Volume Shadow Copy Service) Protocol, or FSRVP for short. FSRVP is new with Windows Server 2012, and allows authenticated clients to remotely request the creation, exposure and deletion of share snapshots. The fss_agent RPC server processes requests on the FssAgentRpc named pipe, and dispatches relevant snapshot creation and deletion requests through to the VFS. The registry smb.conf back-end is used to expose snapshot shares, with configuration parameters and share ACLs cloned from the base share. There are three FSRVP client implementations that I'm aware of: - Samba rpcclient includes fss_X commands. - Windows Server 2012 includes diskshadow.exe. - System Center 2012. FSRVP operations are only processed for users with: - Built-in Administrators group membership, or - Built-in Backup Operators group membership, or - Backup Operator privileges, or - Security token matches the initial process UID MS-FSRVP specifies that server state should be stored persistently during operation and retrieved on startup. Use the existing fss_srv.tdb FSRVP state storage back-end to satisfy this requirement. Signed-off-by: David Disseldorp <ddiss@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
176 lines
6.1 KiB
Python
Executable File
176 lines
6.1 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
### RPC_SERVER
|
|
bld.SAMBA3_SUBSYSTEM('rpc',
|
|
source='',
|
|
deps='RPC_PIPE_REGISTER')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_CONFIG',
|
|
source='rpc_config.c',
|
|
deps='talloc')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_NCACN_NP',
|
|
source='rpc_ncacn_np.c rpc_handles.c rpc_contexts.c',
|
|
deps='RPC_CONFIG auth auth_sam_reply RPC_PIPE_REGISTER npa_tstream')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SERVER_LOOP',
|
|
source='rpc_server.c',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_CRYPTO',
|
|
source='dcesrv_auth_generic.c',
|
|
deps = 'KRB5_PAC')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_PIPE_REGISTER',
|
|
source='srv_pipe_register.c',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('SRV_ACCESS_CHECK',
|
|
source='srv_access_check.c',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SERVER',
|
|
source='srv_pipe_hnd.c srv_pipe.c',
|
|
deps='''
|
|
RPC_CONFIG
|
|
RPC_NCACN_NP
|
|
RPC_SERVER_LOOP
|
|
RPC_CRYPTO
|
|
NDR_NAMED_PIPE_AUTH
|
|
''')
|
|
|
|
### RPC_SERVICES
|
|
bld.SAMBA3_SUBSYSTEM('RPC_DSSETUP',
|
|
source='''dssetup/srv_dssetup_nt.c
|
|
../../librpc/gen_ndr/srv_dssetup.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_EPMAPPER',
|
|
source='''epmapper/srv_epmapper.c
|
|
../../librpc/gen_ndr/srv_epmapper.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_FSS_STATE',
|
|
source='''fss/srv_fss_state.c''',
|
|
deps='samba-util NDR_FSRVP_STATE')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_FSS_AGENT',
|
|
source='''fss/srv_fss_agent.c
|
|
../../librpc/gen_ndr/srv_fsrvp.c''',
|
|
deps='samba-util RPC_FSS_STATE')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_EVENTLOG',
|
|
source='''eventlog/srv_eventlog_nt.c
|
|
eventlog/srv_eventlog_reg.c
|
|
../../librpc/gen_ndr/srv_eventlog.c''',
|
|
deps='LIBEVENTLOG LIBCLI_WINREG_INTERNAL')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_INITSHUTDOWN',
|
|
source='''initshutdown/srv_initshutdown_nt.c
|
|
../../librpc/gen_ndr/srv_initshutdown.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_LSARPC',
|
|
source='''lsa/srv_lsa_nt.c
|
|
../../librpc/gen_ndr/srv_lsa.c''',
|
|
deps='SRV_ACCESS_CHECK LIBLSA')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_NETDFS',
|
|
source='''dfs/srv_dfs_nt.c
|
|
../../librpc/gen_ndr/srv_dfs.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_NETLOGON',
|
|
source='''netlogon/srv_netlog_nt.c
|
|
../../librpc/gen_ndr/srv_netlogon.c''')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_NTSVCS',
|
|
source='''ntsvcs/srv_ntsvcs_nt.c
|
|
../../librpc/gen_ndr/srv_ntsvcs.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_RPCECHO',
|
|
source='''echo/srv_echo_nt.c
|
|
../../librpc/gen_ndr/srv_echo.c''',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SAMR',
|
|
source='''samr/srv_samr_nt.c
|
|
samr/srv_samr_util.c
|
|
samr/srv_samr_chgpasswd.c
|
|
../../librpc/gen_ndr/srv_samr.c''',
|
|
deps='PLAINTEXT_AUTH SRV_ACCESS_CHECK')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SPOOLSS',
|
|
source='''spoolss/srv_spoolss_nt.c
|
|
../../librpc/gen_ndr/srv_spoolss.c
|
|
spoolss/srv_spoolss_util.c''',
|
|
deps='PRINTING PRINTBACKEND LIBCLI_WINREG_INTERNAL')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SRVSVC',
|
|
source='''srvsvc/srv_srvsvc_nt.c
|
|
../../librpc/gen_ndr/srv_srvsvc.c''',
|
|
deps='samba-util tdb')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SVCCTL',
|
|
source='''svcctl/srv_svcctl_nt.c
|
|
svcctl/srv_svcctl_reg.c
|
|
../../librpc/gen_ndr/srv_svcctl.c''',
|
|
deps='SERVICES LIBCLI_WINREG_INTERNAL')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_WINREG',
|
|
source='''winreg/srv_winreg_nt.c
|
|
../../librpc/gen_ndr/srv_winreg.c''',
|
|
deps='REG_FULL REGFIO REG_API_REGF NDR_PERFCOUNT')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_WKSSVC',
|
|
source='''wkssvc/srv_wkssvc_nt.c
|
|
../../librpc/gen_ndr/srv_wkssvc.c''',
|
|
deps='LIBNET')
|
|
|
|
# RPC_SERVICE
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SERVER_REGISTER',
|
|
source='rpc_ep_register.c ../librpc/rpc/dcerpc_ep.c',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SERVICE',
|
|
source='rpc_service_setup.c',
|
|
deps='''
|
|
RPC_SERVER
|
|
RPC_SERVER_REGISTER
|
|
RPC_SAMR
|
|
RPC_LSARPC
|
|
RPC_WINREG
|
|
RPC_INITSHUTDOWN
|
|
RPC_DSSETUP
|
|
RPC_WKSSVC
|
|
RPC_SVCCTL
|
|
RPC_NTSVCS
|
|
RPC_NETLOGON
|
|
RPC_NETDFS
|
|
RPC_SRVSVC
|
|
RPC_SPOOLSS
|
|
RPC_EVENTLOG
|
|
RPC_RPCECHO
|
|
RPC_SERVER
|
|
RPC_EPMAPPER
|
|
RPC_FSS_AGENT
|
|
''')
|
|
|
|
# RPC_DAEMONS
|
|
bld.SAMBA3_SUBSYSTEM('RPC_SOCK_HELPER',
|
|
source='rpc_sock_helper.c',
|
|
deps='RPC_SERVER_REGISTER')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('EPMD',
|
|
source='epmd.c',
|
|
deps='samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('LSASD',
|
|
source='lsasd.c',
|
|
deps='RPC_SOCK_HELPER samba-util')
|
|
|
|
bld.SAMBA3_SUBSYSTEM('FSSD',
|
|
source='fssd.c',
|
|
deps='samba-util')
|