Commit Graph

25 Commits

Author SHA1 Message Date
Ronnie Sahlberg bb0cf08d8c Major update of the ber helpers to fix a lot of bugs and make the handling of implicit_tags more sane.
It worked reasonably well   mainly, I suspect, due to implicit tags are reasonably uncommon in the dissectors we have already implemented and that the bugs were masking eachothers.


my regression tests (limited test samples though) decodes this new one exactly the same as the old one.


As a bonus by not changing anythiong in the decode  is that now it is possible to get dissection of implice items to work properly,  hence CMIP
(and also x509 Extensions work now)


make heaps of dissector helpers implicit_tag  aware.

change asn2eth to generate code to call the implicit_tag aware integer dissector helper.


svn path=/trunk/; revision=12520
2004-11-14 05:10:44 +00:00
Guy Harris 2e8853d825 From Tomas Kukosa:
add support for ANY type;

	add support for DEFAULT { } (empty sequence);

	some minor changes.

svn path=/trunk/; revision=12464
2004-11-01 17:51:07 +00:00
Guy Harris 18cb5c3c07 From Tomas Kukosa:
- avoid assignemnt to None which is deprecated in Python 2.3
	- fix bug when one field is used both with and without implicit
	  tag

svn path=/trunk/; revision=12277
2004-10-12 08:11:46 +00:00
Guy Harris 512285a434 More constification of arrays.
svn path=/trunk/; revision=12261
2004-10-11 08:36:55 +00:00
Guy Harris e409958909 Constify "asn_namedbit" structures.
svn path=/trunk/; revision=12252
2004-10-11 06:31:23 +00:00
Guy Harris 7b287f6696 Make "ber_sequence" tables "const".
svn path=/trunk/; revision=12246
2004-10-08 20:43:43 +00:00
Guy Harris 6aad0b0543 From Tomas Kukosa:
- fix for protocol registration (register_dissector() does not return
  handle)
- new directive REGISTER which can register PDU more than once
- implicit tagging environment is supported 

svn path=/trunk/; revision=12177
2004-10-01 19:54:46 +00:00
Guy Harris 79c706baf9 From Tomas Kukosa:
- make the default protocol name module-name from input file
- don't use the [##]/(##) mark for index of SET/SEQUENCE item with
  original PER/BER API
- allow PDUs to be registered 

svn path=/trunk/; revision=12066
2004-09-22 16:32:20 +00:00
Ronnie Sahlberg 88a4c48f24 from tomas kukosa, fix for generated _PDU() functions to match the dissector_t signature
svn path=/trunk/; revision=11984
2004-09-13 08:00:33 +00:00
Ronnie Sahlberg 6385a7601e From Tomas Kukosa, updates to the asn2eth compiler
svn path=/trunk/; revision=11981
2004-09-13 05:13:52 +00:00
Guy Harris 9ad0faed03 From Tomas Kukosa:
- only one function prototype is emitted if type is present in more
    than one cyclic dependency

  - field decoding functions has to be emitted immediately after a
    function prototype in case of cyclic dependency

  - few grammar changes               

svn path=/trunk/; revision=11535
2004-07-27 05:32:58 +00:00
Ronnie Sahlberg 0d59053844 make the implicit_tag parameter _U_ to get rid of some compiler warnings in those cases it is not used.
svn path=/trunk/; revision=11485
2004-07-23 13:21:48 +00:00
Guy Harris 8a8b883450 Set the svn:eol-style property on all text files to "native", so that
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.

svn path=/trunk/; revision=11400
2004-07-18 00:24:25 +00:00
Guy Harris 789f70f743 From Tomas Kukosa: small fix for ASN2ETH compiler concerning creation of
export conformance file.

svn path=/trunk/; revision=11246
2004-06-26 09:56:22 +00:00
Ronnie Sahlberg 9c880121eb from tomas k
updates to the asn2eth compiler and a new regenerated h235 dissector

svn path=/trunk/; revision=11231
2004-06-24 21:50:05 +00:00
Ronnie Sahlberg 8bd0783e6b from Tomas K
updates to the asn2eth per/ber compiler

svn path=/trunk/; revision=11223
2004-06-24 05:13:59 +00:00
Ronnie Sahlberg 1c236463ba update asn1 compiler to (hopefully) handle BER SET OF constructs
svn path=/trunk/; revision=11141
2004-06-12 02:08:34 +00:00
Ronnie Sahlberg 2aaa6a6ca0 Parameter 8 to dissect_ber_bistring() is the ett_ variable (or -1) and not
a NULL **proto_tree pointer.

Set the ett variable to always be -1 for the time being

svn path=/trunk/; revision=11140
2004-06-12 01:34:29 +00:00
Ronnie Sahlberg 02e4a25626 From Tomas Kukosa updates to the ASN1 compiler
Change doc string to not specificly state it is for PER
Temporary/Partial fix for the tag of impoerted types.

svn path=/trunk/; revision=11139
2004-06-12 01:21:02 +00:00
Ronnie Sahlberg c4c61d62a5 update to the asn1 compiler.
Do not output the value definitions for enumerated integers twice.
the c compiler doesnt like when the same symbol is declared twice.

svn path=/trunk/; revision=11124
2004-06-07 07:44:36 +00:00
Ronnie Sahlberg 64c5600578 Tomas updates to H235 and the ASN2ETH compiler
svn path=/trunk/; revision=11104
2004-06-04 11:28:04 +00:00
Guy Harris aad35bf43f From Tomas Kukosa:
- limits for dissect_per_constrained_integer() are passed as unsigned
    if possible
  - new directive NO_EMIT in conformation file - avoids emitting
    function body (or vals or both) into packet-xxxx-fn.c file
  - new directive USER_DEFINED in conformation file - emitting of
    function body (or vals or both) in the packet-xxxx-fn.c file is
    replaced with external declaration
  - support for SET OF type for BER
  - flag WITH_VALS is default for EXPORTS, USER_DEFINED, NO_EMIT
    directives
  - the _U_ attribute is used for pinfo parameters
  - the offset parameters and return codes are changed from guint32 to
    int

svn path=/trunk/; revision=11088
2004-06-03 08:33:29 +00:00
Guy Harris 40ecde2765 The function pointer in a "per_choice_t" or a "per_sequence_t" is to a
function that returns "int", not "guint32"; define those functions to
return "int".

svn path=/trunk/; revision=10999
2004-05-25 21:23:09 +00:00
Guy Harris 3858062c2f Replace some Windows dash/hyphen character with a "-" in some comments.
Make the header files declare the "value_string" arrays as "extern", so
as to prevent problems on some platforms when building a shared
libethereal.

Note that, at least currently, we have separate "PER_NOT_DECODED_YET()"
and "BER_NOT_DECODED_YET()" macros, rather than a common
"NOT_DECODED_YET()" macro.

svn path=/trunk/; revision=10996
2004-05-25 21:06:54 +00:00
Ronnie Sahlberg 67e156bb57 From Tomas Kukosa
ASN2ETH compiler and support script for lexical and syntactic analysis.

Will later be used for all those ASN.1 protocols we havent implemented yet

svn path=/trunk/; revision=10983
2004-05-24 08:33:09 +00:00