aboutsummaryrefslogtreecommitdiff
path: root/src/regex/gnunet-daemon-regexprofiler.c
diff options
context:
space:
mode:
authorBart Polot <bart@net.in.tum.de>2013-02-13 10:37:34 +0000
committerBart Polot <bart@net.in.tum.de>2013-02-13 10:37:34 +0000
commita9ac8b77fe468ece9d78de46475bb7c3add5b42f (patch)
treea52c99023eba78a5b562b17e32a91cb9bd98d1b2 /src/regex/gnunet-daemon-regexprofiler.c
parenta874deb287c61ad82338e4e504a47bb255798e6d (diff)
- remove regex daemon dependency to peers' public keys: allow to use HEAD regex with 0.9.5a core and others, allowing also committing regex changes to svn HEAD
Diffstat (limited to 'src/regex/gnunet-daemon-regexprofiler.c')
-rw-r--r--src/regex/gnunet-daemon-regexprofiler.c76
1 files changed, 6 insertions, 70 deletions
diff --git a/src/regex/gnunet-daemon-regexprofiler.c b/src/regex/gnunet-daemon-regexprofiler.c
index acda7ccc41..3ca57b4f30 100644
--- a/src/regex/gnunet-daemon-regexprofiler.c
+++ b/src/regex/gnunet-daemon-regexprofiler.c
@@ -59,11 +59,6 @@ static struct GNUNET_DHT_Handle *dht_handle;
static struct GNUNET_REGEX_announce_handle *announce_handle;
/**
- * Hostkey generation context
- */
-static struct GNUNET_CRYPTO_EccKeyGenerationContext *keygen;
-
-/**
* Periodically reannounce regex.
*/
static GNUNET_SCHEDULER_TaskIdentifier reannounce_task;
@@ -79,11 +74,6 @@ static struct GNUNET_TIME_Relative reannounce_freq;
static struct GNUNET_TIME_Relative announce_delay;
/**
- * Local peer's PeerID.
- */
-static struct GNUNET_PeerIdentity my_full_id;
-
-/**
* Maximal path compression length for regex announcing.
*/
static unsigned long long max_path_compression;
@@ -116,11 +106,6 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "shutting down\n");
- if (NULL != keygen)
- {
- GNUNET_CRYPTO_ecc_key_create_stop (keygen);
- keygen = NULL;
- }
if (NULL != announce_handle)
{
GNUNET_REGEX_announce_cancel (announce_handle);
@@ -146,7 +131,9 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
static void
reannounce_regex (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
{
+ struct GNUNET_PeerIdentity id;
char *regex = cls;
+
reannounce_task = GNUNET_SCHEDULER_NO_TASK;
if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
{
@@ -161,8 +148,9 @@ reannounce_regex (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"First time, creating regex: %s\n",
regex);
+ memset (&id, 0, sizeof (struct GNUNET_PeerIdentity));
announce_handle = GNUNET_REGEX_announce (dht_handle,
- &my_full_id,
+ &id,
regex,
(unsigned int) max_path_compression,
stats_handle);
@@ -273,42 +261,6 @@ load_regexes (const char *filename, char **rx)
/**
- * Callback for hostkey read/generation
- *
- * @param cls Closure (not used).
- * @param pk The private key of the local peer.
- * @param emsg Error message if applicable.
- */
-static void
-key_generation_cb (void *cls,
- struct GNUNET_CRYPTO_EccPrivateKey *pk,
- const char *emsg)
-{
- struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded my_public_key;
-
- keygen = NULL;
- if (NULL == pk)
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Regexprofiler could not access hostkey: %s. Exiting.\n"),
- emsg);
- GNUNET_SCHEDULER_shutdown ();
- return;
- }
-
- GNUNET_CRYPTO_ecc_key_get_public (pk, &my_public_key);
- GNUNET_CRYPTO_hash (&my_public_key, sizeof (my_public_key),
- &my_full_id.hashPubKey);
-
- GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- "Regexprofiler for peer [%s] starting\n",
- GNUNET_i2s(&my_full_id));
- announce_regex (rx_with_pfx);
- GNUNET_free (rx_with_pfx);
-}
-
-
-/**
* @brief Main function that will be run by the scheduler.
*
* @param cls closure
@@ -322,23 +274,10 @@ run (void *cls, char *const *args GNUNET_UNUSED,
const struct GNUNET_CONFIGURATION_Handle *cfg_)
{
char *regex = NULL;
- char *keyfile;
cfg = cfg_;
if (GNUNET_OK !=
- GNUNET_CONFIGURATION_get_value_filename (cfg, "PEER", "PRIVATE_KEY",
- &keyfile))
- {
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _
- ("%s service is lacking key configuration settings (%s). Exiting.\n"),
- "regexdaemon", "peer/privatekey");
- GNUNET_SCHEDULER_shutdown ();
- return;
- }
-
- if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_number (cfg, "REGEXPROFILER", "MAX_PATH_COMPRESSION",
&max_path_compression))
{
@@ -417,12 +356,9 @@ run (void *cls, char *const *args GNUNET_UNUSED,
/* Announcing regexes from policy_filename */
GNUNET_asprintf (&rx_with_pfx, "%s(%s)", regex_prefix, regex);
+ announce_regex (rx_with_pfx);
GNUNET_free (regex);
-
- keygen = GNUNET_CRYPTO_ecc_key_create_start (keyfile,
- &key_generation_cb,
- NULL);
- GNUNET_free (keyfile);
+ GNUNET_free (rx_with_pfx);
/* Scheduled the task to clean up when shutdown is called */
GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task,