add a "match_strval_idx()" routine that does the same thing, and have
"match_strval()" call it.
Make those routines, and "val_to_str()", return a "const" pointer.
Update dissectors as necessary to squelch compiler warnings produced by
that.
Use "val_to_str()" rather than using "match_strval()" and then, if the
result is null, substituting a specific string. Clean up some other
"match_strval()"/"val_to_str()" usages.
Add a null pointer check in the NDPS dissector's "attribute_value()"
routine, as it's not clear that "global_attribute_name" won't be null at
that point.
Make some global variables in the AFS4INT dissector local.
Make some routines not used outside the module they're in static.
Make some tables "static const".
Clean up white space.
Fix Gerald's address in some files.
svn path=/trunk/; revision=14786
create the top-level protocol tree item, until the dissector accepts the
packet as being for it.
"strcmp()" isn't a Boolean; don't treat it as such.
Get rid of trailing white space.
svn path=/trunk/; revision=14750
IDL (and re-insert an earlier bug fix into the CosNaming and
CosEventComm dissectors), and add a new check added to ethereal_gen.py
to the Tango dissector.
svn path=/trunk/; revision=14745
by iDEFENSE. Add constant format strings to proto_item_append_text()
in a bunch of other dissectors. Copy a comment from proto.c to proto.h.
svn path=/trunk/; revision=14713
A new plugin based on GIOP to recognize Tango packets. TANGO is
an object oriented distributed control system based on CORBA. Tango is
being actively developed as a collaborative effort among the ESRF, Soleil, Elettra and ALBA synchrotron facilities. TANGO is an open source
project hosted by SourceForge.
svn path=/trunk/; revision=14513
replace dissect_ndr_uuid_t by dissect_dcerpc_uuid_t, as this is the correct function to use and will prevent a problem with access to non existing private_data in dissect_ndr_uuid_t
svn path=/trunk/; revision=14506
- pdu transports were upside down (ip/tcp vs tcp/ip)
- the gop to gog index was not being populated
- tell svn to ignore generated c files
svn path=/trunk/; revision=14416
in the plugins subdirectory. This target will copy all plugins to plugins/$(VERSION), thus (t)ethereal will
find and load the plugins when called from within the source tree.
call this target from the main nmake makefile after
installing other dependencies. call it from the nmake makefile
in the doc subdirectory before calling "tethereal -G".
This way "tethereal -G" will recognize the filterable
fields from the plugins, too.
svn path=/trunk/; revision=14284
- added support for local connection options
- added missing "Response Acknowledgement (000)" response code
- got rid of "display_dissect_tree" preference and code
- increased version number in moduleinfo.h
svn path=/trunk/; revision=14225
a first step of cleaning up the mgcp dissector:
- re-indenting/formatting the file as it was tricky to follow
- some code simplification and commenting (more to do)
- losing some unnecessary includes (not needed under linux at least...)
- show duplicate request and response fields in tree (previously hidden)
- improved duplicate response detection
- fix a couple of problems shown by fuzz testing
svn path=/trunk/; revision=14181
- allow dissector to show "MGCP/SDP" in the Protocol column, at least when
the 'Display the number of MGCP messages' preference is switched off
- when displaying the command verb, show in the tree the full verb name as
well as the 4-letter code
- show the links to response and request messages as being [generated]
- fixed some indentation problems
svn path=/trunk/; revision=13972
get rid of a debugging printout;
in "get_agentx_pdu_len()", fetch the payload length in the right
byte order.
If the NETWORK_BYTE_ORDER flag isn't set, that means "little-endian",
not "host byte order" - the host on which I'm typing this is big-endian!
That means that using the "g_hton[ls]()" macros on the result of
"tvb_get_ntoh[ls]()" won't give you little-endian values on a big-endian
host; just directly use "tvb_get_letoh[ls]()" to fetch little-endian
values.
Use "proto_tree_add_item()" whenever possible.
svn path=/trunk/; revision=13834
Instead of first running the lexer to create a list of items and then iterate through this items to create the tree, just create the tree from the lexer.
svn path=/trunk/; revision=13696
NOTE: we need to make sure that all the media types registered in the XML dissector get registered with the line-based text dissector as a fall-back when the XML dissector is disabled.
svn path=/trunk/; revision=13683
it serves the same purpose as the register routine in a built-in
dissector, and don't require all dissectors to have one, as they might
just be taps.
Get rid of the stats tree's init routine, as it's just a tap, and as it
doesn't do anything.
Update the idl2eth Python script to generate plugins with register routines.
svn path=/trunk/; revision=13644
Introduce a new init routine for plugins,
which does not take the plugin api table as an
argument and allows etheral to distinguish
between plugins using the old and the new api.
Update README.plugins accordingly
Change all g_warnings() in epan/plugins.c to report_failue().
On windows we do not have a log console open while
loading the plugins, because a log console cannot be opened before the prefs have been read. Thus g_warnings()
does not work for reporting problems with plugins.
svn path=/trunk/; revision=13596
there are still problems at reinit (gtk2 node->pr warns about an iterator not been OK)
set up propperties of the given files
svn path=/trunk/; revision=13448
GopTree={BasicTree|NoTree|FullTree}
NoTree: just an item for each gop
BasicTree: (default) some essential information regarding the gop
FullTree: the Gop's full tree
added Id and eol-style to examples
svn path=/trunk/; revision=13435
files. Do this with GENERATED_HEADER_FILES, GENERATED_C_FILES, and
GENERATED_FILES macros in Makefile.common files, along the lines of what
wiretap/Makefile.common has.
Clean up "*~" files with "make clean" rather than only "make distclean"
in some additional places.
Add "maintainer-clean" rules to the Makefile.nmake files, paralelling
the ones in the automake-generated Makefile.in files, using the
GENERATED_FILES macros from Makefile.common files. In some cases, move
the cleanup of files from "make distclean" to "make maintainer-clean",
and in other cases, put in a comment indicating why we're not doing that
(because some files that are distributed in the source tarballs, namely
Flex output, were built with a UN*X Flex and won't compile on Windows,
so we get rid of them with "make distclean" so you can clean up stuff
that *has* to be re-generated for Windows).
Clean up some *CLEANFILES definitions - get rid of ones that no longer
apply as files were moved or that add to the definition a name that's
already there.
svn path=/trunk/; revision=13402
Find attached a patch for "Voip analysis" to get the LRQ/LCF/LRJ messages included in the H323 calls for Gatekeeper to Gatekeeper configurations
svn path=/trunk/; revision=13344
- fixes a leak in analize_pdu()
- fixes a typo in analize_pdu()
- fixes a crash in scs_unsubscribe()
- save a malloc and a free in get_pdu_fields()
svn path=/trunk/; revision=13335
- fix a bug at gog reinit that disabled gogs after reload of a file.
- fix some crashes when Debug_GoG>0
- cleanup the debug output (no CR at the end is needed)
- Gops start when no GopStart is given and match an existing GogKey
svn path=/trunk/; revision=13318
Update conversation_new and find_conversation in plugin_api_list.c and
associated files.
Add packet-dcerpc-butc.h to the distribution.
svn path=/trunk/; revision=13288
The HP-UX compilers don't like non-constant initializers (C99'ism).
Patch attached for plugins/mate/mate_setup.c.
Fix a few warnings (change some () to (void))
svn path=/trunk/; revision=13274
1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image
are present, and T.38 conversation if only m=image is present. I expect that
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38
packets.
svn path=/trunk/; revision=13245
1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image
are present, and T.38 conversation if only m=image is present. I expect that
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38
packets.
svn path=/trunk/; revision=13244
make rules must be indented with one or more tabs - no spaces, just
tabs. I seem to remember a Stu Feldman quote somewhere in which he
apologized for that requirement....
svn path=/trunk/; revision=13011
- renamed analyze_frame() into mate_analyze_frame().
- prepare mate to be statically linked
- use report_open_failure() , report_read_failure() and
report_failure() in case there's an error while loading the config
- some cleanup in mate_util.c
- some fixes and cleanup in examples and matelib
svn path=/trunk/; revision=13001
A new patch for mate
- changed the default config file name to ""
- avoid trying to confgure mate when the config filename is ""
- add filename and line to config errors, that way one can actually
find errors in config files
- teady up the config error strings ( made them uniform )
- fixed a crash when missing index AVPs (Name,For,On etc) in config AVPLS
- make sure we do not delete the config AVPs and AVPLs to avoid
references to unsubscribed strings been left arround
- fixed the len on LoALs
- changed the way loal_from_file reports an error.
- matelib/sip.mate was missing the Name in a PduDef (from Julien Leproust)
- matelib/h225_ras had a wrong field name (from Julien Leproust)
At this point mate is silent when it's not expressely configured by the user.
From me:
reduce compiler noise on MSVC
svn path=/trunk/; revision=12985
Another patch for mate:
- adds a "GopTree={TRUE|FALSE}" attribute to Gogs
- changes "ShowPduTree={NoTree|PduTree|FrameTree}"
- adds "implicit stop" to Gops with no Stop declared
svn path=/trunk/; revision=12968
conversation, use the "index" member of the conversation_t - that lets
you get a value that fits in a guint, but without provoking the warning
you might get from a compiler if you cast a pointer to the conversation
to a guint.
svn path=/trunk/; revision=12916
- moved gop and gog indexes into gopcfgs, which is a propedeutic
change for upcoming changes in the way gops are to be grouped
- changed the way gog-keys are kept in memory
- every gopkey attribute is copied into the gop->extras to avoid
redundancy in the configuration
- added timers to gogs mate.gog_type.StartTime and mate.gog_type.Time
- fixed a bug in scs_subscribe that mangled some strings
- minor interface improvement to scs propedeutic to having types avp
values in a future
- changed medium and large into mate_medium and mate_large in the
scs_collection
- fixed Mode=Replace in Transforms, now it works
- fixed a crash at reinit due to impropper initialization of mate_items
svn path=/trunk/; revision=12902
the #ifdefs.
Don't use "%ll[doux]" - not all platforms use "ll" as the length
specifier for 64-bit integers in formats. Use PRI[doux]64 instead, to
handle platforms where some other length specifier is used.
svn path=/trunk/; revision=12874
- fixes crash at reinit when DiscardPduData=TRUE: check if there's an
avpl before deleting it.
- mate.pdu_type.RelativeTime had a dual use, add
mate.pdu_type.TimeInGop and leave the other alone.
- other fixes related to times (they now seem to be right)
- scs_subscribe doesn't use g_malloc anymore. it uses GMemChunks
(I had to rename two GMemChunks to make MSVC happy)
- fixes crash at reinit when DiscardPduData=TRUE: check if there's an
avpl before deleting it.
- mate.pdu_type.RelativeTime had a dual use, add
mate.pdu_type.TimeInGop and leave the other alone.
- other fixes related to times (they now seem to be right)
- fixed few things at reinit:
- reset last_id
- remove the nodes in the items hash tables
svn path=/trunk/; revision=12820
From Luis Ontanon:
- moves mate configuration from proto_register to proto_register_handoff
- add the config file protocol preference
- every item (gop,gog,pdu) has it's own ett
- the tap doesn't do nothing, it just primes the tree
- analyze_frame() what once was the tap now is called by the dissector
- should work with tethereal now (to be tested)
svn path=/trunk/; revision=12763
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
- make rd static (no purpose for it to be global)
- remove outdated comments
- add "PduCriteria" feature (as already stated in the wiki)
- add "DiscardUnassignedPdu" feature (as already stated in the wiki)
- removed ".Id" from abbrev for "mate.item_name"
- in radius.mate: Don't use the port to determine the Gop key.
svn path=/trunk/; revision=12735
As suggested by Martin Regner:
- Use strtod() instead of strtof()
From Luis Ontanon:
- changes the id of mate items to be integer (the old string ID
imposed a lenght limit and as mate fileds had become dynamic it makes
no more sense anymore)
- fixes a huge avp leak on reinit (every avp object was leaked when a
new file was loaded)
- adds the "Lib" AVP to the Action=Include AVPL to include definitions
>from matelib
- rename mate.[dll/so] to zzmate.[dll/so] so it gets initialized as
the very last protocol (so that fields from every dissector can be
used).
svn path=/trunk/; revision=12728
MATE -- Meta Analysis and Tracing Engine
Won't be compiled by default.
It is still not possible to link the plugin on Win32.
svn path=/trunk/; revision=12716
Ethernet frames, one for encapsulated frames that include an FCS and one
for encapsulated frames that don't include an FCS. Use the appropriate
versions.
In the ISL dissector, do the same sort of processing we do in the
Ethernet dissector to figure out whether the frame has a trailer or not
and whether it has an FCS or not.
svn path=/trunk/; revision=12593
- enable Windows' ShellExecute command to call Ethereal without specifying
the installation path (a new key added in the registry)
- decode 2 more options in the OPSI plugin.
svn path=/trunk/; revision=12363
address table if we don't need the plugin address table, so as to catch
plugin dissectors that don't directly include stuff they need -
eventually, the plugin address table stuff should completely go away, so
we don't want dissectors depending on it.
Fix those dissectors caught by this.
Don't include "simple_dialog.h" in the ASN.1 dissector - it doesn't use
it.
svn path=/trunk/; revision=12140