Commit Graph

771 Commits

Author SHA1 Message Date
Hadriel Kaplan 66719c9b6a Add way for Lua file reader to save state per file read/write ops
Lua can create a file reader/writer, to open new capture file
formats or write to new ones. To save local state, it can save
things in Lua itself; but since there can be multiple open files
at the same time (for example during a reload), the Lua script
won't know for which file and state its read/write functions are
being invoked for. To remedy this, and also provide a convenient
way to store such state, this commit adds the ability for a Lua
script to store a Lua table in the wtap/wtap_dumper's priv
data member, just like C-code-based reader/writers do.

Change-Id: Ifc9e0d5f0379accee56f2a04b6080238670fec52
Reviewed-on: https://code.wireshark.org/review/766
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-22 08:06:47 +00:00
Hadriel Kaplan 752e545fbf Fix API comments and don't use sprintf in wslua_int64.c
Change-Id: I4997317e010f685d47e1e2ab512b086e54b286a7
Reviewed-on: https://code.wireshark.org/review/777
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-03-21 19:49:27 +00:00
Hadriel Kaplan d1873dbcc8 Fix Bug 9903: 'Clicking reload-file ignores selected file format reader'
There's a relatively new feature in 1.11.3 to select a specific file format
reader, instead of relying on magics or heuristics. If you select a file
reader and open a file, open it, and then click the reload-file button or go
to View->Reload or press the ctrl-R keymap, the file is reloaded but using the
magic/heuristics again instead of the file format reader you previously chose.
Likewise, the Lua relaod() function has the same issue (which is how I found
this problem).

