]> git.ipfire.org Git - thirdparty/ldns.git/commitdiff
ldns_addrinfo() added
authorMiek Gieben <miekg@NLnetLabs.nl>
Tue, 3 May 2005 09:44:28 +0000 (09:44 +0000)
committerMiek Gieben <miekg@NLnetLabs.nl>
Tue, 3 May 2005 09:44:28 +0000 (09:44 +0000)
TODO
higher.c
ldns/higher.h

diff --git a/TODO b/TODO
index 44a9b388ba9e3c882e5d5a04b50825adcb367f75..ed3440d15718714b62eaee72e4a807be93b12731 100644 (file)
--- a/TODO
+++ b/TODO
@@ -27,7 +27,7 @@ o per RR functions (started, see rr_functions.c)
 o conversion from  ldns_key to key rr's
 o init function? random - load_ssl_errors()
        - SSL_load_error_str()? 
-o implement getaddrinfo() variant for ldns
+o SERVER stuff; open connection and such
 
 To ponder and discuss:
 ----------------------
index 128899f455ad388e4baa2854ceca51f3cc53b347..86c2d6a8db34f1d4b5e5c138dca60fddb749492c 100644 (file)
--- a/higher.c
+++ b/higher.c
@@ -187,3 +187,31 @@ ldns_get_rr_list_hosts_frm_file(char *filename)
        fclose(fp);
        return names;
 }
+
+ldns_rr_list *
+ldns_getaddrinfo(ldns_resolver *res, ldns_rdf *node, ldns_rr_class c)
+{
+       ldns_rdf_type t;
+
+       t = ldns_rdf_get_type(node);
+
+       if (t == LDNS_RDF_TYPE_DNAME) {
+               /* we're asked to query for a name */
+               return ldns_get_rr_list_addr_by_name(
+                               res, node, c, 0);
+       }
+
+       if (t == LDNS_RDF_TYPE_A || t == LDNS_RDF_TYPE_AAAA) {
+               /* an address */
+               return ldns_get_rr_list_name_by_addr(
+                               res, node, c, 0);
+       }
+       
+       return NULL;
+}
+
+ldns_rr_list *
+ldns_getaddrinfo_secure(void)
+{
+       return NULL;
+}
index af9832e29f9ad78b37b0622cd522351c65f3dc82..b8caf2efb6abe259b3eb0fea5c68d1a603357619 100644 (file)
@@ -56,4 +56,21 @@ ldns_rr_list *ldns_get_rr_list_hosts_frm_fp(FILE *fp);
  * \return ldns_rr_list * with the names
  */
 ldns_rr_list *ldns_get_rr_list_hosts_frm_file(char *filename);
+
+/**
+ * This function is a wrapper function for ldns_get_rr_list_name_by_addr
+ * and ldns_get_rr_list_addr_by_name. It's name is from the getaddrinfo() 
+ * library call. It tries to mimic that call, but without the lowlevel
+ * stuff.
+ * \param[in] res The resolver to use 
+ * \param[in] node the name or ip address to look up
+ * \param[in] c the class to look in
+ */
+ldns_rr_list *ldns_getaddrinfo(ldns_resolver *res, ldns_rdf *node, ldns_rr_class c);
+
+/**
+ * 
+ */
+ldns_rr_list *ldns_getaddrinfo_secure();
 #endif /* _LDNS_HIGHER_H */
+