some Siemens SIMATIC protocols also use COTP, and shouldn't be
misinterpreted as SES.
the starter in this case is fixed to 0x32 (SES_MINOR_SYNC_ACK for SES),
so if the following parameter type is unknown, it's probably SIMATIC and not SES
svn path=/trunk/; revision=15966
putative octet string isn't one; always check before using it to
dissect, and don't call the dissector if the tvbuff is null. This
should fix bug 472.
svn path=/trunk/; revision=15946
at the same time change ntp_fmt_ts to return a pointer to ian ep-allocated buffer.
remove the redundant buffer parameter in the signature and change all callers.
svn path=/trunk/; revision=15939
we use to determine how to interpret the token; don't bother fetching
the OID attached to the frame or conversation, as we're not using it.
Indent code in the .cnf file to match the code generated by asn2eth.
The mechListMIC in a NegTokenInit is sometimes a sequence containing a
string; check the header of the mechListMIC and dissect it as such a
sequence or as a regular item depending on whether it's a sequence or
not.
If we see a supportedMech in a NegTokenTarg, save next_level_value for
that OID with the conversation.
Dissect a responseToken in a NegTokenTarg, and a mechListMIC in a
NegTokenTarg, appropriately.
Get rid of "gssapi_dissector_handle()", and just use
next_level_value->handle - it was never being called if next_level_value
was null.
When we're dissecting a KRB5 blob, just use get_ber_identifier() to get
the header, so we don't report an ASN.1 error if there isn't a BER
identifier there; dissect the identifier and length only if we know we
have them.
svn path=/trunk/; revision=15937
almost none of the data - fill in only variables for what we need, and
use proto_tree_add_item() in most cases.
Move what's left of the packet-winsrepl.h header into packet-winsrepl.c,
and get rid of the header.
Dissect the name flags field in detail, as per the Samba code.
We don't do any checks for whether the packet is a valid WINS
replication packet, so don't make the dissector a new-style dissector.
svn path=/trunk/; revision=15936
almost none of the data - fill in only variables for what we need, and
use proto_tree_add_item() in most cases.
Move what's left of the packet-winsrepl.h header into packet-winsrepl.c,
and get rid of the header.
Dissect the name flags field in detail, as per the Samba code.
We don't do any checks for whether the packet is a valid WINS
replication packet, so don't make the dissector a new-style dissector.
svn path=/trunk/; revision=15935
patch to support 4 additional juniper DLTs.
all those are wrappers for exisiting media types augmented with meta-information which gets also displayed using this patch;
svn path=/trunk/; revision=15908
- #.FN_BODY accepts parameters too
- single line variant of #.FN_PAR is possible
- new parameter FN_VARIANT for OBJECT IDENTIFIER
packet-per.c
- dissect_per_object_identifier() returns value as tvb
- new dissect_per_object_identifier_str() function
PER dissectors adapted and regenerated
svn path=/trunk/; revision=15894
m3ua and not the binary one.
make the binary dissector check if it is really the text based one to be used and if so
call that dissector instead.
svn path=/trunk/; revision=15862
show the value of 1 1111 as "Continued" in the bitfield and the actual
tag value in the following bytes.
Show the BER identifier data before an OID if we're showing internal BER
fields.
svn path=/trunk/; revision=15856
directory to the epan directory. Some of them should perhaps ultimately
be moved to epan/dissectors, if they pertain only to stuff exported by a
particular dissector.
Fix Gerald's e-mail address in files we're moving.
svn path=/trunk/; revision=15844
into the protocol tree once.
Fix the offsets and lengths used to put the variable binding values into
the protocol tree.
svn path=/trunk/; revision=15837
This makes Ethereal build again - there's no real reason that
ethereal fails to build for such a long time on so many platforms.
svn path=/trunk/; revision=15835
commit replaces the hand written dcerpc initshutdown and winreg
interfaces with autogenerated ones.
The pidl generated code is still a bit rought around the edges but will
hopefully improve with time.
svn path=/trunk/; revision=15812
Use "tvb_format_stringzpad()" rather than "tvb_format_text()" on
strings, as some of them are null-padded. (XXX - are they null-padded
or null-terminated?)
Clean up the TLV length checks, and do many more such checks.
svn path=/trunk/; revision=15809
our own.
Get rid of MAC_to_str() - ether_to_str() suffices.
Don't copy to on-the-stack fixed-size string buffers, just save the
results of various formatting calls as pointers.
Use tvb_format_text() to get displayable versions of text strings.
Use tvb_get_ipv4() and tvb_get_ipv6().
Don't put an item into the protocol tree as text and then put in a
hidden item that, if unhidden, would display the same or almost exactly
the same; just put the item into the tree unhidden.
svn path=/trunk/; revision=15808
and the stuff you have to do is compiler-dependent, so use
G_GINT64_CONSTANT()).
Properly handle formatting 64-bit quantities (they don't format
correctly by magic, and the stuff you have to do is compiler-dependent,
so use PRI[duoxX]64).
Don't copy the result of tvb_bytes_to_str() to a string buffer and then
only use it as an argument to a "%s" - just use the result directly.
Don't copy constant strings to a buffer - just use the strings directly.
Fetch 64-bit integral quantities with tvb_get_ntoh64(); they're
presumably in a standard byte order, which is probably big-endian for
Internet-family protocols, and using tvb_memcpy() is *guaranteed* to be
wrong on some platforms.
Fix up a format string.
Fix up indentation a bit.
svn path=/trunk/; revision=15807
Support some new messages and fix a couple of bugs.
packet-fc.h - Added a #define for a Cisco MDS-specific frame called OHMS (online health mgmt srv) packet-fc.c - Support for OHMS frame, fixed an incorrect "malformed frame" error caused on ACK1 frames (they
don't contain anything but (encap hdr + FC hdr + encap trailer), fixed incorrect detection of
last-data-frame
packet-fcct.h - Support for new service type, "Fabric Controller", used in conjunction with FC-SW3 ESS message,
exported the service name value string definitions and
packet-fcct.c - Support for recognizing "Fabric Controller" service type and "vendor-specific" service
packet-fcswils.h - Support for ESS & MRRA messages, defined as part of FC-SW3 packet-fcswils.c - Support for ESS & MRRA messages, defined as part of FC-SW3
packet-scsi.c - Support for Verify and Write&Verify SBC commands.
svn path=/trunk/; revision=15799
fragment size. The limit is conservatively set at 65536 bytes. It may
have to be increased. Fixes bug 421.
Add an entry to the release notes.
svn path=/trunk/; revision=15789
A new dissector - cimd dissector. CIMD stands for Computer Interface to Message Distribution and it's used to transfer short messages between applications and Nokia Short Message Service Center.
svn path=/trunk/; revision=15777
column-utils.h, and add it to expert.h, so we check the arguments to
"expert_add_info_format()", at least if the format argument is a
constant string.
Fix some more calls to "expert_add_info_format()" to pass it a format
string.
Don't record BoundsError exceptions as expert events - they merely
reflect a capture done with a snapshot length too short to capture all
of the packet (any case where it's caused by something else is a bug).
svn path=/trunk/; revision=15776
format string - the arbitrary string might contain "%" characters, so
the routine might then fetch arbitrary junk and try to use it as, for
example, a string pointer.
svn path=/trunk/; revision=15775
calls to "tvb_get_ipv4()" and "tvb_get_ipv6()".
Fix a call in the BGP dissector to properly fetch an IEEE floating-point
number.
Update some I-D info.
svn path=/trunk/; revision=15774
with some unrelated changes; it got rid of some calls to get IPv4/IPv6
addresses and add them to the protocol tree, replacing them with
proto_tree_add_item() calls, and fixed up the length of one protocol
tree item.
Note that we have (at least) three count 'em three different routines
for dissecting/displaying NSAPs (there might be more - I might have
missed some), and suggest that we might want to reduce that to one.
Update the URL for ICP values for IPv{4,6} addresses inside NSAPs.
Fix the offset in the call to add the IPv6 address part of an NSAP
containing such an address, and the length in the call adding the DSP
for an NSAP containing an IPv4 address.
Fix up indentation a bit.
svn path=/trunk/; revision=15766
in addition, I had to implement fragment_get_reassembled() in addition to fragment_get(), which works with reassembled_table
svn path=/trunk/; revision=15762
and that extract IPv6 addresses into a "struct e_in6_addr", with
tvb_get_ipv4() and tvb_get_ipv6() calls - except for some that we
remove, by using proto_tree_add_item(), rather than replacing.
Have epan/tvbuff.h include epan/ipv6-utils.h, to define "struct
e_in6_addr" (not necessary to declare the tvbuff routines, but including
it there means "struct e_in6_addr" is guaranteed to be defined before
those declarations, so we don't get compiler complaints if we define it
*after* those declarations).
svn path=/trunk/; revision=15758
as connection oriented (cn) and connectionless (dg) DCE/RPC uses different ways to handle defragmentation and this function is only used for dg
svn path=/trunk/; revision=15757
Please see: http://wiki.ethereal.com/Development/ExpertInfo for a complete overview of the intended feature and it's current state of implementation.
While I'm working on this, I've also added some more status result codes to the DCE/RPC and DCOM dissectors.
svn path=/trunk/; revision=15754
IPv6 addresses. Use "tvb_get_ipv4()" in the WINS Replication dissector,
so that it gets the right answer on little-endian *AND* big-endian
machines.
svn path=/trunk/; revision=15753
negative value, so we reject the packet as "not SIP".
Add a "dissect_sip_tcp_heur()" that's heuristic - it'll return FALSE if
the first packet doesn't look like SIP, but once it's dissected one
packet it'll just treat subsequent SIP packets as continuations if they
don't look right.
Clean up indentation a bit.
svn path=/trunk/; revision=15752
reassemble.c:
I had to change the way the reassemble code works if the dissector is telling that more fragments *will* follow. In this case the reassemble code shouldn't try to reassemble already at that time ...
I've also changed the way if a fragment was already seen or not, as it's not enough to check for the frame number, in the scenario described above.
Unfortunately both changes *might* broke other protocols from reassemble properly. I've checked with excessive TCP desegmentation and it's still working without any changes :-)
packet-dcerpc.c:
use a tvb subset to limit the "end of bytes" processed in a single fragment dissect run, as each fragment has it's own DCE/RPC header (and isn't part of the stub data of the previous packet).
svn path=/trunk/; revision=15744
Camel: Fix an off-by-one error. Don't alloc and free where it's not
needed. Remove an unused variable.
PPP and K12: Fix memory leaks.
svn path=/trunk/; revision=15725
Attached is a patch to solve the CHOICE problem for review.
Problem was two-fold:
1) not passing original class/tag to sub-choice we had matched BER_CLASS_ANY
2) not handling a count==0 if we had matched BER_CLASS_ANY
The patch also includes a my constructed octet string fix again.
svn path=/trunk/; revision=15698
I attach my RTSE dissector (in tar file) which requires the included ROS dissector, as well as a patch to the latest pres.{cnf,asn}. The ROS dissector uses a new field in the SESSION_DATA_STRUCTURE to pass the ROS operation to the sub-dissector, though this is also set by other dissectors (RTSE uses it in X.410 mode).
Note that X.400 P1 in X.410 mode doesn't use ROS, so it is useful not to explicitly include ROS in my X411 dissector. However, the inclusion of a ROS dissector won't effect any dissectors that currently implement their own ROS.
I also include dissectors for:
X.411 (P1) X.400 OSI Message Transfer Service
X.420 (P22) X.400 OSI Information Object
STANAG 4406 (P772) STANAG 4406 Military Message Extensions (to P22)
These rely on the RTSE and ROS dissectors.
Withs some changes to remove various warnings and errors.
svn path=/trunk/; revision=15680
Basically the changes are:
a) [pres] make the find_oid_by_[pres_]ctx_id (I changed the name to make it more specific) non-static so it can be called from other dissectors (see acse.cnf changes). I also call it from RTSE and ROS dissectors
b) [acse] remove (#ifdef NOT_NEEDED) the oid lookup table and any reference to acse_handle - as these are no longer needed
c) [acse] register the acse dissector on 2.2.1.0.1
with some modifications: -#ifdef:ed code removed
- renamed aco -> pco
svn path=/trunk/; revision=15678
A PDU length routine called by tcp_dissect_pdus() should use the offset
passed to it as the offset of the beginning of the PDU.
In the heuristic GIOP dissector, if we're running over TCP, and accept
the packet, call "dissect_giop_tcp()" so that we handle multiple PDUs
within the segment or PDUs split across segments.
svn path=/trunk/; revision=15667
These small patches:
- add RTSP header 'RDTFeatureLevel as a proper field
- show feature level in RDT stream setup info
- tidy up RDT info column text
svn path=/trunk/; revision=15647