Ethereal-dev: Re: [Ethereal-dev] Stuff: CGMP over EthernetII, IS-IS virtual path fix and di

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxx>
Date: Sat, 23 Mar 2002 13:38:45 -0800
On Sat, Mar 23, 2002 at 08:23:15PM +0200, Heikki Vatiainen wrote:
> The display filter problem occurs when trying to filter with
> names. For example "ip.addr == 130.230.52.1" works, but "ip.addr ==
> broker-gw" fails even if names are supported. The error message is
> "The string "-" was unexpected in this context." and comes from
> epan/dfilter/grammar.c.  Maybe someone can take a look at this?

The grammar doesn't allow hyphens in tokens that are

	1) field names

or

	2) non-quoted strings.

A "string" is any type of token other than parentheses (for grouping),
slashes (for CIDR address/net specifications), comparison operators,
Boolean operators, brackets and the stuff inside brackets for range
specifications, and other non-quoted tokens that match field names.

So in

	ip.addr == broker-gw

"broker-gw" is a non-quoted string, in which hyphens aren't allowed.

A workaround for that is to put the host name in quotes.

There is, unfortunately, no workaround for 1).

Gilbert, would it be possible to change the

	[[:alnum:]_.:]+

Flex specification for field name/non-quoted string tokens to

	[[:alnum:]_-.:]+

so that you *can* have hyphens in field names, IP addresses, and the
like, without breaking the lexical analyzer's handling of [N-M]-style
ranges?