Ethereal-dev: Re: [ethereal-dev] Broken filters
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Sat, 5 Feb 2000 15:56:51 -0800
> The filter for LLC OUI or PID is broken. > When I try to select a OUI or a PID and run "Match selected", Ethereal > quits. > Then I tried the filter "llc.oui==0xc" and again the Ethereal exits. "Dumps core" is a more complete description than "quits".... Filtering on 24-bit fields such as the OUI in an LLC header was broken (as I discovered when filtering on that exact same condition); I've checked in a fix, and have attached the patch to this message.
Index: dfilter-grammar.y =================================================================== RCS file: /usr/local/cvsroot/ethereal/dfilter-grammar.y,v retrieving revision 1.37 retrieving revision 1.38 diff -c -r1.37 -r1.38 *** dfilter-grammar.y 1999/11/15 06:32:11 1.37 --- dfilter-grammar.y 2000/02/05 06:07:16 1.38 *************** *** 144,152 **** --- 144,154 ---- %token <variable> T_FT_UINT8 %token <variable> T_FT_UINT16 + %token <variable> T_FT_UINT24 %token <variable> T_FT_UINT32 %token <variable> T_FT_INT8 %token <variable> T_FT_INT16 + %token <variable> T_FT_INT24 %token <variable> T_FT_INT32 %token <variable> T_FT_ETHER %token <variable> T_FT_IPv4 *************** *** 490,498 **** --- 492,502 ---- numeric_variable: T_FT_UINT8 { $$ = dfilter_mknode_numeric_variable($1.id); } | T_FT_UINT16 { $$ = dfilter_mknode_numeric_variable($1.id); } + | T_FT_UINT24 { $$ = dfilter_mknode_numeric_variable($1.id); } | T_FT_UINT32 { $$ = dfilter_mknode_numeric_variable($1.id); } | T_FT_INT8 { $$ = dfilter_mknode_numeric_variable($1.id); } | T_FT_INT16 { $$ = dfilter_mknode_numeric_variable($1.id); } + | T_FT_INT24 { $$ = dfilter_mknode_numeric_variable($1.id); } | T_FT_INT32 { $$ = dfilter_mknode_numeric_variable($1.id); } ; *************** *** 536,544 **** --- 540,550 ---- any_variable_type: T_FT_UINT8 { $$ = $1; } | T_FT_UINT16 { $$ = $1; } + | T_FT_UINT24 { $$ = $1; } | T_FT_UINT32 { $$ = $1; } | T_FT_INT8 { $$ = $1; } | T_FT_INT16 { $$ = $1; } + | T_FT_INT24 { $$ = $1; } | T_FT_INT32 { $$ = $1; } | T_FT_DOUBLE { $$ = $1; } | T_FT_ETHER { $$ = $1; } Index: dfilter-scanner.l =================================================================== RCS file: /usr/local/cvsroot/ethereal/dfilter-scanner.l,v retrieving revision 1.27 retrieving revision 1.28 diff -c -r1.27 -r1.28 *** dfilter-scanner.l 2000/01/10 17:32:50 1.27 --- dfilter-scanner.l 2000/02/05 06:07:16 1.28 *************** *** 194,199 **** --- 194,202 ---- case FT_UINT16: retval = T_FT_UINT16; break; + case FT_UINT24: + retval = T_FT_UINT24; + break; case FT_UINT32: retval = T_FT_UINT32; break; *************** *** 202,207 **** --- 205,213 ---- break; case FT_INT16: retval = T_FT_INT16; + break; + case FT_INT24: + retval = T_FT_INT24; break; case FT_INT32: retval = T_FT_INT32;
- References:
- [ethereal-dev] Broken filters
- From: Paul Ionescu
- [ethereal-dev] Broken filters
- Prev by Date: [ethereal-dev] Protocol Inspector
- Next by Date: Re: [ethereal-dev] X25 over ethernet
- Previous by thread: [ethereal-dev] Broken filters
- Next by thread: [ethereal-dev] X25 over ethernet
- Index(es):