diff -u -r1.1.1.1 tinydns-data.c --- tinydns-data.c 2000/09/24 00:20:32 1.1.1.1 +++ tinydns-data.c 2000/09/24 22:28:27 @@ -139,6 +139,8 @@ static char *d1; static char *d2; +static char *contact; + char dptr[DNS_NAME4_DOMAIN]; char strnum[FMT_ULONG]; @@ -204,6 +206,11 @@ switch(line.s[0]) { + case 'D': + if (!dns_domain_fromdot(&contact,f[0].s,f[0].len)) nomem(); + if (f[0].len == 0) contact = NULL; + break; + case 'Z': if (!dns_domain_fromdot(&d1,f[0].s,f[0].len)) nomem(); @@ -253,8 +260,12 @@ if (line.s[0] == '.') { rr_start(DNS_T_SOA,ttl ? TTL_NEGATIVE : 0,ttd); rr_addname(d2); - rr_add("\12hostmaster",11); - rr_addname(d1); + if (!contact) { + rr_add("\12hostmaster",11); + rr_addname(d1); + } else { + rr_addname(contact); + } rr_add(defaultsoa,20); rr_finish(d1); }