diff --git a/rfc8416.php b/rfc8416.php index 5ac47c7..e93357d 100755 --- a/rfc8416.php +++ b/rfc8416.php @@ -103,13 +103,16 @@ foreach ($raw_array as $sub_array) // Extract ASxxxxx from string. preg_match ("/AS[0-9]+/", explode (":", $asn)[1], $_asn); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["asn"] = trim ($_asn[0], "AS"); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["prefix"] = $_prefix; - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["maxPrefixLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV6_AS0); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["source"] = "$_ta"; - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["mnt-by"] = "$_mnt"; + // Catch if ASN is actually an integer and larger than zero + if (strlen ($_asn[0]) > 0 && strlen ($_prefix) > 0) { + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["asn"] = trim ($_asn[0], "AS"); + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["prefix"] = $_prefix; + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["maxPrefixLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV6_AS0); + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["source"] = "$_ta"; + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["mnt-by"] = "$_mnt"; - $k++; + $k++; + } } } @@ -203,13 +206,16 @@ foreach ($raw_array as $sub_array) // Extract ASxxxxx from string. preg_match ("/AS[0-9]+/", explode (":", $asn)[1], $_asn); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["asn"] = trim ($_asn[0], "AS"); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["prefix"] = $_prefix; - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["maxPrefixLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV4_AS0); - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["source"] = "$_ta"; - $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["mnt-by"] = "$_mnt"; + // Catch if ASN is actually an integer and larger than zero + if (strlen ($_asn[0]) > 0 && strlen ($_prefix) > 0) { + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["asn"] = trim ($_asn[0], "AS"); + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["prefix"] = $_prefix; + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["maxPrefixLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV4_AS0); + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["source"] = "$_ta"; + $roas["locallyAddedAssertions"]["prefixAssertions"][$k]["mnt-by"] = "$_mnt"; - $k++; + $k++; + } } } diff --git a/roagen.php b/roagen.php index 74df7f5..fb779f0 100755 --- a/roagen.php +++ b/roagen.php @@ -97,15 +97,18 @@ foreach ($raw_array as $sub_array) // Extract ASxxxxx from string. preg_match ("/AS[0-9]+/", explode (":", $asn)[1], $_asn); - $roas["roas"][$k]["asn"] = trim ($_asn[0], "AS"); - $roas["roas"][$k]["prefix"] = $_prefix; - $roas["roas"][$k]["maxLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV6_AS0); - //$roas["roas"][$k]["url"]["inetnum"] = "$web_registry_url/data/inet6num/$prefix[1]_$prefix[2]"; - //$roas["roas"][$k]["url"]["route"] = "$web_registry_url/data/route6/$prefix[1]_$prefix[2]"; - $roas["roas"][$k]["ta"] = $_ta; - $roas["roas"][$k]["mnt-by"] = $_mnt; + // Catch if ASN is actually an integer and larger than zero + if (strlen ($_asn[0]) > 0 && strlen ($_prefix) > 0) { + $roas["roas"][$k]["asn"] = trim ($_asn[0], "AS"); + $roas["roas"][$k]["prefix"] = $_prefix; + $roas["roas"][$k]["maxLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV6_AS0); + //$roas["roas"][$k]["url"]["inetnum"] = "$web_registry_url/data/inet6num/$prefix[1]_$prefix[2]"; + //$roas["roas"][$k]["url"]["route"] = "$web_registry_url/data/route6/$prefix[1]_$prefix[2]"; + $roas["roas"][$k]["ta"] = $_ta; + $roas["roas"][$k]["mnt-by"] = $_mnt; - $k++; + $k++; + } } } @@ -199,15 +202,18 @@ foreach ($raw_array as $sub_array) // Extract ASxxxxx from string. preg_match ("/AS[0-9]+/", explode (":", $asn)[1], $_asn); - $roas["roas"][$k]["asn"] = trim ($_asn[0], "AS"); - $roas["roas"][$k]["prefix"] = $_prefix; - $roas["roas"][$k]["maxLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV4_AS0); - //$roas["roas"][$k]["url"]["inetnum"] = "$web_registry_url/data/inetnum/$prefix[1]_$prefix[2]"; - //$roas["roas"][$k]["url"]["route"] = "$web_registry_url/data/route/$prefix[1]_$prefix[2]"; - $roas["roas"][$k]["ta"] = $_ta; - $roas["roas"][$k]["mnt-by"] = $_mnt; + // Catch if ASN is actually an integer and larger than zero + if (strlen ($_asn[0]) > 0 && strlen ($_prefix) > 0) { + $roas["roas"][$k]["asn"] = trim ($_asn[0], "AS"); + $roas["roas"][$k]["prefix"] = $_prefix; + $roas["roas"][$k]["maxLength"] = ($_asn[0] != "AS0" ? $_maxlength : MAX_LEN_IPV4_AS0); + //$roas["roas"][$k]["url"]["inetnum"] = "$web_registry_url/data/inetnum/$prefix[1]_$prefix[2]"; + //$roas["roas"][$k]["url"]["route"] = "$web_registry_url/data/route/$prefix[1]_$prefix[2]"; + $roas["roas"][$k]["ta"] = $_ta; + $roas["roas"][$k]["mnt-by"] = $_mnt; - $k++; + $k++; + } } }