I attach my RTSE dissector (in tar file) which requires the included ROS dissector, as well as a patch to the latest pres.{cnf,asn}. The ROS dissector uses a new field in the SESSION_DATA_STRUCTURE to pass the ROS operation to the sub-dissector, though this is also set by other dissectors (RTSE uses it in X.410 mode).
Note that X.400 P1 in X.410 mode doesn't use ROS, so it is useful not to explicitly include ROS in my X411 dissector. However, the inclusion of a ROS dissector won't effect any dissectors that currently implement their own ROS.
I also include dissectors for:
X.411 (P1) X.400 OSI Message Transfer Service
X.420 (P22) X.400 OSI Information Object
STANAG 4406 (P772) STANAG 4406 Military Message Extensions (to P22)
These rely on the RTSE and ROS dissectors.
svn path=/trunk/; revision=15679
Basically the changes are:
a) [pres] make the find_oid_by_[pres_]ctx_id (I changed the name to make it more specific) non-static so it can be called from other dissectors (see acse.cnf changes). I also call it from RTSE and ROS dissectors
b) [acse] remove (#ifdef NOT_NEEDED) the oid lookup table and any reference to acse_handle - as these are no longer needed
c) [acse] register the acse dissector on 2.2.1.0.1
with some modifications: -#ifdef:ed code removed
- renamed aco -> pco
svn path=/trunk/; revision=15678
Fix a typo.
packet-ber.c
packet-acse.c
packet-cmip.c
- Add OID(s)
packet-ses.c
Fix export of a value string and change names to the ones used in the protocol spec.
Replace PRES dissector with an asn2eth generated one.
svn path=/trunk/; revision=15614
use individual g_malloc() calls instead of memchunks. This lets us use
tools like Valgrind and ElectricFence to find bugs.
In the H.245 dissector, set h245_pi to NULL after we're done with
it so that we don't go stomping through our memchunks with muddy
boots later on. Fixes the current Buildbot menagerie failure.
svn path=/trunk/; revision=15539
acse_ctx_oid_table - destroying the hash table will destroy the hash
table items, and the destroy function no longer has any work to do
because the OID strings are now allocated with se_strdup() (and thus get
freed when the capture is closed).
Regenerate packet-acse.c, which also regenerates acse-exp.cnf.
svn path=/trunk/; revision=15480
Small patch to ber.c
The tcap dissector has been updated to use this length. I have not tested other asn.1 dissectors to ensure that they correctly use the indefinite encoding flag instead of the length value returning zero.
There may also be some problems when re-assembly is needed, but the ability to deal with indefinite length is much more useful.
For developers the get_ber_length now returns the length of the pdu including the EOC, where you have dissectors that use packet-ber.c the eoc may need to be dealt with separately.
The tcap dissector has had numerous changes to make it less cluttered, and the useful feature of the previous version where a dialogue could be filtered out by selecting either the source or destination transaction ID has been incorporated into this version.
svn path=/trunk/; revision=15414
- asn2eth:
fixed CHOICE tag handling
#.FN_PARS support for BIT STRING and all string types
intersection of SIZE and FROM constraints for string is handled
- new asn2eth features used in h225 and h245
- PER dissectors regeneration
svn path=/trunk/; revision=15408
there are only 5 gmemchunks left but they have different litetime for their allocations than the 100+ ones that have been removed.
The remaining 5 should be converted some other way.
svn path=/trunk/; revision=15328
The generated file has a lot of indentation changes due probably to a change in asn2eth.
The underlying reason for which I added this code (dissect_ber_integer() would not add as a "filterable" field if it is larger than 4 bytes, should be handled in dissect_ber_integer() ) remains there.
Should we change dissect_ber_integer() itself to make sure that a 5 byte unsigned integer which fits in 4 bytes gets added to the tree as "filterable"?
svn path=/trunk/; revision=15294