Commit graph

80 commits

Author SHA1 Message Date
Gerald Combs
699bd0fa60 Add checks for infinite loops. Fixes recent Buildbot failures.
svn path=/trunk/; revision=15292
2005-08-11 15:35:17 +00:00
Ulf Lamping
0dc9fb3d4a various code cleanup:
-use g_snprintf instead of sprintf and snprintf
-use g_strdup_printf where appropriate
-remove #include "snprintf.h" (as only g_snprintf should be used)
-replace some more alloc/realloc/calloc/free with their glib pendants

svn path=/trunk/; revision=15264
2005-08-08 18:50:39 +00:00
Jörg Mayer
2b2506f0f6 More char -> const char warning fixes
svn path=/trunk/; revision=15222
2005-08-05 13:10:58 +00:00
Guy Harris
c8fc6a8e76 Cast away some (otherwise unremovable, and harmless, in this case)
warnings.

svn path=/trunk/; revision=15135
2005-07-29 03:27:59 +00:00
Ronnie Sahlberg
34c10c4c7e packet_ber has for some time been doing sanity checking of the BER Length fields
that they are not longer than the reported length of the tvb.

this triggers some bugs since in packet-ber we are a bit too lax in setting reported_length of the tvb_new_subset() tvb.

this cause short kerberos packets to not be decoded at all and the same for other short asn based packets as well.


fix some of these instances.


svn path=/trunk/; revision=15127
2005-07-28 08:18:18 +00:00
Jörg Mayer
34493e8f9e char -> const char warning fixes
svn path=/trunk/; revision=15126
2005-07-28 07:53:38 +00:00
Anders Broman
9c99a261f0 From Maynard, Chris :
The attached patches, generated via  svn diff , correct various compiler 

& lint warnings, among them: 

 

lemon.c(2582) : warning C4090: '=' : different 'const' qualifiers

packet-ber.c(212) : warning C4018: '<=' : signed/unsigned mismatch

packet-ber.c(228) : warning C4018: '>=' : signed/unsigned mismatch

packet-bootp.c(2112) : warning C4018: '<' : signed/unsigned mismatch

packet-iscsi.c(801) : warning C4018: '>=' : signed/unsigned mismatch


svn path=/trunk/; revision=15085
2005-07-26 09:52:06 +00:00
Ronnie Sahlberg
0ca30abe65 change the symbol dissect_ber_CHOICE back into dissect_ber_choice
svn path=/trunk/; revision=14980
2005-07-21 21:12:09 +00:00
Guy Harris
34ae8c850f Fix up a bunch of arguments to "dissect_ber_identifier()" to match its
current signature ("class" is a "gint8 *", not a "guint8 *", and "tag"
is a "gint32 *", not a "guint32 *").  Re-generate the dissectors from
the ASN.1 and the .cnf files in the cases where the arguments were fixed
in a .cnf file.

Give some dissectors the right svn:keywords and svn:eol-style settings.

svn path=/trunk/; revision=14885
2005-07-09 02:58:07 +00:00
Tomas Kukosa
abc732f855 beter displaying of true/false strings in dissect_ber_bitstring()
svn path=/trunk/; revision=14828
2005-07-01 13:48:52 +00:00
Ronnie Sahlberg
226c5a56ab be more careful when attempting to dissect an unknown ber field not to read beyond the end and triggering a [malformed packet]
also prettify the error when finding "unknown" entries inside a SEQUENCE to make it easier to track down what went wrong.



svn path=/trunk/; revision=14814
2005-06-29 08:00:55 +00:00
Ronnie Sahlberg
05f9375d55 fix two bugs when updating offset incorrectly that could lead to an infinite loop when trying to decode an unknown ber structure
svn path=/trunk/; revision=14799
2005-06-27 11:43:18 +00:00
Ronnie Sahlberg
e55dcb785e prettify ftam by puttign the command name in the info column
svn path=/trunk/; revision=14759
2005-06-26 06:16:03 +00:00
Ronnie Sahlberg
3a51ba4293 make dissect_ber_choice take a guint* that will return the
index of the branch taken or -1  to make prettifications easier to implement.


change the signature of dissect_ber_choice and rename it to dissect_ber_CHOICE to catch all
occurences of the use of this function

update asn2eth to use the new name/signature

update all occurences of this function to the new name and new signature.



