162306a36Sopenharmony_ciconfig SMB_SERVER
262306a36Sopenharmony_ci	tristate "SMB3 server support"
362306a36Sopenharmony_ci	depends on INET
462306a36Sopenharmony_ci	depends on MULTIUSER
562306a36Sopenharmony_ci	depends on FILE_LOCKING
662306a36Sopenharmony_ci	select NLS
762306a36Sopenharmony_ci	select NLS_UTF8
862306a36Sopenharmony_ci	select NLS_UCS2_UTILS
962306a36Sopenharmony_ci	select CRYPTO
1062306a36Sopenharmony_ci	select CRYPTO_MD5
1162306a36Sopenharmony_ci	select CRYPTO_HMAC
1262306a36Sopenharmony_ci	select CRYPTO_ECB
1362306a36Sopenharmony_ci	select CRYPTO_LIB_DES
1462306a36Sopenharmony_ci	select CRYPTO_SHA256
1562306a36Sopenharmony_ci	select CRYPTO_CMAC
1662306a36Sopenharmony_ci	select CRYPTO_SHA512
1762306a36Sopenharmony_ci	select CRYPTO_AEAD2
1862306a36Sopenharmony_ci	select CRYPTO_CCM
1962306a36Sopenharmony_ci	select CRYPTO_GCM
2062306a36Sopenharmony_ci	select ASN1
2162306a36Sopenharmony_ci	select OID_REGISTRY
2262306a36Sopenharmony_ci	select CRC32
2362306a36Sopenharmony_ci	default n
2462306a36Sopenharmony_ci	help
2562306a36Sopenharmony_ci	  Choose Y here if you want to allow SMB3 compliant clients
2662306a36Sopenharmony_ci	  to access files residing on this system using SMB3 protocol.
2762306a36Sopenharmony_ci	  To compile the SMB3 server support as a module,
2862306a36Sopenharmony_ci	  choose M here: the module will be called ksmbd.
2962306a36Sopenharmony_ci
3062306a36Sopenharmony_ci	  You may choose to use a samba server instead, in which
3162306a36Sopenharmony_ci	  case you can choose N here.
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci	  You also need to install user space programs which can be found
3462306a36Sopenharmony_ci	  in ksmbd-tools, available from
3562306a36Sopenharmony_ci	  https://github.com/cifsd-team/ksmbd-tools.
3662306a36Sopenharmony_ci	  More detail about how to run the ksmbd kernel server is
3762306a36Sopenharmony_ci	  available via the README file
3862306a36Sopenharmony_ci	  (https://github.com/cifsd-team/ksmbd-tools/blob/master/README).
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci	  ksmbd kernel server includes support for auto-negotiation,
4162306a36Sopenharmony_ci	  Secure negotiate, Pre-authentication integrity, oplock/lease,
4262306a36Sopenharmony_ci	  compound requests, multi-credit, packet signing, RDMA(smbdirect),
4362306a36Sopenharmony_ci	  smb3 encryption, copy-offload, secure per-user session
4462306a36Sopenharmony_ci	  establishment via Kerberos or NTLMv2.
4562306a36Sopenharmony_ci
4662306a36Sopenharmony_ciif SMB_SERVER
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ciconfig SMB_SERVER_SMBDIRECT
4962306a36Sopenharmony_ci	bool "Support for SMB Direct protocol"
5062306a36Sopenharmony_ci	depends on SMB_SERVER=m && INFINIBAND && INFINIBAND_ADDR_TRANS || SMB_SERVER=y && INFINIBAND=y && INFINIBAND_ADDR_TRANS=y
5162306a36Sopenharmony_ci	select SG_POOL
5262306a36Sopenharmony_ci	default n
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ci	help
5562306a36Sopenharmony_ci	  Enables SMB Direct support for SMB 3.0, 3.02 and 3.1.1.
5662306a36Sopenharmony_ci
5762306a36Sopenharmony_ci	  SMB Direct allows transferring SMB packets over RDMA. If unsure,
5862306a36Sopenharmony_ci	  say N.
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ciendif
6162306a36Sopenharmony_ci
6262306a36Sopenharmony_ciconfig SMB_SERVER_CHECK_CAP_NET_ADMIN
6362306a36Sopenharmony_ci	bool "Enable check network administration capability"
6462306a36Sopenharmony_ci	depends on SMB_SERVER
6562306a36Sopenharmony_ci	default y
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci	help
6862306a36Sopenharmony_ci	  Prevent unprivileged processes to start the ksmbd kernel server.
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ciconfig SMB_SERVER_KERBEROS5
7162306a36Sopenharmony_ci	bool "Support for Kerberos 5"
7262306a36Sopenharmony_ci	depends on SMB_SERVER
7362306a36Sopenharmony_ci	default n
74