Commit graph

171 commits

Author SHA1 Message Date
Tomas Kukosa
5fbdb1c378 Generate proper extension flags for empty constructed types SEQUENCE { ... } and CHOICE { ... }
svn path=/trunk/; revision=34400
2010-10-07 14:24:04 +00:00
Tomas Kukosa
7c60d30dc5 - fix using hex values as constraint
- avoid crash if unknown type is used in type assignment

svn path=/trunk/; revision=33905
2010-08-24 05:53:17 +00:00
Graeme Lunt
5aa05c8559 New "#.SYNTAX" section for the asn2wrs conformance file.
This allows syntaxes to be registered separately from PDUs.
Within the new section, the ASN.1 types to be used as syntaxes should be iterated. 
An optional second parameter on each line may be provided to provide an alternative name for the syntax (that the user will see). This name must be in double quotes.



svn path=/trunk/; revision=33370
2010-06-29 12:16:10 +00:00
Graeme Lunt
0d9ad5016e Remove the -R flag (used to generate syntax registrations) and replace with a
packet-<proto>-syn-reg.c output file. This is more generic and allows the 
syntax registrations to the directed from the template file.


svn path=/trunk/; revision=33342
2010-06-28 09:26:41 +00:00
Graeme Lunt
2e28eb7b5f New option (-r) to allow a prefix to be removed from type names.
Usage: asn2wrs.py -r prefix

This is used by x509sat where a prefix is used in type names to 
avoid conflicts with built-in types.


svn path=/trunk/; revision=33298
2010-06-23 11:00:46 +00:00
Graeme Lunt
a3300280f2 New option (-R) to asn2wrs to register the PDUs defined in the conformance file as BER syntaxes (register_ber_syntax_dissector()).
svn path=/trunk/; revision=33175
2010-06-09 09:27:28 +00:00
Tomas Kukosa
2f0c4dde50 Support of value_string_ext in the asn2wrs using new directive #.USE_VALS_EXT
Example usage in NBAP

svn path=/trunk/; revision=32944
2010-05-25 09:07:12 +00:00
Tomas Kukosa
0611ae90a0 Support of AUTOMATIC tagging environment
(necessary for generating e.g. H.248 from original ASN.1 source)

svn path=/trunk/; revision=32782
2010-05-13 13:16:26 +00:00
Tomas Kukosa
e32b9b9062 ASN.1 compiler accepts version brackets in SEQUENCE and CHOICE extensions
svn path=/trunk/; revision=32781
2010-05-13 10:00:37 +00:00
Jeff Morriss
a0c858efcd Add a little more code to avoid not-very-useful blurbs:
- Change spaces in the name to underscores before comparing it to the blurb.
  - Check if the type simply as T_ prepended to the name.
  - Don't put in a blurb of "NULL".

and regenerate the dissectors.

svn path=/trunk/; revision=32748
2010-05-11 03:53:31 +00:00
Jeff Morriss
e743c4e101 Try to avoid the user confusion reported in
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3477 by not using blurbs
that look like abbreviations (filter strings).

While we're at it try to avoid giving blurbs that are identical (or nearly so)
to the field name.

Regenerate a couple of dissectors like this to prove out the idea.

svn path=/trunk/; revision=32673
2010-05-05 14:29:55 +00:00
Balint Reczey
eef2b5a361 Revert accidentally committed change
svn path=/trunk/; revision=32031
2010-02-27 13:24:42 +00:00
Balint Reczey
339131d835 Prevent potential crash in libsmi.
From: Vincent Bernat <bernat@debian.org>

svn path=/trunk/; revision=32006
2010-02-25 19:28:58 +00:00
Anders Broman
984524db42 Fix from Tomas Kukosa to resolve problem with large negative intiger constraints
"packet-rrlp-fn.c:2391: warning: integer constant is too large for 'long' type."

svn path=/trunk/; revision=31777
2010-02-03 16:58:52 +00:00
Stig Bjørlykke
6a433058f9 Added check for SIZE constraints in bit-string.
svn path=/trunk/; revision=31447
2010-01-05 11:38:33 +00:00
Stig Bjørlykke
e73a89d91a Added option (-C) to check for SIZE constraints in octet-string, integer,
enumerated, sequence-of and set-of types.

Added BER functions to check for SIZE constraints and give expert info warnings.

svn path=/trunk/; revision=31309
2009-12-18 15:18:31 +00:00
Anders Broman
ba6d7aa766 Handle lenght restriction extension of restricted strings.
Fixes 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4251

