3182 Commits

Author SHA1 Message Date
brain
a361a0bbc9 IPV6 compile fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4696 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 10:39:42 +00:00
brain
5847843481 IPV6 changes for userrec::ip
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4695 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 10:30:31 +00:00
brain
f25755bbe7 Change to using userrec::ip as a sockaddr to store port, ip and address family, rather than userrec::ip4 and userrec::port.
This allows us to handle remote ipv6 users on an ipv4 server, and vice versa.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4694 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 01:59:41 +00:00
brain
e5843dde4d Add proper support for "munging" of ipv6 addresses when ::ffff:addr is used (this is temporary)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4693 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:45:39 +00:00
brain
0f5ba908f4 Change some checking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4692 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:37:01 +00:00
brain
bbb04ecde2 More stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4691 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:33:44 +00:00
brain
e5d7282652 Odd stuff with ::ffff ipv6 addresses
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4690 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:24:08 +00:00
brain
661e2cccba Extra debug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4689 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:19:28 +00:00
brain
8a623fbec4 Tweak
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4688 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:17:19 +00:00
brain
b276a1a055 Tweak tweak
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4687 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:15:13 +00:00
brain
5a53ae3b0a Change to use inaddr6_any
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4686 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:12:31 +00:00
brain
90515befc6 Add more debug
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4685 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:07:06 +00:00
brain
00da6c9454 Debug output on invalid nameserver address in constructor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4684 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:04:21 +00:00
brain
2e411dd9a5 Add strerror stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4683 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 20:58:03 +00:00
brain
ec99b87f5b Tidier MakeIP6Int()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4681 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 19:06:05 +00:00
brain
b14375407c Its ip6.arpa, not ip6.int?
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4680 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 18:55:19 +00:00
brain
062bd08863 Extra stuff for forcing a v4 or v6 lookup
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4679 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 18:46:17 +00:00
brain
ca70ad7750 Improved ip6.int builder (no more HUGE sprintf craq)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4678 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 17:14:13 +00:00
brain
f16930668a Added test framework, so that i can work on improving MakeIP6Int
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4677 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 16:47:40 +00:00
brain
73fda5d362 *.ip6.int PTR lookups. FUGLY AS FUCK. someone please help me tidy (backported from firedns)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4676 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 16:27:16 +00:00
brain
98d0bbfbb0 AAAA lookup fixed. Theyre returned as string, without need for inet_pton with an in6_addr, so that its possible to resolve ipv6 without an ipv6 supporting kernel ;)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4675 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 16:17:54 +00:00
brain
9e0fd68e34 Fixed resolver, forward lookup of ipv6 doesnt work right yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4674 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 16:00:55 +00:00
brain
c5b4476874 Support CNAME, AAAA
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4673 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 15:49:22 +00:00
brain
0c1916945a Fix sockaddr structs for ipv6
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4672 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 15:15:09 +00:00
brain
dd9112f8cb Fix bindsocket to work in ipv6 mode
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4671 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 15:09:38 +00:00
brain
5405f7927e Add some commenting
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4670 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 14:43:59 +00:00
brain
b7d632aa9a add erroring if there are already 65536 id's in transit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4669 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 14:42:18 +00:00
brain
43759fd180 Check for spoofed DNS replies where the source-port is invalid, or the ip is 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-03 14:25:49 +00:00
brain
bcc3c8566c Properly check for duplicate dns id's from the PRNG
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4667 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 13:46:42 +00:00
brain
30911b2ae8 Improve PRNG
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4666 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 13:28:12 +00:00
brain
c6934754b0 Dynamically generate 004 numeric from the modehandler list
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4665 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 11:17:03 +00:00
brain
f313c36917 Pseudo-random id's again, combined with incrementing value, gettimeofday and geteuid using xor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4661 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 22:07:43 +00:00
brain
d06e02bc30 Add back stats counters for dns total, good and bad
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4660 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 21:46:22 +00:00
brain
be9ffd2430 Allocate request id's in sequence, which means we wont get a duplicate id 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-02 21:39:12 +00:00
brain
79da8ad27e Change more names and types
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4657 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 21:06:44 +00:00
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