Commit Graph

1033 Commits

Author SHA1 Message Date
Gilbert Ramirez 95d752b466 Fixed the checking of the return value from file_gets() (fgets()).
svn path=/trunk/; revision=1053
1999-11-18 07:04:29 +00:00
Guy Harris 781acb5043 Craig Rodrigues' fixes to let it compile on AIX using IBM's compiler
(remove commas following the last member of an enum, make all bit fields
"guint32" - GCC lets you get away with that, but at least some other
compilers don't).

svn path=/trunk/; revision=1052
1999-11-18 01:45:05 +00:00
Gilbert Ramirez e53420230c Add packet-bgp.h to the list of deliverables.
svn path=/trunk/; revision=1051
1999-11-17 23:31:22 +00:00
Guy Harris 4fddc1f328 Provide a general mechanism by which dissectors can register "init"
routines, which are called before a dissection pass is made over all the
packets in a capture - the "init" routine would clear out any state
information that needs to be initialized before such a dissection pass.

Make the NCP, SMB, AFS, and ONC RPC dissectors register their "init"
routines with that mechanism, have the code that reads in a capture file
call the routine that calls all registered "init" routines rather than
calling a wired-in set of "init" routines, and also have the code that
runs a filtering or colorizing pass over all the packets call that
routine, as a filtering or colorizing pass is a dissection pass.

Have the ONC RPC "init" routine zero out the table of RPC calls, so that
it completely erases any state from the previous dissection pass (so
that, for example, if you run a filtering pass, it doesn't mark any
non-duplicate packets as duplicates because it remembers them from the
previous pass).

svn path=/trunk/; revision=1050
1999-11-17 21:58:33 +00:00
Guy Harris cd478752a1 Typo fixes, and fix to bug wherein when Ethereal sees a Network-LSA it
does not stop dissecting the LSA until it hits the end of the packet,
from Heikki Vatiainen.

svn path=/trunk/; revision=1049
1999-11-17 19:07:10 +00:00
Guy Harris 2937a86a62 Add some comment based on some spelunking done in some capture files,
and on a comment that "libpcap"/BPF on AIX appears to return 6 as the
network type for an Ethernet device - the BSD IFT_ETHER is 6.

svn path=/trunk/; revision=1048
1999-11-17 07:50:33 +00:00
Guy Harris cffca60b03 Print unsigned quantities with "%u", not "%d".
Use "plurality()" to pluralize byte counts.

svn path=/trunk/; revision=1047
1999-11-17 06:52:19 +00:00
Guy Harris b68f2dde89 Heikki Vatiainen's SAP (Session Announcement Protocol) dissector.
Rename the dissector for the Netware SAP protocol to "dissect_ipxsap()",
so as to keep its name from colliding with that of the dissector for the
Session Announcement Protocol.

svn path=/trunk/; revision=1046
1999-11-17 02:17:29 +00:00
Guy Harris d04da40cba Typo fix, from Heikki Vatiainen.
svn path=/trunk/; revision=1045
1999-11-17 01:35:57 +00:00
Gilbert Ramirez 36eabe2100 We should be checking the value of loc_of_slash instead of index. It
might be NULL from strchr().

svn path=/trunk/; revision=1044
1999-11-16 17:03:36 +00:00
Guy Harris a7aba0a288 Replace the ETT_ "enum" members, declared in "packet.h", with
dynamically-assigned "ett_" integer values, assigned by
"proto_register_subtree_array()"; this:

	obviates the need to update "packet.h" whenever you add a new
	subtree type - you only have to add a call to
	"proto_register_subtree_array()" to a "register" routine and an
	array of pointers to "ett_", if they're not already there, and
	add a pointer to the new "ett_" variable to the array, if they
	are there;

	would allow run-time-loaded dissectors to allocate subtree types
	when they're loaded.

svn path=/trunk/; revision=1043
1999-11-16 11:44:20 +00:00
Guy Harris 3a2f7f641a "gtk_object_get_data()" returns a pointer, so its return value shouldn't
be cast to a "gint" if that "gint" value is then going to be assigned to
a pointer.

svn path=/trunk/; revision=1042
1999-11-16 08:00:20 +00:00
Richard Sharpe e351b687e4 I hope no one just committed something on this.
There was a core dump because of a coding oversight.  Should be fixed
now Gilbert.

Should now handle names of form \<somepipe>

Will screw up if there is no leading slash, but in a non-fatal way, I
think.

svn path=/trunk/; revision=1041
1999-11-16 07:58:12 +00:00
Guy Harris cd708a6155 Remove an "#if 0"-ed out chunk of code that was supposed to cause the
hex window to scroll so that the data in the currently-selected field is
visible, but merely revealed core-dumping bugs in GTK+.

svn path=/trunk/; revision=1040
1999-11-16 06:59:17 +00:00
Gilbert Ramirez 7ae788f94d Don't store both "start" and "length" in each GUI proto_tree item. Just
store the field_info pointer, from which we can get both "start" and
"length" (and "hfinfo" and "value", which I'm working towards, so that
match_selected, or a new function, and create a display filter based on
the field's name, instead of byte offset ).

svn path=/trunk/; revision=1039
1999-11-15 22:52:03 +00:00
Nathan Neulinger 06f0344358 added sap types, netbios name types, ipx socket names
svn path=/trunk/; revision=1038
1999-11-15 21:33:57 +00:00
Nathan Neulinger 498cde407a Got rid of dissect_rpc_string routine, renamed dissect_rpc_string_item to
dissect_rpc_string. Replaced only instance of this routine being called.

Added display filtering to rpc dissector. Replaced most instances of
proto_tree_add_text with proto_tree_add_item.

Added program version and procedure to the program tree in addition to it
being in the RPC tree.

svn path=/trunk/; revision=1037
1999-11-15 17:16:51 +00:00
Nathan Neulinger bde3be6fc6 start of display filters and fix for toupper prototype
svn path=/trunk/; revision=1036
1999-11-15 14:57:38 +00:00
Nathan Neulinger 64ed7bcc3c Fixed rpc dissector to upcase program name.
Fixed nfs and nlm to use a lowercase protocol name so filtering will work.

svn path=/trunk/; revision=1035
1999-11-15 14:32:16 +00:00
Nathan Neulinger b72c0d1f60 Uwe Girlich's patches for nfs,mount,portmap and addition of nlm.
svn path=/trunk/; revision=1034
1999-11-15 14:17:20 +00:00
Guy Harris e1ef668523 We have to include <sys/types.h> before including <netinet/in.h> on some
platforms, e.g. FreeBSD.

svn path=/trunk/; revision=1033
1999-11-15 07:25:31 +00:00
Gilbert Ramirez 6a20c7bbc5 Add "class" that understands IPv4 addresses and subnet masks.
We now store IPv4 addresses in host order, allowing non-equivalence
comparisons. That is, display filters with lt, le, gt, and ge will work
on big-endian and little-endian machines.

CIDR notation is now supported for IPv4 addresses in display filters.
You can test to see if an IPv4 address is on a certain subnet by using
this notation. For example, to test for IPv4 packets on a Class-C network:

	ip.addr == 192.168.1.0/24

svn path=/trunk/; revision=1032
1999-11-15 06:32:38 +00:00
Guy Harris 1fca132c59 For ONC RPC, when constructing conversations, use a null address as the
destination address for calls and the source address of the reply - we
should't require the server address to be the same for a call and reply,
as they may not be on a multi-homed server (clients presumably check the
XID only, or perhaps the XID and the port whence the reply came,
although with TI-RPC I don't think they can check the port without
checking the address as well).

This requires that the conversation code not assume that the source and
destination addresses for a given packet in a conversation have the same
type, so, when comparing addresses for equality, it must explicitly
check the address types.

In said code, also check the port numbers before we check the addresses
- testing ports is cheaper, as they're just integers, and there's
probably a decent chance that you won't see two conversations between
different pairs of hosts and the *same* pair of ports in a capture file,
so the cheaper port tests are probably decently likely to fail first.

svn path=/trunk/; revision=1031
1999-11-14 21:16:58 +00:00
Guy Harris 1f31ab9cbb Move the test to see if something looks like an ONC RPC request or reply
into "dissect_rpc()" itself; it returns TRUE if it is, FALSE if it
isn't.

svn path=/trunk/; revision=1030
1999-11-14 20:44:52 +00:00
Guy Harris 7d5804a822 Set "conversation_keys" to NULL after destroying the list of
conversation keys.

svn path=/trunk/; revision=1029
1999-11-14 19:56:32 +00:00
Laurent Deniel 56cfe0557a Add display filters.
svn path=/trunk/; revision=1028
1999-11-14 10:48:17 +00:00
Laurent Deniel 095afe43df Add display filters.
svn path=/trunk/; revision=1027
1999-11-14 10:32:26 +00:00
Laurent Deniel e4ca79b93f Add display filters.
svn path=/trunk/; revision=1026
1999-11-14 10:16:25 +00:00
Richard Sharpe cfdb8fdc2c OK,
much more complete decoding of browse messages.

They are now shown in the parent tree as well.

I still have problems with:

  1. Times
  2. Election criteral

I also haven't been able to see a BecomeBackup request, nor a
GetBackupListResp with more than one browser ... Should run a Windows NT
server or another Samba on my network.

I am also not sure of there are any more message types.  Damn! Old, and
wrong MS documents!

svn path=/trunk/; revision=1025
1999-11-14 06:54:42 +00:00
Richard Sharpe baadd1b3d7 Fixed some more small problems and added support for decoding
MS Windows Browser messages.  Can decode host announcements now.

Still need to decode more.  Also need to break the new code out.


I also have the Browse tree at the wrong location.  Can I get at the
parent of the tree somewhere, or do I have to pass it in as a variable?

svn path=/trunk/; revision=1024
1999-11-14 02:42:03 +00:00
Guy Harris fa2e49f503 Dissect a whole pile of Q.931 information elements.
svn path=/trunk/; revision=1023
1999-11-13 10:13:24 +00:00
Gilbert Ramirez cf3fb06306 Add ETT_Q931_IE
svn path=/trunk/; revision=1022
1999-11-13 04:06:10 +00:00
Guy Harris 172d11b138 A few cause codes more (cue Ennio Morricone).
svn path=/trunk/; revision=1021
1999-11-13 02:07:59 +00:00
Guy Harris 6b82439020 Add initial support for decoding information elements.
svn path=/trunk/; revision=1020
1999-11-13 01:32:31 +00:00
Guy Harris dc8eb00e4d Add support for HINFO records.
svn path=/trunk/; revision=1019
1999-11-12 22:43:32 +00:00
Nathan Neulinger 835b263c48 enhancements to ypserv dissector
svn path=/trunk/; revision=1018
1999-11-12 15:12:23 +00:00
Nathan Neulinger 08c2eb6642 added minimalist MAPI dissector - only determines request/reply
svn path=/trunk/; revision=1017
1999-11-11 23:13:43 +00:00
Nathan Neulinger 59bffe6e97 Added mount dissector.
Added stat dissector.
Enhancements to portmap dissector.
Added rpc_prog_name function to packet-rpc to retrieve the name of an
        rpc program. This should likely eventually be modified to use the
        /etc/rpc or rpc.bynumber NIS maps in addition to the programs that
        are registered within ethereal.

svn path=/trunk/; revision=1016
1999-11-11 21:22:00 +00:00
Jun-ichiro itojun Hagino 1d554ab6c9 bgp improvements.
- a few more tree types
- RFC1771 NLRI printed on advertisements
- AS_PATH parsing
- lots of small cleanup on printing "byte" vs "bytes"

From: Greg Hankins <gregh@cc.gatech.edu>

svn path=/trunk/; revision=1015
1999-11-11 21:08:52 +00:00
Guy Harris 4020918fa4 The conversation comparison code should, if *any* of the tests that
check whether the two packets are going in the same direction in the
same conversation fails, check whether the two packets are going in
opposite directions in the same conversation.

svn path=/trunk/; revision=1014
1999-11-11 20:44:14 +00:00
Nathan Neulinger 119a787b88 Additions to bootparams, portmap, and ypserv dissectors
svn path=/trunk/; revision=1013
1999-11-11 20:18:46 +00:00
Gilbert Ramirez 56b9fc4861 Remove potential for a bad toshiba trace file to overflow a fixed char[]
buffer in sscanf call.

svn path=/trunk/; revision=1012
1999-11-11 19:19:17 +00:00
Nathan Neulinger 6043b610ed Expanded bootparams dissector to handle decoding getfile calls and replies.
Added proto_registrar_get_name routine to proto.c to retrieve the name
	of particular proto_tree field.
Added dissect_rpc_string_item to packet-rpc.c. This routine does the same
	thing as dissect_rpc_string, except it takes a hfindex of a
	proto_tree item instead of a name. It uses the p_r_get_name call
	to get the name, and adds the actual string content as a hidden
	field (so that the subtree highlights the entire data area - length,
	data, and padding). There is only one call to dissect_rpc_string, so
	I believe that this routine should replace it.

svn path=/trunk/; revision=1011
1999-11-11 16:20:25 +00:00
Richard Sharpe 76710fcc54 Some general fixups and some fixes for protocol decode problems
exposed by Win2000 interacting with a Samba server ...

svn path=/trunk/; revision=1010
1999-11-11 13:56:58 +00:00
Guy Harris 8835700b89 Support all lengths of call reference value (1 to 15 octets).
svn path=/trunk/; revision=1009
1999-11-11 10:17:29 +00:00
Guy Harris f2b8eb42d0 Change my e-mail address to the forwarding address my *alma mater*
provides.  "Every problem in computer science can be solved by adding a
layer of indirection."

svn path=/trunk/; revision=1008
1999-11-11 08:45:34 +00:00
Guy Harris 6c10717158 Add #defines for bits in the LAPD address field and for the LAPD SAPI
values.

Dissect the LAPD payload, if present.

Add the beginnings of a Q.931 dissector.

svn path=/trunk/; revision=1007
1999-11-11 08:35:11 +00:00
Guy Harris 80d5d4bf7e "XDLC_CONTROL_LEN()" actually returned the length of the entire xDLC
header, under the assumption that the address field was two octets.

It should return the length of the *control* field, and leave it up to
its caller to add in the length of the address field.  (The address
field appears to be one byte in SNA, not two bytes.)

svn path=/trunk/; revision=1006
1999-11-11 08:04:06 +00:00
Gilbert Ramirez 3a64f9c655 Remove unnecessary file_seek per packet, speeding up loading of a
gzipped toshiba file.

svn path=/trunk/; revision=1005
1999-11-11 06:29:59 +00:00
Gilbert Ramirez 4ec9c54b4b Add LAPD support.
svn path=/trunk/; revision=1004
1999-11-11 05:36:16 +00:00