Files
Paulo Alcantara 21a1590129 rxrpc: Add YFS RxGK (GSSAPI) security class
JIRA: https://issues.redhat.com/browse/RHEL-116054

commit 0ca100ff4df64f5d0f6c1dd5080c3e096786bea6
Author: David Howells <dhowells@redhat.com>
Date:   Fri Apr 11 10:52:51 2025 +0100

    rxrpc: Add YFS RxGK (GSSAPI) security class
    
    Add support for the YFS-variant RxGK security class to support
    GSSAPI-derived authentication.  This also allows the use of better crypto
    over the rxkad security class.
    
    The key payload is XDR encoded of the form:
    
        typedef int64_t opr_time;
    
        const AFSTOKEN_RK_TIX_MAX = 12000;  /* Matches entry in rxkad.h */
    
        struct token_rxkad {
            afs_int32 viceid;
            afs_int32 kvno;
            afs_int64 key;
            afs_int32 begintime;
            afs_int32 endtime;
            afs_int32 primary_flag;
            opaque ticket<AFSTOKEN_RK_TIX_MAX>;
        };
    
        struct token_rxgk {
            opr_time begintime;
            opr_time endtime;
            afs_int64 level;
            afs_int64 lifetime;
            afs_int64 bytelife;
            afs_int64 enctype;
            opaque key<>;
            opaque ticket<>;
        };
    
        const AFSTOKEN_UNION_NOAUTH = 0;
        const AFSTOKEN_UNION_KAD = 2;
        const AFSTOKEN_UNION_YFSGK = 6;
    
        union ktc_tokenUnion switch (afs_int32 type) {
            case AFSTOKEN_UNION_KAD:
                token_rxkad kad;
            case AFSTOKEN_UNION_YFSGK:
                token_rxgk  gk;
        };
    
        const AFSTOKEN_LENGTH_MAX = 16384;
        typedef opaque token_opaque<AFSTOKEN_LENGTH_MAX>;
    
        const AFSTOKEN_MAX = 8;
        const AFSTOKEN_CELL_MAX = 64;
    
        struct ktc_setTokenData {
            afs_int32 flags;
            string cell<AFSTOKEN_CELL_MAX>;
            token_opaque tokens<AFSTOKEN_MAX>;
        };
    
    The parser for the basic token struct is already present, as is the rxkad
    token type.  This adds a parser for the rxgk token type.
    
    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-7-dhowells@redhat.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Paulo Alcantara <paalcant@redhat.com>
2025-12-18 20:07:30 -03:00
..