Commit Graph

41 Commits

Author SHA1 Message Date
Jeff Morriss 3729335973 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45016
2012-09-20 01:48:30 +00:00
Guy Harris 47cd41dbda Get rid of remaining Booleans-as-encoding-arguments in
proto_tree_add_item() calls.

For RADIUS, this means that, for string attributes that are encrypted,
we need separate fields for the encrypted and decrypted versions, the
former of which is an FT_BYTES (as its value is *NOT* a text string!)
and the latter of which is FT_STRING.

While we're at it:

	make some routines static that don't need to be exported;

	"encrypt=" takes a value between 1 and 3 - get the value from
	the dictionary and store it, and only do User-Password-style
	decryption for encrypt=1 attributes;

	rename "hf64" to "hf_alt", as it's a general "alternate field",
	used for 64-bit values for integral attributess, IPv6 addresses
	for "combo IP" attributes, and encrypted values for string
	fields;

	give the URL for the FreeRADIUS dictionary file format man page.

svn path=/trunk/; revision=42530
2012-05-10 01:01:18 +00:00
Jörg Mayer c15ff441c6 Replace deprecated glib functions.
In order to compile the whole project with -DG_DISABLE_DEPRECATED
the mate plugin needs to replace its usage of GMemChunk.
All other places should be clean.

svn path=/trunk/; revision=38392
2011-08-07 18:15:45 +00:00
Stig Bjørlykke 8443bbbf75 Replace all strerror() with g_strerror().
Remove our local strerror implementation.
Mark strerror as locale unsafe API.

This fixes bug 5715.

svn path=/trunk/; revision=37812
2011-06-28 09:00:11 +00:00
Bill Meier 024d0e2ac7 SVN #37419 fixed an OSX compile issue and reverted SVN #37408.
The actual cause of an OSX compile problem: The text   [^[:blank:]]   in a comment.

SVN #37408 was reverted because a period (or most other characters)
in a RE character class don't need to be escaped.

This patch adds some replacement text in the spot in the comment
originally occupied by the text    [^[:blank:]]


svn path=/trunk/; revision=37421
2011-05-27 02:25:20 +00:00
Bill Meier afbbb55212 Try a stab-in-the-dark to see if we can fix the OSX compile issue.
svn path=/trunk/; revision=37419
2011-05-27 01:33:24 +00:00
Jeff Morriss d8bdc80709 Escape the '.' in radius dictionary ATTRIBUTE names. This may fix the OSX-10.5 builds too.
svn path=/trunk/; revision=37408
2011-05-26 14:15:51 +00:00
Bill Meier 224206b1a3 Allow the character '.' in radius dictionary ATTRIBUTE names;
Fixes issue caused by dictionary.foundry having ATTRIBUTE names containing
 a '.' (e.g., Foundry-MAC-Authent-needs-802.1x).

So: Revert SVN #37386 which temporarily changed the '.' to '-'.

svn path=/trunk/; revision=37405
2011-05-26 02:59:25 +00:00
Guy Harris 1a52f126cd More fun with GArrays: cast away some warnings that don't report real
alignment problems and that wouldn't even happen if the "data" member of
a GArray were a "void *".

Clean up indentation.

svn path=/trunk/; revision=36854
2011-04-25 21:19:22 +00:00
Stephen Fisher 56d74752d1 Fix dead initialization error found by clang:
"Value stored to 's' during its initialization is never read"