I have tested this change by hand, using a Lua script, but I didn't add it
to the testsuite because I need another change for my test script to work
correctly. (an enhancement rather than a bug fix, which I'll submit separately)

Change-Id: I48c2d9ea443e37fd9d41be43d6b6cd5a866d5b01
Reviewed-on: https://code.wireshark.org/review/764
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-21 17:51:45 +00:00
Alexis La Goutte 3d6c13e48b Fix build
wslua_file.c:92:13: error: request for implicit conversion from 'WFILE_T' to 'FILE_T' not permitted in C++ [-Werror=c++-compat]

Change-Id: Iff9cc716333802a3902429a8c68e5f4cdac2ee9e
Reviewed-on: https://code.wireshark.org/review/732
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-03-19 11:24:40 +00:00
Michael Mann 04d9501306 Add capture file reader/writer support for Lua so scripts can implement new capture file formats.
This enables a Lua script to implement a brand new capture file format reader/writer, so that for example one could write a script to read from vendor-specific "logs" of packets, and show them as normal packets in wireshark.

Change-Id: Id394edfffa94529f39789844c382b7ab6cc2d814
Reviewed-on: https://code.wireshark.org/review/431
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-19 05:04:54 +00:00
Hadriel Kaplan bac9b5b6fd Fix lrexlib.c clang static analyzer warning
This fixes a "Argument with 'nonnull' attribute passed null" warning
generated by the clang static analyzer.  It's a false positive, but
easy to remedy.

Change-Id: Id737d1ac29765ed26a416c5cd13bedafee478fb6
Reviewed-on: https://code.wireshark.org/review/661
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-15 08:19:33 +00:00
Hadriel Kaplan 04c39bb097 Add Lua heuristic dissector support
This adds the ability for Lua scripts to register heuristic dissectors
for any protocol that has registered a heuristic dissector list, such
as UDP, TCP, and ~50 others. The Lua function can also establish a
conversation tied to its Proto dissector, to avoid having to check the
heuristics for the same flow. The example dissector in the testsuite
has also been enhanced to include a heuristic dissector, to verify
the functionality and provide an example implementation.

Change-Id: Ie232602779f43d3418fe8db09c61d5fc0b59597a
Reviewed-on: https://code.wireshark.org/review/576
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-14 07:29:15 +00:00
Hadriel Kaplan 9961ee369c Fix Bug 9870 'Lua: trying to call/get an invalid name results in a get-loop error'
Due to the change I made previously for how methods are accessed, if you try
to access one that doesn't exist (for example mistype it or whatever), you get
an internal Lua error about a loop in table get, as opposed to the right error
message about the field not existing.

That's because I had set the class' metatable __index metamethod to point to
the class table, which of course has the metatable with the __index
metamethod, causing a lookup loop.  Blech.

Change-Id: I20d3717feadd45f652c2640e1671846184e7082d
Reviewed-on: https://code.wireshark.org/review/593
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-11 05:30:58 +00:00
Gerald Combs 8e508975eb Try to fix -Wparentheses-equality errors.
Clang in XCode 5.0 currently fails with

    error: equality comparison with extraneous parentheses
    [-Werror,-Wparentheses-equality]

Change-Id: I7ca2e81959e777f923bdff1273aca6c56b100f6c
Reviewed-on: https://code.wireshark.org/review/600
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-03-10 23:28:05 +00:00
Evan Huus 5de268aacb Replace "see copyright notice in" message with full license
Should make the licensecheck buildbot happy.

Also add "Public domain MIT/X11 (BSD like)" to the list of permitted licenses,
since it is a combination of two permitted licenses.

Change-Id: Ibc4ead09af89e9225c4e0589a2b7d06dcee6a44e
Reviewed-on: https://code.wireshark.org/review/581
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-03-10 16:42:20 +00:00
Evan Huus b996e8aec2 Add two more casts to satisfy OSX10.6 buildbot
Change-Id: Ia9d289d241d6117fdeb89db122b1813eed537631
Reviewed-on: https://code.wireshark.org/review/582
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-03-10 12:28:42 +00:00
Anders Broman c3b012acd2 Fix Windows x64 build failure
Change-Id: I7b71ead00b09e583e51fe45cf6b0bdfe75c3da98
Reviewed-on: https://code.wireshark.org/review/580
Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-03-10 10:57:22 +00:00
Martin Kaiser 3b47668a91 add explicit casts to fix compilation on Linux
Change-Id: I3b87e156ab35e14e3c6e3800ee2058b1a6be57d6
Reviewed-on: https://code.wireshark.org/review/577
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
2014-03-10 08:47:19 +00:00
Hadriel Kaplan ea46cdc474 Add GLib's regex library into Lua
While Lua's built-in pattern support is ok for simple things, many people end
up wanting a real regex engine. Since Wireshark already includes the GLib
Regex library (a wrapper for PCRE), it makes sense to expose that library to
Lua scripts. This has been done using Lrexlib, one of the most popular regex
bindings for Lua. Lrexlib didn't support binding GLib's Regex in particular -
it does for PCRE but GLib is a different API - so I've done that. A fairly
thorough testsuite came along with that, which has been incorporated into the
wireshark wslua testuites as well in this commit.

Change-Id: I05811d1edf7af8d7c9f4f081de6850f31c0717c7
Reviewed-on: https://code.wireshark.org/review/332
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-10 07:11:12 +00:00
Hadriel Kaplan 8a9bba861a Fix Bug 9853: 'Lua: trying to get/access a Preference before its registered causes a segfault'
Accessing a pref before it's registered causes a segfault, because prefs_p->next
is not being checked for NULL in wslua_proto.c:Prefs__index().

Change-Id: I270978ddb9238a9e8d2c533a96fc01ee0df385c7
Reviewed-on: https://code.wireshark.org/review/563
Reviewed-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-03-09 09:57:35 +00:00
Alexis La Goutte 296591399f Remove all $Id$ from top of file
(Using sed : sed -i '/^ \* \$Id\$/,+1 d')

Fix manually some typo (in export_object_dicom.c and crc16-plain.c)

Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8
Reviewed-on: https://code.wireshark.org/review/497
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04 14:27:33 +00:00
Evan Huus 54cccefef6 Fix build with recent lua changes.
Use FT_NONE instead of 0 to initialize an enum.
Drop use of lround/llround since they are not available on Windows.

Change-Id: I3961c1921304bafc090c763f0d6de8532f0b3510
Reviewed-on: https://code.wireshark.org/review/425
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-27 22:00:49 +00:00
Hadriel Kaplan c826191be0 Fix coverity warnings for all wslua files. (redux)
This fixes/addresses all the coverity warnings shown by
the buildbots. (I hope)

Change-Id: Ic2722df97c577d274e3cf3f0cbdca1902edde047
Reviewed-on: https://code.wireshark.org/review/423
Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-02-27 21:23:09 +00:00
Hadriel Kaplan bd36fe1bcb Fix bug 6357: Lua all_field_infos() broken within tap/listener
The current API for Lua provides a global function
"all_field_infos()" which returns all the populated field_info nodes
in the current proto_tree.

By default all_field_infos() "works", in the literal sense: it returns
exactly the fields the previous dissectors of the packet have
populated at that instant of time.  But of course dissectors don't
populate all the applicable fields most of the time, because of the
TRY_TO_FAKE_THIS_ITEM optimization where they don't fill in things
that aren't needed at the time by a display, color, or tap's dfilter.

So this commit offers a way to force the dissectors to populate
all the applicable field_infos in the tree, by setting the proto_tree
to be visible.  Obviously that is going to impact performance, since
it basically bypasses the TRY_TO_FAKE_THIS_ITEM optimization; so the
patch only does this if the Lua script author told it to explicitly,
by adding an argument to Listener.new() and register_postdissector().

Change-Id: I11d3559fbe8c14fbadf1b51415a3701dc1200b7b
Reviewed-on: https://code.wireshark.org/review/286
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-25 21:06:50 +00:00
Hadriel Kaplan 860747e1e7 Adds some Lua helper functions: some commonly used functions, and to help troubleshooting Lua scripts
There are some common things people need to do, such as convert to/from hex or get
the raw binary string in a ByteArray/Tvb/TvbRange. These have been added, as well
as some tests for them in the testsuites. Also, functions have been added to allow
a script to get all the available tap types and filter fields, since they are
not exactly what one can see in the Wireshark gui.

Change-Id: I92e5e4eae713bb90d79b0c024eaa4e55b99cc96b
Reviewed-on: https://code.wireshark.org/review/249
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-25 21:06:21 +00:00
Bill Meier 11b5c15fdb Remove trailing whitespace
Change-Id: I8116f63ff88687c8db3fd6e8e23b22ab2f759af0
Reviewed-on: https://code.wireshark.org/review/385
Reviewed-by: Bill Meier <wmeier@newsguy.com>
Tested-by: Bill Meier <wmeier@newsguy.com>
2014-02-25 20:46:49 +00:00
Hadriel Kaplan 7f074364b6 Fix bug 9790: Lua: wslua allows duplicate field registration
As discussed in bug 3513 and 9709, one can register more than one new ProtoFields for
the same field name. Of course C-code can do that too, and does a LOT apparently, but
if they're not similar ftypes then things can get scrweed up in display filters.

So this change prevents duplicate field registration of dissimilar ftypes. The
similarity is based on the discussion on the mailing list, and the listing in
README.developer has been updated to refelect that as well.

Also, this change adds a testscript for Proto/ProtoFields.

Change-Id: I43bd323f785245941a21289647332a19adec2a9d
Reviewed-on: https://code.wireshark.org/review/285
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-21 20:57:43 +00:00
Hadriel Kaplan 696353c129 Add test suite for verifying Lua global variables/tables of previous releases have not disappeared.
Several bugs have been introduced due to changing of perl scripts or #define names, such
that things exported into Lua have dissapeared or changed unintentionally. This commit
adds a test suite which compares the Lua global table with the ones from previous
releases (1.8 and 1.10), to verify nothing has gone missing. New items can be added, but
old ones cannot go away. The added script to verify these things, called 'verify_globals.lua',
also has the ability to display what's new - i.e., what was not in the olrder releases.

Lastly, this commit also fixes a bug: MENU_STAT_ENDPOINT became MENU_STAT_ENDPOINT_LIST
due to a change in the make-init-lua.pl perl script in this 1.11 release.

Change-Id: Iba143d1a436e706970635a5f8cc2b317955392bf
Reviewed-on: https://code.wireshark.org/review/284
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-21 16:28:07 +00:00
Guy Harris fe64c4671b And we need wslua_internals.obj as well.
Sort the list to match the .c list while we're at it, to make it easier
to check for errors.

(Why isn't this done with a Makefile.common file?)

Change-Id: I239964d53be9e48bddbd6180aabe118b5cac1fd0
Reviewed-on: https://code.wireshark.org/review/287
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-02-21 07:34:11 +00:00
Guy Harris 8d64656f20 Need to include wslua_internals.c here as well.
Change-Id: Ibae7e4473ad0131e399423ee9faba5ad759feaed
Reviewed-on: https://code.wireshark.org/review/283
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-02-21 03:05:51 +00:00
Guy Harris 431dc825df Fix warnings - index() is declared as a function in some systems.
Change-Id: If9ee9f0decc0a9d7971095109e1012b015a9dc96
Reviewed-on: https://code.wireshark.org/review/282
Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-02-21 03:00:11 +00:00
Evan Huus 3f2be6dbe8 Revert "Add test suite for verifying Lua global variables/tables of previous releases have not disappeared."
This reverts commit 5b7f00178f.

Change-Id: Idf09d25270847970713b67d02bcd7cbc411a4e9c
Reviewed-on: https://code.wireshark.org/review/280
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-21 02:16:51 +00:00
Hadriel Kaplan 5b7f00178f Add test suite for verifying Lua global variables/tables of previous releases have not disappeared.
Several bugs have been introduced due to changing of perl scripts or #define names, such
that things exported into Lua have dissapeared or changed unintentionally. This commit
adds a test suite which compares the Lua global table with the ones from previous
releases (1.8 and 1.10), to verify nothing has gone missing. New items can be added, but
old ones cannot go away. The added script to verify these things, called 'verify_globals.lua',
also has the ability to display what's new - i.e., what was not in the olrder releases.

Lastly, this commit also fixes a bug: MENU_STAT_ENDPOINT became MENU_STAT_ENDPOINT_LIST
due to a change in the make-init-lua.pl perl script in this 1.11 release.

Change-Id: Ic46172904256dc535b0fe4543237c07dddb3b9b5
Reviewed-on: https://code.wireshark.org/review/242
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-21 02:06:18 +00:00
Hadriel Kaplan 9246a709bf Cleanup on aisle 5: normalizes the Lua code to follow common schema/model
Over time the various wslua classes/functions have gotten moldy, with different
ways of doing similar things. Some of it can't be changed without breaking
backwards compatibility for Lua scripts, so I didn't do that. But I did what
I could. The biggest change is a refactoring of how accessors/attributes
are handled in the code, so that most of them work the same way using the
same code.

Specific changes made:
 * Added null/expired checking macro to class declarations for many classes
 * Removed extraneous pointer/expired checking, since checkFoo() does that already
 * Fixed "errors" reported by clang static analyzer; they were false positives, but it was easier to get it to stop complaining by changing the code
 * Moved internal wslua functions from wslua_utils.c into a new 'wslua_internals.c' file
 * Changed Listener/NSTime/Pinfo/Proto to use a common setter/getter accessor/attribute code model, instead of each of them doing their own
 * Fixed some API doc mistakes, mostly around attributes that were documented as read-only but were actually read-write

Change-Id: Idddafc5fbd3545ebff29e063acc767e1c743a1a9
Reviewed-on: https://code.wireshark.org/review/271
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-21 02:05:35 +00:00
Hadriel Kaplan 9a05640711 Fix Bug 9792: 'Lua: setting pinfo.dst_port actually sets src_port'
Setting the Pinfo.dst_port to a value actually changes the src_port's value,
due to a bug in wslua_pinfo.c, where both src_port and dst_port attributes use
the PARAM_PORT_SRC for their setter type enum.

Change-Id: I1b84ba8b343ec857d04a2d0809e16f17ba2a43e8
Reviewed-on: https://code.wireshark.org/review/269
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-20 18:24:51 +00:00
Evan Huus 7878878436 Move lua struct license to top of file.
It isn't picked up by licensecheck at bottom of file.

Change-Id: Ifa8302f90dc44eacd3722efca2471101902457a0
Reviewed-on: https://code.wireshark.org/review/217
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-14 16:18:25 +00:00
Alexis La Goutte d12011a5f9 Fix build on Windows
wslua_struct.c(431) : error C2220: warning treated as error - no 'object' file generated
wslua_struct.c(431) : warning C4244: '=' : conversion from 'lua_Number' to 'size_t', possible loss of data

Change-Id: Id8b7a77eb123232116223077175d243195c8d4fa
Reviewed-on: https://code.wireshark.org/review/213
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-14 12:37:25 +00:00
Hadriel Kaplan c4f1777a97 Adds support for Lua struct library so one can pack/unpack binary structures
This is based on Roberto Ierusalimschy's struct library, along with additional
options based on Flemming Madsen's patch to the lua-users mailing list, and
some changes I made to support 64-bit integer packing/unpacking.  Details
are in the top comments for wslua_struct.c.  This also includes a test script.

Change-Id: Ifcd0116ba013d5c760927721c8d6e9f28965534b
Reviewed-on: https://code.wireshark.org/review/98
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-14 10:11:50 +00:00
Hadriel Kaplan 58fe488822 Lua: add ability for scripts loaded from command-line to be passed arguments
This change adds the ability to pass on to lua scripts loaded from the
command-line (tshark or wireshark) additional arguments supplied by the
command-line.  This will help us in our testsuites, but also might be
useful for user-created scripts.  The additional arguments are passed in
using the '-X' eXtension switch.

Change-Id: Ib94cdf1ffd194ca84692fee7816665e4ff95efbd
Reviewed-on: https://code.wireshark.org/review/156
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-13 22:32:58 +00:00
Hadriel Kaplan 4e8832bb0a Fix bug 9736 'Lua: new Int64/UInt64 functions don't prevent division by zero'
OK, in all fairness this does a bit more than just fix that bug. It also
adds a 'Int64()' and 'UInt64()' __call metamethods. I generally dislike
using __call metamethods, because they're often unintuitive (for example
the wireshark Field and FielInfo use this in a bizarre fashion).  But this
happens to be a perfect use for it, and very natural, imho.  Another change
is to make the metatables of classes visible to scripts. There was never
really a good reason not to make them visible, and they have to be visible
to do things like use __call on a plain table... not to mention I need them
to be visible to run test scripts verifying evrything is kosher.

I also updated the test suite to test for the div/mod by zero.

Change-Id: Ia4c594c8f59d4e799090716bd032ba2815df032f
Reviewed-on: https://code.wireshark.org/review/149
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-09 16:04:36 +00:00
Hadriel Kaplan f5554155a1 Fix bug 9733 ' Lua: wtap_filetypes.TSPREC_ variable names are missing from the Lua global table'
The fix for bug 9712, which involved changing the make-init-lua.pl perl script
to handle the new C-code define names for filetypes in release 1.11,
unfortunately also stopped matching against the timestamp define names.

Arguably the timestamp ones should never have been matched to begin with, at
least not by the same regex function, because they're not "filetypes".  But
they've been matched and exported into the Lua table forever, so we'll break
backward-compat if we don't keep doing it. Ugh.

The good news is I caught this bug using a new test script I wrote which
verifies previous release's Lua stuff didn't disappear.  I'll submit that
separately when I get a chance to clean it up, hopefully next week.

Change-Id: Ibf1d1da0dc4ed62cc1bacf345742dccf8ec40e30
Reviewed-on: https://code.wireshark.org/review/143
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-08 11:31:02 +00:00
Hadriel Kaplan 991bd3d7e1 Fix bug 9732: ' Lua: recent commit changed some MENU_ key names in init.lua'
A recent fix (made by me) for bug 9707, in Change-Id:
If4ee1906aa60dd37366cf2ef9bc4168e0ea024b6, made the perl regex grab too much
of the menu name.  It changed MENU_STAT_CONVERSATION, MENU_STAT_RESPONSE, and
MENU_ANALYZE_CONVERSATION's key names into their longer C-code names.  Ugh.

The fix for this is a bit brittle, but I think it's impractical to avoid it
being brittle, due to needing to support legacy Lua scripts.  I put comments
in stat_menu.h to warn of the danger.

Change-Id: I41408e9d4f5b5bd73e2871fccabff81c7cbd242d
Reviewed-on: https://code.wireshark.org/review/140
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2014-02-08 11:29:32 +00:00
Hadriel Kaplan 217f9fd0d9 Fix Bug 9728 'Lua: ProtoField.bool() VALUESTRING argument is not optional but was supposed to be'
Similar to bug 9725 and ProtoField.new(), the way the VALUESTRING argument is being checked
in the code for ProtoField.bool() ends up making it non-optional.  This patch fixes that,
along with some minor API documentation fixes (text).

Change-Id: Iadb9a8ace9c5514fc623d882301fe16b637fe4ce
Reviewed-on: https://code.wireshark.org/review/125
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-07 19:19:54 +00:00
Evan Huus 32e4d901fc Two fixes for license headers
- packet-bencode.c had the wrong FSF address
- wslua_int64.c had the license as a footer instead of a header

Change-Id: I71204b36a1034af72874d6fe87929c31c9ff03df
Reviewed-on: https://code.wireshark.org/review/123
Reviewed-by: Guy Harris <guy@alum.mit.edu>
Reviewed-by: Hadriel Kaplan <hadrielk@yahoo.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-05 21:43:59 +00:00
Hadriel Kaplan 2466a7c6f1 Fix Bug 9725 'Lua: ProtoField.new() is buggy'
Using ProtoField.new() is dicey.  Many of the optional arguments don't properly check the lua stack - they call lua_isnil() for their index number, instead of lua_gettop() to see the stack size.  lua_isnil() may return false in such cases.

Change-Id: I83ca1e5fc34e71ec35899adbedabcee69571b9fe
Reviewed-on: https://code.wireshark.org/review/118
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-02-05 07:40:01 +00:00
Hadriel Kaplan 9eaa61109e Fix bug 9720 'Lua: bitop library is missing in Lua 5.2'
In Lua 5.2 the bitop library is missing - it's not getting loaded into
the lua global table as "bit", or anything else for that matter.  Lua
5.2 has its own bit-operations library ("bit32") which is there, but
that one's not as good as bitop and would break back/forward
compatibility for lua scripts anyway.

Change-Id: I94b7d45bbeb2f637d1c76b0b5c9d8472eebfcaea
Reviewed-on: https://code.wireshark.org/review/100
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-02-04 22:01:01 +00:00
Evan Huus 1cd7828527 Various fixes to the Lua int64 code
- add casts to pacify certain buildbots
- skip test if lua isn't available

Change-Id: I614c05dca40cb848c87b361e4b3d3c4e94aafb9e
Reviewed-on: https://code.wireshark.org/review/97
Reviewed-by: Evan Huus <eapache@gmail.com>
Tested-by: Evan Huus <eapache@gmail.com>
2014-02-04 00:59:07 +00:00
Hadriel Kaplan 2e7f771a18 Adds support for Lua Int64 and UInt64 operators, functions, and general
usefulness, working around bug #9162 until Lua 5.3 is released.

The existing Int64 and UInt64 classes provide virtually no
usefullness, other than for creating a string of their value.  While
one could then write Lua code to convert the string to Lua numbers and
such, ultimately Lua has no native 64-bit integer support, making such
a task difficult to handle in Lua.  This change adds a host of
functions and operators to the existing Int64 (gint64) and UInt64
(guint64) classes, to enable true 64-bit integer support on par with
native Lua numbers.

A test script is also provided, which tests the functions/operators.

Change-Id: I4c5f8f5219b9a88198902283bd32ddf24c346bbe
Reviewed-on: https://code.wireshark.org/review/83
Tested-by: Evan Huus <eapache@gmail.com>
Reviewed-by: Evan Huus <eapache@gmail.com>
2014-02-04 00:37:46 +00:00
Hadriel Kaplan 3d59ff9e95 Fix for Bug-9711 Lua: the Lua stack is growing slightly during initialization.
Change-Id: I689319c0071fdb42583e8bd7633d8f0660c92f1b
Reviewed-on: https://code.wireshark.org/review/51
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-01-31 16:31:59 +00:00
Hadriel Kaplan 764cc74628 Fix for Bug-9712 Lua: changes to WTAP_FILE_ #define names prevents them being in init.lua
Change-Id: I0a2ccd686a89ffbc918a7b8b6af4a0ba8a5ab097
Reviewed-on: https://code.wireshark.org/review/52
Reviewed-by: Gilbert Ramirez <gram@alumni.rice.edu>
Tested-by: Gilbert Ramirez <gram@alumni.rice.edu>
2014-01-31 13:28:10 +00:00
Stig Bjørlykke 436fe9c85e Lua: Improved running in build directory.
Load system init.lua from build-directory/epan/wslua
Set Lua datafile_path to source-directory/epan/wslua
Made dofile() search in source-directory/epan/wslua

Change-Id: I009234eb8193c1ed3260455b245c256c9747930f
2014-01-30 07:53:18 +00:00
Hadriel Kaplan f97d6f397c Fix for Bug 9707 'Lua: init.lua has multiple 'MENU_STAT_TELEPHONY' values'
Change-Id: If4ee1906aa60dd37366cf2ef9bc4168e0ea024b6
2014-01-29 19:53:59 +00:00
Stig Bjørlykke e4a140c7f0 Lua: Added a utility function file_exists().
This function can be used to check for files before calling dofile(),
which will fail for non-existing files.

Change-Id: Iae7b7ef6d8eb6e0e18f98fee7c740d2a5705eef3
2014-01-29 16:05:48 +01:00
Martin Kaiser a0df200a84 coverity 702387
add missing NULL check

svn path=/trunk/; revision=54848
2014-01-19 16:19:24 +00:00
Guy Harris a48d06df11 We have to cast away constness here, because C doesn't have
parameterized types.

svn path=/trunk/; revision=54801
2014-01-14 18:42:16 +00:00
Guy Harris 834c79a07e Don't cast away constness.
svn path=/trunk/; revision=54796
2014-01-14 18:12:14 +00:00
Guy Harris 59722b868d In a source file that defines external functions, the header file that
declares the functions must be included, in order to make sure the
declarations match the function signature.  Make it so - which means
creating the header file in the first place.

That means luaopen_bit() doesn't need to, and shouldn't be, declared in
wslua.h.

Have make-reg.pl generate a #include of lua_bitop.h.  Also fix the "this
is autogenerated" warning.

svn path=/trunk/; revision=54725
2014-01-13 22:06:12 +00:00
Stig Bjørlykke 74394f2cf7 Added expired handling to FieldInfo.
This avoids using free'd pointers (which leads to crash) when
assigning FieldInfos to global variables.

svn path=/trunk/; revision=54623
2014-01-07 14:46:17 +00:00
Alexis La Goutte 28a2511506 Add extern C for init_wslua (for future use in Wireshark Qt)
svn path=/trunk/; revision=54532
2014-01-01 14:12:38 +00:00
Alexis La Goutte 0ce7d1790d Make Buildbot Happy
Fix : ./wslua_proto.c:1261:1: error: 'ProtoField_systemid' defined but not used [-Werror=unused-function]

svn path=/trunk/; revision=54397
2013-12-23 18:12:04 +00:00
Michael Mann 7ec4582b4f Add FT_SYSTEM_ID type and convert the dissectors that use print_system_id with FT_BYTES to now use FT_SYSTEM_ID type.
svn path=/trunk/; revision=54383
2013-12-23 15:18:48 +00:00
Stig Bjørlykke e8e3f1011b Removed a wrong sanity check in ByteArray base64_decode.
svn path=/trunk/; revision=54379
2013-12-23 12:19:16 +00:00
Stig Bjørlykke df25b7a7e0 Improved out-of-bounds check in TvbRange ustringz and le_ustringz.
This functions should probably be marked as obsoleted now that we
have support for encoding in stringz.

svn path=/trunk/; revision=54372
2013-12-22 22:19:41 +00:00
Stig Bjørlykke 8a4f419f60 Made TvbRange strsize take an optional encoding argument.
svn path=/trunk/; revision=54371
2013-12-22 22:09:06 +00:00
Stig Bjørlykke a48a5a164f Made TvbRange string and stringz take an optional encoding argument, and
removed the yet-another-string-function string_enc and stringz_enc.

Documented the encoding argument.

svn path=/trunk/; revision=54356
2013-12-22 13:08:39 +00:00
Jakub Zawadzki 0f8572cb51 Avoid including definition of column_info structure in dissectors.
Move COL_* enum to <epan/column-utils.h>

XXX Later we can rename epan/column-info.h to column-int.h (or smth like this)

svn path=/trunk/; revision=54352
2013-12-22 10:41:27 +00:00
Jakub Zawadzki c442c1bd66 Fix buildbot: ./wslua_util.c:102: warning: implicit declaration of function 'rel_time_to_ep_str'
svn path=/trunk/; revision=54335
2013-12-21 17:37:37 +00:00
Jakub Zawadzki be733f3041 Move epan/base64.[ch] to wsutil/ with function name change.
svn path=/trunk/; revision=54326
2013-12-21 14:38:51 +00:00
Stig Bjørlykke ae97f5d3bd Improved the valuestring documentation.
svn path=/trunk/; revision=54311
2013-12-20 21:15:04 +00:00
Guy Harris 0f86a86f47 Add new string_enc and stringz_enc methods that take an encoding value
as an argument, just as the add_packet_field method for a tree does.

Use tvb_get_string_enc() and tvb_get_stringz_enc() rather than
tvb_get_string(), tvb_get_stringz(), tvb_get_unicode_string(), and
tvb_get_unicode_stringz().  Treat "ustring" as meaning "UTF-16-encoded
Unicode string" rather than "UCS-2-encoded subset-of-Unicode string".

svn path=/trunk/; revision=54310
2013-12-20 20:29:27 +00:00
Evan Huus c38424311f Replace one more g_memmove with memmove, add a cast to make the Lua stuff
compile.

svn path=/trunk/; revision=54296
2013-12-20 14:45:24 +00:00
Stig Bjørlykke de2bcb2c8e Build correct base table in init.lua after changes in epan/proto.h
svn path=/trunk/; revision=54293
2013-12-20 13:38:36 +00:00
Stig Bjørlykke db3c476e6c Rewrote ProtoField_new to:
- Allow both string and integer for type and base (improve usability).
- Check valid base and mask for different types (avoid crashes).
- Remove ftypes.PROTOCOL from valid types.

This should fix bug #9549.

svn path=/trunk/; revision=54292
2013-12-20 13:33:48 +00:00
Evan Huus 2ae8edccea Rename more to_str functions to have ep_ in the name if they return ephemeral
buffers. Remove two unused functions.

svn path=/trunk/; revision=54250
2013-12-19 16:28:39 +00:00
Evan Huus a6415ece0a Rename a couple of to_str functions to have ep_ in the name. This makes it
obvious that the returned string is ephemeral, and opens up the original names
in the API for versions that take a wmem pool (and thus can work in any scope).

svn path=/trunk/; revision=54249
2013-12-19 15:49:09 +00:00
Stig Bjørlykke 3b73e8b479 Renamed new_TvbRange to push_TvbRange and use this when creating a new
TvbRange from a FieldInfo.

This should fix the crash in bug #9483.

svn path=/trunk/; revision=54247
2013-12-19 15:26:31 +00:00
Stig Bjørlykke ad531c5bfc Added Column clear_fence().
svn path=/trunk/; revision=54221
2013-12-18 14:19:12 +00:00
Martin Mathieson 485faca86d Add cast to try to fix buildbot failure
svn path=/trunk/; revision=54218
2013-12-18 13:37:20 +00:00
Stig Bjørlykke 52a05e6275 Added ByteArray base64_decode().
svn path=/trunk/; revision=54215
2013-12-18 12:55:43 +00:00
Jakub Zawadzki 2c015bb386 Fix some const/ not const warnings.
svn path=/trunk/; revision=54114
2013-12-15 12:35:00 +00:00
Jakub Zawadzki c67d38cf15 Rename base_display_* to field_display
This is preparation to support ->display for FT_STRING values.

svn path=/trunk/; revision=53820
2013-12-07 10:41:42 +00:00
Guy Harris 9812f55dbb Include <epan/dfilter/dfilter.h> in files that use display filter
routines.

svn path=/trunk/; revision=53772
2013-12-03 23:08:46 +00:00
Jakub Zawadzki 2118d75b45 missing stdlib.h include for wslua.
svn path=/trunk/; revision=53771
2013-12-03 22:59:29 +00:00
Guy Harris 0cc1545d05 Move most of the plugin code from epan to wsutil and remove all
knowledge of particular types of plugins.  Instead, let particular types
of plugins register with the common plugin code, giving a name and a
routine to recognize that type of plugin.

In particular applications, only process the relevant plugin types.

Add a Makefile.common to the codecs directory.

svn path=/trunk/; revision=53710
2013-12-02 08:30:29 +00:00
Michael Mann eabaddaca9 Remove ethertype, mpls_label and ppids from packet_info structure.
The information was converted to "proto" data within their respective dissectors strictly for use in "Decode As".

svn path=/trunk/; revision=53489
2013-11-21 20:08:20 +00:00
Stig Bjørlykke 52ce5acbdf Detect out-of-bounds when handling zero terminated strings from a TvbRange.
This avoids a wireshark crash.

svn path=/trunk/; revision=53470
2013-11-21 08:42:21 +00:00
Guy Harris db25270df8 Move the epan/filesystem.c routines to wsutil; they're not specific to
packet dissection, they're specific to the entire Wireshark suite of
programs.

svn path=/trunk/; revision=53377
2013-11-17 02:55:14 +00:00
Jakub Zawadzki 8c11584ce1 Make wslua byte_to_str[] array of char[3] instead of pointers to char.
XXX, it should use byte_to_hex() from to_str.c

svn path=/trunk/; revision=53350
2013-11-15 23:33:02 +00:00
Jakub Zawadzki 5518639af2 Fix buildbot:
wslua_proto.c(1700) : error C2065: 'TRY' : undeclared identifier

svn path=/trunk/; revision=53233
2013-11-10 16:57:29 +00:00
Jakub Zawadzki b6512582ab try to fix buildbot:
./wslua_field.c:32:31: fatal error: ftypes/ftypes-int.h: No such file or directory

svn path=/trunk/; revision=53225
2013-11-10 14:00:29 +00:00
Jakub Zawadzki 9a6810481d Fix buildbot:
wslua_field.c(179) : error C2037: left of 'val_to_string_repr' specifies undefined struct/union '_ftype_t'

svn path=/trunk/; revision=53224
2013-11-10 13:38:07 +00:00
Guy Harris 853da2eb9b The "file types" we have are actually combinations of types and
subtypes, e.g. Network Monitor version 1 and Network Monitor version 2
are separate "file types", even though they both come from Network
Monitor.

Rename various functions, #defines, and variables appropriately.

svn path=/trunk/; revision=53166
2013-11-08 09:53:01 +00:00
Guy Harris 2a088c1d53 Add support for displaying dates as year and day-of-year (1-origin).
In the process, fix various man page descriptions of the -t flag,
and add support for UTC absolute times in the iousers and iostat TShark
taps.

svn path=/trunk/; revision=53114
2013-11-06 20:39:09 +00:00
Michael Mann 02a8391535 Require dissector_try_string to pass a data parameter to its subdissectors. There weren't that many calls, so might as well modify the function than create a need for dissector_try_string_new.
svn path=/trunk/; revision=53049
2013-11-02 15:52:25 +00:00
Michael Mann 79d58dc670 Add Lua cleanup on shutdown, to help with memory leak detection. Bug 5575 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5575)
From Robert G. Jakabosky

