summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-02 19:28:32 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2005-04-02 19:28:32 +0000
commit4705381691cba08c7d3e6ef982e2335bb7672960 (patch)
tree106520219a09d42534fccdff7fdff4b9504793f9
parente877fb41803c301e28179bcd52d9912ebd37dc93 (diff)
Added DNS class to documentation
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@952 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--docs/man/man3/Admin.32
-rw-r--r--docs/man/man3/BanItem.32
-rw-r--r--docs/man/man3/ConfigReader.32
-rw-r--r--docs/man/man3/ConnectClass.32
-rw-r--r--docs/man/man3/DNS.3197
-rw-r--r--docs/man/man3/ExemptItem.32
-rw-r--r--docs/man/man3/ExtMode.32
-rw-r--r--docs/man/man3/Extensible.32
-rw-r--r--docs/man/man3/FileReader.32
-rw-r--r--docs/man/man3/GLine.32
-rw-r--r--docs/man/man3/HostItem.32
-rw-r--r--docs/man/man3/InAddr_HashComp.32
-rw-r--r--docs/man/man3/InviteItem.32
-rw-r--r--docs/man/man3/Invited.32
-rw-r--r--docs/man/man3/KLine.32
-rw-r--r--docs/man/man3/ModeParameter.32
-rw-r--r--docs/man/man3/Module.32
-rw-r--r--docs/man/man3/ModuleFactory.32
-rw-r--r--docs/man/man3/QLine.32
-rw-r--r--docs/man/man3/Server.32
-rw-r--r--docs/man/man3/StrHashComp.32
-rw-r--r--docs/man/man3/Version.32
-rw-r--r--docs/man/man3/XLine.32
-rw-r--r--docs/man/man3/ZLine.32
-rw-r--r--docs/man/man3/base.h.32
-rw-r--r--docs/man/man3/channels.cpp.32
-rw-r--r--docs/man/man3/channels.h.32
-rw-r--r--docs/man/man3/chanrec.32
-rw-r--r--docs/man/man3/classbase.32
-rw-r--r--docs/man/man3/command_t.32
-rw-r--r--docs/man/man3/commands.h.32
-rw-r--r--docs/man/man3/connection.32
-rw-r--r--docs/man/man3/connection.h.32
-rw-r--r--docs/man/man3/ctables.h.32
-rw-r--r--docs/man/man3/dns.h.331
-rw-r--r--docs/man/man3/dns_ip4list.332
-rw-r--r--docs/man/man3/ircd_connector.32
-rw-r--r--docs/man/man3/message.h.32
-rw-r--r--docs/man/man3/mode.h.32
-rw-r--r--docs/man/man3/modules.cpp.32
-rw-r--r--docs/man/man3/modules.h.32
-rw-r--r--docs/man/man3/nspace.32
-rw-r--r--docs/man/man3/nspace_nspace_hash_ in_addr _.32
-rw-r--r--docs/man/man3/nspace_nspace_hash_ string _.32
-rw-r--r--docs/man/man3/packet.32
-rw-r--r--docs/man/man3/serverrec.32
-rw-r--r--docs/man/man3/servers.cpp.32
-rw-r--r--docs/man/man3/servers.h.32
-rw-r--r--docs/man/man3/std.32
-rw-r--r--docs/man/man3/ucrec.32
-rw-r--r--docs/man/man3/userrec.3234
-rw-r--r--docs/man/man3/users.cpp.32
-rw-r--r--docs/man/man3/users.h.32
-rw-r--r--docs/man/man3/xline.h.32
-rw-r--r--docs/module-doc/annotated.html4
-rw-r--r--docs/module-doc/base_8h-source.html2
-rw-r--r--docs/module-doc/base_8h.html2
-rw-r--r--docs/module-doc/channels_8cpp-source.html2
-rw-r--r--docs/module-doc/channels_8cpp.html4
-rw-r--r--docs/module-doc/channels_8h-source.html2
-rw-r--r--docs/module-doc/channels_8h.html2
-rw-r--r--docs/module-doc/classAdmin-members.html2
-rw-r--r--docs/module-doc/classAdmin.html2
-rw-r--r--docs/module-doc/classBanItem-members.html2
-rw-r--r--docs/module-doc/classBanItem.html2
-rw-r--r--docs/module-doc/classConfigReader-members.html2
-rw-r--r--docs/module-doc/classConfigReader.html2
-rw-r--r--docs/module-doc/classConnectClass-members.html2
-rw-r--r--docs/module-doc/classConnectClass.html2
-rw-r--r--docs/module-doc/classDNS-members.html41
-rw-r--r--docs/module-doc/classDNS.html893
-rw-r--r--docs/module-doc/classExemptItem-members.html2
-rw-r--r--docs/module-doc/classExemptItem.html2
-rw-r--r--docs/module-doc/classExtMode-members.html2
-rw-r--r--docs/module-doc/classExtMode.html2
-rw-r--r--docs/module-doc/classExtensible-members.html2
-rw-r--r--docs/module-doc/classExtensible.html2
-rw-r--r--docs/module-doc/classFileReader-members.html2
-rw-r--r--docs/module-doc/classFileReader.html2
-rw-r--r--docs/module-doc/classGLine-members.html2
-rw-r--r--docs/module-doc/classGLine.html2
-rw-r--r--docs/module-doc/classHostItem-members.html2
-rw-r--r--docs/module-doc/classHostItem.html2
-rw-r--r--docs/module-doc/classInviteItem-members.html2
-rw-r--r--docs/module-doc/classInviteItem.html2
-rw-r--r--docs/module-doc/classInvited-members.html2
-rw-r--r--docs/module-doc/classInvited.html4
-rw-r--r--docs/module-doc/classKLine-members.html2
-rw-r--r--docs/module-doc/classKLine.html2
-rw-r--r--docs/module-doc/classModeParameter-members.html2
-rw-r--r--docs/module-doc/classModeParameter.html2
-rw-r--r--docs/module-doc/classModule-members.html2
-rw-r--r--docs/module-doc/classModule.html2
-rw-r--r--docs/module-doc/classModuleFactory-members.html2
-rw-r--r--docs/module-doc/classModuleFactory.html2
-rw-r--r--docs/module-doc/classQLine-members.html2
-rw-r--r--docs/module-doc/classQLine.html2
-rw-r--r--docs/module-doc/classServer-members.html2
-rw-r--r--docs/module-doc/classServer.html2
-rw-r--r--docs/module-doc/classVersion-members.html2
-rw-r--r--docs/module-doc/classVersion.html2
-rw-r--r--docs/module-doc/classXLine-members.html2
-rw-r--r--docs/module-doc/classXLine.html2
-rw-r--r--docs/module-doc/classZLine-members.html2
-rw-r--r--docs/module-doc/classZLine.html2
-rw-r--r--docs/module-doc/classchanrec-members.html2
-rw-r--r--docs/module-doc/classchanrec.html2
-rw-r--r--docs/module-doc/classclassbase-members.html2
-rw-r--r--docs/module-doc/classclassbase.html2
-rw-r--r--docs/module-doc/classcommand__t-members.html2
-rw-r--r--docs/module-doc/classcommand__t.html2
-rw-r--r--docs/module-doc/classconnection-members.html2
-rw-r--r--docs/module-doc/classconnection.html4
-rw-r--r--docs/module-doc/classes.html33
-rw-r--r--docs/module-doc/classircd__connector-members.html2
-rw-r--r--docs/module-doc/classircd__connector.html2
-rw-r--r--docs/module-doc/classpacket-members.html2
-rw-r--r--docs/module-doc/classpacket.html2
-rw-r--r--docs/module-doc/classserverrec-members.html2
-rw-r--r--docs/module-doc/classserverrec.html2
-rw-r--r--docs/module-doc/classucrec-members.html2
-rw-r--r--docs/module-doc/classucrec.html2
-rw-r--r--docs/module-doc/classuserrec-members.html3
-rw-r--r--docs/module-doc/classuserrec.html266
-rw-r--r--docs/module-doc/commands_8h-source.html2
-rw-r--r--docs/module-doc/commands_8h.html2
-rw-r--r--docs/module-doc/connection_8h-source.html2
-rw-r--r--docs/module-doc/connection_8h.html2
-rw-r--r--docs/module-doc/ctables_8h-source.html2
-rw-r--r--docs/module-doc/ctables_8h.html2
-rw-r--r--docs/module-doc/dns_8h-source.html77
-rw-r--r--docs/module-doc/dns_8h.html28
-rw-r--r--docs/module-doc/files.html3
-rw-r--r--docs/module-doc/functions.html60
-rw-r--r--docs/module-doc/functions_func.html37
-rw-r--r--docs/module-doc/functions_vars.html23
-rw-r--r--docs/module-doc/globals.html2
-rw-r--r--docs/module-doc/globals_defs.html2
-rw-r--r--docs/module-doc/globals_func.html2
-rw-r--r--docs/module-doc/globals_type.html2
-rw-r--r--docs/module-doc/globals_vars.html2
-rw-r--r--docs/module-doc/hierarchy.html4
-rw-r--r--docs/module-doc/main.html2
-rw-r--r--docs/module-doc/message_8h-source.html2
-rw-r--r--docs/module-doc/message_8h.html2
-rw-r--r--docs/module-doc/mode_8h-source.html2
-rw-r--r--docs/module-doc/mode_8h.html2
-rw-r--r--docs/module-doc/modules_8cpp-source.html2
-rw-r--r--docs/module-doc/modules_8cpp.html2
-rw-r--r--docs/module-doc/modules_8h-source.html2
-rw-r--r--docs/module-doc/modules_8h.html4
-rw-r--r--docs/module-doc/namespacenspace.html2
-rw-r--r--docs/module-doc/namespaces.html2
-rw-r--r--docs/module-doc/namespacestd.html2
-rw-r--r--docs/module-doc/servers_8cpp-source.html2
-rw-r--r--docs/module-doc/servers_8cpp.html2
-rw-r--r--docs/module-doc/servers_8h-source.html2
-rw-r--r--docs/module-doc/servers_8h.html2
-rw-r--r--docs/module-doc/structInAddr__HashComp-members.html2
-rw-r--r--docs/module-doc/structInAddr__HashComp.html2
-rw-r--r--docs/module-doc/structStrHashComp-members.html2
-rw-r--r--docs/module-doc/structStrHashComp.html2
-rw-r--r--docs/module-doc/structdns__ip4list-members.html16
-rw-r--r--docs/module-doc/structdns__ip4list.html74
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html2
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html2
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html2
-rw-r--r--docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html2
-rw-r--r--docs/module-doc/tree.html5
-rw-r--r--docs/module-doc/users_8cpp-source.html235
-rw-r--r--docs/module-doc/users_8cpp.html2
-rw-r--r--docs/module-doc/users_8h-source.html40
-rw-r--r--docs/module-doc/users_8h.html2
-rw-r--r--docs/module-doc/xline_8h-source.html2
-rw-r--r--docs/module-doc/xline_8h.html2
-rw-r--r--include/dns.h31
176 files changed, 2105 insertions, 576 deletions
diff --git a/docs/man/man3/Admin.3 b/docs/man/man3/Admin.3
index 7fcf1ee74..5136dc6c1 100644
--- a/docs/man/man3/Admin.3
+++ b/docs/man/man3/Admin.3
@@ -1,4 +1,4 @@
-.TH "Admin" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Admin" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/BanItem.3 b/docs/man/man3/BanItem.3
index aa95d518e..d89113e36 100644
--- a/docs/man/man3/BanItem.3
+++ b/docs/man/man3/BanItem.3
@@ -1,4 +1,4 @@
-.TH "BanItem" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "BanItem" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ConfigReader.3 b/docs/man/man3/ConfigReader.3
index 014c3ff9e..6a0065cfe 100644
--- a/docs/man/man3/ConfigReader.3
+++ b/docs/man/man3/ConfigReader.3
@@ -1,4 +1,4 @@
-.TH "ConfigReader" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ConfigReader" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ConnectClass.3 b/docs/man/man3/ConnectClass.3
index 6c9646c36..9f3d55c37 100644
--- a/docs/man/man3/ConnectClass.3
+++ b/docs/man/man3/ConnectClass.3
@@ -1,4 +1,4 @@
-.TH "ConnectClass" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ConnectClass" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/DNS.3 b/docs/man/man3/DNS.3
new file mode 100644
index 000000000..f73724fba
--- /dev/null
+++ b/docs/man/man3/DNS.3
@@ -0,0 +1,197 @@
+.TH "DNS" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+DNS \- The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
+
+.PP
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <dns.h>\fP
+.PP
+.SS "Public Member Functions"
+
+.in +1c
+.ti -1c
+.RI "\fBDNS\fP ()"
+.br
+.RI "\fIThe default constructor uses dns addresses read from /etc/resolv.conf. \fP"
+.ti -1c
+.RI "\fBDNS\fP (std::string dnsserver)"
+.br
+.RI "\fIThis constructor accepts a dns server address. \fP"
+.ti -1c
+.RI "\fB~DNS\fP ()"
+.br
+.RI "\fIThe destructor frees all used structures. \fP"
+.ti -1c
+.RI "bool \fBReverseLookup\fP (std::string ip)"
+.br
+.RI "\fIThis method will start the reverse lookup of an ip given in dotted decimal format, e.g. \fP"
+.ti -1c
+.RI "bool \fBForwardLookup\fP (std::string host)"
+.br
+.RI "\fIThis method will start the forward lookup of a hostname, e.g. \fP"
+.ti -1c
+.RI "bool \fBHasResult\fP ()"
+.br
+.RI "\fIThis method will return true when the lookup is completed. \fP"
+.ti -1c
+.RI "std::string \fBGetResult\fP ()"
+.br
+.RI "\fIThis method returns the result of your query as a string, depending upon wether you called \fBDNS::ReverseLookup()\fP or \fBDNS::ForwardLookup\fP. \fP"
+.ti -1c
+.RI "int \fBGetFD\fP ()"
+.br
+.RI "\fIThis method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. \fP"
+.in -1c
+.SS "Private Member Functions"
+
+.in +1c
+.ti -1c
+.RI "void \fBdns_init\fP ()"
+.br
+.ti -1c
+.RI "void \fBdns_init_2\fP (const char *dnsserver)"
+.br
+.ti -1c
+.RI "in_addr * \fBdns_aton4\fP (const char *const ipstring)"
+.br
+.ti -1c
+.RI "char * \fBdns_ntoa4\fP (const in_addr *const ip)"
+.br
+.ti -1c
+.RI "int \fBdns_getip4\fP (const char *const name)"
+.br
+.ti -1c
+.RI "int \fBdns_getip4list\fP (const char *const name)"
+.br
+.ti -1c
+.RI "int \fBdns_getname4\fP (const in_addr *const ip)"
+.br
+.ti -1c
+.RI "char * \fBdns_getresult\fP (const int \fBfd\fP)"
+.br
+.ti -1c
+.RI "in_addr * \fBdns_aton4_s\fP (const char *const ipstring, in_addr *const ip)"
+.br
+.ti -1c
+.RI "char * \fBdns_ntoa4_s\fP (const in_addr *const ip, char *const \fBresult\fP)"
+.br
+.ti -1c
+.RI "char * \fBdns_getresult_s\fP (const int \fBfd\fP, char *const \fBresult\fP)"
+.br
+.ti -1c
+.RI "in_addr * \fBdns_aton4_r\fP (const char *const ipstring)"
+.br
+.ti -1c
+.RI "char * \fBdns_ntoa4_r\fP (const in_addr *const ip)"
+.br
+.ti -1c
+.RI "char * \fBdns_getresult_r\fP (const int \fBfd\fP)"
+.br
+.in -1c
+.SS "Private Attributes"
+
+.in +1c
+.ti -1c
+.RI "char * \fBresult\fP"
+.br
+.ti -1c
+.RI "in_addr * \fBbinip\fP"
+.br
+.ti -1c
+.RI "int \fBt\fP"
+.br
+.ti -1c
+.RI "int \fBi\fP"
+.br
+.ti -1c
+.RI "unsigned int \fBfd\fP"
+.br
+.in -1c
+.SH "Detailed Description"
+.PP
+The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
+
+It is based heavily upon firedns by Ian Gulliver.
+.PP
+Definition at line 35 of file dns.h.
+.SH "Constructor & Destructor Documentation"
+.PP
+.SS "DNS::DNS ()"
+.PP
+The default constructor uses dns addresses read from /etc/resolv.conf. Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead.
+.SS "DNS::DNS (std::string dnsserver)"
+.PP
+This constructor accepts a dns server address. The address must be in dotted decimal form, e.g. 1.2.3.4.
+.SS "DNS::~\fBDNS\fP ()"
+.PP
+The destructor frees all used structures.
+.SH "Member Function Documentation"
+.PP
+.SS "in_addr* DNS::dns_aton4 (const char *const ipstring)\fC [private]\fP"
+.PP
+.SS "in_addr* DNS::dns_aton4_r (const char *const ipstring)\fC [private]\fP"
+.PP
+.SS "in_addr* DNS::dns_aton4_s (const char *const ipstring, in_addr *const ip)\fC [private]\fP"
+.PP
+.SS "int DNS::dns_getip4 (const char *const name)\fC [private]\fP"
+.PP
+.SS "int DNS::dns_getip4list (const char *const name)\fC [private]\fP"
+.PP
+.SS "int DNS::dns_getname4 (const in_addr *const ip)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_getresult (const int fd)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_getresult_r (const int fd)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_getresult_s (const int fd, char *const result)\fC [private]\fP"
+.PP
+.SS "void DNS::dns_init ()\fC [private]\fP"
+.PP
+.SS "void DNS::dns_init_2 (const char * dnsserver)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_ntoa4 (const in_addr *const ip)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_ntoa4_r (const in_addr *const ip)\fC [private]\fP"
+.PP
+.SS "char* DNS::dns_ntoa4_s (const in_addr *const ip, char *const result)\fC [private]\fP"
+.PP
+.SS "bool DNS::ForwardLookup (std::string host)"
+.PP
+This method will start the forward lookup of a hostname, e.g. www.inspircd.org, and returns true if the lookup was successfully initiated.
+.SS "int DNS::GetFD ()"
+.PP
+This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. the dns server not responding.
+.SS "std::string DNS::GetResult ()"
+.PP
+This method returns the result of your query as a string, depending upon wether you called \fBDNS::ReverseLookup()\fP or \fBDNS::ForwardLookup\fP.
+.SS "bool DNS::HasResult ()"
+.PP
+This method will return true when the lookup is completed. It uses poll internally to determine the status of the socket.
+.SS "bool DNS::ReverseLookup (std::string ip)"
+.PP
+This method will start the reverse lookup of an ip given in dotted decimal format, e.g. 1.2.3.4, and returns true if the lookup was successfully initiated.
+.SH "Member Data Documentation"
+.PP
+.SS "in_addr* \fBDNS::binip\fP\fC [private]\fP"
+.PP
+Definition at line 39 of file dns.h.
+.SS "unsigned int \fBDNS::fd\fP\fC [private]\fP"
+.PP
+Definition at line 42 of file dns.h.
+.SS "int \fBDNS::i\fP\fC [private]\fP"
+.PP
+Definition at line 40 of file dns.h.
+.SS "char* \fBDNS::result\fP\fC [private]\fP"
+.PP
+Definition at line 38 of file dns.h.
+.SS "int \fBDNS::t\fP\fC [private]\fP"
+.PP
+Definition at line 40 of file dns.h.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/ExemptItem.3 b/docs/man/man3/ExemptItem.3
index 7015b6ac8..120febbc9 100644
--- a/docs/man/man3/ExemptItem.3
+++ b/docs/man/man3/ExemptItem.3
@@ -1,4 +1,4 @@
-.TH "ExemptItem" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ExemptItem" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ExtMode.3 b/docs/man/man3/ExtMode.3
index e8b2efc37..b43786de2 100644
--- a/docs/man/man3/ExtMode.3
+++ b/docs/man/man3/ExtMode.3
@@ -1,4 +1,4 @@
-.TH "ExtMode" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ExtMode" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Extensible.3 b/docs/man/man3/Extensible.3
index edfabcddf..9b735c22f 100644
--- a/docs/man/man3/Extensible.3
+++ b/docs/man/man3/Extensible.3
@@ -1,4 +1,4 @@
-.TH "Extensible" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Extensible" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/FileReader.3 b/docs/man/man3/FileReader.3
index 48adcd0d4..3cb35ebd7 100644
--- a/docs/man/man3/FileReader.3
+++ b/docs/man/man3/FileReader.3
@@ -1,4 +1,4 @@
-.TH "FileReader" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "FileReader" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/GLine.3 b/docs/man/man3/GLine.3
index 46ffa4850..3fc99ec2b 100644
--- a/docs/man/man3/GLine.3
+++ b/docs/man/man3/GLine.3
@@ -1,4 +1,4 @@
-.TH "GLine" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "GLine" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/HostItem.3 b/docs/man/man3/HostItem.3
index 11abe5702..f176b6c9b 100644
--- a/docs/man/man3/HostItem.3
+++ b/docs/man/man3/HostItem.3
@@ -1,4 +1,4 @@
-.TH "HostItem" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "HostItem" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/InAddr_HashComp.3 b/docs/man/man3/InAddr_HashComp.3
index 09b2ac2f8..e6f60886b 100644
--- a/docs/man/man3/InAddr_HashComp.3
+++ b/docs/man/man3/InAddr_HashComp.3
@@ -1,4 +1,4 @@
-.TH "InAddr_HashComp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "InAddr_HashComp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/InviteItem.3 b/docs/man/man3/InviteItem.3
index 06220485b..6581c363f 100644
--- a/docs/man/man3/InviteItem.3
+++ b/docs/man/man3/InviteItem.3
@@ -1,4 +1,4 @@
-.TH "InviteItem" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "InviteItem" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Invited.3 b/docs/man/man3/Invited.3
index eeac38031..19f5d7964 100644
--- a/docs/man/man3/Invited.3
+++ b/docs/man/man3/Invited.3
@@ -1,4 +1,4 @@
-.TH "Invited" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Invited" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/KLine.3 b/docs/man/man3/KLine.3
index a5eeaf01e..a63b3ce13 100644
--- a/docs/man/man3/KLine.3
+++ b/docs/man/man3/KLine.3
@@ -1,4 +1,4 @@
-.TH "KLine" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "KLine" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ModeParameter.3 b/docs/man/man3/ModeParameter.3
index c17d1015f..3306c65f4 100644
--- a/docs/man/man3/ModeParameter.3
+++ b/docs/man/man3/ModeParameter.3
@@ -1,4 +1,4 @@
-.TH "ModeParameter" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ModeParameter" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Module.3 b/docs/man/man3/Module.3
index 60239b1da..3db75227e 100644
--- a/docs/man/man3/Module.3
+++ b/docs/man/man3/Module.3
@@ -1,4 +1,4 @@
-.TH "Module" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Module" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ModuleFactory.3 b/docs/man/man3/ModuleFactory.3
index f97975e77..c209bc48a 100644
--- a/docs/man/man3/ModuleFactory.3
+++ b/docs/man/man3/ModuleFactory.3
@@ -1,4 +1,4 @@
-.TH "ModuleFactory" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ModuleFactory" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/QLine.3 b/docs/man/man3/QLine.3
index d2348dfb6..e563152c3 100644
--- a/docs/man/man3/QLine.3
+++ b/docs/man/man3/QLine.3
@@ -1,4 +1,4 @@
-.TH "QLine" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "QLine" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Server.3 b/docs/man/man3/Server.3
index 4a1d87703..a41d9992a 100644
--- a/docs/man/man3/Server.3
+++ b/docs/man/man3/Server.3
@@ -1,4 +1,4 @@
-.TH "Server" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Server" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/StrHashComp.3 b/docs/man/man3/StrHashComp.3
index 8075bdb0b..46cbfc684 100644
--- a/docs/man/man3/StrHashComp.3
+++ b/docs/man/man3/StrHashComp.3
@@ -1,4 +1,4 @@
-.TH "StrHashComp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "StrHashComp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/Version.3 b/docs/man/man3/Version.3
index 5985dbbdd..c2de24cbc 100644
--- a/docs/man/man3/Version.3
+++ b/docs/man/man3/Version.3
@@ -1,4 +1,4 @@
-.TH "Version" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "Version" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/XLine.3 b/docs/man/man3/XLine.3
index 3d5b6054f..f826b07f1 100644
--- a/docs/man/man3/XLine.3
+++ b/docs/man/man3/XLine.3
@@ -1,4 +1,4 @@
-.TH "XLine" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "XLine" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ZLine.3 b/docs/man/man3/ZLine.3
index 32e769183..83789ac14 100644
--- a/docs/man/man3/ZLine.3
+++ b/docs/man/man3/ZLine.3
@@ -1,4 +1,4 @@
-.TH "ZLine" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ZLine" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/base.h.3 b/docs/man/man3/base.h.3
index 52cdcb283..e3a22b878 100644
--- a/docs/man/man3/base.h.3
+++ b/docs/man/man3/base.h.3
@@ -1,4 +1,4 @@
-.TH "base.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "base.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/channels.cpp.3 b/docs/man/man3/channels.cpp.3
index 5ec80e496..c78d20ccd 100644
--- a/docs/man/man3/channels.cpp.3
+++ b/docs/man/man3/channels.cpp.3
@@ -1,4 +1,4 @@
-.TH "channels.cpp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "channels.cpp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/channels.h.3 b/docs/man/man3/channels.h.3
index 6049c3b97..b7741ef34 100644
--- a/docs/man/man3/channels.h.3
+++ b/docs/man/man3/channels.h.3
@@ -1,4 +1,4 @@
-.TH "channels.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "channels.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/chanrec.3 b/docs/man/man3/chanrec.3
index 1df9f409e..9c34f89f5 100644
--- a/docs/man/man3/chanrec.3
+++ b/docs/man/man3/chanrec.3
@@ -1,4 +1,4 @@
-.TH "chanrec" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "chanrec" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/classbase.3 b/docs/man/man3/classbase.3
index 224750ca6..c2be7ecc6 100644
--- a/docs/man/man3/classbase.3
+++ b/docs/man/man3/classbase.3
@@ -1,4 +1,4 @@
-.TH "classbase" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "classbase" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/command_t.3 b/docs/man/man3/command_t.3
index 66e93853b..1ca49d97f 100644
--- a/docs/man/man3/command_t.3
+++ b/docs/man/man3/command_t.3
@@ -1,4 +1,4 @@
-.TH "command_t" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "command_t" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/commands.h.3 b/docs/man/man3/commands.h.3
index 84ac9f721..064913891 100644
--- a/docs/man/man3/commands.h.3
+++ b/docs/man/man3/commands.h.3
@@ -1,4 +1,4 @@
-.TH "commands.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "commands.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/connection.3 b/docs/man/man3/connection.3
index bfac322a2..51123dc92 100644
--- a/docs/man/man3/connection.3
+++ b/docs/man/man3/connection.3
@@ -1,4 +1,4 @@
-.TH "connection" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "connection" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/connection.h.3 b/docs/man/man3/connection.h.3
index 60cae1c8c..85798d51e 100644
--- a/docs/man/man3/connection.h.3
+++ b/docs/man/man3/connection.h.3
@@ -1,4 +1,4 @@
-.TH "connection.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "connection.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ctables.h.3 b/docs/man/man3/ctables.h.3
index 97dcca9bd..2d7b20a28 100644
--- a/docs/man/man3/ctables.h.3
+++ b/docs/man/man3/ctables.h.3
@@ -1,4 +1,4 @@
-.TH "ctables.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ctables.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/dns.h.3 b/docs/man/man3/dns.h.3
new file mode 100644
index 000000000..104d3d407
--- /dev/null
+++ b/docs/man/man3/dns.h.3
@@ -0,0 +1,31 @@
+.TH "dns.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+dns.h \-
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <sys/types.h>\fP
+.br
+\fC#include <sys/socket.h>\fP
+.br
+\fC#include <netinet/in.h>\fP
+.br
+\fC#include <string>\fP
+.br
+
+.SS "Compounds"
+
+.in +1c
+.ti -1c
+.RI "class \fBDNS\fP"
+.br
+.RI "\fIThe DNS class allows fast nonblocking resolution of hostnames and ip addresses. \fP"
+.ti -1c
+.RI "struct \fBdns_ip4list\fP"
+.br
+.in -1c
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/dns_ip4list.3 b/docs/man/man3/dns_ip4list.3
new file mode 100644
index 000000000..df12a2e34
--- /dev/null
+++ b/docs/man/man3/dns_ip4list.3
@@ -0,0 +1,32 @@
+.TH "dns_ip4list" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+dns_ip4list \-
+.SH SYNOPSIS
+.br
+.PP
+\fC#include <dns.h>\fP
+.PP
+.SS "Public Attributes"
+
+.in +1c
+.ti -1c
+.RI "in_addr \fBip\fP"
+.br
+.ti -1c
+.RI "\fBdns_ip4list\fP * \fBnext\fP"
+.br
+.in -1c
+.SH "Member Data Documentation"
+.PP
+.SS "in_addr \fBdns_ip4list::ip\fP"
+.PP
+Definition at line 27 of file dns.h.
+.SS "\fBdns_ip4list\fP* \fBdns_ip4list::next\fP"
+.PP
+Definition at line 28 of file dns.h.
+
+.SH "Author"
+.PP
+Generated automatically by Doxygen for InspIRCd from the source code.
diff --git a/docs/man/man3/ircd_connector.3 b/docs/man/man3/ircd_connector.3
index 4e798af32..c3ab7cd80 100644
--- a/docs/man/man3/ircd_connector.3
+++ b/docs/man/man3/ircd_connector.3
@@ -1,4 +1,4 @@
-.TH "ircd_connector" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ircd_connector" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/message.h.3 b/docs/man/man3/message.h.3
index 6cff66abd..71da5e323 100644
--- a/docs/man/man3/message.h.3
+++ b/docs/man/man3/message.h.3
@@ -1,4 +1,4 @@
-.TH "message.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "message.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/mode.h.3 b/docs/man/man3/mode.h.3
index 0d31d4cb9..308b4c8ba 100644
--- a/docs/man/man3/mode.h.3
+++ b/docs/man/man3/mode.h.3
@@ -1,4 +1,4 @@
-.TH "mode.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "mode.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/modules.cpp.3 b/docs/man/man3/modules.cpp.3
index d6b4d814a..6cd0c1d53 100644
--- a/docs/man/man3/modules.cpp.3
+++ b/docs/man/man3/modules.cpp.3
@@ -1,4 +1,4 @@
-.TH "modules.cpp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "modules.cpp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/modules.h.3 b/docs/man/man3/modules.h.3
index ab5b6073d..0b756cd74 100644
--- a/docs/man/man3/modules.h.3
+++ b/docs/man/man3/modules.h.3
@@ -1,4 +1,4 @@
-.TH "modules.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "modules.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/nspace.3 b/docs/man/man3/nspace.3
index 44fc7b9e1..06233a744 100644
--- a/docs/man/man3/nspace.3
+++ b/docs/man/man3/nspace.3
@@ -1,4 +1,4 @@
-.TH "nspace" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "nspace" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/nspace_nspace_hash_ in_addr _.3 b/docs/man/man3/nspace_nspace_hash_ in_addr _.3
index 627f54a1f..ceb957551 100644
--- a/docs/man/man3/nspace_nspace_hash_ in_addr _.3
+++ b/docs/man/man3/nspace_nspace_hash_ in_addr _.3
@@ -1,4 +1,4 @@
-.TH "nspace::nspace::hash< in_addr >" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "nspace::nspace::hash< in_addr >" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/nspace_nspace_hash_ string _.3 b/docs/man/man3/nspace_nspace_hash_ string _.3
index da90cbe5f..9e5858072 100644
--- a/docs/man/man3/nspace_nspace_hash_ string _.3
+++ b/docs/man/man3/nspace_nspace_hash_ string _.3
@@ -1,4 +1,4 @@
-.TH "nspace::nspace::hash< string >" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "nspace::nspace::hash< string >" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/packet.3 b/docs/man/man3/packet.3
index 37efe0bda..75c78921f 100644
--- a/docs/man/man3/packet.3
+++ b/docs/man/man3/packet.3
@@ -1,4 +1,4 @@
-.TH "packet" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "packet" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/serverrec.3 b/docs/man/man3/serverrec.3
index 56b423f27..e84e3877a 100644
--- a/docs/man/man3/serverrec.3
+++ b/docs/man/man3/serverrec.3
@@ -1,4 +1,4 @@
-.TH "serverrec" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "serverrec" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/servers.cpp.3 b/docs/man/man3/servers.cpp.3
index 49b6f9644..43d03344b 100644
--- a/docs/man/man3/servers.cpp.3
+++ b/docs/man/man3/servers.cpp.3
@@ -1,4 +1,4 @@
-.TH "servers.cpp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "servers.cpp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/servers.h.3 b/docs/man/man3/servers.h.3
index 847b2d3e2..c0c76ee9c 100644
--- a/docs/man/man3/servers.h.3
+++ b/docs/man/man3/servers.h.3
@@ -1,4 +1,4 @@
-.TH "servers.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "servers.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/std.3 b/docs/man/man3/std.3
index e1c2a2624..fe9a1733e 100644
--- a/docs/man/man3/std.3
+++ b/docs/man/man3/std.3
@@ -1,4 +1,4 @@
-.TH "std" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "std" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/ucrec.3 b/docs/man/man3/ucrec.3
index a10552373..da49bdac2 100644
--- a/docs/man/man3/ucrec.3
+++ b/docs/man/man3/ucrec.3
@@ -1,4 +1,4 @@
-.TH "ucrec" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "ucrec" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/userrec.3 b/docs/man/man3/userrec.3
index d9ea1aa2e..952fcb26c 100644
--- a/docs/man/man3/userrec.3
+++ b/docs/man/man3/userrec.3
@@ -1,4 +1,4 @@
-.TH "userrec" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "userrec" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
@@ -96,6 +96,10 @@ Inherits \fBconnection\fP.
.RI "char \fBoper\fP [NICKMAX]"
.br
.RI "\fIThe oper type they logged in as, if they are an oper. \fP"
+.ti -1c
+.RI "bool \fBdns_done\fP"
+.br
+.RI "\fITrue when \fBDNS\fP lookups are completed. \fP"
.in -1c
.SS "Private Attributes"
@@ -118,7 +122,7 @@ Definition at line 89 of file users.h.
.PP
Definition at line 26 of file users.cpp.
.PP
-References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel, chans, connection::cmds_in, connection::cmds_out, dhost, connection::fd, flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, connection::inbuf, invites, connection::ip, connection::lastping, modes, nick, connection::nping, oper, connection::port, connection::registered, result, server, connection::signon, timeout, and ucrec::uc_modes.
+References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel, chans, connection::cmds_in, connection::cmds_out, dhost, dns_done, connection::fd, flood, fullname, connection::haspassed, connection::host, ident, connection::idle_lastmsg, connection::inbuf, invites, connection::ip, connection::lastping, modes, nick, connection::nping, oper, connection::port, connection::registered, result, server, connection::signon, timeout, and ucrec::uc_modes.
.PP
.nf
27 {
@@ -138,166 +142,167 @@ References awaymsg, connection::bytes_in, connection::bytes_out, ucrec::channel,
41 fd = lastping = signon = idle_lastmsg = nping = registered = 0;
42 flood = port = bytes_in = bytes_out = cmds_in = cmds_out = 0;
43 haspassed = false;
-44 strcpy(result,'');
-45 for (int i = 0; i < MAXCHANS; i++)
-46 {
-47 this->chans[i].channel = NULL;
-48 this->chans[i].uc_modes = 0;
-49 }
-50 invites.clear();
-51 }
+44 dns_done = false;
+45 strcpy(result,'');
+46 for (int i = 0; i < MAXCHANS; i++)
+47 {
+48 this->chans[i].channel = NULL;
+49 this->chans[i].uc_modes = 0;
+50 }
+51 invites.clear();
+52 }
.fi
.SS "virtual userrec::~\fBuserrec\fP ()\fC [inline, virtual]\fP"
.PP
-Definition at line 160 of file users.h.
+Definition at line 164 of file users.h.
.PP
.nf
-160 { }
+164 { }
.fi
.SH "Member Function Documentation"
.PP
.SS "char * userrec::GetFullHost ()\fC [virtual]\fP"
.PP
-Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. Definition at line 55 of file users.cpp.
+Returns the full displayed host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. Definition at line 56 of file users.cpp.
.PP
References dhost, ident, nick, and result.
.PP
.nf
-56 {
-57 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,dhost);
-58 return result;
-59 }
+57 {
+58 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,dhost);
+59 return result;
+60 }
.fi
.SS "char * userrec::GetFullRealHost ()\fC [virtual]\fP"
.PP
-Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.Definition at line 62 of file users.cpp.
+Returns the full real host of the user This member function returns the hostname of the user as seen by other users on the server, in nick!identhost form. If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.Definition at line 63 of file users.cpp.
.PP
References connection::host, ident, nick, and result.
.PP
.nf
-63 {
-64 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,host);
-65 return result;
-66 }
+64 {
+65 snprintf(result,MAXBUF,'%s!%s@%s',nick,ident,host);
+66 return result;
+67 }
.fi
.SS "bool userrec::HasPermission (char * command)"
.PP
-Returns true or false for if a user can execute a privilaged oper command. This is done by looking up their oper type from \fBuserrec::oper\fP, then referencing this to their oper classes and checking the commands they can execute.Definition at line 111 of file users.cpp.
+Returns true or false for if a user can execute a privilaged oper command. This is done by looking up their oper type from \fBuserrec::oper\fP, then referencing this to their oper classes and checking the commands they can execute.Definition at line 112 of file users.cpp.
.PP
References config_f, and DEBUG.
.PP
.nf
-112 {
-113 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-114 char* myclass;
-115 char* mycmd;
-116 char* savept;
-117 char* savept2;
-118
-119 // are they even an oper at all?
-120 if (strchr(this->modes,'o'))
-121 {
-122 log(DEBUG,'*** HasPermission: %s is an oper',this->nick);
-123 for (int j =0; j < ConfValueEnum('type',&config_f); j++)
-124 {
-125 ConfValue('type','name',j,TypeName,&config_f);
-126 if (!strcmp(TypeName,this->oper))
-127 {
-128 log(DEBUG,'*** HasPermission: %s is an oper of type '%s'',this->nick,this->oper);
-129 ConfValue('type','classes',j,Classes,&config_f);
-130 char* myclass = strtok_r(Classes,' ',&savept);
-131 while (myclass)
-132 {
-133 log(DEBUG,'*** HasPermission: checking classtype '%s'',myclass);
-134 for (int k =0; k < ConfValueEnum('class',&config_f); k++)
-135 {
-136 ConfValue('class','name',k,ClassName,&config_f);
-137 if (!strcmp(ClassName,myclass))
-138 {
-139 ConfValue('class','commands',k,CommandList,&config_f);
-140 log(DEBUG,'*** HasPermission: found class named %s with commands: '%s'',ClassName,CommandList);
-141
+113 {
+114 char TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
+115 char* myclass;
+116 char* mycmd;
+117 char* savept;
+118 char* savept2;
+119
+120 // are they even an oper at all?
+121 if (strchr(this->modes,'o'))
+122 {
+123 log(DEBUG,'*** HasPermission: %s is an oper',this->nick);
+124 for (int j =0; j < ConfValueEnum('type',&config_f); j++)
+125 {
+126 ConfValue('type','name',j,TypeName,&config_f);
+127 if (!strcmp(TypeName,this->oper))
+128 {
+129 log(DEBUG,'*** HasPermission: %s is an oper of type '%s'',this->nick,this->oper);
+130 ConfValue('type','classes',j,Classes,&config_f);
+131 char* myclass = strtok_r(Classes,' ',&savept);
+132 while (myclass)
+133 {
+134 log(DEBUG,'*** HasPermission: checking classtype '%s'',myclass);
+135 for (int k =0; k < ConfValueEnum('class',&config_f); k++)
+136 {
+137 ConfValue('class','name',k,ClassName,&config_f);
+138 if (!strcmp(ClassName,myclass))
+139 {
+140 ConfValue('class','commands',k,CommandList,&config_f);
+141 log(DEBUG,'*** HasPermission: found class named %s with commands: '%s'',ClassName,CommandList);
142
-143 mycmd = strtok_r(CommandList,' ',&savept2);
-144 while (mycmd)
-145 {
-146 if (!strcasecmp(mycmd,command))
-147 {
-148 log(DEBUG,'*** Command %s found, returning true',command);
-149 return true;
-150 }
-151 mycmd = strtok_r(NULL,' ',&savept2);
-152 }
-153 }
-154 }
-155 myclass = strtok_r(NULL,' ',&savept);
-156 }
-157 }
-158 }
-159 }
-160 return false;
-161 }
+143
+144 mycmd = strtok_r(CommandList,' ',&savept2);
+145 while (mycmd)
+146 {
+147 if (!strcasecmp(mycmd,command))
+148 {
+149 log(DEBUG,'*** Command %s found, returning true',command);
+150 return true;
+151 }
+152 mycmd = strtok_r(NULL,' ',&savept2);
+153 }
+154 }
+155 }
+156 myclass = strtok_r(NULL,' ',&savept);
+157 }
+158 }
+159 }
+160 }
+161 return false;
+162 }
.fi
.SS "void userrec::InviteTo (char * channel)\fC [virtual]\fP"
.PP
-Adds a channel to a users invite list (invites them to a channel). Definition at line 82 of file users.cpp.
+Adds a channel to a users invite list (invites them to a channel). Definition at line 83 of file users.cpp.
.PP
References Invited::channel, and invites.
.PP
.nf
-83 {
-84 Invited i;
-85 strlcpy(i.channel,channel,CHANMAX);
-86 invites.push_back(i);
-87 }
+84 {
+85 Invited i;
+86 strlcpy(i.channel,channel,CHANMAX);
+87 invites.push_back(i);
+88 }
.fi
.SS "bool userrec::IsInvited (char * channel)\fC [virtual]\fP"
.PP
-Returns true if a user is invited to a channel. Definition at line 68 of file users.cpp.
+Returns true if a user is invited to a channel. Definition at line 69 of file users.cpp.
.PP
References invites.
.PP
.nf
-69 {
-70 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-71 {
-72 if (i->channel) {
-73 if (!strcasecmp(i->channel,channel))
-74 {
-75 return true;
-76 }
-77 }
-78 }
-79 return false;
-80 }
+70 {
+71 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
+72 {
+73 if (i->channel) {
+74 if (!strcasecmp(i->channel,channel))
+75 {
+76 return true;
+77 }
+78 }
+79 }
+80 return false;
+81 }
.fi
.SS "void userrec::RemoveInvite (char * channel)\fC [virtual]\fP"
.PP
-Removes a channel from a users invite list. This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.Definition at line 89 of file users.cpp.
+Removes a channel from a users invite list. This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.Definition at line 90 of file users.cpp.
.PP
References DEBUG, and invites.
.PP
.nf
-90 {
-91 log(DEBUG,'Removing invites');
-92 if (channel)
-93 {
-94 if (invites.size())
-95 {
-96 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
-97 {
-98 if (i->channel)
-99 {
-100 if (!strcasecmp(i->channel,channel))
-101 {
-102 invites.erase(i);
-103 return;
-104 }
-105 }
-106 }
-107 }
-108 }
-109 }
+91 {
+92 log(DEBUG,'Removing invites');
+93 if (channel)
+94 {
+95 if (invites.size())
+96 {
+97 for (InvitedList::iterator i = invites.begin(); i != invites.end(); i++)
+98 {
+99 if (i->channel)
+100 {
+101 if (!strcasecmp(i->channel,channel))
+102 {
+103 invites.erase(i);
+104 return;
+105 }
+106 }
+107 }
+108 }
+109 }
+110 }
.fi
.SH "Member Data Documentation"
.PP
@@ -316,6 +321,11 @@ Referenced by userrec().
The host displayed to non-opers (used for cloaking etc). This usually matches the value of \fBuserrec::host\fP.Definition at line 111 of file users.h.
.PP
Referenced by GetFullHost(), and userrec().
+.SS "bool \fBuserrec::dns_done\fP"
+.PP
+True when \fBDNS\fP lookups are completed. Definition at line 160 of file users.h.
+.PP
+Referenced by userrec().
.SS "int \fBuserrec::flood\fP"
.PP
Number of lines the user can place into the buffer (up to the global NetBufferSize bytes) before they are disconnected for excess flood. Definition at line 143 of file users.h.
diff --git a/docs/man/man3/users.cpp.3 b/docs/man/man3/users.cpp.3
index d55c5a6d5..ee6bd305f 100644
--- a/docs/man/man3/users.cpp.3
+++ b/docs/man/man3/users.cpp.3
@@ -1,4 +1,4 @@
-.TH "users.cpp" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "users.cpp" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/users.h.3 b/docs/man/man3/users.h.3
index d9bff1f1d..a59f1d846 100644
--- a/docs/man/man3/users.h.3
+++ b/docs/man/man3/users.h.3
@@ -1,4 +1,4 @@
-.TH "users.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "users.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/man/man3/xline.h.3 b/docs/man/man3/xline.h.3
index 445d39b1e..d7647c7aa 100644
--- a/docs/man/man3/xline.h.3
+++ b/docs/man/man3/xline.h.3
@@ -1,4 +1,4 @@
-.TH "xline.h" 3 "28 Mar 2005" "InspIRCd" \" -*- nroff -*-
+.TH "xline.h" 3 "2 Apr 2005" "InspIRCd" \" -*- nroff -*-
.ad l
.nh
.SH NAME
diff --git a/docs/module-doc/annotated.html b/docs/module-doc/annotated.html
index b7b437776..a39d7309c 100644
--- a/docs/module-doc/annotated.html
+++ b/docs/module-doc/annotated.html
@@ -14,6 +14,8 @@
<tr><td class="indexkey"><a class="el" href="classConfigReader.html">ConfigReader</a></td><td class="indexvalue">Allows reading of values from configuration files This class allows a module to read from either the main configuration file (inspircd.conf) or from a module-specified configuration file </td></tr>
<tr><td class="indexkey"><a class="el" href="classConnectClass.html">ConnectClass</a></td><td class="indexvalue">Holds information relevent to &lt;connect allow&gt; and &lt;connect deny&gt; tags in the config file </td></tr>
<tr><td class="indexkey"><a class="el" href="classconnection.html">connection</a></td><td class="indexvalue">Please note: classes serverrec and userrec both inherit from class connection </td></tr>
+ <tr><td class="indexkey"><a class="el" href="classDNS.html">DNS</a></td><td class="indexvalue">Allows fast nonblocking resolution of hostnames and ip addresses </td></tr>
+ <tr><td class="indexkey"><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="classExemptItem.html">ExemptItem</a></td><td class="indexvalue">A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to hold channel exempts (+e) </td></tr>
<tr><td class="indexkey"><a class="el" href="classExtensible.html">Extensible</a></td><td class="indexvalue">Class Extensible is the parent class of many classes such as userrec and chanrec </td></tr>
<tr><td class="indexkey"><a class="el" href="classExtMode.html">ExtMode</a></td><td class="indexvalue"></td></tr>
@@ -41,7 +43,7 @@
<tr><td class="indexkey"><a class="el" href="classXLine.html">XLine</a></td><td class="indexvalue">XLine is the base class for ban lines such as G lines and K lines </td></tr>
<tr><td class="indexkey"><a class="el" href="classZLine.html">ZLine</a></td><td class="indexvalue">ZLine class </td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/base_8h-source.html b/docs/module-doc/base_8h-source.html
index 2b579e73e..6c3fe5c2d 100644
--- a/docs/module-doc/base_8h-source.html
+++ b/docs/module-doc/base_8h-source.html
@@ -55,7 +55,7 @@
00079
00080 <span class="preprocessor">#endif</span>
00081 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:00 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/base_8h.html b/docs/module-doc/base_8h.html
index df6319c37..4365b92e9 100644
--- a/docs/module-doc/base_8h.html
+++ b/docs/module-doc/base_8h.html
@@ -49,7 +49,7 @@
Definition at line <a class="el" href="base_8h-source.html#l00025">25</a> of file <a class="el" href="base_8h-source.html">base.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/channels_8cpp-source.html b/docs/module-doc/channels_8cpp-source.html
index 70440fd36..a70095cd1 100644
--- a/docs/module-doc/channels_8cpp-source.html
+++ b/docs/module-doc/channels_8cpp-source.html
@@ -203,7 +203,7 @@
00196 }
00197 <span class="keywordflow">return</span> std::string(<span class="stringliteral">""</span>);
00198 }
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:00 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/channels_8cpp.html b/docs/module-doc/channels_8cpp.html
index f62f3af20..096f50487 100644
--- a/docs/module-doc/channels_8cpp.html
+++ b/docs/module-doc/channels_8cpp.html
@@ -291,7 +291,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00094">94</a>
<p>
Definition at line <a class="el" href="channels_8cpp-source.html#l00101">101</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00111">userrec::HasPermission()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00112">userrec::HasPermission()</a>. </td>
</tr>
</table>
<a name="a37" doxytag="channels.cpp::custom_mode_params"></a><p>
@@ -1040,7 +1040,7 @@ Definition at line <a class="el" href="channels_8cpp-source.html#l00084">84</a>
Definition at line <a class="el" href="channels_8cpp-source.html#l00083">83</a> of file <a class="el" href="channels_8cpp-source.html">channels.cpp</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/channels_8h-source.html b/docs/module-doc/channels_8h-source.html
index 172cc08c6..7b0b67194 100644
--- a/docs/module-doc/channels_8h-source.html
+++ b/docs/module-doc/channels_8h-source.html
@@ -139,7 +139,7 @@
00218
00219 <span class="preprocessor">#endif</span>
00220 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:00 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/channels_8h.html b/docs/module-doc/channels_8h.html
index 79a5649f8..d9e5c891d 100644
--- a/docs/module-doc/channels_8h.html
+++ b/docs/module-doc/channels_8h.html
@@ -258,7 +258,7 @@ Holds a complete invite list.
Definition at line <a class="el" href="channels_8h-source.html#l00088">88</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classAdmin-members.html b/docs/module-doc/classAdmin-members.html
index 6a4bc4744..050bcdf02 100644
--- a/docs/module-doc/classAdmin-members.html
+++ b/docs/module-doc/classAdmin-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classAdmin.html#o0">Name</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classAdmin.html#o2">Nick</a></td><td><a class="el" href="classAdmin.html">Admin</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classAdmin.html b/docs/module-doc/classAdmin.html
index 403c31719..00a7a7b63 100644
--- a/docs/module-doc/classAdmin.html
+++ b/docs/module-doc/classAdmin.html
@@ -157,7 +157,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00117">117</a> of
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classBanItem-members.html b/docs/module-doc/classBanItem-members.html
index a40b1cd24..62a28ba1c 100644
--- a/docs/module-doc/classBanItem-members.html
+++ b/docs/module-doc/classBanItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#o0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classBanItem.html b/docs/module-doc/classBanItem.html
index 4183ef1eb..01d380e55 100644
--- a/docs/module-doc/classBanItem.html
+++ b/docs/module-doc/classBanItem.html
@@ -22,7 +22,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00045">45</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classConfigReader-members.html b/docs/module-doc/classConfigReader-members.html
index 20baab961..0da3d27c9 100644
--- a/docs/module-doc/classConfigReader-members.html
+++ b/docs/module-doc/classConfigReader-members.html
@@ -24,7 +24,7 @@
<tr class="memlist"><td><a class="el" href="classConfigReader.html#a8">Verify</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classConfigReader.html#a2">~ConfigReader</a>()</td><td><a class="el" href="classConfigReader.html">ConfigReader</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classConfigReader.html b/docs/module-doc/classConfigReader.html
index 7d1753f74..7e782ad7b 100644
--- a/docs/module-doc/classConfigReader.html
+++ b/docs/module-doc/classConfigReader.html
@@ -772,7 +772,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00576">ConfigReader(
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classConnectClass-members.html b/docs/module-doc/classConnectClass-members.html
index 7f3ae7910..852043e6d 100644
--- a/docs/module-doc/classConnectClass-members.html
+++ b/docs/module-doc/classConnectClass-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classConnectClass.html#o1">registration_timeout</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classConnectClass.html#o0">type</a></td><td><a class="el" href="classConnectClass.html">ConnectClass</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classConnectClass.html b/docs/module-doc/classConnectClass.html
index c4b392ab6..c2207f9a2 100644
--- a/docs/module-doc/classConnectClass.html
+++ b/docs/module-doc/classConnectClass.html
@@ -221,7 +221,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00050">50</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classDNS-members.html b/docs/module-doc/classDNS-members.html
new file mode 100644
index 000000000..ad08da30b
--- /dev/null
+++ b/docs/module-doc/classDNS-members.html
@@ -0,0 +1,41 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: Member List</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>DNS Member List</h1>This is the complete list of members for <a class="el" href="classDNS.html">DNS</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#r1">binip</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a0">DNS</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a1">DNS</a>(std::string dnsserver)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d2">dns_aton4</a>(const char *const ipstring)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d11">dns_aton4_r</a>(const char *const ipstring)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d8">dns_aton4_s</a>(const char *const ipstring, in_addr *const ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d4">dns_getip4</a>(const char *const name)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d5">dns_getip4list</a>(const char *const name)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d6">dns_getname4</a>(const in_addr *const ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d7">dns_getresult</a>(const int fd)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d13">dns_getresult_r</a>(const int fd)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d10">dns_getresult_s</a>(const int fd, char *const result)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d0">dns_init</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d1">dns_init_2</a>(const char *dnsserver)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d3">dns_ntoa4</a>(const in_addr *const ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d12">dns_ntoa4_r</a>(const in_addr *const ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#d9">dns_ntoa4_s</a>(const in_addr *const ip, char *const result)</td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#r4">fd</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a4">ForwardLookup</a>(std::string host)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a7">GetFD</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a6">GetResult</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a5">HasResult</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#r3">i</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#r0">result</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a3">ReverseLookup</a>(std::string ip)</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#r2">t</a></td><td><a class="el" href="classDNS.html">DNS</a></td><td><code> [private]</code></td></tr>
+ <tr class="memlist"><td><a class="el" href="classDNS.html#a2">~DNS</a>()</td><td><a class="el" href="classDNS.html">DNS</a></td><td></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classDNS.html b/docs/module-doc/classDNS.html
new file mode 100644
index 000000000..659dea54b
--- /dev/null
+++ b/docs/module-doc/classDNS.html
@@ -0,0 +1,893 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: DNS class Reference</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>DNS Class Reference</h1>The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
+<a href="#_details">More...</a>
+<p>
+<code>#include &lt;<a class="el" href="dns_8h-source.html">dns.h</a>&gt;</code>
+<p>
+<a href="classDNS-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a0">DNS</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The default constructor uses dns addresses read from /etc/resolv.conf. </em> <a href="#a0"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a1">DNS</a> (std::string dnsserver)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor accepts a dns server address. </em> <a href="#a1"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a2">~DNS</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The destructor frees all used structures. </em> <a href="#a2"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a3">ReverseLookup</a> (std::string ip)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will start the reverse lookup of an ip given in dotted decimal format, e.g. </em> <a href="#a3"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a4">ForwardLookup</a> (std::string host)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will start the forward lookup of a hostname, e.g. </em> <a href="#a4"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a5">HasResult</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method will return true when the lookup is completed. </em> <a href="#a5"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a6">GetResult</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the result of your query as a string, depending upon wether you called <a class="el" href="classDNS.html#a3">DNS::ReverseLookup()</a> or <a class="el" href="classDNS.html#a4">DNS::ForwardLookup</a>. </em> <a href="#a6"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#a7">GetFD</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g. </em> <a href="#a7"></a><em><br><br></td></tr>
+<tr><td colspan=2><br><h2>Private Member Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d0">dns_init</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d1">dns_init_2</a> (const char *dnsserver)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>in_addr *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d2">dns_aton4</a> (const char *const ipstring)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d3">dns_ntoa4</a> (const in_addr *const ip)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d4">dns_getip4</a> (const char *const name)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d5">dns_getip4list</a> (const char *const name)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d6">dns_getname4</a> (const in_addr *const ip)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d7">dns_getresult</a> (const int <a class="el" href="classDNS.html#r4">fd</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>in_addr *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d8">dns_aton4_s</a> (const char *const ipstring, in_addr *const ip)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d9">dns_ntoa4_s</a> (const in_addr *const ip, char *const <a class="el" href="classDNS.html#r0">result</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d10">dns_getresult_s</a> (const int <a class="el" href="classDNS.html#r4">fd</a>, char *const <a class="el" href="classDNS.html#r0">result</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>in_addr *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d11">dns_aton4_r</a> (const char *const ipstring)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d12">dns_ntoa4_r</a> (const in_addr *const ip)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#d13">dns_getresult_r</a> (const int <a class="el" href="classDNS.html#r4">fd</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#r0">result</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>in_addr *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#r1">binip</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#r2">t</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#r3">i</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>unsigned int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html#r4">fd</a></td></tr>
+
+</table>
+<hr><a name="_details"></a><h2>Detailed Description</h2>
+The DNS class allows fast nonblocking resolution of hostnames and ip addresses.
+<p>
+It is based heavily upon firedns by Ian Gulliver.
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00035">35</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>.<hr><h2>Constructor &amp; Destructor Documentation</h2>
+<a name="a0" doxytag="DNS::DNS"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> DNS::DNS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The default constructor uses dns addresses read from /etc/resolv.conf.
+<p>
+Please note that it will re-read /etc/resolv.conf for each copy of the class you instantiate, causing disk access and slow lookups if you create a lot of them. Consider passing the constructor a server address as a parameter instead. </td>
+ </tr>
+</table>
+<a name="a1" doxytag="DNS::DNS"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> DNS::DNS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>dnsserver</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This constructor accepts a dns server address.
+<p>
+The address must be in dotted decimal form, e.g. 1.2.3.4. </td>
+ </tr>
+</table>
+<a name="a2" doxytag="DNS::~DNS"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> DNS::~<a class="el" href="classDNS.html">DNS</a> </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+The destructor frees all used structures.
+<p>
+ </td>
+ </tr>
+</table>
+<hr><h2>Member Function Documentation</h2>
+<a name="d2" doxytag="DNS::dns_aton4"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> in_addr* DNS::dns_aton4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ipstring</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d11" doxytag="DNS::dns_aton4_r"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> in_addr* DNS::dns_aton4_r </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ipstring</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d8" doxytag="DNS::dns_aton4_s"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> in_addr* DNS::dns_aton4_s </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *const&nbsp;</td>
+ <td class="mdname" nowrap> <em>ipstring</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>in_addr *const&nbsp;</td>
+ <td class="mdname" nowrap> <em>ip</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d4" doxytag="DNS::dns_getip4"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int DNS::dns_getip4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d5" doxytag="DNS::dns_getip4list"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int DNS::dns_getip4list </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>name</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d6" doxytag="DNS::dns_getname4"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int DNS::dns_getname4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const in_addr *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d7" doxytag="DNS::dns_getresult"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_getresult </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d13" doxytag="DNS::dns_getresult_r"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_getresult_r </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const int&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>fd</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d10" doxytag="DNS::dns_getresult_s"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_getresult_s </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const int&nbsp;</td>
+ <td class="mdname" nowrap> <em>fd</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *const&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d0" doxytag="DNS::dns_init"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void DNS::dns_init </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d1" doxytag="DNS::dns_init_2"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void DNS::dns_init_2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>dnsserver</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d3" doxytag="DNS::dns_ntoa4"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_ntoa4 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const in_addr *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d12" doxytag="DNS::dns_ntoa4_r"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_ntoa4_r </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const in_addr *const&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="d9" doxytag="DNS::dns_ntoa4_s"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* DNS::dns_ntoa4_s </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const in_addr *const&nbsp;</td>
+ <td class="mdname" nowrap> <em>ip</em>, </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td></td>
+ <td class="md" nowrap>char *const&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [private]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a name="a4" doxytag="DNS::ForwardLookup"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool DNS::ForwardLookup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>host</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method will start the forward lookup of a hostname, e.g.
+<p>
+www.inspircd.org, and returns true if the lookup was successfully initiated. </td>
+ </tr>
+</table>
+<a name="a7" doxytag="DNS::GetFD"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int DNS::GetFD </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method returns the file handle used by the dns query socket or zero if the query is invalid for some reason, e.g.
+<p>
+the dns server not responding. </td>
+ </tr>
+</table>
+<a name="a6" doxytag="DNS::GetResult"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string DNS::GetResult </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method returns the result of your query as a string, depending upon wether you called <a class="el" href="classDNS.html#a3">DNS::ReverseLookup()</a> or <a class="el" href="classDNS.html#a4">DNS::ForwardLookup</a>.
+<p>
+ </td>
+ </tr>
+</table>
+<a name="a5" doxytag="DNS::HasResult"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool DNS::HasResult </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method will return true when the lookup is completed.
+<p>
+It uses poll internally to determine the status of the socket. </td>
+ </tr>
+</table>
+<a name="a3" doxytag="DNS::ReverseLookup"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool DNS::ReverseLookup </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ip</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This method will start the reverse lookup of an ip given in dotted decimal format, e.g.
+<p>
+1.2.3.4, and returns true if the lookup was successfully initiated. </td>
+ </tr>
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="r1" doxytag="DNS::binip"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> in_addr* <a class="el" href="classDNS.html#r1">DNS::binip</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00039">39</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<a name="r4" doxytag="DNS::fd"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> unsigned int <a class="el" href="classDNS.html#r4">DNS::fd</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00042">42</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<a name="r3" doxytag="DNS::i"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int <a class="el" href="classDNS.html#r3">DNS::i</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00040">40</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<a name="r0" doxytag="DNS::result"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* <a class="el" href="classDNS.html#r0">DNS::result</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00038">38</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<a name="r2" doxytag="DNS::t"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int <a class="el" href="classDNS.html#r2">DNS::t</a><code> [private]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00040">40</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this class was generated from the following file:<ul>
+<li><a class="el" href="dns_8h-source.html">dns.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/classExemptItem-members.html b/docs/module-doc/classExemptItem-members.html
index d092081ca..7ae97e5be 100644
--- a/docs/module-doc/classExemptItem-members.html
+++ b/docs/module-doc/classExemptItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#o0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classExemptItem.html b/docs/module-doc/classExemptItem.html
index b0d9c82ce..a7297951e 100644
--- a/docs/module-doc/classExemptItem.html
+++ b/docs/module-doc/classExemptItem.html
@@ -22,7 +22,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00053">53</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classExtMode-members.html b/docs/module-doc/classExtMode-members.html
index 8fc8f2cd5..b061a6e0d 100644
--- a/docs/module-doc/classExtMode-members.html
+++ b/docs/module-doc/classExtMode-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classExtMode.html#o2">params_when_on</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classExtMode.html#o1">type</a></td><td><a class="el" href="classExtMode.html">ExtMode</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classExtMode.html b/docs/module-doc/classExtMode.html
index e05dcfe90..dd21cbaa5 100644
--- a/docs/module-doc/classExtMode.html
+++ b/docs/module-doc/classExtMode.html
@@ -247,7 +247,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00197">ExtMode()</a>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classExtensible-members.html b/docs/module-doc/classExtensible-members.html
index 2538417e9..feb904d76 100644
--- a/docs/module-doc/classExtensible-members.html
+++ b/docs/module-doc/classExtensible-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classExtensible.html#a2">GetExt</a>(std::string key)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classExtensible.html#a1">Shrink</a>(std::string key)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classExtensible.html b/docs/module-doc/classExtensible.html
index 9f13de16e..ba2427a5c 100644
--- a/docs/module-doc/classExtensible.html
+++ b/docs/module-doc/classExtensible.html
@@ -170,7 +170,7 @@ Definition at line <a class="el" href="base_8h-source.html#l00054">54</a> of fil
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classFileReader-members.html b/docs/module-doc/classFileReader-members.html
index 8c4ad0498..cb7eeb7a9 100644
--- a/docs/module-doc/classFileReader-members.html
+++ b/docs/module-doc/classFileReader-members.html
@@ -17,7 +17,7 @@
<tr class="memlist"><td><a class="el" href="classFileReader.html#a3">LoadFile</a>(std::string filename)</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classFileReader.html#a2">~FileReader</a>()</td><td><a class="el" href="classFileReader.html">FileReader</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classFileReader.html b/docs/module-doc/classFileReader.html
index 5946a05bd..460fb43cf 100644
--- a/docs/module-doc/classFileReader.html
+++ b/docs/module-doc/classFileReader.html
@@ -361,7 +361,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00745">Exists()</a>,
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classGLine-members.html b/docs/module-doc/classGLine-members.html
index 6e5a3a953..00cbfee28 100644
--- a/docs/module-doc/classGLine-members.html
+++ b/docs/module-doc/classGLine-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#o0">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#o2">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classGLine.html b/docs/module-doc/classGLine.html
index 7807b5521..3243ce6c3 100644
--- a/docs/module-doc/classGLine.html
+++ b/docs/module-doc/classGLine.html
@@ -53,7 +53,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00079">79</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classHostItem-members.html b/docs/module-doc/classHostItem-members.html
index fbfa88a7d..42b7c10f0 100644
--- a/docs/module-doc/classHostItem-members.html
+++ b/docs/module-doc/classHostItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#o0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classHostItem.html b/docs/module-doc/classHostItem.html
index 4fe3c5c7f..46c62d7b4 100644
--- a/docs/module-doc/classHostItem.html
+++ b/docs/module-doc/classHostItem.html
@@ -178,7 +178,7 @@ Definition at line <a class="el" href="channels_8h-source.html#l00032">32</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classInviteItem-members.html b/docs/module-doc/classInviteItem-members.html
index d03ff8f13..7fb108ea0 100644
--- a/docs/module-doc/classInviteItem-members.html
+++ b/docs/module-doc/classInviteItem-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classHostItem.html#o0">set_time</a></td><td><a class="el" href="classHostItem.html">HostItem</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classHostItem.html#a1">~HostItem</a>()</td><td><a class="el" href="classHostItem.html">HostItem</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classInviteItem.html b/docs/module-doc/classInviteItem.html
index 0c016a8ee..588adcc8d 100644
--- a/docs/module-doc/classInviteItem.html
+++ b/docs/module-doc/classInviteItem.html
@@ -22,7 +22,7 @@ A subclass of <a class="el" href="classHostItem.html">HostItem</a> designed to h
<p>
Definition at line <a class="el" href="channels_8h-source.html#l00061">61</a> of file <a class="el" href="channels_8h-source.html">channels.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classInvited-members.html b/docs/module-doc/classInvited-members.html
index 277de4e36..9ef558288 100644
--- a/docs/module-doc/classInvited-members.html
+++ b/docs/module-doc/classInvited-members.html
@@ -10,7 +10,7 @@
<tr class="memlist"><td><a class="el" href="classInvited.html#o0">channel</a></td><td><a class="el" href="classInvited.html">Invited</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classInvited.html b/docs/module-doc/classInvited.html
index bcced83fa..12e4205e7 100644
--- a/docs/module-doc/classInvited.html
+++ b/docs/module-doc/classInvited.html
@@ -47,12 +47,12 @@ Definition at line <a class="el" href="users_8h-source.html#l00036">36</a> of fi
<p>
Definition at line <a class="el" href="users_8h-source.html#l00039">39</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00082">userrec::InviteTo()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00083">userrec::InviteTo()</a>. </td>
</tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classKLine-members.html b/docs/module-doc/classKLine-members.html
index 6661c6f53..ee2c186f8 100644
--- a/docs/module-doc/classKLine-members.html
+++ b/docs/module-doc/classKLine-members.html
@@ -15,7 +15,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#o0">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#o2">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classKLine.html b/docs/module-doc/classKLine.html
index 70a5960a2..fd5149c8b 100644
--- a/docs/module-doc/classKLine.html
+++ b/docs/module-doc/classKLine.html
@@ -53,7 +53,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00068">68</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModeParameter-members.html b/docs/module-doc/classModeParameter-members.html
index dec115b76..ab2164bbe 100644
--- a/docs/module-doc/classModeParameter-members.html
+++ b/docs/module-doc/classModeParameter-members.html
@@ -12,7 +12,7 @@
<tr class="memlist"><td><a class="el" href="classModeParameter.html#o0">mode</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classModeParameter.html#o1">parameter</a></td><td><a class="el" href="classModeParameter.html">ModeParameter</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModeParameter.html b/docs/module-doc/classModeParameter.html
index 455853ffc..7c658b5db 100644
--- a/docs/module-doc/classModeParameter.html
+++ b/docs/module-doc/classModeParameter.html
@@ -110,7 +110,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00148">chanrec::Set
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModule-members.html b/docs/module-doc/classModule-members.html
index de4846ebd..622e716dd 100644
--- a/docs/module-doc/classModule-members.html
+++ b/docs/module-doc/classModule-members.html
@@ -35,7 +35,7 @@
<tr class="memlist"><td><a class="el" href="classModule.html#a15">OnWhois</a>(userrec *source, userrec *dest)</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModule.html#a1">~Module</a>()</td><td><a class="el" href="classModule.html">Module</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModule.html b/docs/module-doc/classModule.html
index 77faa7fb8..a10ce0a29 100644
--- a/docs/module-doc/classModule.html
+++ b/docs/module-doc/classModule.html
@@ -1259,7 +1259,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00319">319</a>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModuleFactory-members.html b/docs/module-doc/classModuleFactory-members.html
index 85e352377..f7f87794e 100644
--- a/docs/module-doc/classModuleFactory-members.html
+++ b/docs/module-doc/classModuleFactory-members.html
@@ -12,7 +12,7 @@
<tr class="memlist"><td><a class="el" href="classModuleFactory.html#a0">ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classModuleFactory.html#a1">~ModuleFactory</a>()</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classModuleFactory.html b/docs/module-doc/classModuleFactory.html
index 0f99e84b9..4d7ca63ff 100644
--- a/docs/module-doc/classModuleFactory.html
+++ b/docs/module-doc/classModuleFactory.html
@@ -130,7 +130,7 @@ Your inherited class of ModuleFactory must return a pointer to your <a class="el
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classQLine-members.html b/docs/module-doc/classQLine-members.html
index 0ee019a8f..53b58a6d9 100644
--- a/docs/module-doc/classQLine-members.html
+++ b/docs/module-doc/classQLine-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#o0">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#o2">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classQLine.html b/docs/module-doc/classQLine.html
index ef942cfdd..5d69e90a6 100644
--- a/docs/module-doc/classQLine.html
+++ b/docs/module-doc/classQLine.html
@@ -82,7 +82,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00105">105</a> of f
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classServer-members.html b/docs/module-doc/classServer-members.html
index 0699637a1..1ff9237da 100644
--- a/docs/module-doc/classServer-members.html
+++ b/docs/module-doc/classServer-members.html
@@ -45,7 +45,7 @@
<tr class="memlist"><td><a class="el" href="classServer.html#a0">Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classServer.html#a1">~Server</a>()</td><td><a class="el" href="classServer.html">Server</a></td><td><code> [virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classServer.html b/docs/module-doc/classServer.html
index 1ba57adea..f99f9bf56 100644
--- a/docs/module-doc/classServer.html
+++ b/docs/module-doc/classServer.html
@@ -1910,7 +1910,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00485">485</a>
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classVersion-members.html b/docs/module-doc/classVersion-members.html
index 73f9b65b3..0e8d709cb 100644
--- a/docs/module-doc/classVersion-members.html
+++ b/docs/module-doc/classVersion-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classVersion.html#o2">Revision</a></td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classVersion.html#a0">Version</a>(int major, int minor, int revision, int build)</td><td><a class="el" href="classVersion.html">Version</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classVersion.html b/docs/module-doc/classVersion.html
index 714f17838..1e4926a2e 100644
--- a/docs/module-doc/classVersion.html
+++ b/docs/module-doc/classVersion.html
@@ -189,7 +189,7 @@ Definition at line <a class="el" href="modules_8h-source.html#l00105">105</a> of
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="modules_8h-source.html">modules.h</a><li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classXLine-members.html b/docs/module-doc/classXLine-members.html
index 66b260d73..3c74d5900 100644
--- a/docs/module-doc/classXLine-members.html
+++ b/docs/module-doc/classXLine-members.html
@@ -14,7 +14,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#o0">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#o2">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classXLine.html b/docs/module-doc/classXLine.html
index 1cdc782cd..671da7549 100644
--- a/docs/module-doc/classXLine.html
+++ b/docs/module-doc/classXLine.html
@@ -171,7 +171,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00048">48</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classZLine-members.html b/docs/module-doc/classZLine-members.html
index ab7a71ebc..a389cacf9 100644
--- a/docs/module-doc/classZLine-members.html
+++ b/docs/module-doc/classZLine-members.html
@@ -16,7 +16,7 @@
<tr class="memlist"><td><a class="el" href="classXLine.html#o0">set_time</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classXLine.html#o2">source</a></td><td><a class="el" href="classXLine.html">XLine</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classZLine.html b/docs/module-doc/classZLine.html
index 5cacd6f53..fe72d8fdf 100644
--- a/docs/module-doc/classZLine.html
+++ b/docs/module-doc/classZLine.html
@@ -82,7 +82,7 @@ Definition at line <a class="el" href="xline_8h-source.html#l00094">94</a> of fi
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="xline_8h-source.html">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classchanrec-members.html b/docs/module-doc/classchanrec-members.html
index f42b9d0dd..07cb91143 100644
--- a/docs/module-doc/classchanrec-members.html
+++ b/docs/module-doc/classchanrec-members.html
@@ -33,7 +33,7 @@
<tr class="memlist"><td><a class="el" href="classchanrec.html#o4">topicset</a></td><td><a class="el" href="classchanrec.html">chanrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classchanrec.html#a5">~chanrec</a>()</td><td><a class="el" href="classchanrec.html">chanrec</a></td><td><code> [inline, virtual]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classchanrec.html b/docs/module-doc/classchanrec.html
index 7cabfa142..ead7ab3bf 100644
--- a/docs/module-doc/classchanrec.html
+++ b/docs/module-doc/classchanrec.html
@@ -829,7 +829,7 @@ Referenced by <a class="el" href="channels_8cpp-source.html#l00112">chanrec()</a
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a><li><a class="el" href="channels_8cpp-source.html">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classclassbase-members.html b/docs/module-doc/classclassbase-members.html
index 4808e02ed..39fd05f00 100644
--- a/docs/module-doc/classclassbase-members.html
+++ b/docs/module-doc/classclassbase-members.html
@@ -9,7 +9,7 @@
<tr class="memlist"><td><a class="el" href="classclassbase.html#o0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classclassbase.html b/docs/module-doc/classclassbase.html
index 9e55f541b..e22f3d99b 100644
--- a/docs/module-doc/classclassbase.html
+++ b/docs/module-doc/classclassbase.html
@@ -132,7 +132,7 @@ Referenced by <a class="el" href="base_8h-source.html#l00039">classbase()</a>.
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="base_8h-source.html">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classcommand__t-members.html b/docs/module-doc/classcommand__t-members.html
index 8ff8926b3..35f2d7bfa 100644
--- a/docs/module-doc/classcommand__t-members.html
+++ b/docs/module-doc/classcommand__t-members.html
@@ -18,7 +18,7 @@
<tr class="memlist"><td><a class="el" href="classcommand__t.html#o5">total_bytes</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classcommand__t.html#o4">use_count</a></td><td><a class="el" href="classcommand__t.html">command_t</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classcommand__t.html b/docs/module-doc/classcommand__t.html
index fcd064499..2496e353a 100644
--- a/docs/module-doc/classcommand__t.html
+++ b/docs/module-doc/classcommand__t.html
@@ -198,7 +198,7 @@ Definition at line <a class="el" href="ctables_8h-source.html#l00043">43</a> of
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="ctables_8h-source.html">ctables.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:30 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classconnection-members.html b/docs/module-doc/classconnection-members.html
index 06b1dc2e0..9e5b261eb 100644
--- a/docs/module-doc/classconnection-members.html
+++ b/docs/module-doc/classconnection-members.html
@@ -41,7 +41,7 @@
<tr class="memlist"><td><a class="el" href="classconnection.html#o11">state</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classconnection.html#a4">TerminateLink</a>(char *targethost)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classconnection.html b/docs/module-doc/classconnection.html
index 6a1743731..57e902e8f 100644
--- a/docs/module-doc/classconnection.html
+++ b/docs/module-doc/classconnection.html
@@ -731,7 +731,7 @@ Not used if this is a serverrec
<p>
Definition at line <a class="el" href="connection_8h-source.html#l00182">182</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00062">userrec::GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec::userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00063">userrec::GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec::userrec()</a>. </td>
</tr>
</table>
<a name="o14" doxytag="connection::idle_lastmsg"></a><p>
@@ -1038,7 +1038,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00224">224</a>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:31 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:04 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classes.html b/docs/module-doc/classes.html
index a298d2f80..6bae22e2d 100644
--- a/docs/module-doc/classes.html
+++ b/docs/module-doc/classes.html
@@ -7,24 +7,25 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindexHL" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>InspIRCd Compound Index</h1><table align=center width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;A&nbsp;&nbsp;</div></td></tr></table>
-</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="structStrHashComp.html">StrHashComp</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classExtensible.html">Extensible</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classucrec.html">ucrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classircd__connector.html">ircd_connector</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classuserrec.html">userrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
-</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;D&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classModule.html">Module</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classserverrec.html">serverrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classAdmin.html">Admin</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classDNS.html">DNS</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classHostItem.html">HostItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structStrHashComp.html">StrHashComp</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;B&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;N&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;U&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classBanItem.html">BanItem</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classucrec.html">ucrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="classExemptItem.html">ExemptItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInvited.html">Invited</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a> (<a class="el" href="namespacenspace.html">nspace</a>)&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classuserrec.html">userrec</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtensible.html">Extensible</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classInviteItem.html">InviteItem</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;P&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classExtMode.html">ExtMode</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classircd__connector.html">ircd_connector</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classpacket.html">packet</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classcommand__t.html">command_t</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;F&nbsp;&nbsp;</div></td></tr></table>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;K&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classpacket.html">packet</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;V&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classchanrec.html">chanrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFileReader.html">FileReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classKLine.html">KLine</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classVersion.html">Version</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classclassbase.html">classbase</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Q&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classConfigReader.html">ConfigReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classFileReader.html">FileReader</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classKLine.html">KLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classQLine.html">QLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classXLine.html">XLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classConnectClass.html">ConnectClass</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;G&nbsp;&nbsp;</div></td></tr></table>
</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;M&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classQLine.html">QLine</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;X&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classcommand__t.html">command_t</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classGLine.html">GLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModeParameter.html">ModeParameter</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classXLine.html">XLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classConfigReader.html">ConfigReader</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;H&nbsp;&nbsp;</div></td></tr></table>
-</td><td><a class="el" href="classModule.html">Module</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Z&nbsp;&nbsp;</div></td></tr></table>
-</td></tr><tr><td><a class="el" href="classConnectClass.html">ConnectClass</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classHostItem.html">HostItem</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModuleFactory.html">ModuleFactory</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classserverrec.html">serverrec</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classZLine.html">ZLine</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="classconnection.html">connection</a>&nbsp;&nbsp;&nbsp;</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;I&nbsp;&nbsp;</div></td></tr></table>
-</td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td><td><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;Z&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="classconnection.html">connection</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classGLine.html">GLine</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classModeParameter.html">ModeParameter</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classServer.html">Server</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="classZLine.html">ZLine</a>&nbsp;&nbsp;&nbsp;</td></tr></table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classircd__connector-members.html b/docs/module-doc/classircd__connector-members.html
index f1e78f2c3..d6222ebc8 100644
--- a/docs/module-doc/classircd__connector-members.html
+++ b/docs/module-doc/classircd__connector-members.html
@@ -35,7 +35,7 @@
<tr class="memlist"><td><a class="el" href="classExtensible.html#a1">Shrink</a>(std::string key)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classircd__connector.html#r4">state</a></td><td><a class="el" href="classircd__connector.html">ircd_connector</a></td><td><code> [private]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:33 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classircd__connector.html b/docs/module-doc/classircd__connector.html
index 8fea767dd..0cf1f062b 100644
--- a/docs/module-doc/classircd__connector.html
+++ b/docs/module-doc/classircd__connector.html
@@ -792,7 +792,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00075">75</a>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classpacket-members.html b/docs/module-doc/classpacket-members.html
index 8cc004a2b..33f942840 100644
--- a/docs/module-doc/classpacket-members.html
+++ b/docs/module-doc/classpacket-members.html
@@ -9,7 +9,7 @@
<tr class="memlist"><td><a class="el" href="classclassbase.html#o0">age</a></td><td><a class="el" href="classclassbase.html">classbase</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a0">classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classpacket.html b/docs/module-doc/classpacket.html
index 58525746f..4dea5d915 100644
--- a/docs/module-doc/classpacket.html
+++ b/docs/module-doc/classpacket.html
@@ -24,7 +24,7 @@ This declaration is preserved here to maintain documentation only.
<p>
Definition at line <a class="el" href="connection_8h-source.html#l00167">167</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>.<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="connection_8h-source.html">connection.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:35 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:06 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classserverrec-members.html b/docs/module-doc/classserverrec-members.html
index e9f90e3a1..d385c5516 100644
--- a/docs/module-doc/classserverrec-members.html
+++ b/docs/module-doc/classserverrec-members.html
@@ -55,7 +55,7 @@
<tr class="memlist"><td><a class="el" href="classserverrec.html#o6">version</a></td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classserverrec.html#a2">~serverrec</a>()</td><td><a class="el" href="classserverrec.html">serverrec</a></td><td></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classserverrec.html b/docs/module-doc/classserverrec.html
index cf4e2727d..46db0c244 100644
--- a/docs/module-doc/classserverrec.html
+++ b/docs/module-doc/classserverrec.html
@@ -519,7 +519,7 @@ Referenced by <a class="el" href="servers_8cpp-source.html#l00024">serverrec()</
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="servers_8h-source.html">servers.h</a><li><a class="el" href="servers_8cpp-source.html">servers.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classucrec-members.html b/docs/module-doc/classucrec-members.html
index 68e697285..408b6ca8c 100644
--- a/docs/module-doc/classucrec-members.html
+++ b/docs/module-doc/classucrec-members.html
@@ -13,7 +13,7 @@
<tr class="memlist"><td><a class="el" href="classucrec.html#a0">ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classucrec.html#a1">~ucrec</a>()</td><td><a class="el" href="classucrec.html">ucrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classucrec.html b/docs/module-doc/classucrec.html
index 7e3628b5a..ff52338c9 100644
--- a/docs/module-doc/classucrec.html
+++ b/docs/module-doc/classucrec.html
@@ -160,7 +160,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec::userre
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="channels_8h-source.html">channels.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classuserrec-members.html b/docs/module-doc/classuserrec-members.html
index ecc926cbf..0544bab85 100644
--- a/docs/module-doc/classuserrec-members.html
+++ b/docs/module-doc/classuserrec-members.html
@@ -20,6 +20,7 @@
<tr class="memlist"><td><a class="el" href="classconnection.html#o18">connectors</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classconnection.html#a1">CreateListener</a>(char *host, int p)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classuserrec.html#o2">dhost</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="classuserrec.html#o12">dns_done</a></td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classExtensible.html#a0">Extend</a>(std::string key, char *p)</td><td><a class="el" href="classExtensible.html">Extensible</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classconnection.html#o0">fd</a></td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classconnection.html#a7">FindHost</a>(std::string host)</td><td><a class="el" href="classconnection.html">connection</a></td><td></td></tr>
@@ -62,7 +63,7 @@
<tr class="memlist"><td><a class="el" href="classuserrec.html#a0">userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="classclassbase.html#a1">~classbase</a>()</td><td><a class="el" href="classclassbase.html">classbase</a></td><td><code> [inline]</code></td></tr>
<tr class="memlist"><td><a class="el" href="classuserrec.html#a1">~userrec</a>()</td><td><a class="el" href="classuserrec.html">userrec</a></td><td><code> [inline, virtual]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/classuserrec.html b/docs/module-doc/classuserrec.html
index 1ca6025f2..92061165c 100644
--- a/docs/module-doc/classuserrec.html
+++ b/docs/module-doc/classuserrec.html
@@ -73,6 +73,9 @@ Inherits <a class="el" href="classconnection.html">connection</a>.
<tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o11">oper</a> [NICKMAX]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The oper type they logged in as, if they are an oper. </em> <a href="#o11"></a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#o12">dns_done</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">True when <a class="el" href="classDNS.html">DNS</a> lookups are completed. </em> <a href="#o12"></a><em><br><br></td></tr>
<tr><td colspan=2><br><h2>Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="users_8h.html#a6">InvitedList</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classuserrec.html#r0">invites</a></td></tr>
@@ -115,7 +118,7 @@ Definition at line <a class="el" href="users_8h-source.html#l00089">89</a> of fi
<p>
Definition at line <a class="el" href="users_8cpp-source.html#l00026">26</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
-References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a class="el" href="connection_8h-source.html#l00194">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00198">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00213">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00123">chans</a>, <a class="el" href="connection_8h-source.html#l00202">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00206">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="connection_8h-source.html#l00178">connection::fd</a>, <a class="el" href="users_8h-source.html#l00143">flood</a>, <a class="el" href="users_8h-source.html#l00115">fullname</a>, <a class="el" href="connection_8h-source.html#l00210">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="connection_8h-source.html#l00236">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00190">connection::inbuf</a>, <a class="el" href="users_8h-source.html#l00095">invites</a>, <a class="el" href="connection_8h-source.html#l00186">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00228">connection::lastping</a>, <a class="el" href="users_8h-source.html#l00121">modes</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, <a class="el" href="connection_8h-source.html#l00240">connection::nping</a>, <a class="el" href="users_8h-source.html#l00156">oper</a>, <a class="el" href="connection_8h-source.html#l00216">connection::port</a>, <a class="el" href="connection_8h-source.html#l00220">connection::registered</a>, <a class="el" href="users_8h-source.html#l00137">result</a>, <a class="el" href="users_8h-source.html#l00127">server</a>, <a class="el" href="connection_8h-source.html#l00232">connection::signon</a>, <a class="el" href="users_8h-source.html#l00149">timeout</a>, and <a class="el" href="channels_8h-source.html#l00208">ucrec::uc_modes</a>.
+References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a class="el" href="connection_8h-source.html#l00194">connection::bytes_in</a>, <a class="el" href="connection_8h-source.html#l00198">connection::bytes_out</a>, <a class="el" href="channels_8h-source.html#l00213">ucrec::channel</a>, <a class="el" href="users_8h-source.html#l00123">chans</a>, <a class="el" href="connection_8h-source.html#l00202">connection::cmds_in</a>, <a class="el" href="connection_8h-source.html#l00206">connection::cmds_out</a>, <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="users_8h-source.html#l00160">dns_done</a>, <a class="el" href="connection_8h-source.html#l00178">connection::fd</a>, <a class="el" href="users_8h-source.html#l00143">flood</a>, <a class="el" href="users_8h-source.html#l00115">fullname</a>, <a class="el" href="connection_8h-source.html#l00210">connection::haspassed</a>, <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="connection_8h-source.html#l00236">connection::idle_lastmsg</a>, <a class="el" href="connection_8h-source.html#l00190">connection::inbuf</a>, <a class="el" href="users_8h-source.html#l00095">invites</a>, <a class="el" href="connection_8h-source.html#l00186">connection::ip</a>, <a class="el" href="connection_8h-source.html#l00228">connection::lastping</a>, <a class="el" href="users_8h-source.html#l00121">modes</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, <a class="el" href="connection_8h-source.html#l00240">connection::nping</a>, <a class="el" href="users_8h-source.html#l00156">oper</a>, <a class="el" href="connection_8h-source.html#l00216">connection::port</a>, <a class="el" href="connection_8h-source.html#l00220">connection::registered</a>, <a class="el" href="users_8h-source.html#l00137">result</a>, <a class="el" href="users_8h-source.html#l00127">server</a>, <a class="el" href="connection_8h-source.html#l00232">connection::signon</a>, <a class="el" href="users_8h-source.html#l00149">timeout</a>, and <a class="el" href="channels_8h-source.html#l00208">ucrec::uc_modes</a>.
<p>
<div class="fragment"><pre>00027 {
00028 <span class="comment">// the PROPER way to do it, AVOID bzero at *ALL* costs</span>
@@ -134,14 +137,15 @@ References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a clas
00041 <a class="code" href="classconnection.html#o0">fd</a> = <a class="code" href="classconnection.html#o12">lastping</a> = <a class="code" href="classconnection.html#o13">signon</a> = <a class="code" href="classconnection.html#o14">idle_lastmsg</a> = <a class="code" href="classconnection.html#o15">nping</a> = <a class="code" href="classconnection.html#o10">registered</a> = 0;
00042 <a class="code" href="classuserrec.html#o9">flood</a> = <a class="code" href="classconnection.html#o9">port</a> = <a class="code" href="classconnection.html#o4">bytes_in</a> = <a class="code" href="classconnection.html#o5">bytes_out</a> = <a class="code" href="classconnection.html#o6">cmds_in</a> = <a class="code" href="classconnection.html#o7">cmds_out</a> = 0;
00043 <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>;
-00044 strcpy(result,<span class="stringliteral">""</span>);
-00045 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
-00046 {
-00047 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
-00048 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
-00049 }
-00050 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
-00051 }
+00044 <a class="code" href="classuserrec.html#o12">dns_done</a> = <span class="keyword">false</span>;
+00045 strcpy(result,<span class="stringliteral">""</span>);
+00046 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
+00047 {
+00048 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
+00049 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
+00050 }
+00051 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
+00052 }
</pre></div> </td>
</tr>
</table>
@@ -172,9 +176,9 @@ References <a class="el" href="users_8h-source.html#l00132">awaymsg</a>, <a clas
<p>
<p>
-Definition at line <a class="el" href="users_8h-source.html#l00160">160</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
+Definition at line <a class="el" href="users_8h-source.html#l00164">164</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-<div class="fragment"><pre>00160 { }
+<div class="fragment"><pre>00164 { }
</pre></div> </td>
</tr>
</table>
@@ -208,14 +212,14 @@ Returns the full displayed host of the user This member function returns the hos
<p>
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00055">55</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00056">56</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00111">dhost</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
<p>
-<div class="fragment"><pre>00056 {
-00057 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
-00058 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
-00059 }
+<div class="fragment"><pre>00057 {
+00058 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,dhost);
+00059 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
+00060 }
</pre></div> </td>
</tr>
</table>
@@ -248,14 +252,14 @@ Returns the full real host of the user This member function returns the hostname
<p>
If any form of hostname cloaking is in operation, e.g. through a module, then this method will ignore it and return the true hostname.
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00062">62</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00063">63</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="connection_8h-source.html#l00182">connection::host</a>, <a class="el" href="users_8h-source.html#l00106">ident</a>, <a class="el" href="users_8h-source.html#l00102">nick</a>, and <a class="el" href="users_8h-source.html#l00137">result</a>.
<p>
-<div class="fragment"><pre>00063 {
-00064 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
-00065 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
-00066 }
+<div class="fragment"><pre>00064 {
+00065 snprintf(result,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,nick,ident,host);
+00066 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
+00067 }
</pre></div> </td>
</tr>
</table>
@@ -289,60 +293,60 @@ Returns true or false for if a user can execute a privilaged oper command.
<p>
This is done by looking up their oper type from <a class="el" href="classuserrec.html#o11">userrec::oper</a>, then referencing this to their oper classes and checking the commands they can execute.
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00111">111</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00112">112</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="channels_8cpp-source.html#l00101">config_f</a>, and <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>.
<p>
-<div class="fragment"><pre>00112 {
-00113 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-00114 <span class="keywordtype">char</span>* myclass;
-00115 <span class="keywordtype">char</span>* mycmd;
-00116 <span class="keywordtype">char</span>* savept;
-00117 <span class="keywordtype">char</span>* savept2;
-00118
-00119 <span class="comment">// are they even an oper at all?</span>
-00120 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
-00121 {
-00122 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this-&gt;nick);
-00123 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;config_f); j++)
-00124 {
-00125 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;config_f);
-00126 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
-00127 {
-00128 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this-&gt;nick,this-&gt;oper);
-00129 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;config_f);
-00130 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
-00131 <span class="keywordflow">while</span> (myclass)
-00132 {
-00133 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
-00134 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;config_f); k++)
-00135 {
-00136 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;config_f);
-00137 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
-00138 {
-00139 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;config_f);
-00140 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
-00141
+<div class="fragment"><pre>00113 {
+00114 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
+00115 <span class="keywordtype">char</span>* myclass;
+00116 <span class="keywordtype">char</span>* mycmd;
+00117 <span class="keywordtype">char</span>* savept;
+00118 <span class="keywordtype">char</span>* savept2;
+00119
+00120 <span class="comment">// are they even an oper at all?</span>
+00121 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
+00122 {
+00123 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this-&gt;nick);
+00124 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;config_f); j++)
+00125 {
+00126 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;config_f);
+00127 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
+00128 {
+00129 log(DEBUG,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this-&gt;nick,this-&gt;oper);
+00130 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;config_f);
+00131 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
+00132 <span class="keywordflow">while</span> (myclass)
+00133 {
+00134 log(DEBUG,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
+00135 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;config_f); k++)
+00136 {
+00137 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;config_f);
+00138 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
+00139 {
+00140 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;config_f);
+00141 log(DEBUG,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
00142
-00143 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
-00144 <span class="keywordflow">while</span> (mycmd)
-00145 {
-00146 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
-00147 {
-00148 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
-00149 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00150 }
-00151 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
-00152 }
-00153 }
-00154 }
-00155 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
-00156 }
-00157 }
-00158 }
-00159 }
-00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00161 }
+00143
+00144 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
+00145 <span class="keywordflow">while</span> (mycmd)
+00146 {
+00147 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
+00148 {
+00149 log(DEBUG,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
+00150 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00151 }
+00152 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
+00153 }
+00154 }
+00155 }
+00156 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
+00157 }
+00158 }
+00159 }
+00160 }
+00161 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00162 }
</pre></div> </td>
</tr>
</table>
@@ -376,15 +380,15 @@ Adds a channel to a users invite list (invites them to a channel).
<p>
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00082">82</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00083">83</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00039">Invited::channel</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
<p>
-<div class="fragment"><pre>00083 {
-00084 <a class="code" href="classInvited.html">Invited</a> i;
-00085 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
-00086 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
-00087 }
+<div class="fragment"><pre>00084 {
+00085 <a class="code" href="classInvited.html">Invited</a> i;
+00086 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
+00087 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
+00088 }
</pre></div> </td>
</tr>
</table>
@@ -418,22 +422,22 @@ Returns true if a user is invited to a channel.
<p>
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00068">68</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00069">69</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="users_8h-source.html#l00095">invites</a>.
<p>
-<div class="fragment"><pre>00069 {
-00070 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
-00071 {
-00072 <span class="keywordflow">if</span> (i-&gt;channel) {
-00073 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
-00074 {
-00075 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00076 }
-00077 }
-00078 }
-00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00080 }
+<div class="fragment"><pre>00070 {
+00071 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
+00072 {
+00073 <span class="keywordflow">if</span> (i-&gt;channel) {
+00074 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
+00075 {
+00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00077 }
+00078 }
+00079 }
+00080 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00081 }
</pre></div> </td>
</tr>
</table>
@@ -467,30 +471,30 @@ Removes a channel from a users invite list.
<p>
This member function is called on successfully joining an invite only channel to which the user has previously been invited, to clear the invitation.
<p>
-Definition at line <a class="el" href="users_8cpp-source.html#l00089">89</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
+Definition at line <a class="el" href="users_8cpp-source.html#l00090">90</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>.
<p>
References <a class="el" href="modules_8h-source.html#l00023">DEBUG</a>, and <a class="el" href="users_8h-source.html#l00095">invites</a>.
<p>
-<div class="fragment"><pre>00090 {
-00091 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
-00092 <span class="keywordflow">if</span> (channel)
-00093 {
-00094 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
-00095 {
-00096 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
-00097 {
-00098 <span class="keywordflow">if</span> (i-&gt;channel)
-00099 {
-00100 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
-00101 {
-00102 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
-00103 <span class="keywordflow">return</span>;
-00104 }
-00105 }
-00106 }
-00107 }
-00108 }
-00109 }
+<div class="fragment"><pre>00091 {
+00092 log(DEBUG,<span class="stringliteral">"Removing invites"</span>);
+00093 <span class="keywordflow">if</span> (channel)
+00094 {
+00095 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
+00096 {
+00097 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
+00098 {
+00099 <span class="keywordflow">if</span> (i-&gt;channel)
+00100 {
+00101 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
+00102 {
+00103 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
+00104 <span class="keywordflow">return</span>;
+00105 }
+00106 }
+00107 }
+00108 }
+00109 }
+00110 }
</pre></div> </td>
</tr>
</table>
@@ -574,7 +578,35 @@ This usually matches the value of <a class="el" href="classconnection.html#o1">u
<p>
Definition at line <a class="el" href="users_8h-source.html#l00111">111</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+ </tr>
+</table>
+<a name="o12" doxytag="userrec::dns_done"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="classuserrec.html#o12">userrec::dns_done</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+True when <a class="el" href="classDNS.html">DNS</a> lookups are completed.
+<p>
+
+<p>
+Definition at line <a class="el" href="users_8h-source.html#l00160">160</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
+<p>
+Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="o9" doxytag="userrec::flood"></a><p>
@@ -658,7 +690,7 @@ The users ident reply.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00106">106</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="r0" doxytag="userrec::invites"></a><p>
@@ -686,7 +718,7 @@ A list of channels the user has a pending invite to.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00095">95</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00082">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00068">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00089">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00083">InviteTo()</a>, <a class="el" href="users_8cpp-source.html#l00069">IsInvited()</a>, <a class="el" href="users_8cpp-source.html#l00090">RemoveInvite()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="o4" doxytag="userrec::modes"></a><p>
@@ -742,7 +774,7 @@ An invalid nickname indicates an unregistered connection prior to the NICK comma
<p>
Definition at line <a class="el" href="users_8h-source.html#l00102">102</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00673">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00396">Server::QuitUser()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00673">ConfigReader::DumpErrors()</a>, <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, <a class="el" href="modules_8cpp-source.html#l00396">Server::QuitUser()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="o11" doxytag="userrec::oper"></a><p>
@@ -798,7 +830,7 @@ You may use this to increase the speed of use of this class.
<p>
Definition at line <a class="el" href="users_8h-source.html#l00137">137</a> of file <a class="el" href="users_8h-source.html">users.h</a>.
<p>
-Referenced by <a class="el" href="users_8cpp-source.html#l00055">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00062">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
+Referenced by <a class="el" href="users_8cpp-source.html#l00056">GetFullHost()</a>, <a class="el" href="users_8cpp-source.html#l00063">GetFullRealHost()</a>, and <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>. </td>
</tr>
</table>
<a name="o6" doxytag="userrec::server"></a><p>
@@ -859,7 +891,7 @@ Referenced by <a class="el" href="users_8cpp-source.html#l00026">userrec()</a>.
</table>
<hr>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="users_8h-source.html">users.h</a><li><a class="el" href="users_8cpp-source.html">users.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/commands_8h-source.html b/docs/module-doc/commands_8h-source.html
index 7e7fe4af0..0d510681e 100644
--- a/docs/module-doc/commands_8h-source.html
+++ b/docs/module-doc/commands_8h-source.html
@@ -113,7 +113,7 @@
00114 <span class="keywordtype">bool</span> <a class="code" href="commands_8h.html#a71">is_uline</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* server);
00115
00116 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/commands_8h.html b/docs/module-doc/commands_8h.html
index bb4c3ff1e..2d226d8c3 100644
--- a/docs/module-doc/commands_8h.html
+++ b/docs/module-doc/commands_8h.html
@@ -3619,7 +3619,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00402">Server::IsUli
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/connection_8h-source.html b/docs/module-doc/connection_8h-source.html
index 392a25536..967461256 100644
--- a/docs/module-doc/connection_8h-source.html
+++ b/docs/module-doc/connection_8h-source.html
@@ -168,7 +168,7 @@
00300
00301 <span class="preprocessor">#endif</span>
00302 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/connection_8h.html b/docs/module-doc/connection_8h.html
index dd22d1cba..f8376a84f 100644
--- a/docs/module-doc/connection_8h.html
+++ b/docs/module-doc/connection_8h.html
@@ -191,7 +191,7 @@ Definition at line <a class="el" href="connection_8h-source.html#l00039">39</a>
Definition at line <a class="el" href="connection_8h-source.html#l00036">36</a> of file <a class="el" href="connection_8h-source.html">connection.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/ctables_8h-source.html b/docs/module-doc/ctables_8h-source.html
index 194a347e3..4fdac2e1c 100644
--- a/docs/module-doc/ctables_8h-source.html
+++ b/docs/module-doc/ctables_8h-source.html
@@ -41,7 +41,7 @@
00048
00049 <span class="preprocessor">#endif</span>
00050 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/ctables_8h.html b/docs/module-doc/ctables_8h.html
index 17edc9eed..cfbcba959 100644
--- a/docs/module-doc/ctables_8h.html
+++ b/docs/module-doc/ctables_8h.html
@@ -17,7 +17,7 @@
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A structure that defines a command. </em> <a href="classcommand__t.html#_details">More...</a><em><br><br></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/dns_8h-source.html b/docs/module-doc/dns_8h-source.html
new file mode 100644
index 000000000..150054e43
--- /dev/null
+++ b/docs/module-doc/dns_8h-source.html
@@ -0,0 +1,77 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: dns.h Source File</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>dns.h</h1><a href="dns_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">/*</span>
+00002 <span class="comment">dns.h - dns library declarations based on firedns Copyright (C) 2002 Ian Gulliver</span>
+00003 <span class="comment"></span>
+00004 <span class="comment">This program is free software; you can redistribute it and/or modify</span>
+00005 <span class="comment">it under the terms of version 2 of the GNU General Public License as</span>
+00006 <span class="comment">published by the Free Software Foundation.</span>
+00007 <span class="comment"></span>
+00008 <span class="comment">This program is distributed in the hope that it will be useful,</span>
+00009 <span class="comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+00010 <span class="comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
+00011 <span class="comment">GNU General Public License for more details.</span>
+00012 <span class="comment"></span>
+00013 <span class="comment">You should have received a copy of the GNU General Public License</span>
+00014 <span class="comment">along with this program; if not, write to the Free Software</span>
+00015 <span class="comment">Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
+00016 <span class="comment">*/</span>
+00017
+00018 <span class="preprocessor">#ifndef _DNS_H</span>
+00019 <span class="preprocessor"></span><span class="preprocessor">#define _DNS_H</span>
+00020 <span class="preprocessor"></span>
+00021 <span class="preprocessor">#include &lt;sys/types.h&gt;</span>
+00022 <span class="preprocessor">#include &lt;sys/socket.h&gt;</span>
+00023 <span class="preprocessor">#include &lt;netinet/in.h&gt;</span>
+00024 <span class="preprocessor">#include &lt;string&gt;</span>
+00025
+<a name="l00026"></a><a class="code" href="structdns__ip4list.html">00026</a> <span class="keyword">struct </span><a class="code" href="structdns__ip4list.html">dns_ip4list</a> {
+<a name="l00027"></a><a class="code" href="structdns__ip4list.html#o0">00027</a> in_addr <a class="code" href="structdns__ip4list.html#o0">ip</a>;
+<a name="l00028"></a><a class="code" href="structdns__ip4list.html#o1">00028</a> <a class="code" href="structdns__ip4list.html">dns_ip4list</a> *<a class="code" href="structdns__ip4list.html#o1">next</a>;
+00029 };
+00030
+00031
+<a name="l00035"></a><a class="code" href="classDNS.html">00035</a> <span class="keyword">class </span><a class="code" href="classDNS.html">DNS</a>
+00036 {
+00037 <span class="keyword">private</span>:
+<a name="l00038"></a><a class="code" href="classDNS.html#r0">00038</a> <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#r0">result</a>;
+<a name="l00039"></a><a class="code" href="classDNS.html#r1">00039</a> in_addr *<a class="code" href="classDNS.html#r1">binip</a>;
+<a name="l00040"></a><a class="code" href="classDNS.html#r2">00040</a> <span class="keywordtype">int</span> <a class="code" href="classDNS.html#r2">t</a>,<a class="code" href="classDNS.html#r3">i</a>;
+00041 <span class="keywordtype">void</span> <a class="code" href="classDNS.html#d0">dns_init</a>();
+<a name="l00042"></a><a class="code" href="classDNS.html#r4">00042</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="classDNS.html#r4">fd</a>;
+00043 <span class="keywordtype">void</span> <a class="code" href="classDNS.html#d1">dns_init_2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* dnsserver);
+00044 in_addr *<a class="code" href="classDNS.html#d2">dns_aton4</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring);
+00045 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d3">dns_ntoa4</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
+00046 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#d4">dns_getip4</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name);
+00047 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#d5">dns_getip4list</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> name);
+00048 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#d6">dns_getname4</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
+00049 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d7">dns_getresult</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd);
+00050 in_addr *<a class="code" href="classDNS.html#d8">dns_aton4_s</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring, in_addr * <span class="keyword">const</span> ip);
+00051 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d9">dns_ntoa4_s</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip, <span class="keywordtype">char</span> * <span class="keyword">const</span> result);
+00052 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d10">dns_getresult_s</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd, <span class="keywordtype">char</span> * <span class="keyword">const</span> result);
+00053 in_addr *<a class="code" href="classDNS.html#d11">dns_aton4_r</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keyword">const</span> ipstring);
+00054 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d12">dns_ntoa4_r</a>(<span class="keyword">const</span> in_addr * <span class="keyword">const</span> ip);
+00055 <span class="keywordtype">char</span> *<a class="code" href="classDNS.html#d13">dns_getresult_r</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> fd);
+00056 <span class="keyword">public</span>:
+00063 <a class="code" href="classDNS.html#a0">DNS</a>();
+00067 <a class="code" href="classDNS.html#a0">DNS</a>(std::string dnsserver);
+00070 <a class="code" href="classDNS.html#a2">~DNS</a>();
+00075 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#a3">ReverseLookup</a>(std::string ip);
+00079 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#a4">ForwardLookup</a>(std::string host);
+00083 <span class="keywordtype">bool</span> <a class="code" href="classDNS.html#a5">HasResult</a>();
+00087 std::string <a class="code" href="classDNS.html#a6">GetResult</a>();
+00091 <span class="keywordtype">int</span> <a class="code" href="classDNS.html#a7">GetFD</a>();
+00092 };
+00093
+00094 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/dns_8h.html b/docs/module-doc/dns_8h.html
new file mode 100644
index 000000000..eb3e96120
--- /dev/null
+++ b/docs/module-doc/dns_8h.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: dns.h File Reference</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>dns.h File Reference</h1><code>#include &lt;sys/types.h&gt;</code><br>
+<code>#include &lt;sys/socket.h&gt;</code><br>
+<code>#include &lt;netinet/in.h&gt;</code><br>
+<code>#include &lt;string&gt;</code><br>
+
+<p>
+<a href="dns_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Compounds</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="classDNS.html">DNS</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The DNS class allows fast nonblocking resolution of hostnames and ip addresses. </em> <a href="classDNS.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td></tr>
+
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/files.html b/docs/module-doc/files.html
index b69ab8557..85c6906fc 100644
--- a/docs/module-doc/files.html
+++ b/docs/module-doc/files.html
@@ -12,6 +12,7 @@
<tr><td class="indexkey"><a class="el" href="commands_8h.html">commands.h</a> <a href="commands_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="connection_8h.html">connection.h</a> <a href="connection_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="ctables_8h.html">ctables.h</a> <a href="ctables_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
+ <tr><td class="indexkey"><a class="el" href="dns_8h.html">dns.h</a> <a href="dns_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="message_8h.html">message.h</a> <a href="message_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="mode_8h.html">mode.h</a> <a href="mode_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="modules_8cpp.html">modules.cpp</a> <a href="modules_8cpp-source.html">[code]</a></td><td class="indexvalue"></td></tr>
@@ -22,7 +23,7 @@
<tr><td class="indexkey"><a class="el" href="users_8h.html">users.h</a> <a href="users_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="xline_8h.html">xline.h</a> <a href="xline_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:00 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/functions.html b/docs/module-doc/functions.html
index 770c9e991..af08ab6e5 100644
--- a/docs/module-doc/functions.html
+++ b/docs/module-doc/functions.html
@@ -26,7 +26,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
</h3><ul>
<li>bans
: <a class="el" href="classchanrec.html#o14">chanrec</a><li>BeginLink()
-: <a class="el" href="classconnection.html#a2">connection</a><li>Build
+: <a class="el" href="classconnection.html#a2">connection</a><li>binip
+: <a class="el" href="classDNS.html#r1">DNS</a><li>Build
: <a class="el" href="classVersion.html#o3">Version</a><li>bytes_in
: <a class="el" href="classconnection.html#o4">connection</a><li>bytes_out
: <a class="el" href="classconnection.html#o5">connection</a></ul>
@@ -63,7 +64,23 @@ Here is a list of all class members with links to the classes they belong to:<h3
<li>data
: <a class="el" href="classHostItem.html#o2">HostItem</a><li>description
: <a class="el" href="classserverrec.html#o8">serverrec</a>, <a class="el" href="classircd__connector.html#r3">ircd_connector</a><li>dhost
-: <a class="el" href="classuserrec.html#o2">userrec</a><li>DumpErrors()
+: <a class="el" href="classuserrec.html#o2">userrec</a><li>DNS()
+: <a class="el" href="classDNS.html#a1">DNS</a><li>dns_aton4()
+: <a class="el" href="classDNS.html#d2">DNS</a><li>dns_aton4_r()
+: <a class="el" href="classDNS.html#d11">DNS</a><li>dns_aton4_s()
+: <a class="el" href="classDNS.html#d8">DNS</a><li>dns_done
+: <a class="el" href="classuserrec.html#o12">userrec</a><li>dns_getip4()
+: <a class="el" href="classDNS.html#d4">DNS</a><li>dns_getip4list()
+: <a class="el" href="classDNS.html#d5">DNS</a><li>dns_getname4()
+: <a class="el" href="classDNS.html#d6">DNS</a><li>dns_getresult()
+: <a class="el" href="classDNS.html#d7">DNS</a><li>dns_getresult_r()
+: <a class="el" href="classDNS.html#d13">DNS</a><li>dns_getresult_s()
+: <a class="el" href="classDNS.html#d10">DNS</a><li>dns_init()
+: <a class="el" href="classDNS.html#d0">DNS</a><li>dns_init_2()
+: <a class="el" href="classDNS.html#d1">DNS</a><li>dns_ntoa4()
+: <a class="el" href="classDNS.html#d3">DNS</a><li>dns_ntoa4_r()
+: <a class="el" href="classDNS.html#d12">DNS</a><li>dns_ntoa4_s()
+: <a class="el" href="classDNS.html#d9">DNS</a><li>DumpErrors()
: <a class="el" href="classConfigReader.html#a9">ConfigReader</a><li>duration
: <a class="el" href="classXLine.html#o1">XLine</a></ul>
<h3><a name="index_e">- e -</a>
@@ -82,14 +99,15 @@ Here is a list of all class members with links to the classes they belong to:<h3
</h3><ul>
<li>fc
: <a class="el" href="classFileReader.html#r0">FileReader</a><li>fd
-: <a class="el" href="classconnection.html#o0">connection</a>, <a class="el" href="classircd__connector.html#r1">ircd_connector</a><li>FileReader()
+: <a class="el" href="classDNS.html#r4">DNS</a>, <a class="el" href="classconnection.html#o0">connection</a>, <a class="el" href="classircd__connector.html#r1">ircd_connector</a><li>FileReader()
: <a class="el" href="classFileReader.html#a1">FileReader</a><li>FileSize()
: <a class="el" href="classFileReader.html#a6">FileReader</a><li>FindChannel()
: <a class="el" href="classServer.html#a15">Server</a><li>FindHost()
: <a class="el" href="classconnection.html#a7">connection</a><li>FindNick()
: <a class="el" href="classServer.html#a14">Server</a><li>flags_needed
: <a class="el" href="classcommand__t.html#o2">command_t</a><li>flood
-: <a class="el" href="classuserrec.html#o9">userrec</a>, <a class="el" href="classConnectClass.html#o2">ConnectClass</a><li>fullname
+: <a class="el" href="classuserrec.html#o9">userrec</a>, <a class="el" href="classConnectClass.html#o2">ConnectClass</a><li>ForwardLookup()
+: <a class="el" href="classDNS.html#a4">DNS</a><li>fullname
: <a class="el" href="classuserrec.html#o3">userrec</a></ul>
<h3><a name="index_g">- g -</a>
</h3><ul>
@@ -99,12 +117,14 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classircd__connector.html#a8">ircd_connector</a><li>GetDescriptor()
: <a class="el" href="classircd__connector.html#a3">ircd_connector</a><li>GetError()
: <a class="el" href="classConfigReader.html#a6">ConfigReader</a><li>GetExt()
-: <a class="el" href="classExtensible.html#a2">Extensible</a><li>GetFullHost()
+: <a class="el" href="classExtensible.html#a2">Extensible</a><li>GetFD()
+: <a class="el" href="classDNS.html#a7">DNS</a><li>GetFullHost()
: <a class="el" href="classuserrec.html#a2">userrec</a><li>GetFullRealHost()
: <a class="el" href="classuserrec.html#a3">userrec</a><li>GetLine()
: <a class="el" href="classFileReader.html#a5">FileReader</a><li>GetModeParameter()
: <a class="el" href="classchanrec.html#a3">chanrec</a><li>GetNetworkName()
-: <a class="el" href="classServer.html#a19">Server</a><li>GetServerIP()
+: <a class="el" href="classServer.html#a19">Server</a><li>GetResult()
+: <a class="el" href="classDNS.html#a6">DNS</a><li>GetServerIP()
: <a class="el" href="classircd__connector.html#a7">ircd_connector</a><li>GetServerName()
: <a class="el" href="classServer.html#a18">Server</a>, <a class="el" href="classircd__connector.html#a1">ircd_connector</a><li>GetServerPort()
: <a class="el" href="classircd__connector.html#a10">ircd_connector</a><li>GetState()
@@ -116,14 +136,16 @@ Here is a list of all class members with links to the classes they belong to:<h3
<li>handler_function
: <a class="el" href="classcommand__t.html#o1">command_t</a><li>haspassed
: <a class="el" href="classconnection.html#o8">connection</a><li>HasPermission()
-: <a class="el" href="classuserrec.html#a7">userrec</a><li>hops_away
+: <a class="el" href="classuserrec.html#a7">userrec</a><li>HasResult()
+: <a class="el" href="classDNS.html#a5">DNS</a><li>hops_away
: <a class="el" href="classserverrec.html#o5">serverrec</a><li>host
: <a class="el" href="classConnectClass.html#o3">ConnectClass</a>, <a class="el" href="classconnection.html#o1">connection</a>, <a class="el" href="classircd__connector.html#o0">ircd_connector</a><li>HostItem()
: <a class="el" href="classHostItem.html#a0">HostItem</a><li>hostmask
: <a class="el" href="classGLine.html#o0">GLine</a>, <a class="el" href="classKLine.html#o0">KLine</a></ul>
<h3><a name="index_i">- i -</a>
</h3><ul>
-<li>ident
+<li>i
+: <a class="el" href="classDNS.html#r3">DNS</a><li>ident
: <a class="el" href="classuserrec.html#o1">userrec</a><li>idle_lastmsg
: <a class="el" href="classconnection.html#o14">connection</a><li>inbuf
: <a class="el" href="classconnection.html#o3">connection</a><li>internal_addr
@@ -132,7 +154,7 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classchanrec.html#o10">chanrec</a><li>invites
: <a class="el" href="classuserrec.html#r0">userrec</a><li>InviteTo()
: <a class="el" href="classuserrec.html#a5">userrec</a><li>ip
-: <a class="el" href="classconnection.html#o2">connection</a><li>ipaddr
+: <a class="el" href="structdns__ip4list.html#o0">dns_ip4list</a>, <a class="el" href="classconnection.html#o2">connection</a><li>ipaddr
: <a class="el" href="classZLine.html#o0">ZLine</a><li>is_global
: <a class="el" href="classQLine.html#o1">QLine</a>, <a class="el" href="classZLine.html#o1">ZLine</a><li>IsCustomModeSet()
: <a class="el" href="classchanrec.html#a2">chanrec</a><li>IsInvited()
@@ -178,7 +200,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classXLine.html#o4">XLine</a><li>Name
: <a class="el" href="classAdmin.html#o0">Admin</a><li>name
: <a class="el" href="classserverrec.html#o0">serverrec</a>, <a class="el" href="classchanrec.html#o0">chanrec</a><li>needsoper
-: <a class="el" href="classExtMode.html#o4">ExtMode</a><li>Nick
+: <a class="el" href="classExtMode.html#o4">ExtMode</a><li>next
+: <a class="el" href="structdns__ip4list.html#o1">dns_ip4list</a><li>Nick
: <a class="el" href="classAdmin.html#o2">Admin</a><li>nick
: <a class="el" href="classQLine.html#o0">QLine</a>, <a class="el" href="classuserrec.html#o0">userrec</a><li>nickserv
: <a class="el" href="classserverrec.html#o9">serverrec</a><li>noexternal
@@ -239,7 +262,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classconnection.html#o10">connection</a><li>registration_timeout
: <a class="el" href="classConnectClass.html#o1">ConnectClass</a><li>RemoveInvite()
: <a class="el" href="classuserrec.html#a6">userrec</a><li>result
-: <a class="el" href="classuserrec.html#o8">userrec</a><li>Revision
+: <a class="el" href="classuserrec.html#o8">userrec</a>, <a class="el" href="classDNS.html#r0">DNS</a><li>ReverseLookup()
+: <a class="el" href="classDNS.html#a3">DNS</a><li>Revision
: <a class="el" href="classVersion.html#o2">Version</a><li>routes
: <a class="el" href="classircd__connector.html#o2">ircd_connector</a></ul>
<h3><a name="index_s">- s -</a>
@@ -280,7 +304,8 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classserverrec.html#o10">serverrec</a></ul>
<h3><a name="index_t">- t -</a>
</h3><ul>
-<li>TerminateLink()
+<li>t
+: <a class="el" href="classDNS.html#r2">DNS</a><li>TerminateLink()
: <a class="el" href="classconnection.html#a4">connection</a><li>timeout
: <a class="el" href="classuserrec.html#o10">userrec</a><li>topic
: <a class="el" href="classchanrec.html#o2">chanrec</a><li>topiclock
@@ -300,15 +325,16 @@ Here is a list of all class members with links to the classes they belong to:<h3
<h3><a name="index_v">- v -</a>
</h3><ul>
<li>Verify()
-: <a class="el" href="classConfigReader.html#a8">ConfigReader</a><li>Version()
-: <a class="el" href="classVersion.html#a0">Version</a><li>version
-: <a class="el" href="classserverrec.html#o6">serverrec</a></ul>
+: <a class="el" href="classConfigReader.html#a8">ConfigReader</a><li>version
+: <a class="el" href="classserverrec.html#o6">serverrec</a><li>Version()
+: <a class="el" href="classVersion.html#a0">Version</a></ul>
<h3><a name="index_~">- ~ -</a>
</h3><ul>
<li>~chanrec()
: <a class="el" href="classchanrec.html#a5">chanrec</a><li>~classbase()
: <a class="el" href="classclassbase.html#a1">classbase</a><li>~ConfigReader()
-: <a class="el" href="classConfigReader.html#a2">ConfigReader</a><li>~FileReader()
+: <a class="el" href="classConfigReader.html#a2">ConfigReader</a><li>~DNS()
+: <a class="el" href="classDNS.html#a2">DNS</a><li>~FileReader()
: <a class="el" href="classFileReader.html#a2">FileReader</a><li>~HostItem()
: <a class="el" href="classHostItem.html#a1">HostItem</a><li>~Module()
: <a class="el" href="classModule.html#a1">Module</a><li>~ModuleFactory()
@@ -317,7 +343,7 @@ Here is a list of all class members with links to the classes they belong to:<h3
: <a class="el" href="classserverrec.html#a2">serverrec</a><li>~ucrec()
: <a class="el" href="classucrec.html#a1">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#a1">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/functions_func.html b/docs/module-doc/functions_func.html
index bf68a482e..1343a592d 100644
--- a/docs/module-doc/functions_func.html
+++ b/docs/module-doc/functions_func.html
@@ -43,7 +43,22 @@
: <a class="el" href="classModuleFactory.html#a2">ModuleFactory</a></ul>
<h3><a name="index_d">- d -</a>
</h3><ul>
-<li>DumpErrors()
+<li>DNS()
+: <a class="el" href="classDNS.html#a1">DNS</a><li>dns_aton4()
+: <a class="el" href="classDNS.html#d2">DNS</a><li>dns_aton4_r()
+: <a class="el" href="classDNS.html#d11">DNS</a><li>dns_aton4_s()
+: <a class="el" href="classDNS.html#d8">DNS</a><li>dns_getip4()
+: <a class="el" href="classDNS.html#d4">DNS</a><li>dns_getip4list()
+: <a class="el" href="classDNS.html#d5">DNS</a><li>dns_getname4()
+: <a class="el" href="classDNS.html#d6">DNS</a><li>dns_getresult()
+: <a class="el" href="classDNS.html#d7">DNS</a><li>dns_getresult_r()
+: <a class="el" href="classDNS.html#d13">DNS</a><li>dns_getresult_s()
+: <a class="el" href="classDNS.html#d10">DNS</a><li>dns_init()
+: <a class="el" href="classDNS.html#d0">DNS</a><li>dns_init_2()
+: <a class="el" href="classDNS.html#d1">DNS</a><li>dns_ntoa4()
+: <a class="el" href="classDNS.html#d3">DNS</a><li>dns_ntoa4_r()
+: <a class="el" href="classDNS.html#d12">DNS</a><li>dns_ntoa4_s()
+: <a class="el" href="classDNS.html#d9">DNS</a><li>DumpErrors()
: <a class="el" href="classConfigReader.html#a9">ConfigReader</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
@@ -60,7 +75,8 @@
: <a class="el" href="classFileReader.html#a6">FileReader</a><li>FindChannel()
: <a class="el" href="classServer.html#a15">Server</a><li>FindHost()
: <a class="el" href="classconnection.html#a7">connection</a><li>FindNick()
-: <a class="el" href="classServer.html#a14">Server</a></ul>
+: <a class="el" href="classServer.html#a14">Server</a><li>ForwardLookup()
+: <a class="el" href="classDNS.html#a4">DNS</a></ul>
<h3><a name="index_g">- g -</a>
</h3><ul>
<li>GenKey()
@@ -69,12 +85,14 @@
: <a class="el" href="classircd__connector.html#a8">ircd_connector</a><li>GetDescriptor()
: <a class="el" href="classircd__connector.html#a3">ircd_connector</a><li>GetError()
: <a class="el" href="classConfigReader.html#a6">ConfigReader</a><li>GetExt()
-: <a class="el" href="classExtensible.html#a2">Extensible</a><li>GetFullHost()
+: <a class="el" href="classExtensible.html#a2">Extensible</a><li>GetFD()
+: <a class="el" href="classDNS.html#a7">DNS</a><li>GetFullHost()
: <a class="el" href="classuserrec.html#a2">userrec</a><li>GetFullRealHost()
: <a class="el" href="classuserrec.html#a3">userrec</a><li>GetLine()
: <a class="el" href="classFileReader.html#a5">FileReader</a><li>GetModeParameter()
: <a class="el" href="classchanrec.html#a3">chanrec</a><li>GetNetworkName()
-: <a class="el" href="classServer.html#a19">Server</a><li>GetServerIP()
+: <a class="el" href="classServer.html#a19">Server</a><li>GetResult()
+: <a class="el" href="classDNS.html#a6">DNS</a><li>GetServerIP()
: <a class="el" href="classircd__connector.html#a7">ircd_connector</a><li>GetServerName()
: <a class="el" href="classServer.html#a18">Server</a>, <a class="el" href="classircd__connector.html#a1">ircd_connector</a><li>GetServerPort()
: <a class="el" href="classircd__connector.html#a10">ircd_connector</a><li>GetState()
@@ -84,7 +102,8 @@
<h3><a name="index_h">- h -</a>
</h3><ul>
<li>HasPermission()
-: <a class="el" href="classuserrec.html#a7">userrec</a><li>HostItem()
+: <a class="el" href="classuserrec.html#a7">userrec</a><li>HasResult()
+: <a class="el" href="classDNS.html#a5">DNS</a><li>HostItem()
: <a class="el" href="classHostItem.html#a0">HostItem</a></ul>
<h3><a name="index_i">- i -</a>
</h3><ul>
@@ -154,7 +173,8 @@
: <a class="el" href="classConfigReader.html#a5">ConfigReader</a><li>ReadValue()
: <a class="el" href="classConfigReader.html#a3">ConfigReader</a><li>RecvPacket()
: <a class="el" href="classconnection.html#a6">connection</a><li>RemoveInvite()
-: <a class="el" href="classuserrec.html#a6">userrec</a></ul>
+: <a class="el" href="classuserrec.html#a6">userrec</a><li>ReverseLookup()
+: <a class="el" href="classDNS.html#a3">DNS</a></ul>
<h3><a name="index_s">- s -</a>
</h3><ul>
<li>Send()
@@ -200,7 +220,8 @@
<li>~chanrec()
: <a class="el" href="classchanrec.html#a5">chanrec</a><li>~classbase()
: <a class="el" href="classclassbase.html#a1">classbase</a><li>~ConfigReader()
-: <a class="el" href="classConfigReader.html#a2">ConfigReader</a><li>~FileReader()
+: <a class="el" href="classConfigReader.html#a2">ConfigReader</a><li>~DNS()
+: <a class="el" href="classDNS.html#a2">DNS</a><li>~FileReader()
: <a class="el" href="classFileReader.html#a2">FileReader</a><li>~HostItem()
: <a class="el" href="classHostItem.html#a1">HostItem</a><li>~Module()
: <a class="el" href="classModule.html#a1">Module</a><li>~ModuleFactory()
@@ -209,7 +230,7 @@
: <a class="el" href="classserverrec.html#a2">serverrec</a><li>~ucrec()
: <a class="el" href="classucrec.html#a1">ucrec</a><li>~userrec()
: <a class="el" href="classuserrec.html#a1">userrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/functions_vars.html b/docs/module-doc/functions_vars.html
index a0ce38b35..d0a4959ae 100644
--- a/docs/module-doc/functions_vars.html
+++ b/docs/module-doc/functions_vars.html
@@ -20,7 +20,8 @@
<h3><a name="index_b">- b -</a>
</h3><ul>
<li>bans
-: <a class="el" href="classchanrec.html#o14">chanrec</a><li>Build
+: <a class="el" href="classchanrec.html#o14">chanrec</a><li>binip
+: <a class="el" href="classDNS.html#r1">DNS</a><li>Build
: <a class="el" href="classVersion.html#o3">Version</a><li>bytes_in
: <a class="el" href="classconnection.html#o4">connection</a><li>bytes_out
: <a class="el" href="classconnection.html#o5">connection</a></ul>
@@ -42,7 +43,8 @@
<li>data
: <a class="el" href="classHostItem.html#o2">HostItem</a><li>description
: <a class="el" href="classserverrec.html#o8">serverrec</a>, <a class="el" href="classircd__connector.html#r3">ircd_connector</a><li>dhost
-: <a class="el" href="classuserrec.html#o2">userrec</a><li>duration
+: <a class="el" href="classuserrec.html#o2">userrec</a><li>dns_done
+: <a class="el" href="classuserrec.html#o12">userrec</a><li>duration
: <a class="el" href="classXLine.html#o1">XLine</a></ul>
<h3><a name="index_e">- e -</a>
</h3><ul>
@@ -55,7 +57,7 @@
</h3><ul>
<li>fc
: <a class="el" href="classFileReader.html#r0">FileReader</a><li>fd
-: <a class="el" href="classconnection.html#o0">connection</a>, <a class="el" href="classircd__connector.html#r1">ircd_connector</a><li>flags_needed
+: <a class="el" href="classDNS.html#r4">DNS</a>, <a class="el" href="classconnection.html#o0">connection</a>, <a class="el" href="classircd__connector.html#r1">ircd_connector</a><li>flags_needed
: <a class="el" href="classcommand__t.html#o2">command_t</a><li>flood
: <a class="el" href="classuserrec.html#o9">userrec</a>, <a class="el" href="classConnectClass.html#o2">ConnectClass</a><li>fullname
: <a class="el" href="classuserrec.html#o3">userrec</a></ul>
@@ -69,7 +71,8 @@
: <a class="el" href="classGLine.html#o0">GLine</a>, <a class="el" href="classKLine.html#o0">KLine</a></ul>
<h3><a name="index_i">- i -</a>
</h3><ul>
-<li>ident
+<li>i
+: <a class="el" href="classDNS.html#r3">DNS</a><li>ident
: <a class="el" href="classuserrec.html#o1">userrec</a><li>idle_lastmsg
: <a class="el" href="classconnection.html#o14">connection</a><li>inbuf
: <a class="el" href="classconnection.html#o3">connection</a><li>internal_addr
@@ -77,7 +80,7 @@
: <a class="el" href="classconnection.html#o17">connection</a><li>inviteonly
: <a class="el" href="classchanrec.html#o10">chanrec</a><li>invites
: <a class="el" href="classuserrec.html#r0">userrec</a><li>ip
-: <a class="el" href="classconnection.html#o2">connection</a><li>ipaddr
+: <a class="el" href="structdns__ip4list.html#o0">dns_ip4list</a>, <a class="el" href="classconnection.html#o2">connection</a><li>ipaddr
: <a class="el" href="classZLine.html#o0">ZLine</a><li>is_global
: <a class="el" href="classQLine.html#o1">QLine</a>, <a class="el" href="classZLine.html#o1">ZLine</a></ul>
<h3><a name="index_j">- j -</a>
@@ -110,7 +113,8 @@
: <a class="el" href="classXLine.html#o4">XLine</a><li>Name
: <a class="el" href="classAdmin.html#o0">Admin</a><li>name
: <a class="el" href="classserverrec.html#o0">serverrec</a>, <a class="el" href="classchanrec.html#o0">chanrec</a><li>needsoper
-: <a class="el" href="classExtMode.html#o4">ExtMode</a><li>Nick
+: <a class="el" href="classExtMode.html#o4">ExtMode</a><li>next
+: <a class="el" href="structdns__ip4list.html#o1">dns_ip4list</a><li>Nick
: <a class="el" href="classAdmin.html#o2">Admin</a><li>nick
: <a class="el" href="classQLine.html#o0">QLine</a>, <a class="el" href="classuserrec.html#o0">userrec</a><li>nickserv
: <a class="el" href="classserverrec.html#o9">serverrec</a><li>noexternal
@@ -137,7 +141,7 @@
: <a class="el" href="classXLine.html#o3">XLine</a><li>registered
: <a class="el" href="classconnection.html#o10">connection</a><li>registration_timeout
: <a class="el" href="classConnectClass.html#o1">ConnectClass</a><li>result
-: <a class="el" href="classuserrec.html#o8">userrec</a><li>Revision
+: <a class="el" href="classuserrec.html#o8">userrec</a>, <a class="el" href="classDNS.html#r0">DNS</a><li>Revision
: <a class="el" href="classVersion.html#o2">Version</a><li>routes
: <a class="el" href="classircd__connector.html#o2">ircd_connector</a></ul>
<h3><a name="index_s">- s -</a>
@@ -155,7 +159,8 @@
: <a class="el" href="classserverrec.html#o10">serverrec</a></ul>
<h3><a name="index_t">- t -</a>
</h3><ul>
-<li>timeout
+<li>t
+: <a class="el" href="classDNS.html#r2">DNS</a><li>timeout
: <a class="el" href="classuserrec.html#o10">userrec</a><li>topic
: <a class="el" href="classchanrec.html#o2">chanrec</a><li>topiclock
: <a class="el" href="classchanrec.html#o8">chanrec</a><li>topicset
@@ -173,7 +178,7 @@
</h3><ul>
<li>version
: <a class="el" href="classserverrec.html#o6">serverrec</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/globals.html b/docs/module-doc/globals.html
index 8b5aec650..dcdc4f88a 100644
--- a/docs/module-doc/globals.html
+++ b/docs/module-doc/globals.html
@@ -320,7 +320,7 @@ Here is a list of all file members with links to the files they belong to:<h3><a
<li>zline_make_global()
: <a class="el" href="xline_8h.html#a22">xline.h</a><li>zline_set_creation_time()
: <a class="el" href="xline_8h.html#a21">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/globals_defs.html b/docs/module-doc/globals_defs.html
index 6a1565b79..3e5ca617c 100644
--- a/docs/module-doc/globals_defs.html
+++ b/docs/module-doc/globals_defs.html
@@ -87,7 +87,7 @@
</h3><ul>
<li>VERBOSE
: <a class="el" href="modules_8h.html#a1">modules.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/globals_func.html b/docs/module-doc/globals_func.html
index c4b98b168..73514aae8 100644
--- a/docs/module-doc/globals_func.html
+++ b/docs/module-doc/globals_func.html
@@ -203,7 +203,7 @@
<li>zline_make_global()
: <a class="el" href="xline_8h.html#a22">xline.h</a><li>zline_set_creation_time()
: <a class="el" href="xline_8h.html#a21">xline.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/globals_type.html b/docs/module-doc/globals_type.html
index ec9c4ce13..60912caf5 100644
--- a/docs/module-doc/globals_type.html
+++ b/docs/module-doc/globals_type.html
@@ -26,7 +26,7 @@
: <a class="el" href="modules_8h.html#a27">modules.h</a><li>user_hash
: <a class="el" href="modules_8cpp.html#a37">modules.cpp</a><li>VoidPointer
: <a class="el" href="base_8h.html#a0">base.h</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/globals_vars.html b/docs/module-doc/globals_vars.html
index cedf26b75..47abb81ca 100644
--- a/docs/module-doc/globals_vars.html
+++ b/docs/module-doc/globals_vars.html
@@ -101,7 +101,7 @@
: <a class="el" href="modules_8cpp.html#a43">modules.cpp</a><li>WHOWAS_MAX
: <a class="el" href="modules_8cpp.html#a20">modules.cpp</a>, <a class="el" href="channels_8cpp.html#a20">channels.cpp</a><li>WHOWAS_STALE
: <a class="el" href="modules_8cpp.html#a19">modules.cpp</a>, <a class="el" href="channels_8cpp.html#a19">channels.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/hierarchy.html b/docs/module-doc/hierarchy.html
index 4dd573d83..0fa7d730b 100644
--- a/docs/module-doc/hierarchy.html
+++ b/docs/module-doc/hierarchy.html
@@ -46,12 +46,14 @@
<li><a class="el" href="classZLine.html">ZLine</a>
</ul>
</ul>
+<li><a class="el" href="classDNS.html">DNS</a>
+<li><a class="el" href="structdns__ip4list.html">dns_ip4list</a>
<li><a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a>
<li><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a>
<li><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a>
<li><a class="el" href="structStrHashComp.html">StrHashComp</a>
</ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/main.html b/docs/module-doc/main.html
index 2b0767bc6..eb5d41b9d 100644
--- a/docs/module-doc/main.html
+++ b/docs/module-doc/main.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindexHL" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>InspIRCd Documentation</h1>
<p>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:23 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:00 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/message_8h-source.html b/docs/module-doc/message_8h-source.html
index 428089429..84d328fee 100644
--- a/docs/module-doc/message_8h-source.html
+++ b/docs/module-doc/message_8h-source.html
@@ -57,7 +57,7 @@
00050 <span class="keywordtype">void</span> <a class="code" href="message_8h.html#a19">send_network_quit</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* nick, <span class="keyword">const</span> <span class="keywordtype">char</span>* reason);
00051
00052 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/message_8h.html b/docs/module-doc/message_8h.html
index bd8546e2b..a33dee092 100644
--- a/docs/module-doc/message_8h.html
+++ b/docs/module-doc/message_8h.html
@@ -735,7 +735,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00396">Server::QuitU
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/mode_8h-source.html b/docs/module-doc/mode_8h-source.html
index 197115a66..67a5190f5 100644
--- a/docs/module-doc/mode_8h-source.html
+++ b/docs/module-doc/mode_8h-source.html
@@ -53,7 +53,7 @@
00046
00047
00048 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:24 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/mode_8h.html b/docs/module-doc/mode_8h.html
index 526912537..96fdf232e 100644
--- a/docs/module-doc/mode_8h.html
+++ b/docs/module-doc/mode_8h.html
@@ -788,7 +788,7 @@
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:27 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/modules_8cpp-source.html b/docs/module-doc/modules_8cpp-source.html
index 27f88fd1a..a2703b95e 100644
--- a/docs/module-doc/modules_8cpp-source.html
+++ b/docs/module-doc/modules_8cpp-source.html
@@ -780,7 +780,7 @@
<a name="l00773"></a><a class="code" href="modules_8cpp.html#a1">00773</a> <span class="keywordtype">int</span> <a class="code" href="modules_8cpp.html#a1">MODCOUNT</a> = -1;
00774
00775
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/modules_8cpp.html b/docs/module-doc/modules_8cpp.html
index de3bd38eb..6ebc61ef2 100644
--- a/docs/module-doc/modules_8cpp.html
+++ b/docs/module-doc/modules_8cpp.html
@@ -1868,7 +1868,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00085">85</a> o
Definition at line <a class="el" href="modules_8cpp-source.html#l00084">84</a> of file <a class="el" href="modules_8cpp-source.html">modules.cpp</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/modules_8h-source.html b/docs/module-doc/modules_8h-source.html
index 85ac91a38..bf7b33764 100644
--- a/docs/module-doc/modules_8h-source.html
+++ b/docs/module-doc/modules_8h-source.html
@@ -291,7 +291,7 @@
<a name="l00826"></a><a class="code" href="modules_8h.html#a29">00826</a> <span class="keyword">typedef</span> DLLFactory&lt;ModuleFactory&gt; <a class="code" href="modules_8h.html#a29">ircd_module</a>;
00827
00828 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/modules_8h.html b/docs/module-doc/modules_8h.html
index e6666c08a..97ae37e03 100644
--- a/docs/module-doc/modules_8h.html
+++ b/docs/module-doc/modules_8h.html
@@ -525,7 +525,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00620">ConfigReader:
<p>
Definition at line <a class="el" href="modules_8h-source.html#l00023">23</a> of file <a class="el" href="modules_8h-source.html">modules.h</a>.
<p>
-Referenced by <a class="el" href="modules_8cpp-source.html#l00542">Server::AddExtendedMode()</a>, <a class="el" href="users_8cpp-source.html#l00111">userrec::HasPermission()</a>, <a class="el" href="channels_8cpp-source.html#l00179">chanrec::IsCustomModeSet()</a>, <a class="el" href="modules_8cpp-source.html#l00207">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00233">ModeDefinedOper()</a>, <a class="el" href="modules_8cpp-source.html#l00220">ModeIsListMode()</a>, <a class="el" href="users_8cpp-source.html#l00089">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00123">chanrec::SetCustomMode()</a>, and <a class="el" href="channels_8cpp-source.html#l00148">chanrec::SetCustomModeParam()</a>. </td>
+Referenced by <a class="el" href="modules_8cpp-source.html#l00542">Server::AddExtendedMode()</a>, <a class="el" href="users_8cpp-source.html#l00112">userrec::HasPermission()</a>, <a class="el" href="channels_8cpp-source.html#l00179">chanrec::IsCustomModeSet()</a>, <a class="el" href="modules_8cpp-source.html#l00207">ModeDefined()</a>, <a class="el" href="modules_8cpp-source.html#l00233">ModeDefinedOper()</a>, <a class="el" href="modules_8cpp-source.html#l00220">ModeIsListMode()</a>, <a class="el" href="users_8cpp-source.html#l00090">userrec::RemoveInvite()</a>, <a class="el" href="channels_8cpp-source.html#l00123">chanrec::SetCustomMode()</a>, and <a class="el" href="channels_8cpp-source.html#l00148">chanrec::SetCustomModeParam()</a>. </td>
</tr>
</table>
<a name="a2" doxytag="modules.h::DEFAULT"></a><p>
@@ -970,7 +970,7 @@ Referenced by <a class="el" href="modules_8cpp-source.html#l00417">Server::AddCo
Referenced by <a class="el" href="modules_8cpp-source.html#l00422">Server::SendMode()</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/namespacenspace.html b/docs/module-doc/namespacenspace.html
index f5af56296..014ca9eec 100644
--- a/docs/module-doc/namespacenspace.html
+++ b/docs/module-doc/namespacenspace.html
@@ -15,7 +15,7 @@
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace.hash&lt; string &gt;</a></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/namespaces.html b/docs/module-doc/namespaces.html
index 315e47302..7e85c3917 100644
--- a/docs/module-doc/namespaces.html
+++ b/docs/module-doc/namespaces.html
@@ -9,7 +9,7 @@
<tr><td class="indexkey"><a class="el" href="namespacenspace.html">nspace</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="namespacestd.html">std</a></td><td class="indexvalue"></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/namespacestd.html b/docs/module-doc/namespacestd.html
index 1dc3399d0..b46008528 100644
--- a/docs/module-doc/namespacestd.html
+++ b/docs/module-doc/namespacestd.html
@@ -10,7 +10,7 @@
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/servers_8cpp-source.html b/docs/module-doc/servers_8cpp-source.html
index 2eae27b8e..981320c6c 100644
--- a/docs/module-doc/servers_8cpp-source.html
+++ b/docs/module-doc/servers_8cpp-source.html
@@ -61,7 +61,7 @@
00054 strlcpy(<a class="code" href="classserverrec.html#o9">nickserv</a>,<span class="stringliteral">""</span>,NICKMAX);
00055 }
00056
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/servers_8cpp.html b/docs/module-doc/servers_8cpp.html
index 28c74e4c3..57a0d2aa3 100644
--- a/docs/module-doc/servers_8cpp.html
+++ b/docs/module-doc/servers_8cpp.html
@@ -16,7 +16,7 @@
<a href="servers_8cpp-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/servers_8h-source.html b/docs/module-doc/servers_8h-source.html
index 4234ca289..0f62a5074 100644
--- a/docs/module-doc/servers_8h-source.html
+++ b/docs/module-doc/servers_8h-source.html
@@ -61,7 +61,7 @@
00082
00083 <span class="preprocessor">#endif</span>
00084 <span class="preprocessor"></span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:25 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/servers_8h.html b/docs/module-doc/servers_8h.html
index dd5dcfe15..58bce0381 100644
--- a/docs/module-doc/servers_8h.html
+++ b/docs/module-doc/servers_8h.html
@@ -72,7 +72,7 @@ Definition at line <a class="el" href="servers_8h-source.html#l00025">25</a> of
Definition at line <a class="el" href="servers_8h-source.html#l00026">26</a> of file <a class="el" href="servers_8h-source.html">servers.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structInAddr__HashComp-members.html b/docs/module-doc/structInAddr__HashComp-members.html
index 9997efece..4c06ed1f0 100644
--- a/docs/module-doc/structInAddr__HashComp-members.html
+++ b/docs/module-doc/structInAddr__HashComp-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>InAddr_HashComp Member List</h1>This is the complete list of members for <a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="structInAddr__HashComp.html#a0">operator()</a>(const in_addr &amp;s1, const in_addr &amp;s2) const</td><td><a class="el" href="structInAddr__HashComp.html">InAddr_HashComp</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structInAddr__HashComp.html b/docs/module-doc/structInAddr__HashComp.html
index cd9714be9..01f69360b 100644
--- a/docs/module-doc/structInAddr__HashComp.html
+++ b/docs/module-doc/structInAddr__HashComp.html
@@ -65,7 +65,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00157">157</a>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:32 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structStrHashComp-members.html b/docs/module-doc/structStrHashComp-members.html
index 2176a9f48..b3cda59e4 100644
--- a/docs/module-doc/structStrHashComp-members.html
+++ b/docs/module-doc/structStrHashComp-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>StrHashComp Member List</h1>This is the complete list of members for <a class="el" href="structStrHashComp.html">StrHashComp</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="structStrHashComp.html#a0">operator()</a>(const string &amp;s1, const string &amp;s2) const</td><td><a class="el" href="structStrHashComp.html">StrHashComp</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structStrHashComp.html b/docs/module-doc/structStrHashComp.html
index b7ed816cd..a62da9a43 100644
--- a/docs/module-doc/structStrHashComp.html
+++ b/docs/module-doc/structStrHashComp.html
@@ -62,7 +62,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00144">144</a>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:37 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:07 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structdns__ip4list-members.html b/docs/module-doc/structdns__ip4list-members.html
new file mode 100644
index 000000000..f8be24ed2
--- /dev/null
+++ b/docs/module-doc/structdns__ip4list-members.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: Member List</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>dns_ip4list Member List</h1>This is the complete list of members for <a class="el" href="structdns__ip4list.html">dns_ip4list</a>, including all inherited members.<table>
+ <tr class="memlist"><td><a class="el" href="structdns__ip4list.html#o0">ip</a></td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td></td></tr>
+ <tr class="memlist"><td><a class="el" href="structdns__ip4list.html#o1">next</a></td><td><a class="el" href="structdns__ip4list.html">dns_ip4list</a></td><td></td></tr>
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/structdns__ip4list.html b/docs/module-doc/structdns__ip4list.html
new file mode 100644
index 000000000..ff5618eed
--- /dev/null
+++ b/docs/module-doc/structdns__ip4list.html
@@ -0,0 +1,74 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>InspIRCd: dns_ip4list struct Reference</title>
+<link href="inspircd.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.3 -->
+<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
+<h1>dns_ip4list Struct Reference</h1><code>#include &lt;<a class="el" href="dns_8h-source.html">dns.h</a>&gt;</code>
+<p>
+<a href="structdns__ip4list-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>in_addr&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structdns__ip4list.html#o0">ip</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="structdns__ip4list.html">dns_ip4list</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structdns__ip4list.html#o1">next</a></td></tr>
+
+</table>
+<hr><h2>Member Data Documentation</h2>
+<a name="o0" doxytag="dns_ip4list::ip"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> in_addr <a class="el" href="structdns__ip4list.html#o0">dns_ip4list::ip</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00027">27</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<a name="o1" doxytag="dns_ip4list::next"></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="structdns__ip4list.html">dns_ip4list</a>* <a class="el" href="structdns__ip4list.html#o1">dns_ip4list::next</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="dns_8h-source.html#l00028">28</a> of file <a class="el" href="dns_8h-source.html">dns.h</a>. </td>
+ </tr>
+</table>
+<hr>The documentation for this struct was generated from the following file:<ul>
+<li><a class="el" href="dns_8h-source.html">dns.h</a></ul>
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:05 2005 for InspIRCd by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.3 </small></address>
+</body>
+</html>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html
index 8f62c68d9..b07a9b88f 100644
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html
+++ b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>nspace::hash&lt; in_addr &gt; Member List</h1>This is the complete list of members for <a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html#a0">operator()</a>(const struct in_addr &amp;a) const</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html">nspace::hash&lt; in_addr &gt;</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html
index cfa818e8b..7be1fb4b0 100644
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html
+++ b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html
@@ -55,7 +55,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00117">117</a>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html
index 3d22fbafa..4e32e0f61 100644
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html
+++ b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4-members.html
@@ -7,7 +7,7 @@
<div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Compound&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Compound&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>nspace::hash&lt; string &gt; Member List</h1>This is the complete list of members for <a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html#a0">operator()</a>(const string &amp;s) const</td><td><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html">nspace::hash&lt; string &gt;</a></td><td><code> [inline]</code></td></tr>
-</table><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+</table><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html
index 26f2949e7..09bfece49 100644
--- a/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html
+++ b/docs/module-doc/structnspace_1_1nspace_1_1hash_3_01string_01_4.html
@@ -57,7 +57,7 @@ Definition at line <a class="el" href="modules_8cpp-source.html#l00130">130</a>
</table>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="modules_8cpp-source.html">modules.cpp</a></ul>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:38 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:08 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/tree.html b/docs/module-doc/tree.html
index ed5969e5b..f9a0859d1 100644
--- a/docs/module-doc/tree.html
+++ b/docs/module-doc/tree.html
@@ -119,6 +119,7 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="commands_8h.html" target="basefrm">commands.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="connection_8h.html" target="basefrm">connection.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="ctables_8h.html" target="basefrm">ctables.h</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="dns_8h.html" target="basefrm">dns.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="message_8h.html" target="basefrm">message.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="mode_8h.html" target="basefrm">mode.h</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="modules_8cpp.html" target="basefrm">modules.cpp</a></p>
@@ -139,6 +140,8 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classConfigReader.html" target="basefrm">ConfigReader</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classConnectClass.html" target="basefrm">ConnectClass</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classconnection.html" target="basefrm">connection</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classDNS.html" target="basefrm">DNS</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structdns__ip4list.html" target="basefrm">dns_ip4list</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classExemptItem.html" target="basefrm">ExemptItem</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classExtensible.html" target="basefrm">Extensible</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classExtMode.html" target="basefrm">ExtMode</a></p>
@@ -208,6 +211,8 @@
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2blank.png" alt="&nbsp;" width=16 height=22 /><img src="ftv2lastnode.png" alt="\" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classZLine.html" target="basefrm">ZLine</a></p>
</div>
</div>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="classDNS.html" target="basefrm">DNS</a></p>
+ <p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structdns__ip4list.html" target="basefrm">dns_ip4list</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structInAddr__HashComp.html" target="basefrm">InAddr_HashComp</a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structnspace_1_1nspace_1_1hash_3_01in__addr_01_4.html" target="basefrm">nspace::hash< in_addr ></a></p>
<p><img src="ftv2vertline.png" alt="|" width=16 height=22 /><img src="ftv2node.png" alt="o" width=16 height=22 /><img src="ftv2doc.png" alt="*" width=24 height=22 /><a class="el" href="structnspace_1_1nspace_1_1hash_3_01string_01_4.html" target="basefrm">nspace::hash< string ></a></p>
diff --git a/docs/module-doc/users_8cpp-source.html b/docs/module-doc/users_8cpp-source.html
index 8fdd3a919..9fdea3e20 100644
--- a/docs/module-doc/users_8cpp-source.html
+++ b/docs/module-doc/users_8cpp-source.html
@@ -48,127 +48,128 @@
00041 <a class="code" href="classconnection.html#o0">fd</a> = <a class="code" href="classconnection.html#o12">lastping</a> = <a class="code" href="classconnection.html#o13">signon</a> = <a class="code" href="classconnection.html#o14">idle_lastmsg</a> = <a class="code" href="classconnection.html#o15">nping</a> = <a class="code" href="classconnection.html#o10">registered</a> = 0;
00042 <a class="code" href="classuserrec.html#o9">flood</a> = <a class="code" href="classconnection.html#o9">port</a> = <a class="code" href="classconnection.html#o4">bytes_in</a> = <a class="code" href="classconnection.html#o5">bytes_out</a> = <a class="code" href="classconnection.html#o6">cmds_in</a> = <a class="code" href="classconnection.html#o7">cmds_out</a> = 0;
00043 <a class="code" href="classconnection.html#o8">haspassed</a> = <span class="keyword">false</span>;
-00044 strcpy(<a class="code" href="classuserrec.html#o8">result</a>,<span class="stringliteral">""</span>);
-00045 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
-00046 {
-00047 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
-00048 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
-00049 }
-00050 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
-00051 }
-00052
+00044 <a class="code" href="classuserrec.html#o12">dns_done</a> = <span class="keyword">false</span>;
+00045 strcpy(<a class="code" href="classuserrec.html#o8">result</a>,<span class="stringliteral">""</span>);
+00046 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; MAXCHANS; i++)
+00047 {
+00048 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o1">channel</a> = NULL;
+00049 this-&gt;<a class="code" href="classuserrec.html#o5">chans</a>[i].<a class="code" href="classucrec.html#o0">uc_modes</a> = 0;
+00050 }
+00051 <a class="code" href="classuserrec.html#r0">invites</a>.clear();
+00052 }
00053
-00054
-<a name="l00055"></a><a class="code" href="classuserrec.html#a2">00055</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">userrec::GetFullHost</a>()
-00056 {
-00057 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classuserrec.html#o2">dhost</a>);
-00058 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
-00059 }
-00060
+00054
+00055
+<a name="l00056"></a><a class="code" href="classuserrec.html#a2">00056</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">userrec::GetFullHost</a>()
+00057 {
+00058 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classuserrec.html#o2">dhost</a>);
+00059 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
+00060 }
00061
-<a name="l00062"></a><a class="code" href="classuserrec.html#a3">00062</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">userrec::GetFullRealHost</a>()
-00063 {
-00064 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classconnection.html#o1">host</a>);
-00065 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
-00066 }
-00067
-<a name="l00068"></a><a class="code" href="classuserrec.html#a4">00068</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">userrec::IsInvited</a>(<span class="keywordtype">char</span>* channel)
-00069 {
-00070 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
-00071 {
-00072 <span class="keywordflow">if</span> (i-&gt;channel) {
-00073 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
-00074 {
-00075 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00076 }
-00077 }
-00078 }
-00079 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00080 }
-00081
-<a name="l00082"></a><a class="code" href="classuserrec.html#a5">00082</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">userrec::InviteTo</a>(<span class="keywordtype">char</span>* channel)
-00083 {
-00084 <a class="code" href="classInvited.html">Invited</a> i;
-00085 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
-00086 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
-00087 }
-00088
-<a name="l00089"></a><a class="code" href="classuserrec.html#a6">00089</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">userrec::RemoveInvite</a>(<span class="keywordtype">char</span>* channel)
-00090 {
-00091 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Removing invites"</span>);
-00092 <span class="keywordflow">if</span> (channel)
-00093 {
-00094 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
-00095 {
-00096 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
-00097 {
-00098 <span class="keywordflow">if</span> (i-&gt;channel)
-00099 {
-00100 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
-00101 {
-00102 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
-00103 <span class="keywordflow">return</span>;
-00104 }
-00105 }
-00106 }
-00107 }
-00108 }
-00109 }
-00110
-<a name="l00111"></a><a class="code" href="classuserrec.html#a7">00111</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">userrec::HasPermission</a>(<span class="keywordtype">char</span>* command)
-00112 {
-00113 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
-00114 <span class="keywordtype">char</span>* myclass;
-00115 <span class="keywordtype">char</span>* mycmd;
-00116 <span class="keywordtype">char</span>* savept;
-00117 <span class="keywordtype">char</span>* savept2;
-00118
-00119 <span class="comment">// are they even an oper at all?</span>
-00120 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
-00121 {
-00122 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this-&gt;nick);
-00123 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>); j++)
-00124 {
-00125 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
-00126 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
-00127 {
-00128 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this-&gt;nick,this-&gt;oper);
-00129 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
-00130 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
-00131 <span class="keywordflow">while</span> (myclass)
-00132 {
-00133 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
-00134 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>); k++)
-00135 {
-00136 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
-00137 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
-00138 {
-00139 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
-00140 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
-00141
+00062
+<a name="l00063"></a><a class="code" href="classuserrec.html#a3">00063</a> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">userrec::GetFullRealHost</a>()
+00064 {
+00065 snprintf(<a class="code" href="classuserrec.html#o8">result</a>,MAXBUF,<span class="stringliteral">"%s!%s@%s"</span>,<a class="code" href="classuserrec.html#o0">nick</a>,<a class="code" href="classuserrec.html#o1">ident</a>,<a class="code" href="classconnection.html#o1">host</a>);
+00066 <span class="keywordflow">return</span> <a class="code" href="classuserrec.html#o8">result</a>;
+00067 }
+00068
+<a name="l00069"></a><a class="code" href="classuserrec.html#a4">00069</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">userrec::IsInvited</a>(<span class="keywordtype">char</span>* channel)
+00070 {
+00071 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
+00072 {
+00073 <span class="keywordflow">if</span> (i-&gt;channel) {
+00074 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
+00075 {
+00076 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00077 }
+00078 }
+00079 }
+00080 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00081 }
+00082
+<a name="l00083"></a><a class="code" href="classuserrec.html#a5">00083</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">userrec::InviteTo</a>(<span class="keywordtype">char</span>* channel)
+00084 {
+00085 <a class="code" href="classInvited.html">Invited</a> i;
+00086 strlcpy(i.<a class="code" href="classInvited.html#o0">channel</a>,channel,CHANMAX);
+00087 <a class="code" href="classuserrec.html#r0">invites</a>.push_back(i);
+00088 }
+00089
+<a name="l00090"></a><a class="code" href="classuserrec.html#a6">00090</a> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">userrec::RemoveInvite</a>(<span class="keywordtype">char</span>* channel)
+00091 {
+00092 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"Removing invites"</span>);
+00093 <span class="keywordflow">if</span> (channel)
+00094 {
+00095 <span class="keywordflow">if</span> (<a class="code" href="classuserrec.html#r0">invites</a>.size())
+00096 {
+00097 <span class="keywordflow">for</span> (InvitedList::iterator i = <a class="code" href="classuserrec.html#r0">invites</a>.begin(); i != <a class="code" href="classuserrec.html#r0">invites</a>.end(); i++)
+00098 {
+00099 <span class="keywordflow">if</span> (i-&gt;channel)
+00100 {
+00101 <span class="keywordflow">if</span> (!strcasecmp(i-&gt;channel,channel))
+00102 {
+00103 <a class="code" href="classuserrec.html#r0">invites</a>.erase(i);
+00104 <span class="keywordflow">return</span>;
+00105 }
+00106 }
+00107 }
+00108 }
+00109 }
+00110 }
+00111
+<a name="l00112"></a><a class="code" href="classuserrec.html#a7">00112</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">userrec::HasPermission</a>(<span class="keywordtype">char</span>* command)
+00113 {
+00114 <span class="keywordtype">char</span> TypeName[MAXBUF],Classes[MAXBUF],ClassName[MAXBUF],CommandList[MAXBUF];
+00115 <span class="keywordtype">char</span>* myclass;
+00116 <span class="keywordtype">char</span>* mycmd;
+00117 <span class="keywordtype">char</span>* savept;
+00118 <span class="keywordtype">char</span>* savept2;
+00119
+00120 <span class="comment">// are they even an oper at all?</span>
+00121 <span class="keywordflow">if</span> (strchr(this-&gt;modes,<span class="charliteral">'o'</span>))
+00122 {
+00123 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper"</span>,this-&gt;nick);
+00124 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j =0; j &lt; ConfValueEnum(<span class="stringliteral">"type"</span>,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>); j++)
+00125 {
+00126 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"name"</span>,j,TypeName,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
+00127 <span class="keywordflow">if</span> (!strcmp(TypeName,this-&gt;oper))
+00128 {
+00129 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: %s is an oper of type '%s'"</span>,this-&gt;nick,this-&gt;oper);
+00130 ConfValue(<span class="stringliteral">"type"</span>,<span class="stringliteral">"classes"</span>,j,Classes,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
+00131 <span class="keywordtype">char</span>* myclass = strtok_r(Classes,<span class="stringliteral">" "</span>,&amp;savept);
+00132 <span class="keywordflow">while</span> (myclass)
+00133 {
+00134 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: checking classtype '%s'"</span>,myclass);
+00135 <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k =0; k &lt; ConfValueEnum(<span class="stringliteral">"class"</span>,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>); k++)
+00136 {
+00137 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"name"</span>,k,ClassName,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
+00138 <span class="keywordflow">if</span> (!strcmp(ClassName,myclass))
+00139 {
+00140 ConfValue(<span class="stringliteral">"class"</span>,<span class="stringliteral">"commands"</span>,k,CommandList,&amp;<a class="code" href="channels_8cpp.html#a34">config_f</a>);
+00141 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** HasPermission: found class named %s with commands: '%s'"</span>,ClassName,CommandList);
00142
-00143 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
-00144 <span class="keywordflow">while</span> (mycmd)
-00145 {
-00146 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
-00147 {
-00148 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
-00149 <span class="keywordflow">return</span> <span class="keyword">true</span>;
-00150 }
-00151 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
-00152 }
-00153 }
-00154 }
-00155 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
-00156 }
-00157 }
-00158 }
-00159 }
-00160 <span class="keywordflow">return</span> <span class="keyword">false</span>;
-00161 }
-00162
+00143
+00144 mycmd = strtok_r(CommandList,<span class="stringliteral">" "</span>,&amp;savept2);
+00145 <span class="keywordflow">while</span> (mycmd)
+00146 {
+00147 <span class="keywordflow">if</span> (!strcasecmp(mycmd,command))
+00148 {
+00149 log(<a class="code" href="modules_8h.html#a0">DEBUG</a>,<span class="stringliteral">"*** Command %s found, returning true"</span>,command);
+00150 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00151 }
+00152 mycmd = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept2);
+00153 }
+00154 }
+00155 }
+00156 myclass = strtok_r(NULL,<span class="stringliteral">" "</span>,&amp;savept);
+00157 }
+00158 }
+00159 }
+00160 }
+00161 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00162 }
00163
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+00164
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/users_8cpp.html b/docs/module-doc/users_8cpp.html
index e0b58a6b3..1c2f6b03d 100644
--- a/docs/module-doc/users_8cpp.html
+++ b/docs/module-doc/users_8cpp.html
@@ -44,7 +44,7 @@
Definition at line <a class="el" href="users_8cpp-source.html#l00024">24</a> of file <a class="el" href="users_8cpp-source.html">users.cpp</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/users_8h-source.html b/docs/module-doc/users_8h-source.html
index 3eb9440b2..92d23f111 100644
--- a/docs/module-doc/users_8h-source.html
+++ b/docs/module-doc/users_8h-source.html
@@ -100,27 +100,29 @@
00150
<a name="l00156"></a><a class="code" href="classuserrec.html#o11">00156</a> <span class="keywordtype">char</span> <a class="code" href="classuserrec.html#o11">oper</a>[NICKMAX];
00157
-00158 <a class="code" href="classuserrec.html#a0">userrec</a>();
-00159
-<a name="l00160"></a><a class="code" href="classuserrec.html#a1">00160</a> <span class="keyword">virtual</span> <a class="code" href="classuserrec.html#a1">~userrec</a>() { }
-00161
-00166 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">GetFullHost</a>();
-00167
-00173 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">GetFullRealHost</a>();
-00174
-00177 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">IsInvited</a>(<span class="keywordtype">char</span>* channel);
+<a name="l00160"></a><a class="code" href="classuserrec.html#o12">00160</a> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#o12">dns_done</a>;
+00161
+00162 <a class="code" href="classuserrec.html#a0">userrec</a>();
+00163
+<a name="l00164"></a><a class="code" href="classuserrec.html#a1">00164</a> <span class="keyword">virtual</span> <a class="code" href="classuserrec.html#a1">~userrec</a>() { }
+00165
+00170 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a2">GetFullHost</a>();
+00171
+00177 <span class="keyword">virtual</span> <span class="keywordtype">char</span>* <a class="code" href="classuserrec.html#a3">GetFullRealHost</a>();
00178
-00181 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">InviteTo</a>(<span class="keywordtype">char</span>* channel);
+00181 <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a4">IsInvited</a>(<span class="keywordtype">char</span>* channel);
00182
-00187 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">RemoveInvite</a>(<span class="keywordtype">char</span>* channel);
-00188
-00193 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">HasPermission</a>(<span class="keywordtype">char</span>* command);
-00194
-00195 };
-00196
-00197
-00198 <span class="preprocessor">#endif</span>
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+00185 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a5">InviteTo</a>(<span class="keywordtype">char</span>* channel);
+00186
+00191 <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classuserrec.html#a6">RemoveInvite</a>(<span class="keywordtype">char</span>* channel);
+00192
+00197 <span class="keywordtype">bool</span> <a class="code" href="classuserrec.html#a7">HasPermission</a>(<span class="keywordtype">char</span>* command);
+00198
+00199 };
+00200
+00201
+00202 <span class="preprocessor">#endif</span>
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:01 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/users_8h.html b/docs/module-doc/users_8h.html
index 537ddee59..ca1f80611 100644
--- a/docs/module-doc/users_8h.html
+++ b/docs/module-doc/users_8h.html
@@ -243,7 +243,7 @@ Holds a complete list of all channels to which a user has been invited and has n
Definition at line <a class="el" href="users_8h-source.html#l00075">75</a> of file <a class="el" href="users_8h-source.html">users.h</a>. </td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:28 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/xline_8h-source.html b/docs/module-doc/xline_8h-source.html
index 97894e8b8..98797f21c 100644
--- a/docs/module-doc/xline_8h-source.html
+++ b/docs/module-doc/xline_8h-source.html
@@ -115,7 +115,7 @@
00146 <span class="preprocessor">#endif</span>
00147 <span class="preprocessor"></span>
00148
-</pre></div><hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:26 2005 for InspIRCd by
+</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:02 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/docs/module-doc/xline_8h.html b/docs/module-doc/xline_8h.html
index ba9c457b2..f9e922106 100644
--- a/docs/module-doc/xline_8h.html
+++ b/docs/module-doc/xline_8h.html
@@ -928,7 +928,7 @@
</td>
</tr>
</table>
-<hr size="1"><address style="align: right;"><small>Generated on Mon Mar 28 21:09:29 2005 for InspIRCd by
+<hr size="1"><address style="align: right;"><small>Generated on Sat Apr 2 19:27:03 2005 for InspIRCd by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
</a>1.3.3 </small></address>
diff --git a/include/dns.h b/include/dns.h
index 61c35b073..1b8c740ed 100644
--- a/include/dns.h
+++ b/include/dns.h
@@ -28,6 +28,10 @@ struct dns_ip4list {
dns_ip4list *next;
};
+
+/** The DNS class allows fast nonblocking resolution of hostnames
+ * and ip addresses. It is based heavily upon firedns by Ian Gulliver.
+ */
class DNS
{
private:
@@ -50,13 +54,40 @@ private:
char *dns_ntoa4_r(const in_addr * const ip);
char *dns_getresult_r(const int fd);
public:
+ /** The default constructor uses dns addresses read from /etc/resolv.conf.
+ * Please note that it will re-read /etc/resolv.conf for each copy of the
+ * class you instantiate, causing disk access and slow lookups if you create
+ * a lot of them. Consider passing the constructor a server address as a parameter
+ * instead.
+ */
DNS();
+ /** This constructor accepts a dns server address. The address must be in dotted
+ * decimal form, e.g. 1.2.3.4.
+ */
DNS(std::string dnsserver);
+ /** The destructor frees all used structures.
+ */
~DNS();
+ /** This method will start the reverse lookup of an ip given in dotted decimal
+ * format, e.g. 1.2.3.4, and returns true if the lookup was successfully
+ * initiated.
+ */
bool ReverseLookup(std::string ip);
+ /** This method will start the forward lookup of a hostname, e.g. www.inspircd.org,
+ * and returns true if the lookup was successfully initiated.
+ */
bool ForwardLookup(std::string host);
+ /** This method will return true when the lookup is completed. It uses poll internally
+ * to determine the status of the socket.
+ */
bool HasResult();
+ /** This method returns the result of your query as a string, depending upon wether you
+ * called DNS::ReverseLookup() or DNS::ForwardLookup.
+ */
std::string GetResult();
+ /** This method returns the file handle used by the dns query socket or zero if the
+ * query is invalid for some reason, e.g. the dns server not responding.
+ */
int GetFD();
};