diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/include/gnunet_gnsrecord_lib.h | 16 | ||||
-rw-r--r-- | src/reclaim/gnunet-service-reclaim.c | 36 | ||||
-rw-r--r-- | src/reclaim/plugin_gnsrecord_reclaim.c | 6 |
3 files changed, 43 insertions, 15 deletions
diff --git a/src/include/gnunet_gnsrecord_lib.h b/src/include/gnunet_gnsrecord_lib.h index 9e430c2aa..b49e39b76 100644 --- a/src/include/gnunet_gnsrecord_lib.h +++ b/src/include/gnunet_gnsrecord_lib.h | |||
@@ -141,14 +141,24 @@ extern "C" { | |||
141 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553 | 141 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT 65553 |
142 | 142 | ||
143 | /** | 143 | /** |
144 | * Record type for reclaim attestation records | 144 | * Record type for reclaim identity attestation |
145 | */ | 145 | */ |
146 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR 65554 | 146 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR 65554 |
147 | 147 | ||
148 | /** | 148 | /** |
149 | * Record type for reclaim attestation references | 149 | * Record type for reclaim identity references |
150 | */ | ||
151 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE 65555 | ||
152 | |||
153 | /** | ||
154 | * Record type for reclaim attestation records | ||
155 | */ | ||
156 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF 65556 | ||
157 | |||
158 | /** | ||
159 | * Record type for reclaim reference records | ||
150 | */ | 160 | */ |
151 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF 65555 | 161 | #define GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE_REF 65557 |
152 | 162 | ||
153 | /** | 163 | /** |
154 | * Flags that can be set for a record. | 164 | * Flags that can be set for a record. |
diff --git a/src/reclaim/gnunet-service-reclaim.c b/src/reclaim/gnunet-service-reclaim.c index 1f320e196..0c27cdbef 100644 --- a/src/reclaim/gnunet-service-reclaim.c +++ b/src/reclaim/gnunet-service-reclaim.c | |||
@@ -1296,7 +1296,7 @@ ref_add_cb (void *cls, | |||
1296 | } | 1296 | } |
1297 | rd_new[rd_count].data_size = buf_size; | 1297 | rd_new[rd_count].data_size = buf_size; |
1298 | rd_new[rd_count].data = buf; | 1298 | rd_new[rd_count].data = buf; |
1299 | rd_new[rd_count].record_type = GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF; | 1299 | rd_new[rd_count].record_type = GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE; |
1300 | rd_new[rd_count].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; | 1300 | rd_new[rd_count].flags = GNUNET_GNSRECORD_RF_RELATIVE_EXPIRATION; |
1301 | rd_new[rd_count].expiration_time = ash->exp.rel_value_us; | 1301 | rd_new[rd_count].expiration_time = ash->exp.rel_value_us; |
1302 | ash->ns_qe = GNUNET_NAMESTORE_records_store (nsh, | 1302 | ash->ns_qe = GNUNET_NAMESTORE_records_store (nsh, |
@@ -1450,19 +1450,27 @@ ticket_iter (void *cls, | |||
1450 | struct AttributeDeleteHandle *adh = cls; | 1450 | struct AttributeDeleteHandle *adh = cls; |
1451 | struct TicketRecordsEntry *le; | 1451 | struct TicketRecordsEntry *le; |
1452 | int has_changed = GNUNET_NO; | 1452 | int has_changed = GNUNET_NO; |
1453 | |||
1454 | for (int i = 0; i < rd_count; i++) | 1453 | for (int i = 0; i < rd_count; i++) |
1455 | { | 1454 | { |
1455 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
1456 | "Next Zone Iteration %u and record type is %u\n", rd_count, | ||
1457 | rd[i].record_type); | ||
1456 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTR_REF != rd[i].record_type) && | 1458 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTR_REF != rd[i].record_type) && |
1457 | (GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR != rd[i].record_type) && | 1459 | (GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE_REF != rd[i].record_type) && |
1458 | (GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF != rd[i].record_type)) | 1460 | (GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF != rd[i].record_type)) |
1459 | continue; | 1461 | continue; |
1460 | if (0 != memcmp (rd[i].data, &adh->claim->id, sizeof(uint64_t))) | 1462 | if (&adh->claim != NULL) |
1461 | continue; | 1463 | { |
1462 | if (0 != memcmp (rd[i].data, (&adh->attest->id), sizeof(uint64_t))) | 1464 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Claim is existend: %u \n", adh->claim->id); |
1463 | continue; | 1465 | if (0 != memcmp (rd[i].data, &adh->claim->id, sizeof(uint64_t))) |
1464 | if (0 != memcmp (rd[i].data, &adh->reference->id, sizeof(uint64_t))) | 1466 | continue; |
1465 | continue; | 1467 | } |
1468 | if (&adh->attest != NULL) | ||
1469 | if (0 != memcmp (rd[i].data, &adh->attest->id, sizeof(uint64_t))) | ||
1470 | continue; | ||
1471 | if (&adh->reference != NULL) | ||
1472 | if (0 != memcmp (rd[i].data, &adh->reference->id, sizeof(uint64_t))) | ||
1473 | continue; | ||
1466 | 1474 | ||
1467 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, | 1475 | GNUNET_log (GNUNET_ERROR_TYPE_ERROR, |
1468 | "Attribute or Attestation/Reference to delete found (%s)\n", | 1476 | "Attribute or Attestation/Reference to delete found (%s)\n", |
@@ -1482,6 +1490,7 @@ ticket_iter (void *cls, | |||
1482 | adh->tickets_to_update_tail, | 1490 | adh->tickets_to_update_tail, |
1483 | le); | 1491 | le); |
1484 | } | 1492 | } |
1493 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Next Zone Iteration \n"); | ||
1485 | GNUNET_NAMESTORE_zone_iterator_next (adh->ns_it, 1); | 1494 | GNUNET_NAMESTORE_zone_iterator_next (adh->ns_it, 1); |
1486 | } | 1495 | } |
1487 | 1496 | ||
@@ -1558,7 +1567,7 @@ update_tickets (void *cls) | |||
1558 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTR_REF == rd[i].record_type) | 1567 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTR_REF == rd[i].record_type) |
1559 | && (0 == memcmp (rd[i].data, &adh->claim->id, sizeof(uint64_t)))) | 1568 | && (0 == memcmp (rd[i].data, &adh->claim->id, sizeof(uint64_t)))) |
1560 | continue; | 1569 | continue; |
1561 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR == rd[i].record_type) | 1570 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE_REF == rd[i].record_type) |
1562 | && (0 == memcmp (rd[i].data, &adh->attest->id, sizeof(uint64_t)))) | 1571 | && (0 == memcmp (rd[i].data, &adh->attest->id, sizeof(uint64_t)))) |
1563 | continue; | 1572 | continue; |
1564 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF == rd[i].record_type) | 1573 | if ((GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF == rd[i].record_type) |
@@ -1706,6 +1715,8 @@ handle_attribute_delete_message (void *cls, | |||
1706 | adh = GNUNET_new (struct AttributeDeleteHandle); | 1715 | adh = GNUNET_new (struct AttributeDeleteHandle); |
1707 | adh->claim = GNUNET_RECLAIM_ATTRIBUTE_deserialize ((char *) &dam[1], | 1716 | adh->claim = GNUNET_RECLAIM_ATTRIBUTE_deserialize ((char *) &dam[1], |
1708 | data_len); | 1717 | data_len); |
1718 | adh->reference = NULL; | ||
1719 | adh->attest = NULL; | ||
1709 | 1720 | ||
1710 | adh->r_id = ntohl (dam->id); | 1721 | adh->r_id = ntohl (dam->id); |
1711 | adh->identity = dam->identity; | 1722 | adh->identity = dam->identity; |
@@ -1792,6 +1803,8 @@ handle_attestation_delete_message (void *cls, | |||
1792 | adh = GNUNET_new (struct AttributeDeleteHandle); | 1803 | adh = GNUNET_new (struct AttributeDeleteHandle); |
1793 | adh->attest = GNUNET_RECLAIM_ATTESTATION_deserialize ((char *) &dam[1], | 1804 | adh->attest = GNUNET_RECLAIM_ATTESTATION_deserialize ((char *) &dam[1], |
1794 | data_len); | 1805 | data_len); |
1806 | adh->reference = NULL; | ||
1807 | adh->claim = NULL; | ||
1795 | 1808 | ||
1796 | adh->r_id = ntohl (dam->id); | 1809 | adh->r_id = ntohl (dam->id); |
1797 | adh->identity = dam->identity; | 1810 | adh->identity = dam->identity; |
@@ -1947,6 +1960,9 @@ handle_reference_delete_message (void *cls, | |||
1947 | adh = GNUNET_new (struct AttributeDeleteHandle); | 1960 | adh = GNUNET_new (struct AttributeDeleteHandle); |
1948 | adh->reference = GNUNET_RECLAIM_ATTESTATION_REF_deserialize ((char *) &dam[1], | 1961 | adh->reference = GNUNET_RECLAIM_ATTESTATION_REF_deserialize ((char *) &dam[1], |
1949 | data_len); | 1962 | data_len); |
1963 | adh->attest = NULL; | ||
1964 | adh->claim = NULL; | ||
1965 | |||
1950 | adh->r_id = ntohl (dam->id); | 1966 | adh->r_id = ntohl (dam->id); |
1951 | adh->identity = dam->identity; | 1967 | adh->identity = dam->identity; |
1952 | adh->label | 1968 | adh->label |
diff --git a/src/reclaim/plugin_gnsrecord_reclaim.c b/src/reclaim/plugin_gnsrecord_reclaim.c index e00b246c2..0f59082dc 100644 --- a/src/reclaim/plugin_gnsrecord_reclaim.c +++ b/src/reclaim/plugin_gnsrecord_reclaim.c | |||
@@ -55,7 +55,7 @@ value_to_string (void *cls, uint32_t type, const void *data, size_t data_size) | |||
55 | case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: | 55 | case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: |
56 | case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER: | 56 | case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER: |
57 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR: | 57 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR: |
58 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF: | 58 | case GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE: |
59 | return GNUNET_STRINGS_data_to_string_alloc (data, data_size); | 59 | return GNUNET_STRINGS_data_to_string_alloc (data, data_size); |
60 | 60 | ||
61 | default: | 61 | default: |
@@ -96,7 +96,7 @@ string_to_value (void *cls, uint32_t type, const char *s, void **data, | |||
96 | case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER: | 96 | case GNUNET_GNSRECORD_TYPE_RECLAIM_MASTER: |
97 | case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: | 97 | case GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET: |
98 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR: | 98 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_ATTR: |
99 | case GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF: | 99 | case GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE: |
100 | return GNUNET_STRINGS_string_to_data (s, strlen (s), *data, *data_size); | 100 | return GNUNET_STRINGS_string_to_data (s, strlen (s), *data, *data_size); |
101 | 101 | ||
102 | default: | 102 | default: |
@@ -121,6 +121,8 @@ static struct | |||
121 | { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT }, | 121 | { "RECLAIM_OIDC_CLIENT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_CLIENT }, |
122 | { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT }, | 122 | { "RECLAIM_OIDC_REDIRECT", GNUNET_GNSRECORD_TYPE_RECLAIM_OIDC_REDIRECT }, |
123 | { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET }, | 123 | { "RECLAIM_TICKET", GNUNET_GNSRECORD_TYPE_RECLAIM_TICKET }, |
124 | { "RECLAIM_REFERENCE", GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE }, | ||
125 | { "RECLAIM_REFERENCE_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_REFERENCE_REF }, | ||
124 | { "RECLAIM_ATTEST_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF }, | 126 | { "RECLAIM_ATTEST_REF", GNUNET_GNSRECORD_TYPE_RECLAIM_ATTEST_REF }, |
125 | { NULL, UINT32_MAX } | 127 | { NULL, UINT32_MAX } |
126 | }; | 128 | }; |