@@ -230,6 +230,22 @@ func Test_parseMatch(t *testing.T) {
230
230
s : "tp_src=80" ,
231
231
m : TransportSourcePort (80 ),
232
232
},
233
+ {
234
+ s : "udp_dst=65536" ,
235
+ invalid : true ,
236
+ },
237
+ {
238
+ s : "udp_dst=80" ,
239
+ m : UdpDestinationPort (80 ),
240
+ },
241
+ {
242
+ s : "udp_src=65536" ,
243
+ invalid : true ,
244
+ },
245
+ {
246
+ s : "udp_src=80" ,
247
+ m : UdpSourcePort (80 ),
248
+ },
233
249
{
234
250
s : "vlan_tci=" ,
235
251
invalid : true ,
@@ -481,6 +497,56 @@ func Test_parseMatch(t *testing.T) {
481
497
s : "tp_src=0xea60/0xffe0/0xdddd" ,
482
498
invalid : true ,
483
499
},
500
+ {
501
+ desc : "udp_dst out of range 65536/0xffe0" ,
502
+ s : "udp_dst=65536/0xffe0" ,
503
+ invalid : true ,
504
+ },
505
+ {
506
+ desc : "udp_dst out of range 0x10000/0xffe0" ,
507
+ s : "udp_dst=0x10000/0xffe0" ,
508
+ invalid : true ,
509
+ },
510
+ {
511
+ desc : "udp_dst out of range 0xea60/0x10000" ,
512
+ s : "udp_dst=0xea60/0x10000" ,
513
+ invalid : true ,
514
+ },
515
+ {
516
+ desc : "udp_dst 0xea60/0xffe0" ,
517
+ s : "udp_dst=0xea60/0xffe0" ,
518
+ m : UdpDestinationMaskedPort (0xea60 , 0xffe0 ),
519
+ },
520
+ {
521
+ desc : "udp_dst 0xea60/0xffe0/0xdddd" ,
522
+ s : "udp_dst=0xea60/0xffe0/0xdddd" ,
523
+ invalid : true ,
524
+ },
525
+ {
526
+ desc : "udp_src out of range 65536/0xffe0" ,
527
+ s : "udp_src=65536/0xffe0" ,
528
+ invalid : true ,
529
+ },
530
+ {
531
+ desc : "udp_src out of range 0x10000/0xffe0" ,
532
+ s : "udp_src=0x10000/0xffe0" ,
533
+ invalid : true ,
534
+ },
535
+ {
536
+ desc : "udp_src out of range 0xea60/0x10000" ,
537
+ s : "udp_src=0xea60/0x10000" ,
538
+ invalid : true ,
539
+ },
540
+ {
541
+ desc : "udp_src 0xea60/0xffe0" ,
542
+ s : "udp_src=0xea60/0xffe0" ,
543
+ m : UdpSourceMaskedPort (0xea60 , 0xffe0 ),
544
+ },
545
+ {
546
+ desc : "udp_src 0xea60/0xffe0/0xdddd" ,
547
+ s : "udp_src=0xea60/0xffe0/0xdddd" ,
548
+ invalid : true ,
549
+ },
484
550
}
485
551
486
552
for _ , tt := range tests {
0 commit comments