* Fix output of SRV records when using BIND (-o db)

* Add TTL information to records when using BIND


git-svn-id: https://svn.alkaloid.net/gpl/ldap2dns/trunk@447 06cd67b6-e706-0410-b29e-9de616bca6e9
This commit is contained in:
Ben Klang
2008-05-15 01:02:59 +00:00
parent 68aa569b75
commit 79ddabdf6b
3 changed files with 15 additions and 12 deletions

View File

@@ -6,6 +6,8 @@ Version 0.4.2-beta (latest)
them via configuration, environment, or cmdline args.
* Allow all cmdline args to be set optionally using environment variables
* Updated documentation and added plaintext version
* Add output of TTL on individual records when using BIND outputs
* Fix FQDN output of SRV records when using BIND outputs
Version 0.4.1 - 2006/10/19
* Updated scripts/data2ldif.pl to properly handle reverse domains

5
FAQ
View File

@@ -1,6 +1,6 @@
1) My build bails out with nearly three screens full of error messages!
2006-10-04 bklang
2006-10-04 bklang
If the first two lines of that error output look like:
ldap2dns.c:9:18: error: lber.h: No such file or directory
@@ -15,6 +15,7 @@ to those header files to the compiler.
2) How do I use DNS TXT records?
(Or: Why do I need that trailing '.'?)
(Or: Why do my DNS TXT records get corrupted?)
2006-10-19 bklang
Due to an original design decision, ldap2dns uses the DNScname attribute to
store DNS TXT data. This field is normally checked to see if it should be
@@ -31,8 +32,8 @@ form of expansion.
3) Where can I find a web interface?
2005-06-06 bklang
2005-06-06 bklang
The official web interface of ldap2dns is "Beatnik." Beatnik is a module for
the Horde framework (http://www.horde.org). Beatnik is actively developed and
can be considered beta status. Early adopters are encouraged to checkout

View File

@@ -522,9 +522,9 @@ static void write_rr(struct resourcerecord* rr, int ipdx, int znix)
}
}
if (namedzone) {
fprintf(namedzone, "%s.\tIN NS\t%s.\n", rr->dnsdomainname, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN NS\t%s.\n", rr->dnsdomainname, rr->ttl, rr->cname);
if (ipdx>=0)
fprintf(namedzone, "%s.\tIN A\t%s\n", rr->cname, rr->ipaddr[ipdx]);
fprintf(namedzone, "%s.\t%s\tIN A\t%s\n", rr->cname, rr->ttl, rr->ipaddr[ipdx]);
}
} else if (strcasecmp(rr->type, "MX")==0) {
if (tinyfile) {
@@ -546,9 +546,9 @@ static void write_rr(struct resourcerecord* rr, int ipdx, int znix)
}
}
if (namedzone) {
fprintf(namedzone, "%s.\tIN MX\t%s %s.\n", rr->dnsdomainname, rr->preference, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN MX\t%s %s.\n", rr->dnsdomainname, rr->ttl, rr->preference, rr->cname);
if (ipdx>=0)
fprintf(namedzone, "%s.\tIN A\t%s\n", rr->cname, rr->ipaddr[ipdx]);
fprintf(namedzone, "%s.\t%s\tIN A\t%s\n", rr->cname, rr->ttl, rr->ipaddr[ipdx]);
}
} else if ( strcasecmp(rr->type, "A")==0) {
if (tinyfile) {
@@ -559,9 +559,9 @@ static void write_rr(struct resourcerecord* rr, int ipdx, int znix)
}
if (namedzone) {
if (ipdx<=0 && rr->cipaddr[0])
fprintf(namedzone, "%s.\tIN A\t%s\n", rr->dnsdomainname, rr->cipaddr);
fprintf(namedzone, "%s.\t%s\tIN A\t%s\n", rr->dnsdomainname, rr->ttl, rr->cipaddr);
if (ipdx>=0)
fprintf(namedzone, "%s.\tIN A\t%s\n", rr->dnsdomainname, rr->ipaddr[ipdx]);
fprintf(namedzone, "%s.\t%s\tIN A\t%s\n", rr->dnsdomainname, rr->ttl, rr->ipaddr[ipdx]);
}
} else if (strcasecmp(rr->type, "PTR")==0) {
int ip[4] = {0, 0, 0, 0};
@@ -580,17 +580,17 @@ static void write_rr(struct resourcerecord* rr, int ipdx, int znix)
if (tinyfile)
fprintf(tinyfile, "^%s:%s:%s:%s:%s\n", buf, rr->cname, rr->ttl, rr->timestamp, rr->location);
if (namedzone)
fprintf(namedzone, "%s.\tIN PTR\t%s.\n", buf, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN PTR\t%s.\n", buf, rr->ttl, rr->cname);
} else if (strcasecmp(rr->type, "CNAME")==0) {
if (tinyfile)
fprintf(tinyfile, "C%s:%s:%s:%s:%s\n", rr->dnsdomainname, rr->cname, rr->ttl, rr->timestamp, rr->location);
if (namedzone)
fprintf(namedzone, "%s.\tIN CNAME\t%s.\n", rr->dnsdomainname, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN CNAME\t%s.\n", rr->dnsdomainname, rr->ttl, rr->cname);
} else if (strcasecmp(rr->type, "TXT")==0) {
if (tinyfile)
fprintf(tinyfile, "'%s:%s:%s:%s:%s\n", rr->dnsdomainname, rr->cname, rr->ttl, rr->timestamp, rr->location);
if (namedzone)
fprintf(namedzone, "%s.\tIN TXT\t%s.\n", rr->dnsdomainname, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN TXT\t%s.\n", rr->dnsdomainname, rr->ttl, rr->cname);
} else if (strcasecmp(rr->type, "SRV")==0) {
if (tinyfile) {
fprintf(tinyfile, ":%s:33:\\%03o\\%03o\\%03o\\%03o\\%03o\\%03o", rr->dnsdomainname, rr->dnssrvpriority >> 8, rr->dnssrvpriority & 0xff, rr->dnssrvweight >> 8, rr->dnssrvweight & 0xff, rr->dnssrvport >> 8, rr->dnssrvport & 0xff);
@@ -605,7 +605,7 @@ static void write_rr(struct resourcerecord* rr, int ipdx, int znix)
fprintf(tinyfile, "\\000:%s:%s:%s\n", rr->ttl, rr->timestamp, rr->location);
}
if (namedzone) {
fprintf(namedzone, "%s\tIN SRV\t%d\t%d\t%d\t%s.\n", rr->dnsdomainname, rr->dnssrvpriority, rr->dnssrvweight, rr->dnssrvport, rr->cname);
fprintf(namedzone, "%s.\t%s\tIN SRV\t%d\t%d\t%d\t%s.\n", rr->dnsdomainname, rr->ttl, rr->dnssrvpriority, rr->dnssrvweight, rr->dnssrvport, rr->cname);
}
}
}