class CoreExport Resolver : public Extensible
{
protected:
- /**
- * Pointer to creator
- */
- InspIRCd* ServerInstance;
/**
* Pointer to creator module (if any, or NULL)
*/
* whilst lookups are in progress, they can be safely removed and your module will not
* crash the server.
*/
- Resolver(InspIRCd* Instance, const std::string &source, QueryType qt, bool &cached, Module* creator = NULL);
+ Resolver(const std::string &source, QueryType qt, bool &cached, Module* creator = NULL);
/**
* The default destructor does nothing.
{
private:
- /**
- * Creator/Owner object
- */
- InspIRCd* ServerInstance;
-
/**
* The maximum value of a dns request id,
* 16 bits wide, 0xFFFF.
*/
int currid;
- /**
- * We have to turn off a few checks on received packets
- * when people are using 4in6 (e.g. ::ffff:xxxx). This is
- * a temporary kludge, Please let me know if you know how
- * to fix it.
- */
- bool ip6munge;
-
/**
* Currently cached items
*/
public:
- /**
- * Server address being used currently
- */
- int socketfamily;
-
-#ifdef IPV6
- /**
- * IPV6 server address
- */
- in6_addr myserver6;
-#endif
- /**
- * IPV4 server address
- */
- in_addr myserver4;
+ irc::sockets::sockaddrs myserver;
/**
* Currently active Resolver classes
* The constructor initialises the dns socket,
* and clears the request lists.
*/
- DNS(InspIRCd* Instance);
+ DNS();
/**
* Re-initialize the DNS subsystem.