Commit graph

24 commits

Author SHA1 Message Date
Guy Harris
79dcb408d3 Properly terminate the string generated for string items.
Use "format_text()" to handle non-printable characters in the display
string for those items.

svn path=/trunk/; revision=15342
2005-08-13 22:08:22 +00:00
Ronnie Sahlberg
c30eeef7d8 some more gmemchunk -> se_alloc() updates
there are only 5 gmemchunks left   but they have different litetime for their allocations   than the 100+   ones that have been removed.

The remaining 5 should be converted some other way.




svn path=/trunk/; revision=15328
2005-08-13 01:29:31 +00:00
Ronnie Sahlberg
030981ff55 We use heuristics to detect what MIGHT be onc-rpc packets.
as heuristics they are not 100% perfect, else they would not be heuristics.


IF the preference option "Dissect unknown RPC program numbers" are enabled,
add a sanity check to see that program_version is <=10
  (no one uses versions >10 ?)
to avoid trying to add 2 bilion different versions to the program->version linked list
in case we mistook the packet for ONC-RPC and the "version" field contains a huge random number.


This bug would only trigger a hang/crash IFF the option above is enabled.


svn path=/trunk/; revision=15290
2005-08-11 09:20:23 +00:00
Ronnie Sahlberg
ec3ab9ec3e rename ep_tvb_get_string() to tvb_get_ephemeral_string() asnd update the documentation in README.developer
svn path=/trunk/; revision=15270
2005-08-10 13:41:13 +00:00
Ronnie Sahlberg
f3f2f6312b From
Eric Wedel

Add a preference to RPC (default off) that will heuristically attempt to find
PDUs starting in the middle of a segment.



svn path=/trunk/; revision=15260
2005-08-08 09:52:59 +00:00
Ronnie Sahlberg
7bca1d5ef6 ememify packet-rpc call to tvb_get_string()
svn path=/trunk/; revision=15196
2005-08-02 17:24:26 +00:00
Guy Harris
70fb017866 Constify some variables, functions, and structure members to squelch
compiler warnings.

svn path=/trunk/; revision=15138
2005-07-29 03:49:23 +00:00
Guy Harris
554f620001 Constify to remove a bunch of warnings. Add some casts to squelch
(presumably-)harmless-but-otherwise-unremovable const-to-nonconst
warnings.

In the TACACS dissector, clean up the variables used in option parsing
to avoid some const-to-nonconst warnings.

Clean up some white space.

svn path=/trunk/; revision=15043
2005-07-24 19:01:28 +00:00
Ronnie Sahlberg
01206d0bd4 recode tvb_memdup() into more efficient emem fucntions.
Now that we dont have to  free() the memory explicitely we got rid of a few unnessecary g_strdup() as well.



