minor changes

Adding compatibility for multiple records inside one PowerDNS RRSet
This commit is contained in:
Steve Oswald 2022-11-27 12:22:46 +01:00 committed by GitHub
parent 8d90b99d02
commit b9aa3aacd2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 26 additions and 23 deletions

View file

@ -4,12 +4,10 @@ $config = array();
$config["db_host"] = "127.0.0.1";
$config["db_port"] = "3306";
$config["db_username"] = "powerdnsapi";
$config["db_password"] = "powerdnsapi";
$config["db_database"] = "powerdnsapi";
$config["db_username"] = "pdns-api";
$config["db_password"] = "pdns-api";
$config["db_database"] = "pdns-api";
$config["base_uri"] = "http://localhost/pdns-api"
$config["debug"] = false;
$config["base_uri"] = "http://localhost/pdns-api";
?>

View file

@ -90,6 +90,8 @@ app()->patch($API_PREFIX . "/servers/{server_id}/zones/{zone_id}", function ($se
$records = getRecordsFromDomainNameAndZoneRequestAndKeyHelpDnsEntry($keyHelpDomainName, json_decode($input), $keyHelpDnsEntry);
//response()->exit(json_encode($records), 200);
keyHelp_putDns($server["hostname"], $server["api_key"], $domainId, $records);
response()->plain("", 204);

View file

@ -56,6 +56,10 @@ function getRecordsFromDomainNameAndZoneRequestAndKeyHelpDnsEntry($domainName, $
if(count($keyHelpRecords) > 0) {
for ($i = 0; $i < count($keyHelpRecords); $i++) {
$currentKeyHelpRecord = $keyHelpRecords[$i];
if ($currentKeyHelpRecord->type == "SOA") {
continue;
}
$changedRecordIndex = getRecordIndexForNameAndType($changedRecords, $currentKeyHelpRecord->name, $currentKeyHelpRecord->type);
@ -69,6 +73,10 @@ function getRecordsFromDomainNameAndZoneRequestAndKeyHelpDnsEntry($domainName, $
$newRecord->ttl = $changedRecord->ttl;
$newRecord->type = $changedRecord->type;
$newRecord->value = $changedRecord->records[$x]->content;
if ($newRecord->host == "") {
$newRecord->host = "@";
}
$output->records->other[] = $newRecord;
}
@ -82,6 +90,10 @@ function getRecordsFromDomainNameAndZoneRequestAndKeyHelpDnsEntry($domainName, $
$newRecord->ttl = $currentKeyHelpRecord->ttl;
$newRecord->type = $currentKeyHelpRecord->type;
$newRecord->value = $currentKeyHelpRecord->records[$x]->content;
if ($newRecord->host == "") {
$newRecord->host = "@";
}
$output->records->other[] = $newRecord;
}
@ -97,6 +109,10 @@ function getRecordsFromDomainNameAndZoneRequestAndKeyHelpDnsEntry($domainName, $
$newRecord->ttl = $changedRecord->ttl;
$newRecord->type = $changedRecord->type;
$newRecord->value = $changedRecord->records[$x]->content;
if ($newRecord->host == "") {
$newRecord->host = "@";
}
$output->records->other[] = $newRecord;
}

View file

@ -12,22 +12,6 @@ require __DIR__ . "/endpoints/autoload.php";
db()->connect($config["db_host"] . ":" . $config["db_port"], $config["db_database"], $config["db_username"], $config["db_password"]);
if ($config["debug"]) {
app()->get($API_PREFIX . "/debug", function () {
response()->json(
dns_get_record("oswald-cloud.de", DNS_SOA)
//keyHelp_getDomains("lithium.server.ossinet.de", "L9r9MbEN.eswinlGhxQILroLhYkwWWdLKfKZ1cMSjHIGnOycN9yBDm9sf8PehutkHKVYj4W591Kqoli2Q4V0tI1wkLYvn1PRDONgmv4rINsI9FJucZtOeOEDlVmxiaqAU")
);
});
app()->patch($API_PREFIX . "/debug", function () {
response()->json(
Leaf\Http\Headers::all()
//keyHelp_getDomains("lithium.server.ossinet.de", "L9r9MbEN.eswinlGhxQILroLhYkwWWdLKfKZ1cMSjHIGnOycN9yBDm9sf8PehutkHKVYj4W591Kqoli2Q4V0tI1wkLYvn1PRDONgmv4rINsI9FJucZtOeOEDlVmxiaqAU")
);
});
}
app()->run();
?>

View file

@ -58,7 +58,10 @@ class RRSet {
$output->name = $zoneRequestRRSet->name;
$output->type = $zoneRequestRRSet->type;
$output->ttl = $zoneRequestRRSet->ttl;
if (property_exists($zoneRequestRRSet, "ttl")) {
$output->ttl = $zoneRequestRRSet->ttl;
}
if (property_exists($zoneRequestRRSet, "changetype")) {
$output->changetype = $zoneRequestRRSet->changetype;