diff options
-rw-r--r-- | po/POTFILES.in | 116 | ||||
-rw-r--r-- | src/gns/gns_tld_api.c | 148 | ||||
-rw-r--r-- | src/util/dnsparser.c | 2 |
3 files changed, 121 insertions, 145 deletions
diff --git a/po/POTFILES.in b/po/POTFILES.in index fe69ea13e..7b6741bf7 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in | |||
@@ -4,6 +4,14 @@ src/arm/arm_monitor_api.c | |||
4 | src/arm/gnunet-arm.c | 4 | src/arm/gnunet-arm.c |
5 | src/arm/gnunet-service-arm.c | 5 | src/arm/gnunet-service-arm.c |
6 | src/arm/mockup-service.c | 6 | src/arm/mockup-service.c |
7 | src/ats-tests/ats-testing-experiment.c | ||
8 | src/ats-tests/ats-testing-log.c | ||
9 | src/ats-tests/ats-testing-preferences.c | ||
10 | src/ats-tests/ats-testing-traffic.c | ||
11 | src/ats-tests/ats-testing.c | ||
12 | src/ats-tests/gnunet-ats-sim.c | ||
13 | src/ats-tests/gnunet-solver-eval.c | ||
14 | src/ats-tool/gnunet-ats.c | ||
7 | src/ats/ats_api2_application.c | 15 | src/ats/ats_api2_application.c |
8 | src/ats/ats_api2_transport.c | 16 | src/ats/ats_api2_transport.c |
9 | src/ats/ats_api_connectivity.c | 17 | src/ats/ats_api_connectivity.c |
@@ -11,10 +19,10 @@ src/ats/ats_api_performance.c | |||
11 | src/ats/ats_api_scanner.c | 19 | src/ats/ats_api_scanner.c |
12 | src/ats/ats_api_scheduling.c | 20 | src/ats/ats_api_scheduling.c |
13 | src/ats/gnunet-ats-solver-eval.c | 21 | src/ats/gnunet-ats-solver-eval.c |
14 | src/ats/gnunet-service-ats_addresses.c | 22 | src/ats/gnunet-service-ats-new.c |
15 | src/ats/gnunet-service-ats.c | 23 | src/ats/gnunet-service-ats.c |
24 | src/ats/gnunet-service-ats_addresses.c | ||
16 | src/ats/gnunet-service-ats_connectivity.c | 25 | src/ats/gnunet-service-ats_connectivity.c |
17 | src/ats/gnunet-service-ats-new.c | ||
18 | src/ats/gnunet-service-ats_normalization.c | 26 | src/ats/gnunet-service-ats_normalization.c |
19 | src/ats/gnunet-service-ats_performance.c | 27 | src/ats/gnunet-service-ats_performance.c |
20 | src/ats/gnunet-service-ats_plugins.c | 28 | src/ats/gnunet-service-ats_plugins.c |
@@ -26,14 +34,6 @@ src/ats/plugin_ats2_simple.c | |||
26 | src/ats/plugin_ats_mlp.c | 34 | src/ats/plugin_ats_mlp.c |
27 | src/ats/plugin_ats_proportional.c | 35 | src/ats/plugin_ats_proportional.c |
28 | src/ats/plugin_ats_ril.c | 36 | src/ats/plugin_ats_ril.c |
29 | src/ats-tests/ats-testing.c | ||
30 | src/ats-tests/ats-testing-experiment.c | ||
31 | src/ats-tests/ats-testing-log.c | ||
32 | src/ats-tests/ats-testing-preferences.c | ||
33 | src/ats-tests/ats-testing-traffic.c | ||
34 | src/ats-tests/gnunet-ats-sim.c | ||
35 | src/ats-tests/gnunet-solver-eval.c | ||
36 | src/ats-tool/gnunet-ats.c | ||
37 | src/auction/gnunet-auction-create.c | 37 | src/auction/gnunet-auction-create.c |
38 | src/auction/gnunet-auction-info.c | 38 | src/auction/gnunet-auction-info.c |
39 | src/auction/gnunet-auction-join.c | 39 | src/auction/gnunet-auction-join.c |
@@ -50,8 +50,8 @@ src/cadet/cadet_api_list_peers.c | |||
50 | src/cadet/cadet_api_list_tunnels.c | 50 | src/cadet/cadet_api_list_tunnels.c |
51 | src/cadet/cadet_test_lib.c | 51 | src/cadet/cadet_test_lib.c |
52 | src/cadet/desirability_table.c | 52 | src/cadet/desirability_table.c |
53 | src/cadet/gnunet-cadet.c | ||
54 | src/cadet/gnunet-cadet-profiler.c | 53 | src/cadet/gnunet-cadet-profiler.c |
54 | src/cadet/gnunet-cadet.c | ||
55 | src/cadet/gnunet-service-cadet.c | 55 | src/cadet/gnunet-service-cadet.c |
56 | src/cadet/gnunet-service-cadet_channel.c | 56 | src/cadet/gnunet-service-cadet_channel.c |
57 | src/cadet/gnunet-service-cadet_connection.c | 57 | src/cadet/gnunet-service-cadet_connection.c |
@@ -67,15 +67,15 @@ src/consensus/gnunet-service-consensus.c | |||
67 | src/consensus/plugin_block_consensus.c | 67 | src/consensus/plugin_block_consensus.c |
68 | src/conversation/conversation_api.c | 68 | src/conversation/conversation_api.c |
69 | src/conversation/conversation_api_call.c | 69 | src/conversation/conversation_api_call.c |
70 | src/conversation/gnunet-conversation.c | ||
71 | src/conversation/gnunet-conversation-test.c | 70 | src/conversation/gnunet-conversation-test.c |
72 | src/conversation/gnunet_gst.c | 71 | src/conversation/gnunet-conversation.c |
73 | src/conversation/gnunet_gst_test.c | ||
74 | src/conversation/gnunet-helper-audio-playback.c | ||
75 | src/conversation/gnunet-helper-audio-playback-gst.c | 72 | src/conversation/gnunet-helper-audio-playback-gst.c |
76 | src/conversation/gnunet-helper-audio-record.c | 73 | src/conversation/gnunet-helper-audio-playback.c |
77 | src/conversation/gnunet-helper-audio-record-gst.c | 74 | src/conversation/gnunet-helper-audio-record-gst.c |
75 | src/conversation/gnunet-helper-audio-record.c | ||
78 | src/conversation/gnunet-service-conversation.c | 76 | src/conversation/gnunet-service-conversation.c |
77 | src/conversation/gnunet_gst.c | ||
78 | src/conversation/gnunet_gst_test.c | ||
79 | src/conversation/microphone.c | 79 | src/conversation/microphone.c |
80 | src/conversation/plugin_gnsrecord_conversation.c | 80 | src/conversation/plugin_gnsrecord_conversation.c |
81 | src/conversation/speaker.c | 81 | src/conversation/speaker.c |
@@ -112,7 +112,6 @@ src/dht/dht_api.c | |||
112 | src/dht/dht_test_lib.c | 112 | src/dht/dht_test_lib.c |
113 | src/dht/gnunet-dht-get.c | 113 | src/dht/gnunet-dht-get.c |
114 | src/dht/gnunet-dht-monitor.c | 114 | src/dht/gnunet-dht-monitor.c |
115 | src/dht/gnunet_dht_profiler.c | ||
116 | src/dht/gnunet-dht-put.c | 115 | src/dht/gnunet-dht-put.c |
117 | src/dht/gnunet-service-dht.c | 116 | src/dht/gnunet-service-dht.c |
118 | src/dht/gnunet-service-dht_clients.c | 117 | src/dht/gnunet-service-dht_clients.c |
@@ -121,6 +120,7 @@ src/dht/gnunet-service-dht_hello.c | |||
121 | src/dht/gnunet-service-dht_neighbours.c | 120 | src/dht/gnunet-service-dht_neighbours.c |
122 | src/dht/gnunet-service-dht_nse.c | 121 | src/dht/gnunet-service-dht_nse.c |
123 | src/dht/gnunet-service-dht_routing.c | 122 | src/dht/gnunet-service-dht_routing.c |
123 | src/dht/gnunet_dht_profiler.c | ||
124 | src/dht/plugin_block_dht.c | 124 | src/dht/plugin_block_dht.c |
125 | src/dns/dns_api.c | 125 | src/dns/dns_api.c |
126 | src/dns/gnunet-dns-monitor.c | 126 | src/dns/gnunet-dns-monitor.c |
@@ -130,8 +130,8 @@ src/dns/gnunet-service-dns.c | |||
130 | src/dns/gnunet-zonewalk.c | 130 | src/dns/gnunet-zonewalk.c |
131 | src/dns/plugin_block_dns.c | 131 | src/dns/plugin_block_dns.c |
132 | src/exit/gnunet-daemon-exit.c | 132 | src/exit/gnunet-daemon-exit.c |
133 | src/exit/gnunet-helper-exit.c | ||
134 | src/exit/gnunet-helper-exit-windows.c | 133 | src/exit/gnunet-helper-exit-windows.c |
134 | src/exit/gnunet-helper-exit.c | ||
135 | src/fragmentation/defragmentation.c | 135 | src/fragmentation/defragmentation.c |
136 | src/fragmentation/fragmentation.c | 136 | src/fragmentation/fragmentation.c |
137 | src/fs/fs_api.c | 137 | src/fs/fs_api.c |
@@ -156,8 +156,8 @@ src/fs/gnunet-auto-share.c | |||
156 | src/fs/gnunet-daemon-fsprofiler.c | 156 | src/fs/gnunet-daemon-fsprofiler.c |
157 | src/fs/gnunet-directory.c | 157 | src/fs/gnunet-directory.c |
158 | src/fs/gnunet-download.c | 158 | src/fs/gnunet-download.c |
159 | src/fs/gnunet-fs.c | ||
160 | src/fs/gnunet-fs-profiler.c | 159 | src/fs/gnunet-fs-profiler.c |
160 | src/fs/gnunet-fs.c | ||
161 | src/fs/gnunet-helper-fs-publish.c | 161 | src/fs/gnunet-helper-fs-publish.c |
162 | src/fs/gnunet-publish.c | 162 | src/fs/gnunet-publish.c |
163 | src/fs/gnunet-search.c | 163 | src/fs/gnunet-search.c |
@@ -177,10 +177,10 @@ src/gns/gns_tld_api.c | |||
177 | src/gns/gnunet-bcd.c | 177 | src/gns/gnunet-bcd.c |
178 | src/gns/gnunet-dns2gns.c | 178 | src/gns/gnunet-dns2gns.c |
179 | src/gns/gnunet-gns-benchmark.c | 179 | src/gns/gnunet-gns-benchmark.c |
180 | src/gns/gnunet-gns.c | ||
181 | src/gns/gnunet-gns-helper-service-w32.c | 180 | src/gns/gnunet-gns-helper-service-w32.c |
182 | src/gns/gnunet-gns-import.c | 181 | src/gns/gnunet-gns-import.c |
183 | src/gns/gnunet-gns-proxy.c | 182 | src/gns/gnunet-gns-proxy.c |
183 | src/gns/gnunet-gns.c | ||
184 | src/gns/gnunet-service-gns.c | 184 | src/gns/gnunet-service-gns.c |
185 | src/gns/gnunet-service-gns_interceptor.c | 185 | src/gns/gnunet-service-gns_interceptor.c |
186 | src/gns/gnunet-service-gns_resolver.c | 186 | src/gns/gnunet-service-gns_resolver.c |
@@ -189,19 +189,19 @@ src/gns/nss/nss_gns_query.c | |||
189 | src/gns/plugin_block_gns.c | 189 | src/gns/plugin_block_gns.c |
190 | src/gns/plugin_gnsrecord_gns.c | 190 | src/gns/plugin_gnsrecord_gns.c |
191 | src/gns/plugin_rest_gns.c | 191 | src/gns/plugin_rest_gns.c |
192 | src/gns/w32nsp-install.c | ||
193 | src/gns/w32nsp-resolve.c | ||
194 | src/gns/w32nsp-uninstall.c | ||
195 | src/gns/w32nsp.c | ||
192 | src/gnsrecord/gnsrecord.c | 196 | src/gnsrecord/gnsrecord.c |
193 | src/gnsrecord/gnsrecord_crypto.c | 197 | src/gnsrecord/gnsrecord_crypto.c |
194 | src/gnsrecord/gnsrecord_misc.c | 198 | src/gnsrecord/gnsrecord_misc.c |
195 | src/gnsrecord/gnsrecord_serialization.c | 199 | src/gnsrecord/gnsrecord_serialization.c |
196 | src/gnsrecord/plugin_gnsrecord_dns.c | 200 | src/gnsrecord/plugin_gnsrecord_dns.c |
197 | src/gns/w32nsp.c | ||
198 | src/gns/w32nsp-install.c | ||
199 | src/gns/w32nsp-resolve.c | ||
200 | src/gns/w32nsp-uninstall.c | ||
201 | src/hello/address.c | 201 | src/hello/address.c |
202 | src/hello/gnunet-hello.c | 202 | src/hello/gnunet-hello.c |
203 | src/hello/hello.c | ||
204 | src/hello/hello-ng.c | 203 | src/hello/hello-ng.c |
204 | src/hello/hello.c | ||
205 | src/hostlist/gnunet-daemon-hostlist.c | 205 | src/hostlist/gnunet-daemon-hostlist.c |
206 | src/hostlist/gnunet-daemon-hostlist_client.c | 206 | src/hostlist/gnunet-daemon-hostlist_client.c |
207 | src/hostlist/gnunet-daemon-hostlist_server.c | 207 | src/hostlist/gnunet-daemon-hostlist_server.c |
@@ -225,8 +225,8 @@ src/namecache/namecache_api.c | |||
225 | src/namecache/plugin_namecache_flat.c | 225 | src/namecache/plugin_namecache_flat.c |
226 | src/namecache/plugin_namecache_postgres.c | 226 | src/namecache/plugin_namecache_postgres.c |
227 | src/namecache/plugin_namecache_sqlite.c | 227 | src/namecache/plugin_namecache_sqlite.c |
228 | src/namestore/gnunet-namestore.c | ||
229 | src/namestore/gnunet-namestore-fcfsd.c | 228 | src/namestore/gnunet-namestore-fcfsd.c |
229 | src/namestore/gnunet-namestore.c | ||
230 | src/namestore/gnunet-service-namestore.c | 230 | src/namestore/gnunet-service-namestore.c |
231 | src/namestore/gnunet-zoneimport.c | 231 | src/namestore/gnunet-zoneimport.c |
232 | src/namestore/namestore_api.c | 232 | src/namestore/namestore_api.c |
@@ -242,10 +242,10 @@ src/nat-auto/gnunet-service-nat-auto.c | |||
242 | src/nat-auto/gnunet-service-nat-auto_legacy.c | 242 | src/nat-auto/gnunet-service-nat-auto_legacy.c |
243 | src/nat-auto/nat_auto_api.c | 243 | src/nat-auto/nat_auto_api.c |
244 | src/nat-auto/nat_auto_api_test.c | 244 | src/nat-auto/nat_auto_api_test.c |
245 | src/nat/gnunet-helper-nat-client.c | ||
246 | src/nat/gnunet-helper-nat-client-windows.c | 245 | src/nat/gnunet-helper-nat-client-windows.c |
247 | src/nat/gnunet-helper-nat-server.c | 246 | src/nat/gnunet-helper-nat-client.c |
248 | src/nat/gnunet-helper-nat-server-windows.c | 247 | src/nat/gnunet-helper-nat-server-windows.c |
248 | src/nat/gnunet-helper-nat-server.c | ||
249 | src/nat/gnunet-nat.c | 249 | src/nat/gnunet-nat.c |
250 | src/nat/gnunet-service-nat.c | 250 | src/nat/gnunet-service-nat.c |
251 | src/nat/gnunet-service-nat_externalip.c | 251 | src/nat/gnunet-service-nat_externalip.c |
@@ -254,17 +254,17 @@ src/nat/gnunet-service-nat_mini.c | |||
254 | src/nat/gnunet-service-nat_stun.c | 254 | src/nat/gnunet-service-nat_stun.c |
255 | src/nat/nat_api.c | 255 | src/nat/nat_api.c |
256 | src/nat/nat_api_stun.c | 256 | src/nat/nat_api_stun.c |
257 | src/nse/gnunet-nse.c | ||
258 | src/nse/gnunet-nse-profiler.c | 257 | src/nse/gnunet-nse-profiler.c |
258 | src/nse/gnunet-nse.c | ||
259 | src/nse/gnunet-service-nse.c | 259 | src/nse/gnunet-service-nse.c |
260 | src/nse/nse_api.c | 260 | src/nse/nse_api.c |
261 | src/nt/nt.c | 261 | src/nt/nt.c |
262 | src/peerinfo/gnunet-service-peerinfo.c | ||
263 | src/peerinfo/peerinfo_api.c | ||
264 | src/peerinfo/peerinfo_api_notify.c | ||
265 | src/peerinfo-tool/gnunet-peerinfo.c | 262 | src/peerinfo-tool/gnunet-peerinfo.c |
266 | src/peerinfo-tool/gnunet-peerinfo_plugins.c | 263 | src/peerinfo-tool/gnunet-peerinfo_plugins.c |
267 | src/peerinfo-tool/plugin_rest_peerinfo.c | 264 | src/peerinfo-tool/plugin_rest_peerinfo.c |
265 | src/peerinfo/gnunet-service-peerinfo.c | ||
266 | src/peerinfo/peerinfo_api.c | ||
267 | src/peerinfo/peerinfo_api_notify.c | ||
268 | src/peerstore/gnunet-peerstore.c | 268 | src/peerstore/gnunet-peerstore.c |
269 | src/peerstore/gnunet-service-peerstore.c | 269 | src/peerstore/gnunet-service-peerstore.c |
270 | src/peerstore/peerstore_api.c | 270 | src/peerstore/peerstore_api.c |
@@ -312,22 +312,22 @@ src/revocation/gnunet-revocation.c | |||
312 | src/revocation/gnunet-service-revocation.c | 312 | src/revocation/gnunet-service-revocation.c |
313 | src/revocation/plugin_block_revocation.c | 313 | src/revocation/plugin_block_revocation.c |
314 | src/revocation/revocation_api.c | 314 | src/revocation/revocation_api.c |
315 | src/rps/gnunet-rps.c | ||
316 | src/rps/gnunet-rps-profiler.c | 315 | src/rps/gnunet-rps-profiler.c |
316 | src/rps/gnunet-rps.c | ||
317 | src/rps/gnunet-service-rps.c | 317 | src/rps/gnunet-service-rps.c |
318 | src/rps/gnunet-service-rps_custommap.c | 318 | src/rps/gnunet-service-rps_custommap.c |
319 | src/rps/gnunet-service-rps_sampler.c | 319 | src/rps/gnunet-service-rps_sampler.c |
320 | src/rps/gnunet-service-rps_sampler_elem.c | 320 | src/rps/gnunet-service-rps_sampler_elem.c |
321 | src/rps/gnunet-service-rps_view.c | 321 | src/rps/gnunet-service-rps_view.c |
322 | src/rps/rps_api.c | ||
323 | src/rps/rps-sampler_client.c | 322 | src/rps/rps-sampler_client.c |
324 | src/rps/rps-sampler_common.c | 323 | src/rps/rps-sampler_common.c |
325 | src/rps/rps-test_util.c | 324 | src/rps/rps-test_util.c |
325 | src/rps/rps_api.c | ||
326 | src/scalarproduct/gnunet-scalarproduct.c | 326 | src/scalarproduct/gnunet-scalarproduct.c |
327 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
328 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
329 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c | 327 | src/scalarproduct/gnunet-service-scalarproduct-ecc_alice.c |
330 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c | 328 | src/scalarproduct/gnunet-service-scalarproduct-ecc_bob.c |
329 | src/scalarproduct/gnunet-service-scalarproduct_alice.c | ||
330 | src/scalarproduct/gnunet-service-scalarproduct_bob.c | ||
331 | src/scalarproduct/scalarproduct_api.c | 331 | src/scalarproduct/scalarproduct_api.c |
332 | src/secretsharing/gnunet-secretsharing-profiler.c | 332 | src/secretsharing/gnunet-secretsharing-profiler.c |
333 | src/secretsharing/gnunet-service-secretsharing.c | 333 | src/secretsharing/gnunet-service-secretsharing.c |
@@ -353,15 +353,16 @@ src/statistics/gnunet-statistics.c | |||
353 | src/statistics/statistics_api.c | 353 | src/statistics/statistics_api.c |
354 | src/template/gnunet-service-template.c | 354 | src/template/gnunet-service-template.c |
355 | src/template/gnunet-template.c | 355 | src/template/gnunet-template.c |
356 | src/testbed-logger/gnunet-service-testbed-logger.c | ||
357 | src/testbed-logger/testbed_logger_api.c | ||
356 | src/testbed/generate-underlay-topology.c | 358 | src/testbed/generate-underlay-topology.c |
357 | src/testbed/gnunet-daemon-latency-logger.c | 359 | src/testbed/gnunet-daemon-latency-logger.c |
358 | src/testbed/gnunet-daemon-testbed-blacklist.c | 360 | src/testbed/gnunet-daemon-testbed-blacklist.c |
359 | src/testbed/gnunet-daemon-testbed-underlay.c | 361 | src/testbed/gnunet-daemon-testbed-underlay.c |
360 | src/testbed/gnunet-helper-testbed.c | 362 | src/testbed/gnunet-helper-testbed.c |
361 | src/testbed/gnunet_mpi_test.c | ||
362 | src/testbed/gnunet-service-test-barriers.c | 363 | src/testbed/gnunet-service-test-barriers.c |
363 | src/testbed/gnunet-service-testbed_barriers.c | ||
364 | src/testbed/gnunet-service-testbed.c | 364 | src/testbed/gnunet-service-testbed.c |
365 | src/testbed/gnunet-service-testbed_barriers.c | ||
365 | src/testbed/gnunet-service-testbed_cache.c | 366 | src/testbed/gnunet-service-testbed_cache.c |
366 | src/testbed/gnunet-service-testbed_connectionpool.c | 367 | src/testbed/gnunet-service-testbed_connectionpool.c |
367 | src/testbed/gnunet-service-testbed_cpustatus.c | 368 | src/testbed/gnunet-service-testbed_cpustatus.c |
@@ -369,20 +370,19 @@ src/testbed/gnunet-service-testbed_links.c | |||
369 | src/testbed/gnunet-service-testbed_meminfo.c | 370 | src/testbed/gnunet-service-testbed_meminfo.c |
370 | src/testbed/gnunet-service-testbed_oc.c | 371 | src/testbed/gnunet-service-testbed_oc.c |
371 | src/testbed/gnunet-service-testbed_peers.c | 372 | src/testbed/gnunet-service-testbed_peers.c |
372 | src/testbed/gnunet_testbed_mpi_spawn.c | ||
373 | src/testbed/gnunet-testbed-profiler.c | 373 | src/testbed/gnunet-testbed-profiler.c |
374 | src/testbed-logger/gnunet-service-testbed-logger.c | 374 | src/testbed/gnunet_mpi_test.c |
375 | src/testbed-logger/testbed_logger_api.c | 375 | src/testbed/gnunet_testbed_mpi_spawn.c |
376 | src/testbed/testbed_api_barriers.c | ||
377 | src/testbed/testbed_api.c | 376 | src/testbed/testbed_api.c |
377 | src/testbed/testbed_api_barriers.c | ||
378 | src/testbed/testbed_api_hosts.c | 378 | src/testbed/testbed_api_hosts.c |
379 | src/testbed/testbed_api_operations.c | 379 | src/testbed/testbed_api_operations.c |
380 | src/testbed/testbed_api_peers.c | 380 | src/testbed/testbed_api_peers.c |
381 | src/testbed/testbed_api_sd.c | 381 | src/testbed/testbed_api_sd.c |
382 | src/testbed/testbed_api_services.c | 382 | src/testbed/testbed_api_services.c |
383 | src/testbed/testbed_api_statistics.c | 383 | src/testbed/testbed_api_statistics.c |
384 | src/testbed/testbed_api_testbed.c | ||
385 | src/testbed/testbed_api_test.c | 384 | src/testbed/testbed_api_test.c |
385 | src/testbed/testbed_api_testbed.c | ||
386 | src/testbed/testbed_api_topology.c | 386 | src/testbed/testbed_api_topology.c |
387 | src/testbed/testbed_api_underlay.c | 387 | src/testbed/testbed_api_underlay.c |
388 | src/testing/gnunet-testing.c | 388 | src/testing/gnunet-testing.c |
@@ -394,35 +394,41 @@ src/transport/gnunet-communicator-tcp.c | |||
394 | src/transport/gnunet-communicator-udp.c | 394 | src/transport/gnunet-communicator-udp.c |
395 | src/transport/gnunet-communicator-unix.c | 395 | src/transport/gnunet-communicator-unix.c |
396 | src/transport/gnunet-helper-transport-bluetooth.c | 396 | src/transport/gnunet-helper-transport-bluetooth.c |
397 | src/transport/gnunet-helper-transport-wlan.c | ||
398 | src/transport/gnunet-helper-transport-wlan-dummy.c | 397 | src/transport/gnunet-helper-transport-wlan-dummy.c |
398 | src/transport/gnunet-helper-transport-wlan.c | ||
399 | src/transport/gnunet-service-tng.c | 399 | src/transport/gnunet-service-tng.c |
400 | src/transport/gnunet-service-transport_ats.c | ||
401 | src/transport/gnunet-service-transport.c | 400 | src/transport/gnunet-service-transport.c |
401 | src/transport/gnunet-service-transport_ats.c | ||
402 | src/transport/gnunet-service-transport_hello.c | 402 | src/transport/gnunet-service-transport_hello.c |
403 | src/transport/gnunet-service-transport_manipulation.c | 403 | src/transport/gnunet-service-transport_manipulation.c |
404 | src/transport/gnunet-service-transport_neighbours.c | 404 | src/transport/gnunet-service-transport_neighbours.c |
405 | src/transport/gnunet-service-transport_plugins.c | 405 | src/transport/gnunet-service-transport_plugins.c |
406 | src/transport/gnunet-service-transport_validation.c | 406 | src/transport/gnunet-service-transport_validation.c |
407 | src/transport/gnunet-transport.c | ||
408 | src/transport/gnunet-transport-certificate-creation.c | 407 | src/transport/gnunet-transport-certificate-creation.c |
409 | src/transport/gnunet-transport-profiler.c | 408 | src/transport/gnunet-transport-profiler.c |
410 | src/transport/gnunet-transport-wlan-receiver.c | 409 | src/transport/gnunet-transport-wlan-receiver.c |
411 | src/transport/gnunet-transport-wlan-sender.c | 410 | src/transport/gnunet-transport-wlan-sender.c |
411 | src/transport/gnunet-transport.c | ||
412 | src/transport/plugin_transport_http_client.c | 412 | src/transport/plugin_transport_http_client.c |
413 | src/transport/plugin_transport_http_common.c | 413 | src/transport/plugin_transport_http_common.c |
414 | src/transport/plugin_transport_http_server.c | 414 | src/transport/plugin_transport_http_server.c |
415 | src/transport/plugin_transport_smtp.c | 415 | src/transport/plugin_transport_smtp.c |
416 | src/transport/plugin_transport_tcp.c | 416 | src/transport/plugin_transport_tcp.c |
417 | src/transport/plugin_transport_template.c | 417 | src/transport/plugin_transport_template.c |
418 | src/transport/plugin_transport_udp_broadcasting.c | ||
419 | src/transport/plugin_transport_udp.c | 418 | src/transport/plugin_transport_udp.c |
419 | src/transport/plugin_transport_udp_broadcasting.c | ||
420 | src/transport/plugin_transport_unix.c | 420 | src/transport/plugin_transport_unix.c |
421 | src/transport/plugin_transport_wlan.c | 421 | src/transport/plugin_transport_wlan.c |
422 | src/transport/tcp_connection_legacy.c | 422 | src/transport/tcp_connection_legacy.c |
423 | src/transport/tcp_server_legacy.c | 423 | src/transport/tcp_server_legacy.c |
424 | src/transport/tcp_server_mst_legacy.c | 424 | src/transport/tcp_server_mst_legacy.c |
425 | src/transport/tcp_service_legacy.c | 425 | src/transport/tcp_service_legacy.c |
426 | src/transport/transport-testing-filenames.c | ||
427 | src/transport/transport-testing-loggers.c | ||
428 | src/transport/transport-testing-main.c | ||
429 | src/transport/transport-testing-send.c | ||
430 | src/transport/transport-testing.c | ||
431 | src/transport/transport-testing2.c | ||
426 | src/transport/transport_api2_application.c | 432 | src/transport/transport_api2_application.c |
427 | src/transport/transport_api2_communication.c | 433 | src/transport/transport_api2_communication.c |
428 | src/transport/transport_api2_core.c | 434 | src/transport/transport_api2_core.c |
@@ -435,12 +441,6 @@ src/transport/transport_api_manipulation.c | |||
435 | src/transport/transport_api_monitor_peers.c | 441 | src/transport/transport_api_monitor_peers.c |
436 | src/transport/transport_api_monitor_plugins.c | 442 | src/transport/transport_api_monitor_plugins.c |
437 | src/transport/transport_api_offer_hello.c | 443 | src/transport/transport_api_offer_hello.c |
438 | src/transport/transport-testing2.c | ||
439 | src/transport/transport-testing.c | ||
440 | src/transport/transport-testing-filenames.c | ||
441 | src/transport/transport-testing-loggers.c | ||
442 | src/transport/transport-testing-main.c | ||
443 | src/transport/transport-testing-send.c | ||
444 | src/util/bandwidth.c | 444 | src/util/bandwidth.c |
445 | src/util/benchmark.c | 445 | src/util/benchmark.c |
446 | src/util/bio.c | 446 | src/util/bio.c |
@@ -453,8 +453,8 @@ src/util/configuration_loader.c | |||
453 | src/util/container_bloomfilter.c | 453 | src/util/container_bloomfilter.c |
454 | src/util/container_heap.c | 454 | src/util/container_heap.c |
455 | src/util/container_meta_data.c | 455 | src/util/container_meta_data.c |
456 | src/util/container_multihashmap32.c | ||
457 | src/util/container_multihashmap.c | 456 | src/util/container_multihashmap.c |
457 | src/util/container_multihashmap32.c | ||
458 | src/util/container_multipeermap.c | 458 | src/util/container_multipeermap.c |
459 | src/util/container_multishortmap.c | 459 | src/util/container_multishortmap.c |
460 | src/util/crypto_abe.c | 460 | src/util/crypto_abe.c |
@@ -476,16 +476,16 @@ src/util/dnsparser.c | |||
476 | src/util/dnsstub.c | 476 | src/util/dnsstub.c |
477 | src/util/getopt.c | 477 | src/util/getopt.c |
478 | src/util/getopt_helpers.c | 478 | src/util/getopt_helpers.c |
479 | src/util/gnunet-config.c | ||
480 | src/util/gnunet-config-diff.c | 479 | src/util/gnunet-config-diff.c |
480 | src/util/gnunet-config.c | ||
481 | src/util/gnunet-ecc.c | 481 | src/util/gnunet-ecc.c |
482 | src/util/gnunet-helper-w32-console.c | 482 | src/util/gnunet-helper-w32-console.c |
483 | src/util/gnunet-qr.c | 483 | src/util/gnunet-qr.c |
484 | src/util/gnunet-resolver.c | 484 | src/util/gnunet-resolver.c |
485 | src/util/gnunet-scrypt.c | 485 | src/util/gnunet-scrypt.c |
486 | src/util/gnunet-service-resolver.c | 486 | src/util/gnunet-service-resolver.c |
487 | src/util/gnunet-timeout.c | ||
488 | src/util/gnunet-timeout-w32.c | 487 | src/util/gnunet-timeout-w32.c |
488 | src/util/gnunet-timeout.c | ||
489 | src/util/gnunet-uri.c | 489 | src/util/gnunet-uri.c |
490 | src/util/helper.c | 490 | src/util/helper.c |
491 | src/util/load.c | 491 | src/util/load.c |
@@ -514,13 +514,13 @@ src/util/tun.c | |||
514 | src/util/w32cat.c | 514 | src/util/w32cat.c |
515 | src/util/win.c | 515 | src/util/win.c |
516 | src/util/winproc.c | 516 | src/util/winproc.c |
517 | src/vpn/gnunet-helper-vpn.c | ||
518 | src/vpn/gnunet-helper-vpn-windows.c | 517 | src/vpn/gnunet-helper-vpn-windows.c |
518 | src/vpn/gnunet-helper-vpn.c | ||
519 | src/vpn/gnunet-service-vpn.c | 519 | src/vpn/gnunet-service-vpn.c |
520 | src/vpn/gnunet-vpn.c | 520 | src/vpn/gnunet-vpn.c |
521 | src/vpn/vpn_api.c | 521 | src/vpn/vpn_api.c |
522 | src/zonemaster/gnunet-service-zonemaster.c | ||
523 | src/zonemaster/gnunet-service-zonemaster-monitor.c | 522 | src/zonemaster/gnunet-service-zonemaster-monitor.c |
523 | src/zonemaster/gnunet-service-zonemaster.c | ||
524 | src/fs/fs_api.h | 524 | src/fs/fs_api.h |
525 | src/include/compat.h | 525 | src/include/compat.h |
526 | src/include/gnunet_common.h | 526 | src/include/gnunet_common.h |
diff --git a/src/gns/gns_tld_api.c b/src/gns/gns_tld_api.c index 0dabac60e..e62bc437d 100644 --- a/src/gns/gns_tld_api.c +++ b/src/gns/gns_tld_api.c | |||
@@ -35,8 +35,7 @@ | |||
35 | #include "gns_api.h" | 35 | #include "gns_api.h" |
36 | 36 | ||
37 | 37 | ||
38 | #define LOG(kind,...) GNUNET_log_from (kind, "gns-tld-api",__VA_ARGS__) | 38 | #define LOG(kind, ...) GNUNET_log_from (kind, "gns-tld-api", __VA_ARGS__) |
39 | |||
40 | 39 | ||
41 | 40 | ||
42 | /** | 41 | /** |
@@ -110,8 +109,7 @@ get_tld (const char *name) | |||
110 | { | 109 | { |
111 | const char *tld; | 110 | const char *tld; |
112 | 111 | ||
113 | tld = strrchr (name, | 112 | tld = strrchr (name, (unsigned char) '.'); |
114 | (unsigned char) '.'); | ||
115 | if (NULL == tld) | 113 | if (NULL == tld) |
116 | tld = name; | 114 | tld = name; |
117 | else | 115 | else |
@@ -127,19 +125,18 @@ get_tld (const char *name) | |||
127 | * @param tld what to eat (can be more than just the tld) | 125 | * @param tld what to eat (can be more than just the tld) |
128 | */ | 126 | */ |
129 | static void | 127 | static void |
130 | eat_tld (char *name, | 128 | eat_tld (char *name, const char *tld) |
131 | const char *tld) | ||
132 | { | 129 | { |
133 | GNUNET_assert (0 < strlen (name)); | 130 | GNUNET_assert (0 < strlen (name)); |
134 | if (NULL == tld) | 131 | if ((NULL == tld) || |
132 | (strlen (name) == strlen (tld))) | ||
135 | { | 133 | { |
136 | strcpy (name, | 134 | strcpy (name, GNUNET_GNS_EMPTY_LABEL_AT); |
137 | GNUNET_GNS_EMPTY_LABEL_AT); | ||
138 | } | 135 | } |
139 | else | 136 | else |
140 | { | 137 | { |
141 | GNUNET_assert (strlen (tld) < strlen (name)); | 138 | GNUNET_assert (strlen (tld) < strlen (name)); |
142 | name[strlen(name) - strlen(tld) - 1] = '\0'; | 139 | name[strlen (name) - strlen (tld) - 1] = '\0'; |
143 | } | 140 | } |
144 | } | 141 | } |
145 | 142 | ||
@@ -154,15 +151,12 @@ eat_tld (char *name, | |||
154 | static void | 151 | static void |
155 | process_lookup_result (void *cls, | 152 | process_lookup_result (void *cls, |
156 | uint32_t rd_count, | 153 | uint32_t rd_count, |
157 | const struct GNUNET_GNSRECORD_Data *rd) | 154 | const struct GNUNET_GNSRECORD_Data *rd) |
158 | { | 155 | { |
159 | struct GNUNET_GNS_LookupWithTldRequest *ltr = cls; | 156 | struct GNUNET_GNS_LookupWithTldRequest *ltr = cls; |
160 | 157 | ||
161 | ltr->lr = NULL; | 158 | ltr->lr = NULL; |
162 | ltr->lookup_proc (ltr->lookup_proc_cls, | 159 | ltr->lookup_proc (ltr->lookup_proc_cls, GNUNET_YES, rd_count, rd); |
163 | GNUNET_YES, | ||
164 | rd_count, | ||
165 | rd); | ||
166 | GNUNET_GNS_lookup_with_tld_cancel (ltr); | 160 | GNUNET_GNS_lookup_with_tld_cancel (ltr); |
167 | } | 161 | } |
168 | 162 | ||
@@ -175,15 +169,15 @@ process_lookup_result (void *cls, | |||
175 | */ | 169 | */ |
176 | static void | 170 | static void |
177 | lookup_with_public_key (struct GNUNET_GNS_LookupWithTldRequest *ltr, | 171 | lookup_with_public_key (struct GNUNET_GNS_LookupWithTldRequest *ltr, |
178 | const struct GNUNET_CRYPTO_EcdsaPublicKey *pkey) | 172 | const struct GNUNET_CRYPTO_EcdsaPublicKey *pkey) |
179 | { | 173 | { |
180 | ltr->lr = GNUNET_GNS_lookup (ltr->gns_handle, | 174 | ltr->lr = GNUNET_GNS_lookup (ltr->gns_handle, |
181 | ltr->name, | 175 | ltr->name, |
182 | pkey, | 176 | pkey, |
183 | ltr->type, | 177 | ltr->type, |
184 | ltr->options, | 178 | ltr->options, |
185 | &process_lookup_result, | 179 | &process_lookup_result, |
186 | ltr); | 180 | ltr); |
187 | } | 181 | } |
188 | 182 | ||
189 | 183 | ||
@@ -211,57 +205,48 @@ identity_zone_cb (void *cls, | |||
211 | { | 205 | { |
212 | /* Final case: TLD matches one of our egos */ | 206 | /* Final case: TLD matches one of our egos */ |
213 | // FIXME: eat all of the match (not just TLD!) | 207 | // FIXME: eat all of the match (not just TLD!) |
214 | if (0 == strcmp (ltr->name, | 208 | if (0 == strcmp (ltr->name, ltr->longest_match)) |
215 | ltr->longest_match)) | ||
216 | { | 209 | { |
217 | /* name matches ego name perfectly, only "@" remains */ | 210 | /* name matches ego name perfectly, only "@" remains */ |
218 | strcpy (ltr->name, | 211 | strcpy (ltr->name, GNUNET_GNS_EMPTY_LABEL_AT); |
219 | GNUNET_GNS_EMPTY_LABEL_AT); | ||
220 | } | 212 | } |
221 | else | 213 | else |
222 | { | 214 | { |
223 | GNUNET_assert (strlen (ltr->longest_match) < strlen (ltr->name)); | 215 | GNUNET_assert (strlen (ltr->longest_match) < strlen (ltr->name)); |
224 | ltr->name[strlen(ltr->name) - strlen (ltr->longest_match) - 1] = '\0'; | 216 | ltr->name[strlen (ltr->name) - strlen (ltr->longest_match) - 1] = '\0'; |
225 | } | 217 | } |
226 | 218 | ||
227 | /* if the name is of the form 'label' (and not 'label.SUBDOMAIN'), never go to the DHT */ | 219 | /* if the name is of the form 'label' (and not 'label.SUBDOMAIN'), never go to the DHT */ |
228 | GNUNET_free (ltr->longest_match); | 220 | GNUNET_free (ltr->longest_match); |
229 | ltr->longest_match = NULL; | 221 | ltr->longest_match = NULL; |
230 | if (NULL == strchr (ltr->name, | 222 | if (NULL == strchr (ltr->name, (unsigned char) '.')) |
231 | (unsigned char) '.')) | ||
232 | ltr->options = GNUNET_GNS_LO_NO_DHT; | 223 | ltr->options = GNUNET_GNS_LO_NO_DHT; |
233 | else | 224 | else |
234 | ltr->options = GNUNET_GNS_LO_LOCAL_MASTER; | 225 | ltr->options = GNUNET_GNS_LO_LOCAL_MASTER; |
235 | 226 | ||
236 | GNUNET_IDENTITY_ego_get_public_key (ltr->longest_match_ego, | 227 | GNUNET_IDENTITY_ego_get_public_key (ltr->longest_match_ego, &pkey); |
237 | &pkey); | ||
238 | GNUNET_IDENTITY_disconnect (ltr->id_co); | 228 | GNUNET_IDENTITY_disconnect (ltr->id_co); |
239 | ltr->id_co = NULL; | 229 | ltr->id_co = NULL; |
240 | lookup_with_public_key (ltr, | 230 | lookup_with_public_key (ltr, &pkey); |
241 | &pkey); | ||
242 | } | 231 | } |
243 | else | 232 | else |
244 | { | 233 | { |
245 | /* no matching ego found */ | 234 | /* no matching ego found */ |
246 | GNUNET_IDENTITY_disconnect (ltr->id_co); | 235 | GNUNET_IDENTITY_disconnect (ltr->id_co); |
247 | ltr->id_co = NULL; | 236 | ltr->id_co = NULL; |
248 | ltr->lookup_proc (ltr->lookup_proc_cls, | 237 | ltr->lookup_proc (ltr->lookup_proc_cls, GNUNET_NO, 0, NULL); |
249 | GNUNET_NO, | ||
250 | 0, | ||
251 | NULL); | ||
252 | GNUNET_GNS_lookup_with_tld_cancel (ltr); | 238 | GNUNET_GNS_lookup_with_tld_cancel (ltr); |
253 | } | 239 | } |
254 | return; | 240 | return; |
255 | } | 241 | } |
256 | else if (NULL != name) | 242 | else if (NULL != name) |
257 | { | 243 | { |
258 | if ( (strlen (name) <= strlen (ltr->name)) && | 244 | if ((strlen (name) <= strlen (ltr->name)) && |
259 | (0 == strcmp (name, | 245 | (0 == strcmp (name, <r->name[strlen (ltr->name) - strlen (name)])) && |
260 | <r->name[strlen(ltr->name) - strlen (name)])) && | 246 | ((strlen (name) == strlen (ltr->name)) || |
261 | ( (strlen (name) == strlen (ltr->name)) || | 247 | ('.' == ltr->name[strlen (ltr->name) - strlen (name) - 1])) && |
262 | ('.' == ltr->name[strlen(ltr->name) - strlen (name) - 1]) ) && | 248 | ((NULL == ltr->longest_match) || |
263 | ( (NULL == ltr->longest_match) || | 249 | (strlen (name) > strlen (ltr->longest_match)))) |
264 | (strlen (name) > strlen (ltr->longest_match)) ) ) | ||
265 | { | 250 | { |
266 | /* found better match, update! */ | 251 | /* found better match, update! */ |
267 | GNUNET_free_non_null (ltr->longest_match); | 252 | GNUNET_free_non_null (ltr->longest_match); |
@@ -287,11 +272,11 @@ identity_zone_cb (void *cls, | |||
287 | */ | 272 | */ |
288 | struct GNUNET_GNS_LookupWithTldRequest * | 273 | struct GNUNET_GNS_LookupWithTldRequest * |
289 | GNUNET_GNS_lookup_with_tld (struct GNUNET_GNS_Handle *handle, | 274 | GNUNET_GNS_lookup_with_tld (struct GNUNET_GNS_Handle *handle, |
290 | const char *name, | 275 | const char *name, |
291 | uint32_t type, | 276 | uint32_t type, |
292 | enum GNUNET_GNS_LocalOptions options, | 277 | enum GNUNET_GNS_LocalOptions options, |
293 | GNUNET_GNS_LookupResultProcessor2 proc, | 278 | GNUNET_GNS_LookupResultProcessor2 proc, |
294 | void *proc_cls) | 279 | void *proc_cls) |
295 | { | 280 | { |
296 | struct GNUNET_GNS_LookupWithTldRequest *ltr; | 281 | struct GNUNET_GNS_LookupWithTldRequest *ltr; |
297 | const char *tld; | 282 | const char *tld; |
@@ -309,63 +294,52 @@ GNUNET_GNS_lookup_with_tld (struct GNUNET_GNS_Handle *handle, | |||
309 | /* start with trivial case: TLD is zkey */ | 294 | /* start with trivial case: TLD is zkey */ |
310 | tld = get_tld (ltr->name); | 295 | tld = get_tld (ltr->name); |
311 | if (GNUNET_OK == | 296 | if (GNUNET_OK == |
312 | GNUNET_CRYPTO_ecdsa_public_key_from_string (tld, | 297 | GNUNET_CRYPTO_ecdsa_public_key_from_string (tld, strlen (tld), &pkey)) |
313 | strlen (tld), | ||
314 | &pkey)) | ||
315 | { | 298 | { |
316 | eat_tld (ltr->name, | 299 | eat_tld (ltr->name, tld); |
317 | tld); | 300 | lookup_with_public_key (ltr, &pkey); |
318 | lookup_with_public_key (ltr, | ||
319 | &pkey); | ||
320 | return ltr; | 301 | return ltr; |
321 | } | 302 | } |
322 | 303 | ||
323 | /* second case: domain is mapped in our configuration file */ | 304 | /* second case: domain is mapped in our configuration file */ |
324 | for (const char *domain = name; | 305 | for (const char *domain = name; NULL != domain; |
325 | NULL != domain; | 306 | domain = strchr (domain, (unsigned char) '.')) |
326 | domain = strchr (domain, | ||
327 | (unsigned char) '.')) | ||
328 | { | 307 | { |
329 | if ('.' == domain[0]) | 308 | if ('.' == domain[0]) |
330 | domain++; | 309 | domain++; |
331 | GNUNET_asprintf (&dot_tld, | 310 | GNUNET_asprintf (&dot_tld, ".%s", domain); |
332 | ".%s", | 311 | if (GNUNET_OK == GNUNET_CONFIGURATION_get_value_string (handle->cfg, |
333 | domain); | 312 | "gns", |
334 | if (GNUNET_OK == | 313 | dot_tld, |
335 | GNUNET_CONFIGURATION_get_value_string (handle->cfg, | 314 | &zonestr)) |
336 | "gns", | ||
337 | dot_tld, | ||
338 | &zonestr)) | ||
339 | { | 315 | { |
340 | if (GNUNET_OK != | 316 | if (GNUNET_OK != |
341 | GNUNET_CRYPTO_ecdsa_public_key_from_string (zonestr, | 317 | GNUNET_CRYPTO_ecdsa_public_key_from_string (zonestr, |
342 | strlen (zonestr), | 318 | strlen (zonestr), |
343 | &pkey)) | 319 | &pkey)) |
344 | { | 320 | { |
345 | GNUNET_log_config_invalid (GNUNET_ERROR_TYPE_ERROR, | 321 | GNUNET_log_config_invalid ( |
346 | "gns", | 322 | GNUNET_ERROR_TYPE_ERROR, |
347 | dot_tld, | 323 | "gns", |
348 | _("Expected a base32-encoded public zone key\n")); | 324 | dot_tld, |
349 | GNUNET_free (zonestr); | 325 | _ ("Expected a base32-encoded public zone key\n")); |
350 | GNUNET_free (dot_tld); | 326 | GNUNET_free (zonestr); |
351 | GNUNET_free (ltr->name); | 327 | GNUNET_free (dot_tld); |
352 | GNUNET_free (ltr); | 328 | GNUNET_free (ltr->name); |
353 | return NULL; | 329 | GNUNET_free (ltr); |
330 | return NULL; | ||
354 | } | 331 | } |
355 | eat_tld (ltr->name, | 332 | eat_tld (ltr->name, &dot_tld[1]); |
356 | &dot_tld[1]); | ||
357 | GNUNET_free (zonestr); | 333 | GNUNET_free (zonestr); |
358 | GNUNET_free (dot_tld); | 334 | GNUNET_free (dot_tld); |
359 | lookup_with_public_key (ltr, | 335 | lookup_with_public_key (ltr, &pkey); |
360 | &pkey); | ||
361 | return ltr; | 336 | return ltr; |
362 | } | 337 | } |
363 | GNUNET_free (dot_tld); | 338 | GNUNET_free (dot_tld); |
364 | } | 339 | } |
365 | 340 | ||
366 | ltr->id_co = GNUNET_IDENTITY_connect (ltr->gns_handle->cfg, | 341 | ltr->id_co = |
367 | &identity_zone_cb, | 342 | GNUNET_IDENTITY_connect (ltr->gns_handle->cfg, &identity_zone_cb, ltr); |
368 | ltr); | ||
369 | if (NULL == ltr->id_co) | 343 | if (NULL == ltr->id_co) |
370 | { | 344 | { |
371 | GNUNET_free (ltr->name); | 345 | GNUNET_free (ltr->name); |
diff --git a/src/util/dnsparser.c b/src/util/dnsparser.c index 699f9d592..ec10e3ec3 100644 --- a/src/util/dnsparser.c +++ b/src/util/dnsparser.c | |||
@@ -60,6 +60,8 @@ GNUNET_DNSPARSER_check_label (const char *label) | |||
60 | 60 | ||
61 | if (NULL != strchr (label, '.')) | 61 | if (NULL != strchr (label, '.')) |
62 | return GNUNET_SYSERR; /* not a label! Did you mean GNUNET_DNSPARSER_check_name? */ | 62 | return GNUNET_SYSERR; /* not a label! Did you mean GNUNET_DNSPARSER_check_name? */ |
63 | if (0 == strcmp (label, "@")) /* '@' is reserved for the empty label, see #GNUNET_GNS_EMPTY_LABEL_AT */ | ||
64 | return GNUNET_SYSERR; | ||
63 | if (IDNA_SUCCESS != idna_to_ascii_8z (label, &output, IDNA_ALLOW_UNASSIGNED)) | 65 | if (IDNA_SUCCESS != idna_to_ascii_8z (label, &output, IDNA_ALLOW_UNASSIGNED)) |
64 | return GNUNET_SYSERR; | 66 | return GNUNET_SYSERR; |
65 | slen = strlen (output); | 67 | slen = strlen (output); |