djbdnscurve6 45
djbdnscurve6
Loading...
Searching...
No Matches
dns_nd.c
Go to the documentation of this file.
1#include "byte.h"
2#include "fmt.h"
3#include "ip.h"
4#include "dns.h"
5
6int dns_name4_domain(char name[DNS_NAME4_DOMAIN],const char ip[4])
7{
8 unsigned int namelen;
9 unsigned int i;
10
11 namelen = 0;
12 i = fmt_ulong(name + namelen + 1,(unsigned long) (unsigned char) ip[3]);
13 name[namelen++] = i;
14 namelen += i;
15 i = fmt_ulong(name + namelen + 1,(unsigned long) (unsigned char) ip[2]);
16 name[namelen++] = i;
17 namelen += i;
18 i = fmt_ulong(name + namelen + 1,(unsigned long) (unsigned char) ip[1]);
19 name[namelen++] = i;
20 namelen += i;
21 i = fmt_ulong(name + namelen + 1,(unsigned long) (unsigned char) ip[0]);
22 name[namelen++] = i;
23 namelen += i;
24 byte_copy(name + namelen,14,"\7in-addr\4arpa\0");
25 return namelen+14;
26}
27
28int dns_name6_domain(char name[DNS_NAME6_DOMAIN],const char ip[16])
29{
30 unsigned int j;
31
32 for (j = 0; j < 16; j++) {
33 name[j*4] = 1;
34 name[j*4+1] = tohex(ip[15-j] & 15);
35 name[j*4+2] = 1;
36 name[j*4+3] = tohex((unsigned char)ip[15-j] >> 4);
37 }
38 byte_copy(name + 4*16,10,"\3ip6\4arpa\0");
39 return 4*16+10;
40}
char ip[16]
Definition: axfrdns.c:125
#define DNS_NAME4_DOMAIN
Definition: dns.h:162
#define DNS_NAME6_DOMAIN
Definition: dns.h:175
int dns_name4_domain(char name[DNS_NAME4_DOMAIN], const char ip[4])
Definition: dns_nd.c:6
int dns_name6_domain(char name[DNS_NAME6_DOMAIN], const char ip[16])
Definition: dns_nd.c:28
char name[DNS_NAME6_DOMAIN]
Definition: dnsfilter.c:52