Commit Graph

160 Commits

Author SHA1 Message Date
João Valverde 54a520d4a1 Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9
Reviewed-on: https://code.wireshark.org/review/14388
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: João Valverde <j@v6e.pt>
2016-03-13 21:30:24 +00:00
João Valverde 8d0455c910 Fix asn2wrs warnings [-Wredundant-decls]
Change-Id: Iced801f17c56618eaaf1bb7c85d68ecdebd633a1
Reviewed-on: https://code.wireshark.org/review/13705
Petri-Dish: João Valverde <j@v6e.pt>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2016-02-04 09:47:01 +00:00
Michael Mann a33209d69e Convert ASN.1 dissectors to remove "new" from "new-style" dissector function names that were generated from asn2wrs.py
This includes:
1. new_create_dissector_handle -> create_dissector_handle
2. new_register_dissector -> register_dissector
3. new_register_ber_oid_dissector -> register_ber_oid_dissector
4. new_register_ber_syntax_dissector -> register_ber_syntax_dissector

Also remove PDU_NEW, SYNTAX_NEW and REGISTER_NEW as there is no need for the distinction anymore.

Change-Id: I82c7de7c8ffeeab3259d1b55bb4afc5f6a1e0329
Reviewed-on: https://code.wireshark.org/review/12491
Petri-Dish: Michael Mann <mmann78@netscape.net>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-12-10 17:06:02 +00:00
Peter Wu 992a7ee6e7 asn2wrs.py: always use relative paths
Avoids absolute paths when using cmake and doing an in-tree build.

Before (source directory is /tmp/wireshark):

    /*--- Included file: /tmp/wireshark/asn1/t38/packet-t38-exp.h ---*/

After:

    /*--- Included file: packet-t38-exp.h ---*/

Change-Id: Id5c98bff7b97447479e1a09751701f2f52132b20
Reviewed-on: https://code.wireshark.org/review/12118
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-11-25 16:29:01 +00:00
Pascal Quantin d61c3d592b asn2wrs.py: fix path substitution when generating ASN.1 dissectors with CMake on Windows
Change-Id: I48e7d48544274f27d276e7128f8d2a2727c0b9cd
Reviewed-on: https://code.wireshark.org/review/12031
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-11-22 11:30:54 +00:00
Peter Wu b1ab36a813 tools/asn2wrs.py: fix isdn-sup generation with Py3
Python 3 has removed the cmp function for sort functions, relying on a
key function instead.

Tested with Python 2.7.10 and 3.4.3.

Change-Id: Id571b836304528ecc3b23a0f8a2843c4538c3e1b
Reviewed-on: https://code.wireshark.org/review/9212
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-06-29 22:46:58 +00:00
Peter Wu 149d0b7e91 tools/asn2wrs.py: handle windows-1252 encoding
The RRC ASN.1 definitions resulted in a decode error in Python because
the file is encoded as windows-1252 instead of UTF-8. This patch makes
the tool more forgiving in handling windows-1252 encodings.

Tested with Python 2.6.9, 2.7.10, 3.4.3.

Change-Id: I9c9269e1065c98b8bcfb57ab4bfd21d5e183a656
Reviewed-on: https://code.wireshark.org/review/9133
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2015-06-29 09:36:34 +00:00
Gerald Combs 3f765b3ef9 Add a CF_FUNC macro for casting BASE_CUSTOM functions.
Add a CF_FUNC macro to match VALS, TFS, etc. This should help us to avoid
the following warning:

    warning: ISO C forbids initialization between function pointer and 'void *' [-Wpedantic]

We could start adding DIAG_OFF+DIAG_ON everywhere but this seems to be
more consistent with the other macros in proto.h. Update each instance
of BASE_CUSTOM to use CF_FUNC.

Adjust a dummy variable name generated by asn2wrs.py that was triggering
an invalid error in checkhf.pl.

