summaryrefslogtreecommitdiff
path: root/include/configreader.h
AgeCommit message (Collapse)Author
2007-11-11Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11In prep for remote includes, configuration reading is now two-pass.brain
Note that theres an important part missing from here, there can be a NON-BLOCKING delay between the start of pass 2 and the files being available for download. At this point, ServerConfig::Read() should probably return an ENOTREADY or such at which point it gets monitored for ready state. The socket engine is ready at this point so we can poll the socket engine for it. In the case of startup, the socket engine blocks in a private loop, its no good booting the ircd till we have a complete config! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8565 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Get rid of global_implementation[] and implement_lists[] from herebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8532 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04Remove our vectors of Module*/ircd_module*, replace with a map of ↵brain
std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-03More anal config parsing, validates channel fields, ip address fields ↵brain
(with/without wildcard) hostname fields, fields which may not contain spaces git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8474 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-31Clean up XLine conf stuff a little bit, move most of it to configreader. ↵w00t
Also, check elines and call ApplyLines on both rehash and startup. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8425 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23Visual studio doesnt like throw definitions like thisbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8324 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23Pedantic safebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8314 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ↵w00t
ident etc will use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15In the grand tradition of huge fucking commits:w00t
- chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28Tidy up duplicate code, provide GetSID() method on ServerConfig which ↵brain
returns the SID always 3 digits long git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7959 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27Add <server:id> - this is optional, as stated in the example conf,brain
and should only be set if you are getting collisions. The comment also points out that ids where either of the last two letters are numeric are reserved for services use (e.g. 0ZZ or 5CQ) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7917 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26Added new announceinvite setting i discussed briefly with w00t and i like ↵brain
myself: # The value 'dynamic' varies between 'ops' and 'all' # # settings depending on if the channel is +i or not. # # When the channel is +i, messages go only to ops, # # and when the channel is not +i, messages go to # # everyone. In short, the messages will go to every # # user who has power of INVITE on the channel. This # # is the recommended setting. # git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7841 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26Add option to set invite announcements to nobody, ops only, or all users, ↵brain
based on options:announceinvites. Part of bug #386, should not be backported. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7837 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19Add <connect:maxchans> as per feature bug #338 - combined with the last ↵brain
feature, this allows per-oper specific maxchans values, and even the same for non-opers! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7761 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19Add extra stuff to make it work (and compile)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7757 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19Pick up a few error conditions we didnt before in the config reader, and ↵brain
also increment line number correctly when 'real' newline is found in a value git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7749 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27Needs testbuilding in windows. I will probably do this in a minute.brain
More clever tricks to eliminate ifdefs. With a bit of function pointer and functor magic we may be able to eliminate all ifdefs git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7590 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-17Tons of stuff added since 1.0 is missing documentation commentsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7371 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-04Add options:moronbanner. Yes really, thats what its called. See the example ↵brain
config. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7232 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-27Config option for default channel modes -- more to follow, don't use yetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7163 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-26Dunno why this method was static, doesnt need to be...brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7155 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-20- Modify ServerConfig::GetFullProgDir to just return cwd, previously it did ↵w00t
a lot of voodoo that was a little hard to grasp, probably didn't quite accomplish what it should have, and broke on windows. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7063 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-13Replace strip/blockcolor tags with <options:exemptchanops>, sexy string of ↵w00t
modes to exempt chanops from (currently Sc are supported). git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7018 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-05-09Implement bug #282 from owine: kill sender hiding. <options:hidekills> needs ↵w00t
to be set to a static string to display instead of the killer's nick. QA: *IMPORTANT* please extensivly test local ***AND*** remote killing with this on and off. Thanks :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6921 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-30Fix one issue, add another feature: When sending MODE +beI, weed out ↵brain
duplicates with simple O(1) check so that users dont send MODE #chan +bbbbbbbbbbbb. Allow configuration of which listmodes you want to deny to below halfops. For example <options hidemodes="eI">. This is because blocking +b can break mirc, blocking +eI usually wont break it so severely. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6852 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-27Add support for hiding listmode lists such as +beI from unprivileged users.brain
See bug #258 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6849 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-15Feature request outlined in bug #257, allow connect/allow lines by portbrain
Needs QA test git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6798 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-05Fix for bug #199 (Feature request) submitted by owine. Ended up adding an ↵brain
extra parameter to <uline> for this. It turned into a biggie :P git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6742 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-01Add <options:fixedquit> and <options:suffixquit> to go along with the ↵brain
existing <options:prefixquit>. note that fixedquit overrides both suffix and prefix if set git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6722 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-08option to allow announce of invites to channel (similar to unreal)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6635 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19Addition of feature request outlined in bug #195, suggested by Brickerbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6602 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-11Allow for nick!user@host in TOPIC information.brain
Note that this adds another <options> tag value, 'hostintopic'. (defaults to yes) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6572 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26Also add support for default values for ConfValueBool and ConfValueInteger ↵peavey
in configreader, and for ReadFlag and ReadInteger in modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6116 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26Add possibility to define default value for ConfValue in configreader and ↵peavey
ReadConf in modules. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6113 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23Refactored /RESTART (and added InspIRCd::Restart(reason))brain
Fixed bug in m_ziplinks, assigning instead of testing a var (gcc 4.1.1 picked up on this, 3.4 didnt) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6067 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16Config option added for prefixed channel NOTICEs and PRIVMSGs to turn on/off ↵peavey
IRCU style of adding prefix to outgoing text. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6018 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16Add an optional parameter to ConfigReader::ReadValue which defines if we ↵brain
want linefeeds or not. Tidy up some duplicated code in configreader (error reporting) Change ModuleException to inherit from CoreException, have the configreader throw and catch its CoreException on fatal error git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6013 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15And now, just to force you to recompile the *whole* ircd.. updated headers ↵w00t
on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-13Improve the way 005 ISUPPORT is sent to users when they connect, cache it in ↵brain
a much more sane format which is much simpler to spool to them git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5978 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09Add the stuff required for the InspSocketHook interfacebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5890 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-11-22Removed <options:tempdir> - this hasn't been used since modules were updated ↵special
to not copy before load (quite awhile ago) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5785 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-15Tidy up some stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5753 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-15Comments, woo and yaybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5751 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-15All of the void* cast stuff gone!!!brain
Todo: comment all this stuff... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5750 e03df62e-2008-0410-955e-edbf42e46eb7