summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAna Rey <anarey@gmail.com>2014-01-15 07:42:28 +0000
committerPatrick McHardy <kaber@trash.net>2014-01-15 07:42:28 +0000
commit6a69a383143da57143fe42f786adfd1e804dd784 (patch)
treeb5b65633c7193177705af2ee0634b7457bc666e9
parent25e195a561854f983c0696c7fe8c4a65bec7475b (diff)
nft: scanner: fixed problem with ipv6 address
There is a problem with the follow ipv6 address combination: nft add rule ip6 t_ip61 filter-input ip6 saddr ::1234:1234:1234:1234:1234:1234:1234 1234::1234:1234:1234:1234:1234:1234 1234:1234::1234:1234:1234:1234:1234 1234:1234:1234::1234:1234:1234:1234 1234:1234:1234:1234::1234:1234:1234 1234:1234:1234:1234:1234::1234:1234 ::1234:1234:1234:1234:1234:1234 1234::1234:1234:1234:1234:1234 1234:1234::1234:1234:1234:1234 1234:1234:1234::1234:1234:1234 1234:1234:1234:1234::1234:1234 ::1234:1234:1234:1234:1234 1234::1234:1234:1234:1234 1234:1234::1234:1234:1234 1234:1234:1234::1234:1234 ::1234:1234:1234:1234 1234::1234:1234:1234 1234:1234::1234:1234 ::1234:1234:1234 1234::1234:1234 The problem was in the scanner (src/scanner.l). Several brackets were missed and the result was an incorrect interpretation. Fix it by adding some brackets in a regular expression in src/scanner.l Signed-off-by: Ana Rey <anarey@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
-rw-r--r--src/scanner.l50
1 files changed, 25 insertions, 25 deletions
diff --git a/src/scanner.l b/src/scanner.l
index ee714923..345b1314 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -118,43 +118,43 @@ slash \/
hex4 ([[:xdigit:]]{1,4})
v680 (({hex4}:){7}{hex4})
-v670 ((:)(:{hex4}{7}))
-v671 ((({hex4}:){1})(:{hex4}{6}))
-v672 ((({hex4}:){2})(:{hex4}{5}))
-v673 ((({hex4}:){3})(:{hex4}{4}))
-v674 ((({hex4}:){4})(:{hex4}{3}))
-v675 ((({hex4}:){5})(:{hex4}{2}))
+v670 ((:)((:{hex4}){7}))
+v671 ((({hex4}:){1})((:{hex4}){6}))
+v672 ((({hex4}:){2})((:{hex4}){5}))
+v673 ((({hex4}:){3})((:{hex4}){4}))
+v674 ((({hex4}:){4})((:{hex4}){3}))
+v675 ((({hex4}:){5})((:{hex4}){2}))
v676 ((({hex4}:){6})(:{hex4}{1}))
v677 ((({hex4}:){7})(:))
v67 ({v670}|{v671}|{v672}|{v673}|{v674}|{v675}|{v676}|{v677})
-v660 ((:)(:{hex4}{6}))
-v661 ((({hex4}:){1})(:{hex4}{5}))
-v662 ((({hex4}:){2})(:{hex4}{4}))
-v663 ((({hex4}:){3})(:{hex4}{3}))
-v664 ((({hex4}:){4})(:{hex4}{2}))
-v665 ((({hex4}:){5})(:{hex4}{1}))
+v660 ((:)((:{hex4}){6}))
+v661 ((({hex4}:){1})((:{hex4}){5}))
+v662 ((({hex4}:){2})((:{hex4}){4}))
+v663 ((({hex4}:){3})((:{hex4}){3}))
+v664 ((({hex4}:){4})((:{hex4}){2}))
+v665 ((({hex4}:){5})((:{hex4}){1}))
v666 ((({hex4}:){6})(:))
v66 ({v660}|{v661}|{v662}|{v663}|{v664}|{v665}|{v666})
-v650 ((:)(:{hex4}{5}))
-v651 ((({hex4}:){1})(:{hex4}{4}))
-v652 ((({hex4}:){2})(:{hex4}{3}))
-v653 ((({hex4}:){3})(:{hex4}{2}))
+v650 ((:)((:{hex4}){5}))
+v651 ((({hex4}:){1})((:{hex4}){4}))
+v652 ((({hex4}:){2})((:{hex4}){3}))
+v653 ((({hex4}:){3})((:{hex4}){2}))
v654 ((({hex4}:){4})(:{hex4}{1}))
v655 ((({hex4}:){5})(:))
v65 ({v650}|{v651}|{v652}|{v653}|{v654}|{v655})
-v640 ((:)(:{hex4}{4}))
-v641 ((({hex4}:){1})(:{hex4}{3}))
-v642 ((({hex4}:){2})(:{hex4}{2}))
-v643 ((({hex4}:){3})(:{hex4}{1}))
+v640 ((:)((:{hex4}){4}))
+v641 ((({hex4}:){1})((:{hex4}){3}))
+v642 ((({hex4}:){2})((:{hex4}){2}))
+v643 ((({hex4}:){3})((:{hex4}){1}))
v644 ((({hex4}:){4})(:))
v64 ({v640}|{v641}|{v642}|{v643}|{v644})
-v630 ((:)(:{hex4}{3}))
-v631 ((({hex4}:){1})(:{hex4}{2}))
-v632 ((({hex4}:){2})(:{hex4}{1}))
+v630 ((:)((:{hex4}){3}))
+v631 ((({hex4}:){1})((:{hex4}){2}))
+v632 ((({hex4}:){2})((:{hex4}){1}))
v633 ((({hex4}:){3})(:))
v63 ({v630}|{v631}|{v632}|{v633})
-v620 ((:)(:{hex4}{2}))
-v621 ((({hex4}:){1})(:{hex4}{1}))
+v620 ((:)((:{hex4}){2}))
+v621 ((({hex4}:){1})((:{hex4}){1}))
v622 ((({hex4}:){2})(:))
v62 ({v620}|{v621}|{v622})
v610 ((:)(:{hex4}{1}))