X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fdns.h;h=b22a2032e5eedd32c797df2c928dae6b0462adc9;hb=cfac6a9562764dd1530ed39767630e26934c4685;hp=76a69b6e453043b51b25331ae0acdd392e6b6f7e;hpb=de25d946733f774e3a5b53a58438a9c92af0acbe;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/dns.h b/include/dns.h index 76a69b6e4..b22a2032e 100644 --- a/include/dns.h +++ b/include/dns.h @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2009 InspIRCd Development Team + * InspIRCd: (C) 2002-2010 InspIRCd Development Team * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see @@ -35,12 +35,10 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #include "socket.h" #include "hashcomp.h" -class Module; - /** * Result status, used internally */ -class CoreExport DNSResult : public classbase +class CoreExport DNSResult { public: /** Result ID @@ -72,7 +70,7 @@ typedef std::pair DNSInfo; /** Cached item stored in the query cache. */ -class CoreExport CachedQuery : public classbase +class CoreExport CachedQuery { public: /** The cached result data, an IP or hostname @@ -86,19 +84,12 @@ class CoreExport CachedQuery : public classbase * @param res The result data, an IP or hostname * @param ttl The time-to-live value of the query result */ - CachedQuery(const std::string &res, unsigned int ttl) : data(res) - { - expires = time(NULL) + ttl; - } + CachedQuery(const std::string &res, unsigned int ttl); /** Returns the number of seconds remaining before this * cache item has expired and should be removed. */ - int CalcTTLRemaining() - { - int n = (int)expires - (int)time(NULL); - return (n < 0 ? 0 : n); - } + int CalcTTLRemaining(); }; /** DNS cache information. Holds IPs mapped to hostnames, and hostnames mapped to IPs. @@ -106,7 +97,7 @@ class CoreExport CachedQuery : public classbase #if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED) typedef nspace::hash_map > dnscache; #else -typedef nspace::hash_map > dnscache; +typedef nspace::hash_map dnscache; #endif /** @@ -122,21 +113,6 @@ enum ResolverError RESOLVER_FORCEUNLOAD = 5 }; -/** - * A DNS request - */ -class DNSRequest; - -/** - * A DNS packet header - */ -class DNSHeader; - -/** - * A DNS Resource Record (rr) - */ -struct ResourceRecord; - /** * Query and resource record types */ @@ -181,13 +157,13 @@ enum ForceProtocol * can occur by calling virtual methods, one is a success situation, and the other * an error situation. */ -class CoreExport Resolver : public Extensible +class CoreExport Resolver { protected: /** * Pointer to creator module (if any, or NULL) */ - Module* Creator; + ModuleRef Creator; /** * The input data, either a host or an IP address */ @@ -251,7 +227,7 @@ class CoreExport Resolver : public Extensible * whilst lookups are in progress, they can be safely removed and your module will not * crash the server. */ - Resolver(const std::string &source, QueryType qt, bool &cached, Module* creator = NULL); + Resolver(const std::string &source, QueryType qt, bool &cached, Module* creator); /** * The default destructor does nothing. @@ -429,13 +405,6 @@ class CoreExport DNS : public EventHandler */ ~DNS(); - /** Portable random number generator, generates - * its random number from the ircd stats counters, - * effective user id, time of day and the rollover - * counter (currid) - */ - unsigned long PRNG(); - /** * Turn an in6_addr into a .ip6.arpa domain */