Provided by: nfstest_3.2-2_all bug

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)