svn path=/trunk/; revision=14758
2005-06-26 05:48:50 +00:00
Ronnie Sahlberg
0392684ab7 for unknown GraphicString
just decode them as an octet string and say in the decode pane this is an unknown GraphicString



svn path=/trunk/; revision=14742
2005-06-24 10:03:20 +00:00
Ronnie Sahlberg
7f08072192 fix to ber NULL handling
1, make it actually show the hf field when present
2, make it handle imlicit_tag properly


svn path=/trunk/; revision=14741
2005-06-24 08:57:41 +00:00
Ronnie Sahlberg
299ce87bfe update to packet-ber
1, start making indefinite length  constructions actually work
2, when attempting to decode an unknown BER octet sequence, do not generate [malformed packet] just because the length does not make sense and might point outside the tvb.   it might just be that there are implicit tags in the asn1 specification and that it is just impossible to decode the octet stream without knowledge of the asn.



svn path=/trunk/; revision=14728
2005-06-22 09:58:46 +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
Anders Broman
89ddd6077a From Tim Endean:
Check for tvb.

svn path=/trunk/; revision=14592
2005-06-09 04:28:13 +00:00
Anders Broman
86a56ba7cc From Tim Endean:
- I have had to make some changes to packet-ber to allow for PRIVATE and APPLICATION tags.
- Both ANSI and ITU variants supported without configuration.
- Asn.1 dissectors can now register using an OID value as well as an SSN, the oid it tried first.


svn path=/trunk/; revision=14572
2005-06-07 05:49:06 +00:00
Gerald Combs
651ee9a2fe From Steve Grubb: Initialize a variable. Fixes part of bug 217.
svn path=/trunk/; revision=14493
2005-05-30 20:51:36 +00:00
Tomas Kukosa
46a168734a Usage of oid_to_str() in PER and BER helpers
svn path=/trunk/; revision=14217
2005-04-28 09:54:03 +00:00
Tomas Kukosa
94dffebd6c NULL type decoders for PER and BER
svn path=/trunk/; revision=14201
2005-04-27 14:17:14 +00:00
Gerald Combs
082651c83e Define a maximum OID string length, and use it in a lot of places. Fixes a
buffer overflow found while fuzz testing.

svn path=/trunk/; revision=14169
2005-04-22 21:17:13 +00:00
Gerald Combs
8d914c66fd Squelch a valgrind warning.
svn path=/trunk/; revision=14162
2005-04-22 04:10:44 +00:00
Ronnie Sahlberg
b95490206d from Olivier J
bugfix for IMPLICIT NULL in BER sequences
and gsmmap updates



svn path=/trunk/; revision=14160
2005-04-21 21:37:23 +00:00
Ronnie Sahlberg
20a4d3257e Add a tree parameter to get_ber_length() so that
IF the length seems bogus, like longer than the reported tvb_length
we add a helpful text item to the tree  and generate a [malformed packet]


change all callers of get_ber_length to the new signature.



svn path=/trunk/; revision=14145
2005-04-20 08:35:47 +00:00
Gerald Combs
7c5083489f In dissect_ber_bitstring32(), make sure tmp_tvb is properly initialized.
Fixes bug 32.

svn path=/trunk/; revision=14092
2005-04-15 14:18:08 +00:00
Gerald Combs
adbc8b86b5 In dissect_ber_integer(), generate a warning if the integer length is
invalid instead of throwing an assertion.  Fixes bug 25.

svn path=/trunk/; revision=14080
2005-04-14 20:16:35 +00:00
Gerald Combs
3008014ed7 Add another passel of tvb_ensure_bytes_exist()s. Fixes bug 24.
svn path=/trunk/; revision=14079
2005-04-14 20:01:14 +00:00
Gerald Combs
a6b24ceaaa Add a tvb_ensure_bytes_exist() to dissect_ber_octet_string(). Fixes bug
23.

svn path=/trunk/; revision=14078
2005-04-14 19:53:27 +00:00
Gerald Combs
d357c745a6 In dissect_ber_octet_string_wcb(), make sure out_tvb is non-NULL before
trying to use it so that we don't throw an assertion.  Fixes bug 22.
Do the same thing in dissect_ber_GeneralString().

