Commit Graph

76 Commits

Author SHA1 Message Date
Kovarththanan Rajaratnam 8b515e9340 Switch a bunch of dissectors over to using tvb_new_subset_remaining()
svn path=/trunk/; revision=29446
2009-08-16 12:36:22 +00:00
Bill Meier cb7dac7100 Initialize several ett_... variables to -1
svn path=/trunk/; revision=29295
2009-08-04 18:52:01 +00:00
Ronnie Sahlberg f8cf2d2c83 When we passed the crytobuffer to krb5_c_decrypt() we never actually
verified that we did have enough data in the buffer/tvb, which could 
lead to a SEGV.
(for example if we enable KRB5 decryption but we do NOT use TCP 
reassembly, and the encrypted data goes beyong the end of the current 
segment)


Change the signature to decrypt_krb5_data() to take a TVB instead of a 
buffer+length.
Actually check that we do have the entire encrypted PDU before calling 
out to the kerberos libraries.



svn path=/trunk/; revision=29213
2009-07-28 13:01:41 +00:00
Stig Bjørlykke 4d8dd01e8e Changed flags_set_truth -> tfs_set_notset
svn path=/trunk/; revision=28989
2009-07-07 14:54:15 +00:00
Stig Bjørlykke 9733aadcfe Re-generate asn1 dissectors after hf_register_info cleanup.
svn path=/trunk/; revision=28848
2009-06-26 03:59:01 +00:00
Stig Bjørlykke b228488bc0 From Kovarththanan Rajaratnam via bug 3548:
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
    for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
    FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero

svn path=/trunk/; revision=28770
2009-06-18 21:30:42 +00:00
Stig Bjørlykke c47e788c94 Regenerate all asn2wrs generated dissectors.
svn path=/trunk/; revision=28379
2009-05-16 22:07:03 +00:00
Anders Broman 17e10d08fb Use tvb_new_child_real_data().
svn path=/trunk/; revision=28357
2009-05-14 05:36:48 +00:00
Anders Broman c91a384702 Apply some of the patches from:
http://wiki.wireshark.org/Development/Optimization

svn path=/trunk/; revision=28356
2009-05-13 19:46:11 +00:00
Bill Meier 09e139a234 asn2wrs generated files changed as a result of recent asn1 template changes
svn path=/trunk/; revision=26698
2008-11-04 22:28:52 +00:00
Anders Broman e375c3990a Regenerate all asn2wrs generated dissectors
svn path=/trunk/; revision=26670
2008-11-01 22:30:14 +00:00
Ronnie Sahlberg 2b739fc611 use g_malloc/g_free instead of malloc/free
svn path=/trunk/; revision=26353
2008-10-05 08:41:44 +00:00
Ronnie Sahlberg 54716f411b change u_char to unsigned char to make the osx compiler happy
svn path=/trunk/; revision=26351
2008-10-05 00:51:28 +00:00
Ronnie Sahlberg d83b8b0336 kerberos/gss enhancements
add a parameter *datalen to decrypt_krb5_data() so that we can pass back 
the length of the decrypted blob back to the caller.
This is useful for when there are "junk" at the end of the blob and thus 
the decrypted data is not the same size as the encrypted blob.
GSS CFX is one such example.
(we should have done this earlier since it might have made some other 
stuff easier to imlement...)


make the preference setting krb_decrypt a globally visible variable so 
we can see its value and act on it from callers of krb decryption from 
outside of packet-kerberos.c    i.e.   from GSS CFX


Make keytype == -1  a wildcard that when passed to decrypt_krb5_data() 
will try any/all encryption keys.
This since GSS CFX does not provide the enctype in the GSS layer.
(The GSS CFX enctype is only negotiated during the AP-REQ/REP  so we 
should later pick this value up and store it in a CFX session variable.
That is for a later enhancement.
)


Enhance the GSS decryption (that for hitorical reasons are implemented 
in packet-spnego.c  and not packet-gssapi.c :-)  )
to also handle decryption of GSS CFX

This should make wireshark able to decrypt any/all GSSAPI  RFC4121 
packets, if the keytab file is provided.


I have successfully decrypted LDAP using GSS CFX with AES encryption 
with this.




svn path=/trunk/; revision=26350
2008-10-05 00:28:36 +00:00
Gerald Combs d2821ce8c0 We always use start_offset, so don't wrap it in "#ifdef HAVE_KERBEROS".
svn path=/trunk/; revision=26301
2008-09-30 02:55:42 +00:00
Ronnie Sahlberg 687b0422d3 from Metze
add dissection of RFC4121 krb5 blobs



