override ttl=0

Herve Guehl herve.guehl at gmail.com
Mon Dec 31 08:41:31 UTC 2007


Hi,
Could such a feature be included in bind ?
regards
Hervé

On Dec 22, 2007 8:56 AM, Herve Guehl <herve.guehl at gmail.com> wrote:

> Unfortunatly, The manufacturer is CISCO... http://www.cisco.com/en/US/products/ps6553/products_white_paper09186a008011ff51.shtml
>
> It's a pain when your working with partners that use this
> technology...(Obviously I have no choice and bo weight about it :) )
>
> regard.
> Herve Guehl
>
>
>
> On Dec 21, 2007 10:51 PM, Mark Andrews <Mark_Andrews at isc.org> wrote:
>
> >
> > > Hi everybody,
> > > I'm getting troubles with a DNS-ALG machine that send ttl=0 for every
> > > question I send to it.
> > > I browsed archive but did not find any solution to my problem.
> > > I just need to override ttl for A record when the ttl=0.
> > > Here a patch for bind 9.3.3rc2 (redhat 5.0).
> > > I know, that TTL should not be overrided, but in some case this
> > > functionality can be helpfull.
> >
> >        Tell us the manufacture of the DNS-ALG so we can all avoid
> >        such a broken product.  The DNS requires caching to work.
> >        Any DNS-ALG that don't pass on the TTL is broken.
> >
> > > The status of this patch is 'works for me'.
> > >
> > > Please let me know if there is another implementation
> > >
> > > Regard
> > > Hervé Guehl
> > >
> > > Note : dont blame me if i'm not using the right list, just say me
> > where I
> > > should write
> > >
> > >
> > >
> > > diff -urN bind-9.3.3rc2.ori/bin/named/server.c bind-9.3.3rc2
> > > /bin/named/server.c
> > > --- bind-9.3.3rc2.ori/bin/named/server.c        2006-05-24 06:30:
> > > 24.000000000 +0200
> > > +++ bind-9.3.3rc2/bin/named/server.c    2007-12-18 22:01:47.000000000+0100
> > > @@ -1245,6 +1245,11 @@
> > >         result = ns_config_get(maps, "max-cache-ttl", &obj);
> > >         INSIST(result == ISC_R_SUCCESS);
> > >         view->maxcachettl = cfg_obj_asuint32(obj);
> > > +
> > > +       obj = NULL;
> > > +       result = ns_config_get(maps, "override-zero-cache-ttl", &obj);
> > > +       INSIST(result == ISC_R_SUCCESS);
> > > +       view->overridezerocachettl = cfg_obj_asuint32(obj);
> > >
> > >         obj = NULL;
> > >         result = ns_config_get(maps, "max-ncache-ttl", &obj);
> > > diff -urN bind-9.3.3rc2.ori /lib/dns/include/dns/view.h bind-9.3.3rc2
> > > /lib/dns/include/dns/view.h
> > > --- bind-9.3.3rc2.ori/lib/dns/include/dns/view.h        2004-03-10
> > 03:55:
> > > 58.000000000 +0100
> > > +++ bind-9.3.3rc2/lib/dns/include/dns/view.h    2007-12-18 22:02:
> > > 01.000000000 +0100
> > > @@ -116,6 +116,7 @@
> > >         isc_boolean_t                   requestixfr;
> > >         isc_boolean_t                   provideixfr;
> > >         dns_ttl_t                       maxcachettl;
> > > +       dns_ttl_t                       overridezerocachettl;
> > >         dns_ttl_t                       maxncachettl;
> > >         in_port_t                       dstport;
> > >         dns_aclenv_t                    aclenv;
> > > diff -urN bind-9.3.3rc2.ori/lib/dns/resolver.c bind-9.3.3rc2
> > > /lib/dns/resolver.c
> > > --- bind-9.3.3rc2.ori/lib/dns/resolver.c        2006-08-31 05:57:
> > > 11.000000000 +0200
> > > +++ bind-9.3.3rc2 /lib/dns/resolver.c    2007-12-18 22:02:56.000000000+0100
> > > @@ -3537,6 +3537,11 @@
> > >                         rdataset->ttl = res->view->maxcachettl;
> > >
> > >                 /*
> > > +                 * HGU configure minimum ttl if ttl=0 for A record
> > > +               */
> > > +               if  ( (rdataset->ttl == 0) && (rdataset->type ==
> > > dns_rdatatype_a) )
> > > +                        rdataset->ttl > > res->view->overridezerocachettl;
> > > +               /*
> > >                  * If this rrset is in a secure domain, do DNSSEC
> > validation
> > >                  * for it, unless it is glue.
> > >                  */
> > > diff -urN bind-9.3.3rc2.ori /lib/isccfg/namedconf.c bind-9.3.3rc2
> > > /lib/isccfg/namedconf.c
> > > --- bind-9.3.3rc2.ori/lib/isccfg/namedconf.c    2006-03-02 01:37:
> > > 20.000000000 +0100
> > > +++ bind-9.3.3rc2/lib/isccfg/namedconf.c        2007-12-19 15:11:
> > > 49.000000000 +0100
> > > @@ -715,6 +715,7 @@
> > >         { "lame-ttl", &cfg_type_uint32, 0 },
> > >         { "max-ncache-ttl", &cfg_type_uint32, 0 },
> > >         { "max-cache-ttl", &cfg_type_uint32, 0 },
> > > +       { "override-zero-cache-ttl", &cfg_type_uint32, 0 },
> > >         { "transfer-format", &cfg_type_transferformat, 0 },
> > >         { "max-cache-size", &cfg_type_sizenodefault, 0 },
> > >         { "check-names", &cfg_type_checknames, CFG_CLAUSEFLAG_MULTI },
> > >
> > >
> > --
> > Mark Andrews, ISC
> > 1 Seymour St., Dundas Valley, NSW 2117, Australia
> > PHONE: +61 2 9871 4742                 INTERNET: Mark_Andrews at isc.org
> >
>
>



More information about the bind-users mailing list