(it's assigned by a later g_hash_table_lookup call)


svn path=/trunk/; revision=35983
2011-02-17 18:53:35 +00:00
Bill Meier 60e658e132 Radius: Additional attribute handling:
- implement "ether" attribute; 
 - parse "abinary" attribute [uses existing radius_abinary()]
Also: add a comment in packet-radius.h about the meaning of the encrypt flag.

svn path=/trunk/; revision=28952
2009-07-06 14:05:37 +00:00
Bill Meier d36f35f28b From: Tobias Witek: Fix processing of radius 'vendor specific attributes'
In the RADIUS dissector, the function radius_register_avp_dissector() registers
vendors that are not already present in the dictionary hash-table. As far as I
can see, there are two problems with this:

1. The function does not set the number of type/length octets and the has_flags
 variable for that AVP, which is required to correctly decode AVP/VSA values
2. In some situations, the function is called _before_ radius_load_dictionary()
is called (for example for the vendor 3GPP (ID: 10415))

Therefore, all vendor entries that are created by calling
radius_register_avp_dissector() leave their type_octets and length_octets un-initialized,
which causes incorrect decoding.

[Result: Radius dissector displays messages such as:
 "Malformed Packet: RADIUS" and "Error/Malformed: Malformed Packet(Exception occurred)"]

The attached patch fixes this problem by assuming that the dictionary knows the
'ground truth' about the type/length octet and the has_flags information and allows it to
overwrite these values even for vendors that have already been loaded.

Also: (from Bill Meier): set the type/length octet and the has_flags variables to default
"standard" values (1,1,FALSE) in radius_register_avp_dissector().

Fixes Bug #3651 (and Bug #3635).
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3651
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3635

svn path=/trunk/; revision=28937
2009-07-03 16:03:02 +00:00
Anders Broman 83d1303053 From Naoyoshi Ueda:
Radius dissector enhancement to support WiMAX vendor specific attributes.
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3176

svn path=/trunk/; revision=27937
2009-04-02 19:05:52 +00:00
Anders Broman 85b8227311 From Bjørn Mork:
Decode ipv6prefix attributes in packet-radius.

svn path=/trunk/; revision=27769
2009-03-18 07:31:35 +00:00
Anders Broman 11fbea953e From Florian Lohoff:
packet-radius.c - avp specific dissectors broken
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=2974

svn path=/trunk/; revision=27126
2008-12-29 15:16:41 +00:00
Jeff Morriss a5cee04fad Move the file utility functions from wiretap to libwsutil so that
libwireshark (and the plugins using those functions) do not depend on
wiretap on Windows.

While doing that, rename the eth_* functions to ws_*.

svn path=/trunk/; revision=25354
2008-05-22 15:46:27 +00:00
Bill Meier fe5c2d9820 g_string_sprintf --> g_string_printf and g_string_sprintfa --> g_string_append_printf
svn path=/trunk/; revision=25276
2008-05-11 18:33:49 +00:00
Bill Meier 2bce8b248c Bug 2493: Fix (Part 3 of 3):
To prevent Windows compiler errors when using flex 2.5.35.
  Ignore 'signed /unsigned mismatch' warnings


svn path=/trunk/; revision=25174
2008-04-25 18:26:54 +00:00
Bill Meier 0d4b874b44 Bug 2493: Fix (Part 2):
To prevent Windows compiler errors when using flex 2.5.35.
 Fixes "missing unistd.h" and yywrap "mismatched parameter" warnings
 [Upcoming Part 3: ignore 'signed /unsigned mismatch' errors]

svn path=/trunk/; revision=25173
2008-04-25 17:40:29 +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
Jeff Morriss 853e791444 Change more fopen() to eth_fopen() to finish fixing bug 1827:
http://bugs.wireshark.org/bugzilla/show_bug.cgi?id=1827

Update README.developer to tell developers not to use fopen() and friends
directly.

svn path=/trunk/; revision=23206
2007-10-16 15:43:18 +00:00
Guy Harris 5be4499ad1 Add a script as a front-end for Flex, to work around various problems,
such as the fact that Flex strips all but the last component of the "-o"
argument, and that it doesn't generate a header file to declare routines
the generated lexical analyzer defines.  Use that script when building
lexical analyzers, and, for each lexical analyzer, include the generated
header file in the generated analyzer.

svn path=/trunk/; revision=22446
2007-08-04 02:13:52 +00:00
Guy Harris 968d363f11 Add comments to various %option items to explain what they're doing.
Move the %options to the beginning if they weren't already there, and
put them in the same order in all files.

Add "prefix=" options to .l files that don't already have them, so we
don't have to pass a "-P" option.

Add "never-interactive" and "noyywrap" options to our lexical analyzers,
to remove extra isatty() checks and to eliminate the need for yywrap()
from the Flex library.

Get rid of %option nostdinit - that's the default.

Add .l.c: rules to Makefile.am files, replacing the rules for specific
.l files.  Have those rules all check that $(LEX) is set.

Update the address for the FSF.

svn path=/trunk/; revision=22424
2007-07-30 20:22:37 +00:00
Ulf Lamping 617b534399 fix warning: add WS_ prefix to OUT, it conflicts with a platform SDK header file
svn path=/trunk/; revision=21133
2007-03-22 23:32:31 +00:00
Ulf Lamping b323125a9c fix some more warnings
svn path=/trunk/; revision=21105
2007-03-22 00:49:06 +00:00
Guy Harris 3722c2687b Use G_DIR_SEPARATOR_S as the path separator.
svn path=/trunk/; revision=20260
2007-01-02 06:39:22 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Luis Ontanon fdb5257f7c Bug 796
the dictionary parser could not handle more than one attribute with parameters per file 


svn path=/trunk/; revision=17702
2006-03-23 00:57:56 +00:00
Gerald Combs 32e9ed7da9 Make sure we don't try to close an already-closed file.
svn path=/trunk/; revision=16863
2005-12-20 02:50:04 +00:00
Luis Ontanon 6124bdff49 Close the dictionary files after reading from them.
svn path=/trunk/; revision=16795
2005-12-14 09:50:11 +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 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
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
Ulf Lamping 03ea549ecc radius_dict.l(216) : warning C4090: 'function' : different 'const' qualifiers
radius_dict.l(216) : warning C4022: 'g_hash_table_insert' : pointer mismatch for actual parameter 2
radius_dict.l(268) : warning C4090: 'function' : different 'const' qualifiers
radius_dict.l(268) : warning C4022: 'g_free' : pointer mismatch for actual parameter 1

svn path=/trunk/; revision=15485
2005-08-20 22:08:35 +00:00
Jörg Mayer 69dcb66cd9 More char -> const char warning fixes
svn path=/trunk/; revision=15218
2005-08-05 00:23:22 +00:00
Jörg Mayer efdd4601ce Fix more "no previous declaration" warnings
svn path=/trunk/; revision=15171
2005-08-02 04:34:35 +00:00
Jörg Mayer af5a9d1845 As Guy mentioned: last patch replaced one occurrence too many,
thus the dictionary keyword encrypt was changed from encrypt
to encrypted too. Undo this.

svn path=/trunk/; revision=15121
2005-07-27 18:15:07 +00:00
Jörg Mayer 575c75e5c1 The variable encrypt collides with the declaration in <unistd.h> on
some platforms. Rename encrypt to encrypted.

svn path=/trunk/; revision=15120
2005-07-27 17:52:51 +00:00
Guy Harris 8e4007ef27 Throw in some casts to squelch warnings, at least with some compilers
(the values are const because nobody's supposed to modify them once
they've been allocated, but they *can* be freed - by us - when we're
done with them).

svn path=/trunk/; revision=14936
2005-07-16 01:33:22 +00:00
Luis Ontanon 910f6f94ac forgot to add the (c) notice
svn path=/trunk/; revision=14928
2005-07-15 21:41:47 +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