GSS(3)

NAME
packet.application.gss - GSS module

DESCRIPTION

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

CLASSES

  class GSS(baseobj.BaseObj)
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

  class GSS_API(baseobj.BaseObj)
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.

  class GetCfxMIC(baseobj.BaseObj)
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.

  class GetMIC(baseobj.BaseObj)
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.

  class gss_major_status(packet.utils.Enum)
enum gss_major_status

  class gss_minor_status(packet.utils.Enum)
enum gss_minor_status

  class gss_sgn_alg(packet.utils.Enum)
enum gss_sgn_alg

  class rgss3_assertion_type(packet.utils.Enum)
enum rgss3_assertion_type

  class rgss3_assertion_u(baseobj.BaseObj)
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.

  class rgss3_create_args(baseobj.BaseObj)
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.

  class rgss3_create_res(baseobj.BaseObj)
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.

  class rgss3_gss_mp_auth(baseobj.BaseObj)
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.

  class rgss3_label(baseobj.BaseObj)
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.

  class rgss3_lfs(baseobj.BaseObj)
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.

  class rgss3_list_args(baseobj.BaseObj)
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.

  class rgss3_list_item(rgss3_assertion_type)
enum rgss3_assertion_type

  class rgss3_list_item_u(baseobj.BaseObj)
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.

  class rgss3_list_res(baseobj.BaseObj)
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.

  class rgss3_privs(baseobj.BaseObj)
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.

  class rgss_checksum(rgss_init_arg)
struct rpc_gss_init_arg {
    opaque token<>;
};

  class rgss_data(baseobj.BaseObj)
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.

  class rgss_init_arg(baseobj.BaseObj)
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.

  class rgss_init_res(baseobj.BaseObj)
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.

  class rgss_priv_data(baseobj.BaseObj)
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.

SEE ALSO
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)

BUGS
No known bugs.

AUTHOR
Jorge Mora (mora@netapp.com)