[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r20018 - gnunet/src/gns
From: |
gnunet |
Subject: |
[GNUnet-SVN] r20018 - gnunet/src/gns |
Date: |
Fri, 24 Feb 2012 18:00:42 +0100 |
Author: schanzen
Date: 2012-02-24 18:00:42 +0100 (Fri, 24 Feb 2012)
New Revision: 20018
Added:
gnunet/src/gns/gns.conf.in
gnunet/src/gns/test_gnunet_gns.sh
Modified:
gnunet/src/gns/Makefile.am
gnunet/src/gns/gnunet-service-gns.c
Log:
-test and config
Modified: gnunet/src/gns/Makefile.am
===================================================================
--- gnunet/src/gns/Makefile.am 2012-02-24 16:48:35 UTC (rev 20017)
+++ gnunet/src/gns/Makefile.am 2012-02-24 17:00:42 UTC (rev 20018)
@@ -12,8 +12,8 @@
plugindir = $(libdir)/gnunet
-#pkgcfg_DATA = \
-# dns.conf
+pkgcfg_DATA = \
+ gns.conf
lib_LTLIBRARIES = \
libgnunetgns.la libgnunetnamestore.la
@@ -24,8 +24,8 @@
#noinst_PROGRAMS = \
# gnunet-gns-lookup
-#check_SCRIPTS = \
-# test_gnunet_dns.sh
+check_SCRIPTS = \
+ test_gnunet_gns.sh
#gnunet_gns_lookup_SOURCES = \
# gnunet-gns-lookup.c
Added: gnunet/src/gns/gns.conf.in
===================================================================
--- gnunet/src/gns/gns.conf.in (rev 0)
+++ gnunet/src/gns/gns.conf.in 2012-02-24 17:00:42 UTC (rev 20018)
@@ -0,0 +1,13 @@
+[gns]
+AUTOSTART = YES
+HOSTNAME = localhost
+HOME = $SERVICEHOME
+CONFIG = $DEFAULTCONFIG
+BINARY = gnunet-service-gns
+UNIXPATH = /tmp/gnunet-service-gns.sock
+
+# Access to this service can compromise all DNS queries in this
+# system. Thus access should be restricted to the same UID.
+# (see https://gnunet.org/gnunet-access-control-model)
+UNIX_MATCH_UID = YES
+UNIX_MATCH_GID = YES
Modified: gnunet/src/gns/gnunet-service-gns.c
===================================================================
--- gnunet/src/gns/gnunet-service-gns.c 2012-02-24 16:48:35 UTC (rev 20017)
+++ gnunet/src/gns/gnunet-service-gns.c 2012-02-24 17:00:42 UTC (rev 20018)
@@ -521,10 +521,10 @@
const struct GNUNET_NAMESTORE_RecordData *rd,
const struct GNUNET_CRYPTO_RsaSignature *signature)
{
- struct GNUNET_GNS_ResolverHandle *query;
+ struct GNUNET_GNS_ResolverHandle *rh;
GNUNET_HashCode zone;
- query = (struct GNUNET_GNS_ResolverHandle *)cls;
+ rh = (struct GNUNET_GNS_ResolverHandle *)cls;
GNUNET_CRYPTO_hash(key, GNUNET_CRYPTO_RSA_KEY_LENGTH, &zone);
/**
@@ -547,7 +547,7 @@
/**
* Last hope
*/
- resolve_authority_dht(query, name);
+ resolve_authority_dht(rh, name);
return;
}
@@ -560,9 +560,9 @@
GNUNET_assert(rd->record_type == GNUNET_GNS_RECORD_PKEY);
GNUNET_HashCode *pkey_hash = GNUNET_malloc(sizeof(GNUNET_HashCode));
GNUNET_CRYPTO_hash(rd->data, GNUNET_CRYPTO_RSA_KEY_LENGTH, pkey_hash);
- GNUNET_free_non_null(query->authority);
- query->authority = pkey_hash;
- resolve_name(query, query->authority);
+ GNUNET_free_non_null(rh->authority);
+ rh->authority = pkey_hash;
+ resolve_name(rh, rh->authority);
}
@@ -611,8 +611,12 @@
packet->num_additional_records = 0;
packet->num_answers = rd_count; //answer->num_records;
//packet.num_authority_records = 0;//answer->num_authority_records;
+
+ if (NULL == rh->authority)
+ dnsflags.authoritative_answer = 1;
+ else
+ dnsflags.authoritative_answer = 0;
- dnsflags.authoritative_answer = 1;
dnsflags.message_truncated = 0;
dnsflags.recursion_desired = 0;
dnsflags.authenticated_data = 0;
@@ -620,10 +624,12 @@
dnsflags.zero = 0;
dnsflags.recursion_available = 0;
dnsflags.opcode = GNUNET_DNSPARSER_OPCODE_QUERY;
+
if (rd == NULL)
dnsflags.return_code = GNUNET_DNSPARSER_RETURN_CODE_NAME_ERROR;
else
dnsflags.return_code = GNUNET_DNSPARSER_RETURN_CODE_NO_ERROR;
+
dnsflags.query_or_response = 1;
packet->flags = dnsflags;
@@ -896,6 +902,7 @@
rh = GNUNET_malloc(sizeof (struct GNUNET_GNS_ResolverHandle));
rh->packet = p;
rh->query = q;
+ rh->authority = NULL;
//FIXME do not forget to free!!
rh->name = GNUNET_malloc(strlen(q->name)
Added: gnunet/src/gns/test_gnunet_gns.sh
===================================================================
--- gnunet/src/gns/test_gnunet_gns.sh (rev 0)
+++ gnunet/src/gns/test_gnunet_gns.sh 2012-02-24 17:00:42 UTC (rev 20018)
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+ME=`whoami`
+if [ "$ME" != "root" ]
+then
+ echo "This test only works if run as root. Skipping."
+ exit 0
+fi
+export PATH=".:$PATH"
+gnunet-service-gns -c gns.conf &
+sleep 1
+LO=`nslookup alice.gnunet | grep Address | tail -n1`
+if [ "$LO" != "Address: 1.2.3.4" ]
+then
+ echo "Fail: $LO"
+fi
+LO=`nslookup www.bob.gnunet | grep Address | tail -n1`
+if [ "$LO" != "Address: 4.5.6.7" ]
+then
+ echo "Fail: $LO"
+fi
+kill `jobs -p`
Property changes on: gnunet/src/gns/test_gnunet_gns.sh
___________________________________________________________________
Added: svn:executable
+ *
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r20018 - gnunet/src/gns,
gnunet <=