• Show log

    Commit

  • Hash : 8800b17a
    Author : mkm
    Date : 2022-11-01T14:26:11

    evdns: integrate deferred_response_callback into evdns_request
    
    the allocation of the struct deferred_reply_callback can fail. If that
    happens a program waiting for a callback never gets a callback. The
    program would asume that it either gets an error or a callback when e.g.
    calling evdns_base_resolve_ipv6.
    
    I did an analysis of the evdns.c code and concluded that struct
    evdns_request would live until the callback is executed. Based on that
    conclusion I removed the struct deferred_reply_callback and moved the
    neccessary fields for data which should be copied from struct request
    into struct evdns_request.
    
    The fields evdns_callback_type user_callback and void *user_pointer are
    moved into struct evdns_request as it is a more natural place for them
    to live than struct request.