GSS(3) gss 3.0 GSS(3)

packet.application.gss - GSS module

Decode GSS layers.

RFC 2203 RPCSEC_GSS Protocol Specification RFC 5403 RPCSEC_GSS Version 2 RFC 7861 RPCSEC_GSS Version 3 RFC 1964 The Kerberos Version 5 GSS-API Mechanism

NOTE:
Procedure RPCSEC_GSS_BIND_CHANNEL is not supported

GSS Data object
This is a base object and should not be instantiated.
It gives the following methods:
    # Decode data preceding the RPC payload when flavor is RPCSEC_GSS
    x.decode_gss_data()
    # Decode data following the RPC payload when flavor is RPCSEC_GSS
    x.decode_gss_checksum()
Methods defined here:
---------------------
decode_gss_checksum(self)
Decode GSS checksum
decode_gss_data(self)
Decode GSS data

GSS-API DEFINITIONS ::=
BEGIN
MechType ::= OBJECT IDENTIFIER
-- representing Kerberos V5 mechanism
GSSAPI-Token ::=
-- option indication (delegation, etc.) indicated within
-- mechanism-specific token
[APPLICATION 0] IMPLICIT SEQUENCE {
        thisMech MechType,
        innerToken ANY DEFINED BY thisMech
           -- contents mechanism-specific
           -- ASN.1 structure not required
        }
END
Methods defined here:
---------------------
__bool__(self)
Truth value testing for the built-in operation bool()
__init__(self, data)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct GSS_GetCfxMIC {
    unsigned char       flags;        /* Attributes field */
    opaque              filler[5];    /* Filler bytes: 0xffffffffff */
    unsigned long long  snd_seq;      /* Sequence number field */
    unsigned char       sgn_cksum[];  /* Checksum of "to-be-signed data" */
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct GSS_GetMIC {
    unsigned short      sgn_alg;      /* Integrity algorithm indicator */
    opaque              filler[4];    /* Filler bytes: 0xffffffff */
    unsigned long long  snd_seq;      /* Sequence number field */
    opaque              sgn_cksum[8]; /* Checksum of "to-be-signed data" */
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

enum gss_major_status

enum gss_minor_status

enum gss_sgn_alg

enum rgss3_assertion_type

union switch rgss3_assertion_u (rgss3_assertion_type atype) {
    case const.LABEL:
        rgss3_label label;
    case const.PRIVS:
        rgss3_privs privs;
    default:
        opaque ext<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_create_args {
    rgss3_gss_mp_auth  auth<1>;
    rgss3_chan_binding mic<1>;
    rgss3_assertion_u  assertions<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_create_res {
    opaque             context<>;
    rgss3_gss_mp_auth  auth<1>;
    rgss3_chan_binding mic<1>;
    rgss3_assertion_u  assertions<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_gss_mp_auth {
    opaque context<>;  /* Inner handle */
    opaque mic<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_label {
    rgss3_lfs lfs;
    opaque    label<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_lfs {
    unsigned int lfs_id;
    unsigned int pi_id;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_list_args {
    rgss3_list_item items<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

enum rgss3_assertion_type

union switch rgss3_list_item_u (rgss3_list_item itype) {
    case const.LABEL:
        rgss3_label labels<>;
    case const.PRIVS:
        rgss3_privs privs<>;
    default:
        opaque ext<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_list_res {
    rgss3_list_item_u items<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss3_privs {
    utf8str_cs name;
    opaque     privilege<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rpc_gss_init_arg {
    opaque token<>;
};

struct rgss_data {
    unsigned int length;
    unsigned int seq_num;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rpc_gss_init_arg {
    opaque token<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss_init_res {
    opaque       context<>;
    unsigned int major;
    unsigned int minor;
    unsigned int seq_window;
    opaque       token<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

struct rgss_priv_data {
    opaque data<>;
};
Methods defined here:
---------------------
__init__(self, unpack)
Constructor
Initialize object's private data according to the arguments given.
Arguments can be given as positional, named arguments or a
combination of both.

baseobj(3), packet.application.gss_const(3), packet.application.krb5(3), packet.application.rpc_const(3), packet.derunpack(3), packet.unpack(3), packet.utils(3)

No known bugs.

Jorge Mora (mora@netapp.com)

21 March 2023 NFStest 3.2