Commit Graph

718 Commits

Author SHA1 Message Date
Luis Ontanon 5bf6a2939f init_routines was moved back to globals.
svn path=/trunk/; revision=17192
2006-02-07 03:47:13 +00:00
Luis Ontanon 5a2013cdfc I Noticed a crash when registering a tap with filter during handoff (that's when I had lua starting) trying to see if I could move dfilter_init() before protocol registration I discovered register_final_registration_routine() neat!
Lua protocols won't need a handoff routine anymore!!


svn path=/trunk/; revision=17191
2006-02-07 03:06:02 +00:00
Luis Ontanon 1352ce5fe6 + gui_enabled()
* make  the gui routines call-able since the first line of the script


svn path=/trunk/; revision=17190
2006-02-06 23:58:07 +00:00
Jörg Mayer 76ef87393c svn eol-style and keywords
svn path=/trunk/; revision=17183
2006-02-06 12:21:31 +00:00
Luis Ontanon 41a8855e1b Lua uses the simple dialog
svn path=/trunk/; revision=17173
2006-02-06 01:29:05 +00:00
Luis Ontanon 3ed65a40e4 Add an example of tap,text window and menu usage
svn path=/trunk/; revision=17167
2006-02-05 20:07:19 +00:00
Luis Ontanon 2427624d5a * move all the tap functions to lua_tap
* change the way taps work (docs coming)
* add an at_close method to the textwindow that allows the user to set a callback function to be called when the window is closed


svn path=/trunk/; revision=17166
2006-02-05 20:06:05 +00:00
Luis Ontanon 174291f7f7 Allow lua to register menu items
svn path=/trunk/; revision=17162
2006-02-05 04:02:52 +00:00
Luis Ontanon 246dc75d35 Propset eol-style and Id for all
lua_gui.h has a licence


svn path=/trunk/; revision=17152
2006-02-04 20:34:16 +00:00
Luis Ontanon fedb9b5c92 Give lua a minimal gui.
svn path=/trunk/; revision=17150
2006-02-04 20:00:58 +00:00
Luis Ontanon 1434f575d5 * packet-lua.h
* add a shiftC() function to every class for extracting values from the stack
   
* lua_pinfo.c
   * fix pinfo.dst pinfo.dl_dst pinfo.dl_src pinfo.net_dst pinfo.net_src
   
* lua_tree.c
   * ProtoTree_add_item_any() changed to use TvbRanges, a more handy way to give it optional arguments 

* lua_tvb.c
   * get ByteArray up and running
   * create TvbRange class and use it to access the tvb (this class takes care of checking bounds so that exceptions are not thrown)



svn path=/trunk/; revision=17146
2006-02-03 21:25:26 +00:00
Anders Broman e5e25269c9 From Eric Hultin:
This patch adds support for dissection of the DCC packet as defined in 
CableLab's (http://www.cablelabs.com/) DOCSIS Radio Frequency Interface 
(RFI) specification. The latest version of this specification is currently 
available at 
http://www.cablemodem.com/specifications/specifications20.html . Packet 
formats for DCC are defined in sections 8.3.20 (DCC-REQ), 8.3.21 
(DCC-RSP), and 8.3.22 (DCC-ACK) of the RFI specifications (referencing 
version CM-SP-RFIv2.0-I10-051209). In addition, this patch adds support 
for the DCD packet as defined in the DOCSIS Set-Top Gateway (DSG) 
Specification. The latest version of this specification is currently 
available at http://www.cablemodem.com/specifications/gateway.html . The 
format of the DCD packet is defined in section 5.3.1 of the DSG 
specification (referencing version CM-SP-DSG-I06-051209).

svn path=/trunk/; revision=17138
2006-02-01 05:44:20 +00:00
Luis Ontanon c8dd927e0c It was hard.. but at the end I won (or at least i believe so...).
After install hello_world.lua works.


svn path=/trunk/; revision=17137
2006-01-31 22:22:05 +00:00
Jörg Mayer 133a10823e Warning fixes: no ';' at the end of functions.
svn path=/trunk/; revision=17124
2006-01-29 23:48:43 +00:00
Luis Ontanon 3b08aa956c * packet-lua.h
* add an isXxx() declaration
   
* packet-lua.c
   * move the dissectors, handoffs and inits tables to the registry
   
* lua_proto.c
   * new_protocol is now called Protocol
   * move the dissectors, handoffs and inits tables to the registry



svn path=/trunk/; revision=17117
2006-01-29 03:13:26 +00:00
Luis Ontanon ef78577292 * lua_pinfo.c
* Address' gt, ge, eq, le and lt operators
   
* lua_proto.c
   * DissectorTable:remove and DissectorTable:add
      - can take either Proto or Dissector as third argument
   
* lua_tree.c
   * make sure we have a lua_etts array on which to add etts
   * ProtoItem:add_subtree() if no ett is given don't fail use the default one.
   



svn path=/trunk/; revision=17111
2006-01-28 21:09:59 +00:00
Luis Ontanon 31aa31f626 * packet-lua.h
* SubTreeType (ett) was renamed as SubTree 

* lua_tap.c
   - change the way the taps register (still to be finished so I won't comment)
   
* lua_tree.c
   * SubTree(ett) moved here, now it autoregisters all subtrees created at once. The user neither does need to create a SubTreeArray(eliminated) anymore nor to register it.

* lua_proto.c
   * SubTree moved out from here its "global" variables are used by lua_tree.c .
   * SubTreeArray was eliminated (now ett's "autoregister")
   * Created usertypes for
      - Pref a preference
      - Prefs all preferences of one protocol
      So far they are transparent to the user.
   * Proto has become a pseudo-table instead of a method based (registration in nicer)

* packet-lua.c
  * runtime errors go where they are meant to:
    - errors in dissector code go to the tree (a-la malformed)
    - errors in registration/handoff/init use reporte_failure()
  * no more Lua code to be compiled at runtime


svn path=/trunk/; revision=17110
2006-01-28 03:15:45 +00:00
Luis Ontanon 263caacb94 * we need not to register the interesting fields via a tap its registration should be transparent to the user.
- as of now I'm using a "boring" tap  (NULL packet_cb)  with a filter containing all the registered ones

* Lua code in init_lua() is not to be compiled anymore (I did)


svn path=/trunk/; revision=17108
2006-01-26 23:06:48 +00:00
Luis Ontanon 094840aa97 * lua_tree.c
* protect proto_item_add_* calls with a TRY CATCH to avoid the Lua state getting corrupted
   * new ProtoItem:add_expert_info() call

 * lua_proto.c
   * protect call_dissector() and dissector_try_*() calls with TRY CATCH to avoid the Lua state getting corrupted
   * ValueString makes no sense, get rid of it we'll use Lua's associative arrays instead

 * lua_tvb.c
   * while creating a tvb from a ByteArray copy the ByteArray's data and set the tvb's free_cb
   * check bounds before calling tvb_*() to avoid a longjmp breaking Lua
   * do not leak the string in Tvb_tostring()
   * new Tvb:get_ipv4() call
   * new Tvb:get_eth() call

 * packet-lua.[ch]
   * export lua_tvb and lua_malformed to other modules being the current tvb and the protocol_id of malformed
   * convert some Lua to C
   * do not register ValueString (eliminated)




svn path=/trunk/; revision=17106
2006-01-26 20:20:55 +00:00
Luis Ontanon 9c10169b97 two bugs less
svn path=/trunk/; revision=17104
2006-01-25 22:49:58 +00:00
Luis Ontanon 3cbb83e490 One step at a time
several fixes and additions


svn path=/trunk/; revision=17103
2006-01-25 22:39:07 +00:00
Luis Ontanon 0b9c8e5263 Avoid crashing when given an object of the wrong usertype
format_time()
format_date()
report_failure()


svn path=/trunk/; revision=17097
2006-01-25 02:08:10 +00:00
Luis Ontanon a91b4fb0c5 an Address class, changed the names of some classes, modified pinfo to be a table
pinfo.src = Address.ip("www.xxx.com")
pinfo.col.info = "A special packet"
if (pinfo.src_port == 2) then pinfo.col.protocol = "STRANGE" end


svn path=/trunk/; revision=17096
2006-01-24 23:22:52 +00:00
Luis Ontanon 9639355926 it wasn't a goo idea,
sorry



svn path=/trunk/; revision=17095
2006-01-24 23:18:09 +00:00
Luis Ontanon 1ff8c4272f Add register_postdissector() to the API.
Dissectors registered with register_postdissector() will be called after all other dissectors have been called.

Use it to register mate.


svn path=/trunk/; revision=17089
2006-01-24 00:26:57 +00:00
Luis Ontanon da9e0c6831 I forgot the Licence!
set svn:keywords Id on source


svn path=/trunk/; revision=17088
2006-01-24 00:04:53 +00:00
Luis Ontanon b8e53a60b3 Use .la instead of .so as dependency in Makefiles
Fix svn:ignore


svn path=/trunk/; revision=17087
2006-01-23 23:55:13 +00:00
Luis Ontanon dbb4f8ff0a Add lua-5.0.2
Split packet-lua.c
Changes aren't tested.
It should compile ok.
Makefile.nmake still missing.


svn path=/trunk/; revision=17086
2006-01-23 23:31:05 +00:00
Luis Ontanon 5ccce794e6 Another iteration, new things aren't tested yet.
Update README, to have a description of the classes



svn path=/trunk/; revision=17067
2006-01-21 14:54:57 +00:00
Jörg Mayer 4ab485600c Add the commit message as README
svn propset svn:keywords Id *
svn propset svn:eol-style native *

Todo: svn propset svn:ignore .
  Because I don't know what to ignore

svn path=/trunk/; revision=17059
2006-01-20 09:09:26 +00:00
Luis Ontanon 3facb43c07 Starts to work so I check it in.
This is an interface to the Lua programming language.

http://www.lua.org

I've already wrote a simple dissector that calls another dissectors.

soon It will be able to register a tap and do something more.

I did not checkin changes to the Makefiles so in order to use it you must change the makefiles.

Other than that to get it to work you need to download lua-5.0.2.tar.gz into the plugin directory, uncompress it, cd to it and call make.

the interface is buggy and far from finished, time will help on this.



svn path=/trunk/; revision=17057
2006-01-20 00:06:20 +00:00
Jörg Mayer f9a57f08d1 Bill Meier:
Spelling fixes.

svn path=/trunk/; revision=16956
2006-01-05 13:01:08 +00:00
Luis Ontanon d265d85d92 we are opening the file for writing....
svn path=/trunk/; revision=16784
2005-12-13 22:08:37 +00:00
Luis Ontanon 088ffa504e - add Debug and Default declarations.
- supress unwanted console printouts.


svn path=/trunk/; revision=16769
2005-12-12 23:23:32 +00:00
Luis Ontanon 5883ff951b Avoid to crash if we are given an unexistent field.
svn path=/trunk/; revision=16762
2005-12-12 01:32:31 +00:00
Luis Ontanon 98373635b3 Done is not needed anymore;
in Pdus transforms go before Criteria (because they are evaluated before)


svn path=/trunk/; revision=16761
2005-12-12 01:27:51 +00:00
Luis Ontanon f7b48054f9 Cleanup the grammar.
svn path=/trunk/; revision=16759
2005-12-11 23:22:14 +00:00
Jörg Mayer c2eaf1bc74 Fix ...$ to : $
svn path=/trunk/; revision=16750
2005-12-09 16:51:56 +00:00
Jörg Mayer eff40f65db Trivial warning fixes
svn path=/trunk/; revision=16561
2005-11-22 12:51:14 +00:00
Ulf Lamping eefbb60770 minor enhancements
svn path=/trunk/; revision=16485
2005-11-12 09:39:24 +00:00
Guy Harris db9fba20b4 Use <wiretap/file_util.h> to include "file_util.h"; otherwise, the
include fails as we don't do -Iwiretap.

If we have it, include <sys/stat.h> in epan/filesystem.c - we need it
for stat() and the macros and structures it uses.

svn path=/trunk/; revision=16410
2005-11-07 02:47:09 +00:00
Ulf Lamping c3187174bf replace *a lot* of file related calls by their GLib counterparts. This is necessary for the switch to GTK 2.6 (at least on WIN32).
to do this, I've added file_util.h to wiretap (would file_compat.h be a better name?), and provide compat_macros like eth_open() instead of open(). While at it, move other file related things there, like #include <io.h>, definition of O_BINARY and alike, so it's all in one place.

deleted related things from config.h.win32

As of these massive changes, I'm almost certain that this will break the Unix build. I'll keep an eye on the buildbot so hopefully everything is working again soon.

svn path=/trunk/; revision=16403
2005-11-06 22:43:25 +00:00
Ulf Lamping e90ebfad09 minor enhancement (raised plugin version to 0.1.2):
PN-DCP: dissection of "DHCP/DHCP client identifier" suboption was added

svn path=/trunk/; revision=16377
2005-11-02 19:33:46 +00:00
Guy Harris cbce856e9e When printing the code for a display filter:
print register numbers as unsigned (they're guint32);

	when printing a PUT_FVALUE instruction, show the value as well
	as the type of the value.

That requires that a bunch of types get to_repr methods; add them for
PCRE (FTREPR_DFILTER-only - show the regular expression as text),
tvbuffs (FTREPR_DFILTER_only - show the data as a hex string), integral
types, string types other than FT_STRING, and FT_IPv6.

That means we can use fvalue_to_string_repr() for FT_IPXNET and FT_IPv6
in proto_construct_dfilter_string(), and that we don't need to handle
integer and floating types specially in MATE.

Fix some problems with the PCRE execution code for tvbuff types.

svn path=/trunk/; revision=16369
2005-10-31 02:42:22 +00:00
Anders Broman e8065e3fde From Peter Johansson
Correct a typo.

svn path=/trunk/; revision=16254
2005-10-17 18:20:25 +00:00
Gerald Combs a3be85a307 Fix a typo found by Guy.
svn path=/trunk/; revision=16241
2005-10-16 03:50:58 +00:00
Jörg Mayer 758686491e Add Makefile.in to maintainer-clean
svn path=/trunk/; revision=16171
2005-10-09 07:28:32 +00:00
Luis Ontanon 0c679169a5 From Richard van der Hoff:
fix to bugs 508-510

by me:
  Make sure that fixed size arrays aren't not overflown.


svn path=/trunk/; revision=16155
2005-10-07 20:45:17 +00:00
Guy Harris 984850153d Don't call "g_assert()" in dissectors - call "DISSECTOR_ASSERT()".
svn path=/trunk/; revision=16151
2005-10-07 07:37:51 +00:00
Anders Broman 7d2f4603c1 Build the h223 plugin
svn path=/trunk/; revision=16140
2005-10-06 06:56:08 +00:00