Commit Graph

95 Commits

Author SHA1 Message Date
Bill Meier 44af6ef887 Fix some of the Errors/warnings detected by checkapi.
svn path=/trunk/; revision=25290
2008-05-14 01:47:41 +00:00
Luis Ontanon 906d2f3cbb http://www.wireshark.org/lists/wireshark-dev/200803/msg00308.html
proto.[hc]
    define new APIs to allow delayed registration of protocol fields,
	so that dissectors with "flexible" fields  like xml, radius, diameter,
	snmp do not have to load their files at startup but can do so as late as possible.

gtk/dfilter_expr_dlg.c :
	have the expression dialog registering all prefixes so that all fileds appear in the dialog

tshark.c
	register all prefixes when called with -G

epan/radius_dict.l
epan/dissectors/packet-radius.c
epan/dissectors/packet-radius.h
	refactor registration to delay dictionary loading as long as possible



svn path=/trunk/; revision=24762
2008-04-03 22:13:52 +00:00
Jörg Mayer a9e61881b9 Fix for http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2257
svn path=/trunk/; revision=24533
2008-03-03 18:07:47 +00:00
Stig Bjørlykke a2d1e9005d This patch adds support for configuration profiles, which can be used to
configure and use more than one set of preferences and configuration files.

This can be found in the "Configuration Profiles..." menu item from the Edit
menu, or by pressing Shift-Ctrl-A.  It's also possible to start wireshark
and tshark with a named profile by using the "-C ProfileName" option.
A new status pane in the main window will show the current profile.

The configuration files currently stored in the Profiles are:
- Preferences
- Capture Filters
- Display Filters
- Coloring Rules
- Disabled Protocols
- User Accessible Tables

The recent data are by design not added to the profile.

Planned future enhancements:
- make a more convenient function to switch between profiles
- add a "clone profile" button to copy an existing profile
- make the profiles list active and accept return as OK
- save users "Decode as" in the profile
- make new, clone and deletion of profiles more secure
- make some of the recent values available in the profile

This patch also fixes:
- setting default status pane sizes
- a bug setting status pane for packets when not having main lower pane.

svn path=/trunk/; revision=24089
2008-01-14 16:40:23 +00:00
Tomas Kukosa b19d4c9e42 use g_strconcat() which should be faster instead of g_strdup_printf()
svn path=/trunk/; revision=23681
2007-11-30 11:46:13 +00:00
Ronnie Sahlberg b8d35143d8 change dissect_radius() to become a new-style dissector that can reject
packets that doesnt look like valid radius.

verify that a packet is radius by checking that the command code is 
known and also that the length is between 20 and 4096 bytes

move the tap data to be ep_allocated instead of a static global variable

dont use tvb_memcpy() to read a structure off the wiredata
use tvb_get_...    to unmarshall the fields explicitely



this fixes bug 1634

svn path=/trunk/; revision=23039
2007-09-30 23:14:18 +00:00
Anders Broman b2b6df139c Fix bug
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1640 change "Change-Filter-Request (43)" to "CoA-Request (43)"

svn path=/trunk/; revision=22301
2007-07-13 20:00:38 +00:00
Guy Harris 5a43799a17 Use G_GINT64_MODIFIER, rather than the PRI[douxX]64 macros, for GLib
routines and routines using those routines.  GLib might use different
modifiers for 64-bit quantities than the platform's C library does.

svn path=/trunk/; revision=21990
2007-05-29 18:52:42 +00:00
Guy Harris 1d73cea470 Add a header that redefines g_array_index() to throw in a "void *" cast
to work around the "data" field of a GArray being a guint8 *, and
defines a g_array_data() macro to extract that field and cast it to void
*.

Use that header where needed.

svn path=/trunk/; revision=21627
2007-04-30 19:24:25 +00:00
Guy Harris 9772732adc The data in a GArray is guaranteed to be properly aligned; add a cast to
squelch compiler warnings.

svn path=/trunk/; revision=21617
2007-04-28 22:31:04 +00:00
Jeff Morriss 4d21c49929 Get rid of some more g_assert*()'s in the dissectors. There are a few
remaining that I'm not sure exactly what to do with at the moment:
the one in packet-frame probably should be there, the others probably
shouldn't but they also should never fail unless there's a compile or build
problem (AFAICS).


svn path=/trunk/; revision=21367
2007-04-10 14:48:06 +00:00
Ulf Lamping 7994794ad9 fix a lot more warnings
svn path=/trunk/; revision=21142
2007-03-23 01:29:52 +00:00
Gerald Combs 063621f11b Fix potential buffer overruns in address_to_str_buf() found by Andrej
Mikus.  Add a buf_len parameter to ip_to_str_buf(), and make sure it's 
enforced.  Copy the release notes over from the 0.99.5 trunk and add a
note about the ISUP dissector (which is affected by the overrun).

