Commit Graph

80 Commits

Author SHA1 Message Date
Guy Harris 1944c530dc Fix a warning.
svn path=/trunk/; revision=26771
2008-11-13 17:49:37 +00:00
Bill Meier 249e0fa95a Fix a trivial typo
svn path=/trunk/; revision=26702
2008-11-05 21:34:26 +00:00
Jeff Morriss 1882e64736 If we're dissecting for a read filter in the GUI [tshark assigns
frame numbers before running the read filter], don't do the TSN
analysis.  (We can't anyway because we don't have a valid frame
number...)

Without this change if you load a capture file in the
GUI while using a read filter, every SCTP TSN is marked as a
retransmission of that in frame 0.

svn path=/trunk/; revision=26226
2008-09-17 21:59:15 +00:00
Michael Tüxen 296be40635 Add support for
http://www.ietf.org/internet-drafts/draft-tuexen-tsvwg-sctp-sack-immediately-00.txt

svn path=/trunk/; revision=26184
2008-09-12 16:23:18 +00:00
Jeff Morriss 2acffab343 Add an expert info noting an a_rwnd of 0.
svn path=/trunk/; revision=26055
2008-08-21 20:29:27 +00:00
Jeff Morriss 88abfa7bba Add expert info warning to TSNs that are retransmitted more than 2 times.
svn path=/trunk/; revision=26013
2008-08-14 14:40:16 +00:00
Bill Meier ceebccced4 Fix some warnings reported by gcc -Wshadow ...
svn path=/trunk/; revision=25607
2008-06-26 00:16:58 +00:00
Jeff Morriss cb5cae1eed Correct math for counting how many TSNs were GAP acknowledged
svn path=/trunk/; revision=25429
2008-06-05 01:29:58 +00:00
Anders Broman e623809550 Fix some of the Errors/warnings detected by checkapi.
svn path=/trunk/; revision=25264
2008-05-09 13:59:10 +00:00
Stig Bjørlykke 1dbe6e584a From Philip Frey (bug 2420):
Merge of the CRC32C calculation out of packet-iscsi.c and packet-sctp.c
into the already existing crc32.c and crc32.h files.

svn path=/trunk/; revision=24930
2008-04-12 12:31:53 +00:00
Michael Tüxen 5916e54d06 - Disable checksum verification by default.
- Add to Edit/Preferences/Protocols/SCTP a
  flag to disable upper layer dissection.

svn path=/trunk/; revision=24761
2008-04-01 02:53:01 +00:00
Jeff Morriss 6aed8c4c60 Initialize a 'next' pointer so we don't crash if/when we try to follow it.
svn path=/trunk/; revision=24471
2008-02-26 17:05:37 +00:00
Bill Meier bad9f18d33 Fix (Sun) compiler warnings as reported by David Kirkby: Part 1
svn path=/trunk/; revision=24295
2008-02-09 23:35:28 +00:00
Jeff Morriss 407007d14a From Kaul: s/SERIAL_NUMBER_LENGTH/SCTP_SERIAL_NUMBER_LENGTH to fix a duplicate definition on Windows (not sure why Kaul is seeing that but oh well).
svn path=/trunk/; revision=23899
2007-12-17 19:25:16 +00:00
Guy Harris a3d7a2c66f Squelch a warning about a variable getting clobbered by a longjmp.
svn path=/trunk/; revision=23780
2007-12-06 08:22:16 +00:00
Michael Tüxen d00e6fe59e Fix from Stephen Fisher for bug 2028.
svn path=/trunk/; revision=23621
2007-11-27 17:46:55 +00:00
Jeff Morriss c5ab162b37 gcc-4.1.1 thinks 'retval' might not get set inside the TRY(). Initialize it.
svn path=/trunk/; revision=23603
2007-11-26 17:28:12 +00:00
Jeff Morriss 330c9d0b4b Fix crash reported in http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2014 : when adding fragments to the linked list of end fragments, don't check the TSN of the begin fragment--it may not be there. Looks like a cut-n-pasteo.
svn path=/trunk/; revision=23567
2007-11-24 17:56:46 +00:00
Jeff Morriss 53faa469bd Detect reneged acks or at least retransmissions after an ack was seen. Mark
them with an expert info (PI_WARN).

Change "Duplicate TSN" expert info to "Retransmitted TSN" and make it PI_NOTE
instead of PI_WARN.

Change "More than 100 TSNs gap-acked" expert info to PI_WARN (from PI_NOTE).

Frame numbers (and count of retransmissions) are unsigned, display them that way.

