diff options
author | Matthias Wachs <wachs@net.in.tum.de> | 2013-05-24 15:09:24 +0000 |
---|---|---|
committer | Matthias Wachs <wachs@net.in.tum.de> | 2013-05-24 15:09:24 +0000 |
commit | 35d6d1fdb709652281696ee14b7af299cfabb870 (patch) | |
tree | 28f7a805a0840404df02a8ae1c83f2c1d0fb713b | |
parent | 21abf49607496fcce4b977b225cc44870fb1137f (diff) | |
download | gnunet-35d6d1fdb709652281696ee14b7af299cfabb870.tar.gz gnunet-35d6d1fdb709652281696ee14b7af299cfabb870.zip |
pubkey
-rw-r--r-- | src/experimentation/gnunet-daemon-experimentation_experiments.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/experimentation/gnunet-daemon-experimentation_experiments.c b/src/experimentation/gnunet-daemon-experimentation_experiments.c index f172d7660..dcbdc9101 100644 --- a/src/experimentation/gnunet-daemon-experimentation_experiments.c +++ b/src/experimentation/gnunet-daemon-experimentation_experiments.c | |||
@@ -238,8 +238,11 @@ GNUNET_EXPERIMENTATION_experiments_start () | |||
238 | struct Issuer *i; | 238 | struct Issuer *i; |
239 | char *issuers; | 239 | char *issuers; |
240 | char *file; | 240 | char *file; |
241 | char *pubkey; | ||
241 | char *pos; | 242 | char *pos; |
242 | struct GNUNET_PeerIdentity issuer_ID; | 243 | struct GNUNET_PeerIdentity issuer_ID; |
244 | struct GNUNET_CRYPTO_EccPublicKeyBinaryEncoded pub; | ||
245 | struct GNUNET_HashCode hash; | ||
243 | 246 | ||
244 | /* Load valid issuer */ | 247 | /* Load valid issuer */ |
245 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (GSE_cfg, "EXPERIMENTATION", "ISSUERS", &issuers)) | 248 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (GSE_cfg, "EXPERIMENTATION", "ISSUERS", &issuers)) |
@@ -262,6 +265,7 @@ GNUNET_EXPERIMENTATION_experiments_start () | |||
262 | i = GNUNET_malloc (sizeof (struct Issuer)); | 265 | i = GNUNET_malloc (sizeof (struct Issuer)); |
263 | GNUNET_CONTAINER_multihashmap_put (valid_issuers, &issuer_ID.hashPubKey, | 266 | GNUNET_CONTAINER_multihashmap_put (valid_issuers, &issuer_ID.hashPubKey, |
264 | i, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); | 267 | i, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST); |
268 | i = NULL; | ||
265 | } | 269 | } |
266 | } | 270 | } |
267 | GNUNET_free (issuers); | 271 | GNUNET_free (issuers); |
@@ -274,6 +278,24 @@ GNUNET_EXPERIMENTATION_experiments_start () | |||
274 | } | 278 | } |
275 | GNUNET_STATISTICS_set (GSE_stats, "# issuer", GNUNET_CONTAINER_multihashmap_size (valid_issuers), GNUNET_NO); | 279 | GNUNET_STATISTICS_set (GSE_stats, "# issuer", GNUNET_CONTAINER_multihashmap_size (valid_issuers), GNUNET_NO); |
276 | 280 | ||
281 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (GSE_cfg, "EXPERIMENTATION", "PUBKEY", &pubkey)) | ||
282 | { | ||
283 | if (GNUNET_OK != GNUNET_CRYPTO_ecc_public_key_from_string(pubkey, strlen (pubkey), &pub)) | ||
284 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Invalid public key `%s'\n"), pubkey); | ||
285 | else | ||
286 | { | ||
287 | GNUNET_CRYPTO_hash( &pub, sizeof (pub), &hash); | ||
288 | if (NULL != (i = GNUNET_CONTAINER_multihashmap_get (valid_issuers, &hash))) | ||
289 | { | ||
290 | i->pubkey = pub; | ||
291 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, _("Found issuer for public key `%s'\n"), pubkey); | ||
292 | } | ||
293 | else | ||
294 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("No issuer for public key `%s'\n"), pubkey); | ||
295 | } | ||
296 | GNUNET_free (pubkey); | ||
297 | } | ||
298 | |||
277 | experiments = GNUNET_CONTAINER_multihashmap_create (10, GNUNET_NO); | 299 | experiments = GNUNET_CONTAINER_multihashmap_create (10, GNUNET_NO); |
278 | /* Load experiments from file */ | 300 | /* Load experiments from file */ |
279 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (GSE_cfg, "EXPERIMENTATION", "EXPERIMENTS", &file)) | 301 | if (GNUNET_SYSERR == GNUNET_CONFIGURATION_get_value_string (GSE_cfg, "EXPERIMENTATION", "EXPERIMENTS", &file)) |