svn path=/trunk/; revision=20607
2007-01-29 20:25:26 +00:00
Gerald Combs 53689800e6 Move epan/crypt-md5.[ch] to epan/crypt. Remove
epan/crypt/airpdcap_md5.[ch].  Fix up whitespace.

svn path=/trunk/; revision=20277
2007-01-02 22:49:57 +00:00
Anders Broman d61e373bb4 As ponted out by Stig Bjørlykke change a whole bunch of dissector_handle_t to static.
svn path=/trunk/; revision=20062
2006-12-07 20:34:08 +00:00
Jörg Mayer dd26a7021b nikai@nikai.net:
Remaining fixes from:
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1225

svn path=/trunk/; revision=19895
2006-11-14 20:32:29 +00:00
Anders Broman c881dacb48 From Alejandro Vaquero:
For the Radius dissector to add statistics 
 in the "Service Response Time" menu and the tshark stats.

svn path=/trunk/; revision=19668
2006-10-24 05:21:00 +00:00
Martin Mathieson 26285e4b2f Make smrse & radius dissectors findable by name
svn path=/trunk/; revision=19157
2006-09-05 16:06:41 +00:00
Ulf Lamping 36d80b8c8b squelch some compiler warnings
svn path=/trunk/; revision=19052
2006-08-27 11:27:47 +00:00
Ronnie Sahlberg ff22d9d066 fix a tiny memory leak where wireshark would lose a few kb once upon startup if there was no radius directory
svn path=/trunk/; revision=18580
2006-06-27 12:12:31 +00:00
Ronnie Sahlberg feab79e328 change a whole bunch of ethereal into wireshark
svn path=/trunk/; revision=18196
2006-05-21 04:49:01 +00:00
Jörg Mayer 1900bf87fc done:
packet-ntp.c: Rather confused and incorrect use of g_snprintf return value
packet-pim.c: whitespace change
packet-icmpv6.c: g_snprintf takes trailing \0 into account, fix off by 1 error
packet-clnp.c: Fix incorrect use of g_snprintf return value
packet-isakmp.c: g_snprintf takes trailing \0 into account
packet-tr.c: Fix incorrect use of g_snprintf return value
packet-radius.c: Fix incorrect use of g_snprintf return value
packet-radius.h: constify a string variable
packet-ldap.c: The return value isn't needed, so don't use it incorrectly
packet-tcp.c: Fix incorrect use of g_snprintf return value
packet-windows-common.c: Remove unneeded DISSECTOR_ASSERT
packet-smb-sidsnooping.c: g_snprintf takes trailing \0 into account
packet-pvfs2.c: g_snprintf takes trailing \0 into account
packet-ptp.c: Remove #include snprintf
packet-ppp.c: Fix incorrect use of g_snprintf return value
packet-ospf.c: Fix incorrect use of g_snprintf return value
packet-mip6.c: snprintf -> g_snprintf
packet-bootp.c: Remove a commented out bad use of g_snprintf
packet-ber.c: snprintf -> g_snprintf, g_snprintf takes trailing \0 into account

2do:

     52 packet-ieee80211.c: 2DO
      2 packet-nfs.c: 2DO - too many side effects
     33 packet-bgp.c: 2DO
     18 packet-dns.c: 2DO
     14 packet-dcm.c: 2DO
     13 packet-x11.c: 2DO
     11 packet-kerberos.c: 2DO
     10 packet-diameter.c: 2DO
      9 packet-snmp.c: 2DO
      9 packet-pgm.c: 2DO
      7 packet-nbns.c: 2DO
      6 packet-fcswils.c: 2DO
      5 packet-wccp.c: 2DO
      5 packet-cops.c: 2DO
      4 packet-wtp.c: 2DO


svn path=/trunk/; revision=17038
2006-01-16 07:59:44 +00:00
Jörg Mayer f9a57f08d1 Bill Meier:
Spelling fixes.

svn path=/trunk/; revision=16956
2006-01-05 13:01:08 +00:00
Luis Ontanon 5ff580e14f From: Graeme Hewson
Decryption of the RADIUS User-Password attribute is currently broken.


svn path=/trunk/; revision=16920
2005-12-30 18:41:56 +00:00
Jörg Mayer 9575877bb7 packet-radius.c, packet-xml.c:
Fix a memory leak found by valgrind:
        Although dir isn't a directory it may still use memory

packet-xml.c:
        Reformat the relevant function in packet-xml.c to be readable on systems
        where a tab is 8 spaces.

svn path=/trunk/; revision=16865
2005-12-20 08:35:53 +00:00
Luis Ontanon 54695fec80 propperly initialize vendor->ett if the vendor is not found while radius_register_avp_dissector().
fixes bug 488.


svn path=/trunk/; revision=16064
2005-10-01 11:16:17 +00:00
Guy Harris 13c7fec8f5 Give more details about too-short AVPs, give up immediately for AVPs
shorter than 2 bytes, and make the item for an AVP with a length < 2 a
generated item.

