chiark / gitweb /
Various manual fixes.
[mLib] / bres-adns.c
index 54e6708cf3b515fa4465d547034fae30a2412611..e0a034adbb488d69153d20a0f2b0d9206582cd91 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-c-*-
  *
- * $Id: bres-adns.c,v 1.1 2003/12/13 20:37:59 mdw Exp $
+ * $Id$
  *
  * Background reverse name resolution (ADNS version)
  *
  * must be licensed under the full GPL.
  */
 
-/*----- Revision history --------------------------------------------------* 
- *
- * $Log: bres-adns.c,v $
- * Revision 1.1  2003/12/13 20:37:59  mdw
- * Add adns support in background resolver.
- *
- */
-
 #ifndef HAVE_ADNS
 #  error "You need the ADNS library to compile this file."
 #endif
@@ -163,7 +155,7 @@ void bres_byname(bres_client *rc, const char *name,
 
   if (!ads) goto fail;
   if ((e = adns_submit(ads, name, adns_r_addr,
-                      adns_qf_search, rc, &rc->aq)) != 0)
+                      adns_qf_search | adns_qf_owner, rc, &rc->aq)) != 0)
     goto fail;
   rc->a = 0;
   rc->q = adns_r_addr;
@@ -276,8 +268,8 @@ static void afterhook(sel_state *s, sel_args *sa, void *p)
     else switch (rc->q) {
       case adns_r_addr:
        assert(a->type == adns_r_addr);
-       report(rc, a, a->rrs.addr, a->nrrs, &rc->u.name, 1);
-       free(rc->u.name);
+       report(rc, a, a->rrs.addr, a->nrrs, &a->owner, 1);
+       xfree(rc->u.name);
        free(a);
        break;
       case adns_r_ptr:
@@ -328,7 +320,7 @@ void bres_init(sel_state *s)
 {
   int e;
 
-  if ((e = adns_init(&ads, 0, 0)) != 0) {
+  if ((e = adns_init(&ads, adns_if_noautosys, 0)) != 0) {
     moan("adns_init failed: resolver won't work");
     return;
   }