*/
#include "platform.h"
-#include "gnunet_common.h"
-#include "gnunet_constants.h"
#include "gnunet_util_lib.h"
#include "gnunet_hello_lib.h"
#include "gnunet_peerinfo_service.h"
#include "gnunet_statistics_service.h"
#include "gnunet_protocols.h"
-#include "gnunet_signatures.h"
#include "gnunet_transport_plugin.h"
-
#include "transport.h"
/**
/**
* Our public key.
*/
-static struct GNUNET_CRYPTO_EccPublicKey my_public_key;
-
-/**
- * Our identity.
- */
static struct GNUNET_PeerIdentity my_identity;
/**
const char *plugin)
{
struct AddressWrapper *w;
+ struct AddressWrapper *wtmp;
void *s2a;
size_t s2a_len;
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Adding address of length %u\n", addrlen);
+ for (wtmp = head; NULL != wtmp; wtmp = wtmp->next)
+ {
+ if ((addrlen == wtmp->addrlen) && (0 == memcmp (addr, wtmp->addr, addrlen)))
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Duplicate address notification .... \n");
+ return;
+ }
+ }
+
w = GNUNET_new (struct AddressWrapper);
w->addr = GNUNET_malloc (addrlen);
w->addrlen = addrlen;
}
-static void
+static void
env_session_end (void *cls,
const struct GNUNET_PeerIdentity *peer,
struct Session * session)
end_badly_now ();
return;
}
- GNUNET_CRYPTO_ecc_key_get_public (my_private_key, &my_public_key);
- GNUNET_CRYPTO_hash (&my_public_key, sizeof (my_public_key),
- &my_identity.hashPubKey);
-
+ GNUNET_CRYPTO_ecc_key_get_public_for_signature (my_private_key, &my_identity.public_key);
- hello = GNUNET_HELLO_create(&my_public_key, NULL, NULL, GNUNET_NO);
+ hello = GNUNET_HELLO_create (&my_identity.public_key, NULL, NULL, GNUNET_NO);
/* load plugins... */
setup_plugin_environment ();