summaryrefslogtreecommitdiff
path: root/src/inspsocket.cpp
AgeCommit message (Collapse)Author
2007-02-06Lets try this fixbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6526 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06When brain adds code into a constructor to fix a destructor crash, make sure ↵brain
brain adds code to all three constructors, not just one. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6519 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06Fix to stop failed sockets crashing in destructorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6518 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06ipv6 fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6517 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06Fixes to allow inspsocket connects to be protocol transparentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6515 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06In InspSocket destructor remove any pending timers since the object is now ↵peavey
gone. This also fixes bug #202 : m_ident crash. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6514 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Stuff to make dns work protocol-independentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6506 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Smart tricks to allow for ipv4 and ipv6 bindings on client ports. WARNING, ↵brain
NOT FINISHED YET git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6501 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Move quitting of clients to a central Cull List, and do quitting outside ↵peavey
userrec and in main loop. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-31ipv6 connect tweaks, to memcpy() sin6_addr's rather than assigning with =.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6469 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-30Tweaks to backwards memcpy's that dont actually do anything, causing ipv6 ↵brain
address bindings to potentially be bound to random ips. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6467 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-30Whoops, fix inspsocket so that its ok to use errno after a failure of the ↵brain
Write/Read methods or constructor! 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
2007-01-17Remove a ton of inspsocket debugbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6360 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16Add stuff so that the core catches CoreException properlybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15Jesus, look who's the commit whore today. More header updates, and removal ↵w00t
of namespacing. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11Fix EOF conditions on inspsockets which are having their write() handled by ↵brain
modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5947 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11Debug stuff, and some minor fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5927 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09Make it all work properly. Have it wait for handshake to complete before ↵brain
sending anything down the line git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5898 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09It works! WOO AND YAY! (this isnt finished yet, only an idiot would use this ↵brain
on a production net atm) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5897 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09Add OnRawSocketConnect, we've not had it till now because we've not needed it :)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09Not yet tested -- allow iohooking of inspsocketsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5886 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Close an inspsocket on getting error statebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5608 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Socket error state stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Start of stuff to handle socket error statebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5606 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Whack unused var warningbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5596 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Set flags correctly when receiving a module-requested write eventbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5595 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31Tidy up WaitingForWriteEvent stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5594 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30Make this properly obey the write/read states. This ZOOMS now.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5588 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-30WARNING: This commit breaks kqueue and select -- work in progress!brain
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
2006-10-22More sensible way to flush socketsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5517 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-22Tweaks to drain socket on writebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5513 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-07Fix (we hope!) for the 'internal error processing connection' bug. Thanks to ↵brain
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
2006-09-071) Make earlier fix to inspsocket actually compile without errorbrain
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
2006-09-07Delete the file descriptor upon write error to an inspsocket, preventing it ↵brain
eating cpu with endless read events git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5154 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include listsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Connect timeouts now work again, using InspSocketbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5041 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Note: connect() cant time out for inspsockets in this commit. They'll sit in ↵brain
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
2006-08-18EventHandler class, an abstraction for raw i/obrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Just to mess with om's head, remove helperfuncs.h from everywherebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Change to using Instance->Log (InspIRCd::Log) rather than log() macrobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4880 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Now two types of log macro, log() and ilog(). log() assumes an InspIRCd ↵brain
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
2006-08-11extern time_t TIME -> InspIRCd::Time()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4873 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11ConfigReader and FileReader now take InspIRCd* to their constructorsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4865 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10Committing this as a rollback point - does not compilebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10So much stuff changed in this one, i forgot most of it.brain
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
2006-08-10Move IsNick, IsIdent into class InspIRCd, update modules that use it.brain
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
2006-08-10Move the socket functions like insp_ntoa into their own namespace. They ↵brain
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-09Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are ↵brain
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
2006-08-09ServerConfig extern moved into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08Extra checking that the fd's we pass to SocketEngine::AddFd were added (a ↵brain
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