| |
|
Hello,
We noticed three problems with dlz that we patched more or
less efficiently. Bugs have been reported to ISC too.
//
1. mysql_reconnect - As of 5.0.3 mysql_ping does not reconnect
automatically if not asked to. Some patch attached against
dlz_mysql_driver.c
//
2. REQUIRE((((zone) != 0)...
The following error:
Jan 11 11:30:30 host named[6893]: zone.c:5919: REQUIRE((((zone)
!= ((void *)0)) && (((const isc__magic_t *)(zone))->magic
== ((('Z') << 24 | ('O') << 16 | ('N') << 8 |
('E'))))))
failed
Is raised when querying, for example, a non-existing RR with qtype=SOA
in a dlz zone.
We patched this the following way but i'm affraid this is not what
the code wants (a zero ttl):
/*
* Add SOA. If the query was for a SOA record force the
* ttl to zero so that it is possible for clients to find
* the containing zone of an arbitrary name with a stub
* resolver and not have it cached.
*/
if (qtype == dns_rdatatype_soa &&
#ifdef DLZ
(zone != NULL) &&
#endif
dns_zone_getzeronosoattl(zone))
//
3. RR wildcards
This one is more or less a feature request -
We'd like DLZ to check for '*.sub' RRs and pretend '*' is an
RR of sub. I guess this is done at parse-time in zone files,
and not easy to do this way in dlz, so we explicitely look
for the RRs, replacing the first label with '*' when the RR
length's is 2 or more, in sdlz.c/findnode(). The patch is
so ugly I wont even think about sending it :)
Best regards,
Pascal
--
\o/ Pascal Bouchareine - Gandi
g 0170393757 15, place de la Nation - 75011 Paris
|
|