netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH iproute2] tc/lexer: let quotes actually start strings
@ 2018-01-22 10:53 Wolfgang Bumiller
  2018-01-22 17:09 ` Stephen Hemminger
  2018-01-24 16:51 ` Stephen Hemminger
  0 siblings, 2 replies; 4+ messages in thread
From: Wolfgang Bumiller @ 2018-01-22 10:53 UTC (permalink / raw)
  To: netdev; +Cc: Stephen Hemminger

The lexer will go with the longest match, so previously
the starting double quotes of a string would be swallowed by
the [^ \t\r\n()]+ pattern leaving the user no way to
actually use strings with escape sequences.
Fix this by not allowing this case to start with double
quotes.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
---
(Resent as separate thread)
 tc/emp_ematch.l | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tc/emp_ematch.l b/tc/emp_ematch.l
index dc106759..d7a99304 100644
--- a/tc/emp_ematch.l
+++ b/tc/emp_ematch.l
@@ -137,7 +137,7 @@
 ")"					{
 						return yylval.i = *yytext;
 					}
-[^ \t\r\n()]+				{
+[^" \t\r\n()][^ \t\r\n()]*		{
 						yylval.b = bstr_alloc(yytext);
 						if (yylval.b == NULL)
 							return ERROR;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCH net+iproute2 0/2] nbyte, cmp and text filter fixups
@ 2018-01-18 10:32 Wolfgang Bumiller
  2018-01-18 10:32 ` [PATCH iproute2] tc/lexer: let quotes actually start strings Wolfgang Bumiller
  0 siblings, 1 reply; 4+ messages in thread
From: Wolfgang Bumiller @ 2018-01-18 10:32 UTC (permalink / raw)
  To: netdev
  Cc: Stephen Hemminger, Jamal Hadi Salim, Cong Wang, Jiri Pirko,
	David S . Miller

The iproute2 part allows the the actual use of the already existing
quoted string parsing.

The kernel side fixes an oob read in em_nbyte and allows 'layer 0' in
cmp and nbyte (and em_text whose existence surprised me given that I did
not see it exposed via iproute2) to actually match layer 0 rather than
being the same as specifying layer 1.

I seem to have stumbled upon a layer of dust (says git-blame).
Trying to match mac addresses I felt that the examples found online
using the 'u32' filter were rather inconvenient, particularly given
that there's the 'nbyte' filter around that could just memcmp the
entire a byte sequence at once.

Wolfgang Bumiller (1; 2):
  tc/lexer: let quotes actually start strings

 tc/emp_ematch.l | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

  net: sched: em_nbyte: don't add the data offset twice
  net_sched: fix TCF_LAYER_LINK case in tcf_get_base_ptr

 include/net/pkt_cls.h | 2 +-
 net/sched/em_nbyte.c  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
2.11.0

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-24 16:51 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-22 10:53 [PATCH iproute2] tc/lexer: let quotes actually start strings Wolfgang Bumiller
2018-01-22 17:09 ` Stephen Hemminger
2018-01-24 16:51 ` Stephen Hemminger
  -- strict thread matches above, loose matches on Subject: below --
2018-01-18 10:32 [PATCH net+iproute2 0/2] nbyte, cmp and text filter fixups Wolfgang Bumiller
2018-01-18 10:32 ` [PATCH iproute2] tc/lexer: let quotes actually start strings Wolfgang Bumiller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).