aboutsummaryrefslogtreecommitdiff
path: root/src/dns
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2013-08-24 10:25:58 +0000
committerChristian Grothoff <christian@grothoff.org>2013-08-24 10:25:58 +0000
commit0b625f3fa9d557ba6896d213d581997252286c0b (patch)
tree8a6549d8720899a774d9b4366879e0e1b93bd494 /src/dns
parent309372ff522a9bb0bf5437c760f50296586c5922 (diff)
downloadgnunet-0b625f3fa9d557ba6896d213d581997252286c0b.tar.gz
gnunet-0b625f3fa9d557ba6896d213d581997252286c0b.zip
-expose API for freeing DNS record members individually
Diffstat (limited to 'src/dns')
-rw-r--r--src/dns/dnsparser.c38
1 files changed, 19 insertions, 19 deletions
diff --git a/src/dns/dnsparser.c b/src/dns/dnsparser.c
index 9509fe115..ed70f6386 100644
--- a/src/dns/dnsparser.c
+++ b/src/dns/dnsparser.c
@@ -106,8 +106,8 @@ GNUNET_DNSPARSER_check_name (const char *name)
106 * 106 *
107 * @param soa record to free 107 * @param soa record to free
108 */ 108 */
109static void 109void
110free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa) 110GNUNET_DNSPARSER_free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa)
111{ 111{
112 if (NULL == soa) 112 if (NULL == soa)
113 return; 113 return;
@@ -122,8 +122,8 @@ free_soa (struct GNUNET_DNSPARSER_SoaRecord *soa)
122 * 122 *
123 * @param srv record to free 123 * @param srv record to free
124 */ 124 */
125static void 125void
126free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv) 126GNUNET_DNSPARSER_free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv)
127{ 127{
128 if (NULL == srv) 128 if (NULL == srv)
129 return; 129 return;
@@ -140,8 +140,8 @@ free_srv (struct GNUNET_DNSPARSER_SrvRecord *srv)
140 * 140 *
141 * @param mx record to free 141 * @param mx record to free
142 */ 142 */
143static void 143void
144free_mx (struct GNUNET_DNSPARSER_MxRecord *mx) 144GNUNET_DNSPARSER_free_mx (struct GNUNET_DNSPARSER_MxRecord *mx)
145{ 145{
146 if (NULL == mx) 146 if (NULL == mx)
147 return; 147 return;
@@ -155,20 +155,20 @@ free_mx (struct GNUNET_DNSPARSER_MxRecord *mx)
155 * 155 *
156 * @param r record to free 156 * @param r record to free
157 */ 157 */
158static void 158void
159free_record (struct GNUNET_DNSPARSER_Record *r) 159GNUNET_DNSPARSER_free_record (struct GNUNET_DNSPARSER_Record *r)
160{ 160{
161 GNUNET_free_non_null (r->name); 161 GNUNET_free_non_null (r->name);
162 switch (r->type) 162 switch (r->type)
163 { 163 {
164 case GNUNET_DNSPARSER_TYPE_MX: 164 case GNUNET_DNSPARSER_TYPE_MX:
165 free_mx (r->data.mx); 165 GNUNET_DNSPARSER_free_mx (r->data.mx);
166 break; 166 break;
167 case GNUNET_DNSPARSER_TYPE_SOA: 167 case GNUNET_DNSPARSER_TYPE_SOA:
168 free_soa (r->data.soa); 168 GNUNET_DNSPARSER_free_soa (r->data.soa);
169 break; 169 break;
170 case GNUNET_DNSPARSER_TYPE_SRV: 170 case GNUNET_DNSPARSER_TYPE_SRV:
171 free_srv (r->data.srv); 171 GNUNET_DNSPARSER_free_srv (r->data.srv);
172 break; 172 break;
173 case GNUNET_DNSPARSER_TYPE_NS: 173 case GNUNET_DNSPARSER_TYPE_NS:
174 case GNUNET_DNSPARSER_TYPE_CNAME: 174 case GNUNET_DNSPARSER_TYPE_CNAME:
@@ -382,7 +382,7 @@ GNUNET_DNSPARSER_parse_soa (const char *udp_payload,
382 (NULL == soa->rname) || 382 (NULL == soa->rname) ||
383 (*off + sizeof (struct GNUNET_TUN_DnsSoaRecord) > udp_payload_length) ) 383 (*off + sizeof (struct GNUNET_TUN_DnsSoaRecord) > udp_payload_length) )
384 { 384 {
385 free_soa (soa); 385 GNUNET_DNSPARSER_free_soa (soa);
386 *off = old_off; 386 *off = old_off;
387 return NULL; 387 return NULL;
388 } 388 }
@@ -429,7 +429,7 @@ GNUNET_DNSPARSER_parse_mx (const char *udp_payload,
429 off); 429 off);
430 if (NULL == mx->mxhost) 430 if (NULL == mx->mxhost)
431 { 431 {
432 free_mx (mx); 432 GNUNET_DNSPARSER_free_mx (mx);
433 *off = old_off; 433 *off = old_off;
434 return NULL; 434 return NULL;
435 } 435 }
@@ -485,7 +485,7 @@ GNUNET_DNSPARSER_parse_srv (const char *r_name,
485 tok = strtok (NULL, "."); 485 tok = strtok (NULL, ".");
486 if ( (NULL == tok) || ('_' != *tok) ) 486 if ( (NULL == tok) || ('_' != *tok) )
487 { 487 {
488 free_srv (srv); 488 GNUNET_DNSPARSER_free_srv (srv);
489 GNUNET_free (ndup); 489 GNUNET_free (ndup);
490 *off = old_off; 490 *off = old_off;
491 return NULL; 491 return NULL;
@@ -494,7 +494,7 @@ GNUNET_DNSPARSER_parse_srv (const char *r_name,
494 tok = strtok (NULL, "."); 494 tok = strtok (NULL, ".");
495 if (NULL == tok) 495 if (NULL == tok)
496 { 496 {
497 free_srv (srv); 497 GNUNET_DNSPARSER_free_srv (srv);
498 GNUNET_free (ndup); 498 GNUNET_free (ndup);
499 *off = old_off; 499 *off = old_off;
500 return NULL; 500 return NULL;
@@ -506,7 +506,7 @@ GNUNET_DNSPARSER_parse_srv (const char *r_name,
506 off); 506 off);
507 if (NULL == srv->target) 507 if (NULL == srv->target)
508 { 508 {
509 free_srv (srv); 509 GNUNET_DNSPARSER_free_srv (srv);
510 *off = old_off; 510 *off = old_off;
511 return NULL; 511 return NULL;
512 } 512 }
@@ -699,13 +699,13 @@ GNUNET_DNSPARSER_free_packet (struct GNUNET_DNSPARSER_Packet *p)
699 GNUNET_free_non_null (p->queries[i].name); 699 GNUNET_free_non_null (p->queries[i].name);
700 GNUNET_free_non_null (p->queries); 700 GNUNET_free_non_null (p->queries);
701 for (i=0;i<p->num_answers;i++) 701 for (i=0;i<p->num_answers;i++)
702 free_record (&p->answers[i]); 702 GNUNET_DNSPARSER_free_record (&p->answers[i]);
703 GNUNET_free_non_null (p->answers); 703 GNUNET_free_non_null (p->answers);
704 for (i=0;i<p->num_authority_records;i++) 704 for (i=0;i<p->num_authority_records;i++)
705 free_record (&p->authority_records[i]); 705 GNUNET_DNSPARSER_free_record (&p->authority_records[i]);
706 GNUNET_free_non_null (p->authority_records); 706 GNUNET_free_non_null (p->authority_records);
707 for (i=0;i<p->num_additional_records;i++) 707 for (i=0;i<p->num_additional_records;i++)
708 free_record (&p->additional_records[i]); 708 GNUNET_DNSPARSER_free_record (&p->additional_records[i]);
709 GNUNET_free_non_null (p->additional_records); 709 GNUNET_free_non_null (p->additional_records);
710 GNUNET_free (p); 710 GNUNET_free (p);
711} 711}