mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 06:50:37 +00:00

Provide some infrastructure for implementing the RxGK transport security class: (1) A definition of an encoding type, including: - Relevant crypto-layer names - Lengths of the crypto keys and checksums involved - Crypto functions specific to the encoding type - Crypto scheme used for that type (2) A definition of a crypto scheme, including: - Underlying crypto handlers - The pseudo-random function, PRF, used in base key derivation - Functions for deriving usage keys Kc, Ke and Ki - Functions for en/decrypting parts of an sk_buff (3) A key context, with the usage keys required for a derivative of a transport key for a specific key number. This includes keys for securing packets for transmission, extracting received packets and dealing with response packets. (3) A function to look up an encoding type by number. (4) A function to set up a key context and derive the keys. (5) A function to set up the keys required to extract the ticket obtained from the GSS negotiation in the server. (6) Miscellaneous functions for context handling. The keys and key derivation functions are described in: tools.ietf.org/html/draft-wilkinson-afs3-rxgk-11 Signed-off-by: David Howells <dhowells@redhat.com> cc: Marc Dionne <marc.dionne@auristor.com> cc: Herbert Xu <herbert@gondor.apana.org.au> cc: Chuck Lever <chuck.lever@oracle.com> cc: Simon Horman <horms@kernel.org> cc: linux-afs@lists.infradead.org Link: https://patch.msgid.link/20250411095303.2316168-8-dhowells@redhat.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
101 lines
2.5 KiB
Plaintext
101 lines
2.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# RxRPC session sockets
|
|
#
|
|
|
|
config AF_RXRPC
|
|
tristate "RxRPC session sockets"
|
|
depends on INET
|
|
select CRYPTO
|
|
select KEYS
|
|
select NET_UDP_TUNNEL
|
|
help
|
|
Say Y or M here to include support for RxRPC session sockets (just
|
|
the transport part, not the presentation part: (un)marshalling is
|
|
left to the application).
|
|
|
|
These are used for AFS kernel filesystem and userspace utilities.
|
|
|
|
This module at the moment only supports client operations and is
|
|
currently incomplete.
|
|
|
|
See Documentation/networking/rxrpc.rst.
|
|
|
|
if AF_RXRPC
|
|
|
|
config AF_RXRPC_IPV6
|
|
bool "IPv6 support for RxRPC"
|
|
depends on (IPV6 = m && AF_RXRPC = m) || (IPV6 = y && AF_RXRPC)
|
|
help
|
|
Say Y here to allow AF_RXRPC to use IPV6 UDP as well as IPV4 UDP as
|
|
its network transport.
|
|
|
|
config AF_RXRPC_INJECT_LOSS
|
|
bool "Inject packet loss into RxRPC packet stream"
|
|
help
|
|
Say Y here to inject packet loss by discarding some received and some
|
|
transmitted packets.
|
|
|
|
config AF_RXRPC_INJECT_RX_DELAY
|
|
bool "Inject delay into packet reception"
|
|
depends on SYSCTL
|
|
help
|
|
Say Y here to inject a delay into packet reception, allowing an
|
|
extended RTT time to be modelled. The delay can be configured using
|
|
/proc/sys/net/rxrpc/rxrpc_inject_rx_delay, setting a number of
|
|
milliseconds up to 0.5s (note that the granularity is actually in
|
|
jiffies).
|
|
|
|
config AF_RXRPC_DEBUG
|
|
bool "RxRPC dynamic debugging"
|
|
help
|
|
Say Y here to make runtime controllable debugging messages appear.
|
|
|
|
See Documentation/networking/rxrpc.rst.
|
|
|
|
|
|
config RXKAD
|
|
bool "RxRPC Kerberos security"
|
|
select CRYPTO
|
|
select CRYPTO_MANAGER
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_PCBC
|
|
select CRYPTO_FCRYPT
|
|
help
|
|
Provide kerberos 4 and AFS kaserver security handling for AF_RXRPC
|
|
through the use of the key retention service.
|
|
|
|
See Documentation/networking/rxrpc.rst.
|
|
|
|
config RXGK
|
|
bool "RxRPC GSSAPI security"
|
|
select CRYPTO_KRB5
|
|
select CRYPTO_MANAGER
|
|
select CRYPTO_KRB5ENC
|
|
select CRYPTO_AUTHENC
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_HASH_INFO
|
|
select CRYPTO_HMAC
|
|
select CRYPTO_CMAC
|
|
select CRYPTO_SHA1
|
|
select CRYPTO_SHA256
|
|
select CRYPTO_SHA512
|
|
select CRYPTO_CBC
|
|
select CRYPTO_CTS
|
|
select CRYPTO_AES
|
|
select CRYPTO_CAMELLIA
|
|
help
|
|
Provide the GSSAPI-based RxGK security class for AFS. Keys are added
|
|
with add_key().
|
|
|
|
See Documentation/networking/rxrpc.rst.
|
|
|
|
config RXPERF
|
|
tristate "RxRPC test service"
|
|
help
|
|
Provide an rxperf service tester. This listens on UDP port 7009 for
|
|
incoming calls from the rxperf program (an example of which can be
|
|
found in OpenAFS).
|
|
|
|
endif
|