File tree 1 file changed +16
-2
lines changed
1 file changed +16
-2
lines changed Original file line number Diff line number Diff line change @@ -454,7 +454,7 @@ ares_parse(u_char *hdr, struct authres *ar)
454
454
if (tokens [c ][0 ] == ';' )
455
455
{
456
456
prevstate = state ;
457
- state = 3 ;
457
+ state = 14 ;
458
458
}
459
459
else if (isascii (tokens [c ][0 ]) &&
460
460
isdigit (tokens [c ][0 ]))
@@ -479,10 +479,20 @@ ares_parse(u_char *hdr, struct authres *ar)
479
479
return -1 ;
480
480
481
481
prevstate = state ;
482
- state = 3 ;
482
+ state = 14 ;
483
483
484
484
break ;
485
485
486
+ case 14 : /* method or "none" */
487
+ if (strcasecmp ((char * ) tokens [c ], "none" ) == 0 )
488
+ {
489
+ prevstate = state ;
490
+ state = 15 ;
491
+ continue ;
492
+ }
493
+
494
+ /* FALLTHROUGH */
495
+
486
496
case 3 : /* method */
487
497
if (n == 0 || !ares_dedup (ar , n ))
488
498
n ++ ;
@@ -651,6 +661,10 @@ ares_parse(u_char *hdr, struct authres *ar)
651
661
state = 9 ;
652
662
653
663
break ;
664
+
665
+ case 15 : /* terminal state after no-result */
666
+ /* no token should not appear */
667
+ return -1 ;
654
668
}
655
669
}
656
670
You can’t perform that action at this time.
0 commit comments