Commit Graph

35 Commits

Author SHA1 Message Date
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 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
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
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 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 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 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
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
Anders Broman a96e6b2047 Doxygen changes.
svn path=/trunk/; revision=33981
2010-08-28 19:27:19 +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
Bill Meier 9c4e559887 Fix various gcc -Wshadow warnings.
svn path=/trunk/; revision=31716
2010-01-28 15:39:15 +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
Stig Bjørlykke 155651b404 Move luaopen_bit() to wslua.h
svn path=/trunk/; revision=30193
2009-09-29 11:27:26 +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 0e4856e8b9 Fix PDU reassembly for Lua dissectors.
Now Lua dissectors that do not request PDU reassembly will work again.

svn path=/trunk/; revision=26821
2008-11-21 15:47:14 +00:00
Balint Reczey cc1bef5004 fix double free bug caused by Lua GC after opening and closing Lua console
svn path=/trunk/; revision=26700
2008-11-05 15:00:46 +00:00
Balint Reczey 8566c6046e Adds 64 bit integer handling to Lua interface.
Fixes bug 2750.

svn path=/trunk/; revision=26216
2008-09-16 14:37:00 +00:00
Luis Ontanon dfd6dd53a4 Add a slightly modified version of Paolo Abeni's funneled progress dialog (ref https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2725) and its wslua interface.
svn path=/trunk/; revision=25977
2008-08-11 01:33:31 +00:00
Luis Ontanon 42c3239a1a luis.ontanon@gmail.com => luis@ontanon.org
svn path=/trunk/; revision=25937
2008-08-05 21:03:46 +00:00
Luis Ontanon 006e41af12 From Balint Reczey
Fix for https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2453

The patch fixes the problem by extending the original "outstanding stuff"
approach.

Now the pointer itself won't be NULLified, instead we track the pointers with
their expiry state in structs in the outstanding_stuff list.
The Lua objects refers to those structs instead of the actual pointers and
checks the expiry state of the pointers before accessing them.
The pointers are marked expired when the dissection of the frame is finished
and the allocated struct is freed by Lua's garbage collector.

If the garbage collector hits the struct when it holds a not expired pointer,
it marks it as expired (that means we don't have any object in Lua referring to
the pointer) and the struct will be freed at the end of the dissection of the
frame.

this is for the 1.0 branch


svn path=/trunk/; revision=25845
2008-07-26 23:41:31 +00:00
Luis Ontanon 4eb08aad66 From Marton Nemeth:
Addenda and fixes to WSLUA_CLASS_DEFINE documentation

Mine: fix init.lua generation



svn path=/trunk/; revision=25025
2008-04-14 21:16:32 +00:00
Stephen Fisher 726a1caaf1 - Remove GLIB1 code
- Change ugly GLIB version checking statements to GLIB_CHECK_VERSION
- Remove ws_strsplit files because we no longer need to borrow GLIB2's
  g_strsplit code for the no longer supported GLIB1 builds


svn path=/trunk/; revision=24829
2008-04-07 05:22:54 +00:00
Stig Bjørlykke 8d512b51d2 From Peter (bug 2224):
Patch to fix compile with glib-1.2.

svn path=/trunk/; revision=24199
2008-01-26 15:28:37 +00:00
Stig Bjørlykke 8959e6f766 From Balint Reczey (bug 2146):
Make it possible to write Lua dissectors that use TCP reassembly.

svn path=/trunk/; revision=24026
2008-01-07 21:24:23 +00:00
Luis Ontanon 8a293db121 From Tamas Regos (Via Balint Reczey)
The attached patch adds ability of of creating radio button, drop-down
list and range type preference entries to the Lua plugin.
It also fixes a lua compile warning/error in wslua_gui.c.
The patch is written by Tamas Regos, he asked me to send it to the list.

svn path=/trunk/; revision=21655
2007-05-02 23:39:44 +00:00
Luis Ontanon 2688c9b3f3 do not return before ENDTRY when handling an exception, this would leave the fat stack without the top and cause the dereferencing of a null pointer later on when popping in the next ENDTRY.
Oddly enough this shows up only on windows. Maybe there's something good in my Mac's temporary disability!

svn path=/trunk/; revision=20972
2007-03-04 16:00:05 +00:00
Luis Ontanon 82abc5f08b - wslua_gui.c:
- remove data_ref where it is not used anymore (callbacks won't pass userdata as this ius better done using lua's closures)
  - have TextWindow:set_editable() using its argument

- add wslua_optbool(L,n,d) to pull an optional boolean from the stack

- several fixes to docbook generation (now it compiles!)



svn path=/trunk/; revision=19608
2006-10-19 17:02:23 +00:00
Luis Ontanon b8ef88a6e2 Several changes:
- do not #include a c code file in wslua_register.c compile a separate boject
 - add the console and evaluate windows
 - add some useful vars to the lua environment
 - some cleanup
 - add the dtd generator code (currently disabled)


svn path=/trunk/; revision=19579
2006-10-17 18:20:44 +00:00
Luis Ontanon 02a2382a36 - add persconffile(opt_str)
- add datafile_path(opt_str)
- add Dir class -- a Directory Iterator


svn path=/trunk/; revision=19507
2006-10-12 17:00:11 +00:00
Luis Ontanon e23201c62a - Make sure that the registration files are created whenever there's a change
- get rid of 5.0.2 stuff
- add the apply_filter() API


svn path=/trunk/; revision=19406
2006-10-03 14:27:45 +00:00
Luis Ontanon c8a95a0548 Lua 5.1.1 for windows
svn path=/trunk/; revision=19324
2006-09-26 03:31:00 +00:00
Luis Ontanon 6462d05044 Move the Lua interface into epan... (not a plugin anymore).
- Rename Tap into Listener
- add a mechanism to pass protocols' tap data to the Listener


svn path=/trunk/; revision=19319
2006-09-25 01:09:00 +00:00