diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-06-08 12:23:21 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-06-08 12:23:21 +0000 |
commit | 63fb0c45a2053493183e3c37b9f0ede9ec5073e1 (patch) | |
tree | 3b5913170669c7cb27de51396ed874732770a584 /src/namestore | |
parent | 2e6caf50d32666619490efd5a6289cea8d6e65df (diff) | |
download | gnunet-63fb0c45a2053493183e3c37b9f0ede9ec5073e1.tar.gz gnunet-63fb0c45a2053493183e3c37b9f0ede9ec5073e1.zip |
-fix #3301
Diffstat (limited to 'src/namestore')
-rw-r--r-- | src/namestore/gnunet-namestore.c | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/src/namestore/gnunet-namestore.c b/src/namestore/gnunet-namestore.c index 8c8c7660e..f5a13c96b 100644 --- a/src/namestore/gnunet-namestore.c +++ b/src/namestore/gnunet-namestore.c | |||
@@ -501,18 +501,46 @@ get_existing_record (void *cls, | |||
501 | ret = 1; | 501 | ret = 1; |
502 | test_finished (); | 502 | test_finished (); |
503 | return; | 503 | return; |
504 | case GNUNET_DNSPARSER_TYPE_NS: | 504 | } |
505 | if ( (GNUNET_DNSPARSER_TYPE_A == type) || | 505 | } |
506 | (GNUNET_DNSPARSER_TYPE_AAAA == type) ) | 506 | switch (type) |
507 | break; | 507 | { |
508 | case GNUNET_DNSPARSER_TYPE_CNAME: | ||
509 | if (0 != rd_count) | ||
510 | { | ||
508 | fprintf (stderr, | 511 | fprintf (stderr, |
509 | _("A %s record exists already under `%s', only A/AAAA records can be added.\n"), | 512 | _("Records already exist under `%s', cannot add `%s' record.\n"), |
510 | "NS", | 513 | rec_name, |
511 | rec_name); | 514 | "CNAME"); |
515 | ret = 1; | ||
516 | test_finished (); | ||
517 | return; | ||
518 | } | ||
519 | break; | ||
520 | case GNUNET_GNSRECORD_TYPE_PKEY: | ||
521 | if (0 != rd_count) | ||
522 | { | ||
523 | fprintf (stderr, | ||
524 | _("Records already exist under `%s', cannot add `%s' record.\n"), | ||
525 | rec_name, | ||
526 | "PKEY"); | ||
527 | ret = 1; | ||
528 | test_finished (); | ||
529 | return; | ||
530 | } | ||
531 | break; | ||
532 | case GNUNET_GNSRECORD_TYPE_GNS2DNS: | ||
533 | if (0 != rd_count) | ||
534 | { | ||
535 | fprintf (stderr, | ||
536 | _("Records already exist under `%s', cannot add `%s' record.\n"), | ||
537 | rec_name, | ||
538 | "GNS2DNS"); | ||
512 | ret = 1; | 539 | ret = 1; |
513 | test_finished (); | 540 | test_finished (); |
514 | return; | 541 | return; |
515 | } | 542 | } |
543 | break; | ||
516 | } | 544 | } |
517 | memset (rdn, 0, sizeof (struct GNUNET_GNSRECORD_Data)); | 545 | memset (rdn, 0, sizeof (struct GNUNET_GNSRECORD_Data)); |
518 | memcpy (&rdn[1], rd, rd_count * sizeof (struct GNUNET_GNSRECORD_Data)); | 546 | memcpy (&rdn[1], rd, rd_count * sizeof (struct GNUNET_GNSRECORD_Data)); |