7199 Commits

Author SHA1 Message Date
brain
81951dafc1 We need to initialize the user twice, and we need to initialize the uid AFTER the config is read
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8573 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:02:58 +00:00
brain
e525fb7b74 Take out some printf gunk
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:57:57 +00:00
brain
a004ad524f Report failure to load configs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:57:22 +00:00
brain
1a0357cc2c Add a counter for errored files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:45:50 +00:00
brain
0e6f0d340b Whoops, make it pick up module-handled schemas correctly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8569 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 18:40:01 +00:00
brain
d1323ef03f This works properly now. Files in the file:// schema are loaded by the core.
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
2007-11-11 18:27:25 +00:00
brain
461e4aef03 More stuff for this. Its starting to take shape a bit now, and is tidier 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-11 18:11:42 +00:00
brain
05e88fcd54 Begin rethink on this. Warning, this WILL break your ircd if youre using trunk!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 17:53:57 +00:00
brain
5e1f2c1728 In prep for remote includes, configuration reading is now two-pass.
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-11 17:01:00 +00:00
brain
7eebbe7da1 Implement roadmap item: "userrec::HasPermission -> map of maps, for (even faster) access"
This is not a map of maps, but a single level map per oper, in non-opers this member is NULL.
Please note that this is not yet tested.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 15:44:43 +00:00
brain
7336f449eb Fix crashes from badly written safeiters
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 12:41:03 +00:00
brain
ba79ba9fc1 Make iterators safe in FOREACH_MOD etc macros, so that ModuleManager::Detach() wont screw up the iterator
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 01:29:50 +00:00
brain
31aeffb749 Fix owines crashes here too
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 20:34:30 +00:00
brain
c68005649f Fix crashes found by owine (usually on startup)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8559 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 20:04:39 +00:00
brain
b9ec32f3e1 Second test commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8557 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 17:32:10 +00:00
brain
768dd5a916 Test commit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8556 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 17:28:05 +00:00
brain
abc959a04d m_spy no longer implements SPYNAMES, instead it overrides normal NAMES on the event that: (1) you are an oper and (2) you are not actually ON the channel.
This way it will not break m_auditorium, m_delayjoin etc, however it will work properly with mircs annoying assumptions in its channel list


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8555 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 16:19:46 +00:00
brain
d36107cfe9 SPYLIST is no longer required in 1.2, remove
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8554 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 16:07:07 +00:00
brain
945a558759 Allow eline/gline/kline/zline by nick
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8553 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-10 15:43:20 +00:00
brain
b94c45340e Roadmap item "Fix jointhrottle to not try 'throttle' clients during a netmerge (requires changing join event to be aware of netmerge?)" -- 1.2 only
requires an extra parameter to OnUserJoin, bool sync. usually false, but FJOIN code during burst sets it to true.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8552 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 21:51:48 +00:00
brain
c708d7a3c0 Same here, fix some minor memory leaks noticed by w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8551 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 17:18:19 +00:00
brain
90063fd921 We should probably UseInterface last, too
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8549 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 17:06:26 +00:00
brain
ae821d38d9 Theres actually more to this. Before we throw, delete cu (the destructor WONT be called if we throw from a constructor, we must do this tidyup ourselves)
And move some other throws below OnRehash call


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8548 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 17:05:42 +00:00
brain
12923aae21 Same fix here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8547 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-09 17:04:17 +00:00
brain
91a3d1324b Rehash method added which frees unused memory from the hash_map. Has a delete-safe iterator. see comments.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8542 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-05 19:52:16 +00:00
brain
477681996b Why the hell the includes are half way down the damn file in modules.h is beyond me. lets fix this.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:33:40 +00:00
w00t
2cbafb754a BanCache: Add a negative hit for an IP address upon FullConnect.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8540 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:15:26 +00:00
brain
99e5c4d39f Fix the FIXME related to new module event and loading stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8539 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:07:27 +00:00
w00t
880ae2dab1 Integrate K/Gline into the bancache system by making some modifications to DefaultApply method. This means any type of XLine that uses DefaultApply can hook into the bancache system and add positive hits quickly and easily with no modification, which is neat.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8538 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 23:04:47 +00:00
brain
cd44daa962 On failure to load a module, DetachAll on the module pointer, also, try to free module handle
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8537 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:58:40 +00:00
brain
53afaa7cad Remove Implements() method from every module. booya.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8536 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:51:22 +00:00
brain
6f1b91fb14 wtf at the line endings in this bag of spanners
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8535 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:43:11 +00:00
brain
198cc96a62 And whoops, typo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8534 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:16:30 +00:00
brain
6fa2633311 Fix these to use new hook system (u_listmode wasnt fixed yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8533 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:15:46 +00:00
brain
71b7b578bd Get rid of global_implementation[] and implement_lists[] from here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8532 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 22:07:36 +00:00
brain
a3b4110d51 Instead of a vector of vectors, use an array of vectors as in the original spec on Development/Hooking.
This is faster, as only the inner list resizes, and this avoids calls to std::vector::operator[]


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8531 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:57:27 +00:00
brain
fe54be35fc Remove debug junk from ModuleManager::SetPriority
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8530 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:29:01 +00:00
brain
5c4b7d3003 Somehow, we missed one
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8529 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:26:24 +00:00
brain
59c6dc9853 Fix non-POD passing
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8528 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:25:29 +00:00
brain
12b9855339 Honking huge commit. Removal of DELETE() template that never worked right anyway
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8527 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:24:40 +00:00
brain
38d5fd9b40 Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8526 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:19:29 +00:00
brain
5b58824b6c Aaaand, the rest of it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8525 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:10:44 +00:00
brain
ad9715ffd1 MODERR tidyups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8524 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 21:07:54 +00:00
brain
c930256639 Fix the two FIXMEs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8521 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 20:19:25 +00:00
brain
d2858a7fef Remove some now redundant if (!empty) checks in FOREACH_MOD
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8520 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 20:10:20 +00:00
brain
051aa21ed3 Comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8519 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 20:02:03 +00:00
brain
17137ac101 Change this, risking a crash otherwise
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8518 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:53:58 +00:00
brain
d6a3643a4b Remove no longer required typedef
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8517 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:52:41 +00:00
brain
43d2d6ec89 Comment all the new stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8516 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:49:36 +00:00
brain
cc1413d350 Some more to fix still, modules probably wont load correctly atm
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8515 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-04 19:35:34 +00:00