Update roagen.php to use shared functions and constants
This commit is contained in:
parent
8e1420558e
commit
d172a6edc7
91
roagen.php
91
roagen.php
|
@ -1,56 +1,8 @@
|
|||
<?php
|
||||
|
||||
// Before we begin. Ensure registry repository is up-to-date
|
||||
echo shell_exec ("/usr/bin/git -C ../registry/ pull upstream master:master 2>&1");
|
||||
|
||||
/*
|
||||
* Function:
|
||||
* startsWith ($string, "word", $length)
|
||||
*
|
||||
* Find lines beginning with "word". Optionally
|
||||
* give the length of the string you are looking for.
|
||||
*/
|
||||
function startsWith ($haystack, $needle, $length = "0")
|
||||
{
|
||||
if ($length <= 0 || $length > (strlen ($needle)))
|
||||
$length = strlen ($needle);
|
||||
|
||||
return (substr ($haystack, 0, $length) === $needle);
|
||||
}
|
||||
|
||||
/*
|
||||
* Function:
|
||||
* endsWith ($string, "word")
|
||||
*
|
||||
* Find lines ending with "word".
|
||||
*/
|
||||
function endsWith ($haystack, $needle)
|
||||
{
|
||||
$length = strlen ($needle);
|
||||
|
||||
if ($length == 0)
|
||||
return true;
|
||||
|
||||
return (substr( $haystack, -$length) === $needle);
|
||||
}
|
||||
|
||||
/*
|
||||
* Function:
|
||||
* trim_special_chars ($string)
|
||||
*
|
||||
* Remove special characters.
|
||||
*/
|
||||
function trim_special_chars ($string)
|
||||
{
|
||||
return (trim ($string, " \t\n\r\0\x0B"));
|
||||
}
|
||||
|
||||
// Define array() we are going to populate with data.
|
||||
$roas = array();
|
||||
|
||||
// Set folders we need to scan.
|
||||
$files6 = scandir ("../registry/data/route6/");
|
||||
$files4 = scandir ("../registry/data/route/");
|
||||
fetchUpstreamMaster();
|
||||
checkoutMaster();
|
||||
|
||||
/*
|
||||
*
|
||||
|
@ -237,42 +189,9 @@ foreach ($raw_array as $sub_array)
|
|||
// Do JSON encoding before writing result to file
|
||||
$json = json_encode ($roas, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT);
|
||||
|
||||
// Write JSON to file
|
||||
$fp = fopen ('roa/export_dn42.json', 'w');
|
||||
fwrite ($fp, shell_exec ("/usr/bin/git -C ../registry/ show | sed 's/^/\/\/ /g'"));
|
||||
fwrite ($fp, $json);
|
||||
fclose ($fp);
|
||||
writeExportJSON();
|
||||
writeBirdConfig();
|
||||
|
||||
// Write TEXT to file in bird format
|
||||
$fq = fopen ('roa/bird_roa_dn42.conf', 'w');
|
||||
$fq4 = fopen ('roa/bird4_roa_dn42.conf', 'w');
|
||||
$fq6 = fopen ('roa/bird6_roa_dn42.conf', 'w');
|
||||
|
||||
fwrite ($fq, shell_exec ("/usr/bin/git -C ../registry/ show | sed 's/^/# /g'"));
|
||||
fwrite ($fq4, shell_exec ("/usr/bin/git -C ../registry/ show | sed 's/^/# /g'"));
|
||||
fwrite ($fq6, shell_exec ("/usr/bin/git -C ../registry/ show | sed 's/^/# /g'"));
|
||||
|
||||
foreach ($roas["roas"] as $roa)
|
||||
{
|
||||
$prfx = $roa["prefix"];
|
||||
$mxLngth = $roa["maxLength"];
|
||||
$sn = $roa["asn"];
|
||||
|
||||
$strng = "roa $prfx max $mxLngth as $sn;\n";
|
||||
|
||||
fwrite ($fq, $strng);
|
||||
|
||||
if (strpos ($prfx, ":") !== false)
|
||||
fwrite ($fq6, $strng);
|
||||
else
|
||||
fwrite ($fq4, $strng);
|
||||
}
|
||||
|
||||
fclose ($fq);
|
||||
fclose ($fq4);
|
||||
fclose ($fq6);
|
||||
|
||||
// Commit and push to all git remote repositories
|
||||
echo shell_exec ("./update.sh 2>&1");
|
||||
commitPushToRemotes();
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue