summaryrefslogtreecommitdiff
path: root/include/configreader.h
AgeCommit message (Collapse)Author
2008-07-19Change modes in channels and users to use std::bitset instead of an array. ↵w00t
This saves 56 bytes per channel, and 112 bytes per channel, with no loss in speed or ease of use in code. :). Thanks (VERY) much to Special for telling me about this. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10043 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-18Implement <disabled:usermodes> and <disabled:chanmodes>.aquanight
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10032 e03df62e-2008-0410-955e-edbf42e46eb7
2008-07-12Add <cidr> block, and documentation in example config.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9980 e03df62e-2008-0410-955e-edbf42e46eb7
2008-06-08Check for invalid characters in keys, will catch config errors earlier and ↵brain
closer to the actual error line. Valid values in key names are [A-Za-z_] git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9863 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-26Dont increment maxmodes at finalisation, it isnt used in the same waybrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9810 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25All the limits were one less than specified in the config, so now we ↵brain
postincrement them all in configreader, this means we can just use them without all that +1 hackery in the code. This DOES mean that from a protocol perspective the figures look a little odd, but they always did. :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9809 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25Add parsing of <limits> tag and finish documenting it, make all the values ↵brain
match sensibly by starting them all 'max' rather than some starting with it, some ending with it... git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9808 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-25First phase of conversion to dynamic limits on all the lengths, configured ↵brain
via the <limits> tag (the tag isnt there yet, these all just run on defaults in the class constructor) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9802 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-20A few minor fixes, some copy constructor stuff, misnamed channelmanager ↵brain
constructor, add files to vc8 project, configreader tidyups git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9780 e03df62e-2008-0410-955e-edbf42e46eb7
2008-05-13Check for windows drive letters on the start of paths and treat them the ↵brain
same as paths that start with /, this makes insp more friendly for windows filesystems git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9724 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-15See configreader.cpp line 764 to see how to declare deprecated items. This ↵brain
is reasonably well thought out so i see no issue with leaving items here a very long time :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9507 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11(untested) don't move newconfig to ServerConfig::config_data until its been ↵brain
validated by all the validation funcs in the core config table git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9461 e03df62e-2008-0410-955e-edbf42e46eb7
2008-04-11Remove 'default log' and <options:loglevel> (wtf?)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9460 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24A load of classes dont inherit from classbase, and they should. fix.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9191 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-24This module uses io hooking too, fix it upbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9190 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-23Add ability to control what opertypes can set what operonly user/chan modes. ↵aquanight
This works the same way as commands, in that modes allowed by classes are added together, and * allows all. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9176 e03df62e-2008-0410-955e-edbf42e46eb7
2008-03-14Add fixes to stop people changing the SID of a live server - certain ↵brain
configuration values are silently ignored on rehash, namely the server name and server id. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9073 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-26Revert configure so that we can uh, actually compile.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9037 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24More stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9026 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24Rollback complete! Everyone please go through the code and check i havent ↵brain
forgotten to incorporate your tweaks and changes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9019 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-24Probably doesnt runbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9014 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-21More test suite stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8976 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-13Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵brain
warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Back out the AllowDevoiceSelf stuff, it wasn't going to work anyway. ↵w00t
Accidental commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8796 e03df62e-2008-0410-955e-edbf42e46eb7
2008-02-02Cache User::GetIPString()w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8795 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-27Change API OnOperCompare to OnPassCompare, password hashing is now available ↵aquanight
for <connect:allow>, <power die= restart=>, <title> (m_customtitle.so), <vhost> (m_vhost.so), this works the same was as for <oper>: load m_password_hash.so (after all hasher modules, of course), and add hash="md5/sha256/whatever" to the relevant tag. Also fix m_callerid.cpp crashing on unload. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8755 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-17Remove InspIRCd::WriteOpers in favour of snomask Ow00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8728 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Header update: 2007 -> 2008w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-10Implement <options:prefixpart|suffixpart|fixedpart>w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8690 e03df62e-2008-0410-955e-edbf42e46eb7
2008-01-03Patch turning Config->sid from size_t to char **. This also undoes the total ↵w00t
fuckery that occurs when someone tries to specify <server:id>. Automatic generation is not yet tested. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8619 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-18First part of stuff for remote includes (this doesnt work yet)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Currently crashes with multiple layers of include. don't use this yetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Provide a facility for modules to flag a config file completedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Report failure to load configsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11Add a counter for errored filesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11More stuff for this. Its starting to take shape a bit now, and is tidier ↵brain
than the craq i came up with before git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
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