summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/dns.h29
-rw-r--r--include/inspircd.h8
-rw-r--r--include/socket.h43
-rw-r--r--src/dns.cpp48
-rw-r--r--src/inspircd.cpp3
-rw-r--r--src/socket.cpp12
6 files changed, 3 insertions, 140 deletions
diff --git a/include/dns.h b/include/dns.h
index fa4295296..3682bbe1d 100644
--- a/include/dns.h
+++ b/include/dns.h
@@ -159,12 +159,6 @@ enum QueryType
DNS_QUERY_PTR6 = 0xFFFE
};
-#ifdef IPV6
-const QueryType DNS_QUERY_FORWARD = DNS_QUERY_AAAA;
-#else
-const QueryType DNS_QUERY_FORWARD = DNS_QUERY_A;
-#endif
-const QueryType DNS_QUERY_REVERSE = DNS_QUERY_PTR;
/**
* Used internally to force PTR lookups to use a certain protocol scemantics,
* e.g. x.x.x.x.in-addr.arpa for v4, and *.ip6.arpa for v6.
@@ -237,21 +231,12 @@ class CoreExport Resolver : public Extensible
* the object to go 'out of scope' and cause a segfault in the core if the result
* arrives at a later time.
* @param source The IP or hostname to resolve
- * @param qt The query type to perform. If you just want to perform a forward
- * or reverse lookup, and you don't care wether you get ipv4 or ipv6, then use
- * the constants DNS_QUERY_FORWARD and DNS_QUERY_REVERSE, which automatically
- * select from 'A' record or 'AAAA' record lookups. However, if you want to resolve
- * a specific record type, resolution of 'A', 'AAAA', 'PTR' and 'CNAME' records
+ * @param qt The query type to perform. Resolution of 'A', 'AAAA', 'PTR' and 'CNAME' records
* is supported. Use one of the QueryType enum values to initiate this type of
* lookup. Resolution of 'AAAA' ipv6 records is always supported, regardless of
* wether InspIRCd is built with ipv6 support.
- * If you attempt to resolve a 'PTR' record using DNS_QUERY_PTR, and InspIRCd is
- * built with ipv6 support, the 'PTR' record will be formatted to ipv6 specs,
- * e.g. x.x.x.x.x....ip6.arpa. otherwise it will be formatted to ipv4 specs,
- * e.g. x.x.x.x.in-addr.arpa. This translation is automatic.
- * To get around this automatic behaviour, you must use one of the values
- * DNS_QUERY_PTR4 or DNS_QUERY_PTR6 to force ipv4 or ipv6 behaviour on the lookup,
- * irrespective of what protocol InspIRCd has been built for.
+ * To look up reverse records, specify one of DNS_QUERY_PTR4 or DNS_QUERY_PTR6 depending
+ * on the type of address you are looking up.
* @param cached The constructor will set this boolean to true or false depending
* on whether the DNS lookup you are attempting is cached (and not expired) or not.
* If the value is cached, upon return this will be set to true, otherwise it will
@@ -421,14 +406,6 @@ class CoreExport DNS : public EventHandler
int GetIP(const char* name);
/**
- * Start the lookup of a hostname from an ip,
- * always using the protocol inspircd is built for,
- * e.g. use ipv6 reverse lookup when built for ipv6,
- * or ipv4 lookup when built for ipv4.
- */
- int GetName(const irc::sockets::insp_inaddr* ip);
-
- /**
* Start lookup of a hostname from an ip, but
* force a specific protocol to be used for the lookup
* for example to perform an ipv6 reverse lookup.
diff --git a/include/inspircd.h b/include/inspircd.h
index 2609f3cc1..3a80d2c82 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -369,14 +369,6 @@ class CoreExport InspIRCd : public classbase
*/
char ReadBuffer[65535];
- /** Used when connecting clients
- */
- irc::sockets::insp_sockaddr client, server;
-
- /** Used when connecting clients
- */
- socklen_t length;
-
#ifdef WIN32
IPC* WindowsIPC;
#endif
diff --git a/include/socket.h b/include/socket.h
index 66578cca6..f7590c72d 100644
--- a/include/socket.h
+++ b/include/socket.h
@@ -52,26 +52,6 @@ namespace irc
struct sockaddr_in6 in6;
} sockaddrs;
- /* macros to the relevant system address description structs */
-#ifdef IPV6
- /** insp_sockaddr for ipv6
- */
- typedef struct sockaddr_in6 insp_sockaddr;
- /** insp_inaddr for ipv6
- */
- typedef struct in6_addr insp_inaddr;
-#define AF_FAMILY AF_INET6
-
-#else
- /** insp_sockaddr for ipv4
- */
- typedef struct sockaddr_in insp_sockaddr;
- /** insp_inaddr for ipv4
- */
- typedef struct in_addr insp_inaddr;
-#define AF_FAMILY AF_INET
-
-#endif
/** Match raw binary data using CIDR rules.
*
* This function will use binary comparison to compare the
@@ -111,29 +91,6 @@ namespace irc
*/
CoreExport bool MatchCIDR(const std::string &address, const std::string &cidr_mask, bool match_with_username);
- /** Convert an insp_inaddr into human readable form.
- *
- * @param n An insp_inaddr (IP address) structure
- * @return A human-readable address. IPV6 addresses
- * will be shortened to remove fields which are 0.
- */
- CoreExport const char* insp_ntoa(insp_inaddr n);
-
- /** Convert a human-readable address into an insp_inaddr.
- *
- * @param a A human-readable address
- * @param n An insp_inaddr struct which the result
- * will be copied into on success.
- * @return This method will return a negative value if address
- * does not contain a valid address family. 0 if the address is
- * does not contain a valid string representing a valid network
- * address. A positive value is returned if the network address
- * was successfully converted.
-
- * or any other number upon failure.
- */
- CoreExport int insp_aton(const char* a, insp_inaddr* n);
-
/** Create a new valid file descriptor using socket()
* @return On return this function will return a value >= 0 for success,
* or a negative value upon failure (negative values are invalid file
diff --git a/src/dns.cpp b/src/dns.cpp
index f088055f8..396cc56df 100644
--- a/src/dns.cpp
+++ b/src/dns.cpp
@@ -512,38 +512,6 @@ int DNS::GetCName(const char *alias)
}
/** Start lookup of an IP address to a hostname */
-int DNS::GetName(const irc::sockets::insp_inaddr *ip)
-{
- char query[128];
- DNSHeader h;
- int id;
- int length;
-
-#ifdef IPV6
- unsigned char* c = (unsigned char*)&ip->s6_addr;
- if (c[0] == 0 && c[1] == 0 && c[2] == 0 && c[3] == 0 &&
- c[4] == 0 && c[5] == 0 && c[6] == 0 && c[7] == 0 &&
- c[8] == 0 && c[9] == 0 && c[10] == 0xFF && c[11] == 0xFF)
- sprintf(query,"%d.%d.%d.%d.in-addr.arpa",c[15],c[14],c[13],c[12]);
- else
- DNS::MakeIP6Int(query, (in6_addr*)ip);
-#else
- unsigned char* c = (unsigned char*)&ip->s_addr;
- sprintf(query,"%d.%d.%d.%d.in-addr.arpa",c[3],c[2],c[1],c[0]);
-#endif
-
- if ((length = this->MakePayload(query, DNS_QUERY_PTR, 1, (unsigned char*)&h.payload)) == -1)
- return -1;
-
- DNSRequest* req = this->AddQuery(&h, id, irc::sockets::insp_ntoa(*ip));
-
- if ((!req) || (req->SendRequests(&h, length, DNS_QUERY_PTR) == -1))
- return -1;
-
- return id;
-}
-
-/** Start lookup of an IP address to a hostname */
int DNS::GetNameForce(const char *ip, ForceProtocol fp)
{
char query[128];
@@ -959,28 +927,12 @@ Resolver::Resolver(InspIRCd* Instance, const std::string &source, QueryType qt,
}
}
- irc::sockets::insp_inaddr binip;
-
switch (querytype)
{
case DNS_QUERY_A:
this->myid = ServerInstance->Res->GetIP(source.c_str());
break;
- case DNS_QUERY_PTR:
- if (irc::sockets::insp_aton(source.c_str(), &binip) > 0)
- {
- /* Valid ip address */
- this->myid = ServerInstance->Res->GetName(&binip);
- }
- else
- {
- this->OnError(RESOLVER_BADIP, "Bad IP address for reverse lookup");
- throw ModuleException("Resolver: Bad IP address");
- return;
- }
- break;
-
case DNS_QUERY_PTR4:
querytype = DNS_QUERY_PTR;
this->myid = ServerInstance->Res->GetNameForce(source.c_str(), PROTOCOL_IPV4);
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 3b41d787b..d7239e0b4 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -378,9 +378,6 @@ InspIRCd::InspIRCd(int argc, char** argv)
// Initialise TIME
this->TIME = time(NULL);
- memset(&server, 0, sizeof(server));
- memset(&client, 0, sizeof(client));
-
// This must be created first, so other parts of Insp can use it while starting up
this->Logs = new LogManager(this);
diff --git a/src/socket.cpp b/src/socket.cpp
index d3e5fb072..7d44b7e37 100644
--- a/src/socket.cpp
+++ b/src/socket.cpp
@@ -248,18 +248,6 @@ int InspIRCd::BindPorts(FailedPortList &failed_ports)
return bound;
}
-const char* irc::sockets::insp_ntoa(insp_inaddr n)
-{
- static char buf[1024];
- inet_ntop(AF_FAMILY, &n, buf, sizeof(buf));
- return buf;
-}
-
-int irc::sockets::insp_aton(const char* a, insp_inaddr* n)
-{
- return inet_pton(AF_FAMILY, a, n);
-}
-
int irc::sockets::aptosa(const char* addr, int port, irc::sockets::sockaddrs* sa)
{
memset(sa, 0, sizeof(*sa));