aboutsummaryrefslogtreecommitdiff
path: root/src/namestore
diff options
context:
space:
mode:
Diffstat (limited to 'src/namestore')
-rw-r--r--src/namestore/gnunet-namestore.c9
-rw-r--r--src/namestore/gnunet-service-namestore.c38
2 files changed, 28 insertions, 19 deletions
diff --git a/src/namestore/gnunet-namestore.c b/src/namestore/gnunet-namestore.c
index dd24e9b05..af40f2dbe 100644
--- a/src/namestore/gnunet-namestore.c
+++ b/src/namestore/gnunet-namestore.c
@@ -1236,15 +1236,6 @@ identity_cb (void *cls, struct GNUNET_IDENTITY_Ego *ego)
1236 const struct GNUNET_CONFIGURATION_Handle *cfg = cls; 1236 const struct GNUNET_CONFIGURATION_Handle *cfg = cls;
1237 1237
1238 el = NULL; 1238 el = NULL;
1239 if ((NULL != name) && (0 != strchr (name, '.')))
1240 {
1241 fprintf (stderr,
1242 _ ("Label `%s' contains `.' which is not allowed\n"),
1243 name);
1244 GNUNET_SCHEDULER_shutdown ();
1245 ret = -1;
1246 return;
1247 }
1248 1239
1249 if (NULL == ego) 1240 if (NULL == ego)
1250 { 1241 {
diff --git a/src/namestore/gnunet-service-namestore.c b/src/namestore/gnunet-service-namestore.c
index 6c6f5f4b6..2a3a006e8 100644
--- a/src/namestore/gnunet-service-namestore.c
+++ b/src/namestore/gnunet-service-namestore.c
@@ -1543,25 +1543,43 @@ handle_record_store (void *cls, const struct RecordStoreMessage *rp_msg)
1543 rd_ser = &name_tmp[name_len]; 1543 rd_ser = &name_tmp[name_len];
1544 { 1544 {
1545 struct GNUNET_GNSRECORD_Data rd[GNUNET_NZL (rd_count)]; 1545 struct GNUNET_GNSRECORD_Data rd[GNUNET_NZL (rd_count)];
1546 1546 char *emsg;
1547 if (GNUNET_OK !=
1548 GNUNET_GNSRECORD_records_deserialize (rd_ser_len, rd_ser, rd_count, rd))
1549 {
1550 GNUNET_break (0);
1551 GNUNET_SERVICE_client_drop (nc->client);
1552 return;
1553 }
1554 1547
1555 /* Extracting and converting private key */ 1548 /* Extracting and converting private key */
1556 conv_name = GNUNET_GNSRECORD_string_normalize (name_tmp); 1549 conv_name = GNUNET_GNSRECORD_string_normalize (name_tmp);
1557 if (NULL == conv_name) 1550 if (NULL == conv_name)
1558 { 1551 {
1559 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, 1552 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1560 "Error converting name `%s'\n", 1553 "Error normalizing name `%s'\n",
1561 name_tmp); 1554 name_tmp);
1562 GNUNET_SERVICE_client_drop (nc->client); 1555 send_store_response (nc, GNUNET_SYSERR, _("Error normalizing name."), rid);
1556 GNUNET_SERVICE_client_continue (nc->client);
1557 return;
1558 }
1559
1560 /* Check name for validity */
1561 if (GNUNET_OK != GNUNET_GNSRECORD_label_check (conv_name, &emsg))
1562 {
1563 GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
1564 "Label invalid: `%s'\n",
1565 emsg);
1566 send_store_response (nc, GNUNET_SYSERR, emsg, rid);
1567 GNUNET_free (emsg);
1568 GNUNET_free (conv_name);
1569 GNUNET_SERVICE_client_continue (nc->client);
1570 return;
1571 }
1572
1573 if (GNUNET_OK !=
1574 GNUNET_GNSRECORD_records_deserialize (rd_ser_len, rd_ser, rd_count, rd))
1575 {
1576 send_store_response (nc, GNUNET_SYSERR,
1577 _("Error deserializing records."), rid);
1578 GNUNET_free (conv_name);
1579 GNUNET_SERVICE_client_continue (nc->client);
1563 return; 1580 return;
1564 } 1581 }
1582
1565 GNUNET_STATISTICS_update (statistics, 1583 GNUNET_STATISTICS_update (statistics,
1566 "Well-formed store requests received", 1584 "Well-formed store requests received",
1567 1, 1585 1,