3857 Commits

Author SHA1 Message Date
brain
c47d3335e7 Absolutely everything is now part of class DNS, or class Resolver.
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-02 20:54:39 +00:00
brain
acff2ca6dc More tidying
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4655 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 20:44:46 +00:00
brain
a4b7833073 Move more stuff into private members of class DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4654 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 20:34:23 +00:00
brain
c0526f1dc2 Tidyups, rename some vars
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4653 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 20:16:25 +00:00
brain
e5ab44198d Made MasterSocket static
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4652 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 20:06:50 +00:00
brain
4d941f1b7a Move more stuff into class DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4651 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 19:59:06 +00:00
brain
4bc3065d05 Tweak case of all classes to match those in the rest of the core
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4650 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 19:15:22 +00:00
brain
200d4f2d23 Change comment at start of the file, rename dns_connection
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-02 19:07:12 +00:00
brain
93420ae6c6 Change a message
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4648 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 19:00:15 +00:00
brain
2280358b7b More tidying. Add comments. More comments to do :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4647 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 18:55:10 +00:00
brain
e65b2c70e4 Add error messages to Resolver::OnError()
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-02 18:44:13 +00:00
brain
29342eb557 The great summer clean (better than a spring clean)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4645 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 18:06:04 +00:00
brain
4056b3fdc5 Tidyup var names. people who use 'l' to mean 'length' need to be shot with a brick
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4644 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 17:35:47 +00:00
brain
eb982b5ad9 More tidyups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4643 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 17:27:07 +00:00
brain
affb908232 Tidyups (as usual)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4642 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 17:19:55 +00:00
brain
9604ff62cd More tidyups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4641 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 17:09:40 +00:00
brain
a5c99b8dc6 Tidyup var names. If i ever meet this person who called all the firedns vars '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-02 17:06:03 +00:00
brain
5a65d2f588 Tidyup dns.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4639 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 17:03:04 +00:00
brain
5b02b8768d Check for invalid ip's being bound to
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4638 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 12:50:41 +00:00
brain
1d6b72a5ba (1) remove CleanAndResolve.
(2) remove feature of being able to bind hostnames in <bind> tags (it used CleanAndResolve) :p
(3) Fix the stuff in SpanningTree that used CleanAndResolve to validate connecting ip addresses - it now builds an 'allowed ip cache' on rehash/startup instead


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4637 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 11:50:01 +00:00
brain
5b0b077e2a Check for duplicate servers in OnLookupComplete
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4636 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 10:36:38 +00:00
brain
21347e95fd Comment ServernameResolver class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4635 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 10:33:49 +00:00
brain
a54cfebb04 InspSocket no longer resolves hosts.
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-02 10:26:21 +00:00
brain
b4f7f64413 Change comment which referred to an fd, is now an id
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4633 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 09:13:36 +00:00
brain
b53b47ca75 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4632 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 00:38:59 +00:00
brain
8521a64963 Remove dnsqueue
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4631 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:29:39 +00:00
brain
bc6975c361 Remove dnsqueue
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4630 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:29:24 +00:00
brain
e00b5b82db Comments, add more detail, remove dnsqueue.h include from tons of places
Remove THREADED_DNS defines from all over the place


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:26:11 +00:00
brain
f44d25e8c3 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4628 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:09:07 +00:00
brain
be1e2e4ee5 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4627 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:07:26 +00:00
brain
e74bb16a4f Stuff to make user host resolving use class Resolver - not tested yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:59:59 +00:00
brain
cc83231b94 Remove X_ESTAB_CLASSDNS, X_ESTAB_DNS now does the job of this (i TOLD w00t and om i was removing this eventually, and now i did :p)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4625 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:22:02 +00:00
brain
f368a03cf2 Remove unused vars from class DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4624 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:21:16 +00:00
brain
ce9d870efa Remove unused temp buffers
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4623 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:19:31 +00:00
brain
a5c9214743 Removed threaded dns (it might make a comeback some day, but as it stands 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-01 21:35:07 +00:00
brain
cf2836550f Clone counting works with ipv6 now
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4621 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 19:17:30 +00:00
brain
145862efc7 Add support for comparing ipv6 for clone counting
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4620 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 19:15:27 +00:00
brain
424463bf9d Remove the same craq
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4619 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 17:34:52 +00:00
brain
22416a1108 Remove ZapThisDns
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4617 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 17:25:39 +00:00
brain
3a3a73bce3 Fix broken inet_pton call
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4616 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 15:41:20 +00:00
brain
e505d47dc8 Fixes for inspsocket in ipv6 environment
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4615 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 15:08:52 +00:00
brain
821b8f5555 Still working under ipv4 now
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4614 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 14:52:31 +00:00
brain
cd361db4b9 Dns stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4613 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 14:42:39 +00:00
brain
4a26a36523 This might well be the last commit to this dns resolver in its current form. 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-01 12:33:13 +00:00
brain
4488e47713 The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if this works yet.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 11:46:19 +00:00
brain
4789b3f653 AF_INET -> define to AF_FAMILY, will be either AF_INET or AF_INET6
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4610 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 10:42:22 +00:00
brain
c80508b28b Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first step on the road to ipv6 support
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 10:37:16 +00:00
brain
15a3422e9e Missing include breaks "make clean" on the cmd_* files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4608 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 10:09:16 +00:00
brain
11376014e3 Remove match/wildcmp wrapper which just casts from const char* to char*, do the cast within wildcmp and rename wildcmp to match.
Remove other  casts by casting  directly to unsigned char* first time around


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-31 12:30:42 +00:00
brain
cfc2715066 I think ive found the answer to the hanging connections problem. The majority of stuff in userprocess is skipped over when fd==0, it was fd > 0 rather than fd > -1 in a check. This would prevent one user (near the first) with fd 0 from connecting properly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4605 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-30 23:05:46 +00:00