summaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove a ton of inspsocket debugGravatar brain2007-01-171-47/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6360 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that the core catches CoreException properlyGravatar brain2006-12-161-11/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7
* Jesus, look who's the commit whore today. More header updates, and removal ↵Gravatar w00t2006-12-151-6/+3
| | | | | | of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix EOF conditions on inspsockets which are having their write() handled by ↵Gravatar brain2006-12-111-0/+9
| | | | | | modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5947 e03df62e-2008-0410-955e-edbf42e46eb7
* Debug stuff, and some minor fixesGravatar brain2006-12-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5927 e03df62e-2008-0410-955e-edbf42e46eb7
* Make it all work properly. Have it wait for handshake to complete before ↵Gravatar brain2006-12-091-1/+0
| | | | | | sending anything down the line git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5898 e03df62e-2008-0410-955e-edbf42e46eb7
* It works! WOO AND YAY! (this isnt finished yet, only an idiot would use this ↵Gravatar brain2006-12-091-7/+31
| | | | | | on a production net atm) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5897 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnRawSocketConnect, we've not had it till now because we've not needed it :)Gravatar brain2006-12-091-0/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7
* Not yet tested -- allow iohooking of inspsocketsGravatar brain2006-12-091-33/+111
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5886 e03df62e-2008-0410-955e-edbf42e46eb7
* Close an inspsocket on getting error stateGravatar brain2006-10-311-0/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5608 e03df62e-2008-0410-955e-edbf42e46eb7
* Socket error state stuffGravatar brain2006-10-311-1/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
* Start of stuff to handle socket error stateGravatar brain2006-10-311-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5606 e03df62e-2008-0410-955e-edbf42e46eb7
* Whack unused var warningGravatar brain2006-10-311-1/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5596 e03df62e-2008-0410-955e-edbf42e46eb7
* Set flags correctly when receiving a module-requested write eventGravatar brain2006-10-311-12/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5595 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up WaitingForWriteEvent stuffGravatar brain2006-10-311-6/+17
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5594 e03df62e-2008-0410-955e-edbf42e46eb7
* Make this properly obey the write/read states. This ZOOMS now.Gravatar brain2006-10-301-22/+34
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5588 e03df62e-2008-0410-955e-edbf42e46eb7
* WARNING: This commit breaks kqueue and select -- work in progress!Gravatar brain2006-10-301-9/+1
| | | | | | | epoll now allows both a write and a read event on a socket at the same time. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5580 e03df62e-2008-0410-955e-edbf42e46eb7
* More sensible way to flush socketsGravatar brain2006-10-221-1/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5517 e03df62e-2008-0410-955e-edbf42e46eb7
* Tweaks to drain socket on writeGravatar brain2006-10-221-1/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5513 e03df62e-2008-0410-955e-edbf42e46eb7
* 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