diff options
author | Christian Grothoff <christian@grothoff.org> | 2013-09-27 16:37:56 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2013-09-27 16:37:56 +0000 |
commit | 1f5714ff6c83585cb7cd701ca3b7176ef42d3e60 (patch) | |
tree | d68317d8b4e6aafe83c4f3448fdfe1d125777599 /src/gns/gnunet-gns.c | |
parent | 0773a954d6ed9a5c155b9cbceca7a6a316400ba6 (diff) | |
download | gnunet-1f5714ff6c83585cb7cd701ca3b7176ef42d3e60.tar.gz gnunet-1f5714ff6c83585cb7cd701ca3b7176ef42d3e60.zip |
using DNS2GNS record type instead of recycling NS record type in GNS; fixing testcase by properly converting DNS records back to GNS blocks
Diffstat (limited to 'src/gns/gnunet-gns.c')
-rw-r--r-- | src/gns/gnunet-gns.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/gns/gnunet-gns.c b/src/gns/gnunet-gns.c index 0a6bcf66b..4b0ae38bc 100644 --- a/src/gns/gnunet-gns.c +++ b/src/gns/gnunet-gns.c | |||
@@ -133,7 +133,7 @@ do_shutdown (void *cls, | |||
133 | * | 133 | * |
134 | * @param cls the 'const char *' name that was resolved | 134 | * @param cls the 'const char *' name that was resolved |
135 | * @param rd_count number of records returned | 135 | * @param rd_count number of records returned |
136 | * @param rd array of 'rd_count' records with the results | 136 | * @param rd array of @a rd_count records with the results |
137 | */ | 137 | */ |
138 | static void | 138 | static void |
139 | process_lookup_result (void *cls, uint32_t rd_count, | 139 | process_lookup_result (void *cls, uint32_t rd_count, |
@@ -155,10 +155,21 @@ process_lookup_result (void *cls, uint32_t rd_count, | |||
155 | } | 155 | } |
156 | for (i=0; i<rd_count; i++) | 156 | for (i=0; i<rd_count; i++) |
157 | { | 157 | { |
158 | if ( (rd[i].record_type != rtype) && | ||
159 | (GNUNET_NAMESTORE_TYPE_ANY != rtype) ) | ||
160 | continue; | ||
158 | typename = GNUNET_NAMESTORE_number_to_typename (rd[i].record_type); | 161 | typename = GNUNET_NAMESTORE_number_to_typename (rd[i].record_type); |
159 | string_val = GNUNET_NAMESTORE_value_to_string (rd[i].record_type, | 162 | string_val = GNUNET_NAMESTORE_value_to_string (rd[i].record_type, |
160 | rd[i].data, | 163 | rd[i].data, |
161 | rd[i].data_size); | 164 | rd[i].data_size); |
165 | if (NULL == string_val) | ||
166 | { | ||
167 | fprintf (stderr, | ||
168 | "Record %u of type %d malformed, skipping\n", | ||
169 | (unsigned int) i, | ||
170 | (int) rd[i].record_type); | ||
171 | continue; | ||
172 | } | ||
162 | if (raw) | 173 | if (raw) |
163 | printf ("%s\n", | 174 | printf ("%s\n", |
164 | string_val); | 175 | string_val); |
@@ -166,7 +177,7 @@ process_lookup_result (void *cls, uint32_t rd_count, | |||
166 | printf ("Got `%s' record: %s\n", | 177 | printf ("Got `%s' record: %s\n", |
167 | typename, | 178 | typename, |
168 | string_val); | 179 | string_val); |
169 | GNUNET_free_non_null (string_val); | 180 | GNUNET_free (string_val); |
170 | } | 181 | } |
171 | GNUNET_SCHEDULER_shutdown (); | 182 | GNUNET_SCHEDULER_shutdown (); |
172 | } | 183 | } |