svn path=/trunk/; revision=31048
2009-11-22 17:01:56 +00:00
Stig Bjørlykke
13201ce6b7 Default to BASE_NONE for FT_BOOLEAN with zero value for display.
svn path=/trunk/; revision=28803
2009-06-22 06:16:39 +00:00
Stig Bjørlykke
7cd1a1d38b Write NULL for empty blurb.
svn path=/trunk/; revision=28773
2009-06-19 03:37:52 +00:00
Stig Bjørlykke
dec6ea57ae Use BASE_NONE for FT_BYTES.
svn path=/trunk/; revision=28769
2009-06-18 21:26:13 +00:00
Stig Bjørlykke
cbcd176043 Improved name and abbrev used for sequence of and set of elements.
svn path=/trunk/; revision=28377
2009-05-16 22:01:19 +00:00
Anders Broman
e5d6ac8615 Use G_GINT64_CONSTANT in stead of G_GUINT4_CONSTANT
svn path=/trunk/; revision=28048
2009-04-14 18:10:45 +00:00
Tomas Kukosa
3d8d91d80c support UINT64 constants for upper value bounds
svn path=/trunk/; revision=28042
2009-04-14 07:34:56 +00:00
Anders Broman
99bbe55222 Make it possible to check for extension marker in SEQUENCE OF and SET OF.
Fore some reason  the trace in bug https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3360 does not decode properly
if dissecting the exension marker so leave that code #if 0:ed out for now.

svn path=/trunk/; revision=27848
2009-03-25 22:04:23 +00:00
Tomas Kukosa
33763b7a53 - resolve one reduce/reduce conflict in grammar
- fix obsolete Python constructions

svn path=/trunk/; revision=27367
2009-02-04 13:24:09 +00:00
Tomas Kukosa
c5ecbf6d40 fix all warn_explicit() usages incompatible with Python 2.6
svn path=/trunk/; revision=26788
2008-11-15 19:53:05 +00:00
Tomas Kukosa
e20cfef6f9 - new #.MODULE_EXPORTS directive which exports symbols including module prefix, used to avoid conflicts when two modules have types with the same name and they need to be used together
- fix few Python warnings

svn path=/trunk/; revision=26738
2008-11-10 13:27:41 +00:00
Anders Broman
7ce0cd961e From Pascal Quantin:
ASN.1: display the real name of SEQUENCE/TYPE OF parameters

svn path=/trunk/; revision=26669
2008-11-01 22:28:56 +00:00
Stig Bjørlykke
d255e44bfa From Martin Peylo (bug 2507):
The attached patch enables asn2wrs.py and packet-ber.c to decode UTCTime
according to the definitions in X.680.

svn path=/trunk/; revision=25897
2008-08-01 16:44:06 +00:00
Tomas Kukosa
b2b6786670 cleanup code (remove some collapsed conditions)
svn path=/trunk/; revision=24215
2008-01-28 17:34:38 +00:00
Tomas Kukosa
b1d62c4418 use FN_VARIANT parameter in INTEGER type for planned 64bit variants
svn path=/trunk/; revision=24087
2008-01-14 11:21:09 +00:00
Tomas Kukosa
27a531e06a more sophisticated H245 OLC handling focusing on more reliable T.38 establishment
svn path=/trunk/; revision=24043
2008-01-09 13:30:31 +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
Tomas Kukosa
7529f33437 support for additionally SIZE constrained Typereference
the support is only semiautomated as this feature does not occur very often
use this feature for the TBCD-STRING in the H.225 dissector

svn path=/trunk/; revision=23958
2007-12-28 10:42:44 +00:00
Tomas Kukosa
1e794fc494 ANSI TCAP regenerated and tested with -T -X asn2wrs options
asn2wrs has -T (tagged types support) and -X (new BER sttructures) default behavior
remove all -T and -X usage

svn path=/trunk/; revision=23823
2007-12-10 08:35:41 +00:00
Tomas Kukosa
1bef58264a fix field attributes handling for tagged types
regenerate involved dissectors

svn path=/trunk/; revision=23783
2007-12-06 11:23:35 +00:00
Tomas Kukosa
d32d2e9525 better built-in X.880 support
forward declarations of OPERATION and ERROR classes are not necessary when Remote-Operations-Information-Objects.asn itself is compiled

svn path=/trunk/; revision=23328
2007-11-01 11:56:33 +00:00
Tomas Kukosa
6090991c45 small improvement in class fields handling
svn path=/trunk/; revision=23321
2007-10-31 12:57:01 +00:00
Tomas Kukosa
0386717cf0 accept VariableTypeValueFieldSpec syntax and ParameterizedObjectClass syntax
svn path=/trunk/; revision=23320
2007-10-31 09:33:54 +00:00
Tomas Kukosa
84488ec016 asn2wrs
- parameterized object class assignment
 - octet string with extensible size constraint
 - RELATIVE-OID type (still not supported in packet-per/ber)
