Hello George,

Thanks for the quick response, Yes I am using libunbound version 1.12

Yes I am setting config for a separate context

but SERVE_EXPIRED_REPLY_TTL  is a global variable and the same is used
in different places example dns.c tomsg() function
I feel because of this global variable this part of the code is
creating problems for different cache conf.
I tested with multiple caches and its holding only 1 configuration (I
doubt it because of code services/cache/dns.c#594)


SERVE_EXPIRED_REPLY is assigned in build/util/config_file.c#2056
(config_apply)2056

SERVE_EXPIRED_REPLY_TTL = (time_t)config->serve_expired_reply_ttl;


below code tomsg() is depending on SERVE_EXPIRED_REPLY_TTL to make
this works these variables should be set in the context before
actually calling tomsg() function.

Else these values may remain un changed and apply for all caches.

As you can see in the below code services/cache/dns.c#594
589     msg = gen_dns_msg(region, q, r->rrset_count);

590     if(!msg) return NULL;

591     msg->rep->flags = r->flags;

592     msg->rep->qdcount = r->qdcount;

593     msg->rep->ttl = is_expired

594             ?SERVE_EXPIRED_REPLY_TTL

595             :r->ttl - now;

596     if(r->prefetch_ttl > now)

597             msg->rep->prefetch_ttl = r->prefetch_ttl - now;

598     else

599             msg->rep->prefetch_ttl = PREFETCH_TTL_CALC(msg->rep->ttl);

600     msg->rep->serve_expired_ttl = msg->rep->ttl + SERVE_EXPIRED_TTL;


Thanks,

Ashok



On Fri, May 13, 2022 at 3:07 PM George Thessalonikefs via Unbound-users <
[email protected]> wrote:

> Hi Ashok,
>
> The Unbound daemon runs as one cache resolver.
> Are you perhaps using libunound and creating your own contexts?
> In that case yes the options are per context.
> You can have different options per context though, if you use the
> 'ub_ctx_set_option' function.
> Since the options you mention are configurable and not hard coded, the
> aforementioned function works on them.
>
> Best regards,
> -- George
>
> On 13/05/2022 07:25, ashok athukuri via Unbound-users wrote:
> > Hello All,
> >
> > I am a newbie for unbound, please apologize if my question is wrong or
> > my understanding is wrong.
> >
> > I see below variables make unbound to use a single configuration for all
> > cache resolvers.
> > As these variables are global and don't bind with any unbound context or
> > configuration for each cache
> >
> > I wonder how to solve this problem? as I need different cache conf for
> > different cache resolvers.
> >
> > 64   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#64>/**
> If we serve expired entries and prefetch them */
> > 65   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#65>THREAD
> <https://indexing2.f5net.com/source/s?defs=THREAD&project=tmos-dns-bugs>
> *int*  SERVE_EXPIRED  <
> https://indexing2.f5net.com/source/s?refs=SERVE_EXPIRED&project=tmos-dns-bugs>
> = 0;
> > 66   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#66>/**
> Time to serve records after expiration */
> > 67   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#67>THREAD
> <https://indexing2.f5net.com/source/s?defs=THREAD&project=tmos-dns-bugs>
> time_t  <
> https://indexing2.f5net.com/source/s?defs=time_t&project=tmos-dns-bugs>
> SERVE_EXPIRED_TTL  <
> https://indexing2.f5net.com/source/s?refs=SERVE_EXPIRED_TTL&project=tmos-dns-bugs>
> = 0;
> > 68   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#68>/**
> TTL to use for expired records */
> > 69   <
> https://indexing2.f5net.com/source/xref/tmos-dns-bugs/ports/unbound/build/util/data/msgreply.c#69>THREAD
> <https://indexing2.f5net.com/source/s?defs=THREAD&project=tmos-dns-bugs>
> time_t  <
> https://indexing2.f5net.com/source/s?defs=time_t&project=tmos-dns-bugs>
> SERVE_EXPIRED_REPLY_TTL  <
> https://indexing2.f5net.com/source/s?refs=SERVE_EXPIRED_REPLY_TTL&project=tmos-dns-bugs>
> =30;
> >
> >
> > Thanks,
> >
> > Ashok
> >
>

Reply via email to