svn path=/trunk/; revision=15003
2005-07-22 23:33:12 +00:00
Guy Harris
9cb86fda9c Squelch various signed vs. unsigned warnings by:
making pointers to byte data be "guint8 *" rather than "char *",
	and making buffers holding byte data arrays of "guint8" rather
	than arrays of "char";

	making pointers to text strings "char *" rather than "guchar *";

	appropriately casting pointers (cast to "guint8 *" when passing
	to routines expecting "guint8 *" or when assigning to "guint8
	*");

	making port-number preferences "guint";

	making enum preferences "gint";

	making hf_ variables "int".

Clean up white space.

svn path=/trunk/; revision=14884
2005-07-09 00:53:17 +00:00
Guy Harris
ab797734dd Get rid of the private "my_match_strval()" routine in many dissectors;
add a "match_strval_idx()" routine that does the same thing, and have
"match_strval()" call it.

Make those routines, and "val_to_str()", return a "const" pointer. 
Update dissectors as necessary to squelch compiler warnings produced by
that.

Use "val_to_str()" rather than using "match_strval()" and then, if the
result is null, substituting a specific string.  Clean up some other
"match_strval()"/"val_to_str()" usages.

Add a null pointer check in the NDPS dissector's "attribute_value()"
routine, as it's not clear that "global_attribute_name" won't be null at
that point.

Make some global variables in the AFS4INT dissector local.

Make some routines not used outside the module they're in static.

Make some tables "static const".

Clean up white space.

Fix Gerald's address in some files.

svn path=/trunk/; revision=14786
2005-06-26 19:56:52 +00:00
Ulf Lamping
fdb5b1af02 just to get things straight: a dissector should *never* do any g_assert() calls!
in a simple approach, I've replaced all g_assert() and g_assert_not_reached() calls by their exception throwing counterparts DISSECTOR_ASSERT() and DISSECTOR_ASSERT_NOT_REACHED()

this will replace application crash by showing a dissector bug, which is the desired behaviour

there were some g_assert calls in the protocol registering functions, which might not be acting as expected now, but to be able to simply search for g_assert in the future I've replaced that calls too

one g_assert remained, the one when someone throws an unknown exception "into" packet_frame.c, but IMHO this one should remain.

svn path=/trunk/; revision=14608
2005-06-10 18:28:22 +00:00
Ulf Lamping
e2c3b60280 add a generated toplevel line between the TCP protocol and the desegmented content, to better understand what's going on while desegmenting.
We'll have to add similar mechanisms for other protocols as well...

svn path=/trunk/; revision=14527
2005-06-02 18:52:55 +00:00
Uwe Girlich
c1c395dc2d Added RPC/ONC SYSTEM_ERROR accept state.
svn path=/trunk/; revision=14303
2005-05-04 13:09:46 +00:00
Gerald Combs
53865bb046 Don't try to access a null pointer. Found during fuzz testing.
svn path=/trunk/; revision=14186
2005-04-25 16:54:18 +00:00
Gerald Combs
d96061b92d Add a tvb_ensure_bytes_exist(). I'm not sure if this is the correct way
to do this, but it fixes bug 38.

svn path=/trunk/; revision=14094
2005-04-15 15:17:55 +00:00
Lars Roland
ec9ca01616 Move the following files from /trunk to /trunk/epan:
asn1.[ch]
follow.[ch]
ptvcursor.[ch]
reassemble.[ch]
xmlstub.[ch]

fix #include statements accordingly.

svn path=/trunk/; revision=13366
2005-02-09 23:38:00 +00:00
Anders Broman
851ecd2ac4 From Jon Ringle:
1) Added a setup_frame parameter to conversation_t
2) Used the conversation_t next to maintain a list of conversations with the 
same src/dest tuple but different setup_frame number.
3) Changed the signature of find_conversation() and conversation_new() to pass 
in the frame number.
4) Adjusted packet-sdp to select RTP conversation if both m=audio and m=image 
are present, and T.38 conversation if only m=image is present. I expect that 
RTP/T.38 dissecting to be better, but I don't have a way to generate T.38 
packets.

svn path=/trunk/; revision=13243
2005-02-02 20:07:03 +00:00
Ulf Lamping
78ff68d4b5 a lot of warnings removed, most of them about pointer to int casts without using the appropriate GLib macros
svn path=/trunk/; revision=12832
2004-12-25 13:49:30 +00:00
Guy Harris
a87394e71e At least some versions of the OS X NFS client (and possibly some if not
all other BSD NFS clients) retransmit on different ports from the port
on which the original request was set, so have the RPC "conversation"
for connectionless protocols use only the source address and destination
port.

Use NO_ADDR_B and NO_PORT_B when looking up the conversation in those
cases, and use NO_ADDR2 and NO_PORT2 when creating the conversation in
those cases, to make it clearer that we're only using one address and
port.

svn path=/trunk/; revision=12362
2004-10-20 23:38:31 +00:00
Guy Harris
6472876ab3 Move the tap infrastructure to the epan directory.
svn path=/trunk/; revision=12128
2004-09-29 00:06:36 +00:00
Guy Harris
bbe7f89742 Move prefs.c and prefs.h into the epan subdirectory.
svn path=/trunk/; revision=12115
2004-09-27 22:55:15 +00:00
Ulf Lamping
d530bd4e14 Prevent the word "desegmentation" at the GUI, but use reassembling at that places, as we also use "defragmentation" and "reassembling". Use reassembling as the general term for such actions.
I (hopefully) didn't changed any protocol fields or preference file names, but only the GUI labels appearing in the protocol display and the protocol preferences.

Also added a note to the protocol preferences (where appropriate), that you have to enable "Allow subdissectors to reassemble TCP streams" at the corresponding protocol settings for TCP reassembling to take effect.

If you encounter any mistakes I've made here, please let me know...

svn path=/trunk/; revision=11784
2004-08-21 09:02:52 +00:00
Gilbert Ramirez
669db206cb Move dissectors to epan/dissectors directory.
Also move ncp222.py, x11-fields, process-x11-fields.pl,
make-reg-dotc, and make-reg-dotc.py.

Adjust #include lines in files that include packet-*.h
files.

svn path=/trunk/; revision=11410
2004-07-18 18:06:47 +00:00
Renamed from packet-rpc.c (Browse further)