diff options
Diffstat (limited to 'src/gns/gnunet-service-gns_interceptor.c')
-rw-r--r-- | src/gns/gnunet-service-gns_interceptor.c | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/src/gns/gnunet-service-gns_interceptor.c b/src/gns/gnunet-service-gns_interceptor.c index be7a46f51..8cb1951bf 100644 --- a/src/gns/gnunet-service-gns_interceptor.c +++ b/src/gns/gnunet-service-gns_interceptor.c | |||
@@ -50,12 +50,12 @@ struct InterceptLookupHandle | |||
50 | struct InterceptLookupHandle *prev; | 50 | struct InterceptLookupHandle *prev; |
51 | 51 | ||
52 | /** | 52 | /** |
53 | * the request handle to reply to | 53 | * the request handle to reply to |
54 | */ | 54 | */ |
55 | struct GNUNET_DNS_RequestHandle *request_handle; | 55 | struct GNUNET_DNS_RequestHandle *request_handle; |
56 | 56 | ||
57 | /** | 57 | /** |
58 | * the dns parser packet received | 58 | * the dns parser packet received |
59 | */ | 59 | */ |
60 | struct GNUNET_DNSPARSER_Packet *packet; | 60 | struct GNUNET_DNSPARSER_Packet *packet; |
61 | 61 | ||
@@ -102,7 +102,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
102 | struct InterceptLookupHandle *ilh = cls; | 102 | struct InterceptLookupHandle *ilh = cls; |
103 | struct GNUNET_DNSPARSER_Packet *packet = ilh->packet; | 103 | struct GNUNET_DNSPARSER_Packet *packet = ilh->packet; |
104 | struct GNUNET_DNSPARSER_Query *query = &packet->queries[0]; | 104 | struct GNUNET_DNSPARSER_Query *query = &packet->queries[0]; |
105 | uint32_t i; | 105 | uint32_t i; |
106 | size_t len; | 106 | size_t len; |
107 | int ret; | 107 | int ret; |
108 | char *buf; | 108 | char *buf; |
@@ -110,7 +110,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
110 | unsigned int skip_answers; | 110 | unsigned int skip_answers; |
111 | unsigned int skip_additional; | 111 | unsigned int skip_additional; |
112 | size_t off; | 112 | size_t off; |
113 | 113 | ||
114 | /* Put records in the DNS packet */ | 114 | /* Put records in the DNS packet */ |
115 | num_answers = 0; | 115 | num_answers = 0; |
116 | for (i=0; i < rd_count; i++) | 116 | for (i=0; i < rd_count; i++) |
@@ -151,7 +151,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
151 | } | 151 | } |
152 | break; | 152 | break; |
153 | case GNUNET_DNSPARSER_TYPE_SOA: | 153 | case GNUNET_DNSPARSER_TYPE_SOA: |
154 | answer_records[i - skip_answers].data.soa | 154 | answer_records[i - skip_answers].data.soa |
155 | = GNUNET_DNSPARSER_parse_soa (rd[i].data, | 155 | = GNUNET_DNSPARSER_parse_soa (rd[i].data, |
156 | rd[i].data_size, | 156 | rd[i].data_size, |
157 | &off); | 157 | &off); |
@@ -167,7 +167,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
167 | skip_answers++; | 167 | skip_answers++; |
168 | break; | 168 | break; |
169 | case GNUNET_DNSPARSER_TYPE_MX: | 169 | case GNUNET_DNSPARSER_TYPE_MX: |
170 | answer_records[i - skip_answers].data.mx | 170 | answer_records[i - skip_answers].data.mx |
171 | = GNUNET_DNSPARSER_parse_mx (rd[i].data, | 171 | = GNUNET_DNSPARSER_parse_mx (rd[i].data, |
172 | rd[i].data_size, | 172 | rd[i].data_size, |
173 | &off); | 173 | &off); |
@@ -196,7 +196,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
196 | case GNUNET_DNSPARSER_TYPE_NS: | 196 | case GNUNET_DNSPARSER_TYPE_NS: |
197 | case GNUNET_DNSPARSER_TYPE_CNAME: | 197 | case GNUNET_DNSPARSER_TYPE_CNAME: |
198 | case GNUNET_DNSPARSER_TYPE_PTR: | 198 | case GNUNET_DNSPARSER_TYPE_PTR: |
199 | additional_records[i - skip_additional].data.hostname | 199 | additional_records[i - skip_additional].data.hostname |
200 | = GNUNET_DNSPARSER_parse_name (rd[i].data, | 200 | = GNUNET_DNSPARSER_parse_name (rd[i].data, |
201 | rd[i].data_size, | 201 | rd[i].data_size, |
202 | &off); | 202 | &off); |
@@ -208,7 +208,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
208 | } | 208 | } |
209 | break; | 209 | break; |
210 | case GNUNET_DNSPARSER_TYPE_SOA: | 210 | case GNUNET_DNSPARSER_TYPE_SOA: |
211 | additional_records[i - skip_additional].data.soa | 211 | additional_records[i - skip_additional].data.soa |
212 | = GNUNET_DNSPARSER_parse_soa (rd[i].data, | 212 | = GNUNET_DNSPARSER_parse_soa (rd[i].data, |
213 | rd[i].data_size, | 213 | rd[i].data_size, |
214 | &off); | 214 | &off); |
@@ -220,7 +220,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
220 | } | 220 | } |
221 | break; | 221 | break; |
222 | case GNUNET_DNSPARSER_TYPE_MX: | 222 | case GNUNET_DNSPARSER_TYPE_MX: |
223 | additional_records[i - skip_additional].data.mx | 223 | additional_records[i - skip_additional].data.mx |
224 | = GNUNET_DNSPARSER_parse_mx (rd[i].data, | 224 | = GNUNET_DNSPARSER_parse_mx (rd[i].data, |
225 | rd[i].data_size, | 225 | rd[i].data_size, |
226 | &off); | 226 | &off); |
@@ -242,7 +242,7 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
242 | } | 242 | } |
243 | GNUNET_break (0 == (rd[i - skip_additional].flags & GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION)); | 243 | GNUNET_break (0 == (rd[i - skip_additional].flags & GNUNET_NAMESTORE_RF_RELATIVE_EXPIRATION)); |
244 | additional_records[i - skip_additional].expiration_time.abs_value_us = rd[i].expiration_time; | 244 | additional_records[i - skip_additional].expiration_time.abs_value_us = rd[i].expiration_time; |
245 | additional_records[i - skip_additional].dns_traffic_class = GNUNET_TUN_DNS_CLASS_INTERNET; | 245 | additional_records[i - skip_additional].dns_traffic_class = GNUNET_TUN_DNS_CLASS_INTERNET; |
246 | } | 246 | } |
247 | } | 247 | } |
248 | packet->num_answers = num_answers - skip_answers; | 248 | packet->num_answers = num_answers - skip_answers; |
@@ -261,14 +261,14 @@ reply_to_dns (void *cls, uint32_t rd_count, | |||
261 | { | 261 | { |
262 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, | 262 | GNUNET_log (GNUNET_ERROR_TYPE_WARNING, |
263 | _("Error converting GNS response to DNS response!\n")); | 263 | _("Error converting GNS response to DNS response!\n")); |
264 | } | 264 | } |
265 | else | 265 | else |
266 | { | 266 | { |
267 | GNUNET_DNS_request_answer (ilh->request_handle, | 267 | GNUNET_DNS_request_answer (ilh->request_handle, |
268 | len, | 268 | len, |
269 | buf); | 269 | buf); |
270 | GNUNET_free (buf); | 270 | GNUNET_free (buf); |
271 | } | 271 | } |
272 | packet->num_answers = 0; | 272 | packet->num_answers = 0; |
273 | packet->answers = NULL; | 273 | packet->answers = NULL; |
274 | packet->num_additional_records = 0; | 274 | packet->num_additional_records = 0; |
@@ -297,7 +297,7 @@ handle_dns_request (void *cls, | |||
297 | struct GNUNET_DNSPARSER_Packet *p; | 297 | struct GNUNET_DNSPARSER_Packet *p; |
298 | struct InterceptLookupHandle *ilh; | 298 | struct InterceptLookupHandle *ilh; |
299 | 299 | ||
300 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 300 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
301 | "Hijacked a DNS request. Processing.\n"); | 301 | "Hijacked a DNS request. Processing.\n"); |
302 | if (NULL == (p = GNUNET_DNSPARSER_parse (request, request_length))) | 302 | if (NULL == (p = GNUNET_DNSPARSER_parse (request, request_length))) |
303 | { | 303 | { |
@@ -307,7 +307,7 @@ handle_dns_request (void *cls, | |||
307 | GNUNET_DNSPARSER_free_packet (p); | 307 | GNUNET_DNSPARSER_free_packet (p); |
308 | return; | 308 | return; |
309 | } | 309 | } |
310 | 310 | ||
311 | /* Check TLD and decide if we or legacy dns is responsible */ | 311 | /* Check TLD and decide if we or legacy dns is responsible */ |
312 | if (1 != p->num_queries) | 312 | if (1 != p->num_queries) |
313 | { | 313 | { |
@@ -318,7 +318,7 @@ handle_dns_request (void *cls, | |||
318 | return; | 318 | return; |
319 | } | 319 | } |
320 | 320 | ||
321 | /* Check for GNS TLDs. */ | 321 | /* Check for GNS TLDs. */ |
322 | if ( (GNUNET_YES == is_gnu_tld (p->queries[0].name)) || | 322 | if ( (GNUNET_YES == is_gnu_tld (p->queries[0].name)) || |
323 | (GNUNET_YES == is_zkey_tld (p->queries[0].name)) || | 323 | (GNUNET_YES == is_zkey_tld (p->queries[0].name)) || |
324 | (0 == strcmp (p->queries[0].name, GNUNET_GNS_TLD)) ) | 324 | (0 == strcmp (p->queries[0].name, GNUNET_GNS_TLD)) ) |
@@ -328,8 +328,8 @@ handle_dns_request (void *cls, | |||
328 | GNUNET_CONTAINER_DLL_insert (ilh_head, ilh_tail, ilh); | 328 | GNUNET_CONTAINER_DLL_insert (ilh_head, ilh_tail, ilh); |
329 | ilh->packet = p; | 329 | ilh->packet = p; |
330 | ilh->request_handle = rh; | 330 | ilh->request_handle = rh; |
331 | ilh->lookup = GNS_resolver_lookup (&zone, | 331 | ilh->lookup = GNS_resolver_lookup (&zone, |
332 | p->queries[0].type, | 332 | p->queries[0].type, |
333 | p->queries[0].name, | 333 | p->queries[0].name, |
334 | NULL /* FIXME: enable shorten for DNS intercepts? */, | 334 | NULL /* FIXME: enable shorten for DNS intercepts? */, |
335 | GNUNET_NO, | 335 | GNUNET_NO, |
@@ -338,7 +338,7 @@ handle_dns_request (void *cls, | |||
338 | } | 338 | } |
339 | /* This request does not concern us. Forward to real DNS. */ | 339 | /* This request does not concern us. Forward to real DNS. */ |
340 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | 340 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, |
341 | "Request for `%s' is forwarded to DNS untouched.\n", | 341 | "Request for `%s' is forwarded to DNS untouched.\n", |
342 | p->queries[0].name); | 342 | p->queries[0].name); |
343 | GNUNET_DNS_request_forward (rh); | 343 | GNUNET_DNS_request_forward (rh); |
344 | GNUNET_DNSPARSER_free_packet (p); | 344 | GNUNET_DNSPARSER_free_packet (p); |