The FC D_id and S_id fields in teh FC frame encapsulated inside iFCP unfortunately has "undefined" (semi-random) values so we can not use th S_/D_id matching in FC when transported atop iFCP.
Change iFCP to call a new fc_ifcp handler instead of the fc handler.
Add a new handler to FC specific to iFCP.
Only set the pinfo->src/dst fields to the S_id/D_id fields IFF the FC frame was NOT transported ontop of iFCP.
Othervise we just use the TCP/IP values that are already stored there.
Some Hosts use RelativeOffset fields for FC. We can only dissect the RelOff field with offset 0.
Change FC to only call the FCP subdissector if offset==0 when relative offsets are used.
Some hosts when using relative offsets do not specify a proper value for rxid in teh commands instead htey lkeave it as 0xffff
Change the FCP conversation matching to ignore RXID when searching for a conversation.
svn path=/trunk/; revision=15076
- bug fixes to the dissectors for the GENERALIZED_UNI and
LABEL objects
- improved dissector of flag field for the ERROR object
- improved LABEL_SET object dissector
- support for the new (proposed) ASSOCIATION object (see
draft-ietf-ccamp-gmpls-recovery-e2e-signaling).
Moveover find also attached a patch to OSPF that fixes a line
of source code lost in the TNA TLV (the code compiled anyway).
svn path=/trunk/; revision=15066
Call "dissect_attribute_value_pairs()" regardless of whether we're
building a protocol tree, so the EAP subdissector is always called.
"dissect_attribute_value_pairs()" is only called when the length of AVPs
in the packet is non-zero; don't bother checking for a zero length.
Don't put two items in for each AVP - one is sufficient.
Add some more length checks when processing AVPs. Don't require AVPs to
be at least 3 bytes long - they might have just a type and length; let
an exception be thrown if that's a problem.
Don't require that the entire AVP be available in the tvbuff before
processing it; let an exception be thrown as we're processing the AVP if
we don't have all the data, so the stuff before the end is processed.
Give the tvbuff for the AVP data a length that reflects the length of
data left in the tvbuff, so that the appropriate exception is thrown if
the packet was cut short by a snapshot length.
Don't have a fixed-length buffer for reassembled EAP messages; grow it
as necessary.
Don't special-case the initial part of the processing of EAP messages;
put in the standard length item, as well as, for fragments, an item for
the fragment data.
Check for non-consecutive EAP-Message attributes.
Set the columns non-writable while dissecting the EAP message, so
Protocol and Info reflect the RADIUS packet.
Doing the reassembly by gluing together all the consecutive EAP-Message
attributes means we don't need help from the EAP dissector, returning
the total length of the EAP message. Get rid of the no-longer-needed
eap_fragment dissector; just call the regular EAP dissector.
svn path=/trunk/; revision=15046
(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
Use correct offsets to decode bssid in all cases:
Depending on the packet type the header contains
up to 4 addresses but may contain less. The position/
definition of the bssid changes as a result of this.
svn path=/trunk/; revision=15038
- use ep_alloc for reassemling eap fragments instead of a static buffer
- use ep_strdup_printf() instead of a static buffe to return the cosine's VP/VC AVP label
- add few TODO comments
svn path=/trunk/; revision=15028
Collapsed the control and data protocols into dissector to cope with commands and data over the same TCP connection. I've also prettified things a bit and now decoded a few more command parameters.
svn path=/trunk/; revision=15001
- Make sure every function that has an "add_string" argument, make sure
it isn't NULL before we write to it.
a null "add_string".
- Use "_U_" instead of "add_string = add_string" to squelch compiler
warnings.
- Fix other compiler warnings.
In packet-uma.c, pass NULL instead of "" for the add_string argument to
de_mid(). Fixes bug 287.
svn path=/trunk/; revision=14971
as FT_INT32 shows a negative number if appropriate.
Is there a better way to solve this?
Does this problem occur in other places too?
svn path=/trunk/; revision=14970
default, but the Cisco Redundant Link Management protocol can also use
that port; RLM packets are 8 bytes long, so we use this to distinguish
between them.
svn path=/trunk/; revision=14950
read the RADIUS directory.
The error string from "radius_load_dictionary()" is g_malloced; free it,
and g_strdup the "Could not find the radius directory" error, so we
don't have to worry about constant vs. g_malloced strings.
svn path=/trunk/; revision=14937
- asn2eth was updated to support new PER helper functions for SET/SEQUENCE OF
- #.FN_PARS implemented for SET/SEQUENCE OF and REAL
- PER SET/SEQUENCE OF field can be FT_UINTxx to display number of items
- PER dissectors regenerated
svn path=/trunk/; revision=14921
make dissect_dcerpc_uuid_t() accept eitehr FT_STRING (old style) and FT_GUID (new style) hf fields. once all dissectors are modified to use FT_GUID we can remove the FT_STRING support here.
regenerate the DRSUAPI interface with the new FT_GUID support.
svn path=/trunk/; revision=14912
A patch to the AIM dissector to support Client Auto Response messages. I still don't know the meaning of all the fields as they weren't all mapped but this patch decodes all the important ones.
svn path=/trunk/; revision=14911
files as not all make implementation work with this.
Found by running
grep '^ ' `find . -name "Makefile.am" -o -name "Makefile.common"`
Gerald: Maybe adding this to the buildbot would be a good idea after all.
svn path=/trunk/; revision=14904
returned quite a list of files. Add them to MAINTAINERCLEANFILES.
Whitespace changes (replace multiple spaces by TABs, in a few cases this
needed to be done at the beginning of Makefile lines.
svn path=/trunk/; revision=14891
calculate RTO as the delta between the retransmitted frame and the last previous frame seen for this session (in the same direction).
while this is technically not the RTO this delta is in most cases more important/useful than the tru RTO anyway since this measure represents the amount of thiime that the link went idle while waiting for an RTO.
It would be nice with a statistics tap for TCP where one couls see, seeion by session :
Length in time of the session.
Total bytes transferred
Number of retransmissions
Time spent waiting for an RTO
Time spent waiting for an RTO in % of the total time.
svn path=/trunk/; revision=14890
pointers either "void *" or "guint8 *", to reduce the level of compiler
warnings (the data in question is largely binary in those cases).
svn path=/trunk/; revision=14886
current signature ("class" is a "gint8 *", not a "guint8 *", and "tag"
is a "gint32 *", not a "guint32 *"). Re-generate the dissectors from
the ASN.1 and the .cnf files in the cases where the arguments were fixed
in a .cnf file.
Give some dissectors the right svn:keywords and svn:eol-style settings.
svn path=/trunk/; revision=14885
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
address an array of guint8 - that squelches some compiler warnings.
Use -1 rather than tvb_length(tvb) to make the item for LWAPP go to the
end of the tvbuff.
svn path=/trunk/; revision=14883
the handle, rather than finding it every time we need it.
Just make a guint8 array with the BitTorrent magic string length
followed by the string, and use "tvb_memeql()" to test against that - it
handles checking to make sure there's enough data in the tvbuff (if
not, it returns -1 as a "no match" indication) and then checks all of
the first 20 bytes in one operation.
Clean up white space.
svn path=/trunk/; revision=14882
hand.
Use "g_strdup()" rather than duplicating its functionality by hand.
Make the magic number an array of "guint8", as "tvb_memeql()" expects a
pointer to "guint8".
svn path=/trunk/; revision=14881
set but not used). (Leave "pi" around so the warning acts as a reminder
that the tap structure stuff needs a cleanup - currently, the tap
structures aren't freed; perhaps the new memory allocation scheme
proposed by Ronnie could be used for tap structures.)
Have "ac_istrace()" return NOT_ACTRACE for apparently non-actrace
packets and return the packet type for actrace packets, so that we don't
need a global variable for the packet type.
Make "actrace_udp_port" unsigned to squelch a signed vs. unsigned
warning.
Use "col_set_str()" rather than "col_add_str()" when setting the
Protocol column.
We don't recognized packets as CAS packets unless they're 48 bytes long,
so we don't need to test whether they're 48 bytes long in the CAS packet
dissection code.
Use the reported length, not the captured length, when doing length
checks.
svn path=/trunk/; revision=14874
- asn2eth: #.FN_PARS support for OCTET STRING
- usage of #.FN_PARS in h225 and h245
- h225: ParallelH245Control support
- h245: better support of NonStandardParameter
- usage of MAX_OID_STR_LEN constant
- all PER dissectors regenerated
svn path=/trunk/; revision=14844
contain more than 128 bytes of the original datagram. (Yes, RFC 1812
and the ICMP Extensions for MPLS draft collide here, as the draft in
question notes.)
svn path=/trunk/; revision=14834
the names in the v2, v3, and v4 specs for values, so that they display
correctly and can be filtered on correctly.
Have "nfs.status" as a hidden field, with a name table giving just "OK"
and "ERR_" values, and having items for v2, v3, and v4 status values
(the only collision is that the v3 JUKEBOX error is the v4 DELAY error),
so that filters on "nfs.status" will still work, but will now be able to
filter symbolically on values from v2, v3, and v4.
Show 33 status values in the Info column and the summary entry using the
table of v3 status values and names, not the table of v2 status values
and names.
Fix some v3 dissectors to use the v3 return status field rather than the
v2 return status field.
svn path=/trunk/; revision=14831
This is extremely useful, to keep track of the corresponding request/response packets of a DCE/RPC call (which can be quite a lot packets if fragmentation is used).
svn path=/trunk/; revision=14826
(semi-recent changes to asn2eth and PARAM handling makes us have to use double %% in some BODY statements)
at the same time, regenerate it so it also benefit from bugfixes to handling of indefinite length
svn path=/trunk/; revision=14823
the stuff that didn't fit as a negative number of junk bytes.
The difference between two pointers isn't guaranteed to have a
particular size; cast it to "long" and display it with "%ld".
svn path=/trunk/; revision=14821
also prettify the error when finding "unknown" entries inside a SEQUENCE to make it easier to track down what went wrong.
svn path=/trunk/; revision=14814
"get_dns_name_type_class()") is null-terminated - and the length
returned is *NOT* the length of the string, it's the length of the chunk
of DNS data extracted by "get_dns_name()", and that chunk could just
point to a later chunk as part of DNS compression. When running the
name through "format_text()", just use "strlen()" to get the length, so
you don't get a value that's too large *OR* too small (both are
possible - "too large" if it's uncompressed and includes length
informatioin, "too small" if it contains a pointer to a string longer
than the pointer).
When adding a string value to the protocol tree, add the *raw* name, not
the formatted name - the Ethereal display code will format the string's
value as necessary.
Add formatting code for DNS names in replies.
svn path=/trunk/; revision=14793
new dissector for the AudioCodes trunk trace protocol.
This protocol is used to debug the trunk protocol in AudioCodes
gateways. It currently supports ISDN PRI and CAS (MFCR2, WinkStart,
etc...) trunk protocols. It also add these protocols in the "Voip Calls
Graph..."
svn path=/trunk/; revision=14790
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
packet-diameter.c(856) : warning C4024: 'addVendor' : different types for formal and actual parameter 2
packet-diameter.c(857) : warning C4090: 'function' : different 'const' qualifiers
packet-diameter.c(857) : warning C4024: 'addVendor' : different types for formal and actual parameter 3
packet-diameter.c(863) : warning C4090: 'function' : different 'const' qualifiers
packet-diameter.c(863) : warning C4024: 'addCommand' : different types for formal and actual parameter 2
svn path=/trunk/; revision=14778
index of the branch taken or -1 to make prettifications easier to implement.
change the signature of dissect_ber_choice and rename it to dissect_ber_CHOICE to catch all
occurences of the use of this function
update asn2eth to use the new name/signature
update all occurences of this function to the new name and new signature.
svn path=/trunk/; revision=14758
it doesnt work really that well if we have opcode_type set to INVOKE from the previous packet and this new packet contains a ReturnResult.
svn path=/trunk/; revision=14733
1, start making indefinite length constructions actually work
2, when attempting to decode an unknown BER octet sequence, do not generate [malformed packet] just because the length does not make sense and might point outside the tvb. it might just be that there are implicit tags in the asn1 specification and that it is just impossible to decode the octet stream without knowledge of the asn.
svn path=/trunk/; revision=14728
this is useful since some bugs only trigger ia crash on some platforms.
example bug 255 which does not trigger a crash on linux redhat 7.1
svn path=/trunk/; revision=14727
and also from the CMIP and FTAM dissectors that tried to register against it.
Implement a workaround for the asn2eth bug (can not yet handle tagged assignments) to the conformance file and remove the warnings from the template file.
Since workaround is implemented in conformance file, make make copy_files install the dissector instead of printing a warning message.
svn path=/trunk/; revision=14725
fix bug251 and all other occurances where an oid string passed to packet_ber_object_identifier()
is not defined as foo[MAX_OID_STR_LEN]
svn path=/trunk/; revision=14720
In order to get filtering of conversations and
> endpoints to work from the endpoints and conversations windows I found
> it necessary to add a new AT_URI address type and a SAT_JXTA. This also
> necessitated a change to to_str.c to avoid a buffer overflow problem.
> Please review these changes carefully.
>
> Also includes some changes to the jxta dissector to fix filtering on
> generated fields and some changes to the types used for ints/unsigned ints.
>
> Fixes a bug with the processing of messages containing namespaces.
svn path=/trunk/; revision=14716
by iDEFENSE. Add constant format strings to proto_item_append_text()
in a bunch of other dissectors. Copy a comment from proto.c to proto.h.
svn path=/trunk/; revision=14713
remove the include <epan.asn1.h> from tcap since it no longer needs that file.
only 9 dissectors remain that use asn1.h
svn path=/trunk/; revision=14710
Note that the autogenerated dissector contains two bugs which i belive are asn2eth bugs.
This is why make copy_files does not work.
The comment at the top of the generated file explains which two changes one has to do manually after autogenerating the dissector, until asn2eth gets fixed.
svn path=/trunk/; revision=14699
Synergy is a cross platform software which enables to easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. Its listed on sourceforge (http://synergy2.sourceforge.net/).
svn path=/trunk/; revision=14689