Commit Graph

63 Commits

Author SHA1 Message Date
Luis Ontanon 5fa8e75149 packet_info.c and packet.c
add sccp_info to struct _packet_info (Sorry but the way private_data works and the fact that TCAP uses it and BSSAP/RANAP can be tunnelled on GSMMAP over TCAP makes it impossible to avoid)

SCCP
- Have SCCP to have a TAP,
- Fix associations so that every message belongs to the association.
- Export message type values so that they can be used by a tap listener

RANAP
 - Have RANAP information attached to the sccp_info 

BSSAP + GSM_A
- Have DTAP, BSSMAP and BSSAP info attached to the sccp_info

svn path=/trunk/; revision=21076
2007-03-21 00:48:46 +00:00
Jörg Mayer 147d66441e dcerpc_procedure_name is actually a const char*, not just char*
svn path=/trunk/; revision=21010
2007-03-09 13:13:44 +00:00
Ronnie Sahlberg 8ed1260c2c add a field in pinfo where dcerpc/pidl can store the name of the current dcerpc procedure
use this field in the policy handle helper to indicate not only which frames the handle was opened/close in but also the name of the function that opened it.
eventually, when other pidl support infrastructure is developed it would be nice if this could be expanded to also contain the name of the object/handle opened.



svn path=/trunk/; revision=20895
2007-02-21 20:21:11 +00:00
Ronnie Sahlberg 5a0ba5b0c7 fix for bug 1200
there used to be a bug in tcp reassembly that even if the dissector only asked for x more bytes from the next segment   the entire segment would still be added to reassembly.
this caused some issues when there was a new multisegment pdu that started at the end of the segment   but this bug was fixed when tcp reassembly was refactored semi-recently.


there was also another "bug" in the http reassembly that it would only ask for one more byte at a time when doing reassembly.
this did work well however when we still had the bug in tcp reassembly   but made wireshark become very very very slow once this tcp bug was fixed  since it is very very very slow to reassemble a huge http pdu just one byte at a time.


this patch adds partial support (what we need for http   which does not use tcp_dissect_pdus() ) for the desegmentation flag : DESEGMENT_ONE_MORE_SEGMENT and also to the http dissector   so that reassembly of http headers spanning multiple semgents now become fast again



svn path=/trunk/; revision=19859
2006-11-07 13:19:31 +00:00
Ronnie Sahlberg cd02551610 add a tcp_tree field to packet_info so that we can access the tree from tcp_dissect_pdus() (and others if need be)
in tcp_dissect_pdus()  add a field ( tcp.pdu.size ) to the tree that displays the pdu size.



svn path=/trunk/; revision=19655
2006-10-22 00:21:40 +00:00
Ronnie Sahlberg f956bad366 we need a new pinfo member field so that we can pass data from the core usb dissector to future class dissectors
svn path=/trunk/; revision=19576
2006-10-17 14:13:49 +00:00
Ronnie Sahlberg 6d3c94a53a implement support to reassemble tcp sessions until the end of the session (FIN)
add required code to the http (and others) code in req_resp_hdrs.c to signal to tcp
when it wants a session to be reassembled to the FIN.

This is currently done for all HTTP packets where we have a Content-type in the header but no content-length.




svn path=/trunk/; revision=19185
2006-09-10 14:03:08 +00:00
Ulf Lamping f4c7cae6b0 add various enhancements to the CBA-ACCO dissector, including an added profinet_type field to the packet_info struct
svn path=/trunk/; revision=18615
2006-06-29 19:46:51 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Jörg Mayer 30a8557868 More 'char*' -> 'const char*' changes to fix warnings.
svn path=/trunk/; revision=15015
2005-07-23 11:41:25 +00:00
Anders Broman f01b2b6197 From Mike Duigou:
A few doxygen updates and an improved section on 
writing dissectors that don't use tcp_dissect_pdus().

svn path=/trunk/; revision=14537
2005-06-03 06:35:44 +00:00
Michael Tüxen 23d022349d - Add support for libpcap files for MTP2 with a per packet header
indicating the direction, narrowband/broadband, and interface number.
- Add support to display the direction and interface number.
- Add support to packet-mtp2.c to use the broadband/narrowband indication.

svn path=/trunk/; revision=14265
2005-05-02 14:07:33 +00:00
Guy Harris 90f8224360 Have GSS-API subdissectors supply a "data is encrypted" flag to their
callers, so that they can tell "no decrypted tvbuff because I couldn't
decrypt it" from "no decrypted tvbuff because it's not encrypted in the
first place".  Set that based on the Kerberos seal algorithm field in
the SPNEGO Kerberos 5 wrap dissector code.

Use that to determine whether the GSS-API encapsulated data in LDAP is
encrypted or not., rather than using a heuristic.