Fix an encoding arguement in packet-elasticsearch.c found by
fix-encoding-args.pl.

Change-Id: Id0e75076c2d71736639d486f47b87bab84e07d22
Reviewed-on: https://code.wireshark.org/review/7150
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-18 00:05:38 +00:00
Pascal Quantin e7593ea19d asn2wrs: autodetect if 64 bits variant is required for constrained integers
It does not work with defines, but is already a great step forward

Change-Id: I346d4124690ec46a2299d4eae8031bbb19a3db8e
Reviewed-on: https://code.wireshark.org/review/6617
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-18 13:30:56 +00:00
Stig Bjørlykke 683165272f asn2wrs: Added support for #.SYNTAX_NEW
This allows syntaxes to be registered as "new" dissectors.

Change-Id: Ibb76688d9d3cbf47222610956aa627fa374bcbce
Reviewed-on: https://code.wireshark.org/review/4524
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-10-07 20:28:10 +00:00
Bill Meier b4850149dd Remove a trailing space from a line of generated code.
Change-Id: Ib95c0db932c54f5664905bde9286aad7a195570f
Reviewed-on: https://code.wireshark.org/review/411
Reviewed-by: Bill Meier <wmeier@newsguy.com>
Tested-by: Bill Meier <wmeier@newsguy.com>
2014-02-26 19:37:20 +00:00
Jeff Morriss 82e2865739 Remove $Id$ and other Subversion leftovers from the tools.
There are a few things in here which could still use attention.

Don't regenerate anything now.

Change-Id: I283c224d3523212144707fca3d6265916cb11792
Reviewed-on: https://code.wireshark.org/review/205
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-02-14 01:35:57 +00:00
Stig Bjørlykke 4e7e5a63c3 asn2wrs: Rewrite relative paths in header.
Change both absolute paths and relative paths generated outside
source directory to paths relative to asn1/<proto> subdir.

Change-Id: I867d3a31c687b08347b11336ce69fc70db2d7c7b
Reviewed-on: https://code.wireshark.org/review/88
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-02-04 08:17:54 +00:00
Jakub Zawadzki 064082e68a Change G_GINT64_CONSTANT(xxxxU) to G_GUINT64_CONSTANT(xxxx)
svn path=/trunk/; revision=54314
2013-12-20 22:39:32 +00:00
Pascal Quantin ea45be32c5 Add a way to retrieve a PER variable bit string length
svn path=/trunk/; revision=53382
2013-11-17 13:31:32 +00:00
Evan Huus 918df38a05 Add an X11/MIT license to asn2wrs.py as it's compatible with our license, that's
what the original base code was, and Tomas (who made most of the
wireshark-specific changes) has no particular preference.

svn path=/trunk/; revision=52801
2013-10-23 17:22:54 +00:00
Michael Mann ee208c8dcc Add support for RELATIVE-OID ASN.1 type. Bug 9192 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9192)
From Ed Beroset.

svn path=/trunk/; revision=52393
2013-10-06 02:31:10 +00:00
Jörg Mayer c248e3c5b2 Add modelines to avoid using tabs in the code
svn path=/trunk/; revision=51779
2013-09-05 09:23:50 +00:00
Jörg Mayer a5e2a30fc7 Change the regexp syntax a bit.
svn path=/trunk/; revision=51778
2013-09-05 08:55:09 +00:00
Stig Bjørlykke 06c27f8749 Use intended regex modification for absolute paths.
svn path=/trunk/; revision=51777
2013-09-05 08:32:00 +00:00
Stig Bjørlykke fadd2ae1c8 Removed TAB as indent.
Fixed regex for modifying absolute paths in header.

svn path=/trunk/; revision=51776
2013-09-05 08:22:44 +00:00
Jörg Mayer 8b842aeb02 Adapt generated output to always print paths relative to
the asn1/<proto>/ subdir. This makes cmake generated builds
look identical to autotools generated builds.