packet-per
 - octet string with extensible size constraint
more dissect_per_... functions exported from libwireshark.dll
PER dissectors regenerated
add forgotten packet-h323-template.h
fix svn properties for h323 files

svn path=/trunk/; revision=23309
2007-10-29 19:25:37 +00:00
Tomas Kukosa
49495dfb85 fix export of ObjectFieldSpec and ObjectSetFieldSpec of CLASS
svn path=/trunk/; revision=23250
2007-10-22 19:29:29 +00:00
Tomas Kukosa
44800d2c5a H.460 new dissector implemented (H.460.2-H.460.22)
H.225
 - change RysMessage_vals to h225_Rasmessage_vals
 - use #.PDU directive for H323-UserInformation and RasMessage instead of implementing it by hands
 - register RasMessage_PDU as "h225.ras" dissector for calling it from H.460
asn2wrs make PDUs exportable

svn path=/trunk/; revision=23226
2007-10-18 13:35:57 +00:00
Tomas Kukosa
b4ed21c3e6 - new command line option -E which makes just .cnf export file
- new directive #.IMPORT which ignores nonexistent input file if -E is used
- type name parameter for #.FN_HDR and #.FN_FTR is optional if #.FN_PARS or #.FN_HDR precedes

svn path=/trunk/; revision=23181
2007-10-15 11:51:01 +00:00
Jörg Mayer
2e37539cd5 Remove path at two more places from the output
svn path=/trunk/; revision=23155
2007-10-11 23:21:51 +00:00
Tomas Kukosa
e6290e8edc put only file basename into #line directives
svn path=/trunk/; revision=23146
2007-10-11 14:48:12 +00:00
Tomas Kukosa
207837b284 do not prepend './' before input file name if -D <dir> option is not used
it made problem with absolute path usage

svn path=/trunk/; revision=23068
2007-10-05 07:36:51 +00:00
Tomas Kukosa
0f31c30b4b support of 'ANY DEFINED BY' from X.208 which is obsolete but still used in some RFCs
svn path=/trunk/; revision=23043
2007-10-02 06:52:11 +00:00
Jörg Mayer
0cb93f22ba Add command line switch
-D dir        : Directory for input_file(s) (default: '.')
to allow asn2wrs being used in out of tree builds.

Beautify -h output a bit.

svn path=/trunk/; revision=22938
2007-09-24 13:49:25 +00:00
Tomas Kukosa
e256ad3713 new directive #.ASSIGN_VALUE_TO_TYPE
svn path=/trunk/; revision=22725
2007-08-29 11:47:35 +00:00
Jörg Mayer
0576eb451f Make Windows path separator look like Unix path separator.
That way, we will not have irrelevant diffs depending on
the platform the last submitter built the dissector on.

svn path=/trunk/; revision=22624
2007-08-24 06:51:10 +00:00
Tomas Kukosa
396ceb5607 NBAP rewritten to use original ASN.1 source and updated to TS 25.433 V7.5.0 (2007-06)
svn path=/trunk/; revision=22490
2007-08-13 11:15:39 +00:00
Tomas Kukosa
5a46ea46b5 H.450 regenerated from original ASN.1 sources
svn path=/trunk/; revision=22417
2007-07-30 08:01:59 +00:00
Tomas Kukosa
3b5c406f8c QSIG fully implemented
svn path=/trunk/; revision=22361
2007-07-20 09:54:47 +00:00
Tomas Kukosa
17feb32ca9 change QSIG tables structure so as they can be generated automatically from ASN.1 in the next step
svn path=/trunk/; revision=22354
2007-07-19 11:41:10 +00:00
Tomas Kukosa
698426f6b8 support for syntax of TYPE-IDENTIFIER and ABSTRACT-SYNTAX classes
svn path=/trunk/; revision=22332
2007-07-17 09:59:35 +00:00
Tomas Kukosa
7c5aa2d461 small changes in value reference handling and parameterized object assignment handling
svn path=/trunk/; revision=22234
2007-07-03 11:01:21 +00:00
Tomas Kukosa
8d3fd802e3 - HSTRING value support
- accept any type in CONSTRAINED BY

svn path=/trunk/; revision=22232
2007-07-02 13:03:39 +00:00
Tomas Kukosa
546176eaaf register type of OPERATION fields &ArgumentType and &ResultType and ERROR field &ParemeterType if other type than Typereference is used
svn path=/trunk/; revision=22230
2007-07-02 12:22:05 +00:00
Tomas Kukosa
992aa0798d - implementation of OPERATION and ERROR objects support started
- new #.TABLE... directives to printout objects into output files 

