Commit Graph

80 Commits

Author SHA1 Message Date
Guy Harris d4e29bafd6 From Michael Kopp: add some entries for Cisco VSA for SSG Communication
via Radius Packets.

svn path=/trunk/; revision=8023
2003-07-15 22:16:52 +00:00
Guy Harris 71fefcc0c4 From Adam Sulmicki: report the message type for accounting status
messages and accounting messages.

svn path=/trunk/; revision=7956
2003-07-01 03:59:11 +00:00
Guy Harris 569e74a1f3 When registering a string preference, if the value of the preference is
NULL, convert it to a copy of a null string, otherwise replace it with a
copy of the string, so that we know that the variable for the preference
always points to a string that can be freed.

That also obviates the need to worry about a null-pointer value for a
preference variable when checking to see whether a preference has changed.

When checking for a string preference not being set, check for an empty
string, not a null pointer - the above code turns null pointers into
pointers to empty strings, *and* the GUI code does (and always did!) the
same.

svn path=/trunk/; revision=7342
2003-03-11 22:51:52 +00:00
Guy Harris c2594e7429 Fetch the time stamp into a gint32, as it's known to be 32 bits, and let
the call to "abs_time_secs_to_str()" convert it to a "time_t".

svn path=/trunk/; revision=7134
2003-02-13 03:05:14 +00:00
Guy Harris 5795b17d48 Cast "timeval" to "long", and print it with "%ld", to handle "time_t"
being an "int" or a "long".

svn path=/trunk/; revision=7133
2003-02-13 02:47:50 +00:00
Guy Harris 6c99ee4db0 Make the argument to "abs_time_secs_to_str()" a "time_t" - it's in ANSI
C, and it's the right thing to pass to "localtime()".

svn path=/trunk/; revision=7125
2003-02-12 00:44:04 +00:00
Guy Harris 1ad3b70b4b Add a "abs_time_secs_to_str()" routine that takes a UNIX time-since-the-
epoch-in-seconds value and converts it to a string.

Use that routine in the RADIUS dissector, rather than using "ctime()"
and "tzname[]" - "tzname[]" strings might contain non-ASCII characters,
which currently give the GTK+ 1.3[.x] used on Windows, and also, I
think, GTK+ 2.x, heartburn, as they expect UTF-8, not, for example, ISO
8859/1.

Fix the string length in "abs_time_to_str()".

svn path=/trunk/; revision=7124
2003-02-11 19:42:38 +00:00
Guy Harris 7d46021720 Do the usual "isprint()" workaround for versions of GTK+ that assume
UTF-8 strings.

svn path=/trunk/; revision=7020
2003-01-28 16:31:03 +00:00
Guy Harris 020effa6d0 Clean up the code a bit:
don't initialize variables that are set elsewhere before they're
	used;

	don't call "tvb_get_ptr()" to set a variable if you're not going
	to use that variable;

	make the two character-processing loops have the same structure;

	put the result of the XORing into an unsigned character, so it
	can be handed to "isprint()" without running the risk of bogus
	behavior if the 8th bit is set.

svn path=/trunk/; revision=6796
2002-12-17 22:49:33 +00:00
Olivier Abad f883bb7443 Replace #include "md5.h" with "crypt-md5.h".
svn path=/trunk/; revision=6795
2002-12-17 22:14:54 +00:00
Gerald Combs 9c0d1cbfb7 From James Harris: Decrypt RADIUS user passwords.
The MD5 is copyrighted by L. Peter Deutsch, and released under the same
license as zlib.  It is GPL-compatible, and should NOT have the GPL
applied to it.

svn path=/trunk/; revision=6790
2002-12-17 04:05:25 +00:00
Guy Harris 59932f2722 Don't cast away constness, and fix variable and structure member
qualifiers as necessary to ensure that we don't have to.

"strcmp()", "strcasecmp()", and "memcmp()" don't return booleans; don't
test their results as if they did.

Use "guint8", not "guchar", for a pointer to (one or more) 8-bit bytes.

