config SMB_SERVER
	tristate "SMB3 server support"
	depends on INET
	depends on MULTIUSER
	depends on FILE_LOCKING
	select NLS
	select NLS_UTF8
	select NLS_UCS2_UTILS
	select CRYPTO
	select CRYPTO_MD5
	select CRYPTO_HMAC
	select CRYPTO_ECB
	select CRYPTO_LIB_DES
	select CRYPTO_SHA256
	select CRYPTO_CMAC
	select CRYPTO_SHA512
	select CRYPTO_AEAD2
	select CRYPTO_CCM
	select CRYPTO_GCM
	select ASN1
	select OID_REGISTRY
	select CRC32
	default n
	help
	  Choose Y here if you want to allow SMB3 compliant clients
	  to access files residing on this system using SMB3 protocol.
	  To compile the SMB3 server support as a module,
	  choose M here: the module will be called ksmbd.

	  You may choose to use a samba server instead, in which
	  case you can choose N here.

	  You also need to install user space programs which can be found
	  in ksmbd-tools, available from
	  https://github.com/cifsd-team/ksmbd-tools.
	  More detail about how to run the ksmbd kernel server is
	  available via the README file
	  (https://github.com/cifsd-team/ksmbd-tools/blob/master/README).

	  ksmbd kernel server includes support for auto-negotiation,
	  Secure negotiate, Pre-authentication integrity, oplock/lease,
	  compound requests, multi-credit, packet signing, RDMA(smbdirect),
	  smb3 encryption, copy-offload, secure per-user session
	  establishment via Kerberos or NTLMv2.

if SMB_SERVER

config SMB_SERVER_SMBDIRECT
	bool "Support for SMB Direct protocol"
	depends on SMB_SERVER=m && INFINIBAND && INFINIBAND_ADDR_TRANS || SMB_SERVER=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
	select SG_POOL
	default n

	help
	  Enables SMB Direct support for SMB 3.0, 3.02 and 3.1.1.

	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
	  say N.

endif

config SMB_SERVER_CHECK_CAP_NET_ADMIN
	bool "Enable check network administration capability"
	depends on SMB_SERVER
	default y

	help
	  Prevent unprivileged processes to start the ksmbd kernel server.

config SMB_SERVER_KERBEROS5
	bool "Support for Kerberos 5"
	depends on SMB_SERVER
	default n