From me: cleanup so that it applies to trunk.

svn path=/trunk/; revision=52798
2013-10-23 16:47:02 +00:00
Michael Mann 17679ee25d Cannot define Field refering ProtoField defined in LUA. Bug 3513 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3513)
When a new Field is created, does as following: 

* Check whether that field is registered, by using `proto_registrar_get_byname`. This is current behavior.
* (patched) If not registered, check whether that field is defined in LUA and will be registered. This is performed in `wslua_is_field_available` accessing LUA context.
* If not, an error "a field with this name must exist"  occurs.


svn path=/trunk/; revision=52771
2013-10-22 17:41:06 +00:00
Graham Bloice 9c4ee86784 Add CMake properties to targets so that they are logically organised when using a Visual Studio solution.
Add CMake properties to group the source files in epan into logical blocks when using a Visual Studio solution.

svn path=/trunk/; revision=52580
2013-10-13 09:21:55 +00:00
Michael Mann 9ccefb0ecd Prefix all "Wireshark application specific" display filters with a "_ws." to distinguish them from dissector filters.
This was committed now to get it into the 1.11 release so users can start getting used to the changed filter names.

svn path=/trunk/; revision=52462
2013-10-09 12:56:19 +00:00
Michael Mann ee208c8dcc Add support for RELATIVE-OID ASN.1 type. Bug 9192 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9192)
From Ed Beroset.

svn path=/trunk/; revision=52393
2013-10-06 02:31:10 +00:00
Michael Mann 12dd69e0b6 Remove check_col.
svn path=/trunk/; revision=52316
2013-10-01 15:14:59 +00:00
Pascal Quantin 102c452bcb More emem -> wmem conversion:
- tvb_get_g_stringz()/tvb_get_ephemeral_stringz()/tvb_get_seasonal_stringz() -> tvb_get_stringz()
- tvb_get_g_stringz_enc()/tvb_get_ephemeral_stringz_enc() -> tvb_get_stringz_enc()
- tvb_get_ephemeral_unicode_stringz() -> tvb_get_unicode_stringz()
- tvb_bcd_dig_to_ep_str() -> tvb_bcd_dig_to_wmem_packet_str()
- update docs accordingly