svn path=/trunk/; revision=14065
2005-04-13 21:20:23 +00:00
Gerald Combs
e3bd36c2d5 Add a couple of tvb_ensure_bytes_exist() calls to fix bug 12.
svn path=/trunk/; revision=14064
2005-04-13 20:59:39 +00:00
Guy Harris
93692fa5aa Fix a couple of "proto_tree_add_text()" calls to pass the right arguments.
svn path=/trunk/; revision=13989
2005-03-31 23:48:08 +00:00
Anders Broman
dfdff5a70c Improve some debug messages.
svn path=/trunk/; revision=13980
2005-03-30 19:09:48 +00:00
Ronnie Sahlberg
95d12a0bc6 From Tim
small bugfix for packet-ber.c if packet is malformed, prevent dereferenceing a null pointer


svn path=/trunk/; revision=13976
2005-03-30 09:18:25 +00:00
Anders Broman
6211456ece From Jacques Olivier:
Here is a patch that:
* packet-ber.c:
- Fixes handling tags longer than one octet (in
"packet-ber.c:get_ber_identifier") which consists of replacing "if (t &
0x80) break;" by "if (!(t & 0x80)) break;"
- Add debug info on the identifier when debug is enabled (I don't know if we want to keep this, but I find it useful)
- printf's a warning when packet-ber hits a constructed type (to remind that we eventually have to handle this)
- Add the display of unknown BER octet strings (this one was already submitted along with the initial Camel dissector but didn't got
included)

svn path=/trunk/; revision=13895
2005-03-24 14:21:30 +00:00
Ronnie Sahlberg
fbf762bda5 update asn2eth and all generated dissectors to new dissect_ber_boolean that takes a implicit_tag parameter
svn path=/trunk/; revision=13479
2005-02-23 08:57:47 +00:00
Anders Broman
a4db2eb570 In case of "faulty" BER tag:s return tvb = NULL
svn path=/trunk/; revision=13208
2005-01-30 17:48:18 +00:00
Ronnie Sahlberg
d5ed983336 change the incorrect BER_UNI_TAG_TeletextString into BER_UNI_TAG_TeletexString
svn path=/trunk/; revision=12743
2004-12-13 11:59:48 +00:00
Ronnie Sahlberg
8afae320de update of the asn2eth compiler to use the types ber_[choice|sequence]_t instead of ber_[choice|sequence]
regenerated all dissectors


fixed the choice/sequence struct to use unsigned entities for class and tag
(to reduce some compiler warning and because it should be signed quantities)



svn path=/trunk/; revision=12740
2004-12-13 08:15:34 +00:00
Ronnie Sahlberg
97f465c157 make the unknown_ber helper try to dissect NumericString and ENUMERATED when it encounters them
svn path=/trunk/; revision=12733
2004-12-12 22:59:43 +00:00
Ronnie Sahlberg
896737c467 update the helper for BER GeneralizedTime to handle implicit tag and update all dissectors using GeneralizedTime
svn path=/trunk/; revision=12732
2004-12-12 22:47:24 +00:00
Ronnie Sahlberg
4490217530 update to the ber CHOICE helper to make it handle (i hope) a CHOICE inside a CHOICE properly.
svn path=/trunk/; revision=12731
2004-12-12 22:19:00 +00:00
Ronnie Sahlberg
0e528dc7a1 updates from tomas and anders
create some missing makefiles for autogenerated dissectors

finish the transition to the new ber integer dissetor helper signature
and regenerate all ber dissectors



svn path=/trunk/; revision=12724
2004-12-12 01:14:03 +00:00
Ronnie Sahlberg
dab0fabcad remove the function with the old signature for ber integer dissection
svn path=/trunk/; revision=12723
2004-12-12 00:24:21 +00:00
Ronnie Sahlberg
f07b25895b when creating a new subset tvb for a field for further dissection by child dissectors, then if the original tvb is short and doesnt contain enough data, try to create a new subset tvb with as much data we do have instead of just bailing out.
svn path=/trunk/; revision=12623
2004-11-30 03:39:34 +00:00
Ronnie Sahlberg
222ba89923 update dissection of unknown blobs to try to dissect even more stuff.
svn path=/trunk/; revision=12605
2004-11-25 22:27:52 +00:00
Ronnie Sahlberg
43045f122d updates to prettify a bit when attempting to dissect an unknown blob
svn path=/trunk/; revision=12604
2004-11-25 21:30:38 +00:00
Guy Harris
6ec445bfe4 Set the length of the tvbuff to be handed to the subdissector
appropriately (minimum of reported length and length of data left
in the parent).

svn path=/trunk/; revision=12569
2004-11-21 23:02:36 +00:00