# v680 (({hex4}:){7}{hex4})
ip6 saddr 1234:1234:1234:1234:1234:1234:1234:1234;ok
# v670 ((:)(:{hex4}{7}))
-ip6 saddr ::1234:1234:1234:1234:1234:1234:1234;ok
+ip6 saddr ::1234:1234:1234:1234:1234:1234:1234;ok;ip6 saddr 0:1234:1234:1234:1234:1234:1234:1234
# v671 ((({hex4}:){1})(:{hex4}{6}))
-ip6 saddr 1234::1234:1234:1234:1234:1234:1234;ok
+ip6 saddr 1234::1234:1234:1234:1234:1234:1234;ok;ip6 saddr 1234:0:1234:1234:1234:1234:1234:1234
# v672 ((({hex4}:){2})(:{hex4}{5}))
-ip6 saddr 1234:1234::1234:1234:1234:1234:1234;ok
+ip6 saddr 1234:1234::1234:1234:1234:1234:1234;ok;ip6 saddr 1234:1234:0:1234:1234:1234:1234:1234
+ip6 saddr 1234:1234:0:1234:1234:1234:1234:1234;ok
# v673 ((({hex4}:){3})(:{hex4}{4}))
-ip6 saddr 1234:1234:1234::1234:1234:1234:1234;ok
+ip6 saddr 1234:1234:1234::1234:1234:1234:1234;ok;ip6 saddr 1234:1234:1234:0:1234:1234:1234:1234
# v674 ((({hex4}:){4})(:{hex4}{3}))
-ip6 saddr 1234:1234:1234:1234::1234:1234:1234;ok
+ip6 saddr 1234:1234:1234:1234:0:1234:1234:1234;ok
# v675 ((({hex4}:){5})(:{hex4}{2}))
-ip6 saddr 1234:1234:1234:1234:1234::1234:1234;ok
+ip6 saddr 1234:1234:1234:1234:1234::1234:1234;ok;ip6 saddr 1234:1234:1234:1234:1234:0:1234:1234
# v676 ((({hex4}:){6})(:{hex4}{1}))
-ip6 saddr 1234:1234:1234:1234:1234:1234::1234;ok
+ip6 saddr 1234:1234:1234:1234:1234:1234:0:1234;ok
# v677 ((({hex4}:){7})(:))
-ip6 saddr 1234:1234:1234:1234:1234:1234:1234::;ok
+ip6 saddr 1234:1234:1234:1234:1234:1234:1234::;ok;ip6 saddr 1234:1234:1234:1234:1234:1234:1234:0
# v67 ({v670}|{v671}|{v672}|{v673}|{v674}|{v675}|{v676}|{v677})
# v660 ((:)(:{hex4}{6}))
ip6 saddr ::1234:1234:1234:1234:1234:1234;ok
ip6 saddr 1234:1234:1234::;ok
# v63 ({v630}|{v631}|{v632}|{v633})
# v620 ((:)(:{hex4}{2}))
-ip6 saddr ::1234:1234;ok
+ip6 saddr ::1234:1234;ok;ip6 saddr ::18.52.18.52
# v621 ((({hex4}:){1})(:{hex4}{1}))
ip6 saddr 1234::1234;ok
# v622 ((({hex4}:){2})(:))
ip6 saddr ::/64;ok
- ip6 daddr != {::1234:1234:1234:1234:1234:1234:1234, 1234:1234::1234:1234:1234:1234:1234 };ok
-ip6 daddr != ::1234:1234:1234:1234:1234:1234:1234-1234:1234::1234:1234:1234:1234:1234;ok
+ip6 daddr != ::1234:1234:1234:1234:1234:1234:1234-1234:1234::1234:1234:1234:1234:1234;ok;ip6 daddr != 0:1234:1234:1234:1234:1234:1234:1234-1234:1234:0:1234:1234:1234:1234:1234
# Ipv6 address combinations
# from src/scanner.l
ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:1234:1234 : accept};ok
-ip6 saddr vmap { ::1234:1234:1234:1234:1234:1234:1234 : accept};ok
-ip6 saddr vmap { 1234::1234:1234:1234:1234:1234:1234 : accept};ok
-ip6 saddr vmap { 1234:1234::1234:1234:1234:1234:1234 : accept};ok
-ip6 saddr vmap { 1234:1234:1234::1234:1234:1234:1234 : accept};ok
-ip6 saddr vmap { 1234:1234:1234:1234::1234:1234:1234 : accept};ok
-ip6 saddr vmap { 1234:1234:1234:1234:1234::1234:1234 : accept};ok
-ip6 saddr vmap { 1234:1234:1234:1234:1234:1234::1234 : accept};ok
-ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:1234:: : accept};ok
+ip6 saddr vmap { ::1234:1234:1234:1234:1234:1234:1234 : accept};ok;ip6 saddr vmap { 0:1234:1234:1234:1234:1234:1234:1234 : accept}
+ip6 saddr vmap { 1234::1234:1234:1234:1234:1234:1234 : accept};ok;ip6 saddr vmap { 1234:0:1234:1234:1234:1234:1234:1234 : accept}
+ip6 saddr vmap { 1234:1234::1234:1234:1234:1234:1234 : accept};ok;ip6 saddr vmap { 1234:1234:0:1234:1234:1234:1234:1234 : accept}
+ip6 saddr vmap { 1234:1234:1234::1234:1234:1234:1234 : accept};ok;ip6 saddr vmap { 1234:1234:1234:0:1234:1234:1234:1234 : accept}
+ip6 saddr vmap { 1234:1234:1234:1234::1234:1234:1234 : accept};ok;ip6 saddr vmap { 1234:1234:1234:1234:0:1234:1234:1234 : accept}
+ip6 saddr vmap { 1234:1234:1234:1234:1234::1234:1234 : accept};ok;ip6 saddr vmap { 1234:1234:1234:1234:1234:0:1234:1234 : accept}
+ip6 saddr vmap { 1234:1234:1234:1234:1234:1234::1234 : accept};ok;ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:0:1234 : accept}
+ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:1234:: : accept};ok;ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:1234:0 : accept}
ip6 saddr vmap { ::1234:1234:1234:1234:1234:1234 : accept};ok
ip6 saddr vmap { 1234::1234:1234:1234:1234:1234 : accept};ok
ip6 saddr vmap { 1234:1234::1234:1234:1234:1234 : accept};ok
ip6 saddr vmap { 1234::1234:1234 : accept};ok
ip6 saddr vmap { 1234:1234::1234 : accept};ok
ip6 saddr vmap { 1234:1234:1234:: : accept};ok
-ip6 saddr vmap { ::1234:1234 : accept};ok
+ip6 saddr vmap { ::1234:1234 : accept};ok;ip6 saddr vmap { ::18.52.18.52 : accept}
ip6 saddr vmap { 1234::1234 : accept};ok
ip6 saddr vmap { 1234:1234:: : accept};ok
ip6 saddr vmap { ::1234 : accept};ok
ip6 saddr vmap { 1234:: : accept};ok
ip6 saddr vmap { ::/64 : accept};ok
-ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:: : accept, ::aaaa : drop};ok
-ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept, ::bbbb : drop};ok
-ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept,::cccc : drop};ok
-ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept,::dddd: drop};ok
+ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:: : accept, ::aaaa : drop};ok;ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:0 : accept, ::aaaa : drop}
+ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept, ::bbbb : drop};ok;ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:0 : accept, ::bbbb : drop}
+ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept,::cccc : drop};ok;ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:0 : accept, ::cccc : drop}
+ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:::accept,::dddd: drop};ok;ip6 saddr vmap {1234:1234:1234:1234:1234:1234:aaaa:0 : accept, ::dddd: drop}
# rule without comma:
filter-input ip6 saddr vmap { 1234:1234:1234:1234:1234:1234:bbbb:::accept::adda : drop};fail