svn path=/trunk/; revision=51775
2013-09-05 07:38:32 +00:00
Gerald Combs e6202124eb Make sure we're compatible with Python 2 + 3. Tested with Pythons 2.5,
2.7, and 3.3.

svn path=/trunk/; revision=51105
2013-08-02 00:16:14 +00:00
Tomas Kukosa fd5c1ddf5c Allow C directives in #.FN_HDR, #.FN_FTR, #.FN_BODY, they have to start with ##
svn path=/trunk/; revision=49763
2013-06-04 14:07:36 +00:00
Pascal Quantin 0ee4d0a00a Postfix FT_NONE fields with "_element" string to reduce number of incompatible filters in ASN.1 dissectors
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2402

svn path=/trunk/; revision=49599
2013-05-27 20:26:49 +00:00
Gerald Combs a6131151f5 Use consistent "generated automatically" wording which will hopefully be
picked up by licensecheck.

svn path=/trunk/; revision=48812
2013-04-10 21:24:19 +00:00
Anders Broman a9ed804565 From Tomas Kukosa:
Make it possible to sort LocalCode value_strings.

svn path=/trunk/; revision=48720
2013-04-03 16:52:56 +00:00
Tomas Kukosa 109c2326e2 OPERATION and ERROR tables can loop through only items with either local or global CODEs
svn path=/trunk/; revision=48476
2013-03-22 07:30:32 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Jakub Zawadzki 5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Pascal Quantin babe622987 Use G_MININT32 instead of -2^31 so as to get rid of 'this decimal constant is unsigned only in ISO C90' warning
svn path=/trunk/; revision=43764
2012-07-17 13:12:50 +00:00
Jeff Morriss cf012d27b1 Build the ASN.1 dissectors directly into epan/dissectors (rather than building
them and then copying them over).  The "all" target to builds these dissectors
now (instead of "generate_files" and/or "copy_files").

asn2wrs's "-O" option now means "the dissector goes in this directory" (rather
than "all output goes in this directory"); it also means that the "-s" (single
output file) option is now required.

Fix things up so that it's possible to build all of the ASN.1 dissectors in
one shot.

Fix building of conformance files when doing out-of-source-tree builds.


Unfortunately "make all" in the asn1 directory always builds something--I think
because of circular depedencies.

svn path=/trunk/; revision=39333
2011-10-10 02:31:11 +00:00
Stig Bjørlykke 46ae76bf6c Always generate packet-*-exp.h.
This fixes a bug when only exporting _PDU objects, and we can have
'#include "packet-*-exp.h"' in packet-*-template.h even when having
no #.EXPORTS in the conformation file.

svn path=/trunk/; revision=39320
2011-10-09 10:42:54 +00:00
Tomas Kukosa 733452afd7 Support for Extension Addition Group in PER encoding
Fix for bug 6196 https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6199

svn path=/trunk/; revision=38421
2011-08-09 08:00:06 +00:00
Gerald Combs a5b20fbdf6 Add a relative path to the "#line" directives we produce. Regenerate the
SNMP and SPNEGO dissectors to see if it helps Coverity locate the
original source files.

svn path=/trunk/; revision=36522
2011-04-08 19:51:39 +00:00
Anders Broman 0119e04527 Try to enhance output at ValueError to ease debugging.
svn path=/trunk/; revision=35578
2011-01-19 06:33:33 +00:00
Balint Reczey 04386e3ca1 Raise Exceptions containing a string instead of string exceptions
This fixes https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4846

svn path=/trunk/; revision=35258
2010-12-23 23:36:48 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys.  (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)

svn path=/trunk/; revision=35224
2010-12-20 05:35:29 +00:00
Bill Meier 1b7474fab6 Sort value_string array by value if used with value_str_ext fcns;
svn path=/trunk/; revision=34874
2010-11-14 23:48:07 +00:00
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