svn path=/trunk/; revision=52180
2013-09-22 20:04:35 +00:00
Pascal Quantin a0c53ffaa1 emem -> wmem conversion:
- ep_tvb_get_bits() -> wmem_packet_tvb_get_bits()
- tvb_g_memdup()/ep_tvb_memdup() -> tvb_memdup()
- tvb_fake_unicode()/tvb_get_ephemeral_faked_unicode() -> tvb_get_faked_unicode()
- tvb_get_g_string()/tvb_get_ephemeral_string()/tvb_get_seasonal_string() -> tvb_get_string()
- tvb_get_g_unicode_string()/tvb_get_ephemeral_unicode_string() -> tvb_get_unicode_string()
- tvb_get_ephemeral_string_enc() -> tvb_get_string_enc()
- update docs accordingly

svn path=/trunk/; revision=52172
2013-09-22 15:50:55 +00:00
Evan Huus 6df83e8078 Add _g_ to the names of functions that allocate glib memory. This is a bit more
explicit, and frees up the "generic" names (like tvb_memdup) for new signatures
that take the appropriate wmem pool.

Majority of the conversion done with sed.

svn path=/trunk/; revision=52164
2013-09-21 17:04:41 +00:00
Jörg Mayer f348cd5678 Explicit inclusion of emem.h
svn path=/trunk/; revision=52000
2013-09-13 08:49:38 +00:00
Stig Bjørlykke c0d7a95f4e From Robert G. Jakabosky via bug 5575:
Fix module registration.  Must use lua_call() when calling luaopen_*()

svn path=/trunk/; revision=51965
2013-09-12 11:34:13 +00:00
Stig Bjørlykke db96634f08 Enable Lua ldap, smb and smb2 taps
svn path=/trunk/; revision=51928
2013-09-10 11:18:41 +00:00
Stig Bjørlykke 152a9c5982 Added TreeItem prepend_text().
svn path=/trunk/; revision=51924
2013-09-10 10:35:30 +00:00
Stig Bjørlykke 860856b424 Fixed some NSTime error texts.
svn path=/trunk/; revision=51922
2013-09-10 10:27:47 +00:00
Stig Bjørlykke 8bde188792 Fixed FieldInfo documentation.
svn path=/trunk/; revision=51920
2013-09-10 10:07:40 +00:00
Stig Bjørlykke 408b498a12 Return ByteArray as "value" for FieldInfo's with type FT_NONE (which has data).
This fixes bug 5201.

svn path=/trunk/; revision=51903
2013-09-09 21:42:49 +00:00
Stig Bjørlykke f8624cef20 Initialize all tvb values in FieldInfo_get_range.
This fixes bug 5200.

svn path=/trunk/; revision=51899
2013-09-09 21:20:26 +00:00
Stig Bjørlykke f74bd06ecf Removed return value from ByteArray append and prepend, as this did push
the same ByteArray twice (and thus calling the GC twice).
This should fix bug 4461.

Changed ByteArray concat to create a new array to be returned.

svn path=/trunk/; revision=51872
2013-09-09 17:49:22 +00:00
Stig Bjørlykke 9c3487a569 Added DissectorTable_set and DissectorTable_remove_all to simplify changing
registered port numbers in PROTO.prefs_changed.

Now we only need this code in Lua plugins having port numbers prefs:

PROTO.prefs.ports = Pref.range ("Ports", 0, "Port numbers", 65535)

PROTO.prefs_changed()
  local udp_table = DissectorTable.get ("udp.port")
  udp_table:set (PROTO.prefs.ports, PROTO)
end

svn path=/trunk/; revision=51860
2013-09-09 05:45:24 +00:00
Michael Mann 1b009df749 Couldn't quite figure out how to make the expert items in proto.c and the LUA API filterable (suggestions welcome!), but I wanted to start forcing dissectors to use the filterable expert API (nothing like compile errors to force change!). I created expert_add_info_format_internal (original expert_add_info_format) and used it as a placeholder for proto.c/LUA API until a solution is created. The "new" expert_add_info_format will be the "old" expert_add_info_format_text, and I'll slowly do the search/replace.
For those with dissectors outside the source tree, please see tools/convert_expert_add_info_format.pl for help with the conversion.  Please do not use expert_add_info_format_internal, as it's support time will be very short lived.

svn path=/trunk/; revision=51844
2013-09-08 19:32:10 +00:00
Evan Huus 9507f56495 Fix lua docstring causing the buildbot's documentation step to fail.
svn path=/trunk/; revision=51828
2013-09-07 22:00:02 +00:00
Stig Bjørlykke 6a4364bb40 Added pinfo.can_desegment to lua script.
This fixes bug 5205.

svn path=/trunk/; revision=51824
2013-09-07 18:04:35 +00:00
Stig Bjørlykke 7d3d67407c Added support for a "prefs_change" function in Lua scripts, which is called
when the preferences for the dissector are changed.

This is not a 100% correct implementation at the time because the
prefs_changed function in all Lua plugins will be called whenever
a preference in a single Lua plugin is changed.

svn path=/trunk/; revision=51818
2013-09-07 11:27:38 +00:00
Stig Bjørlykke a8638eec90 Added support for integer range in DissectorTable_add and DissectorTable_remove.
This was requested in bug 6762.

svn path=/trunk/; revision=51817
2013-09-07 11:07:18 +00:00
Stig Bjørlykke 452bfe4ce0 A small documentation fix for DissectorTable_remove.
svn path=/trunk/; revision=51816
2013-09-07 11:01:52 +00:00
Stig Bjørlykke 6b93b0e1dc Added syntax and range checks for Lua Prefs.range default values.
Fixed some small memory leakages.

svn path=/trunk/; revision=51815
2013-09-07 10:56:52 +00:00
Stig Bjørlykke f9f29d0307 Make the Lua dissector "init" routine work again.
svn path=/trunk/; revision=51805
2013-09-06 22:22:27 +00:00
Stig Bjørlykke 5f35d91ace Added TvbRange strsize().
svn path=/trunk/; revision=51470
2013-08-22 11:58:32 +00:00
Guy Harris 5dcd6daba7 Get rid of -Wshadow warning - I guess we're including something that
gets <getopt.h>, so we get the optarg global.

svn path=/trunk/; revision=51346
2013-08-14 00:35:27 +00:00
Guy Harris 14fe8951b7 Use 4-space indentation consistently.
svn path=/trunk/; revision=51345
2013-08-14 00:33:36 +00:00
Stig Bjørlykke a31a88b142 Show the Lua plugin being loaded in the splash screen.
svn path=/trunk/; revision=51335
2013-08-13 10:38:30 +00:00
Jakub Zawadzki 9cfac1227d Replace hfinfo pointer to same_name_prev, with same_name_prev_id.
svn path=/trunk/; revision=51175
2013-08-06 20:53:47 +00:00
Michael Mann 81f3faf1e8 Completely remove support for proto_item_set_expert_flags.
svn path=/trunk/; revision=51144
2013-08-05 02:25:45 +00:00
Jakub Zawadzki 08eb36b5af Remove fdata->opt_comment, add pkt_comment to pinfo
Original (read from file) comments can be accessed by pkthdr->opt_comment
Keep user comments in seperated BST, add new method for epan session to get it.

svn path=/trunk/; revision=51090
2013-08-01 20:59:38 +00:00
Stig Bjørlykke 0f13e3c95d Add support for 64 bit value string in Lua.
Lua cannot store a 64 bit integer with full precision, which is used
for keys in tables, so this is not a 100% solution.  But it will probably
be good enough for value strings, and it is better to have some support
than no support.

svn path=/trunk/; revision=50988
2013-07-28 20:59:59 +00:00
Jakub Zawadzki c702e92121 Replace relative timestamp with reference frame number. Saves 16B per frame.
svn path=/trunk/; revision=50772
2013-07-21 23:07:33 +00:00
Jakub Zawadzki 5d52e16734 Add helper function to epan_session which can be used to get absolute timestamp of given frame.
Remove ->prev_cap, for testing purpose also replace ->prev_dis with number of previously displayed frame number.

This patch reduce size of frame_data by 8B (amd64)
This is what (I think) was suggested by Guy in comment 13 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5821#c13)

svn path=/trunk/; revision=50765
2013-07-21 20:48:30 +00:00
Jeff Morriss 54bb2e7a5c Move report_err.{h,c} from epan into wsutil: there's nothing epan-specific there and moving it avoids having to recompile the file for use in editcap and capinfos (which don't link against libwireshark).
svn path=/trunk/; revision=50598
2013-07-15 02:48:26 +00:00
Stig Bjørlykke ca9c78088b Document that ProtoField INT64 and UINT64 does not support value string.
svn path=/trunk/; revision=50484
2013-07-10 16:51:54 +00:00
Stig Bjørlykke 5289c9564d Use luaL_optnumber for ProtoField mask, to avoid a signed cast.
This fixes bug 5734.

svn path=/trunk/; revision=50483
2013-07-10 16:33:30 +00:00
Jeff Morriss a441793cba Move a couple of time-related modules into wsutil.
A bunch of files didn't really need to include these header files so remove
the include line rather than changing it.

svn path=/trunk/; revision=50154
2013-06-25 22:02:20 +00:00
Chris Maynard ce088c334d makefile.nmake -> Makefile.nmake and minor whitespace (spaces -> tabs) changes.
svn path=/trunk/; revision=50140
2013-06-25 15:32:49 +00:00
Luis Ontanon 48260bd93b wslua: Adda a wtap_encaps name to replace wtap which is too generic.
svn path=/trunk/; revision=49617
2013-05-29 15:52:25 +00:00
Jeff Morriss dc7772cce2 Fix what looks to be a typo in definition of wtap_encaps.
svn path=/trunk/; revision=49609
2013-05-29 13:03:52 +00:00
Luis Ontanon 5c595ef825 fix for bug 7465
add a wiretap file type table to init.lua


svn path=/trunk/; revision=49608
2013-05-29 06:50:28 +00:00
Jeff Morriss c2ced4a2ab Don't try to open <home>/.wireshark on Windows: Wireshark hasn't written to
that directory since 2001 and reading from that directory was only left in for
backwards compatibility with versions prior to r4702.  I think it's now safe
to remove that backwards compatibility.

This eliminates the last argument of get_persconffile_path().

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8437

svn path=/trunk/; revision=48797
2013-04-09 02:48:03 +00:00
Guy Harris d517ab3698 In the Lua dumper code, don't bother checking whether the encapsulation
is supported before trying to open for writing - the attempt to open for
writing will do the check for you.  Instead, check for specific errors
if the attempt to open for writing fails, and use somewhat more specific
error messages for certain error codes.  (We should perhaps check for
even more error codes in those cases.)

That gets rid of all external calls to wtap_dump_can_write_encap(), so
remove it from wtap.h and make it static.

svn path=/trunk/; revision=48691
2013-04-01 21:39:28 +00:00
Guy Harris 001a6eb165 Squelch some "casting away constness" warnings.
svn path=/trunk/; revision=48542
2013-03-24 23:49:22 +00:00
Evan Huus 6ad3aeb3d9 From Hadriel Kaplan and myself via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8496
Iterate backwards through the linked list of identically-named fields in the lua
bindings since the list is, in fact, created backwards by
proto_register_field_init(). There is some question about whether that is
actually intended, but the rest of the code seems to assume it's normal so we
will too. It was possibly a performance consideration, though that's not
well-documented if so.

Either way, this is the simplest and safest method of fixing the issue with the
lua bindings. See the bug for more analysis.

svn path=/trunk/; revision=48495
2013-03-23 02:53:41 +00:00
Stig Bjørlykke 7d7bf98a8e Added TvbRange uncompress().
svn path=/trunk/; revision=48422
2013-03-19 17:15:27 +00:00
Anders Broman 27744ecc2d From beroset:
remove C++ incompatibilities 
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48337
2013-03-16 08:12:29 +00:00
Stig Bjørlykke 187a884cea Update Lua BitOp to version 1.0.2
svn path=/trunk/; revision=48316
2013-03-15 15:15:00 +00:00
Anders Broman e022d129bd From beroset:
made implicit casts explicit and changed a number of fields and function return values from base_display_e to unsigned because the enum was not a comprehensive list of all possible values

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8416

svn path=/trunk/; revision=48289
2013-03-14 06:45:55 +00:00
Jaap Keuter 827eb58b04 From David Arnold:
Replace use of INCLUDES with AM_CPPFLAGS in all Makefiles to placate recent autotools.

svn path=/trunk/; revision=48261
2013-03-12 06:53:39 +00:00
Chris Maynard 756824e919 Fix Coverity CID 989732: Structurally dead code.
Also, change a few tabs -> spaces.  Add modelines.

