[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r13215 - in gnunet/src: block include vpn
From: |
gnunet |
Subject: |
[GNUnet-SVN] r13215 - in gnunet/src: block include vpn |
Date: |
Fri, 8 Oct 2010 09:36:37 +0200 |
Author: toelke
Date: 2010-10-08 09:36:36 +0200 (Fri, 08 Oct 2010)
New Revision: 13215
Added:
gnunet/src/include/gnunet_block_dns.h
Removed:
gnunet/src/vpn/gnunet-block-dns.h
Modified:
gnunet/src/block/plugin_block_dns.c
Log:
hash and validate a dns-block
Modified: gnunet/src/block/plugin_block_dns.c
===================================================================
--- gnunet/src/block/plugin_block_dns.c 2010-10-08 07:36:36 UTC (rev 13214)
+++ gnunet/src/block/plugin_block_dns.c 2010-10-08 07:36:36 UTC (rev 13215)
@@ -26,6 +26,7 @@
#include "platform.h"
#include "plugin_block.h"
+#include "gnunet_block_dns.h"
#define DEBUG_DHT GNUNET_NO
@@ -60,9 +61,19 @@
case GNUNET_BLOCK_TYPE_DNS:
if (xquery_size != 0)
return GNUNET_BLOCK_EVALUATION_REQUEST_INVALID;
+
if (reply_block_size == 0)
return GNUNET_BLOCK_EVALUATION_REQUEST_VALID;
- return GNUNET_BLOCK_EVALUATION_OK_LAST;
+
+ if (reply_block_size < sizeof(struct GNUNET_DNS_Record))
+ return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
+
+ const struct GNUNET_DNS_Record* rec = reply_block;
+ if(reply_block_size != (sizeof(struct GNUNET_DNS_Record) + rec->namelen -
1))
+ return GNUNET_BLOCK_EVALUATION_RESULT_INVALID;
+
+ /* How to decide whether there are no more? */
+ return GNUNET_BLOCK_EVALUATION_OK_MORE;
default:
return GNUNET_BLOCK_EVALUATION_TYPE_NOT_SUPPORTED;
}
@@ -89,7 +100,8 @@
{
if (type != GNUNET_BLOCK_TYPE_DNS)
return GNUNET_SYSERR;
- return GNUNET_SYSERR;
+ GNUNET_CRYPTO_hash(block, block_size, key);
+ return GNUNET_OK;
}
/**
Copied: gnunet/src/include/gnunet_block_dns.h (from rev 13214,
gnunet/src/vpn/gnunet-block-dns.h)
===================================================================
--- gnunet/src/include/gnunet_block_dns.h (rev 0)
+++ gnunet/src/include/gnunet_block_dns.h 2010-10-08 07:36:36 UTC (rev
13215)
@@ -0,0 +1,49 @@
+#ifndef _GNVPN_BLOCKDNS_H_
+#define _GNVPN_BLOCKDNS_H_
+
+#include "gnunet_common.h"
+
+/**
+ * Bitmask describing what ip-services are supported by services
+ * It is 2 bytes long
+ */
+struct GNUNET_ipservices {
+ unsigned UDP:1 GNUNET_PACKED;
+ unsigned TCP:1 GNUNET_PACKED;
+ unsigned RESERVED:14 GNUNET_PACKED;
+};
+
+/**
+ * This is the structure describing an dns-record such as www.gnunet.
+ */
+struct GNUNET_DNS_Record
+{
+ /**
+ * The peer providing this service
+ */
+ struct GNUNET_PeerIdentity peer;
+
+ /**
+ * The descriptor for the service
+ * (a peer may provide more than one service)
+ */
+ GNUNET_HashCode service_descriptor;
+
+ /**
+ * What connection-types (UDP, TCP, ...) are supported by the service
+ */
+ struct GNUNET_ipservices connectiontypes;
+
+ /**
+ * The length of the name of the service
+ */
+ unsigned char namelen;
+
+ /**
+ * The name of the service
+ * This is namelen bytes
+ */
+ char name[1];
+};
+
+#endif
Deleted: gnunet/src/vpn/gnunet-block-dns.h
===================================================================
--- gnunet/src/vpn/gnunet-block-dns.h 2010-10-08 07:36:36 UTC (rev 13214)
+++ gnunet/src/vpn/gnunet-block-dns.h 2010-10-08 07:36:36 UTC (rev 13215)
@@ -1,49 +0,0 @@
-#ifndef _GNVPN_BLOCKDNS_H_
-#define _GNVPN_BLOCKDNS_H_
-
-#include "gnunet_common.h"
-
-/**
- * Bitmask describing what ip-services are supported by services
- * It is 2 bytes long
- */
-struct GNUNET_ipservices {
- unsigned UDP:1 GNUNET_PACKED;
- unsigned TCP:1 GNUNET_PACKED;
- unsigned RESERVED:14 GNUNET_PACKED;
-};
-
-/**
- * This is the structure describing an dns-record such as www.gnunet.
- */
-struct GNUNET_DNS_Record
-{
- /**
- * The peer providing this service
- */
- struct GNUNET_PeerIdentity peer;
-
- /**
- * The descriptor for the service
- * (a peer may provide more than one service)
- */
- GNUNET_HashCode service_descriptor;
-
- /**
- * What connection-types (UDP, TCP, ...) are supported by the service
- */
- struct GNUNET_ipservices connectiontypes;
-
- /**
- * The length of the name of the service
- */
- unsigned char namelen;
-
- /**
- * The name of the service
- * This is namelen bytes
- */
- char name[1];
-};
-
-#endif
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r13215 - in gnunet/src: block include vpn,
gnunet <=