aboutsummaryrefslogtreecommitdiffstats
path: root/epan
AgeCommit message (Collapse)AuthorFilesLines
2003-12-24Let FT_PROTOCOL fields, if the length specified is -1, have a length ofGuy Harris1-1/+4
0 - now that "tvb_ensure_length_remaining()" ensures that there's at least one byte of data, we should use "tvb_length_remaining()" for FT_PROTOCOL fields. svn path=/trunk/; revision=9440
2003-12-24Do the "isprint()" hack for GTK+ 2.x or 1.3[.x], whether on UNIX orGuy Harris1-7/+7
Windows - the problem is that GTK+ 1.3[.x] and later assume strings handed to them are UTF-8 strings, not, for example, ISO 8859/x strings. In packet-radius.c, re-define "isprint()" rather than #ifdeffing its use (the old code was also incorrectly treating 0x7f as a printable). svn path=/trunk/; revision=9435
2003-12-23Have "tvb_ensure_length_remaining()" throw the appropriate exception ifGuy Harris1-1/+12
there's no data remaining - its callers largely depend on it doing so. That means that the BEEP dissector doesn't have to check for it returning 0. svn path=/trunk/; revision=9433
2003-12-23Move the GSM SMS dissection to a dedicated subdissector (currently still withinOlivier Biot1-2/+3
packet-smpp.c). Now the higher-level protocols show up without the need of unfolding the SMPP dissector tree. Add a new address type AT_STRINGZ, and use it for GSM SMS message reassembly. Get rid of the different UDH IE subtrees, and replace them with one subtree for all UDH IEs. Add debug logging to SMPP and SMPP GSM SMS dissectors. Move the Short Message reassembly from the SMPP dissector to the SMPP GSM SMS dissector. Fix duplicated "reassembled in" header fields. Rename header fields that are now part of SMPP GSM SMS (including the dissector table name, so it has also been updated in packet-wsp.c and packet-wtp.c). Add an explicit "if (!tree) return" in the WSP add_headers() method. NOTE: it would be great if we were able to merge the existing packet-gsm_sms.c and the SMPP GSM SMS dissector. svn path=/trunk/; revision=9431
2003-12-21Add, for \xXX, the same sanity check (that 0xXX fits in a single byte)Guy Harris1-1/+7
that we have for \0OOO. svn path=/trunk/; revision=9396
2003-12-20removed some MSVC warnings (added type casts)Ulf Lamping1-3/+3
svn path=/trunk/; revision=9370
2003-12-19Print values for ANY_MATCHES and ANY_CONTAINS so that the dftestGilbert Ramirez1-1/+11
executable works properly. svn path=/trunk/; revision=9353
2003-12-18Add support of the "matches" operator to FT_BYTES and FT_ETHER. I don't thinkOlivier Biot3-17/+65
it would make sense to add PCRE support for byte arrays containing an integer or an IP address. Avoid lengthy pointer constructs in cmp_matches(). svn path=/trunk/; revision=9343
2003-12-17Add protocols to the header fields for which the "matches" operator can beOlivier Biot1-4/+54
appliedi (PCRE). In fact, all FT_TVBUFF fields. svn path=/trunk/; revision=9329
2003-12-17Fix more "CPPLAGS" typoes.Guy Harris1-3/+3
svn path=/trunk/; revision=9310
2003-12-17From Albert Chin: fix for the following:Guy Harris1-7/+11
The PCRE test in acinclude.m4 and epan/acinclude.m4 don't work if PCRE exists in a non-system directory. The problem is that LDFLAGS and LIBS are set incorrectly. LIBS shouldn't contain -L arguments. svn path=/trunk/; revision=9309
2003-12-13Add the help directory to the build. Bump the release version to 0.10.0aGerald Combs1-2/+2
svn path=/trunk/; revision=9276
2003-12-11Add "/usr/local/include" in case the PCRE header file is there.Guy Harris1-1/+23
svn path=/trunk/; revision=9242
2003-12-10PCRE support requires $(PCRE_CFLAGS) in CFLAGS.Olivier Biot1-2/+2
svn path=/trunk/; revision=9237
2003-12-10Bump the version to 0.10.0. It could be (and has been) argued that theGerald Combs1-2/+2
last release should have been 0.10.0. svn path=/trunk/; revision=9235
2003-12-10Make the _pcre_tuple_t struct internal.Gerald Combs2-12/+17
svn path=/trunk/; revision=9233
2003-12-09Internal PCRE field type for efficient RE parsing in dfilters.Olivier Biot1-1/+2
svn path=/trunk/; revision=9225
2003-12-09Internal PCRE field type for efficient RE parsing in dfilters.Olivier Biot6-49/+333
svn path=/trunk/; revision=9224
2003-12-09Don't automatically size the columns - that's expensive in largeGuy Harris2-4/+2
captures, as it has to compute the width of an auto-resizing column in every row. Just pick fixed widths for the columns (and tune the width of the "Protocol" column so that it's not narrower than the column title). svn path=/trunk/; revision=9219
2003-12-09Add "ip6_to_str_buf()", by analogy to "ip_to_str_buf()".Guy Harris3-5/+12
svn path=/trunk/; revision=9216
2003-12-08Get rid of the private "my_decode_bitfield_value()" a number ofGuy Harris2-3/+15
dissectors had. Instead, rename it "other_decode_bitfield_value()", put it in "epan/to_str.c", and make "decode_bitfield_value()" use it. svn path=/trunk/; revision=9213
2003-12-08From Michael Lum: support an AT_SS7PC address type for SS7 point codes,Guy Harris2-3/+8
and set the direction in pinfo for SS7 packets based on source and destination addresses. svn path=/trunk/; revision=9209
2003-12-07Add PCRE support to the Windows build.Gerald Combs3-6/+13
svn path=/trunk/; revision=9185
2003-12-06From Olivier BiotGilbert Ramirez20-53/+318
New "matches" operater in display filter language. Uses PCRE. If a "matches" operator is found in a dfilter while libpcre has not been used to build the binary, then an exception is thrown after using dfilter_fail() to set an apporporiate error message. svn path=/trunk/; revision=9182
2003-12-06slab.h needs to be in libethereal_a_SOURCESGilbert Ramirez1-1/+2
svn path=/trunk/; revision=9181
2003-12-06Add the ability to print packet dissections in PDML (an XML-based format)Gilbert Ramirez2-3/+51
to tethereal. It could be added to Ethereal, but the GUI changes to allow the user to select PDML as a print format have not been added. Provide a python module (EtherealXML.py) to help parse PDML. Provide a sample app (msnchat) which uses tethereal and EtherealXML.py to reconstruct MSN Chat sessions from packet capture files. It produces a nice HTML report of the chat sessions. Document tethereal's PDML and EtherealXML.py usage in doc/README.xml-output Update tethereal's manpage to reflect the new [-T pdml|ps|text] option svn path=/trunk/; revision=9180
2003-12-04It turns out the protocol tree parent link was used, so we need it inGuy Harris2-2/+5
our new scheme. svn path=/trunk/; revision=9172
2003-12-04Don't use GNodes for the protocol tree, put the sibling pointer, andGuy Harris2-34/+130
pointers to the first *and* last child, in the "proto_node" structure itself. That saves us one level of indirection and memory allocation, and lets us append to a tree by appending to the last child directly, rather than having to scan through the list of siblings of the first child to find the end of that list. svn path=/trunk/; revision=9171
2003-12-03Replace two expensive macros with a much simpler mechanismRonnie Sahlberg1-14/+21
to prevent memory leaks due to exceptions. makes my tethereal testcase ~1% faster. svn path=/trunk/; revision=9153
2003-12-03performance updateRonnie Sahlberg3-18/+10
replace tvb_raw_offset() which is essentially a simple assignment and which is called a lot with a macro. this makes my tethereal testcase 2-3% faster. svn path=/trunk/; revision=9152
2003-12-03The "ptr_u" unions no longer have a "next" pointer - they now just haveGuy Harris4-81/+71
one member - or have one that's not used, so get rid of those unions. svn path=/trunk/; revision=9151
2003-12-03Instead of requiring slab-allocated structures to have a "next" pointer,Guy Harris5-27/+38
when adding them to the free list, cast the pointer to the structure to a pointer to a "freed_item_t" which contains the "next" pointer. This reduces the memory requirement for some of those structures, and leaves us free to slab-allocate structures that have a "next" pointer for other reasons. svn path=/trunk/; revision=9150
2003-12-02From Didier Gautheron: for each column format type, save the first andGuy Harris2-16/+39
last columns, if any, with that format, and use that to speed up processing of columns with a particular format and checking whether we're displaying a column with a particular format. svn path=/trunk/; revision=9147
2003-12-02From Didier Gautheron: put an "fvalue_t" structure into a "field_info"Guy Harris5-56/+78
structure, rather than separately allocating "fvalue_t"s and having the "field_info" structure point to them - this appears to speed up protocol tree construction a bit. svn path=/trunk/; revision=9146
2003-12-02Move the definition of the tvbuff_t structure and friends to tvbuff.hRonnie Sahlberg3-80/+72
so that we can change tvb_get_ds_tvb() into a macro. This function was a single line assignment and was called a lot. This made tethereal ~2.5% faster in one testcase I use. svn path=/trunk/; revision=9141
2003-12-02Use the LSAB_ALLOC and SLAB_FREE macros to allocate/free fvalue_t dataRonnie Sahlberg3-52/+8
svn path=/trunk/; revision=9140
2003-12-02Moving SLAB_ALLOC and SLAB_FREE to its own header fileRonnie Sahlberg2-24/+52
svn path=/trunk/; revision=9139
2003-12-01From Tomas Kukosa: add "decode_enumerated_bitfield_shifted()", which isGuy Harris2-2/+23
like "decode_enumerated_bitfield()" but handles value_string tables containing values as they appear in the bitfield rather than as they appear in the item containing the bitfield. svn path=/trunk/; revision=9134
2003-11-26Speed updatesRonnie Sahlberg2-97/+53
create generic macros for allocating/freeing structures. remove one more slow GMemChunk and replace it with a simple linked list ~4% speed improvement in my tests. the allocated data is never freed. this may be a problem if ethereal is ever supported on a platform lacking resource tracking but makes the implementation faster and simpler. svn path=/trunk/; revision=9095
2003-11-25As with fvalue_t, so with field_info and item_label - the individualGuy Harris1-13/+33
items aren't individually g_mallocated and can't be g_freed, only the chunks can. svn path=/trunk/; revision=9091
2003-11-25Individual fvalue_t's aren't individually allocated with "g_malloc()",Guy Harris1-10/+22
so they can't be freed with "g_free()"; keep a list of the chunks of "fvalue_t"s, which are whare are allocated with "g_malloc()", so we can free them all. svn path=/trunk/; revision=9090
2003-11-25replace free_node_field_info with a macro since it is only called from one ↵Ronnie Sahlberg1-8/+5
other place in the code and this reduces one unnecessary function call overhead. and it makes ethereal ~1% faster. svn path=/trunk/; revision=9088
2003-11-25rename FREE_FIELD_INFO to FIELD_INFO_FREE for consistencyRonnie Sahlberg1-3/+3
svn path=/trunk/; revision=9087
2003-11-25create a FIELD_INFO_NEW for consistencyRonnie Sahlberg1-14/+16
svn path=/trunk/; revision=9086
2003-11-25remove another slow GMemChunk from ethereal making ethereal a little bit fasterRonnie Sahlberg2-27/+52
svn path=/trunk/; revision=9085
2003-11-25change free_field_info to FREE_FIELD_INFO to indicate it is a macro and not ↵Ronnie Sahlberg1-3/+3
a function svn path=/trunk/; revision=9084
2003-11-25fvalue_free() is one of the most called functions.Ronnie Sahlberg7-87/+84
This function is also very small, so small that teh overhead for the actual function call and return is likely to be a significant part of its execution time. change it into a macro and make it thus slightly faster by eliminating the function call overhead. svn path=/trunk/; revision=9083
2003-11-25Change the handling of temporary allocation of fvalue_t structures to be faster.Ronnie Sahlberg2-81/+85
Use a similar technique as was used in epan/proto.c to speed up the field_info allocation/deallocation routines svn path=/trunk/; revision=9082
2003-11-24Make the recent epan/proto.{c,h} change compile.Guy Harris2-30/+30
svn path=/trunk/; revision=9075
2003-11-24performance enhancement to proto.cRonnie Sahlberg2-23/+69
Removed the GMemChunk used to allocate/free field_info structures and used a free list to store the freed structs until they are allocated again. Ethereal will allocate more field_info structs as it needs to but never free them. Instead the are just placed in a cheap and fast free list so that if we want to use the struct again, this will be fast. This affects the speed of the two functions alloc_field_info() that should be slightly faster now free_field_info() that was replaced with a 2 line macro. All in all my testing suggests that ethereal is 2-3% faster with this patch. svn path=/trunk/; revision=9073