- Handle preprocessed (as well as original) .c source files.
(Running checkhf on the source after it has been pre-processed
should give few false positives).
- Remove blank lines, comments & quoted text strings before
doing the hf_... tests: reduces false positives/negatives.
svn path=/trunk/; revision=47458
- Remove comments from the input string before checking hf[] entries;
- Remove code under '#if 0' before doing API checks.
svn path=/trunk/; revision=47447
Main objective: reduce the number of false positives.
(Committed as a patch to the original
checkhf.pl written by Joerg Mayer so as to
keep the history for the original program).
svn path=/trunk/; revision=47331
Main objective: reduce the number of false positives.
Normal usage: the same as for checkhf.pl.
For now: named checkhf-v2.pl
svn path=/trunk/; revision=47326
------------------------------------------------------------------------
r47305 | gerald | 2013-01-26 12:12:52 -0800 (Sat, 26 Jan 2013) | 6 lines
Changed paths:
M /trunk-1.8/tools/fuzz-test.sh
Instead of setting resource limits on the fuzz-test.sh process itself,
set limits on the TShark subprocess. This should hopefully take care
of the strange fuzz failures we've seen lately.
Reduce the maximum CPU time to 5 minutes while we're at it.
------------------------------------------------------------------------
svn path=/trunk/; revision=47307
For .../dissectors/(non-generated dissectors):
Reduces the number of "unused" false positives (and
adds about 2 different false positives).
svn path=/trunk/; revision=47280
Try to convince Coverity that the passed in item pointer is appreciated,
but not used.
This time see if it pleases the Windows compiler too.
svn path=/trunk/; revision=47217
variable (WIRESHARK_DEBUG_USE_SLICES) which turns off the slab allocator and uses
g_slices instead (which can themselves be turned off by setting
G_SLICE=always-malloc).
This makes debugging problems in slab-allocated memory easier to find
(hopefully including https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8197 ).
Set WIRESHARK_DEBUG_USE_SLICES when running Valgrind on *shark.
Remove unused structure member: emem_chunk_t.org.
svn path=/trunk/; revision=47110
"const char *", as it is now expected to be. Regenerate the dissectors.
Update the URL for OmniOrb.
In README.parlay, use idl2wrs in the sample command.
svn path=/trunk/; revision=46765
GTK+: Shorten the packet comment menu item name. Remove a couple of
unneeded includes.
Both: Add an arbitrary 20 MB limit when fetching all packet comments.
Use a color from the Tango palette for comments.
svn path=/trunk/; revision=46709
determine the desired type. This has two advantages over the old way:
- just one environment variable for valgrind to override in order to guarantee
that ALL allocators use memory it can track, and just one place to check that
variable
- allocator owners no longer have to include headers specific to their
allocator, allowing them to change allocators without adjusting all their
#includes
svn path=/trunk/; revision=46604
Note the change in behavior: building the tree is now off by default.
Complain (and exit) if we get an argument we don't understand.
svn path=/trunk/; revision=46321
doesn't seem (to me) to warrant preventing someone from fuzz-testing.
Anyone know why this was put in in the first place?
svn path=/trunk/; revision=45733
- make html output a flag (-h), instead of what happens when you
specify no files
- add flag (-j) for job count, like make et al.
- add flag (-a) to ignore the suppressions file and report all issues
- require /bin/bash instead of just /bin/sh in order to get arithmetic $(())
- add mode-lines
svn path=/trunk/; revision=45520
Updated wireshark_gen.py to generate hf_ variables for all of the IDL "types". The "simple" types use proto_tree_add_* (not text), while the "complex" types use the GIOP dissector API. checkhf.pl generates some warnings because (some of) the hf_ variables are being generated for the "complex" types, but are not being used. That will be done in Part 2.
expert_add_info_format now linked to a real item instead of being attached to a duplicative proto_tree_add_text(). This cleaned up literally thousands of unnecessary proto_tree_add_text()s
svn path=/trunk/; revision=45472
Add some additional memory-allocation failure checks in Lemon.
Use NULL rather than 0 as the null-pointer constant in those
checks.
From me:
Catch one more of the NULL-vs-0 cases.
Fix some failure messages to use fprintf(stderr, ...) -
ErrorMsg() requires a file name and line number, and is
generally used if you're going to continue rather than just give
up.
svn path=/trunk/; revision=45214
Fixed GTKHash table being overwritten when number of NCP packets exceeds 255. Sequence numbers wrap so this was causing the request value table to be overwritten and subsequent malformed NCP packets.
Fixed buid_expert_data for file open reporting to correctly convert to Hex value so proper lookup in val table will succeed.
Added additional OES Linux values to build_expert_data for server entries.
svn path=/trunk/; revision=45177
plugin.c or register.c content to a temporary file build a giant string
in memory and only write it if the current and new hashes differ.
This requires hashlib which was added in Python 2.5; hopefully that's
not a problem.
svn path=/trunk/; revision=45104
Only update outfile if it differs from newly created outfile
make-dissector-reg.py
Add a comment that we should do the same here (probably a small
task for python knowledeable people).
svn path=/trunk/; revision=45083
the compile line when building with cmake.
Put _U_'s definition in config.h when building with autofoo and on Windows.
svn path=/trunk/; revision=45034
registration and handoff routines in each line, read the whole file into
memory and then do one findall() search. Store the matches in sets to avoid
duplication.
(This also simplifies the number of regexps we're looking for.)
This speeds up the generation of register.c (when there is no cache)
significantly (on my system the time taken drops from ~32 seconds to ~5
seconds).
svn path=/trunk/; revision=44954
sort them. Avoids the double registration problem discussed on -dev today.
Note: the sorted() call requires Python 2.4+ but I think that's OK now.
svn path=/trunk/; revision=44952
wireshark-win{32,64}-libs instead. In win-setup.sh only try to unzip
files ending in .zip. PortableApps and U3 packaging changes are untested.
svn path=/trunk/; revision=44888
Ignore "duplicates" that are generated because a display filter is prefixed by a #define (which checkfiltername.pl is not smart enough to handle), causing an empty string
svn path=/trunk/; revision=44654
Also added a "FILE TYPE" for proto filter names with a period so that they can be verified. Presumably only "large", possibly "meta" protocols (probably spanning multiple dissector files) will be allowed to use a period in the proto filter name.
svn path=/trunk/; revision=44648
These happen when, eg, a program runs out of memory under valgrind
or other more fatal errors (that may sometimes be valgrind bugs instead).
svn path=/trunk/; revision=44451
The idl2wrs generated dissectors don't follow the convention of using the
filter name registered with the protocol as the start of any display filter
name. This patch fixes that.
svn path=/trunk/; revision=44325
Add commandline options to show file line numbers of dissectors. The default is to have no line numbers shown as its easier to compare results without a minor file change causing the line number of the filter to change resulting in an unnecessary difference.
Add commandline option to check filter names of automated files (default disabled).
Check for underscores prefacing or following a period in filter names as this is probably a typo.
Cleaned up output when checking a single file.
svn path=/trunk/; revision=44182
- add support for 2-pass dissection and config profiles
- make whitespace a consistent 4-spaces
fuzz-test.sh:
- update 2-pass support to use -2 and not the old -P
- add support for fuzz-testing under valgrind with the new -g option
svn path=/trunk/; revision=44024
- Take command-line arguments of files to check. In this case make output
GCC-like, as it's much more human-readable than the HTML.
- If there are no arguments, provide HTML output for the entire current
directory like before, for use with build-bot integration.
- Don't hack with the CWD to try and get include-paths to work. Cppcheck
will warn already if it can't find them, and since a lot of the checks
still work in any case, a warning is more appropriate than an error or
a hack.
svn path=/trunk/; revision=43882
template_get_CDR_string (in wireshark_gen.py) did. This eliminates another
whole pile of function-local variables in packet-parlay.c.
Unfortunately it doesn't seem to speed up compilation (or eliminate the
variable tracking size limit problem). But it does eliminate a lot of
lines of code...
svn path=/trunk/; revision=43610
(several of the) get_CDR_*() functions: instead call the function directly
in the proto_tree_add_text() calls.
Eliminate a lot of global variables that are only later used in (a single)
strcmp().
All the GIOP dissectors are built-in now; don't include the (#if'd out) plugin
registration code in the generated dissector.
Try to clean up the formatting of the generated code a bit.
Regenerate the IDL dissectors; as noted in r39932, this seems to involve a
lot of function re-ordering in packet-parlay.c (making the delta bigger).
These changes decrease the time to compile packet-parlay.c by, on my system,
about half. But it still complains:
variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
and it still takes "too long."
svn path=/trunk/; revision=43609
Add checks for calls to proto_tree_add_XXX (where XXX != item and a few other
functions) with an encoding (ENC_*) argument.
Also add a comment to checkAddTextCalls() about why 3 loops are used.
svn path=/trunk/; revision=43563
------------------------------------------------------------------------
r43165 | gerald | 2012-06-08 14:23:25 -0700 (Fri, 08 Jun 2012) | 4 lines
Changed paths:
M /trunk-1.6/epan/Makefile.am
M /trunk-1.6/wiretap/Makefile.am
M /trunk-1.6/wsutil/Makefile.am
Use separate commands in the dumpabi recipes instead a big huge long
chain. If abi-compliance-checker fails print the contents of its
log file.
------------------------------------------------------------------------
r43168 | gerald | 2012-06-08 15:43:50 -0700 (Fri, 08 Jun 2012) | 2 lines
Changed paths:
M /trunk-1.6/epan/Makefile.am
M /trunk-1.6/wiretap/Makefile.am
M /trunk-1.6/wsutil/Makefile.am
Make sure ln happens in the right directory.
------------------------------------------------------------------------
We don't currently have a usable tag for "git describe --tags
--abbrev=0" to latch onto so just use the first 1.9 commit.
svn path=/trunk/; revision=43170
Also: identify problematic fields by hf_variable_name instead of name or
abbreviation (the variable name is sure to be unique).
svn path=/trunk/; revision=42826
proto_tree_add_item() calls.
Updated tools/process-x11-xcb.pl to support different encoding values
for different fields. Replaced the "little_endian" Boolean value with a
"byte_order" value containing the setting of the byte-order ENC_ bit.
Regenerated X11 fields from current x.org git.
svn path=/trunk/; revision=42601
from makefiles (and thus from the buildbot).
The intention is to be able to tell when a human is running the tool so we
can provide more code-review guidance.
As a starter, enable the "too many proto_tree_add_text() calls" check when
a human is running the tool.
svn path=/trunk/; revision=41943
prevents OutOfMemory exceptions from being thrown. This makes it easier
to debug such conditions.
Set this variable in test-fuzzed-cap.sh but not in fuzz-test.sh; it's nice
to see the friendly out-of-memory error message in the bug reports the
latter script generates.
svn path=/trunk/; revision=41656
An enum name collision was recently added to the upstream XCB/proto.
Avoid the collision by putting enum names into their proper namespace.
After applying that, regenerate the X11 dissector.
svn path=/trunk/; revision=41514
the "Wrote xxx" messages was printed, although the compiler appeared to
have been run on the .c file that was never claimed to have been
written, but got an error because it couldn't find the .h file (also
never claimed to have been written), and in one of the successes on the
same buildbot, they were both printed for the same file.
svn path=/trunk/; revision=41133
proto_tree_add_text() calls and compare that to the number of
proto_tree_add_<something else>() calls and complain if more than 50%
of the calls are add_text()'s.
proto_tree_add_text() calls whose returned proto_item is used are not counted
as hanging a subtree off a text item is an appropriate use for text items.
I chose 50% because even at that level there are many dissectors with "too many"
proto_tree_add_text()'s.
The function to do all of this is commented out for now for the same reason
plus the fact that it's pretty slow.
svn path=/trunk/; revision=40930
- Mark GDK functions which aren't used as 'E'
- Add GTK functions deprecated after GTK 2.20
- Add some comments about use of GTK_DISABLE_DEPRECATED
- reformat
...
svn path=/trunk/; revision=40569
corba dissector generator improvement
Patch 2 : create a defaulf field hf_operationrequest which provides the requested operation on both the resquest and the reply messages.
From me :
Regenerate GIOP Plugins
svn path=/trunk/; revision=40038
corba dissector generator improvement
Patch 1 : field names is used in dissection instead of "enum value" which is not clear
From me :
Regenerate GIOP Plugins
svn path=/trunk/; revision=40037
Add capability to convert encoding arg for 'proto' hf_index_names [the
variable which stores the return value from proto_register_protocol()].
svn path=/trunk/; revision=39492
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
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
make-services.pl to to use the old-style text URL and add a comment
about parsing the XML instead.
Update the services file. Due to format changes it generates a lot of
text that should be commented out, but it's apparently been doing that
for a while now.
svn path=/trunk/; revision=38652
GTK_WIDGET_NO_WINDOW() in pre-2.18 versions of GTK+. Treat calls to
GTK_WIDGET_NO_WINDOW() as an error in checkAPIs.pl.
svn path=/trunk/; revision=38197
Add crustyfy .cfg file
I found it useful on some inetnal dissector where the indentation
was relay messed up so I think it's a usfel tool to have in the toolbox.
I don't think we should run it on every file.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5924
svn path=/trunk/; revision=37628
My attachment adds a link to a XSLT file to the preamble of the PDML.
The XSLT will transform the PDML to a HTML page, and the HTML page
features a look similar to Wireshark. See
http://cubic.org/~doj/ebay/a.pdml for an example.
The patch also contains a small perl program which converts the
Wireshark colortable into javascript code which is used in the XSLT
file. If you want to use a different color scheme you would execute the
perl program and insert the generated javascript function into your XSLT
file.
To view the HTML you could either place the PDML and XSLT file on your
webserver and verify that your webserver sends the PDML file as
"text/xml". Then your webbrowser will find the linked XSLT file,
download that as well and convert the PDML to HTML on the fly.
You could also use an XSLT processor like xsltproc to convert the PDML
and XSLT into a static HTML file.
From me:
Minor fixups.
svn path=/trunk/; revision=37298
Move the setting of debug environment variables out of the while loop.
Export MALLOC_OPTIONS=AJ to increase memory allocation debug on FreeBSD (and
others).
Export a number of environment variables that MacOS looks at.
(I don't have easy access to either of these OS so this has not been tested.)
Add a comments for each entry explaining which OS uses it and what it does.
svn path=/trunk/; revision=36622
http://www.apachehaus.com/forum/index.php?action=printpage;topic=143.0
First problem: ZLIB build must be fixed for x64, otherwise there will be one unresolved external symbol later. Quick fix is to open build\win32\build_zlib.bat and insert this at line 51:
set ASM_OPTS=AS=ml64 LOC="-DASMV -DASMINF" OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
(info found in zlib\win32\Makefile.msc) and then open zlib\contrib\masmx64\inffas8664.c and prepend "../../" to four includes at the beginning.
svn path=/trunk/; revision=36616
zlib for GTK hasd this comment:
/* LFS conventions have no meaning on Windows. Looking for feature
* macros like _LARGEFILE64_SOURCE or _FILE_OFFSET_BITS on Windows is
* wrong. So make sure any such macros misguidedly defined by the
* user have no effect. Windows has large file support, but the
* official zlib DLL has not been built to provide the 64-bit offset
* APIs, sigh. So we have just patched out the 64-bit offset API
* from this header file.
*/
svn path=/trunk/; revision=36586
A little script to extract the protocols used in given capture files.
(Just so I don't have to remember how to do it again.)
svn path=/trunk/; revision=36462
updated the script that extracts the asn1 from the specification (we modified it after noticing that it currently fails to take the IMPORT section). It should also work now to extract the WCDMA RRC (TS 25.331).
svn path=/trunk/; revision=36442
in another list: convert the 2nd list to a hash. This speeds checking for ett_
variables up considerably.
Store the pattern to match ett_ variable names in a variable (since it's used 3
times).
Only match ett_ variable declarations that start on their own line (hopefully to
speed things up a bit).
svn path=/trunk/; revision=35929
stored in an array which will hopefully be registered).
This is a work-in-progress, so the function is not called.
It is also EXTREMELY slow on big files. (Or maybe it's looping...
I haven't yet had the patience to let it finish processing packet-rrc.c .)
svn path=/trunk/; revision=35923
should be used (instead of the non-tvb functions with a call to tvb_get_ptr()).
Use those functions in a bunch of places.
svn path=/trunk/; revision=35911
Extracts from the cygwin Bash 4.1.9.2 release announcement:
4a. For a single affected script, add this line just after the she-bang:
(set -o igncr) 2>/dev/null && set -o igncr; # comment is needed
4e. bash-4.1.9-1 dropped support for 'shopt -s igncr';
I'm assuming this is backwards compatible; If not, we'll know quite shortly :)
svn path=/trunk/; revision=35788
- Define macros for certain CFLAGS in config.nmake iso of having defs in each makefile;
a. -DHAVE_CONFIG_H and -D_U_="" are now part of a macro named STANDARD_CFLAGS;
b. -WX has been replaced by WARNINGS_ARE_ERRORS (defined as -WX in config.nmake)
(This allows disabling "Warnings as Errors" by just changing config.nmake)
c. CVARSDLL definitions (not usage) have been removed from the various makefiles.
XXX: It appears the usage of CVARSDLL can also be removed (not yet done) since:
-DWIN32 and -DNULL=0 do not appear to be needed (any more);
-D_MT and _D_DLL are not needed since /MP causes these definitions.
d. Define a macro WARNINGS_CFLAGS with additional specific compiler (level4) warnings to be enabled.
E.G., 4295: array is too small to include a terminating null character
- config.nmake: reformat some long lines for readability;
- plugins\Makefile.nmake: clean-deps does nothing: remove it (and usage in top-level makefile);
- dissectors/Makefile.nmake: test to enable packet-rrc.obj target needs to include MSVC2010 ...
svn path=/trunk/; revision=35747