svn path=/trunk/; revision=26294
2008-09-29 18:44:10 +00:00
Anders Broman de16039c51 Get rid of dissect_ber_boolean_value() and change the signature of
dissect_ber_boolean() to return a value and update asn2wrs to generate the new signature.
Regenerate all BER dissectors.

svn path=/trunk/; revision=24015
2008-01-04 16:21:07 +00:00
Anders Broman f6ba48b9fc Update do use the -X and -T asn2wrs flags.
svn path=/trunk/; revision=23364
2007-11-04 22:16:28 +00:00
Luis Ontanon 00c5e48a17 get users of oid_resolv to use the new oids, rollout packet-snmp.c
svn path=/trunk/; revision=22651
2007-08-25 01:14:24 +00:00
Tomas Kukosa eb782d0cea - CLASS definitions support including exports through the *-exp.cnf file
- support of extension in middle of SEQUENCE root elements
- new option EMBEDDED_PDV_CB to set default callback
- ChoiceValue support at syntax level
- ValueSet support at syntax level
- exception identifier support
- ValueFromObject support at syntax level
- next minor changes (to compile X.880 and INAP)

- dissectors using classes regenerated

svn path=/trunk/; revision=22036
2007-06-04 14:41:38 +00:00
Guy Harris 1e7c1bc036 Add a cast to squelch an MSVC warning.
svn path=/trunk/; revision=21944
2007-05-25 21:50:12 +00:00
Guy Harris 88f69b80c0 Make SND_SEQ an array of 2 guint32's, rather than an array of 8
guint8's, to squelch some compiler warnings (and clean up some
comparisons).

svn path=/trunk/; revision=21941
2007-05-25 19:39:35 +00:00
Anders Broman dca634c4de Prepare for the use of the new -X parameter for BER encoded protocols.
svn path=/trunk/; revision=21889
2007-05-22 16:17:54 +00:00
Anders Broman f08cd1e5e3 actx in the rest of dissect_ber..()l
svn path=/trunk/; revision=21773
2007-05-15 05:49:43 +00:00
Anders Broman c01f382974 Second step in introducing asn context to BER dissectors just like in PER.
svn path=/trunk/; revision=21753
2007-05-13 20:58:29 +00:00
Anders Broman 4c692a62b6 Start introducing actx to ber functions.
svn path=/trunk/; revision=21705
2007-05-06 22:34:05 +00:00
Tomas Kukosa a70a1b3eb6 EXTERNAL type is handled in asn2wrs now
private implementations were renamed EXTERNAL -> EXTERNALt

svn path=/trunk/; revision=21662
2007-05-03 11:37:47 +00:00
Ronnie Sahlberg 8920a7e7f2 change the signature that asn2wrs generates for functions to marm all parameters as _U_
to reduce the number of compiler warnings.

update some template and cnf files to use _U_ as well 


svn path=/trunk/; revision=21088
2007-03-21 10:22:22 +00:00
Jeff Morriss 43e550c754 Fix bug 1380:
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1380

by registering the spnego dissector by name (e.g., call 'register_dissector()').


svn path=/trunk/; revision=20837
2007-02-18 10:18:53 +00:00
Graeme Lunt 1864da87a8 This patch looks for a confounder in GSSWrap for DES_MAC_MD5 algorithm.
This is purely empirical as I can find no standard that says it should be there.
However successful LDAP/SASL/GSSAPI between AD and Java client shows it seems to be present.
If the confounder is not dissected, the LDAPMessage to fail to be decoded.


svn path=/trunk/; revision=20833
2007-02-17 11:16:52 +00:00
Gerald Combs 9d5858f635 Move cryptography code to epan/crypt.
svn path=/trunk/; revision=20359
2007-01-09 22:14:07 +00:00
Gerald Combs 53689800e6 Move epan/crypt-md5.[ch] to epan/crypt. Remove
epan/crypt/airpdcap_md5.[ch].  Fix up whitespace.

svn path=/trunk/; revision=20277
2007-01-02 22:49:57 +00:00
Ronnie Sahlberg 84553a1b5e if there is a list of mechTypes in the negTokenInit then store the first one
and associate it with the conversation properly.

do the same for supportedMech in the negTokenTarg


This will allow wireshark to decode the blob in negTokenTarg even when no supportedMech is provided.