Set the length of the SASL blob tvbuff based on the SASL length and the
length of the tvbuff from which it's consstructed, rather than setting
it to the SASL length.

svn path=/trunk/; revision=13780
2005-03-16 21:59:25 +00:00
Ronnie Sahlberg 1564a2d2d3 add two nice defines for how to decrypt a GSSKRB tvb
dce has slightly different padding and checksumming so we have to tell decrypt_arcfour() about it.



svn path=/trunk/; revision=13689
2005-03-10 08:52:59 +00:00
Ronnie Sahlberg 9d20ee0a39 gssapi decryption nees a few new fields to pass the blobs from application layer dissector all the way down to spnego or friends and back.
svn path=/trunk/; revision=13658
2005-03-08 09:43:36 +00:00
Guy Harris 9105f362c2 Make the DCE transport type an "int" so that -1 is a valid value and the
compiler doesn't say "that's unsigned, it can't possibly be equal to -1".

svn path=/trunk/; revision=13526
2005-02-25 23:44:44 +00:00
Ronnie Sahlberg 4a338216da pinfo->private_data was a quite subptimal idea
change the decodeas for dcerpc so that it actually works again for dcerpc over smb



svn path=/trunk/; revision=13515
2005-02-25 10:30:21 +00:00
Gerald Combs 561fbc8b25 Add a field called "frame.protocols" which shows the protocols present
in the frame.   The filter "frame.protocols contains ip:icmp:ip" could
be used to find any ICMP packets containing IP headers.

Clean up whitespace.

svn path=/trunk/; revision=13118
2005-01-19 04:49:29 +00:00
Michael Tüxen 3ae576310c Add the capability to chose to remap the fist two PPIDS in each SCTP packet to a different dissector.
svn path=/trunk/; revision=11912
2004-09-06 15:04:27 +00:00
Ulf Lamping 4777e5ef7b From Eric Wedel: backend things for "Decode As" of DCE-RPC interfaces
svn path=/trunk/; revision=11894
2004-09-04 11:35:26 +00:00
Guy Harris 2ad97737fe Pull the address (and port and circuit type) stuff out of
"epan/packet_info.h" and put it in "epan/address.h".

Use the AT_ values from "epan/address.h" for address types in the
interface lists rather than having our own FAM_ enums.

svn path=/trunk/; revision=11427
2004-07-19 02:27:17 +00:00
Guy Harris 8a8b883450 Set the svn:eol-style property on all text files to "native", so that
they have LF at the end of the line on UN*X and CR/LF on Windows;
hopefully this means that if a CR/LF version is checked in on Windows,
the CRs will be stripped so that they show up only when checked out on
Windows, not on UN*X.

svn path=/trunk/; revision=11400
2004-07-18 00:24:25 +00:00
Ronnie Sahlberg e790073f3a Updates from Richard v d Hoff
IAX2 updates and a CRC16 routine

svn path=/trunk/; revision=11233
2004-06-25 06:31:47 +00:00
Guy Harris 30b2831847 Add support for DLT_APPLE_IP_OVER_IEEE_1394.
svn path=/trunk/; revision=10446
2004-03-23 01:02:41 +00:00
Guy Harris d4b00639d6 From Jeff Morriss:
support the ISUP CIC as a circuit ID;

	add a preference option to control whether to put the CIC into
	the Info column or not.

svn path=/trunk/; revision=10265
2004-02-29 08:47:11 +00:00
Guy Harris 354b911d05 Add a "saved_can_desegment" field to the "packet_info" structure, so
that dissectors for pass-through proxying protocols such as SOCKS can
allow the subdissectors they call to ask that desegmentation be done.

svn path=/trunk/; revision=9488
2003-12-29 22:44:50 +00:00
Olivier Biot 2a6e130e10 Move the GSM SMS dissection to a dedicated subdissector (currently still within
packet-smpp.c).

Now the higher-level protocols show up without the need of unfolding the SMPP
dissector tree.

Add a new address type AT_STRINGZ, and use it for GSM SMS message reassembly.

Get rid of the different UDH IE subtrees, and replace them with one subtree
for all UDH IEs.

Add debug logging to SMPP and SMPP GSM SMS dissectors.

Move the Short Message reassembly from the SMPP dissector to the SMPP GSM SMS
dissector. Fix duplicated "reassembled in" header fields.

Rename header fields that are now part of SMPP GSM SMS (including the dissector
table name, so it has also been updated in packet-wsp.c and packet-wtp.c).

Add an explicit "if (!tree) return" in the WSP add_headers() method.

NOTE: it would be great if we were able to merge the existing packet-gsm_sms.c
and the SMPP GSM SMS dissector.

