summaryrefslogtreecommitdiff
path: root/src/configreader.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Report failure to load configsGravatar brain2007-11-111-4/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
* Add a counter for errored filesGravatar brain2007-11-111-1/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, make it pick up module-handled schemas correctlyGravatar brain2007-11-111-9/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8569 e03df62e-2008-0410-955e-edbf42e46eb7
* This works properly now. Files in the file:// schema are loaded by the core.Gravatar brain2007-11-111-5/+12
| | | | | | | | | | Anything else will be loaded by a module, this isnt done yet. For remote includes to work, your <module> tags for the remote includes modules must be in the base inspircd.conf file. This is the only file gauranteed to be avaialble in pass 1 of the two pass config read. At the end of pass 1, all files are opened/downloaded and placed into a map. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8568 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff for this. Its starting to take shape a bit now, and is tidier ↵Gravatar brain2007-11-111-17/+54
| | | | | | than the craq i came up with before git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8567 e03df62e-2008-0410-955e-edbf42e46eb7
* Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!Gravatar brain2007-11-111-376/+367
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
* In prep for remote includes, configuration reading is now two-pass.Gravatar brain2007-11-111-366/+404
| | | | | | | | | 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
* MODERR tidyupsGravatar brain2007-11-041-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8524 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the two FIXMEsGravatar brain2007-11-041-6/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8521 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove our vectors of Module*/ircd_module*, replace with a map of ↵Gravatar brain2007-11-041-2/+3
| | | | | | std::pair<ircd_module*, Module*> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8513 e03df62e-2008-0410-955e-edbf42e46eb7
* More anal config parsing, validates channel fields, ip address fields ↵Gravatar brain2007-11-031-60/+229
| | | | | | (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
* Tidy up, and make the identifer for a line type be std::string not charGravatar brain2007-11-021-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8459 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix up to pass User*Gravatar brain2007-10-311-4/+4
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8442 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2007-10-311-0/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8429 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixified some moreGravatar brain2007-10-311-4/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8428 e03df62e-2008-0410-955e-edbf42e46eb7
* Clean up XLine conf stuff a little bit, move most of it to configreader. ↵Gravatar w00t2007-10-311-3/+51
| | | | | | 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
* Fix for bug in windows with backslash directory seperators in config path ↵Gravatar brain2007-10-271-9/+4
| | | | | | when used with <include> tag and a relative include path, reported by daurnimator git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8386 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix crashes and broken code in connect:parent stuff that got broken with ↵Gravatar brain2007-10-261-5/+9
| | | | | | introduction of connect:limit and slight refactor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8382 e03df62e-2008-0410-955e-edbf42e46eb7
* Make install list list automatically generated from build targets and ↵Gravatar brain2007-10-251-0/+8
| | | | | | | | | | provide facility for installing extra files. Using this, cert.pem and key.pem are only copied to the conf dir if you enabled an ssl module. Also, this provides facility for a 'make deinstall' which should be safe for use in all situations as it always specifies a file by name and never uses wildcards to rm. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8362 e03df62e-2008-0410-955e-edbf42e46eb7
* Implement <connect:limit> - limits how many clients can sit inside a ↵Gravatar w00t2007-10-241-4/+6
| | | | | | <connect> tag. Brain, we have a problem here in that if we User::QuitUser() a user with a NULL MyClass member (connect class), then things break (like sendq et al). What should we do with this, create a generic catchall class or something just in case? (to replicate, set up a single connect class with a low limit, and connect too many clients. Crash is the result) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8357 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove that goto, capt'nGravatar w00t2007-10-241-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8356 e03df62e-2008-0410-955e-edbf42e46eb7
* Disable all connect classes, reenable them as we find them in the config. ↵Gravatar w00t2007-10-241-1/+6
| | | | | | This stops users using a connect class removed from the conf (or will in a second) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8355 e03df62e-2008-0410-955e-edbf42e46eb7
* Finish reference counting connect class stuff. Now rehash removes unused ↵Gravatar w00t2007-10-241-1/+23
| | | | | | | | classes (refcount == 0), and re-reads any new shit (or ones that just got removed) from the config. Possibly todo in the future: make /rehash update classes that exist in memory, make /rehash mark classes removed from conf (but still exist as refcount > 0) as inactive. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8354 e03df62e-2008-0410-955e-edbf42e46eb7
* Try this w00t, compiles, test running nowGravatar brain2007-10-241-8/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8343 e03df62e-2008-0410-955e-edbf42e46eb7
* Start of refcount-based rehash stuff for <connect> tags, this is broken and ↵Gravatar w00t2007-10-241-3/+19
| | | | | | rather ugly right now.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8342 e03df62e-2008-0410-955e-edbf42e46eb7
* Visual studio doesnt like throw definitions like thisGravatar brain2007-10-231-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8324 e03df62e-2008-0410-955e-edbf42e46eb7
* Pedantic safeGravatar brain2007-10-231-40/+45
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8314 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove the need for a bunch of the hard coded arrays/hashes by scanning the ↵Gravatar brain2007-10-221-0/+2
| | | | | | src/ dir for tag comments, like in modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8307 e03df62e-2008-0410-955e-edbf42e46eb7
* Move oper classes and types stuff from users to configreader. It may need to ↵Gravatar w00t2007-10-151-0/+71
| | | | | | go in a class, I'm not going to investigate that now. Also make HasPermission() a bit easier to read via same changes I did in command_parse, but the strtok/strdup stuff really really has to go somehow I think.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8215 e03df62e-2008-0410-955e-edbf42e46eb7
* InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ↵Gravatar w00t2007-10-151-6/+6
| | | | | | ident etc will use. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
* In the grand tradition of huge fucking commits:Gravatar w00t2007-10-151-4/+4
| | | | | | | | - chanrec -> Channel - userrec -> User Enjoy. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
* class command_t -> class Command. Whey :DGravatar w00t2007-10-151-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
* Move everything module-related out of InspIRCd and into ModuleManager, there ↵Gravatar om2007-08-281-5/+4
| | | | | | | | is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so); All modules in the core distribution should also be updated in line with these changes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
* Fixes 1Gravatar brain2007-08-281-3/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7964 e03df62e-2008-0410-955e-edbf42e46eb7
* Tidy up duplicate code, provide GetSID() method on ServerConfig which ↵Gravatar brain2007-08-281-0/+8
| | | | | | returns the SID always 3 digits long git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7959 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <server:id> - this is optional, as stated in the example conf,Gravatar brain2007-08-271-0/+13
| | | | | | | 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
* Remove more unnecessary header trafficGravatar w00t2007-08-271-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7887 e03df62e-2008-0410-955e-edbf42e46eb7
* Add options:maxtargets that was somehow omitted, fixes bug #400 (Reported by ↵Gravatar brain2007-08-271-0/+1
| | | | | | DarkStorm) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7877 e03df62e-2008-0410-955e-edbf42e46eb7
* Added new announceinvite setting i discussed briefly with w00t and i like ↵Gravatar brain2007-08-261-0/+2
| | | | | | | | | | | | | | | 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
* Add option to set invite announcements to nobody, ops only, or all users, ↵Gravatar brain2007-08-261-1/+16
| | | | | | 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
* Revised fix for bug #367 pointed out during qa by owine, thanks :)Gravatar brain2007-08-261-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7830 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops, i left a value out of the array, and gcc didnt warn!Gravatar brain2007-08-201-6/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7768 e03df62e-2008-0410-955e-edbf42e46eb7
* Whoops! trunk-only fix to config reader so it doesnt bomb out if you omit an ↵Gravatar brain2007-08-201-1/+6
| | | | | | optional tag git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7767 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <connect:maxchans> as per feature bug #338 - combined with the last ↵Gravatar brain2007-08-191-5/+5
| | | | | | 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
* Allow changing of an oper's host on oper up using <type:class> (give it a ↵Gravatar brain2007-08-191-1/+1
| | | | | | connect allow or deny line name) - implements bug #367 git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7760 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <connect:inherit> and <connect:name>Gravatar brain2007-08-191-2/+16
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7758 e03df62e-2008-0410-955e-edbf42e46eb7
* Add extra stuff to make it work (and compile)Gravatar brain2007-08-191-6/+20
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7757 e03df62e-2008-0410-955e-edbf42e46eb7
* Pick up a few error conditions we didnt before in the config reader, and ↵Gravatar brain2007-08-191-24/+30
| | | | | | 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
* Allow rehash to attempt to load missing (and new) lib/cmd_*.so files, to ↵Gravatar brain2007-08-111-0/+3
| | | | | | allow users to fix an emergency situation you can create by trying to reload a corrupt .so without needing a restart git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7712 e03df62e-2008-0410-955e-edbf42e46eb7
* Check for remote and sighup rehashes here, so that it doesnt crash if there ↵Gravatar brain2007-08-071-1/+1
| | | | | | are ports that cant be bound git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7684 e03df62e-2008-0410-955e-edbf42e46eb7