summaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix (we hope!) for the 'internal error processing connection' bug. Thanks to ↵Gravatar brain2006-10-071-2/+6
| | | | | | | | | jamie and shadow for enduring this one while we hunted it down. Its complicated, bug one of us for more info if youre really interested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5446 e03df62e-2008-0410-955e-edbf42e46eb7
* 1) Make earlier fix to inspsocket actually compile without errorGravatar brain2006-09-071-2/+2
| | | | | | | 2) Make sure that query string is sent back in the reply git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5155 e03df62e-2008-0410-955e-edbf42e46eb7
* Delete the file descriptor upon write error to an inspsocket, preventing it ↵Gravatar brain2006-09-071-0/+2
| | | | | | eating cpu with endless read events git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5154 e03df62e-2008-0410-955e-edbf42e46eb7
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsGravatar brain2006-08-301-6/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
* Connect timeouts now work again, using InspSocketGravatar brain2006-08-281-19/+19
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5041 e03df62e-2008-0410-955e-edbf42e46eb7
* Note: connect() cant time out for inspsockets in this commit. They'll sit in ↵Gravatar brain2006-08-281-33/+10
| | | | | | memory forever -- if you want something actually working properly wait for the next commit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7
* EventHandler class, an abstraction for raw i/oGravatar brain2006-08-181-21/+35
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
* Just to mess with om's head, remove helperfuncs.h from everywhereGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
* Change to using Instance->Log (InspIRCd::Log) rather than log() macroGravatar brain2006-08-111-24/+24
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
* Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵Gravatar brain2006-08-111-24/+24
| | | | | | | | | object called ServerInstance, ilog() takes an InspIRCd object as first param. TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
* extern time_t TIME -> InspIRCd::Time()Gravatar brain2006-08-111-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
* ConfigReader and FileReader now take InspIRCd* to their constructorsGravatar brain2006-08-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4865 e03df62e-2008-0410-955e-edbf42e46eb7
* Committing this as a rollback point - does not compileGravatar brain2006-08-101-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 e03df62e-2008-0410-955e-edbf42e46eb7
* So much stuff changed in this one, i forgot most of it.Gravatar brain2006-08-101-2/+1
| | | | | | | Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
* Move IsNick, IsIdent into class InspIRCd, update modules that use it.Gravatar brain2006-08-101-1/+0
| | | | | | | Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
* Move the socket functions like insp_ntoa into their own namespace. They ↵Gravatar brain2006-08-101-0/+4
| | | | | | 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
* Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are ↵Gravatar brain2006-08-091-23/+22
| | | | | | | | | | public members, which InspSocket can modify. (eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide an InspIRCd* instance to 'attach' the socket to. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
* ServerConfig extern moved into class InspIRCdGravatar brain2006-08-091-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
* Extra checking that the fd's we pass to SocketEngine::AddFd were added (a ↵Gravatar brain2006-08-081-6/+30
| | | | | | lot of assuming was going off, leading to total chaos if we run out of fd's etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4780 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for ::0 ip's, disable autobind when using ::ffff: etcGravatar brain2006-08-041-3/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4703 e03df62e-2008-0410-955e-edbf42e46eb7
* (1) remove CleanAndResolve.Gravatar brain2006-08-021-16/+4
| | | | | | | | (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
* InspSocket no longer resolves hosts.Gravatar brain2006-08-021-22/+10
| | | | | | | | | 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
* Removed threaded dns (it might make a comeback some day, but as it stands ↵Gravatar brain2006-08-011-24/+4
| | | | | | | | | | 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
* Fix broken inet_pton callGravatar brain2006-08-011-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4616 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes for inspsocket in ipv6 environmentGravatar brain2006-08-011-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4615 e03df62e-2008-0410-955e-edbf42e46eb7
* The IPV6 stuff compiles now, with compile-correct ipv6 code. I dont know if ↵Gravatar brain2006-08-011-5/+20
| | | | | | this works yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4611 e03df62e-2008-0410-955e-edbf42e46eb7
* AF_INET -> define to AF_FAMILY, will be either AF_INET or AF_INET6Gravatar brain2006-08-011-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4610 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidyup message.cpp, remove some really old craq.Gravatar brain2006-07-281-1/+1
| | | | | | | | Improve tidiness of new common_channels function Add timeout value to blocking CleanAndResolve function git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4572 e03df62e-2008-0410-955e-edbf42e46eb7
* Typo #2Gravatar brain2006-07-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4359 e03df62e-2008-0410-955e-edbf42e46eb7
* Make it work:Gravatar brain2006-07-121-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4357 e03df62e-2008-0410-955e-edbf42e46eb7
* Move logging further up in inspsocket so we get the right error for bind failureGravatar brain2006-07-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4309 e03df62e-2008-0410-955e-edbf42e46eb7
* Added InspSocket::WantWrite(), InspSocket::OnWriteReady() and private data ↵Gravatar brain2006-07-071-1/+32
| | | | | | | | | methods to make it work. See the XXX'ed section for a bit of minor craq git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4120 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert char* to const char* in InspSocket constructor prototype. Shouldn't ↵Gravatar om2006-06-291-1/+1
| | | | | | break anything but ought to help lose some ugleh casts... >:) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4080 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow binding to hosts again in <bind> and <link>Gravatar brain2006-06-281-1/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4074 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentingGravatar brain2006-06-271-0/+8
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4069 e03df62e-2008-0410-955e-edbf42e46eb7
* Added auto-binding, picks the first ip in the <bind> tags that isnt ↵Gravatar brain2006-06-271-0/+46
| | | | | | localhost or INADDR_ANY, and auto binds to that IP to allow us to put back the security tweak git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4064 e03df62e-2008-0410-955e-edbf42e46eb7
* Checks for negative fd's when adding them to the socketengine so we can ↵Gravatar brain2006-05-031-9/+21
| | | | | | generate less debug output git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3929 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove uneccessary socket includes now included in socket.hGravatar om2006-04-081-9/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3851 e03df62e-2008-0410-955e-edbf42e46eb7
* Helps to svn add these too :PGravatar om2006-04-081-0/+421
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3849 e03df62e-2008-0410-955e-edbf42e46eb7