From 418b7f2cef91e344672edf3926b82a5a3043e9ba Mon Sep 17 00:00:00 2001 From: Andreas Ebner Date: Wed, 21 Aug 2019 17:45:02 +0200 Subject: [PATCH] Cleanup and fixes regarding bidirectional search and the test.sh files: - removed set_entries_head/tail from DQ entry (no longer needed, using vrh->dsq_head/tail for everything) - removed no longer required vrh->root_set (not working with forward search anyways as there are multiple root sets) - implemented cleanup for the dq entries in the queue_entries_head list of ds entries - added the part in cleanup handling the subject_attribute/_len to might help solve the last valgrind error (didnt work) - changed the way the ds_entry are inserted in the vrh->dsq_.. list: Now after creation of EVERY ds_entry it is inserted --> This solved an error resulting from uncanceled lookup_response handles - changed the test_credential...bi..sh files: + "- -" at the end of the collect statement, required for MacOS + fixed cleanup at the end to correctly remove entries from GNS --- src/credential/credential_serialization.c | 5 +- src/credential/gnunet-service-credential.c | 220 +++++++----------- src/credential/test_credential_bi_and.sh | 16 +- src/credential/test_credential_bi_and2.sh | 15 +- src/credential/test_credential_bi_bw.sh | 15 +- src/credential/test_credential_bi_bw_link.sh | 16 +- src/credential/test_credential_bi_bw_link2.sh | 16 +- src/credential/test_credential_bi_fw.sh | 17 +- 8 files changed, 124 insertions(+), 196 deletions(-) diff --git a/src/credential/credential_serialization.c b/src/credential/credential_serialization.c index 564d9957b..240ab4dca 100644 --- a/src/credential/credential_serialization.c +++ b/src/credential/credential_serialization.c @@ -158,8 +158,9 @@ GNUNET_CREDENTIAL_delegates_get_size ( for (i = 0; i < c_count; i++) { - GNUNET_assert ((ret + cd[i].issuer_attribute_len) >= ret); - ret += cd[i].issuer_attribute_len; + GNUNET_assert ((ret + cd[i].issuer_attribute_len + cd[i].subject_attribute_len) >= ret); + // subject_attribute_len should be 0 + ret += cd[i].issuer_attribute_len + cd[i].subject_attribute_len; } return ret; } diff --git a/src/credential/gnunet-service-credential.c b/src/credential/gnunet-service-credential.c index ee02042c8..90316f203 100644 --- a/src/credential/gnunet-service-credential.c +++ b/src/credential/gnunet-service-credential.c @@ -147,16 +147,6 @@ struct DelegationQueueEntry */ struct DelegationQueueEntry *prev; - /** - * Sets under this Queue - */ - struct DelegationSetQueueEntry *set_entries_head; - - /** - * Sets under this Queue - */ - struct DelegationSetQueueEntry *set_entries_tail; - /** * Parent set */ @@ -272,11 +262,6 @@ struct VerifyRequestHandle */ struct GNUNET_SERVICE_Client *client; - /** - * GNS handle - */ - struct GNUNET_GNS_LookupRequest *lookup_request; - /** * Size of delegation tree */ @@ -332,11 +317,6 @@ struct VerifyRequestHandle */ uint32_t del_chain_size; - /** - * Root Delegation Set - */ - struct DelegationSetQueueEntry *root_set; - /** * Current Delegation Pointer */ @@ -390,35 +370,31 @@ static struct GNUNET_GNS_Handle *gns; static struct GNUNET_NAMESTORE_Handle *namestore; static void -cleanup_delegation_set (struct DelegationSetQueueEntry *ds_entry) +print_deleset (struct DelegationSetQueueEntry *dsentry, char *text) { - struct DelegationQueueEntry *dq_entry; - struct DelegationSetQueueEntry *child; - - if (NULL == ds_entry) - return; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, + "%s %s.%s <- %s.%s\n", + text, + GNUNET_CRYPTO_ecdsa_public_key_to_string ( + &dsentry->delegation_chain_entry->issuer_key), + dsentry->delegation_chain_entry->issuer_attribute, + GNUNET_CRYPTO_ecdsa_public_key_to_string ( + &dsentry->delegation_chain_entry->subject_key), + dsentry->delegation_chain_entry->subject_attribute); +} - for (dq_entry = ds_entry->queue_entries_head; NULL != dq_entry; - dq_entry = ds_entry->queue_entries_head) - { - GNUNET_CONTAINER_DLL_remove (ds_entry->queue_entries_head, - ds_entry->queue_entries_tail, - dq_entry); - for (child = dq_entry->set_entries_head; NULL != child; - child = dq_entry->set_entries_head) - { - GNUNET_CONTAINER_DLL_remove (dq_entry->set_entries_head, - dq_entry->set_entries_tail, - child); - cleanup_delegation_set (child); - } - GNUNET_free (dq_entry); - } +static void +cleanup_dsq_entry (struct DelegationSetQueueEntry *ds_entry) +{ GNUNET_free_non_null (ds_entry->issuer_key); - GNUNET_free_non_null (ds_entry->lookup_attribute); GNUNET_free_non_null (ds_entry->issuer_attribute); - GNUNET_free_non_null (ds_entry->unresolved_attribute_delegation); GNUNET_free_non_null (ds_entry->attr_trailer); + // those fields are only set/used in bw search + if (ds_entry->from_bw) + { + GNUNET_free_non_null (ds_entry->lookup_attribute); + GNUNET_free_non_null (ds_entry->unresolved_attribute_delegation); + } if (NULL != ds_entry->lookup_request) { GNUNET_GNS_lookup_cancel (ds_entry->lookup_request); @@ -426,64 +402,40 @@ cleanup_delegation_set (struct DelegationSetQueueEntry *ds_entry) } if (NULL != ds_entry->delegation_chain_entry) { - GNUNET_free_non_null (ds_entry->delegation_chain_entry->subject_attribute); + GNUNET_free_non_null ( + ds_entry->delegation_chain_entry->subject_attribute); GNUNET_free_non_null (ds_entry->delegation_chain_entry->issuer_attribute); GNUNET_free (ds_entry->delegation_chain_entry); } + // Free DQ entries + for(struct DelegationQueueEntry *dq_entry = ds_entry->queue_entries_head; + NULL != ds_entry->queue_entries_head; + dq_entry = ds_entry->queue_entries_head) + { + GNUNET_CONTAINER_DLL_remove (ds_entry->queue_entries_head, + ds_entry->queue_entries_tail, + dq_entry); + GNUNET_free (dq_entry); + } GNUNET_free (ds_entry); } static void -cleanup_dsq_list (struct VerifyRequestHandle *vrh) +cleanup_handle (struct VerifyRequestHandle *vrh) { - struct DelegationSetQueueEntry *ds_entry; + struct DelegateRecordEntry *del_entry; + GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up...\n"); if (NULL == vrh->dsq_head) return; - for (ds_entry = vrh->dsq_head; NULL != vrh->dsq_head; + for (struct DelegationSetQueueEntry *ds_entry = vrh->dsq_head; NULL != vrh->dsq_head; ds_entry = vrh->dsq_head) { GNUNET_CONTAINER_DLL_remove (vrh->dsq_head, vrh->dsq_tail, ds_entry); - GNUNET_free_non_null (ds_entry->issuer_key); - GNUNET_free_non_null (ds_entry->issuer_attribute); - GNUNET_free_non_null (ds_entry->attr_trailer); - // those fields are only set/used in bw search - if (ds_entry->from_bw) - { - GNUNET_free_non_null (ds_entry->lookup_attribute); - GNUNET_free_non_null (ds_entry->unresolved_attribute_delegation); - } - if (NULL != ds_entry->lookup_request) - { - GNUNET_GNS_lookup_cancel (ds_entry->lookup_request); - ds_entry->lookup_request = NULL; - } - if (NULL != ds_entry->delegation_chain_entry) - { - GNUNET_free_non_null ( - ds_entry->delegation_chain_entry->subject_attribute); - GNUNET_free_non_null (ds_entry->delegation_chain_entry->issuer_attribute); - GNUNET_free (ds_entry->delegation_chain_entry); - } - //TODO: Free dq_entry, how? - //GNUNET_free (ds_entry->parent_queue_entry); - GNUNET_free (ds_entry); + cleanup_dsq_entry(ds_entry); } -} -static void -cleanup_handle (struct VerifyRequestHandle *vrh) -{ - struct DelegateRecordEntry *del_entry; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Cleaning up...\n"); - if (NULL != vrh->lookup_request) - { - GNUNET_GNS_lookup_cancel (vrh->lookup_request); - vrh->lookup_request = NULL; - } - //cleanup_delegation_set (vrh->root_set); - cleanup_dsq_list (vrh); GNUNET_free_non_null (vrh->issuer_attribute); for (del_entry = vrh->del_chain_head; NULL != vrh->del_chain_head; del_entry = vrh->del_chain_head) @@ -584,6 +536,8 @@ send_lookup_response (struct VerifyRequestHandle *vrh) dele[i].subject_key = del->delegate->subject_key; dele[i].issuer_attribute_len = strlen (del->delegate->issuer_attribute) + 1; dele[i].issuer_attribute = del->delegate->issuer_attribute; + dele[i].subject_attribute_len = del->delegate->subject_attribute_len; + dele[i].subject_attribute = del->delegate->subject_attribute; dele[i].expiration = del->delegate->expiration; dele[i].signature = del->delegate->signature; del = del->next; @@ -617,7 +571,6 @@ send_lookup_response (struct VerifyRequestHandle *vrh) GNUNET_MQ_send (GNUNET_SERVICE_client_get_mq (vrh->client), env); GNUNET_CONTAINER_DLL_remove (vrh_head, vrh_tail, vrh); - //TODO fix cleanup with bidirectional cleanup_handle (vrh); GNUNET_STATISTICS_update (statistics, @@ -682,20 +635,6 @@ partial_match (char *tmp_trail, return attr_trailer; } -static void -print_deleset (struct DelegationSetQueueEntry *dsentry, char *text) -{ - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "%s %s.%s <- %s.%s\n", - text, - GNUNET_CRYPTO_ecdsa_public_key_to_string ( - &dsentry->delegation_chain_entry->issuer_key), - dsentry->delegation_chain_entry->issuer_attribute, - GNUNET_CRYPTO_ecdsa_public_key_to_string ( - &dsentry->delegation_chain_entry->subject_key), - dsentry->delegation_chain_entry->subject_attribute); -} - static int handle_bidirectional_match (struct DelegationSetQueueEntry *actual_entry, struct DelegationSetQueueEntry *match_entry, @@ -801,6 +740,8 @@ forward_resolution (void *cls, // Start: Create DS Entry ds_entry = GNUNET_new (struct DelegationSetQueueEntry); + GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); + ds_entry->from_bw = false; // (1) A.a <- A.b.c // (2) A.b <- D.d @@ -832,10 +773,8 @@ forward_resolution (void *cls, } else if (0 == strcmp (del->subject_attribute, current_set->attr_trailer)) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Found: Complete match\n"); // complete match // new trailer == issuer attribute (e.g. (5) to (4)) - // TODO memleak, free trailer before ds_entry->attr_trailer = GNUNET_strdup (del->issuer_attribute); } else @@ -954,9 +893,6 @@ forward_resolution (void *cls, if (0 == strcmp (del_entry->unresolved_attribute_delegation, ds_entry->attr_trailer)) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, - "Forward: %s!\n", - del_entry->unresolved_attribute_delegation); print_deleset (del_entry, "Forward:"); GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Forward: Found match with above!\n"); @@ -965,16 +901,13 @@ forward_resolution (void *cls, if (GNUNET_NO == handle_bidirectional_match (ds_entry, del_entry, vrh)) return; - + send_lookup_response (vrh); return; } } } } - // No crossmatch/bidirectional found, add this ds_entry for the bw algo to match - ds_entry->from_bw = false; - GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); // Starting a new GNS lookup vrh->pending_lookups++; @@ -985,13 +918,14 @@ forward_resolution (void *cls, ds_entry->attr_trailer, GNUNET_CRYPTO_ecdsa_public_key_to_string (&del->issuer_key)); - GNUNET_GNS_lookup (gns, - GNUNET_GNS_EMPTY_LABEL_AT, - &del->issuer_key, - GNUNET_GNSRECORD_TYPE_DELEGATE, - GNUNET_GNS_LO_DEFAULT, - &forward_resolution, - ds_entry); + ds_entry->lookup_request = + GNUNET_GNS_lookup (gns, + GNUNET_GNS_EMPTY_LABEL_AT, + &del->issuer_key, + GNUNET_GNSRECORD_TYPE_DELEGATE, + GNUNET_GNS_LO_DEFAULT, + &forward_resolution, + ds_entry); } if (0 == vrh->pending_lookups) @@ -1055,6 +989,9 @@ backward_resolution (void *cls, for (uint32_t j = 0; j < ntohl (sets->set_count); j++) { ds_entry = GNUNET_new (struct DelegationSetQueueEntry); + GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); + ds_entry->from_bw = true; + if (NULL != current_set->attr_trailer) { if (0 == set[j].subject_attribute_len) @@ -1100,11 +1037,6 @@ backward_resolution (void *cls, ds_entry->parent_queue_entry = dq_entry; // current_delegation; - // TODO required? everything in dsq_head list, change cleanup - /*GNUNET_CONTAINER_DLL_insert (dq_entry->set_entries_head, - dq_entry->set_entries_tail, - ds_entry);*/ - /** * Check if this delegation already matches one of our credentials */ @@ -1211,8 +1143,8 @@ backward_resolution (void *cls, // if one node on the path still needs solutions: return if (GNUNET_NO == handle_bidirectional_match (del_entry, ds_entry, vrh)) - break; - + break; + // Send lookup response send_lookup_response (vrh); return; @@ -1220,10 +1152,6 @@ backward_resolution (void *cls, } } } - // No crossmatch/bidirectional result, add this ds_entry for the bw algo to match - ds_entry->from_bw = true; - - GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); // Starting a new GNS lookup GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, @@ -1238,12 +1166,12 @@ backward_resolution (void *cls, ds_entry->handle = vrh; ds_entry->lookup_request = GNUNET_GNS_lookup (gns, - lookup_attribute, - ds_entry->issuer_key, // issuer_key, - GNUNET_GNSRECORD_TYPE_ATTRIBUTE, - GNUNET_GNS_LO_DEFAULT, - &backward_resolution, - ds_entry); + lookup_attribute, + ds_entry->issuer_key, // issuer_key, + GNUNET_GNSRECORD_TYPE_ATTRIBUTE, + GNUNET_GNS_LO_DEFAULT, + &backward_resolution, + ds_entry); GNUNET_free (lookup_attribute); } @@ -1269,7 +1197,6 @@ delegation_chain_bw_resolution_start (void *cls) struct VerifyRequestHandle *vrh = cls; struct DelegationSetQueueEntry *ds_entry; struct DelegateRecordEntry *del_entry; - vrh->lookup_request = NULL; if (0 == vrh->del_chain_size) { @@ -1284,7 +1211,7 @@ delegation_chain_bw_resolution_start (void *cls) // A.a <- ... // X.x <- C // Y.y <- C - // if not X.x or Y.y == A.a stat at A + // if not X.x or Y.y == A.a start at A for (del_entry = vrh->del_chain_head; del_entry != NULL; del_entry = del_entry->next) { @@ -1310,14 +1237,22 @@ delegation_chain_bw_resolution_start (void *cls) "Looking up %s\n", issuer_attribute_name); ds_entry = GNUNET_new (struct DelegationSetQueueEntry); + GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); + ds_entry->from_bw = true; ds_entry->issuer_key = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPublicKey); GNUNET_memcpy (ds_entry->issuer_key, &vrh->issuer_key, sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)); ds_entry->issuer_attribute = GNUNET_strdup (vrh->issuer_attribute); + + ds_entry->delegation_chain_entry = GNUNET_new (struct DelegationChainEntry); + ds_entry->delegation_chain_entry->issuer_key = vrh->issuer_key; + ds_entry->delegation_chain_entry->issuer_attribute = + GNUNET_strdup (vrh->issuer_attribute); + ds_entry->handle = vrh; ds_entry->lookup_attribute = GNUNET_strdup (vrh->issuer_attribute); - vrh->root_set = ds_entry; + ds_entry->unresolved_attribute_delegation = NULL; vrh->pending_lookups = 1; // Start with backward resolution @@ -1339,7 +1274,6 @@ delegation_chain_fw_resolution_start (void *cls) struct DelegationSetQueueEntry *ds_entry; struct DelegateRecordEntry *del_entry; - vrh->lookup_request = NULL; // set to 0 and increase on each lookup: for fw multiple lookups (may be) started vrh->pending_lookups = 0; @@ -1388,15 +1322,24 @@ delegation_chain_fw_resolution_start (void *cls) del_entry->delegate->issuer_attribute); ds_entry = GNUNET_new (struct DelegationSetQueueEntry); + GNUNET_CONTAINER_DLL_insert (vrh->dsq_head, vrh->dsq_tail, ds_entry); + ds_entry->from_bw = false; ds_entry->issuer_key = GNUNET_new (struct GNUNET_CRYPTO_EcdsaPublicKey); GNUNET_memcpy (ds_entry->issuer_key, &del_entry->delegate->subject_key, sizeof (struct GNUNET_CRYPTO_EcdsaPublicKey)); + + ds_entry->delegation_chain_entry = GNUNET_new (struct DelegationChainEntry); + ds_entry->delegation_chain_entry->subject_key = del_entry->delegate->subject_key; + ds_entry->delegation_chain_entry->subject_attribute = NULL; + ds_entry->delegation_chain_entry->issuer_key = del_entry->delegate->issuer_key; + ds_entry->delegation_chain_entry->issuer_attribute = + GNUNET_strdup (del_entry->delegate->issuer_attribute); + ds_entry->attr_trailer = GNUNET_strdup (del_entry->delegate->issuer_attribute); ds_entry->handle = vrh; - vrh->root_set = ds_entry; vrh->pending_lookups++; // Start with forward resolution GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Start Forward Resolution\n"); @@ -1528,7 +1471,6 @@ handle_verify (void *cls, const struct VerifyMessage *v_msg) if (GNUNET_CREDENTIAL_FLAG_BACKWARD & vrh->resolution_algo && GNUNET_CREDENTIAL_FLAG_FORWARD & vrh->resolution_algo) { - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "--------BOTH\n"); delegation_chain_fw_resolution_start (vrh); delegation_chain_bw_resolution_start (vrh); } diff --git a/src/credential/test_credential_bi_and.sh b/src/credential/test_credential_bi_and.sh index c69aea53f..b5b55031c 100755 --- a/src/credential/test_credential_bi_and.sh +++ b/src/credential/test_credential_bi_and.sh @@ -70,20 +70,18 @@ gnunet-namestore -D -z h # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate=\'$DELS\' --forward --backward -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate="$DELS" --forward --backward -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z g -d -n "g" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf diff --git a/src/credential/test_credential_bi_and2.sh b/src/credential/test_credential_bi_and2.sh index de3e718aa..19354d3fe 100755 --- a/src/credential/test_credential_bi_and2.sh +++ b/src/credential/test_credential_bi_and2.sh @@ -67,20 +67,17 @@ gnunet-namestore -D -z h # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate=\'$DELS\' -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate="$DELS" -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf diff --git a/src/credential/test_credential_bi_bw.sh b/src/credential/test_credential_bi_bw.sh index 2b8cfc452..ae5549a1d 100755 --- a/src/credential/test_credential_bi_bw.sh +++ b/src/credential/test_credential_bi_bw.sh @@ -61,20 +61,17 @@ gnunet-namestore -D -z f # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate=\'$DELS\' --forward --backward -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate="$DELS" --forward --backward -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf diff --git a/src/credential/test_credential_bi_bw_link.sh b/src/credential/test_credential_bi_bw_link.sh index dd66741fa..2ae04f824 100755 --- a/src/credential/test_credential_bi_bw_link.sh +++ b/src/credential/test_credential_bi_bw_link.sh @@ -64,20 +64,18 @@ gnunet-namestore -D -z f # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate=\'$DELS\' --forward --backward -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate="$DELS" --forward --backward -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z g -d -n "g" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf diff --git a/src/credential/test_credential_bi_bw_link2.sh b/src/credential/test_credential_bi_bw_link2.sh index 46a04a26e..de4eec213 100755 --- a/src/credential/test_credential_bi_bw_link2.sh +++ b/src/credential/test_credential_bi_bw_link2.sh @@ -65,20 +65,18 @@ gnunet-namestore -D -z f # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=f --forward --backward -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate=\'$DELS\' --forward --backward -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$FKEY --delegate="$DELS" --forward --backward -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z c -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf diff --git a/src/credential/test_credential_bi_fw.sh b/src/credential/test_credential_bi_fw.sh index 5df73a4fd..3eeb48ee9 100755 --- a/src/credential/test_credential_bi_fw.sh +++ b/src/credential/test_credential_bi_fw.sh @@ -65,21 +65,18 @@ gnunet-namestore -D -z g # Starting to resolve echo "+++ Starting to Resolve +++" -DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=g --forward --backward -c test_credential_lookup.conf | paste -d, -s` +DELS=`$DO_TIMEOUT gnunet-credential --collect --issuer=$AKEY --attribute="a" --ego=g --forward --backward -c test_credential_lookup.conf | paste -d, -s - -` echo $DELS echo gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$GKEY --delegate=\'$DELS\' --forward --backward -c test_credential_lookup.conf RES_DELS=`gnunet-credential --verify --issuer=$AKEY --attribute="a" --subject=$GKEY --delegate="$DELS" --forward --backward -c test_credential_lookup.conf` # Cleanup properly -gnunet-namestore -z a -d -n "@"-t DELE -c test_credential_lookup.conf -gnunet-namestore -z epub -d -n $DISC_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z eorg -d -n $PREF_ATTR -t ATTR -c test_credential_lookup.conf -gnunet-namestore -z stateu -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z a -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z d -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z e -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z f -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf -#gnunet-namestore -z g -d -n $STATE_STUD_ATTR -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z a -d -n "a" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z b -d -n "b" -t ATTR -c test_credential_lookup.conf +gnunet-namestore -z d -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z e -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z f -d -n "@" -t DEL -c test_credential_lookup.conf +gnunet-namestore -z g -d -n "@" -t DEL -c test_credential_lookup.conf gnunet-arm -e -c test_credential_lookup.conf -- 2.25.1