diff options
author | Bart Polot <bart@net.in.tum.de> | 2013-02-13 10:37:34 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2013-02-13 10:37:34 +0000 |
commit | a9ac8b77fe468ece9d78de46475bb7c3add5b42f (patch) | |
tree | a52c99023eba78a5b562b17e32a91cb9bd98d1b2 /src/regex/gnunet-daemon-regexprofiler.c | |
parent | a874deb287c61ad82338e4e504a47bb255798e6d (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.c | 76 |
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, |