Update Michael Tuexen's e-mail address.

svn path=/trunk/; revision=6726
2002-12-02 23:43:30 +00:00
Jörg Mayer 7c4176d868 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=6117
2002-08-28 21:04:11 +00:00
Guy Harris 320621f2f4 From Flavio Poletti: handle 3GPP QoS in RADIUS messages.
svn path=/trunk/; revision=6091
2002-08-26 20:22:31 +00:00
Jörg Mayer 173fe5aef4 Replace the types from sys/types.h and netinet/in.h by their glib.h
equivalents for the toplevel directory. The removal of winsock2.h will
hopefully not cause any problems under MSVC++, as those files using
struct timeval still include wtap.h, which still includes winsock2.h.

svn path=/trunk/; revision=5932
2002-08-02 23:36:07 +00:00
Guy Harris cc00331455 From Kan Sasaki:
1. Add some VSAs.

	2. Modify the routines match_numval() and
	   rd_match_strval_attrib() to use a null string pointer, rather
	   than a 0 value, to signify the end of the attribute table,
	   because some vendors are using an attribute with a value of 0.

	3. Bug fix.

svn path=/trunk/; revision=5890
2002-07-17 01:02:45 +00:00
Guy Harris ffe5c2cbe9 From Thierry Pelle: Redback vendor-specific items for RADIUS and L2TP.
svn path=/trunk/; revision=5856
2002-07-10 20:55:45 +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
Guy Harris 5427c55fb4 Bug fix from Kan Sasaki.
svn path=/trunk/; revision=5539
2002-05-24 03:21:23 +00:00
Guy Harris ae185d3e9c Update from Kan Sasaki.
svn path=/trunk/; revision=5465
2002-05-14 10:40:25 +00:00
Guy Harris abfac9ae93 From Kan Sasaki: added some VSAs from the FreeRadius dictionary files
and other changes to RADIUS.

Export the Q.931 cause location and code values, and use them in the
RADIUS dissector for ACC cause codes and values.

Make "CHAP" all caps, as it should be, and use InterCaps in AppleTalk
(Apple does).

The CHAP Challenge is an octet string, not a text string - the
FreeRadius dictionary has an error there.

In "rdconvertinttostr()", if there's no value_string table, just print
the value numerically, don't call "rd_match_strval()".

Don't pass a null value_string pointer to "rd_match_strval_attrib()" -
just report the value, without attempting to find a string for it.

svn path=/trunk/; revision=5460
2002-05-14 09:24:27 +00:00
Guy Harris 0b22c885cb From Kan Sasaki:
1. merge '#define XXX', XXX_printinfo and XXX_attrib_type_vals
	   into XXX_attrib to make it easy to add new attributes.

	2. put decoded VSAs as sub item.

Update comments to reflect those changes.

svn path=/trunk/; revision=5455
2002-05-13 08:57:43 +00:00
Guy Harris 7181a4d327 From Kan Sasaki: VSA decoding and other changes to RADIUS.
svn path=/trunk/; revision=5416
2002-05-08 08:13:08 +00:00
Guy Harris 08b87db529 Note in comments that we should perhaps get all the information for
RADIUS attributes from files like the FreeRadius dictionary files,
rather than compiling them into the RADIUS dissector.

svn path=/trunk/; revision=5403
2002-05-06 00:58:28 +00:00
Guy Harris 87b92007d1 Fix a typo in a comment.
When displaying text strings, show escapes in octal (as is done C)
rather than decimal.

Display RADIUS_BINSTRING values as strings of hex digits rather than as
text strings.

Make some items that apparently *are* text strings RADIUS_STRING rather
than RADIUS_BINSTRING.

The return value of "rdconvertbufftostr()" is never used; get rid of it.

