summaryrefslogtreecommitdiff
path: root/src/socket.cpp
AgeCommit message (Collapse)Author
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
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-11commands.cpp:extern InspIRCd* ServerInstance;brain
helperfuncs.cpp: extern InspIRCd* ServerInstance; xline.cpp:extern InspIRCd* ServerInstance; The last 3 extern's in the entire program! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4866 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-09ServerConfig extern moved into class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09Move Blocking/NonBlocking to socket.cpp and make inlinebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4806 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
2006-08-07Check earlier on is no longer requiredbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4775 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07Bail if we couldn't bind any ports (when did this get broken?)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Remove check that very rarely equates to truebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4750 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Change to strrchr when looking for '/'. fasterbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4749 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4747 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Extra commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4746 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Just commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4743 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Allow nick!ident@ and ident@ portions in a CIDR mask if given, use match() ↵brain
without CIDR against that portion. This allows for CIDR operhosts while still matching idents (AND CIDR CHANNEL BANS) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4739 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Add <link:allowmask>brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4735 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Clamp mask sizes to 128 for ipv6 and 32 for ipv4brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4734 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Extra safety checksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4733 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Support CIDR, CIDR zline, /oper and CIDR <connect> tags. NOTE: With CIDR ↵brain
oper, ident field is not supported (yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4732 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Fix CIDR functions so they workbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06Simple CIDR checking routinebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4730 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03Fix bindsocket to work in ipv6 modebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4671 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02Check for invalid ip's being bound tobrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4638 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02(1) remove CleanAndResolve.brain
(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
2006-08-01Fix broken inet_pton callbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4616 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01Fixes for inspsocket in ipv6 environmentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4615 e03df62e-2008-0410-955e-edbf42e46eb7