74 Commits

Author SHA1 Message Date
brain
4f946291b7 A load of classes dont inherit from classbase, and they should. fix.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24 16:53:34 +00:00
w00t
f127161467 Clear up header insanity
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-03 23:20:20 +00:00
w00t
e4acbc95b8 Header update: 2007 -> 2008
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10 13:27:07 +00:00
brain
df4f0dc888 Allow support for multiple dns results per request. This is a significant change and should probably not be backported to stable.
This will allow for a fix to feature request bug #384


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7753 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 16:00:57 +00:00
peavey
f2acdbc382 OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
pippijn
67e055124d Some general syntax cleanups.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7304 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14 17:22:37 +00:00
brain
2779810ff0 Apply ipv6 #ifdef tidyup patch from djGrrr, thanks :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7190 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-30 17:37:13 +00:00
brain
d7324a55fa Space indents must die.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 18:08:57 +00:00
w00t
9cf56d917d Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
brain
ac36ca514e No gaurantees on this atm
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6508 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 23:59:58 +00:00
brain
acd24151ce This wont compile atm
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6507 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 23:51:03 +00:00
brain
49e34a508d Comment on a lot of recently added stuff that wasnt properly documented (until now)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6284 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 22:31:19 +00:00
brain
2fe4636fa4 Add repeating timers, and make an hourly prune of the dns cache, otherwise a cache entry might not be cleared until a user with that ip comes back!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6264 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 18:42:13 +00:00
brain
bf3acfa61d Add /CLEARCACHE, oper only command which completely purges the DNS cache -- useful if you just want to cut down on ram use at any point.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6259 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 00:18:52 +00:00
brain
fe46f3c228 Document dns caching, add a "bool cached" to OnLookupComplete method in Resolver, and and add " -- cached" to end of 'looking up your host' string if their result is a cached result
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6254 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 22:01:00 +00:00
brain
f1ca6c6d71 DNS caching stuff (almost done)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:35:25 +00:00
brain
dac672cf30 DNS Stuff - this wont work right yet, it will soon (tm)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:16:03 +00:00
brain
9db7f13b0c Add TTL stuff to dns system (pass it to inherited objects)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6247 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 20:01:11 +00:00
brain
6a6f5b2275 Add missing feature: /rehash reinitializes dns subsytem (and can handle changed addresses)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6193 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-31 19:17:04 +00:00
brain
1c52b90e82 Refactor dns.cpp to use an array of request types rather than map, for O(1) lookup time
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6042 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-18 18:35:25 +00:00
w00t
696ee9ff66 And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
brain
7159842998 Fix all the _FORTIFY_SOURCE warnings except "punned pointer".
We CANNOT fix this, as it is the recommended (and only) way to dlsym a symbol from a .so file.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5770 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-19 00:43:35 +00:00
brain
2549304905 Add fix for patch #166 (this is a reasonably big one)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5679 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-10 20:13:59 +00:00
brain
193b540aa7 Socket error state stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 20:32:01 +00:00
brain
08b8c64bb6 Change around some dns stuff (dont use this yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5522 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-22 15:58:13 +00:00
brain
70f589ea40 Call OnError when timing out
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5520 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-22 15:18:16 +00:00
brain
e381b06561 EventHandler class, an abstraction for raw i/o
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 01:08:14 +00:00
brain
d7336f351d Move the socket functions like insp_ntoa into their own namespace. They arent really sensible to put into a class, but namespacing them out discourages developers from directly using them without explicitly saing 'using irc::sockets::BindPorts' or whatever first. Some functions such as insp_ntoa are already 'exposed' by headers that use them so 'using irc::sockets::inet_ntoa' isnt required.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4828 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 00:36:07 +00:00
brain
48262da087 Change some resolver stuff.
OM, THIS STILL WONT COMPILE! Error on the same line


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4821 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 19:25:31 +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
327a3847ff Change comments to reflect change from ip6.int to ip6.arpa which occured on jul 1st
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4682 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 19:10:05 +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
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
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
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
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
7da8ae0706 Added comments to class DNS and typedefs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4662 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 22:52:31 +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
daf12f4d06 Change to a const
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4658 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 21:26:49 +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
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
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
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
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
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