svn path=/trunk/; revision=5402
2002-05-06 00:49:19 +00:00
Guy Harris db31932941 From Joerg Mayer:
Declares some variables static.

	Creates a new include file packet-rsvp.h, and make use of it
	(change some extern decls to #inlcude).

	Move the file packet-pgm.h into packet-pgm.c as it is not used
	by anything outside packet-pgm.c.

svn path=/trunk/; revision=5162
2002-04-14 23:04:04 +00:00
Gilbert Ramirez 5c10ad55a8 More static-ization.
svn path=/trunk/; revision=5131
2002-04-08 20:30:56 +00:00
Guy Harris e22eb49cb0 Cisco updates from Adam Sulmicki.
svn path=/trunk/; revision=5029
2002-03-27 19:39:28 +00:00
Guy Harris 31cf9563c2 From Adam Sulmicki: enhanced Cisco support, Microsoft vendor ID, and
fixing a typo in a #define.

svn path=/trunk/; revision=5024
2002-03-27 02:37:14 +00:00
Guy Harris fb18dbe6f5 Attach to all frames containing LEAP messages an indication of the state
of the LEAP negotiation, so we can properly dissect the LEAP message
after the first pass through the packets.

For that to be computed correctly, EAP frames have to be dissected on
the first pass through the capture file, even if the protocol tree isn't
being generated; that means that RADIUS AVPs need to be dissected even
if the protocol tree isn't being generated.

svn path=/trunk/; revision=5004
2002-03-22 11:41:59 +00:00
Guy Harris 61130a5f65 Additional vendor (Issani) for Radius, and Issani VSA support for
Radius, from Jim Sienicki.

Put Jakob Schlyter into the contributors list in the Ethereal man page.

svn path=/trunk/; revision=5001
2002-03-22 02:38:54 +00:00
Guy Harris 193b8c9bfb Allow dissectors to be registered as "old-style" or "new-style"
dissectors.  "Old-style" dissectors return nothing.  "New-style"
dissectors return one of:

	a positive integer, giving the number of bytes worth of data in
	the tvbuff that it considered to be part of the PDU in the
	tvbuff;

	zero, if it didn't consider the data in the tvbuff to be a PDU
	for its protocol;

	a negative integer, giving the number of additional bytes worth
	of data in needs to get the complete PDU (for use with
	fragmentation/segmentation when the length of the PDU isn't
	known to the protocol atop the one the dissector is dissecting).

Have "call_dissector()" return the return value of new-style dissectors,
and the length of the tvbuff handed to it for old-style dissectors.

Have "dissector_try_port()" return FALSE if the subdissector is a
new-style dissector and returned 0.

Make the EAP dissector a new-style dissector, and have a "EAP fragment"
dissector that is also a new-style dissector and handles fragmentation
of EAP messages (as happens above, for example, RADIUS).  Also, clean up
some signed vs. unsigned comparison problems.

Reassemble EAP-Message AVPs in RADIUS.

svn path=/trunk/; revision=4811
2002-02-26 11:55:39 +00:00
Guy Harris 103fd1a681 Just put a full EAP tree under the EAP-message TLV; we will eventually
use that tree to stick fragment information when we reassemble
EAP-message fragments.

Fix up some "tvb_new_subset()" calls to set the actual length to the
minimum of the data left in the tvbuff and the length of the subset.

svn path=/trunk/; revision=4809
2002-02-26 00:51:41 +00:00
Guy Harris 5c18f33d5c Add an EAP dissector that doesn't create a top-level tree and doesn't
set the columns, for use with EAP payloads inside RADIUS packets.

From Adam Sulmicki: dissect SSL-encoded stuff inside EAP.

svn path=/trunk/; revision=4806
2002-02-25 23:28:32 +00:00
Guy Harris 8f0c96e3d2 Mark the columns non-writable before calling the EAP dissector, so the
frame is still marked as a RADIUS packet.

svn path=/trunk/; revision=4805
2002-02-25 22:33:13 +00:00
Guy Harris 135cc45809 Small fix from Adam Sulmicki to an off-by-2 problem.
svn path=/trunk/; revision=4804
2002-02-25 21:11:20 +00:00
Guy Harris c499cb2488 Typo fix, from Adam Sulmicki.
svn path=/trunk/; revision=4801
2002-02-25 07:13:28 +00:00
Guy Harris c786f129c0 From Adam Sulmicki: dissect EAP messages inside RADIUS.
svn path=/trunk/; revision=4786
2002-02-22 21:31:49 +00:00
Guy Harris d301d2cef4 From Adam Sulmicki: additional AVPs for RADIUS. and making
RD_TP_CONNECT_INFO a RADIUS_STRING rather than a RADIUS_STRING_TAGGED.

svn path=/trunk/; revision=4780
2002-02-22 09:57:04 +00:00
Guy Harris ee5ca25d31 Include files from the "epan" directory and subdirectories thereof with
"epan/..." pathnames, so as to avoid collisions with header files in any
of the directories in which we look (e.g., "proto.h", as some other
package has its own "proto.h" file which it installs in the top-level
include directory).

Don't add "-I" flags to search "epan", as that's no longer necessary
(and we want includes of "epan" headers to fail if the "epan/" is left
out, so that we don't re-introduce includes lacking "epan/").

svn path=/trunk/; revision=4586
2002-01-21 07:37:49 +00:00
Guy Harris 23319ff023 Move the pointer to the "column_info" structure in the "frame_data"
structure to the "packet_info" structure; only stuff that's permanently
stored with each frame should be in the "frame_data" structure, and the
"column_info" structure is not guaranteed to hold the column values for
that frame at all times - it was only in the "frame_data" structure so
that it could be passed to dissectors, and, as all dissectors are now
passed a pointer to a "packet_info" structure, it could just as well be
put in the "packet_info" structure.

That saves memory, by shrinking the "frame_data" structure (there's one
of those per frame), and also lets us clean up the code a bit.

svn path=/trunk/; revision=4370
2001-12-10 00:26:21 +00:00
Guy Harris bced8711f6 Make "dissector_add()", "dissector_delete()", and "dissector_change()"
take a dissector handle as an argument, rather than a pointer to a
dissector function and a protocol ID.  Associate dissector handles with
dissector table entries.

svn path=/trunk/; revision=4308
2001-12-03 04:00:26 +00:00
Guy Harris 45fac052dd Make the RADIUS dissector handle bogus AVPs (AVPs with a length less
than the size of the AVP header) a bit better.

svn path=/trunk/; revision=4203
2001-11-14 23:10:12 +00:00
Guy Harris 04147b7dcf Additional items for RADIUS tunnels, from Pavel Novotny.
svn path=/trunk/; revision=4064
2001-10-23 04:11:58 +00:00
Richard Sharpe ff50cff36d Damn the torpedos[1], commit it anyway.
Who said that? I think I know ... F...

svn path=/trunk/; revision=3987
2001-10-01 08:47:50 +00:00
Richard Sharpe c3c85e5426 Commit Montori Shindo's small patch.
svn path=/trunk/; revision=3978
2001-09-30 13:23:20 +00:00
Guy Harris 28c42a21ec Additional Ascend codes, and IETF codes, for Radius, from Graeme Hewson.
svn path=/trunk/; revision=3967
2001-09-28 18:50:19 +00:00
Guy Harris 4d5ab5490b Additional AVPs, and Event-Timestamp support, in RADIUS, from Terje
Krogdahl.

svn path=/trunk/; revision=3863
2001-08-21 18:56:15 +00:00
Guy Harris 4bb5c7d15e Don't list the attribute-value pairs if the length field of the packet
says there aren't any (i.e., if the length field minus the size of the
stuff before the AVP's is less than or equal to 0).

svn path=/trunk/; revision=3568
2001-06-18 09:31:15 +00:00
Guy Harris 8412393197 From Joerg Mayer: explicitly fill in all members of a
"header_field_info" structure, including the ones that are later set by
the routines to register fields.

svn path=/trunk/; revision=3561
2001-06-18 02:18:27 +00:00