An area is either a decimal number or an IPv4 address.
authorflorian <florian@openbsd.org>
Wed, 21 Aug 2024 15:18:47 +0000 (15:18 +0000)
committerflorian <florian@openbsd.org>
Wed, 21 Aug 2024 15:18:47 +0000 (15:18 +0000)
This lets us replace inet_aton with inet_pton since we do not need
inet_aton's flexibility.

phessler, sthen and Tom Smyth all confirm that they never came across
a different way of specifying an area.

OK claudio, deraadt

usr.sbin/ospf6d/parse.y

index bbf2ca1..b25e030 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: parse.y,v 1.52 2023/07/04 02:56:11 dlg Exp $ */
+/*     $OpenBSD: parse.y,v 1.53 2024/08/21 15:18:47 florian Exp $ */
 
 /*
  * Copyright (c) 2004, 2005 Esben Norby <norby@openbsd.org>
@@ -211,7 +211,7 @@ varset              : STRING '=' string             {
                ;
 
 conf_main      : ROUTERID STRING {
-                       if (!inet_aton($2, &conf->rtr_id)) {
+                       if (inet_pton(AF_INET, $2, &conf->rtr_id) != 1) {
                                yyerror("error parsing router-id");
                                free($2);
                                YYERROR;
@@ -489,7 +489,7 @@ areaid              : NUMBER {
                        $$.s_addr = htonl($1);
                }
                | STRING {
-                       if (inet_aton($1, &$$) == 0) {
+                       if (inet_pton(AF_INET, $1, &$$) != 1) {
                                yyerror("error parsing area");
                                free($1);
                                YYERROR;