Maintained by: NLnet Labs

[Unbound-users] get ttl in libunbound?

David Hubbard
Mon Nov 23 14:48:12 CET 2009


Hi Wouter,

To me TTL is useful, obviously. :-) Also, it is already available, but
not exposed through the libunbound interface. However, I can always
work around it if it's not exposed.

Thanks,
David

On Mon, Nov 23, 2009 at 4:08 AM, W.C.A. Wijngaards <wouter at nlnetlabs.nl> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hi,
>
> Not sure what to do about this.  Unbound already returns the TTL inside
> the 'raw packet data' chunk in the result.  I understand that that is
> not really easy, since you need (say) ldns_wire2pkt to get at that TTL.
>
> Is this bloat or is this useful?
>
> Best regards,
>   Wouter
>
>
> On 11/14/2009 06:08 AM, David Hubbard wrote:
>> Hi all,
>>
>> This patch adds a call to free(ttl) that balances the call to
>> calloc(). The previous patch creates a memory leak.
>>
>> This patch also moves 'unsigned *ttl' to the end of struct ub_result,
>> so that binaries linked against libunbound.so will still work.
>>
>> David
>>
>> On Fri, Nov 13, 2009 at 4:18 PM, David Hubbard
>> <david.c.hubbard at gmail.com> wrote:
>>> Hi Ondrej,
>>>
>>> On Fri, Nov 13, 2009 at 4:10 PM, Ondřej Surý <ondrej at sury.org> wrote:
>>>> On Fri, Nov 13, 2009 at 23:55, David Hubbard <david.c.hubbard at gmail.com> wrote:
>>>>> Hi all,
>>>>>
>>>>> I'd like to get the TTL value for a DNS request. I looked at what it
>>>>> would take to add this to struct ub_result and it doesn't look too
>>>>> difficult - patch attached.
>>>>
>>>> Please don't change the existing API. In this case it could be solved
>>>> just by recompiling all dependant programs, but generally changing
>>>> existing API causes a lot of troubles (beware not adding new functions
>>>> and data types - but really changing existing functions).
>>>
>>> I agree - this patch breaks the ABI. I don't think this is an urgent
>>> matter, so would it be acceptable to put this in the queue for
>>> whenever the next major API changes happen?
>>>
>>> I do want to use the full validating resolver (especially dnssec). I
>>> also find the libunbound interface simpler, so my code is easy to
>>> read. I'm trying to replace code that used a different dns resolver
>>> library that has gone dormant and doesn't have dnssec support.
>>>
>>> One possibility is to place unsigned* ttl at the end of struct
>>> ub_result - then existing applications would not break. I think it
>>> "looks nicer" where it is. Either way, it doesn't really matter.
>>>
>>> Thanks for your consideration,
>>> David
>>>
>>>
>>>
>>> _______________________________________________
>>> Unbound-users mailing list
>>> Unbound-users at unbound.net
>>> http://unbound.nlnetlabs.nl/mailman/listinfo/unbound-users
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.9 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/
>
> iEYEARECAAYFAksKbS4ACgkQkDLqNwOhpPhMQQCgnkNJqLmQq7nUOPAEhDqOYF+G
> oMUAn0kaxb4ZbcQiPGyVP3QHXU+FmiXV
> =Lt49
> -----END PGP SIGNATURE-----
>