aboutsummaryrefslogtreecommitdiff
path: root/src/configreader.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Hopefully fix crashes on startup with some connect tags (I think when the ↵Gravatar om2008-01-031-3/+8
| | | | | | last connect tag in your config isn't actually used for anything, but I didn't really look into when this is an issue) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8622 e03df62e-2008-0410-955e-edbf42e46eb7
* Minor tweakGravatar w00t2008-01-031-3/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8621 e03df62e-2008-0410-955e-edbf42e46eb7
* SID generation should(?) now work again as well. NOTE: no error checking on ↵Gravatar w00t2008-01-031-13/+3
| | | | | | SID from config yet, we may wish to do that sometime.. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8620 e03df62e-2008-0410-955e-edbf42e46eb7
* First part of stuff for remote includes (this doesnt work yet)Gravatar brain2007-11-181-35/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8601 e03df62e-2008-0410-955e-edbf42e46eb7
* Argh, i give upGravatar brain2007-11-121-7/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8594 e03df62e-2008-0410-955e-edbf42e46eb7
* More craqGravatar brain2007-11-121-1/+13
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8593 e03df62e-2008-0410-955e-edbf42e46eb7
* NOTE: our stuff for parsing multiple dns replies for dnsbl with an 'A record ↵Gravatar brain2007-11-121-44/+19
| | | | | | | | | reply' is broken. We will fix this at some later date. It was breaking other stuff git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8591 e03df62e-2008-0410-955e-edbf42e46eb7
* This works with multiple remote includes now except it hangs when an include ↵Gravatar brain2007-11-111-13/+27
| | | | | | is within an include git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8590 e03df62e-2008-0410-955e-edbf42e46eb7
* Currently crashes with multiple layers of include. don't use this yetGravatar brain2007-11-111-26/+63
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8589 e03df62e-2008-0410-955e-edbf42e46eb7
* Make sure we dont leak ram after loading filesGravatar brain2007-11-111-0/+9
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8587 e03df62e-2008-0410-955e-edbf42e46eb7
* This fixed. Initialise dns at the end of pass 1 before loading first set of ↵Gravatar brain2007-11-111-0/+2
| | | | | | modules git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8582 e03df62e-2008-0410-955e-edbf42e46eb7
* Provide a facility for modules to flag a config file completedGravatar brain2007-11-111-0/+22
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff incomingGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2007-11-111-4/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
* 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