From 9d20ee0a39e801c08eb26d50aaca9932bfd451e7 Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Tue, 8 Mar 2005 09:43:36 +0000 Subject: [PATCH] gssapi decryption nees a few new fields to pass the blobs from application layer dissector all the way down to spnego or friends and back. svn path=/trunk/; revision=13658 --- epan/packet.c | 4 ++++ epan/packet_info.h | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/epan/packet.c b/epan/packet.c index b7528983c1..a9e2a0814b 100644 --- a/epan/packet.c +++ b/epan/packet.c @@ -299,6 +299,10 @@ dissect_packet(epan_dissect_t *edt, union wtap_pseudo_header *pseudo_header, edt->pi.vsan = 0; edt->pi.dcectxid = 0; edt->pi.dcetransporttype = -1; + edt->pi.decrypt_gssapi_tvb = 0; + edt->pi.gssapi_wrap_tvb = NULL; + edt->pi.gssapi_encrypted_tvb = NULL; + edt->pi.gssapi_decrypted_tvb = NULL; edt->pi.layer_names = NULL; TRY { diff --git a/epan/packet_info.h b/epan/packet_info.h index ffb0484ce6..16a72d6a07 100644 --- a/epan/packet_info.h +++ b/epan/packet_info.h @@ -123,11 +123,25 @@ typedef struct _packet_info { guint16 src_idx; /* Source port index (Cisco MDS-specific) */ guint16 dst_idx; /* Dest port index (Cisco MDS-specific) */ guint16 vsan; /* Fibre channel/Cisco MDS-specific */ + + /* Extra data for DCERPC handling and tracking of context ids */ guint16 dcectxid; /* Context ID (DCERPC-specific) */ int dcetransporttype; /* Transport type * Value -1 means "not a DCERPC packet" */ guint16 dcetransportsalt; /* fid: if transporttype==DCE_CN_TRANSPORT_SMBPIPE */ + + /* Extra data for handling of decryption of GSSAPI wrapped tvbuffs. + Caller sets gssapi_decrypt_tvb if this service is requested. + If gssapi_encrypted_tvb is NULL, then the rest of the tvb data following + the gssapi blob it self is decrypted othervise the gssapi_encrypted_tvb + tvb will be decrypted (DCERPC has the data before the gssapi blob) + */ + gboolean decrypt_gssapi_tvb; + tvbuff_t *gssapi_wrap_tvb; + tvbuff_t *gssapi_encrypted_tvb; + tvbuff_t *gssapi_decrypted_tvb; + guint32 ppid[MAX_NUMBER_OF_PPIDS]; /* The first NUMBER_OF_PPIDS PPIDS which are present * in the SCTP packet */