[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11149 - in gnunet: . src/hello src/hostlist src/include sr
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11149 - in gnunet: . src/hello src/hostlist src/include src/peerinfo src/peerinfo-tool src/topology src/transport |
Date: |
Sun, 2 May 2010 14:01:06 +0200 |
Author: grothoff
Date: 2010-05-02 14:01:06 +0200 (Sun, 02 May 2010)
New Revision: 11149
Modified:
gnunet/ChangeLog
gnunet/src/hello/hello.c
gnunet/src/hostlist/hostlist-server.c
gnunet/src/include/gnunet_hello_lib.h
gnunet/src/peerinfo-tool/gnunet-peerinfo.c
gnunet/src/peerinfo/gnunet-service-peerinfo.c
gnunet/src/topology/gnunet-daemon-topology.c
gnunet/src/transport/gnunet-service-transport.c
gnunet/src/transport/plugin_transport.h
gnunet/src/transport/test_plugin_transport_http.c
Log:
reducing address size in hello to 16 bit
Modified: gnunet/ChangeLog
===================================================================
--- gnunet/ChangeLog 2010-05-02 11:48:52 UTC (rev 11148)
+++ gnunet/ChangeLog 2010-05-02 12:01:06 UTC (rev 11149)
@@ -1,3 +1,9 @@
+Sun May 2 13:49:10 CEST 2010
+ Fixed problem with platform-dependence of format for IP addresses
+ in HELLOs for TCP and UDP transport.
+ Reduced address length field in HELLOs to 16 bit (was 32 bit).
+ These changes break transport compatibility.
+
Fri Apr 16 18:19:05 CEST 2010
Nearly complete rewrite and new overall architecture. Many
features are still missing, but basic system seems to be
Modified: gnunet/src/hello/hello.c
===================================================================
--- gnunet/src/hello/hello.c 2010-05-02 11:48:52 UTC (rev 11148)
+++ gnunet/src/hello/hello.c 2010-05-02 12:01:06 UTC (rev 11149)
@@ -35,7 +35,7 @@
* the format:
*
* 1) transport-name (0-terminated)
- * 2) address-length (uint32_t, network byte order; possibly
+ * 2) address-length (uint16_t, network byte order; possibly
* unaligned!)
* 3) address expiration (GNUNET_TIME_AbsoluteNBO); possibly
* unaligned!)
@@ -78,21 +78,21 @@
GNUNET_HELLO_add_address (const char *tname,
struct GNUNET_TIME_Absolute expiration,
const void *addr,
- size_t addr_len, char *target, size_t max)
+ uint16_t addr_len, char *target, size_t max)
{
- uint32_t alen;
+ uint16_t alen;
size_t slen;
struct GNUNET_TIME_AbsoluteNBO exp;
slen = strlen (tname) + 1;
- if (slen + sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
+ if (slen + sizeof (uint16_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO) +
addr_len > max)
return 0;
exp = GNUNET_TIME_absolute_hton (expiration);
- alen = htonl ((uint32_t) addr_len);
+ alen = htons (addr_len);
memcpy (target, tname, slen);
- memcpy (&target[slen], &alen, sizeof (uint32_t));
- slen += sizeof (uint32_t);
+ memcpy (&target[slen], &alen, sizeof (uint16_t));
+ slen += sizeof (uint16_t);
memcpy (&target[slen], &exp, sizeof (struct GNUNET_TIME_AbsoluteNBO));
slen += sizeof (struct GNUNET_TIME_AbsoluteNBO);
memcpy (&target[slen], addr, addr_len);
@@ -110,10 +110,10 @@
* @return size of the entry, or 0 if max is not large enough
*/
static size_t
-get_hello_address_size (const char *buf, size_t max, uint32_t * ralen)
+get_hello_address_size (const char *buf, size_t max, uint16_t * ralen)
{
const char *pos;
- uint32_t alen;
+ uint16_t alen;
size_t left;
size_t slen;
@@ -134,16 +134,16 @@
return 0;
}
pos++;
- if (left < sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO))
+ if (left < sizeof (uint16_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO))
{
/* not enough space for addrlen */
GNUNET_break_op (0);
return 0;
}
- memcpy (&alen, pos, sizeof (uint32_t));
- alen = ntohl (alen);
+ memcpy (&alen, pos, sizeof (uint16_t));
+ alen = ntohs (alen);
*ralen = alen;
- slen += alen + sizeof (uint32_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO);
+ slen += alen + sizeof (uint16_t) + sizeof (struct GNUNET_TIME_AbsoluteNBO);
if (max < slen)
{
/* not enough space for addr */
@@ -215,7 +215,7 @@
size_t esize;
size_t wpos;
char *woff;
- uint32_t alen;
+ uint16_t alen;
struct GNUNET_TIME_AbsoluteNBO expire;
int iret;
@@ -275,7 +275,7 @@
{
const void *addr;
const char *tname;
- size_t addrlen;
+ uint16_t addrlen;
int found;
struct GNUNET_TIME_Absolute expiration;
};
@@ -285,7 +285,7 @@
get_match_exp (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct ExpireContext *ec = cls;
@@ -318,7 +318,7 @@
copy_latest (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct MergeContext *mc = cls;
struct ExpireContext ec;
@@ -400,7 +400,7 @@
delta_match (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct DeltaContext *dc = cls;
int ret;
@@ -545,9 +545,10 @@
struct GNUNET_TIME_Absolute expiration;
- size_t addrlen;
+ int found;
- int found;
+ uint16_t addrlen;
+
};
@@ -555,7 +556,7 @@
find_other_matching (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct EqualsContext *ec = cls;
@@ -584,7 +585,7 @@
find_matching (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct EqualsContext *ec = cls;
Modified: gnunet/src/hostlist/hostlist-server.c
===================================================================
--- gnunet/src/hostlist/hostlist-server.c 2010-05-02 11:48:52 UTC (rev
11148)
+++ gnunet/src/hostlist/hostlist-server.c 2010-05-02 12:01:06 UTC (rev
11149)
@@ -163,7 +163,8 @@
check_has_addr (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr,
+ uint16_t addrlen)
{
int *arg = cls;
Modified: gnunet/src/include/gnunet_hello_lib.h
===================================================================
--- gnunet/src/include/gnunet_hello_lib.h 2010-05-02 11:48:52 UTC (rev
11148)
+++ gnunet/src/include/gnunet_hello_lib.h 2010-05-02 12:01:06 UTC (rev
11149)
@@ -64,7 +64,7 @@
GNUNET_HELLO_add_address (const char *tname,
struct GNUNET_TIME_Absolute expiration,
const void *addr,
- size_t addr_len, char *target, size_t max);
+ uint16_t addr_len, char *target, size_t max);
/**
@@ -160,7 +160,8 @@
(*GNUNET_HELLO_AddressIterator) (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen);
+ const void *addr,
+ uint16_t addrlen);
/**
Modified: gnunet/src/peerinfo/gnunet-service-peerinfo.c
===================================================================
--- gnunet/src/peerinfo/gnunet-service-peerinfo.c 2010-05-02 11:48:52 UTC
(rev 11148)
+++ gnunet/src/peerinfo/gnunet-service-peerinfo.c 2010-05-02 12:01:06 UTC
(rev 11149)
@@ -151,7 +151,7 @@
discard_expired (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
const struct GNUNET_TIME_Absolute *now = cls;
if (now->value > expiration.value)
Modified: gnunet/src/peerinfo-tool/gnunet-peerinfo.c
===================================================================
--- gnunet/src/peerinfo-tool/gnunet-peerinfo.c 2010-05-02 11:48:52 UTC (rev
11148)
+++ gnunet/src/peerinfo-tool/gnunet-peerinfo.c 2010-05-02 12:01:06 UTC (rev
11149)
@@ -116,7 +116,7 @@
count_address (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct PrintContext *pc = cls;
pc->off++;
@@ -138,7 +138,7 @@
print_address (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr, uint16_t addrlen)
{
struct PrintContext *pc = cls;
GNUNET_TRANSPORT_address_lookup (sched,
Modified: gnunet/src/topology/gnunet-daemon-topology.c
===================================================================
--- gnunet/src/topology/gnunet-daemon-topology.c 2010-05-02 11:48:52 UTC
(rev 11148)
+++ gnunet/src/topology/gnunet-daemon-topology.c 2010-05-02 12:01:06 UTC
(rev 11149)
@@ -841,7 +841,8 @@
address_iterator (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr,
+ uint16_t addrlen)
{
int *flag = cls;
*flag = GNUNET_YES;
Modified: gnunet/src/transport/gnunet-service-transport.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport.c 2010-05-02 11:48:52 UTC
(rev 11148)
+++ gnunet/src/transport/gnunet-service-transport.c 2010-05-02 12:01:06 UTC
(rev 11149)
@@ -166,11 +166,6 @@
GNUNET_SCHEDULER_TaskIdentifier revalidate_task;
/**
- * Length of addr.
- */
- size_t addrlen;
-
- /**
* The address.
*/
const void *addr;
@@ -209,6 +204,11 @@
uint32_t distance;
/**
+ * Length of addr.
+ */
+ uint16_t addrlen;
+
+ /**
* Have we ever estimated the latency of this address? Used to
* ensure that the first time we add an address, we immediately
* probe its latency.
@@ -264,7 +264,7 @@
/**
* Length of addr.
*/
- size_t addrlen;
+ uint16_t addrlen;
};
@@ -623,7 +623,7 @@
/**
* Size of address appended to this message
*/
- size_t addrlen;
+ uint16_t addrlen;
};
@@ -734,14 +734,14 @@
struct Session *session;
/**
- * Length of addr.
+ * Challenge number we used.
*/
- size_t addrlen;
+ uint32_t challenge;
/**
- * Challenge number we used.
+ * Length of addr.
*/
- uint32_t challenge;
+ uint16_t addrlen;
};
@@ -1403,7 +1403,7 @@
static const char*
a2s (const char *plugin,
const void *addr,
- size_t addr_len)
+ uint16_t addr_len)
{
struct TransportPlugin *p;
@@ -2040,7 +2040,7 @@
plugin_env_notify_address (void *cls,
const char *name,
const void *addr,
- size_t addrlen,
+ uint16_t addrlen,
struct GNUNET_TIME_Relative expires)
{
struct TransportPlugin *p = cls;
@@ -2156,7 +2156,7 @@
const char *tname,
struct Session *session,
const char *addr,
- size_t addrlen)
+ uint16_t addrlen)
{
struct ReadyList *head;
struct ForeignAddressList *pos;
@@ -2202,7 +2202,7 @@
const char *tname,
struct Session *session,
const char *addr,
- size_t addrlen)
+ uint16_t addrlen)
{
struct ReadyList *head;
struct ForeignAddressList *ret;
@@ -2315,14 +2315,15 @@
struct Session *session;
/**
- * Length of addr.
+ * Set to GNUNET_YES if the address exists.
*/
- size_t addrlen;
+ int exists;
/**
- * Set to GNUNET_YES if the address exists.
+ * Length of addr.
*/
- int exists;
+ uint16_t addrlen;
+
};
@@ -2437,7 +2438,8 @@
add_to_foreign_address_list (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr,
+ uint16_t addrlen)
{
struct NeighbourList *n = cls;
struct ForeignAddressList *fal;
@@ -3492,7 +3494,8 @@
run_validation (void *cls,
const char *tname,
struct GNUNET_TIME_Absolute expiration,
- const void *addr, size_t addrlen)
+ const void *addr,
+ uint16_t addrlen)
{
struct CheckHelloValidatedContext *chvc = cls;
struct GNUNET_PeerIdentity id;
@@ -3932,7 +3935,7 @@
handle_ping(void *cls, const struct GNUNET_MessageHeader *message,
const struct GNUNET_PeerIdentity *peer,
const char *sender_address,
- size_t sender_address_len)
+ uint16_t sender_address_len)
{
struct TransportPlugin *plugin = cls;
struct TransportPingMessage *ping;
@@ -4072,7 +4075,7 @@
uint32_t distance,
struct Session *session,
const char *sender_address,
- size_t sender_address_len)
+ uint16_t sender_address_len)
{
struct TransportPlugin *plugin = cls;
struct ReadyList *service_context;
Modified: gnunet/src/transport/plugin_transport.h
===================================================================
--- gnunet/src/transport/plugin_transport.h 2010-05-02 11:48:52 UTC (rev
11148)
+++ gnunet/src/transport/plugin_transport.h 2010-05-02 12:01:06 UTC (rev
11149)
@@ -90,7 +90,7 @@
uint32_t distance,
struct Session *session,
const char *sender_address,
-
size_t sender_address_len);
+
uint16_t sender_address_len);
/**
@@ -107,7 +107,7 @@
typedef void (*GNUNET_TRANSPORT_AddressNotification) (void *cls,
const char *name,
const void *addr,
- size_t addrlen,
+ uint16_t addrlen,
struct
GNUNET_TIME_Relative
expires);
Modified: gnunet/src/transport/test_plugin_transport_http.c
===================================================================
--- gnunet/src/transport/test_plugin_transport_http.c 2010-05-02 11:48:52 UTC
(rev 11148)
+++ gnunet/src/transport/test_plugin_transport_http.c 2010-05-02 12:01:06 UTC
(rev 11149)
@@ -98,7 +98,7 @@
uint32_t distance,
struct Session *session,
const char *sender_address,
- size_t sender_address_len)
+ uint16_t sender_address_len)
{
/* do nothing */
return GNUNET_TIME_UNIT_ZERO;
@@ -108,7 +108,8 @@
notify_address (void *cls,
const char *name,
const void *addr,
- size_t addrlen, struct GNUNET_TIME_Relative expires)
+ uint16_t addrlen,
+ struct GNUNET_TIME_Relative expires)
{
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11149 - in gnunet: . src/hello src/hostlist src/include src/peerinfo src/peerinfo-tool src/topology src/transport,
gnunet <=