svn path=/trunk/; revision=22223
2007-06-29 11:28:35 +00:00
Tomas Kukosa
2c33ab54e7 check conflict in CLASS fields redefinition
svn path=/trunk/; revision=22203
2007-06-27 14:26:17 +00:00
Tomas Kukosa
705f89de7a - INSTANCE OF type support
- fix bug in empty SET handling
- partial support for OpenTypeFieldVal
- allow useful object classes in ObjectFieldSpec and ObjectSetFieldSpec

svn path=/trunk/; revision=22202
2007-06-27 08:13:53 +00:00
Tomas Kukosa
283c094ec3 comment out some forgotten debug printouts
svn path=/trunk/; revision=22185
2007-06-25 10:26:21 +00:00
Tomas Kukosa
c2172dbc5b - fix field type FT_... for SelectionType
- fix OPTIONAL handling in CLASS definition
- Q.932 ROS regenerated

svn path=/trunk/; revision=22184
2007-06-25 08:58:27 +00:00
Tomas Kukosa
2c362d3e8d - improve compilation (passing type information) if modules are not merged with -p option
- start "module grouping" compilation feature

svn path=/trunk/; revision=22063
2007-06-07 06:05:36 +00:00
Tomas Kukosa
b4d36142ed build-in OPERATION and ERROR classes definition
svn path=/trunk/; revision=22056
2007-06-06 09:46:35 +00:00
Tomas Kukosa
1dcf2aaef0 use ASN.1 type names in #.FN_BODY (instead of Wireshark type names)
svn path=/trunk/; revision=22054
2007-06-06 08:12:27 +00:00
Tomas Kukosa
0fec7475c0 replace '&' with '_' in asn2c() function
svn path=/trunk/; revision=22046
2007-06-05 13:43:45 +00:00
Tomas Kukosa
31e45c7a21 not allow #.FN_HDR/FTR for Wireshark types but only for ASN.1 types
it makes interconnection between .cnf file and ASN.1 source more readable
(changes for #.FN_BODY will follow)

svn path=/trunk/; revision=22043
2007-06-05 12:00:57 +00:00
Tomas Kukosa
368528502e few small changes to compile INAP (Q.1248.x) from original ASN.1 source
svn path=/trunk/; revision=22042
2007-06-05 08:33:39 +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
Anders Broman
4393bceae5 INAP:
- Use (some) IN CS4 asn1 files Q.1248.1 Q.1248.2 Q.1248.3

BER/asn2wrs:
-  Add basic support for EmbeddedPDVType

svn path=/trunk/; revision=22031
2007-06-03 19:58:59 +00:00
Anders Broman
7c5ec2a1e0 Syntax suport for Embedded pdv.
svn path=/trunk/; revision=22025
2007-06-02 12:26:13 +00:00
Tomas Kukosa
7cd09b8fd6 - fix bug in TaggedType support
svn path=/trunk/; revision=22003
2007-05-30 14:22:26 +00:00
Tomas Kukosa
5445d333de - better support if more modules are compiled together
- BSTRING support
- bug fix which sometimes duplicates items in SEQ/CHOICE extension

svn path=/trunk/; revision=22002
2007-05-30 14:13:26 +00:00
Tomas Kukosa
41ac062479 - COMPONENTS OF implementation (can be used only inside one module or more modules compiled together, can not be done across exported/imported types)
- if protocol name contains dot '.' it is replaced with dash '-' for default output filename
- fix bug in more modules output handling if they are not merged together but output is done one by one
- new #.OPT option EXTERNAL_TYPE_CB for default EXTERNAL type callback
- start of X.880 support implementation

svn path=/trunk/; revision=21984
2007-05-29 14:32:46 +00:00
Tomas Kukosa
77a163a6e3 fix SelectionType creation for export (if the type is only exported but not used in module)
svn path=/trunk/; revision=21973
2007-05-28 11:10:41 +00:00
Tomas Kukosa
28b739896d support of SelectionType
e.g. in TCAP
Component{...} ::= CHOICE {
  basicROS  ROS{...},
  returnResultNotLast [7] returnResult < ROS{..}
}

svn path=/trunk/; revision=21972
2007-05-28 10:55:03 +00:00
Tomas Kukosa
ddc09877e2 small improvements in value handling, defined INTEGER value can be used in OID value
svn path=/trunk/; revision=21969
2007-05-28 07:10:09 +00:00
Tomas Kukosa
3f071c757a - improvements in registering dissectors to OID table (value defined in ASN.1 can be used)
- new #.END_OF_CNF directive

svn path=/trunk/; revision=21916
2007-05-24 07:19:21 +00:00
Tomas Kukosa
e6e55fd517 small fix in duplicate type warning
svn path=/trunk/; revision=21911
2007-05-23 19:35:29 +00:00
Tomas Kukosa
fe5ee23c89 - support of CONTAINING constraint in OCTET STRING and BIT STRING
- fix handling of tag for EXTERNAL type
- change automatic postfix for duplicate names from '...%d' to '..._%02d'

svn path=/trunk/; revision=21906
2007-05-23 13:42:05 +00:00
Anders Broman
81ee0e3c42 Copy paste error, actx duplicated.
svn path=/trunk/; revision=21892
2007-05-22 21:13:55 +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
Jörg Mayer
5e33afbf50 Don't generate enums that end in a comma
svn path=/trunk/; revision=21888
2007-05-22 16:14:28 +00:00
Tomas Kukosa
16c4aa8e38 - fix asn2wrs crash if typereference assignment has non-default body
- mode directives for assignments omitting 
  (#.NO_OMIT_ASSGN, #.OMIT_ALL_ASSIGNMENTS, #.OMIT_ASSIGNMENTS_EXCEPT, #.OMIT_ALL_TYPE_ASSIGNMENTS, #.OMIT_TYPE_ASSIGNMENTS_EXCEPT, #.OMIT_ALL_VALUE_ASSIGNMENTS, #.OMIT_VALUE_ASSIGNMENTS_EXCEPT)

svn path=/trunk/; revision=21824
2007-05-18 12:48:28 +00:00
Tomas Kukosa
58105364d5 fix crash if C enum for ENUMERATED type is created
svn path=/trunk/; revision=21786
2007-05-15 12:50:13 +00:00
Tomas Kukosa
e62aef53da fix bug - compiler crashes if already imported value or class is defined
svn path=/trunk/; revision=21785
2007-05-15 11:41:45 +00:00
Tomas Kukosa
12abbdb118 command line option -X for "new BER" CHOICE and SEQUENCE table format (type oriented instead of field oriented)
svn path=/trunk/; revision=21779
2007-05-15 08:55:12 +00:00
Tomas Kukosa
35da9bda8a support for value range and unions in permitted alphabet
svn path=/trunk/; revision=21777
2007-05-15 08:15:34 +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
Tomas Kukosa
25c299ea4e - support of constraint unions
- support of FN_VARIANT parameter for OpenType
- many small changes

svn path=/trunk/; revision=21758
2007-05-14 13:46:09 +00:00
Anders Broman
0bc558f88d actx in ber_external
svn path=/trunk/; revision=21755
2007-05-13 22:01:17 +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
Tomas Kukosa
a38b44a647 - simple Information Objects support
- all definitions in ASN.1 source are skipped and need not to be commented out
  - #.CLASS directive can define types for Object Class Fields
- do not append 'xxx' postfix to parametrized types (changes H.235 and H.450 in accordance with it)
- change QSIG ASN.1 source to be more identical to original one

svn path=/trunk/; revision=21715
2007-05-07 12:59:31 +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
d58b1031de - new #.OPT directive which allows to use command line options from conformance file (and more options in the future)
- option -F|CREATE_FIELDS used from conformance file can have type parameter, field functions are created only for its members

svn path=/trunk/; revision=21682
2007-05-04 13:11:34 +00:00
Tomas Kukosa
48b11b6f15 - fix creating PDU_NEW functions, return the right value
- allow FN_PARS to be spreaded over more lines

svn path=/trunk/; revision=21675
2007-05-04 06:55:48 +00:00
Anders Broman
98cb9db12d Split out asn1 common functions. Start of BER EXTERNAL.
svn path=/trunk/; revision=21670
2007-05-03 21:52:57 +00:00
Tomas Kukosa
3ecac7ddd1 - REAL type and values are supported
- if a value of some INTEGER type is defined then it is assigned to this type like a named value
i.e.
MyType ::= INTEGER
mv01 MyType ::= 1
is equal to
MyType ::= INTEGER { mv01 (1) }

svn path=/trunk/; revision=21663
2007-05-03 11:42:33 +00:00
Tomas Kukosa
6f80d9228f - better reporting of syntax errors (or unsupported syntax) in ASN.1 source
- support of EXTERNAL type
- support of ObjectDescriptor for PER
- new #.CLASS directive for supporting some class workarounds

svn path=/trunk/; revision=21642
2007-05-02 12:18:27 +00:00