svn path=/trunk/; revision=9431
2003-12-23 12:07:14 +00:00
Guy Harris d06dc0727a From Michael Lum: support an AT_SS7PC address type for SS7 point codes,
and set the direction in pinfo for SS7 packets based on source and
destination addresses.

svn path=/trunk/; revision=9209
2003-12-08 21:36:53 +00:00
Guy Harris 364261f0ad From Olivier Biot:
* Add a "match_string" field to the "packet_info" structure,
	  saving the string value that matched in a string dissector
	  lookup, by analogy to "match_port" - this was required for
	  dissection with token rendering of WBXML content when no public
	  ID was given (e.g. Nokia/Ericsson OTA provisioning data).
	* Add support for textual content type based WBXML token
	  mapping.
	* Add extra WBXML public identifiers.
	* Add the Nokia/Ericsson OTA provisioning (version 7) token
	  definitions.
	* Inform the user when a content-type based token match is found.

svn path=/trunk/; revision=9061
2003-11-21 21:58:55 +00:00
Guy Harris c37d30442f From Dinesh Dutt:
- Dissector for FICON
	- Dissector for FC-SP (Security Protocol for Fibre Channel)
	- Patches to correct the reassembly of FC fragments.
	- Support for new MDS Port Analyzer Adapters that carry the
	  frame length for truncated frames.

svn path=/trunk/; revision=8823
2003-10-30 02:06:13 +00:00
Guy Harris 04674dc949 Catch exceptions when dissecting a verifier, so we still dissect the
stub data even if there's a problem dissecting the verifier.

Show stub data as "Encrypted stub data" if it's encrypted, "Decrypted
stub data" if it was encrypted but we decrypted it, and "Stub data" if
it wasn't encrypted.

Don't attempt to decrypt data unless it was encrypted (i.e., the
authentication level is "Packet privacy".

Get rid of "decrypted_data" member of "packet_info" structure - we don't
need it any more.

svn path=/trunk/; revision=8743
2003-10-21 07:17:16 +00:00
Ronnie Sahlberg cb5e97d49a Update to TCP to handle hints from dissectors where the next PDU may start.
ONCRPC dissector updated to provide hint to TCP where the next RPCoverTCP
PDU starts as example.
Trivial updates to the other TCP based protocols required to amke them handle
this as well.  See the updates to packet-rpc.c as an example.

This is enabled by activating tcp analysis and provides hints to TCP to know where PDUs starts when not aligned to the start of the segment.

svn path=/trunk/; revision=7543
2003-04-23 10:20:29 +00:00
Guy Harris 5e665db815 Assume all AT_NONE addresses are the same, as they have no address data
to compare; based on a change from Laurent Meyer.

svn path=/trunk/; revision=7222
2003-02-28 20:30:06 +00:00
Guy Harris 4156806b8b From Didier Gautheron: provide a mechanism to indicate why reassembly
wasn't done, and, for TCP, use that mechanism if reassembly isn't done
is an incorrect TCP checksum.

svn path=/trunk/; revision=7212
2003-02-27 03:56:48 +00:00
Guy Harris e120160577 From Dinesh Dutt:
- A new decoder called MDSHDR which decodes the internal header of the
      Cisco MDS switch (this is different from the Boardwalk header).
    - Support for some more new columns as part of FC support.
    - Fixed the decoding of the Special Frame in FCIP.
    - Fixed the decoding of credit management type field in FLOGI/PLOGI frame
      in FC-ELS.

svn path=/trunk/; revision=6974
2003-01-22 06:26:36 +00:00
Jörg Mayer 87b638a94f pointer spells with an o
svn path=/trunk/; revision=6857
2003-01-06 19:08:37 +00:00
Ronnie Sahlberg a80ddab6fd Update DCERPC so that for (NTLMSSP) PDUs that have been decrypted
we also call the proper DCERPC subdissector.

With this change ethereal will call the SAMR dissector and dissect the
decrypted SAMR packets in devins capture.

svn path=/trunk/; revision=6855
2003-01-06 11:27:03 +00:00
Gerald Combs b60b1414c3 From Dinesh Dutt: Add Fibre Channel support, including FCIP, Basic FC
header, Extended Link Service, Interswitch Link Service, FCP, and IPFC.

svn path=/trunk/; revision=6757
2002-12-08 02:32:36 +00:00
Guy Harris 8181a83657 Allow more than one circuit with the same circuit ID; a circuit has a
starting and ending frame number, and circuits with the same circuit ID
are sorted by the starting frame number (the last circuit can have 0 as
the ending frame number, meaning "unknown"), and, when looking up a
circuit, we take a frame number as an argument and return the circuit
that includes that frame.

Add a new circuit ID type for X.25 virtual circuits, and use the circuit
mechanism to keep track of the dissector for an X.25 virtual circuit
rather than having a private mechanism.

