In the past: to prevent duplicate protocol names (and alike), each time a new protocol was registered, the list of protocols were iterated and the name compared with each existing name using strcasecmp, which is slow as we have >500 protocols right now.
Now: the protocol name to check against duplicates is first converted into a hashvalue and then only this value is checked and stored in a hashtable. This way the string to check for, has to be converted/compared only a single time!
svn path=/trunk/; revision=13007
- 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
Add VENDOR_IETF to <epan/sminmpec.h>, and add an entry for it to
sminmpec_values[], so that the L2TP dissector can use them rather than
defining its own copy of the private enterprise number values and table
- and make it do so.
svn path=/trunk/; revision=12999
and de-boilerplate another part of the comment.
Fix a test of "octet_aligned" that was setting it to false rather than
testing whether it was false.
svn path=/trunk/; revision=12996
Clean up indentation.
The signatures are 4-byte strings - treat them as such.
Don't hide fields - dissectors should show what all bytes, other than
perhaps padding bytes, are.
Don't use the tvb_format_text-ified versions of strings as the value -
Ethereal already deals with non-printable characters when displaying
them.
When creating a subset tvbuff that runs to the end of the parent, use -1
as the length, don't calculate the length ourselves.
Use "tvb_reported_length()", not "tvb_length()", in loops that parse the
entire packet.
svn path=/trunk/; revision=12986
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
dissectors using the address resolution routines need to know about the
"address" structure, so not all of them would include <epan/address.h>
themselves.
svn path=/trunk/; revision=12978
o BGPv4 SAFI-Specific Attribute support
- draft-kapoor-nalawade-idr-bgp-ssa-00.txt
o Tunnel SAFI support for BGP
- draft-nalawade-kapoor-tunnel-safi-02.txt
o Small length fix
svn path=/trunk/; revision=12977
On Windows, if we don't get the SYSTEMROOT environment variable, try
various locations where the hosts file is known to exist.
svn path=/trunk/; revision=12972
Use "format_text()" or "tvb_format_text()" with the %s format, to handle
non-printable characters.
When uncompressing data into a new tvbuff, add it to the list of data
sources as we do elsewhere.
When putting items into the protocol tree from an uncompressed tvbuff,
use the offset into the tvbuff and the length of the item.
Fetch string lengths into a variable and use the variable rather than
repeatedly fetching the length from a tvbuff.
Use -1 rather than tvb_length_remaining() when putting a "to the end of
the tvbuff" item into the protocol tree.
Use "proto_tree_add_item()" to put items into the tree, rather than
"proto_tree_add_xxx" calls with a "tvb_get_yyy" call as the argument.
If we've fetched a value into a variable, don't re-fetch it in
"proto_tree_add_xxx" calls.
svn path=/trunk/; revision=12971
It can return NULL, which would lead here to strcpy(hostspath, NULL);
*Very* bad.
replace g_malloc(), strcpy() and strcat() with one single g_strconcat().
svn path=/trunk/; revision=12970
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
can register an OUI, and PIDs for that OUI, in the same fashion that
they can do so for SNAP (after which the 802a OUI Extended Ethertype is
clearly modeled).
svn path=/trunk/; revision=12967
Don't assign the result of a routine that mallocates data to a const
pointer - that forces us to cast the pointer when freeing the data.
svn path=/trunk/; revision=12960