aboutsummaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
Commit message (Expand)AuthorAgeFilesLines
...
* Windows support. Tested and working to compile on freebsd and linux. Next ste...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2007-05-191-6/+26
* Much more detailed logging of lowlevel socket errors to the +l snomask•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6856 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-05-011-2/+19
* Fix crashbug in latest svn introduced by inspsocket cull list, which can caus...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6855 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-05-011-6/+2
* Make error reporting work properly, it seemed to loose errors.•••First change: Add a culling list of inspsockets waiting to be closed, so the close() is less likely to be called before the buffer is entirely empty. This seems to work well on my LAN. Second change: Add a SendError() method, rather than WriteLine("ERROR : ..."). This can be used to effect by also echoing out "Sent ERROR to %s: ..." onto the +l snomask meaning at least one end will always see the error even if the ERROR command is lost due to latency or design of the transport (e.g. ssl which may be writing during a read event etc) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6844 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-04-261-15/+13
* Fix for bug #261 - Needs QA'ing.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6813 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-04-191-0/+3
* Remove unused variable•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6704 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-03-241-1/+0
* ident over ipv6 fixes, and fixes to inspsocket BindAddr which wasnt doing ipv...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6702 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-03-231-8/+14
* Fix high-bandwidth stuff with inspsocket+ssl, and eagain•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6699 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-03-221-2/+2
* Fixed <link:bind> which was only working on an ipv6 connection. Fixes bug #21...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6581 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-121-2/+26
* Ident fixes,•••removal of some old craq we dont use. cgiirc optimizations and tidyups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6541 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-071-2/+0
* Added support for explicitly binding an outbound connection to an ip. Will be...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6534 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-071-8/+10
* Remove debug output that was only useful to me•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6530 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-5/+0
* Lets try this fix•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6526 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-0/+4
* When brain adds code into a constructor to fix a destructor crash, make sure ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6519 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-0/+6
* Fix to stop failed sockets crashing in destructor•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6518 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-0/+1
* ipv6 fixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6517 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-11/+11
* Fixes to allow inspsocket connects to be protocol transparent•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6515 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-061-41/+157
* In InspSocket destructor remove any pending timers since the object is now go...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6514 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-02-061-1/+6
* Stuff to make dns work protocol-independent•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6506 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-051-1/+1
* Smart tricks to allow for ipv4 and ipv6 bindings on client ports. WARNING, NO...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6501 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-02-051-1/+1
* Move quitting of clients to a central Cull List, and do quitting outside user...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar peavey2007-02-051-1/+1
* ipv6 connect tweaks, to memcpy() sin6_addr's rather than assigning with =.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6469 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-311-4/+3
* Tweaks to backwards memcpy's that dont actually do anything, causing ipv6 add...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6467 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-301-1/+1
* Whoops, fix inspsocket so that its ok to use errno after a failure of the Wri...•••the close() in its Close method always changed errno to "Endpoint is not connected" on error, so now we make a copy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6462 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-301-0/+6
* Remove a ton of inspsocket debug•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6360 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2007-01-171-47/+2
* Add stuff so that the core catches CoreException properly•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-161-11/+10
* Jesus, look who's the commit whore today. More header updates, and removal of...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar w00t2006-12-151-6/+3
* Fix EOF conditions on inspsockets which are having their write() handled by m...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5947 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-111-0/+9
* Debug stuff, and some minor fixes•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5927 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-111-1/+1
* Make it all work properly. Have it wait for handshake to complete before send...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5898 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-091-1/+0
* It works! WOO AND YAY! (this isnt finished yet, only an idiot would use this ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5897 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-091-7/+31
* Add OnRawSocketConnect, we've not had it till now because we've not needed it :)•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-091-0/+11
* Not yet tested -- allow iohooking of inspsockets•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5886 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-12-091-33/+111
* Close an inspsocket on getting error state•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5608 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-0/+4
* Socket error state stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-1/+3
* Start of stuff to handle socket error state•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5606 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-0/+1
* Whack unused var warning•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5596 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-1/+0
* Set flags correctly when receiving a module-requested write event•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5595 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-12/+3
* Tidy up WaitingForWriteEvent stuff•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5594 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-311-6/+17
* Make this properly obey the write/read states. This ZOOMS now.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5588 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-301-22/+34
* WARNING: This commit breaks kqueue and select -- work in progress!•••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 Gravatar brain2006-10-301-9/+1
* More sensible way to flush sockets•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5517 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-221-1/+13
* Tweaks to drain socket on write•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5513 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-10-221-1/+2
* Fix (we hope!) for the 'internal error processing connection' bug. Thanks to ...•••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 Gravatar brain2006-10-071-2/+6
* 1) Make earlier fix to inspsocket actually compile without error•••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 Gravatar brain2006-09-071-2/+2
* Delete the file descriptor upon write error to an inspsocket, preventing it e...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5154 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-09-071-0/+2
* Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-301-6/+0
* Connect timeouts now work again, using InspSocket•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5041 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-281-19/+19
* Note: connect() cant time out for inspsockets in this commit. They'll sit in ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-281-33/+10
* EventHandler class, an abstraction for raw i/o•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2006-08-181-21/+35