svn path=/trunk/; revision=48257
2013-03-11 20:50:19 +00:00
Balint Reczey 1ebdb2e521 Export libwireshark symbols using WS_DLL_PUBLIC define
Also remove old WS_VAR_IMPORT define and related Makefile magic
everywhere in the project.

svn path=/trunk/; revision=47992
2013-03-01 23:53:11 +00:00
Guy Harris 6b629c4d92 Move show_exception() and show_reported_bounds_error() to
epan/show_exception.c, as it's used outside
epan/dissectors/packet-frame.c.  Update their callers to include
<epan/show_exception.h> to get their declaration.

Add a CATCH_NONFATAL_ERRORS macro that catches all exceptions that, if
there's more stuff in the packet to dissect after the dissector call
that threw the exception, doesn't mean you shouldn't go ahead and
dissect that stuff.  Use it in all those cases, including ones where
BoundsError was inappropriately being caught (you want those passed up
to the top level, so that the packet is reported as having been cut
short in the capture process).

Add a CATCH_BOUNDS_ERRORS macro that catches all exceptions that
correspond to running past the end of the data for a tvbuff; use it
rather than explicitly catching those exceptions individually, and
rather than just catching all exceptions (the only place that
DissectorError should be caught, for example, is at the top level, so
dissector bugs show up in the protocol tree).

Don't catch and then immediately rethrow exceptions without doing
anything else; just let the exceptions go up to the final catcher.

Use show_exception() to report non-fatal errors, rather than doing it
yourself.
 
If a dissector is called from Lua, catch all non-fatal errors and use
show_exception() to report them rather than catching only
ReportedBoundsError and adding a proto_malformed item.

Don't catch exceptions when constructing a trailer tvbuff in
packet-ieee8023.c - just construct it after the payload has been
dissected, and let whatever exceptions that throws be handled at the top
level.

Avoid some TRY/CATCH/ENDTRY cases by using checks such as
tvb_bytes_exist() before even looking in the tvbuff.

svn path=/trunk/; revision=47924
2013-02-27 22:43:54 +00:00
Bill Meier 9e436c6c4a Fix a misspelled word; Do some minor tweaking of the wording of a few comments.
svn path=/trunk/; revision=47903
2013-02-26 15:10:28 +00:00
Bill Meier 96a24cc79f Fix spelling/typos found using a list of commonly misspelled words.
The misspellings were mostly in comments but some were
in text strings visible to the user.


svn path=/trunk/; revision=47899
2013-02-26 04:42:26 +00:00
Bill Meier a6e56df8b6 it's ==> its & its ==> it's as needed.
svn path=/trunk/; revision=47898
2013-02-26 02:38:52 +00:00
Michael Mann 2c7844cc69 Fix typos/errors and make Lua API more consistent.
From Hadriel Kaplan, bug 8393 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8393)

svn path=/trunk/; revision=47885
2013-02-25 22:05:28 +00:00
Michael Mann 41bd69d601 LUA API improvements
1. Add col_set_fence() equivalent
2. Update __tostring function to actually return column text

From Hadriel Kaplan, bug 8295 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8295)

svn path=/trunk/; revision=47882
2013-02-25 20:43:06 +00:00
Michael Mann 0f3f207967 Bugfix Lua pinfo.cols.protocol not holding value in postdissector
From Hadriel Kaplan, bug 6020 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6020)

svn path=/trunk/; revision=47877
2013-02-25 17:32:25 +00:00
Michael Mann d26c9b88cf Fix Lua 5.2 panic problems.
From Hadriel Kaplan, bug 7400 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7400)

svn path=/trunk/; revision=47874
2013-02-25 16:20:27 +00:00
Evan Huus 7bfb66f02f Invert the if statement into the common form:
if (error) return error;

do normal things;

svn path=/trunk/; revision=47829
2013-02-23 00:09:08 +00:00
Evan Huus f62c7e0b42 Add a return statement accidentally removed in r47783 and tweak the
brace placement so it's more obvious why the return is needed.

svn path=/trunk/; revision=47828
2013-02-23 00:06:30 +00:00
Evan Huus ceb5b89c84 Add modelines, fix indentation to be a consistent 4-spaces throughout.
svn path=/trunk/; revision=47784
2013-02-20 23:49:06 +00:00
Evan Huus fb88b48088 From Hadrien Kaplan via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8357
Fix the Lua tostring() method on FieldInfo objects such that it always returns
a string, although the string might be '(unknown)', '(none)', or '(n/a)'. This
is more conformant to Lua's API style.

Also create a new 'FieldInfo.display' accessor table member, which Lua
scripts can use instead of tostring() to get what the GUI displays.

From me:
Misc indentation fixes, remove redundant 'return' statement.

svn path=/trunk/; revision=47783
2013-02-20 23:40:24 +00:00
Guy Harris 80b0bc752e Add a new WSLUA_CLASS_FNREG_ALIAS() macro to register methods where the
function name isn't the same as the method name; this is used if we're
providing compatibility aliases for method names.

Use WSLUA_CLASS_FNREG() and WSLUA_CLASS_FNREG_ALIAS() for all method
registrations.

Fix the spelling of "prepend", but leave a compatibility alias in place.

svn path=/trunk/; revision=47667
2013-02-15 01:38:45 +00:00
Anders Broman 68160dac5c From "temp4746":
wslua TvbRange:le_ustring/ustring buffer overflow's.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=8175

svn path=/trunk/; revision=47012
2013-01-10 06:55:16 +00:00
Guy Harris b0d6fbcdeb OK, fine, maybe sometimes it's used; flag it with _U_ while we're at it.
svn path=/trunk/; revision=46750
2012-12-26 06:07:04 +00:00
Guy Harris a9635c3b9c If a parameter might be unused, mark it with _U_; don't stick in a fake
usage.

svn path=/trunk/; revision=46749
2012-12-26 06:04:05 +00:00
Guy Harris 8ed7a73e22 Fix a bunch of warnings.
Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
sizeof.

Cast away some implicit 64-bit-to-32-bit conversion errors due to use of
strtol() and strtoul().

Change some data types to avoid those implicit conversion warnings.

When assigning a constant to a float, make sure the constant isn't a
double, by appending "f" to the constant.

Constify a bunch of variables, parameters, and return values to
eliminate warnings due to strings being given const qualifiers.  Cast
away those warnings in some cases where an API we don't control forces
us to do so.

Enable a bunch of additional warnings by default.  Note why at least
some of the other warnings aren't enabled.

randpkt.c and text2pcap.c are used to build programs, so they don't need
to be in EXTRA_DIST.

If the user specifies --enable-warnings-as-errors, add -Werror *even if
the user specified --enable-extra-gcc-flags; assume they know what
they're doing and are willing to have the compile fail due to the extra
GCC warnings being treated as errors.

svn path=/trunk/; revision=46748
2012-12-26 05:57:06 +00:00
Jörg Mayer fed92f6ee2 Whitespace changes
svn path=/trunk/; revision=46403
2012-12-05 16:05:04 +00:00
Bill Meier 7cd0417af5 Fix numerous instances of a variable/parameter name "shadowing" a library function name;
(At least some (gcc ?) compilers give a "shadow" warning for these).

svn path=/trunk/; revision=46402
2012-12-05 15:56:36 +00:00
Stig Bjørlykke 37c7d006ad Added check for missing/empty ProtoField abbrev also in
integer, boolean, time and other cases.

svn path=/trunk/; revision=46302
2012-11-30 11:01:01 +00:00
Stig Bjørlykke 55aae6767c From mathewt via bug 8012:
Fixed lua le_int64() and le_uint64().

svn path=/trunk/; revision=46151
2012-11-23 11:20:35 +00:00
Stig Bjørlykke a875f6a6e8 Added check for missing/empty ProtoField abbrev.
svn path=/trunk/; revision=46078
2012-11-18 19:15:34 +00:00
Jakub Zawadzki b53dbea042 Make data_source opqaue, add getter for tvb.
svn path=/trunk/; revision=45672
2012-10-20 19:54:56 +00:00
Jakub Zawadzki e0fea3a34c Second try to fix wslua building.
svn path=/trunk/; revision=45603
2012-10-16 22:31:42 +00:00
Jakub Zawadzki a734f16e5b Try to fix building wslua.
svn path=/trunk/; revision=45602
2012-10-16 22:13:51 +00:00
Jakub Zawadzki 72ca9d0e61 Store pointers to previously displayed and captured packet, not nstime_t deltas.
This commit reduces size (from 144B to 128B on AMD64) of frame_data structure.

Part of bug 5821: Reduce per-packet memory requirements.

svn path=/trunk/; revision=45071
2012-09-23 16:25:28 +00:00
Jakub Zawadzki 9cde3e1a44 Add lua_nstime_to_sec()
svn path=/trunk/; revision=45070
2012-09-23 15:57:11 +00:00
Jakub Zawadzki 7719d4e84a Cleanup wslua PINFO_GET_* macros. It's portable, right?
svn path=/trunk/; revision=45067
2012-09-23 14:46:43 +00:00
Jeff Morriss 3729335973 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45016
2012-09-20 01:48:30 +00:00
Evan Huus dd01cc0490 From Niels Widger via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7725
Add get_filter method to Wireshark's Lua interface (to correspond with the
already-exposed set_filter method).

svn path=/trunk/; revision=44916
2012-09-15 13:58:57 +00:00
Jakub Zawadzki 5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Jakub Zawadzki 5ad3e5331e MT: move global frame_end_routines to packet_info.
svn path=/trunk/; revision=44748
2012-09-03 12:00:40 +00:00
Evan Huus 1457a01f49 Always memset the packet-header struct in Lua to avoid
crashes from garbage data.

Also, give Lua a copy of the packet comment if there is one.

Fixes: https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7538

svn path=/trunk/; revision=44093
2012-07-28 15:51:37 +00:00
Evan Huus a234b68ff0 Fix some system header files that were #included with "" instead of <>.
They made cppcheck unhappy.

svn path=/trunk/; revision=43779
2012-07-18 02:47:56 +00:00
Anders Broman 45e9efc6a9 From Evan Huus:
Fix leaks

- don't g_strdup a string just to use it in a g_strdup_printf
- clean up properly in error cases in lua bindings
- misc. other missing g_free() calls
- one missing fclose() in the new 80211_utils

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7454

svn path=/trunk/; revision=43617
2012-07-09 01:56:27 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Anders Broman e6e6d6217b From Tony Trinh:
Update Lua from 5.1 to 5.2

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7400

svn path=/trunk/; revision=43482
2012-06-25 20:42:07 +00:00
Anders Broman 6efe4ea27c From Tony Trinh:
Update Lua from 5.1 to 5.2

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7400

svn path=/trunk/; revision=43479
2012-06-25 20:28:14 +00:00
Balint Reczey b90a1b7f63 Give hint to check http://wiki.wireshark.org/CaptureSetup/CapturePrivileges in Lua error messages related to running Wireshark as root
svn path=/trunk/; revision=43442
2012-06-22 15:18:03 +00:00
Guy Harris 4ad0bf65f2 Clean up indentation.
svn path=/trunk/; revision=43314
2012-06-17 16:32:04 +00:00
Jeff Morriss e9a30385c7 Fix Coverity 702396: tvbr is ep_ allocated so it can't be NULL.
svn path=/trunk/; revision=43116
2012-06-05 15:29:25 +00:00
Jeff Morriss fe5f076b5c Fix Coverity 702397: reference tvbr *after* checking that it is not NULL.
svn path=/trunk/; revision=43115
2012-06-05 15:26:09 +00:00
Chris Maynard 973b45c401 Add a "fallthrough" comment to avoid a missing break report from Coverity. Fixes Coverity CID 702382 Missing break in switch.
svn path=/trunk/; revision=42845
2012-05-25 01:49:49 +00:00
Anders Broman fec821f303 From Evan Huus:
Fix Three memory leaks and a bad if-condition, as caught by CppCheck.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7272

svn path=/trunk/; revision=42738
2012-05-21 07:42:09 +00:00
Jakub Zawadzki 0f1a21aaa9 tvb_unicode_strsize() returns number of bytes, NOT number of UCS-2 characters.
svn path=/trunk/; revision=42622
2012-05-14 06:32:16 +00:00
Guy Harris 14b616c35d Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

Add new "add_packet_field" method to the TreeItem class, taking a
protocol field (*not* a protocol), TvbRange, and encoding value as
arguments.

Add the ENC_ values to init.lua.  Make them all hex #defines so
make-init-lua.pl can easily extract them.

Export tvb_unicode_strsize() for use by Lua (and elsewhere as desired). 
Note that it handles UTF-16 and UTF-8, and fix the comment to note that
its count of hexadectets *does* include the null terminator (that's what
the code does).

