A custom plugin (not yet to be released to the public) can be added to Makefile.nmake easily. But this has a drawback:
The modified Makefile.nmake appears as a modified file in the commit list and in generated patches (this annoyed me for years).
To solve this I've added a plugin like mechanism which calls a Custom.nmake file for each target (if the file is existing). I've also added a Custom.nmake.example for a quick start.
I don't know how to do this for the Makefile.am, so I leave this as an exercise for the interested reader ;-)
svn path=/trunk/; revision=19377
The "listen_rtp" plugin that allows to listen audio RTP
conversations.
The plugin is integrated to the "Voip Calls" feature. There is a new
"listen" button in the "Voip Calls" that once the calls are selected and
the "listen" is clicked, a new window will open. In this window you can
change the simulated jitter buffer to be used for decoding the RTP
packets. In this first implementation, only a static jitter buffer can
be simulated. Then pressing "decode" will decode all the RTP and
generate the graphical view of the audio channels. From there you can
select up to two channels at the same time (to be played in the left and
right channels) and then play, pause, stop,etc.....ok, the attached
screenshot it is self explanatory (hopefully).
The only codecs available from now are G711u and G711a law.
The PortAudio (www.portaudio.com) library is used to play audio.
This is an open source cross-platform Audio library. I have tested this
on Windows XP and in a linux FC4.
NOTE: only the plugin soure files checked in at this time.
svn path=/trunk/; revision=18588
I hope this is the right place to send a patch for a new dissector
plugin. The telegram it dissects are for the communication between PLCs
(Programmable logic controller) from the company Saia Burgess Controls
Ltd. (http://www.start-controls.com, http://www.saia-burgess.com or
http://www.sbc-support.ch). The protocol is named Ether-S-Bus (the PLCs
are called PCD2, PCD3, PCD4).
svn path=/trunk/; revision=18526
After synchronization with wireshark repository I see that the patch is applied in the incorrect way.
I send you another patch to fix this issue.
svn path=/trunk/; revision=18518
- Many DCT2000 protocols can be embedded within an IP primitive
message. Add a heuristic to see if we can find the protocol payload
within in IP primitive message, and look for an ethereal dissector
matching the DCT2000 protocol name (this is useful for simple protocol
testing where no physical links are involved)
- Make some more of these protocols (diameter, http, mgcp) findable by name
- Adds protocol 'variant' number to stub and dissector
- Break the duplicated writing of the stub header out into a separate
function
svn path=/trunk/; revision=18212
that could be used with any plugin. (It'd be nice if there were some
way to do that with Makefile.am, but automake doesn't seem to like
macro names being used in the definitions of its magic macros.)
svn path=/trunk/; revision=18150
sets errno to 0 when we can't open a file. This resurrected the annoying
"C:\Program Files\Ethereal\asn1/default.tt" error in the ASN.1 plugin,
since we depended on errno being set to ENOENT. Move some logic around
to account for this.
svn path=/trunk/; revision=18073
Python versions, as it no longer makes only "register.c", it can also
make a "plugin.c" file for a plugin.
When making "plugin.c", there's no need to include "register.h", as it's
not defining any functions declared there.
svn path=/trunk/; revision=17919
Fix the Makefile.nmake files to pass the output type argument to
make-reg-dotc or make-reg-dotc.py.
Make tools/make-reg-dotc executable.
svn path=/trunk/; revision=17904
libetheral or a plugin.c for a plugin, rather than having plugin.c for a
dissector call the routines from register.c. This means we don't ahve
multiple register_all_protocols() and register_all_protocol_handoffs()
routines, and that all the plugin boilerplate is automatically
generated.
svn path=/trunk/; revision=17903
this patch leads to a more condensed representation of strings in the GIOP module, e.g. in Parlay instead of having:
length = 42
TpAddress_AddrString = sip:anyone@somebody.thehost.whose.es:5432
you have now:
TpAddress_AddrString (42) = sip:anyone@somebody.thehost.whose.es:5432
The former was not as concise, if you have a lot of strings (as in CosNaming) and it was not clear whether the protocol had a explicit field named "length" in the IDL.
svn path=/trunk/; revision=17902
- Regenerated files.
- Use .sort() on one or two of the lists in ethereal_gen.py to make generated files
more diff-friendly in the future.
svn path=/trunk/; revision=17885
"register.c" with "make-reg-dotc"/"make-reg-dotc.py".
Pull the lists of dissector .c and .h files into Makefile.common and
have Makefile.am and Makefile.nmake use it.
svn path=/trunk/; revision=17883
This patch fixes the decode problem mentioned in this bug report:
"3. Frames 9 and 13 are only partially decoded and show up as "Packet size limited during capture" It looks like the decode chokes on the DQ-RI line."
DQ-RI is a localconnectionoptions parameter and shouldn't appear as a top-level parameter. This patch makes sure that all of the single-character top-level parmeter codes are followed immediately by a ':'.
svn path=/trunk/; revision=17816
wiretap/README.developer
- the referenced default seek_read function doesn't exist now
wiretap/wtap.c
- a "hole" in encap_table was causing the wrong encap value for later
types to be looked up (by name)
mergecap.c
- fix a couple of program name copy+paste errors from editcap.c
svn path=/trunk/; revision=17765
while this should improve performance by unmeasurably little it does have the sideeffect that once we finish the rewrite tcp analysis might actually work and work well even for tcp over tcp tunnelling.
this also means that if you include packet-tcp.h you also need to include emem.h .
svn path=/trunk/; revision=17681
Lex code is often hard for humans to understand... neither of the error conditions found would be happening...
One was marked as error because coverity does not understand that yyterminate() breaks execution.
The other marked as an error because coverity is not able to figure out that the error appears in an actions against two different rules that will not ever match toghether.
svn path=/trunk/; revision=17584
- By the same token get rid of ProtoFieldArray having Proto.fields attribute been a lua "Array" containing fields.
(still untested, and probably broken)
svn path=/trunk/; revision=17486
make sure isXxx() functions do not trigger an error, we want them to return not to pop the stack back to the lua caller.
svn path=/trunk/; revision=17411
- add doComments
- fix an error in DissectorTable_remove
- reorganize DissectorTable_try
- elua.h
squelch some warnings
- Makefile.nmake
- replace the $^ macro with the targets (i.e. do what nmake was supposed to do)
- move the doc target into the conditional part
svn path=/trunk/; revision=17406
- also supress Address__ge and Address_gt because re-reading the ref manual I noticed that they are suplerfluous (Lua assumes that a > b is equivalent to b < a, which in most cases (as this) it does)
- have elua_makedoc.pl hanlde docomments in more than one line and after the line where the entity s defined.
svn path=/trunk/; revision=17382
- Changed some Macros
- Have dump:close NULLyfing the boxed object so that no futher operations are performed on a dumper once is closed.
- Check if elua_register.h has changed and avoid overwriting it if it hasn't changed to avoid unnecessary compilations.
svn path=/trunk/; revision=17374
- have elua_makereg.pl generating the declaration and registration Macros for each module
- start of elua_makedoc.pl that should generate the Reference Manual from the code.
svn path=/trunk/; revision=17362
- fix args of Dumper:new_for_current
- add a semicolon after LUA_CLASS_DECLARE(PseudoHeader,PSEUDOHEADER) that caused an error (Lesson: Even if trivial one should test changes, there's always a typo arround the corner)
svn path=/trunk/; revision=17329
- columns live for less than a packet's time, use ep_alloc not g_malloc
- tvbranges are ephemeral too
doc/ is to remain as a placeholder for upcoming docs.
lualib/ is to be deleted (if needed it should go in trunk) but it appears that once I added if I do not check it in I cannot delete it.
svn path=/trunk/; revision=17305
- add a log facility to lua (so far just prints to stderr)
- add settings to disable lua even if installed, to load or not to load user scripts when superuser
- create a default /usr/local/share/ethereal/init.lua that blocks all the io/system calls when running as superuser
svn path=/trunk/; revision=17290
* ProtoFiled.uint checks the base to be a valid value to avoid an assertion in proto.c while registering the field array
* save one lua table lookup by using a reference to the dissectors table instead of looking for it by name
* set data_hanlde's value to avoid a crash while invoking it.
* make the TvbRange of Tree:add_item really optional.
svn path=/trunk/; revision=17220
load $ETH/init.lua if it exists
if we are not runninig on special privileges
load $USER/init.lua
and then all the files given with cmd line option -X lua_script:file.lua
svn path=/trunk/; revision=17210
- nmake makefile for lua plugin added.
- declare variables at the beginning of a function.
- proto_reg_handoff_lua was removed, remove remaining calls, too.
- missing functions to libethereal.def added.
add lua plugin to installer, if available.
svn path=/trunk/; revision=17196