diff --git a/include/ipfs/namesys/namesys.h b/include/ipfs/namesys/namesys.h index aaa70e5..7c0fe3c 100644 --- a/include/ipfs/namesys/namesys.h +++ b/include/ipfs/namesys/namesys.h @@ -59,10 +59,11 @@ typedef struct s_DNSResolver { // TODO + int (*lookupTXT) (char ***, char *); } DNSResolver; - int ipfs_dns_resolver_resolve_once (DNSResolver *r, char **path, char *name); + int ipfs_dns_resolver_resolve_once (char **path, char *name); int ipfs_dns_work_domain (int output, DNSResolver *r, char *name); - int ipfs_dns_parse_entry (char **Path, char *txt); - int ipfs_dns_try_parse_dns_link (char **Path, char *txt); + int ipfs_dns_parse_entry (char **path, char *txt); + int ipfs_dns_try_parse_dns_link(char **path, char *txt); #endif //NAMESYS_H diff --git a/namesys/namesys.c b/namesys/namesys.c index 9b3abff..56294bd 100644 --- a/namesys/namesys.c +++ b/namesys/namesys.c @@ -4,6 +4,7 @@ #include "ipfs/cid/cid.h" #include "ipfs/path/path.h" #include "ipfs/namesys/namesys.h" +#include "ipfs/dnslink/dnslink.h" /* mpns (a multi-protocol NameSystem) implements generic IPFS naming. * @@ -31,7 +32,7 @@ func NewNameSystem(r routing.ValueStore, ds ds.Datastore, cachesize int) NameSys } }*/ -const DefaultResolverCacheTTL = time.Minute; +const DefaultResolverCacheTTL = 60; // ipfs_namesys_resolve implements Resolver. int ipfs_namesys_resolve(char **path, char *name) @@ -94,11 +95,14 @@ int ipfs_namesys_resolve_once (char **path, char *name) char *ptr = NULL; char **segs; int i, err = 0; + struct DNSResolver dnsr; if (!name) { // NULL pointer. return ErrNULLPointer; } + dnsr.lookupTXT = ipfs_dnslink_resolv_lookupTXT; + if (memcmp (name, ipns_prefix, strlen(ipns_prefix)) == 0) { // prefix missing. i = strlen(name) + sizeof(ipns_prefix); ptr = malloc(i);