svn path=/trunk/; revision=42621
2012-05-14 00:49:05 +00:00
Anders Broman 7d17553acc From Evan Huus: Fix memory leaks in wslua_tvb.c fix typos in wslu_proto.c https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7202
svn path=/trunk/; revision=42281
2012-04-27 06:02:45 +00:00
Anders Broman 48fc51f835 From Evan Huus: Fix memory leaks in wslua_proto.c
svn path=/trunk/; revision=42280
2012-04-27 05:51:47 +00:00
Anders Broman ace0603d8f From Evan Huus: Fix memory leaks in wslua_pinfo.c https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7202
svn path=/trunk/; revision=42279
2012-04-27 05:47:42 +00:00
Jeff Morriss 75c3c92f19 Add a "-build" argument to checkAPIs.pl. Use that argument when building
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
2012-04-04 20:46:49 +00:00
Jeff Morriss 2d829b392f Line-wrap an extremely long comment. Remove trailing white space.
svn path=/trunk/; revision=41552
2012-03-15 02:33:52 +00:00
Guy Harris cd9fe7e242 Convert 4-space tabs to spaces.
svn path=/trunk/; revision=41441
2012-03-08 20:00:49 +00:00
Bill Meier 605dea0486 CVARSDLL hasn't been used (is undefined) for a while....
svn path=/trunk/; revision=41180
2012-02-24 16:23:38 +00:00
Jeff Morriss ea02598924 Fix the rest of of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6764 :
The Lua API does not have FT_*, it has ftypes.*, so use that in the
documentation.  Also, list out each ft so the user knows what the available
options are.

svn path=/trunk/; revision=41035
2012-02-16 03:00:52 +00:00
Jeff Morriss 38550ff3ce Fix part of https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6764 :
The Lua API does not have BASE_*, it has base.*, so use that.  Also, list out
each base so the user knows what the available options are.

svn path=/trunk/; revision=41024
2012-02-14 03:37:19 +00:00
Jeff Morriss d92857dd6b As suggested in https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6763 :
Give an example of a Pref.range's default value.

svn path=/trunk/; revision=41023
2012-02-14 03:24:19 +00:00
Anders Broman 84370fffcb Add *.sbr files to the clean target.
svn path=/trunk/; revision=40762
2012-01-29 20:21:30 +00:00
Guy Harris 6f59700722 Fix usage of g_ascii_strdown() and g_ascii_strup() - they do *not*
modify the string in place, they return a g_mallocated modified version
of the string passed into them.

svn path=/trunk/; revision=40727
2012-01-25 23:03:33 +00:00
Jeff Morriss e36b1c6daf Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6738 :
size_t is sometimes an integer and sometimes a long.  To avoid compiler
warnings when formatting it, cast it to a long.

svn path=/trunk/; revision=40682
2012-01-24 02:42:01 +00:00
Alexis La Goutte 3712c6f6d1 Fix some Dereference of null pointer Warning found by Clang
svn path=/trunk/; revision=40456
2012-01-13 16:16:41 +00:00
Chris Maynard 647c5c0b27 packet_info's in_error_pkt is now a bitfield like in_gre_pkt.
svn path=/trunk/; revision=39764
2011-11-08 18:39:11 +00:00
Stig Bjørlykke 43c34aaf8e Do not return from within a TRY/CATCH/ENDTRY because this will make the
except stack invalid, and will lead to a crash.

In this case it was when calling a dissector from a table in a Lua script.

svn path=/trunk/; revision=39748
2011-11-07 07:41:03 +00:00
Stig Bjørlykke 0352ac8e8f From Robert G. Jakabosky via bug 5575:
Fix memory errors in Lua dissectors.
- Free Tvb when created from ByteArray.
- Free TvbRange correctly.
- Free string from get_persconffile_path and get_datafile_path.
- Some code cleanup.

svn path=/trunk/; revision=39744
2011-11-06 17:39:13 +00:00
Stig Bjørlykke e48b5f02e0 No need to ep_strdup a string to lua_pushstring.
svn path=/trunk/; revision=39684
2011-10-31 08:38:49 +00:00
Stig Bjørlykke 5a466a5246 Don't ep_strdup the protocol name when register a dissector, because
this name will be collected when loading a capture file and the name
will be gone.

svn path=/trunk/; revision=39681
2011-10-30 21:32:27 +00:00
Stig Bjørlykke 447de1178d Allow signed integers displayed as BASE_HEX_DEC.
svn path=/trunk/; revision=39571
2011-10-25 19:04:10 +00:00
Stig Bjørlykke 2d62e550b7 Added another Lua warning:
- FT_FRAMENUM can not have a bitmask.

svn path=/trunk/; revision=39563
2011-10-25 11:20:54 +00:00
Stig Bjørlykke 943c8b97ed Added Lua error messages when:
- Adding a INT64/UINT64 field with a value string (currently unsupported).
- Trying to display a signed integer as hexadecimal.

svn path=/trunk/; revision=39562
2011-10-25 11:13:11 +00:00
Stig Bjørlykke 4b930ccb33 Duplicate Lua strings we put into the private_table.
svn path=/trunk/; revision=39468
2011-10-19 15:32:49 +00:00
Stig Bjørlykke 82e0b65038 Added a private hash table to transport string values between dissectors.
This works between C and Lua.

In C the pinfo.private_table pointer must be initialized using
g_hash_table_new (g_str_hash, g_str_equal);

In Lua the values are available using pinfo.private.<key>, and the
table is created automatically on first usage.  It's possible to use
this datatypes: nil, boolean, number and string, but every value
is converted to string so numbers must be converted using tonumber()
on usage.  Boolean is either nil or an empty string.

svn path=/trunk/; revision=39461
2011-10-18 17:46:00 +00:00
Stig Bjørlykke 424463e083 Use PINFO_GET_BOOLEAN for visited.
svn path=/trunk/; revision=39458
2011-10-18 10:17:19 +00:00
Stig Bjørlykke 022929724b Added some Lua pinfo fields:
ethertype, fragmented, in_error_pkt, match_uint and match_string.

svn path=/trunk/; revision=39407
2011-10-13 19:39:35 +00:00
Stig Bjørlykke 72cdab4c31 From Alex Vallee via bug 6346:
Added Lua TvbRange unicode string methods.

svn path=/trunk/; revision=39225
2011-10-02 17:02:10 +00:00
Stig Bjørlykke 3e75b436a0 Added register action for loading Lua plugins.
Removed an unused argument to wslua_init().

svn path=/trunk/; revision=39214
2011-10-02 13:39:35 +00:00
Stig Bjørlykke c6eb911c93 Do case insensitive search for lua scripts to load.
Skip files starting with . also on windows, as the home directory
may be mounted from a server with a proper filesystem.

svn path=/trunk/; revision=38737
2011-08-25 19:01:05 +00:00
Stig Bjørlykke f7956e0e1d Add a method to fetch protocol description.
svn path=/trunk/; revision=38736
2011-08-25 18:52:54 +00:00
Stig Bjørlykke 67149a7874 Add some NSTime methods: add, sub and unm.
svn path=/trunk/; revision=38648
2011-08-21 18:06:53 +00:00
Stig Bjørlykke 9c7e12c572 Introduce NSTime Lua object to handle nstime_t.
This object can be used to retreive other absolute and relative time fields,
create and modify nstime_t values and put generated time values in the tree.

Also added ProtoField.absolute_time and ProtoField.relative_time.

svn path=/trunk/; revision=38616
2011-08-19 08:36:02 +00:00
Jeff Morriss 23c5165169 Clarify that Tvb_reported_length_remaining may return -1
svn path=/trunk/; revision=38485
2011-08-11 13:45:42 +00:00
Jeff Morriss fa4d32113c From Alexander Stein via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6175 :
The attached patch adds the method reported_length_remaining to tvb.

svn path=/trunk/; revision=38464
2011-08-11 00:49:43 +00:00
Jeff Morriss 4ee1d732fb Add a Tvb_reported_len Lua API; this may help satisfy bug 6175.
svn path=/trunk/; revision=38461
2011-08-10 21:45:53 +00:00
Gerald Combs b9d13c328d Load console.lua and dtd-gen.lua from an explicit path.
svn path=/trunk/; revision=38414
2011-08-08 19:10:19 +00:00
Jörg Mayer c15ff441c6 Replace deprecated glib functions.
In order to compile the whole project with -DG_DISABLE_DEPRECATED
the mate plugin needs to replace its usage of GMemChunk.
All other places should be clean.

svn path=/trunk/; revision=38392
2011-08-07 18:15:45 +00:00
Anders Broman 2f05cf4dcf From Michael Mann:
Added ability to display UTC time or UTC time with date.  I liked having the
difference between UTC and local time, not just setting local=UTC.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2629

svn path=/trunk/; revision=37898
2011-07-04 21:43:34 +00:00
Stig Bjørlykke 8dd3dc1ef2 From bug 6057:
Improved set_color_filter_slot documentation.

svn path=/trunk/; revision=37813
2011-06-28 09:11:18 +00:00
Stig Bjørlykke b979f2da27 From bug 6057:
Lua API: add support to temporary color filters (10 color slots)

svn path=/trunk/; revision=37801
2011-06-27 11:07:31 +00:00
Stig Bjørlykke 4ac2487d38 From Tony Trinh via bug 6018:
Add NULL checks and fix typos in Lua error print-outs

From me:
Use the error message "GUI not available" when using GUI functions in tshark.

svn path=/trunk/; revision=37788
2011-06-25 20:47:13 +00:00
Stig Bjørlykke a4dc6c0a7d Added check for invalid chars in abbrev in ProtoField functions.
This fixes bug 5569.

svn path=/trunk/; revision=37787
2011-06-25 19:39:16 +00:00
Stig Bjørlykke 1255b45566 Remove "range" from Lua's Pref.range(), as this value shall be fetched from
the "default".

This fixes bug 5896.

svn path=/trunk/; revision=37786
2011-06-25 15:42:41 +00:00
Stig Bjørlykke 0f24c1eb09 From Tony Trinh via bug 5894:
Added argument validation to Pref.range.

svn path=/trunk/; revision=37785
2011-06-25 15:24:55 +00:00
Stig Bjørlykke b3d0f00015 From Tony Trinh via bug 5960:
Fix TvbRange:string() so that it returns a string that contains all bytes
of the range, including zeroes (instead of being truncated at first zero).

svn path=/trunk/; revision=37763
2011-06-23 11:06:34 +00:00
Stig Bjørlykke dfb3cde56b Use guint32 internally to store mask.
This may fix bug 5734.

svn path=/trunk/; revision=37762
2011-06-23 10:52:40 +00:00
Stig Bjørlykke 5934925554 Rename Tvb_new_real to ByteArray_tvb, as it's a ByteArray function.
Documentation is generated from code.

This fixes bug 5199.

svn path=/trunk/; revision=37761
2011-06-23 10:43:49 +00:00
Stig Bjørlykke 6df263d634 Rename Tvb_tvb to TvbRange_tvb, as it's a TvbRange function.
Documentation is generated from code.

This fixes bug 5006.

svn path=/trunk/; revision=37760
2011-06-23 10:28:53 +00:00
Gerald Combs 0272ec5dd3 Show the plugin paths in Help→About→Plugins. Add a "-G plugins" option
to TShark which dumps a list of plugins.

svn path=/trunk/; revision=37512
2011-06-01 21:48:17 +00:00
Jeff Morriss f3f9f2697f Make TVBs opaque for most users.
Convert TVB_RAW_OFFSET() and TVB_GET_DS_TVB() into functions.

svn path=/trunk/; revision=37422
2011-05-27 03:06:50 +00:00
Jeff Morriss fcac4a1d7d Fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5930 :
with a variant of the patch submitted by Alexander Stein on the -dev list:

Allow FT_FRAMENUMs to be added (as base BASE_NONE).  My change from Alexander's
patch is to disallow BASE_NONE for non-framenum integers.

svn path=/trunk/; revision=37239
2011-05-18 15:33:07 +00:00
Guy Harris 1372515b02 More eradication of old-style function definitions.
svn path=/trunk/; revision=37216
2011-05-17 22:18:32 +00:00
Jakub Zawadzki 0edf3eafa9 Comment out dead code.
svn path=/trunk/; revision=37029
2011-05-09 12:49:39 +00:00
Gerald Combs b223e99e5a get_host_ipaddr() was returning numeric addresses in host byte order
and hostnames in network byte order. Have it return everything in
network byte order.