svn path=/trunk/; revision=6580
2002-11-08 01:00:07 +00:00
Guy Harris 56f644145e Discard the WTAP_ENCAP_LAPD encapsulation type in favor of a
WTAP_ENCAP_ISDN encapsulation type, which includes a pseudo-header
giving the direction (user-to-network or network-to-user) and the
channel number.

Add a new circuit type, using the ISDN channel number as the circuit ID.

Add an ISDN dissector to put the direction and channel number into the
protocol tree and to call the appropriate dissector for the payload
based on the channel (LAPD for the D channel; V.120, PPP, or data for B
channels, based on some heuristics).

svn path=/trunk/; revision=6521
2002-10-31 07:12:42 +00:00
Guy Harris 28c1a65e85 Add in a notion of "circuits", which are for virtual circuit-oriented
protocols (where there's a virtual circuit ID of some sort in packets)
what conversations are for protocols ultimately running atop
connectionless network layers.  Have circuit type and ID values in the
"packet_info" structure.

Have the Frame Relay dissector set the circuit type and ID values, and
have the Wellfleet compression protocol set up circuit information and
store compression information with the circuit.

svn path=/trunk/; revision=6469
2002-10-22 08:22:07 +00:00
Guy Harris dbfeea3620 The Frame Relay DLCI is a virtual circuit identifer, not a source or
destination address, so yank out the AT_DLCI stuff.

Clean up indentation.

svn path=/trunk/; revision=6455
2002-10-19 00:40:05 +00:00
Guy Harris c7cacdf4b7 Add an AT_ARCNET address type for ARCNET addresses, and have the ARCNET
dissector set the source and destination link-layer addresses.

svn path=/trunk/; revision=6452
2002-10-18 21:40:13 +00:00
Guy Harris e0e7122674 Add a new port type, PT_IPX, for IPX socket numbers; set "pinfo->ptype",
"pinfo->srcport", and "pinfo->destport" appropriately in the IPX
dissector.  Add support for PT_IPX port types in display columns.

Have an "spx.socket" dissector table, similar to the "ipx.socket"
dissector table, and have the SPX dissector use that, with the IPX
socket numbers from "pinfo->srcport" and "pinfo->destport", so that
dissectors for protocols that run atop SPX can register with particular
socket numbers.  (Think of it as similar to what would have been the
case had the IP header had 16-bit source and destination port numbers,
and had TCP and UDP used those port numbers rather than having port
numbers in their headers.)  Also, have the SPX dissector dissect
subprotocols regardless of whether we're building a protocol tree or not.

Use the dissector handle for the IPX message dissector for both IPX
socket numbers; there's no need to create separate handles for both
registrations.

Have NDPS register as a subdissector of the SPX dissector, using
"spx.socket", and get rid of the duplicate SPX dissection in the NDPS
dissector.

Make the NDPS dissector set the columns regardless of whether a protocol
tree is being built, and clean up the dissector (fixing some bugs).

Get rid of unneeded includes in "packet-ndps.c".

svn path=/trunk/; revision=6424
2002-10-15 04:31:00 +00:00
Jörg Mayer 48be4e530d Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6116
2002-08-28 20:41:00 +00:00
Guy Harris fdf6f47176 Fix the comment before "CMP_ADDRESS()" to reflect reality ("memcmp()"
isn't guaranteed to return 0, 1, or -1, it returns *some* positive
number, not necessarily 1, if the first argument is greater than the
second, and *some* negative number, not necessarily -1, if the first
argument is less than the second).

svn path=/trunk/; revision=6063
2002-08-22 18:53:54 +00:00
Ronnie Sahlberg c56dc7ea38 Fix small typo
svn path=/trunk/; revision=5920
2002-07-31 11:16:19 +00:00
Ronnie Sahlberg e930dd4a31 Adding a new macro CMP_ADDRESS similar to ADDRESS_EQUAL but this one will return
-1,0,1 as the xxxcmp() functions will instead of just true/false.
Useful if you not only want to check for equality but also if you want to have a way to order the elements.

svn path=/trunk/; revision=5917
2002-07-31 06:15:26 +00:00
Guy Harris 6ecde9ff17 From Didier Gautheron: move port number from AppleTalk addresses to
separate column, and put in hidden fields for AppleTalk source and
destination addresses.

svn path=/trunk/; revision=5778
2002-06-28 20:13:03 +00:00
Guy Harris 392a7dfc04 Get rid of the "data_src" member of the "frame_data" structure; put it
in the "packet_info" structure instead, as we don't need a pointer for
every single frame in the capture file, just for each frame for which we
currently have an open "epan_dissect_t".

svn path=/trunk/; revision=5614
2002-06-04 07:03:57 +00:00