[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnunet] 50/171: -fix
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnunet] 50/171: -fix |
Date: |
Thu, 04 Jan 2018 16:09:18 +0100 |
This is an automated email from the git hooks/post-receive script.
martin-schanzenbach pushed a commit to branch master
in repository gnunet.
commit a80e5610fe689631da94242e05f5ad85b21b6b4d
Author: Schanzenbach, Martin <address@hidden>
AuthorDate: Wed Dec 14 08:35:22 2016 +0100
-fix
---
src/credential/gnunet-credential.c | 19 +++++++++++++++----
src/credential/gnunet-service-credential.c | 14 +++++++++++---
src/credential/test_credential_verify.sh | 3 ++-
3 files changed, 28 insertions(+), 8 deletions(-)
diff --git a/src/credential/gnunet-credential.c
b/src/credential/gnunet-credential.c
index a728939dc..41b17ef66 100644
--- a/src/credential/gnunet-credential.c
+++ b/src/credential/gnunet-credential.c
@@ -162,26 +162,37 @@ handle_verify_result (void *cls,
struct GNUNET_CREDENTIAL_Credential *cred)
{
int i;
+ char* iss_key;
+ char* sub_key;
verify_request = NULL;
if (NULL == cred)
printf ("Failed.\n");
else
{
+ iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred->issuer_key);
+ sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&cred->subject_key);
+ printf ("(0) %s.%s <- %s (Subject)\n",
+ iss_key, cred->issuer_attribute,
+ sub_key);
+ GNUNET_free (iss_key);
+ GNUNET_free (sub_key);
for (i=0;i<d_count;i++)
{
- char* iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string
(&dc[i].issuer_key);
- char* sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string
(&dc[i].subject_key);
+ iss_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].issuer_key);
+ sub_key = GNUNET_CRYPTO_ecdsa_public_key_to_string (&dc[i].subject_key);
if (0 != dc[i].subject_attribute_len)
{
- printf ("%s.%s <- %s.%s\n",
+ printf ("(%d) %s.%s <- %s.%s\n", i+1,
iss_key, dc[i].issuer_attribute,
sub_key, dc[i].subject_attribute);
} else {
- printf ("%s.%s <- %s\n",
+ printf ("(%d) %s.%s <- %s\n", i+1,
iss_key, dc[i].issuer_attribute,
sub_key);
}
+ GNUNET_free (iss_key);
+ GNUNET_free (sub_key);
}
printf ("Successful.\n");
}
diff --git a/src/credential/gnunet-service-credential.c
b/src/credential/gnunet-service-credential.c
index 01b955726..8f7d71b28 100644
--- a/src/credential/gnunet-service-credential.c
+++ b/src/credential/gnunet-service-credential.c
@@ -472,7 +472,7 @@ send_lookup_response (struct VerifyRequestHandle *vrh)
* Append at the end of rmsg
*/
cred.issuer_key = vrh->credential->issuer_key;
- cred.subject_key = vrh->credential->issuer_key;
+ cred.subject_key = vrh->credential->subject_key;
cred.issuer_attribute_len = strlen((char*)&vrh->credential[1]);
cred.issuer_attribute = (char*)&vrh->credential[1];
size = GNUNET_CREDENTIAL_delegation_chain_get_size (vrh->d_count,
@@ -520,6 +520,7 @@ backward_resolution (void* cls,
struct DelegationQueueEntry *current_delegation;
struct DelegationQueueEntry *dq_entry;
char *expanded_attr;
+ char *lookup_attribute;
int i;
@@ -605,6 +606,9 @@ backward_resolution (void* cls,
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"Found issuer\n");
vrh->credential = GNUNET_malloc (cred_pointer->data_size);
+ memcpy (vrh->credential,
+ cred,
+ cred_pointer->data_size);
vrh->credential_size = cred_pointer->data_size;
vrh->chain_end = dq_entry;
vrh->d_count = dq_entry->d_count;
@@ -620,9 +624,12 @@ backward_resolution (void* cls,
strcpy (issuer_attribute_name,
dq_entry->unresolved_attribute_delegation);
char *next_attr = strtok (issuer_attribute_name, ".");
- GNUNET_asprintf (&dq_entry->lookup_attribute,
+ GNUNET_asprintf (&lookup_attribute,
"%s.gnu",
next_attr);
+ GNUNET_asprintf (&dq_entry->lookup_attribute,
+ "%s",
+ next_attr);
if (strlen (next_attr) == strlen
(dq_entry->unresolved_attribute_delegation))
{
dq_entry->attr_trailer = NULL;
@@ -640,13 +647,14 @@ backward_resolution (void* cls,
vrh->pending_lookups++;
dq_entry->handle = vrh;
dq_entry->lookup_request = GNUNET_GNS_lookup (gns,
- dq_entry->lookup_attribute,
+ lookup_attribute,
dq_entry->issuer_key,
//issuer_key,
GNUNET_GNSRECORD_TYPE_ATTRIBUTE,
GNUNET_GNS_LO_DEFAULT,
NULL, //shorten_key, always
NULL
&backward_resolution,
dq_entry);
+ GNUNET_free (lookup_attribute);
}
if(0 == vrh->pending_lookups)
diff --git a/src/credential/test_credential_verify.sh
b/src/credential/test_credential_verify.sh
index 012341f5f..6d69e337b 100755
--- a/src/credential/test_credential_verify.sh
+++ b/src/credential/test_credential_verify.sh
@@ -60,6 +60,7 @@ gnunet-namestore -p -z alice -a -n $TEST_CREDENTIAL -t CRED
-V "$CRED" -e 5m -c
#TODO2 Add -z swich like in gnunet-gns
RES_CRED=`gnunet-credential --verify --issuer=$SERVICE_KEY
--attribute=$USER_ATTR --subject=$ALICE_KEY --credential=$TEST_CREDENTIAL -c
test_credential_lookup.conf`
+
#TODO cleanup properly
gnunet-namestore -z alice -d -n $TEST_CREDENTIAL -t CRED -e never -c
test_credential_lookup.conf
gnunet-namestore -z gnu -d -n $GNU_PROJECT_ATTR -t ATTR -c
test_credential_lookup.conf
@@ -69,7 +70,7 @@ gnunet-arm -e -c test_credential_lookup.conf
if [ "$RES_CRED" != "Failed." ]
then
- echo $RES_CRED
+ echo -e "${RES_CRED}"
exit 0
else
echo "FAIL: Failed to verify credential $RES_CRED."
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [gnunet] 47/171: -fix memleaks, (continued)
- [GNUnet-SVN] [gnunet] 47/171: -fix memleaks, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 39/171: -start delegation; cleanup, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 45/171: -more rest, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 46/171: -add parallel delegationr resolution, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 43/171: - fix; more recognizable case in test, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 60/171: -fix, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 55/171: Merge remote-tracking branch 'origin/master' into credentials, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 53/171: -tests, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 59/171: -fix, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 58/171: -fix rest issue, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 50/171: -fix,
gnunet <=
- [GNUnet-SVN] [gnunet] 66/171: -fix, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 54/171: -fix rest; prelim test;, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 61/171: Merge remote-tracking branch 'origin/master' into credentials, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 56/171: -refactoring, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 67/171: Merge remote-tracking branch 'origin/master' into credentials, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 49/171: -fix gns mq; fix serializer, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 63/171: -update rest, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 64/171: -add collect rest; fixes, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 69/171: Merge remote-tracking branch 'origin/master' into credentials, gnunet, 2018/01/04
- [GNUnet-SVN] [gnunet] 65/171: -add tokens for credentials, gnunet, 2018/01/04