svn path=/trunk/; revision=36873
2011-04-26 17:13:37 +00:00
Stig Bjørlykke 43851d797d Include config.h only from .c files.
This avoids a warning building epan.c which includes both config.h and wslua.h
(duplicate defines from config.h)

svn path=/trunk/; revision=36751
2011-04-21 13:13:39 +00:00
Guy Harris c0e5dc8489 Zero is zero is zero, as Gertrude Stein didn't say.
svn path=/trunk/; revision=36639
2011-04-14 06:28:25 +00:00
Jeff Morriss a148a936b1 From Felix Kraemer: fix https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5694 :
This patch adds the capability to create BACnet statistics trees. 
Find the respective menu items under 'Statistics->BACnet'.
Packets can be sorted by different criteria:
- Src/Dst IP adresses
- Instance ID
- Object Type
- Service

From me:
- Don't use C++/C99-style comments.
- Name variables for tick_stat_node() don't need to be static.
- Change updateBacnetInfoValue() to require 'data' to be ep_ allocated.  Change
  the couple of calls that did not send in ep_ allocated data to do so.
- Change one or two functions to be static.
- Do not use (memory-unsafe) g_sprintf().
- Use ep_strconcat() instead of leaking memory with g_strconcat().
- Put back one if(tree) that doesn't appear to do any harm.
- Remove variable declarations and #includes from the header file.

svn path=/trunk/; revision=36468
2011-04-05 02:18:28 +00:00
Jaap Keuter 1048f71f5d From David Carne:
col_set_str simply stores the pointer passed to it, and luaL_checkstring
returns a temporary pointer. Changing col_set_str to col_add_str in
Columns_newindex seems to fix the issue.

svn path=/trunk/; revision=35795
2011-02-03 23:17:31 +00:00
Bill Meier d3efa3ed9f A bit of Windows makefiles rework and cleanup:
- 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
2011-02-02 01:19:53 +00:00
Jaap Keuter 70d55366ae Add a Manual entry to the Lua menu.
svn path=/trunk/; revision=35729
2011-01-31 21:13:20 +00:00
Bill Meier 79e8fdf14f Put back a 'return' statement so GCC doesn't generate a warning...
svn path=/trunk/; revision=35716
2011-01-31 04:23:46 +00:00
Bill Meier 8a07e469f3 Fix a number of msvc level 4 "Unreachable code" warnings by removing unneeded
return statements.

svn path=/trunk/; revision=35709
2011-01-30 22:32:25 +00:00
Guy Harris a8bc4a0d13 Rename the routines that handle dissector tables with unsigned integer
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys.  (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)

svn path=/trunk/; revision=35224
2010-12-20 05:35:29 +00:00
Balint Reczey 0e9ed5ecf0 Move wslua_plugin_list to epan/plugins.c, that should fix the Solaris builds finally.
svn path=/trunk/; revision=35167
2010-12-10 10:37:03 +00:00
Balint Reczey 07cf00cd11 Drop init_wslua.h from EXTRA_DIST
svn path=/trunk/; revision=35164
2010-12-09 15:47:23 +00:00
Balint Reczey 2118fd723c Always provide wslua_plugin_list, even if we don't have Lua configured.
svn path=/trunk/; revision=35163
2010-12-09 15:20:14 +00:00
Stig Bjørlykke 61d99fff9a From Regis Cridlig via bug 5326:
The Lua text string passed to column:set(text) by a dissector will eventually
be reclaimed. This causes the column to display incorrect characters.

svn path=/trunk/; revision=34618
2010-10-22 06:47:00 +00:00
Jeff Morriss 9f3acc1e25 Aw, man, I knew this code was parsed, but I missed the docbook part. Revert 34598 and 34599.
svn path=/trunk/; revision=34602
2010-10-21 12:41:15 +00:00
Jeff Morriss 383df3dfe5 Make the indentation consistent.
Pull function names to column 0 - except when necessary for autoregistration.
Put function comments before the function.
For readability, put the macros for functions before the function too.
Put class functions before the class.

svn path=/trunk/; revision=34599
2010-10-21 02:50:27 +00:00
Jeff Morriss f3648fc66d Fix up indentation to get it consistent and other minor cleanup issues.
svn path=/trunk/; revision=34598
2010-10-21 00:54:58 +00:00
Jeff Morriss 30ab866b25 From Holger Freyther via https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=5320 :
Doing a Dumper:close() and then forcing the dumper to be garbage collected will
cause a segfault.

The code attempts to handle the GC that could follow but fails to do it
properly. Assigning Dumper dp = NULL will only have an affect within the scope
of this method... Assumingly this should be a *dp = NULL.

svn path=/trunk/; revision=34597
2010-10-21 00:37:40 +00:00
Anders Broman a009cc0605 Doxygen changes.
svn path=/trunk/; revision=33990
2010-08-29 10:47:38 +00:00
Anders Broman a96e6b2047 Doxygen changes.
svn path=/trunk/; revision=33981
2010-08-28 19:27:19 +00:00
Stig Bjørlykke 30875d714c Do not load lua-scripts starting with '.'
svn path=/trunk/; revision=33793
2010-08-13 11:18:44 +00:00
Stig Bjørlykke 92312f16e9 Declare error as volatile to avoid warning on opensolaris:
variable 'error' might be clobbered by `longjmp' or `vfork'

svn path=/trunk/; revision=33754
2010-08-10 07:43:05 +00:00
Stig Bjørlykke b0c0ebcc20 Fix the check for disable_lua.
svn path=/trunk/; revision=33252
2010-06-18 15:25:41 +00:00
Stig Bjørlykke ba69712a63 Enable Lua by default.
svn path=/trunk/; revision=33243
2010-06-17 16:38:05 +00:00
Jeff Morriss d888a1a53a Fix the Windows build
svn path=/trunk/; revision=33010
2010-05-28 13:09:12 +00:00
Jörg Mayer e37e3ba26a Remaining fixes for
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4788
- Compile the python code directly into epan - don't link it in as
  a static lib.
- Call make-init-lua.pl with the top level directory instead of the
  current directory. Change make-init-lua.pl accordingly.

svn path=/trunk/; revision=33009
2010-05-28 11:48:29 +00:00
Jörg Mayer f7fd044835 Fix for the LUA part of bug
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4788

- Don't build the wslua stuff as a (static) library, build the
  stuff directly into epan instead.

The wspython remains to be done.

svn path=/trunk/; revision=32992
2010-05-27 10:49:33 +00:00
Guy Harris 927b7da346 Have abs_time_to_str() and abs_time_to_str_secs() take an additional
argument indicating whether to include the time zone in the string.  If
we're constructing a display filter, don't include the time zone,
otherwise do.  Fixes bug 4756.

svn path=/trunk/; revision=32913
2010-05-21 06:33:25 +00:00
Jeff Morriss 54082c6ed0 Add Cmake stuff to the source distribution so more people can try it out.
svn path=/trunk/; revision=32807
2010-05-14 16:27:03 +00:00
Anders Broman 96e9317c66 From Tamas Regos:
WSLUA improvement.

The existing ProtoField.bool looks like the following:
ProtoField.bool(abbr, [name], [desc])

But checking any protocol dissector with bool protofield, it can be seen that
in C code we have more options than thru the WSLUA interface.

E.g.: {&hf_gtp_qos_sig_ind,{"Signalling Indication", "gtp.sig_ind", FT_BOOLEAN,
8, TFS(&gtp_sig_ind), GTP_EXT_QOS_SIG_IND_MASK, NULL, HFILL}},

So I've extended ProtoField.bool to have more options like this:
ProtoField.bool(abbr, [name], [bitfield], [true_false_string], [mask], [desc])

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4700

svn path=/trunk/; revision=32771
2010-05-12 10:31:41 +00:00
Anders Broman 0107015266 From Tamas Regos:
Whitspace changes

svn path=/trunk/; revision=32770
2010-05-12 08:08:01 +00:00
Stig Bjørlykke 1c73f4eece From Tamas Regos via bug 4699:
Added get_version() Lua function to get Wireshark version.

svn path=/trunk/; revision=32521
2010-04-20 06:24:30 +00:00
Jaap Keuter b1ddbed608 Fix for bug 4695:
Modify ProtoField_tostring() to ProtoField__tostring() 
and clean up description.

svn path=/trunk/; revision=32517
2010-04-19 18:48:12 +00:00
Stig Bjørlykke d1d432bd10 From Didier Gautheron via bug 4622:
Double and float are BASE_NONE not BASE_DEC.

svn path=/trunk/; revision=32320
2010-03-28 19:02:52 +00:00
Jörg Mayer 96779de920 cmake changes:
- Add checking for linker flags
- Install plugins with the name including the Wireshark version.
  This will make it easier to find matching plugin versions if
  files get just copied over.


svn path=/trunk/; revision=32231
2010-03-18 10:27:17 +00:00
Guy Harris 500eb99cd9 Add a third date format, ABSOLUTE_TIME_DOY_UTC, to show UTC with the
date as YYYY/DDD, where DDD is a 1-origin day of year.  Move the formats
to a "time_fmt.h" file, included by the headers that use it.  Have
abs_time_to_str() and abs_time_secs_to_str() take the date format value,
rather than a Boolean "show this as UTC" flag, as an argument.  Document
the ABSOLUTE_TIME_ formats a bit better.  Use that format in the CCSDS
and VCDU dissectors, rather than having those dissectors do the
formatting themselves.

svn path=/trunk/; revision=32034
2010-02-27 19:01:27 +00:00
Stig Bjørlykke 0991ef8cae Handle FT_PROTOCOL as ByteArray when used in a Field extractor.
svn path=/trunk/; revision=31951
2010-02-22 19:22:28 +00:00
Bill Meier 9c4e559887 Fix various gcc -Wshadow warnings.
svn path=/trunk/; revision=31716
2010-01-28 15:39:15 +00:00
Anders Broman 440c3f9261 From Didier Gautheron:
check_col.diff
Remove redundant calls to check_col() if it guards only one columns function with one parameter after the column type.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=4394

svn path=/trunk/; revision=31519
2010-01-13 20:32:01 +00:00
Stig Bjørlykke 6defe828fc Made more generic concat meta method for TvbRange, Int64 and UInt64.
This way we can concat more objects in one line.

svn path=/trunk/; revision=31461
2010-01-07 12:40:23 +00:00
Stig Bjørlykke 703aa03948 Added concat meta method for TvbRange, Int64 and UInt64.
svn path=/trunk/; revision=31458
2010-01-06 22:14:25 +00:00
Stig Bjørlykke c5fac7edc4 Fix some documentation typos.
svn path=/trunk/; revision=31453
2010-01-06 10:13:56 +00:00
Stig Bjørlykke e619752c58 Added signed integer TvbRange methods.
svn path=/trunk/; revision=31452
2010-01-05 20:25:04 +00:00
Stig Bjørlykke a5c2c6fb0d Use correct method names in TvbRange error messages.
svn path=/trunk/; revision=31450
2010-01-05 16:07:21 +00:00
Stig Bjørlykke 31e116d74a Use correct field types for signed integer.
svn path=/trunk/; revision=31449
2010-01-05 15:37:45 +00:00
Stig Bjørlykke e472e2cca9 Use correct length for FT_STRINGZ when adding the item to the tree.
svn path=/trunk/; revision=31401
2010-01-01 18:49:38 +00:00
Stig Bjørlykke 3988c9b848 Add missing stringz tvbrange method.
This fixes bug 2244.

svn path=/trunk/; revision=31398
2010-01-01 15:57:14 +00:00
Stig Bjørlykke ac8fdfe571 From babi via bug 4352:
* wslua doesnt null-terminate a char array properly after one strncpy call
* packet-smb-sidsnooping (disabled now but someone might enable it again)
  has a potential overflow crash (i think?)

svn path=/trunk/; revision=31392
2009-12-30 14:24:10 +00:00
Guy Harris 4fde145bd2 Add an argument to abs_time_to_str() and abs_time_secs_to_str()
indicating whether the time should be shown as local time or UTC.  For
now, always pass FALSE, meaning "show as local time".

Clean up some stuff in the SNMP dissector, use abs_time_secs_to_str()
for times with one-second resolution, and update a comment in various
macros in the WSP dissector, while we're at it.

svn path=/trunk/; revision=31227
2009-12-10 22:19:29 +00:00
Stig Bjørlykke 4ec2ef9bf3 Give a warning for illegal preference name.
svn path=/trunk/; revision=31050
2009-11-22 22:13:11 +00:00
Jörg Mayer 9ee31d1d0e cmake will now honor -Werror if configured (default: on)
svn path=/trunk/; revision=30852
2009-11-07 10:07:00 +00:00
Stig Bjørlykke 3dd1312d74 Load lua scripts from subdirectories in the plugins folders.
svn path=/trunk/; revision=30683
2009-10-24 13:36:16 +00:00
Stig Bjørlykke 81807b3e9b Added init_wslua.h
svn path=/trunk/; revision=30676
2009-10-23 18:00:57 +00:00
Stig Bjørlykke 3a5c9ec3b2 Load lua scripts in the plugins directory, both global and personal.
List loaded lua scripts in Help->About->Plugins.

