Commit Graph

67 Commits

Author SHA1 Message Date
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
Ronnie Sahlberg 00f45a872c remove a gmalloc and al sprintf from spnego
svn path=/trunk/; revision=15445
2005-08-19 23:03:56 +00:00
Gerald Combs b992c73391 In packet-frame.c, don't free static memory when we throw a
DissectorError.  In packet-kerberos.c, restore pinfo->private_data if
we throw an exception, which keeps the SMB dissector from throwing
a DissectorError.  Initialize variables in other places to squelch
valgrind warnings.

svn path=/trunk/; revision=15235
2005-08-06 03:43:42 +00:00
Guy Harris 554f620001 Constify to remove a bunch of warnings. Add some casts to squelch
(presumably-)harmless-but-otherwise-unremovable const-to-nonconst
warnings.

In the TACACS dissector, clean up the variables used in option parsing
to avoid some const-to-nonconst warnings.

Clean up some white space.

svn path=/trunk/; revision=15043
2005-07-24 19:01:28 +00:00
Guy Harris 2fcce4b6c4 Fix some more signed vs. unsigned warnings.
svn path=/trunk/; revision=14903
2005-07-12 01:01:19 +00:00
Guy Harris 8647bbf353 Make a bunch of items in encryption code arrays of guint8, and make some
pointers either "void *" or "guint8 *", to reduce the level of compiler
warnings (the data in question is largely binary in those cases).

svn path=/trunk/; revision=14886
2005-07-09 03:25:25 +00:00
Ronnie Sahlberg 33f4400f83 the maximum ASN OID length is 256 bytes and there is a define to control this.
fix bug251 and all other occurances where an oid string  passed to packet_ber_object_identifier()
is not defined as foo[MAX_OID_STR_LEN]

svn path=/trunk/; revision=14720
2005-06-21 09:38:59 +00:00
Ronnie Sahlberg c3cfe365cf convert the function
dissect_spnego_mechTypes() tu use the packet-ber api instead of the 
asn1 api.


svn path=/trunk/; revision=14712
2005-06-20 10:22:03 +00:00
Ronnie Sahlberg bdac892d95 convert one function to use packet-ber instead of asn1
svn path=/trunk/; revision=14711
2005-06-20 09:43:29 +00:00
Ronnie Sahlberg b958accede move one function only used by SPNEGO to packet-spnego.c
remove the include of <epan/asn1.h> from kerberos, ntlmssp and gssapi since they no longer need to include that file.


svn path=/trunk/; revision=14709
2005-06-20 05:28:56 +00:00