Added command ipfs dns
This commit is contained in:
parent
5f22be643c
commit
a569159cc2
8 changed files with 114 additions and 2 deletions
18
dnslink/Makefile
Normal file
18
dnslink/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/include -I../../c-protobuf -Wall
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
CFLAGS += -g3
|
||||||
|
endif
|
||||||
|
|
||||||
|
LFLAGS =
|
||||||
|
DEPS =
|
||||||
|
OBJS = dnslink.o
|
||||||
|
|
||||||
|
%.o: %.c $(DEPS)
|
||||||
|
$(CC) -c -o $@ $< $(CFLAGS)
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
|
@ -55,6 +55,35 @@ Expect these resolutions:
|
||||||
#include "ipfs/cid/cid.h"
|
#include "ipfs/cid/cid.h"
|
||||||
#include "ipfs/path/path.h"
|
#include "ipfs/path/path.h"
|
||||||
|
|
||||||
|
int ipfs_dns (int argc, char **argv)
|
||||||
|
{
|
||||||
|
int err;
|
||||||
|
char **txt, *path;
|
||||||
|
|
||||||
|
if (argc != 3) {
|
||||||
|
fprintf (stderr, "usage: ipfs dns dns.name.com\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = ipfs_dnslink_resolv_lookupTXT (&txt, argv[2]);
|
||||||
|
if (err) {
|
||||||
|
fprintf (stderr, "dns lookupTXT: %s\n", Err[err]);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
|
||||||
|
err = ipfs_dnslink_parse_txt(&path, *txt);
|
||||||
|
if (err) {
|
||||||
|
fprintf (stderr, "dns parse_txt: %s\n", Err[err]);
|
||||||
|
return err;
|
||||||
|
}
|
||||||
|
free (*txt);
|
||||||
|
free (txt);
|
||||||
|
fprintf (stdout, "%s\n", path);
|
||||||
|
free (path);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
// ipfs_dnslink_resolve resolves the dnslink at a particular domain. It will
|
// ipfs_dnslink_resolve resolves the dnslink at a particular domain. It will
|
||||||
// recursively keep resolving until reaching the defaultDepth of Resolver. If
|
// recursively keep resolving until reaching the defaultDepth of Resolver. If
|
||||||
// the depth is reached, ipfs_dnslink_resolve will return the last value
|
// the depth is reached, ipfs_dnslink_resolve will return the last value
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
CC = gcc
|
CC = gcc
|
||||||
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/ -I../../c-protobuf -g3 -Wall
|
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/ -I../../c-protobuf -g3 -Wall
|
||||||
LFLAGS = -L../../c-libp2p -L../../c-multihash -L../../c-multiaddr -lp2p -lm -lmultihash -lmultiaddr -lpthread
|
LFLAGS = -L../../c-libp2p -L../../c-multihash -L../../c-multiaddr -lp2p -lm -lmultihash -lmultiaddr -lpthread -lresolv
|
||||||
DEPS = cmd/ipfs/test_init.h repo/test_repo_bootstrap_peers.h repo/test_repo_config.h repo/test_repo_identity.h cid/test_cid.h
|
DEPS = cmd/ipfs/test_init.h repo/test_repo_bootstrap_peers.h repo/test_repo_config.h repo/test_repo_identity.h cid/test_cid.h
|
||||||
OBJS = main.o \
|
OBJS = main.o \
|
||||||
../blocks/block.o ../blocks/blockstore.o \
|
../blocks/block.o ../blocks/blockstore.o \
|
||||||
|
@ -12,6 +12,9 @@ OBJS = main.o \
|
||||||
../flatfs/flatfs.o \
|
../flatfs/flatfs.o \
|
||||||
../importer/importer.o \
|
../importer/importer.o \
|
||||||
../importer/exporter.o \
|
../importer/exporter.o \
|
||||||
|
../dnslink/dnslink.o \
|
||||||
|
../path/path.o \
|
||||||
|
../namesys/isdomain.o \
|
||||||
../merkledag/merkledag.o ../merkledag/node.o \
|
../merkledag/merkledag.o ../merkledag/node.o \
|
||||||
../multibase/multibase.o \
|
../multibase/multibase.o \
|
||||||
../os/utils.o \
|
../os/utils.o \
|
||||||
|
@ -34,4 +37,4 @@ all: ipfs
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o
|
rm -f *.o
|
||||||
rm -f ipfs
|
rm -f ipfs
|
||||||
|
|
BIN
main/ipfs
BIN
main/ipfs
Binary file not shown.
|
@ -4,6 +4,7 @@
|
||||||
#include "ipfs/repo/init.h"
|
#include "ipfs/repo/init.h"
|
||||||
#include "ipfs/importer/importer.h"
|
#include "ipfs/importer/importer.h"
|
||||||
#include "ipfs/importer/exporter.h"
|
#include "ipfs/importer/exporter.h"
|
||||||
|
#include "ipfs/dnslink/dnslink.h"
|
||||||
|
|
||||||
void stripit(int argc, char** argv) {
|
void stripit(int argc, char** argv) {
|
||||||
char tmp[strlen(argv[argc])];
|
char tmp[strlen(argv[argc])];
|
||||||
|
@ -24,6 +25,7 @@ void strip_quotes(int argc, char** argv) {
|
||||||
#define INIT 1
|
#define INIT 1
|
||||||
#define ADD 2
|
#define ADD 2
|
||||||
#define OBJECT_GET 3
|
#define OBJECT_GET 3
|
||||||
|
#define DNS 4
|
||||||
|
|
||||||
/***
|
/***
|
||||||
* Basic parsing of command line arguments to figure out where the user wants to go
|
* Basic parsing of command line arguments to figure out where the user wants to go
|
||||||
|
@ -42,6 +44,9 @@ int parse_arguments(int argc, char** argv) {
|
||||||
if (strcmp("object", argv[1]) == 0 && argc > 2 && strcmp("get", argv[2]) == 0) {
|
if (strcmp("object", argv[1]) == 0 && argc > 2 && strcmp("get", argv[2]) == 0) {
|
||||||
return OBJECT_GET;
|
return OBJECT_GET;
|
||||||
}
|
}
|
||||||
|
if (strcmp("dns", argv[1]) == 0) {
|
||||||
|
return DNS;
|
||||||
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,5 +66,8 @@ int main(int argc, char** argv) {
|
||||||
case (OBJECT_GET):
|
case (OBJECT_GET):
|
||||||
ipfs_exporter_object_get(argc, argv);
|
ipfs_exporter_object_get(argc, argv);
|
||||||
break;
|
break;
|
||||||
|
case (DNS):
|
||||||
|
ipfs_dns(argc, argv);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
18
namesys/Makefile
Normal file
18
namesys/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/include -I../../c-protobuf -Wall
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
CFLAGS += -g3
|
||||||
|
endif
|
||||||
|
|
||||||
|
LFLAGS =
|
||||||
|
DEPS =
|
||||||
|
OBJS = base.o dns.o isdomain.o namesys.o pb.o proquint.o publisher.o routing.o
|
||||||
|
|
||||||
|
%.o: %.c $(DEPS)
|
||||||
|
$(CC) -c -o $@ $< $(CFLAGS)
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
18
path/Makefile
Normal file
18
path/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/include -I../../c-protobuf -Wall
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
CFLAGS += -g3
|
||||||
|
endif
|
||||||
|
|
||||||
|
LFLAGS =
|
||||||
|
DEPS =
|
||||||
|
OBJS = path.o
|
||||||
|
|
||||||
|
%.o: %.c $(DEPS)
|
||||||
|
$(CC) -c -o $@ $< $(CFLAGS)
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
18
util/Makefile
Normal file
18
util/Makefile
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
CC = gcc
|
||||||
|
CFLAGS = -O0 -I../include -I../../c-libp2p/include -I../../c-multihash/include -I../../c-multiaddr/include -I../../c-protobuf -Wall
|
||||||
|
|
||||||
|
ifdef DEBUG
|
||||||
|
CFLAGS += -g3
|
||||||
|
endif
|
||||||
|
|
||||||
|
LFLAGS =
|
||||||
|
DEPS =
|
||||||
|
OBJS = errs.o time.o
|
||||||
|
|
||||||
|
%.o: %.c $(DEPS)
|
||||||
|
$(CC) -c -o $@ $< $(CFLAGS)
|
||||||
|
|
||||||
|
all: $(OBJS)
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *.o
|
Loading…
Reference in a new issue