svn path=/trunk/; revision=30675
2009-10-23 17:52:18 +00:00
Stig Bjørlykke cf5f0407a6 Removed unused function tap_draw_cb_error_handler().
svn path=/trunk/; revision=30518
2009-10-11 16:41:33 +00:00
Stig Bjørlykke ca0379ca2a Make more functions static.
svn path=/trunk/; revision=30517
2009-10-11 16:27:37 +00:00
Stig Bjørlykke aae65704aa From Beth via bug 4049:
Add support for FT_BOOLEAN fields to FieldInfo and TreeItem.

svn path=/trunk/; revision=30249
2009-10-02 16:51:31 +00:00
Stig Bjørlykke 806df926b7 Removed fetching an unused variable. Leaving as a comment
for documentation purpose.

svn path=/trunk/; revision=30240
2009-10-01 17:25:24 +00:00
Stig Bjørlykke 9fd1f3d487 Removed redundant prototype of Tvb_range().
svn path=/trunk/; revision=30239
2009-10-01 17:24:29 +00:00
Stig Bjørlykke 70b264328c Made lua_load_script() static.
svn path=/trunk/; revision=30236
2009-10-01 14:47:57 +00:00
Stig Bjørlykke e37ca89f05 Cast a pointer to avoid a warning.
svn path=/trunk/; revision=30230
2009-10-01 11:20:33 +00:00
Stig Bjørlykke 47df714a09 Avoid a possible dereference of null pointer.
svn path=/trunk/; revision=30205
2009-09-29 20:48:41 +00:00
Stig Bjørlykke 155651b404 Move luaopen_bit() to wslua.h
svn path=/trunk/; revision=30193
2009-09-29 11:27:26 +00:00
Jörg Mayer 53acec3427 wslua now builds, links and installs.
Enable it by default.

svn path=/trunk/; revision=30142
2009-09-25 14:53:56 +00:00
Jörg Mayer cf326e0304 More fixes for OSX - might work now :-)
svn path=/trunk/; revision=30093
2009-09-23 15:56:44 +00:00
Anders Broman 159904bdc4 From Diego:
proto_item_set_len is missing from Lua API.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3994

svn path=/trunk/; revision=29837
2009-09-10 06:37:04 +00:00
Jörg Mayer ca6b1e2b21 CMAKE: Get most of of missing *build* pieces into place
svn path=/trunk/; revision=29819
2009-09-09 13:20:33 +00:00
Kovarththanan Rajaratnam bc845e056c Custom column deprecation:
We fill out the COL_DSTIDX column by using 'pinfo->dst_idx'. This member is only set by the MDS Header dissector based on 'mdshdr.dstidx'. So remove COL_DSTIDX and migrate to 'mdshdr.dstidx' custom column.

svn path=/trunk/; revision=29795
2009-09-08 14:29:08 +00:00
Kovarththanan Rajaratnam 62af6eff84 Custom column deprecation:
We fill out the COL_SRCIDX column by using 'pinfo->src_idx'. This member is only set by the MDS Header dissector based on 'mdshdr.srcidx'. So remove COL_SRCIDX and migrate to 'mdshdr.srcidx' custom column.

svn path=/trunk/; revision=29794
2009-09-08 14:26:09 +00:00
Kovarththanan Rajaratnam 2cf14900d2 Custom column deprecation:
We fill out the COL_RXID column by using 'pinfo->rxid'. This member is only set by the Fibre Channel dissector based on 'fc.rx_id'. So remove COL_RXID and migrate to 'fc.rx_id' custom column.

svn path=/trunk/; revision=29793
2009-09-08 14:21:14 +00:00
Kovarththanan Rajaratnam cdfeebdd26 Custom column deprecation:
We fill out the COL_OXID column by using 'pinfo->oxid'. This member is only set by the Fibre Channel dissector based on 'fc.ox_id'. So remove COL_OXID and migrate to 'fc.ox_id' custom column.

svn path=/trunk/; revision=29792
2009-09-08 14:17:36 +00:00
Kovarththanan Rajaratnam 00670c55c6 Custom columfication:
* Deprecate COL_HPUX_DEVID (HP-UX Device ID). Use nettl.devid

svn path=/trunk/; revision=29517
2009-08-23 10:25:51 +00:00
Kovarththanan Rajaratnam 205129d25c Custom columfication:
* Deprecate COL_HPUX_SUBSYS (HP-UX Nettl Subsystem). Use nettl.subsys

svn path=/trunk/; revision=29516
2009-08-23 10:20:42 +00:00
Kovarththanan Rajaratnam 56369978ae Custom columfication:
* Deprecate COL_CIRCUIT_ID (Circuit ID). Use iax2.call

svn path=/trunk/; revision=29515
2009-08-23 09:52:57 +00:00
Kovarththanan Rajaratnam 7d44262406 This patch introduces packet_add_new_data_source() which effectively deprecates add_new_data_source(). This is based on the following observation:
1) The tvb + name (aka. data_source) is only used when the protocol tree is visible

The current implementation of add_new_data_source() doesn't take this into account and simply allocates a data_source regardless. This is what packet_add_new_data_source() tries to rectify.

A couple of dissectors have already been switched over to the new packet_add_new_data_source(). Many are still missing. Help appreciated!

svn path=/trunk/; revision=29427
2009-08-15 06:38:10 +00:00
Anders Broman 67d6f5976e Move th /MP flag setting to LOCAL_CFLAGS set in configure.nmake
for MSVC variant 2008 only. As suggested by Bill Meier.

svn path=/trunk/; revision=29114
2009-07-16 08:27:18 +00:00
Anders Broman 91caa01090 Add /MP flag to make use of multi cores.
svn path=/trunk/; revision=29104
2009-07-15 20:55:31 +00:00
Balint Reczey a909a692de Minor documentation fix
svn path=/trunk/; revision=29021
2009-07-08 14:20:59 +00:00
Stig Bjørlykke 862c77e4df Default to NULL for description.
Avoid duplicate name/blurb.

svn path=/trunk/; revision=29016
2009-07-08 10:41:17 +00:00
Stig Bjørlykke ae2411fdd5 Added missing lua_bitop.obj.
svn path=/trunk/; revision=28764
2009-06-17 01:16:13 +00:00
Stig Bjørlykke 9b0aa6912f Added Lua BitOp, made by Mike Pall.
svn path=/trunk/; revision=28758
2009-06-16 05:26:46 +00:00
Stig Bjørlykke 6f338b5661 Update Lua menu defines and put Lua functions in Tools.
svn path=/trunk/; revision=28700
2009-06-11 13:08:06 +00:00
Stig Bjørlykke 3677441868 Enable Lua tcp tap userdata.
svn path=/trunk/; revision=28673
2009-06-09 14:51:00 +00:00
Stig Bjørlykke ce27db3c58 Fixed some indents.
svn path=/trunk/; revision=28669
2009-06-08 19:59:31 +00:00
Stig Bjørlykke 1dab48dbba Added a missing check for expired TreeItem.
Fixed some indents.

svn path=/trunk/; revision=28668
2009-06-08 19:45:53 +00:00
Gerald Combs 38f2c5e9c6 Move init.lua from MAINTAINERCLEANFILES to DISTCLEANFILES.
svn path=/trunk/; revision=28666
2009-06-08 19:02:49 +00:00
Stig Bjørlykke 72d53268ba Allocate correct lengths for int64 and uint64.
svn path=/trunk/; revision=28657
2009-06-08 08:15:29 +00:00
Stig Bjørlykke 08797664b3 From Sam Roberts:
Added TvbRange:range()

From me:
Added TvbRange:bitfield()
Fixed some indents.

svn path=/trunk/; revision=28656
2009-06-08 08:14:36 +00:00
Stig Bjørlykke b7207572ac Changed g_strdup_printf -> ep_strdup_printf.
Use correct modifier for converting gint64 and guint64 to string.
Added __gc for Int64 and UInt64.
Fixed some indents.

svn path=/trunk/; revision=28655
2009-06-08 08:02:15 +00:00
Guy Harris cf91fdf16b Have tap listeners specify whether the "packet" routine requires
a protocol tree;

	the column values.

This includes stats-tree listeners.

Have the routines to build the packet list, and to retap packets, honor
those requirements.  This means that cf_retap_packets() no longer needs
an argument to specify whether to construct the column values or not, so
get rid of that argument.

This also means that there's no need for a tap to have a fake filter
to ensure that the protocol tree will be built, so don't set up a fake
"frame" filter.

While we're at it, clean up some cases where "no filter" was represented
as a null string rather than a null pointer.

Have a routine to return an indication of the number of tap listeners
with filters; use that rather than the global num_tap_filters.

Clean up some indentation and some gboolean vs. gint items.

svn path=/trunk/; revision=28645
2009-06-05 22:42:47 +00:00
Stig Bjørlykke 3531e85a00 Changed expert infos from PI_DEBUG to PI_UNDECODED for Lua errors.
svn path=/trunk/; revision=28637
2009-06-04 14:23:30 +00:00
Stig Bjørlykke b66fa033ce From Sam Roberts:
The value_string_from_table()'s use of the lua stack is not balanced,
if a table is iterated, it pops one more time than it should.

svn path=/trunk/; revision=28633
2009-06-04 08:21:51 +00:00
Stig Bjørlykke b801934940 Rename e_ip to ws_ip (from packet-ip.h change).
svn path=/trunk/; revision=28427
2009-05-20 17:56:22 +00:00
Stig Bjørlykke 65eed611a8 Fix a typo in a comment.
svn path=/trunk/; revision=28327
2009-05-10 16:02:57 +00:00
Stig Bjørlykke b0cb4d22e9 Enable Lua wlan taps.
svn path=/trunk/; revision=28326
2009-05-10 16:02:35 +00:00
Stig Bjørlykke 27a22f674f Postpone marking objects as expired until the whole frame is completed.
We can have a case where one Lua dissector calls another Lua dissector,
so we can't mark all objects when only one dissector is completed.

This fixes comment #37 and #39 in bug 2453.

svn path=/trunk/; revision=28325
2009-05-10 15:56:57 +00:00
Stig Bjørlykke 3dc9b64560 Adjusted arguments used in Lua Pref.statictext()
Update Lua documentation:
- Fixed Pref.enum, Pref.range and Pref.statictext
- Fixed the equivalent comment for pinfo.cols
- Do not have a comment star (*) in the documentation
- Be consistent and start all sentences with a capital letter

svn path=/trunk/; revision=28304
2009-05-08 16:40:38 +00:00
Stig Bjørlykke 62f60df6b4 From Jakub Zawadzki (bug 3331):
g_free() is NULL safe, so we don't need check against it.

svn path=/trunk/; revision=27718
2009-03-13 22:06:48 +00:00
Bill Meier 8c685a67e7 Rename a variable ('free') so checkAPIs doesn't incorrectly flag it.
svn path=/trunk/; revision=27627
2009-03-06 22:49:27 +00:00
Stig Bjørlykke b09f8fcff5 Corrected some defines. Use defines when appropriate.
Document last argument to DissectorTable.new().

svn path=/trunk/; revision=27309
2009-01-27 14:36:46 +00:00
Stig Bjørlykke b28ca9c930 Fixed some typos.
svn path=/trunk/; revision=27308
2009-01-27 12:41:33 +00:00
Gerald Combs 80e2a01fae From Matt Briggs via bug 3062: Keep Lua from doing rude things to
the stack.

svn path=/trunk/; revision=27139
2008-12-31 01:20:20 +00:00
Balint Reczey 315c36c847 From yami <yamisoe@gmail.com>:
Expose pinfo->private_data to lua interface.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3129

svn path=/trunk/; revision=27132
2008-12-30 12:49:42 +00:00
Balint Reczey a5622ba415 Do not include init.lua in distribution tar.gz.
svn path=/trunk/; revision=27094
2008-12-23 17:01:59 +00:00
Balint Reczey f64f7b1e8d Separate reassembly request methods in Lua API implementation.
Now both new-style and pinfo based method work without interference.

svn path=/trunk/; revision=27002
2008-12-15 15:46:53 +00:00
Stig Bjørlykke c8f933d0b9 From Jim Young (bug 3102):
Trivial patch to fix a structured comment within wslua_pinfo.c

svn path=/trunk/; revision=26943
2008-12-09 07:53:11 +00:00