aboutsummaryrefslogtreecommitdiffstats
path: root/wsutil
AgeCommit message (Collapse)AuthorFilesLines
2015-03-06jsmn: bugfix in jsmn_parse() (found by clang).Dario Lombardo1-4/+6
Change-Id: Id5a9888a3e17c861a9de06343bd99ec0c4aacdce Reviewed-on: https://code.wireshark.org/review/7555 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-03-03Added JSMN_STRICT that allow a more precise json parsing.Pascal Quantin1-0/+6
Bug: 10977 Change-Id: I725c10d895fdec4530d0761db3ac2659171f2f03 Reviewed-on: https://code.wireshark.org/review/7249 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Tested-by: Peter Wu <peter@lekensteyn.nl>
2015-03-03Add "seed" capabilities to crc16_x25_ccitt (now crc16_x25_ccitt_seed) so we ↵Michael Mann2-3/+3
can remove CRC algorithm calculation in packet-assa_r3.c. Change-Id: I3143800f6ff922a309f5506d9acbc2c4293363b7 Reviewed-on: https://code.wireshark.org/review/7490 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Petri-Dish: Jeff Morriss <jeff.morriss.ws@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-02-21Remove tvb_ from the names of wsutil mempbrk routines.Guy Harris4-13/+15
Routines that don't take a tvbuff as an argument shouldn't have tvb_ in the name. Change-Id: I3550256551e30b3f329cbbfca71ef27c727d29c0 Reviewed-on: https://code.wireshark.org/review/7302 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-21Rename the slower-but-portable mempbrk to ws_mempbrk_portable_exec().Guy Harris3-6/+6
That parallels ws_mempbrk_sse42_exec(). Change-Id: I1662badc6d1efab5bdd827f29bbad3712464ec43 Reviewed-on: https://code.wireshark.org/review/7301 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-21Move declarations of internal ws_mempbrk routines to a separate header.Guy Harris5-9/+35
Put the internal routines, which are only to be used by the implementation of the mempbrk functions, to a separate header file, so that they're not exported even in the standard header file. Change-Id: I92c39b138de3e4f9da1b102210b39d50728e2fd6 Reviewed-on: https://code.wireshark.org/review/7300 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-20Just have init_progfile_dir() take a void pointer.Guy Harris2-5/+4
dladdr() takes a void * as a code pointer; have init_progfile_dir() do so, and do the casting in the calls. We don't care about the signature of the function whose address we're passing, we just want to pass a pointer to *something* in the main program. Change-Id: I9372620a97b0eb53c2bb3c0c41a238b4408f3709 Reviewed-on: https://code.wireshark.org/review/7270 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-19Check whether emmintrin.h can be used *without* -msse4.2.Guy Harris1-14/+26
If not, we can't use SSE 4.2, as we need to be able to include it in files that use tvb_pbrk_compile()/tvb_pbrk_exec() even if they're not compiled with -msse4.2 (most files aren't, as we need to isolate SSE 4.2 instructions to a small bit of code that uses them only if running on hardware that supports them). Change-Id: I62262a3c45fa14e200967916ac0ffc283f8e322c Reviewed-on: https://code.wireshark.org/review/7246 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-18Not all compilers support turning of "format=".Guy Harris1-2/+2
The clang on my machine doesn't; just do "format" instead. (The best way to handle this may be to do the formatting ourselves, so that we can get thousands separators on *all* platforms, regardless of whether its printf formatter supports it.) Change-Id: I1948d1799688cb3cf1d7b0de0696c09f6bf23f1c Reviewed-on: https://code.wireshark.org/review/7241 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-18Suppress a printf grouping warning.Gerald Combs1-0/+3
Suppress warning: ISO C does not support the ''' printf flag [-Wformat=] We verify that we *do* support it via HAVE_GLIB_PRINTF_GROUPING. Change-Id: Iedcf1d1856238e05babde5fe8ec23f64fbf2cdcf Reviewed-on: https://code.wireshark.org/review/7238 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-18Fix various warnings in wireshark-qt.cpp.Gerald Combs2-2/+3
Squelch warnings due to (char *) casts. Use "include_directories(SYSTEM..." in CMakeLists.txt so that we don't get pedantic warnings about things we can't easily fix such as QList loop optimizations. Not sure if there's an easy way to do this in Autotools. Pass get_gui_compiled_info to init_progfile_dir. C++ don't have to show you any stinkin' ::main. warning: ISO C++ forbids taking address of function ‘::main’ [-Wpedantic] Change-Id: If1c77284ab0d1b4786bce4e926a4109dd9b1ae34 Reviewed-on: https://code.wireshark.org/review/7207 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-17Added JSON native file support.Dario Lombardo4-0/+509
libjsmn has also been moved from epan/ to wsutil/ to make it visible from wiretap. Change-Id: I59abb3419acb1baa83194b38152d3651ed5c123c Bug: 10878 Reviewed-on: https://code.wireshark.org/review/6716 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-02-14Try to fix diagnostic suppression.Gerald Combs1-19/+20
Test the compiler for "-Wpedantic" instead of "-pedantic" since DIAG_OFF and DIAG_ON expect a "-W" flag prefix. Be more strict about the compiler versions that DIAG_OFF and DIAG_ON support. Change-Id: I9304c544912102f1719b79e9250f97b40a324430 Reviewed-on: https://code.wireshark.org/review/7123 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-14Fix diagnostics macros and squelch a gcc warning.Gerald Combs1-1/+1
Both clang and gcc define __GNUC__. Make sure we account for that when defining diagnostic macros. Use DIAG_OFF + DIAG_ON to suppress gcc -pedantic warnings about frame_data. Get rid of packet_char_enc casts. Change-Id: Idbcc61bcdb35c1d20f185461c69451dcdf73bae9 Reviewed-on: https://code.wireshark.org/review/7106 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-02-14We use GLib's directory-reading routines, so we don't need <dire[cn]t.h>.Guy Harris2-12/+0
Change-Id: Id86e5d6d0ab24adb1bfff0688f33a40f2fdaed8d Reviewed-on: https://code.wireshark.org/review/7108 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-13Replace tabs by spaces when editor modelines has "expandtab"Bill Meier1-1/+1
Change-Id: If7a6f2697be732ae4f94ed8b845fd293c32510f7 Also: tabs-stops should be 8 Reviewed-on: https://code.wireshark.org/review/7100 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-02-12Fix crash at startup in SSE4.2 code when running a 32 bits Windows buildPascal Quantin2-18/+16
There is no guarantee that a g_malloc'ed memory block will be aligned on a 128 bits boundary Instead use a static variable definition (at the cost of exposing the HAVE_SSE4_2 compilation flag in ws_mempbrk.h) Change-Id: I661bf479a9d458d64c96bafc940c519d29a4780b Reviewed-on: https://code.wireshark.org/review/7070 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-02-11Fix SSE 4.2 checks.Guy Harris1-14/+14
CMake has "normal" and "cache" variables, and unexpected things happen if you have a normal and a cache variable with the same name. Apparently, check_c_compiler_flag() currently sets its result variable as a cache variable, and set(), by default, sets it as a normal variable. This means that there are two different HAVE_SSE4_2 variables, and the top-level CMakeLists.txt looks at the cache variable when it creates config.h; this means that if the nmmintrin.h test fails, config.h still says we have SSE 4.2. Instead, use separate variables for the "compiler can be made to generate SSE 4.2 code" test and the "nmmintr.h works" test; that way we don't have to worry about normal vs. cache variables (and don't have to worry about CMake changing what type of variable particular functions/macros set). Change-Id: I618ad402b248f35fffd822974b6a569d4e5d6398 Reviewed-on: https://code.wireshark.org/review/7073 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-11Combine SSE and pre-compiled patterns for faster pbrkHadriel Kaplan3-116/+94
This combines the SSE4.2 instructions usage, with pre-compiled pattern searching usage, for a faster pbrk search method. Testing against large files of HTTP and SIP, there is about a 5% performance improvement by using pre-"compiled" patterns for guint8_pbrk() instead of passing it the search string and having it build the match array every time. Similar to regular expressions, "compiling" the pattern match array in advance only once and using the "compiled" patterns for the searches is faster than compiling it every time. Change-Id: Ifcbc14a6c93f32d15663a10d974bacdca5119a8e Ping-Bug: 10798 Reviewed-on: https://code.wireshark.org/review/6990 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-30Disable SSE4.2 _ws_mempbrk_sse42 only for older Apple compilersHadriel Kaplan1-3/+13
This is a longer term fix to disable _ws_mempbrk_sse42 in older Apple compilers, which the buildbots currently use. This fix is the longer-term fix for the temprorary one introduced in g9a366b04/I2e438ff29. Bug: 10798 Change-Id: I051ca003610c07f7d75cc19b20ff823fe4c1ce05 Reviewed-on: https://code.wireshark.org/review/6851 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2015-01-29Disable SSE4.2 _ws_mempbrk_sse42 due to bug 10798Hadriel Kaplan1-0/+3
This is a (possibly) temporary change to master to disable _ws_mempbrk_sse42 to see if that fixes bug 10798. Ping-Bug: 10798 Change-Id: I2e438ff299f55709c66a37634d2a7e799c513ac9 Reviewed-on: https://code.wireshark.org/review/6844 Petri-Dish: Hadriel Kaplan <hadrielk@yahoo.com> Reviewed-by: Evan Huus <eapache@gmail.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com> Tested-by: Hadriel Kaplan <hadrielk@yahoo.com>
2015-01-28win32: fix detection of Windows 10 Technical PreviewPascal Quantin1-2/+20
The version number changed from 6.4 to 10.0 Change-Id: Ie749c97e8335f77d414d80edbd69373bd9a1cdad Reviewed-on: https://code.wireshark.org/review/6820 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-25Replace "GIT" with "VCS" in make-version.pl and files it manipulates.Guy Harris1-2/+2
That makes it more VCS-neutral - apparently some people maintain private versions under VCSes other than Git, and make-version.pl still handles those VCSes. Change-Id: Ie4914b16fea8ce800582729260c5e9b9cf1111f4 Reviewed-on: https://code.wireshark.org/review/6779 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21Also support -xarch=sse_42 in the Sun C compiler for x86(-64).Guy Harris1-7/+12
Change-Id: Ib6d0ae9c237b96568e2522d2077b311b3ac5af2e Reviewed-on: https://code.wireshark.org/review/6706 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21Always set the COMPILE_FLAGS property, so we can always fetch it.Guy Harris1-0/+10
If we aren't adding -Werror, just set it to a null string, so when we fetch it to add the SSE 4.2 flag to it for ws_mempbrk_sse42.c, it doesn't fail. Change-Id: I53858130c025e094ed8d0d975451961506fb1a39 Reviewed-on: https://code.wireshark.org/review/6704 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21Don't set SSE4_2_FLAG to -msse4.2 unless -msse4.2 works.Guy Harris1-1/+3
Change-Id: I54eca86d53dc0e4015a15491b9adfdfe9ef9e346 Reviewed-on: https://code.wireshark.org/review/6703 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21Check whether we can use nmmintrin.h.Guy Harris1-22/+33
If we think the compiler supports SSE 4.2, check whether we can use nmmintrin.h if we tell the compiler to compile with SSE 4.2 support; if not, disable SSE 4.2 support. This matches what we do in autotools. Change-Id: I474d53d2fe7e2628faca7309efd7155b63bd7eab Reviewed-on: https://code.wireshark.org/review/6702 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-21Only turn -msse4.2 on for ws_mempbrk_sse42.c, and don't always build it.Guy Harris1-3/+23
Move all the SSE 4.2 stuff to wsutil/CMakeLists.txt. Don't put ws_mempbrk_sse42.c in WSUTIL_FILES by default; add it if we think the compiler supports compiling for SSE 4.2. Add -msse4.2 to its COMPILE_FLAGS, but don't add it to any other compiler flags - we don't want to build anything else with -msse4.2 by default, as the only code that uses SSE 4.2 instructions but *only* does so if the processor supports it is our mempbrk implementation. (And *add* it, don't *replace* the existing flags with -msse4.2; that way, -Werror is left in there as well.) Change-Id: I979b37a37e4b88b3af11e2275e89441118c8ce0a Reviewed-on: https://code.wireshark.org/review/6698 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-20CMake: Set an output directory for plugins.Gerald Combs1-5/+5
Redefine PLUGIN_DIR similar to DATAFILE_DIR and use it on all platforms. Add WiresharkPlugin.cmake so that we can start defining common macros for plugins/*/CMakeLists.txt. Load plugins in out-of-tree builds. Change-Id: I8c1359ed3cf8a71788b8320ff89dfe2d3969def2 Reviewed-on: https://code.wireshark.org/review/6640 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-13Consistently use the "g_string_free returns a C string pointer" idiom.Guy Harris1-2/+1
g_string_free(str, FALSE) frees the GString container but not the underlying g_malloc()ed string; instead, it returns a pointer to the g_malloc()ed string. Fix those places that didn't already get the string pointer from g_string_free() to do so rather than manually extracting the string themselves. And fix one place that didn't even need to use a string - it was just scanning a C string without even modifying it. Change-Id: Ibbf4872bf5b9935b9907f539b6edb1013f3053a5 Reviewed-on: https://code.wireshark.org/review/6532 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-11Fix CMake generation and use of Windows .rc filesGraham Bloice1-1/+1
CMake now generates local copies of .rc files for all the Windows components and uses the files in the build of the components. The .rc.in files that include an icon were modified to allow the icon path to be set by CMake. The path is removed for nmake builds. Updated build architecture detection, required for wireshark.manifest.in Change-Id: I7b1ff43050e9b0efb861d1041636fb4aef49a4f8 Reviewed-on: https://code.wireshark.org/review/6482 Petri-Dish: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
2015-01-05Minor CMake updates to better group build artefactsGraham Bloice1-1/+1
Move capchild, caputils, codecs and wsutil into a Libs group Move gtkui into UI group Move update-sminmpec into tools group Change-Id: Iaf2bfe4697265af2c3ed9c9d7de2d5d1ef3cafee Reviewed-on: https://code.wireshark.org/review/6332 Reviewed-by: Graham Bloice <graham.bloice@trihedral.com> Tested-by: Graham Bloice <graham.bloice@trihedral.com>
2015-01-02Add back "version.h" inclusionPascal Quantin1-0/+2
It got removed by the automatic include cleaning scripts Also add it to text2pcap.c as it is used to get the version when writing a pcapng file Change-Id: I3d56985fa1d04bcb066fe015a588c24cf3cb7267 Reviewed-on: https://code.wireshark.org/review/6248 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-01-02Add '*.nativecodeanalysis.xml' to 'clean' targetsBill Meier1-1/+1
Change-Id: I90dbf0b31fc737150a01533763a7869b34c68cb6 Reviewed-on: https://code.wireshark.org/review/6220 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-01-01Welcome in 2015Pascal Quantin1-1/+1
Change-Id: Ib581b9383b211ea8dbcea1cadf98a2b8c3548ab5 Reviewed-on: https://code.wireshark.org/review/6204 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-12-31Use setlocale() to get the current locale.Guy Harris1-6/+18
This: 1) should work on Windows; 2) reflects what the C environment is actually set up to use, rather than what the environment variables for locale are set up to use - C programs default to the C locale and only pick up the setting from the environment variables etc. if you explicitly request the system locale with a setlocale() call. Change-Id: Iee064237e70501a5450d4daa9ab849391f200efd Reviewed-on: https://code.wireshark.org/review/6195 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31Swallow get_glib_version_info() into get_compiled_version_info().Guy Harris1-18/+9
It's not that complicated, so we might as well just do it in line. Change-Id: I10809db554e668a853d28e7dca48b2de0ed51ad3 Reviewed-on: https://code.wireshark.org/review/6190 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31"#else", not "#elif", for the last part of a chain of conditionals.Guy Harris1-2/+24
Also give more details, for future reference, on how to determine whether the processor supports CPUID. Change-Id: I01e7173e45b0079f02338e51248238c05302dbd2 Reviewed-on: https://code.wireshark.org/review/6189 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31ws_cpuid() returns a success/failure indication; make it gboolean.Guy Harris1-10/+10
Change-Id: I03403ce29c4ac343d56fc2cf33aa8da90a082cbb Reviewed-on: https://code.wireshark.org/review/6185 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31Distinguish between IA-32 and non-x86.Guy Harris1-3/+9
In case we make ws_cpuid() work on IA-32 processors, add a separate "always returns no" version of ws_cpuid() for non-x86 processors. Change-Id: Id6fbd3e5c7d4f04063bc9bcd8f1644cd617b297e Reviewed-on: https://code.wireshark.org/review/6184 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31Move some routines into ws_version_info.c.Guy Harris11-492/+153
The routines to get compiler, GLib version, CPU, and memory info are used only in routines in ws_version_info.c; move them into ws_version_info.c and make them static. Change-Id: I58edd18da3301095012d2c7a3c5198e5a7073964 Reviewed-on: https://code.wireshark.org/review/6183 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31Do the full string in get_{compiled,runtime}_version_info().Guy Harris2-24/+46
Have them start the string with "Compiled" or "Running on", and return the string when done. Change-Id: Ic4d290c963621fa0385dc5aab766fd4ad31d3810 Reviewed-on: https://code.wireshark.org/review/6155 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-31Move the version_info.c stuff to wsutil/ws_version_info.c.Guy Harris2-1/+135
Change-Id: I3a5c7e219974bfb924819b43b4d445eaf00e5bde Reviewed-on: https://code.wireshark.org/review/6153 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-29Restore string.h to os_version.cMartin Mathieson1-0/+1
Change-Id: I810a38c56829d5d3beaccc0171fc76f26ad79b52 Reviewed-on: https://code.wireshark.org/review/6108 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29Add back string.h to sha1.c and sober128.cMartin Mathieson2-0/+2
Change-Id: Idd8963717eab804f7d76652d1baf029be8b5997f Reviewed-on: https://code.wireshark.org/review/6105 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29Restore string.h to md4.cMartin Mathieson1-0/+1
Change-Id: I1a2c57ea20bcb1fd22c0379f3f43d3589e497c1b Reviewed-on: https://code.wireshark.org/review/6104 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29Add string.h back to rc4.cMartin Mathieson1-0/+1
Change-Id: Idea9369742373e4a50edb3f391bdabfeeb3a2ca7 Reviewed-on: https://code.wireshark.org/review/6103 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-29Add back string.hMartin Mathieson1-0/+1
Change-Id: Ia61c72c7e8d1ef92ec5a38d534620fc225eef365 Reviewed-on: https://code.wireshark.org/review/6102 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-28Add a couple of more needed includesMartin Mathieson2-1/+2
Change-Id: Ie160f81544c6c9b381078b555e91602617cb2700 Reviewed-on: https://code.wireshark.org/review/6101 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-28Restore string.h as OS X misses it for strlen()Martin Mathieson1-0/+1
Change-Id: If1a968d54eed97fae915b8546d8d7a65a56b82db Reviewed-on: https://code.wireshark.org/review/6100 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>