Put the top-level item for an AVP into the tree the same way regardless
of whether it's Vendor-Specific or not, and skip past the type and
length right after that, before we check for Vendor-Specific.  (This
means we no longer treat "vendor ID = 0" as an indication that this
isn't Vendor-Specific - nothing prevents a packet from getting onto the
wire with a vendor ID of 0; this fixes bug 485.)

Don't require a Vendor-Specific AVP to be at least 6 bytes long; it
might not be particularly useful to have one that has a vendor ID and
nothing else, but we might as well dissect the vendor ID portion.

Do some other cleanups.

svn path=/trunk/; revision=16015
2005-09-27 00:03:45 +00:00
Guy Harris a997ee591b Add a new "ipxnet" type for the RADIUS dictionary, for IPX network
numbers.  (Currently, we don't have any dictionary entries with that
type, although we have an attribute with special code to handle it that
uses that type.)

Specially handle Framed-IP-Address, Login-IP-Host, and
Framed-IPX-Network, so that the special values are displayed specially.

Clean up indentation.

Don't specify a number base for IPv4 or IPv6 addresses; the number base
is ignored.

svn path=/trunk/; revision=16008
2005-09-26 08:48:19 +00:00
Luis Ontanon 35cfa4c11c test the avp_vsa_len not the avp_lenght!
svn path=/trunk/; revision=15999
2005-09-25 02:50:03 +00:00
Luis Ontanon 32c673552c Don't ASSERT if a VSA is too short, add an item reporting the error and leave.
svn path=/trunk/; revision=15998
2005-09-25 02:48:53 +00:00
Luis Ontanon 993e209b7f - There can be '/' in attribute names as well
- 140Kb of leaks less.


svn path=/trunk/; revision=15986
2005-09-24 15:07:38 +00:00
Ronnie Sahlberg 44fb2d3d56 Dont decrement the length by 2 if it is already less than two
since then the length will wrap and become +4G or so.

This fixes bug 479


svn path=/trunk/; revision=15982
2005-09-23 20:51:09 +00:00
Luis Ontanon fbc222f41a Change "Value" into "VSA" for Vendor SPecific Attributes
svn path=/trunk/; revision=15873
2005-09-19 19:36:32 +00:00
Luis Ontanon a6ff6fb97c - allow multiple attributes inside one VSA (fixes bug 438)
- preference to choose whether to add the AVP's payload length items
- preference to add an alternate UDP port


svn path=/trunk/; revision=15870
2005-09-19 17:42:02 +00:00
Guy Harris 973920e91d Convert some more "tvb_memcpy()"s fetching IPv4 and IPv6 addresses to
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
2005-09-13 00:50:43 +00:00
Ronnie Sahlberg 7ddc41a925 sprintf removal
svn path=/trunk/; revision=15556
2005-08-27 01:05:14 +00:00
Guy Harris e965cb849c Clean up some more const issues.
svn path=/trunk/; revision=15151
2005-07-30 02:22:22 +00:00
Guy Harris 66a2801dfa Use "PROTO_ITEM_SET_GENERATED()" to mark generated items as such; it
takes care of the square brackets, etc..

svn path=/trunk/; revision=15140
2005-07-29 07:28:07 +00:00
Gerald Combs de2803bc52 Don't add a new data source if we don't have any data.
svn path=/trunk/; revision=15089
2005-07-26 15:59:54 +00:00
Luis Ontanon caa15f2906 Get rid of a unused variable
svn path=/trunk/; revision=15065
2005-07-25 19:19:34 +00:00
Luis Ontanon 28de1cec4d Fix the IP address representation string (was inverted on little endians)
svn path=/trunk/; revision=15063
2005-07-25 19:03:57 +00:00
Gerald Combs 4d666be4b8 Break out of an infinite loop. Fixes bugs 296 and 297.
svn path=/trunk/; revision=15054
2005-07-25 15:43:38 +00:00
Guy Harris 255b302a82 Fix some typoes.
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
2005-07-24 20:39:19 +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
Luis Ontanon e9ec2c51aa - change the report_failure dialog for a less painful g_warning
- 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
2005-07-24 02:53:09 +00:00
Gerald Combs 210deaf2cd Tweak the previous fix.
svn path=/trunk/; revision=14947
2005-07-17 22:30:56 +00:00
Gerald Combs 141f8341af Make the recent RADIUS changes work on IA64.
svn path=/trunk/; revision=14946
2005-07-17 22:16:59 +00:00
Guy Harris 9859c05fbc Get rid of the newline between "radius:" and the error when trying to
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
2005-07-16 01:55:58 +00:00
Luis Ontanon 9c341a333d Radius Dictionary Support
Part 2: the code

svn path=/trunk/; revision=14925
2005-07-15 21:12:27 +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