linux-kernelorg-stable/net/sunrpc/auth_gss
Nikhil Jha 08d6ee6d8a sunrpc: implement rfc2203 rpcsec_gss seqnum cache
This implements a sequence number cache of the last three (right now
hardcoded) sent sequence numbers for a given XID, as suggested by the
RFC.

From RFC2203 5.3.3.1:

"Note that the sequence number algorithm requires that the client
increment the sequence number even if it is retrying a request with
the same RPC transaction identifier.  It is not infrequent for
clients to get into a situation where they send two or more attempts
and a slow server sends the reply for the first attempt. With
RPCSEC_GSS, each request and reply will have a unique sequence
number. If the client wishes to improve turn around time on the RPC
call, it can cache the RPCSEC_GSS sequence number of each request it
sends. Then when it receives a response with a matching RPC
transaction identifier, it can compute the checksum of each sequence
number in the cache to try to match the checksum in the reply's
verifier."

Signed-off-by: Nikhil Jha <njha@janestreet.com>
Acked-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2025-05-19 10:14:29 -04:00
..
Makefile sunrpc: Remove gss_generic_token deadcode 2025-01-21 15:30:01 -05:00
auth_gss.c sunrpc: implement rfc2203 rpcsec_gss seqnum cache 2025-05-19 10:14:29 -04:00
auth_gss_internal.h mm: change inlined allocation helpers to account at the call site 2024-04-25 20:55:59 -07:00
gss_krb5_crypto.c SUNRPC: Remove unused make_checksum 2025-03-10 09:10:58 -04:00
gss_krb5_internal.h SUNRPC: Remove unused make_checksum 2025-03-10 09:10:58 -04:00
gss_krb5_keys.c gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey 2024-07-08 14:10:06 -04:00
gss_krb5_mech.c SUNRPC: fix a memleak in gss_import_v2_context 2024-03-01 09:12:04 -05:00
gss_krb5_seal.c SUNRPC: Remove code behind CONFIG_RPCSEC_GSS_KRB5_SIMPLIFIED 2023-08-29 17:45:22 -04:00
gss_krb5_test.c module: Convert symbol namespace to string literal 2024-12-02 11:34:44 -08:00
gss_krb5_unseal.c SUNRPC: Do not include crypto/algapi.h 2023-09-15 18:30:43 +08:00
gss_krb5_wrap.c SUNRPC: Remove code behind CONFIG_RPCSEC_GSS_KRB5_SIMPLIFIED 2023-08-29 17:45:22 -04:00
gss_mech_switch.c sunrpc: Remove gss_generic_token deadcode 2025-01-21 15:30:01 -05:00
gss_rpc_upcall.c SUNRPC: Ensure that the gssproxy client can start in a connected state 2022-05-07 14:31:15 -04:00
gss_rpc_upcall.h
gss_rpc_xdr.c SUNRPC: fix some memleaks in gssx_dec_option_array 2024-03-01 09:12:04 -05:00
gss_rpc_xdr.h
svcauth_gss.c SUNRPC: Fix loop termination condition in gss_free_in_token_pages() 2024-06-03 09:07:55 -04:00
trace.c SUNRPC: remove duplicate include 2020-08-19 13:19:42 -04:00