ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/res.h
Revision: 992
Committed: Mon Aug 17 19:19:16 2009 UTC (16 years ago) by michael
Content type: text/x-chdr
Original Path: ircd-hybrid-7.2/include/irc_res.h
File size: 2597 byte(s)
Log Message:
- fix possible auth/dns related memleaks

File Contents

# Content
1 /*
2 * include/irc_res.h for referencing functions in src/irc_res.c
3 *
4 * $Id$
5 */
6
7 #ifndef INCLUDED_irc_res_h
8 #define INCLUDED_irc_res_h
9
10 #include "listener.h"
11 #include "config.h"
12
13 /* Here we define some values lifted from nameser.h */
14 #define NS_NOTIFY_OP 4
15 #define NS_INT16SZ 2
16 #define NS_IN6ADDRSZ 16
17 #define NS_INADDRSZ 4
18 #define NS_INT32SZ 4
19 #define NS_CMPRSFLGS 0xc0
20 #define NS_MAXCDNAME 255
21 #define QUERY 0
22 #define IQUERY 1
23 #define NO_ERRORS 0
24 #define SERVFAIL 2
25 #define NXDOMAIN 3
26 #define T_A 1
27 #define T_AAAA 28
28 #define T_PTR 12
29 #define T_CNAME 5
30 #define T_NULL 10
31 #define C_IN 1
32 #define QFIXEDSZ 4
33 #define RRFIXEDSZ 10
34 #define HFIXEDSZ 12
35
36
37
38 typedef struct
39 {
40 unsigned id :16; /* query identification number */
41 #ifdef WORDS_BIGENDIAN
42 /* fields in third byte */
43 unsigned qr: 1; /* response flag */
44 unsigned opcode: 4; /* purpose of message */
45 unsigned aa: 1; /* authoritive answer */
46 unsigned tc: 1; /* truncated message */
47 unsigned rd: 1; /* recursion desired */
48 /* fields in fourth byte */
49 unsigned ra: 1; /* recursion available */
50 unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
51 unsigned ad: 1; /* authentic data from named */
52 unsigned cd: 1; /* checking disabled by resolver */
53 unsigned rcode :4; /* response code */
54 #else
55 /* fields in third byte */
56 unsigned rd :1; /* recursion desired */
57 unsigned tc :1; /* truncated message */
58 unsigned aa :1; /* authoritive answer */
59 unsigned opcode :4; /* purpose of message */
60 unsigned qr :1; /* response flag */
61 /* fields in fourth byte */
62 unsigned rcode :4; /* response code */
63 unsigned cd: 1; /* checking disabled by resolver */
64 unsigned ad: 1; /* authentic data from named */
65 unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
66 unsigned ra :1; /* recursion available */
67 #endif
68 /* remaining bytes */
69 unsigned qdcount :16; /* number of question entries */
70 unsigned ancount :16; /* number of answer entries */
71 unsigned nscount :16; /* number of authority entries */
72 unsigned arcount :16; /* number of resource entries */
73 } HEADER;
74
75 typedef void (*dns_callback_fnc)(void *, const struct irc_ssaddr *, const char *);
76
77 extern void init_resolver(void);
78 extern void restart_resolver(void);
79 extern void delete_resolver_queries(const void *);
80 extern void report_dns_servers(struct Client *);
81 extern void gethost_byname_type(dns_callback_fnc , void *, const char *, int);
82 extern void gethost_byname(dns_callback_fnc, void *, const char *);
83 extern void gethost_byaddr(dns_callback_fnc, void *, const struct irc_ssaddr *);
84 extern void add_local_domain(char *, size_t);
85
86 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision