summaryrefslogtreecommitdiff
path: root/src/dns.cpp
AgeCommit message (Collapse)Author
2006-08-03Check for spoofed DNS replies where the source-port is invalid, or the ip is ↵brain
not that of the nameserver we're configured to use git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4668 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03Properly check for duplicate dns id's from the PRNGbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4667 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03Improve PRNGbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4666 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Pseudo-random id's again, combined with incrementing value, gettimeofday and ↵brain
geteuid using xor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4661 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Add back stats counters for dns total, good and badbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4660 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Allocate request id's in sequence, which means we wont get a duplicate id ↵brain
until 65536 id's have been given out. Much safer than rand() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4659 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Change more names and typesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4657 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Absolutely everything is now part of class DNS, or class Resolver.brain
This means our dns code is totally encapsulated and we know that changing it wont effect anything else so long as the interface stays the same. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4656 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02More tidyingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4655 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Move more stuff into private members of class DNSbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4654 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tidyups, rename some varsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4653 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Made MasterSocket staticbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4652 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Move more stuff into class DNSbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tweak case of all classes to match those in the rest of the corebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4650 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Change comment at start of the file, rename dns_connectionbrain
to dns_request (they no longer represent connections with unique FD's so the old name was kind of silly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4649 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Change a messagebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4648 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02More tidying. Add comments. More comments to do :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4647 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Add error messages to Resolver::OnError()brain
Add exception handling to several places that use Resolver (it can throw) Remove Resolver::ProcessResult(), its now handled within the bowels of dns.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4646 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02The great summer clean (better than a spring clean)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4645 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tidyup var names. people who use 'l' to mean 'length' need to be shot with a ↵brain
brick git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4644 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02More tidyupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4643 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tidyups (as usual)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4642 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02More tidyupsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4641 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tidyup var names. If i ever meet this person who called all the firedns vars ↵brain
'l' and 'c' and 'r' im going to beat them with Om's fish. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4640 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Tidyup dns.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4639 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02InspSocket no longer resolves hosts.brain
InspSocket::DoResolve() and the stuff that calls it is gone, if you pass InspSocket an invalid ip, it will bail during its connect. You must now use Resolver classes to resolve hostnames into IP addresses, if you wish to do this. Currently, only one non-extra module does this, see class ServernameResolver within m_spanningtree git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4634 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Remove unused temp buffersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4623 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Removed threaded dns (it might make a comeback some day, but as it stands ↵brain
its incompatible with the new OO resolver) Migrated to new OO resolver, removed as much firedns craq as is safe to do so, operates over one file descriptor now and keyed against request id. The only way to use the system is via class Resolver (so i'll need to migrate the rest of the ircd to use it) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4622 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Fix broken inet_pton callbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4616 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Fixes for inspsocket in ipv6 environmentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4615 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Still working under ipv4 nowbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4614 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Dns stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4613 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01This might well be the last commit to this dns resolver in its current form. ↵brain
With a bit of luck, we can make a better (always-threaded) one git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4612 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵brain
this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01AF_INET -> define to AF_FAMILY, will be either AF_INET or AF_INET6brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4610 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first ↵brain
step on the road to ipv6 support git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-20Add comments, remove debug, alter message in ./configurebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4466 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-20Fixed, no longer a memory leak (Thread leak)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4465 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-20Someone please take a look at this and tell me why a thread doesnt free ↵brain
itself like it should when it exits, freeing the ram git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4462 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-20Make threaded dns stable by placing some mutexes around some stl stuff (this ↵brain
really needs lots of testing now) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4460 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-20Threaded dns stuff - im going to try and make this stable in 1.1brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4459 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19Removed all that lastcreate and wantclose craq from dns.cpp (WHAT THE FUCK ↵brain
WERE THE FIREDNS GUYS SMOKING) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4454 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-19* Seperate out socket engines into derived classes of SocketEngine.brain
* Add a classfactory SocketEngineFactory to create a new socketengine of the configured type * Implement configure hax to compile only the required socketengine and the base class * Eliminates ugly defines, and is more in line with C++ ways git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4439 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16Tweaks for nonblocking dnsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4432 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16Fix socket leak properly this timebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4405 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14Rollback dns changebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4384 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14Fix dns socket leak found in stablebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4383 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Removed debuggingbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4368 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12All this works now (hopefully)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4367 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-12Throw moduleexception if you:brain
(a) try and resolve hosts before the core is initialized (HOW?!) (b) try and resolve a host and the domain server is totally unreacable e.g. through lack of fd's or ifconfig eth0 down :p (this is the only safe way, any other way may result in a developer inserting an invalid pointer into a list of Resolver* theyre watching) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4360 e03df62e-2008-0410-955e-edbf42e46eb7