svn path=/trunk/; revision=23502
2007-11-19 20:34:57 +00:00
Jeff Morriss 3fa633d626 When reassembly is off, catch ReportedBoundsError when calling a subdissector
on the first fragment of a fragmented message.  This allows us to continue
dissecting chunks even if one of the first chunks in the frame was fragmented.
(It's useful to keep doing this partial dissection just so we have some idea
what's in that chunk.)

(One could rightfully argue that you should only see a fragmented chunk
bundled with another chunk when retransmitting but, well, I'm staring at
traces of an implementation--to remain nameless to protect the guilty--which
is sometimes fragmenting and then bundling the fragments into one packet.)

svn path=/trunk/; revision=23471
2007-11-16 22:04:27 +00:00
Jeff Morriss 03b581e921 When reassembly is turned off don't pass non-first fragments to subdissectors: they will have no idea what they're getting and will exception out anyway.
svn path=/trunk/; revision=23469
2007-11-16 19:32:59 +00:00
Jeff Morriss aaec1d956f Replace a (small) for loop with a memset(). Don't memset() the entire sctp_info.tvb array--it contains 2k pointers (8k or 16k of memory)--each time we start dissecting a frame. This speeds up loading a capture file full of SCTP packets by 6-8%.
svn path=/trunk/; revision=23118
2007-10-09 18:58:34 +00:00
Michael Tüxen 9bfcf2b471 Change the ADDIP error causes as changed by IANA for RFC 5061 publication.
svn path=/trunk/; revision=22875
2007-09-14 21:30:26 +00:00
Jeff Morriss c360b112a1 If the whole packet was not captured (e.g., due to the snapshot length), do not attempt to verify the checksum of the packet. Rather, inform the user that we didn't/couldn't verify the checksum.
svn path=/trunk/; revision=22826
2007-09-07 21:46:31 +00:00
Jeff Morriss 3f52508caf Count the number of TSNs gap-acked in a SACK. Warn the user (with an Expert info) if the number is greater than, say, 100. Also reindent large portions of the sack dissector function to make it readable.
svn path=/trunk/; revision=22814
2007-09-06 21:57:56 +00:00
Jeff Morriss 1af3ee0936 Check COL_INFO before calling col_set_fence(..., COL_INFO) rather than COL_PROTOCOL
svn path=/trunk/; revision=22408
2007-07-26 19:27:22 +00:00
Anders Broman cbb9271a0a Make it possible to "decode as" NBAP over SCTP, update IANA registered PPID's
for SCTP.

svn path=/trunk/; revision=21927
2007-05-24 20:42:55 +00:00
Gerald Combs 965fda1995 Add NULL dereference checks. Fixes Coverity CID 241.
svn path=/trunk/; revision=21724
2007-05-08 16:18:59 +00:00
Luis Ontanon ddddf2d668 Have retransmissions added only once per retransmitted packet.
svn path=/trunk/; revision=21232
2007-03-27 22:41:28 +00:00
Ulf Lamping 411249419d fix some more warnings (type casts)
svn path=/trunk/; revision=21141
2007-03-23 00:51:21 +00:00
Luis Ontanon e9bb1d5670 Avoid calling ep_alloc for 0 bytes.
svn path=/trunk/; revision=21121
2007-03-22 21:51:56 +00:00
Jeff Morriss 62c61a071c Add tracking of retransmitted TSNs. That is, for a TSN that we found was
retransmitted, add items to its tree describing those retransmissions (frame
where the retransmission is and RTO).  Limit this to 100 retransmissions to
avoid running out of memory in pathological cases.

This adds the filters "sctp.retransmitted" (TSNs that were retransmitted)
and "sctp.retransmitted_count" (count of number of times the TSN was
retransmitted).

The RTO is intentionally not added to the retransmitted TSN tree as it is
already added to the retransmission(s).  The RTO is displayed, however.

svn path=/trunk/; revision=21081
2007-03-21 04:48:32 +00:00
Ronnie Sahlberg 9cd50d5064 remove some compiler warnings about unused parameters
svn path=/trunk/; revision=21070
2007-03-20 14:50:15 +00:00
Jeff Morriss 93af79c80d - Set hf_sctp_acked and hf_sctp_rtt as generated.
- Change "sctp.retransmitted" to "sctp.retransmission" since that field
  is set on messages that are retransmissions, not messages that were
  retransmitted.
- Change some formatting to make it more consistent.

svn path=/trunk/; revision=21065
2007-03-19 10:34:26 +00:00
Jörg Mayer fb820f0a07 GCC warning fixes
epan/dissectors/
packet-bctp.c:
	no newline at end of file
packet-epl.c:
	C++ style comments are not allowed in ISO C90
packet-sccp.c:
	missing initializer
packet-sccp.h:
	comma at end of enumerator list
packet-sctp.c:
	suggest parentheses around assignment used as truth value
packet-vnc.c:
	control reaches end of non-void function
	pointer targets in passing argument 1 of 'g_strtod' differ in
		signedness
	pointer targets in passing argument 3 of 'vnc_client_to_server'
		differ in signedness
gtk/
main.c:
	C++ style comments are not allowed in ISO C90
u3.h:
	function declaration isn't a prototype

Other (trivial) stuff
packet-sccp.h:
	Add svn properties


svn path=/trunk/; revision=21011
2007-03-09 13:14:09 +00:00
Michael Tüxen da56836f74 Add HMAC Algo constants.
svn path=/trunk/; revision=21008
2007-03-09 10:49:23 +00:00
Luis Ontanon b6ab56f26d fix a syntax error on the last check-in...
svn path=/trunk/; revision=21000
2007-03-08 00:43:08 +00:00
Luis Ontanon 8c8595e496 avoid using an "uninitialized" start variable on gap blocks
svn path=/trunk/; revision=20999
2007-03-08 00:37:07 +00:00
Luis Ontanon cf0379278b in TSN tracking: handle the TSN rollover.
I'll keep TSN tracking disabled by default, as it slows down dissection significantly and eats tons of memory!

svn path=/trunk/; revision=20998
2007-03-08 00:18:25 +00:00
Luis Ontanon c0a373d26b + get the Acks in the block where they belong.
+ change the ack tree root to be the TSN being acked and have the chunk frame and rtt under it.

still to do: TSN wrap

svn path=/trunk/; revision=20981
2007-03-06 00:48:46 +00:00
Luis Ontanon 1b65a2e986 + Quick and dirty fix in association matching code to avoid a vtag==0 (init) to "curse" an entire association. Yes, it has to be reworked... but I need it for debugging purposes.
+ Add the fields sctp.sack_gap_block_start_tsn and sctp.sack_gap_block_end_tsn so that one can filter over a tsn ack acked by a gap block.


svn path=/trunk/; revision=20976
2007-03-05 22:47:40 +00:00
Luis Ontanon e8c5d47e26 SCTP TSN analysis part 1.
Up and running.
As it is analysis will stop at TSN rollover (0xffffffff->0x00000000).

And It will start to misbehave when a TSN is seen again in the same half association (that's a case where an out-of-memory error will probably had happened before).

It still needs testing.

svn path=/trunk/; revision=20947
2007-02-28 14:09:25 +00:00
Jeff Morriss 01a71d7277 Some minor readability enhancements to the (still disabled) sequence analysis: use PROTO_ITEM_SET_GENERATED() on all the new fields and change hf_sctp_dup_ack's description to indicate that it's showing you the frame number of the previous ack.
svn path=/trunk/; revision=20942
2007-02-27 10:02:28 +00:00
Luis Ontanon 83682b6a5f I'm checking in what I got so far for TSN analysis.
It's disabled. To enable uncomment the preference, recompile and enable it from preferences.

I checking it in because I need it as a reference.

svn path=/trunk/; revision=20929
2007-02-25 18:22:08 +00:00
Luis Ontanon 46956317e2 I unadvertedly checked in this one, it adds tsn analysis to sctp which is still broken (although it is disabled by default).
Revert to previous version.

svn path=/trunk/; revision=20909
2007-02-23 21:12:25 +00:00
Luis Ontanon 4211d0dba2 fix some bugs introduced in the latest releases and add value_strings for param, evt, sig and stat ids s well as "sub-parameters".
svn path=/trunk/; revision=20908
2007-02-23 20:57:22 +00:00
Bill Meier 3dbfb21cf9 packet-afp: remove unneeded line of code;
packet-sctp: register sctp dissector since packet-lge-monitor wants to call same


svn path=/trunk/; revision=20850
2007-02-19 01:27:16 +00:00
Michael Tüxen fc753d3f70 Provide a correct argument to g_hash_table_foreach_remove.
svn path=/trunk/; revision=20761
2007-02-09 23:29:57 +00:00
Michael Tüxen 63ff1f4bc1 Fix whitespaces.
svn path=/trunk/; revision=20760
2007-02-09 23:14:15 +00:00
Ronnie Sahlberg f4fcbc9e14 use se_alloc() instead of g_malloc() to allocate storage for the key to the hash table.
this allows us to use g_hash_table_new() instead of g_hash_table_new_full() and thus make it compileable under gtk1.2


this should probably be completely converted into se_tree's and se_alloc to completely remove the hashtable altogether



svn path=/trunk/; revision=20758
2007-02-09 21:03:41 +00:00