svn path=/trunk/; revision=20129
2006-12-13 02:44:00 +00:00
Tomas Kukosa 5cd8c719e6 ASN.1 dissectors regenerated with new asn2wrs to get updated field blurb
svn path=/trunk/; revision=18921
2006-08-16 05:58:39 +00:00
Tomas Kukosa 604000a6b3 - remove some #.MODULE_IMPORT from .cng files
- regenerate BER dissectors so as to change rest of Ethereal->Wireshark and asn2eth -> asn2wrs

svn path=/trunk/; revision=18217
2006-05-24 12:24:54 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Ronnie Sahlberg 2975ff835b microsoft does not use a confounder for spnego when using DNS/TSIG
they use an additional confounder everywhere else  (as it seems)   but not for DNS/TSIG


svn path=/trunk/; revision=16894
2005-12-25 11:43:47 +00:00
Guy Harris b45d2efe6d Regenerate with the latest asn2eth, to get FT_OID used, and to add #line.
svn path=/trunk/; revision=16736
2005-12-08 23:29:21 +00:00
Tomas Kukosa 3b770d5c7c - dissect_ber_object_identifier() returns value as tvb
- new dissect_ber_object_identifier_str() function
 - BER dissectors adapted and regenerated

svn path=/trunk/; revision=16501
2005-11-14 10:02:31 +00:00
Guy Harris 341a2f503d dissect_ber_octet_string() can return a null tvbuff pointer, if the
putative octet string isn't one; always check before using it to
dissect, and don't call the dissector if the tvbuff is null.  This
should fix bug 472.

svn path=/trunk/; revision=15946
2005-09-21 23:23:58 +00:00
Guy Harris 4e09b5e0b3 Some compilers don't allow a static declaration of a function inside
another function, so move the declaration of
dissect_spnego_PrincipalSeq() to the top of the file.

svn path=/trunk/; revision=15938
2005-09-21 18:27:28 +00:00
Guy Harris 0fb81e221e An InnerContextToken comes with an OID for the mechanism, which is what
we use to determine how to interpret the token; don't bother fetching
the OID attached to the frame or conversation, as we're not using it.

Indent code in the .cnf file to match the code generated by asn2eth.

The mechListMIC in a NegTokenInit is sometimes a sequence containing a
string; check the header of the mechListMIC and dissect it as such a
sequence or as a regular item depending on whether it's a sequence or
not.

If we see a supportedMech in a NegTokenTarg, save next_level_value for
that OID with the conversation.

Dissect a responseToken in a NegTokenTarg, and a mechListMIC in a
NegTokenTarg, appropriately.

Get rid of "gssapi_dissector_handle()", and just use
next_level_value->handle - it was never being called if next_level_value
was null.

When we're dissecting a KRB5 blob, just use get_ber_identifier() to get
the header, so we don't report an ASN.1 error if there isn't a BER
identifier there; dissect the identifier and length only if we know we
have them.

svn path=/trunk/; revision=15937
2005-09-21 17:42:11 +00:00
Gerald Combs 876ce82beb Don't dereference a null pointer. Fixes bug 460.
svn path=/trunk/; revision=15874
2005-09-19 19:46:25 +00:00
Gerald Combs d2e3d45042 In the SPNEGO dissector, don't call a subdissector if we don't have a TVB.
Fixes bugs 448, 449, 451, 452, 454, 456, and 461.

Add similar TVB checks to the BER dissector.

svn path=/trunk/; revision=15869
2005-09-19 16:23:05 +00:00
Guy Harris f91d140cc9 Don't use u_char - not all platforms define it, and even those that do
might require other files to be included to get it.

svn path=/trunk/; revision=15828
2005-09-15 23:39:08 +00:00
Anders Broman 0060eaf390 Replace the spnego dissector with an asn2eth generated one.
svn path=/trunk/; revision=15810
2005-09-15 05:38:37 +00:00
Ronnie Sahlberg 40cf0a8c80 when we have raw keberos inside the spnego blob, pass it as is over to
the kerberos dissector  and do not strip the ber tag and lengths off


svn path=/trunk/; revision=15794
2005-09-14 16:02:54 +00:00
Anders Broman a665e35a38 Get rid of dependency on format-oid.h
svn path=/trunk/; revision=15756
2005-09-11 21:10:20 +00:00
Guy Harris 9b4994afcd I missed one OID string.
svn path=/trunk/; revision=15526
2005-08-25 03:43:16 +00:00
Guy Harris bcb91d2f45 The OID strings returned by new_format_oid(), and the OID string
returned by format_oid(), are allocated with the ep_alloc routines;
don't free them.

svn path=/trunk/; revision=15525
2005-08-25 03:31:54 +00:00