summaryrefslogtreecommitdiff
path: root/src/socket.cpp
AgeCommit message (Collapse)Author
2007-09-04* Fixed some incorrect declarations in IOCPEngineburlex
* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix} * Fixed several compilation issues under Win32 * Fixed calls to close() which should've been changed to SE->Close() + Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable. + Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Remove more unnecessary header trafficw00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Craquity craq De-craq!brain
This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight. --- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick). All this to eliminate a bunch of ifdefs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23Switch around the two operations in MatchCIDRBits to make negative matches ↵brain
faster (and not change the speed of positive matches) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7797 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Windows specific data types in EventHandler are now Extensible itemsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23Remove a braindead comment ('this belongs in class InspIRCd' -- when it's ↵w00t
already there.) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7507 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵peavey
auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-01re-apply ipv6 ifdef tidyup that got pulled in last revert.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7205 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-01revert multiaccept for now until we can fix it for win.peavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-30Apply ipv6 #ifdef tidyup patch from djGrrr, thanks :)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7190 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-29Metaphorically add a metaphorical comment to the metaphorical code. Thank ↵brain
god its not metadata. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7184 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-29Commit multiaccept diff by myself to speed up large numbers of connections.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7183 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21It seems that making inspircd.h the first include in .cpp files eliminates ↵brain
the warning C4996, as the defines to prevent it are set before any includes that cause it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7094 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Visual studio's ability to translate tabs to four spaces as default ↵brain
frustrates and peplexes tabnazi cat. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7047 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19Windows support. Tested and working to compile on freebsd and linux. Next ↵w00t
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-11Allow removal of client ports from the config file via rehashbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6984 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-11Refactor port binding, warning not yet tested fullybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6982 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-24Fix two things: (1) log gets replaced by a user fd after restart causing ↵brain
debug log to go to a user's status window (!) (2) restart failing due to segfault within libc (this is because some moron decided that stdin, stdout, and stderr should still be non-null if the files arent actually open!) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6707 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06Remove debug output that was only useful to mebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6530 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06DNS lookups now work for users.brain
Todo: Upon receiving 'no resource records found' on doing AAAA or PTR6, immediately re-insert a request looking for A or PTR. someone remind me about this when i have time. Also todo: inspsocket connects. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6512 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-05Not safe for use yetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6502 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-05Pass sizeof(sockaddr) to bind now. Passing the size of a pointer really isnt ↵brain
a smart idea (and doesnt work) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6500 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Fix ipv4 bindings for ipv4 only serversbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6499 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05Heavy state of debug. If you are a developer, please avoid making use of ↵brain
this bit of code. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6498 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-31Why the fuck do no systems have INADDR6_ANY?!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6468 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-15Crusade to remove debug from stable and tested parts of the core and base ↵brain
modules. Most of the code here being de-noised hasnt had a crash or bug in it for many months, if not a year so the debug output is useless noise in the logfile when trying to trace a bug in a REAL problem area. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6356 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-01Add port type identifiersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6196 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23Unload as many modules as we can on restart, and close listenersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6068 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22Fixed to compile properly with -O; keep in mind that this is not supported, ↵special
use at your own risk. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6058 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-11-12When some (but not all) of the ports fail to bind on startup, give the user ↵brain
a list of the failed port/ip pairs on the terminal. Other ircds dont do this, and say 'go read the log'. I say if we can output them to a log, why not the screen? :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5728 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11fix a compile warningpeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5698 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11Dont allow overlapped ports in these filesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5695 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11Add irc::portparser, a class to parse port ranges in the form ↵brain
"6660,6661,6662-6669,7000". Needs testing, watch next few commits. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5690 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-11Allow port ranges for client ports (this is still todo in spanningtree)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5686 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-05Fix the 'not all ports could be bound' warning to not count server ports at ↵brain
this point git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5653 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-04As requested by satmd, inspircd will now run with no client ports configuredbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5643 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-09-08Fix small memory leak if non-cidr string passed to MatchCIDRbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5173 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-18Fix trying to add failed ports to socketengine (<3 new code)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4967 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