brain
9b3f282196
Fixed all that, back to the crash we had before (yay?)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8583 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 20:52:21 +00:00
brain
8f0f9654f8
This fixed. Initialise dns at the end of pass 1 before loading first set of modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8582 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 20:35:54 +00:00
brain
ed94fb6c55
Tidyups
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8581 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 20:26:36 +00:00
brain
06f15a7fd0
Ok, this works except for it wont resolve hosts before full startup. argh why?!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8580 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 20:23:30 +00:00
brain
4cfe4cbc62
Hmm
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8579 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 20:15:21 +00:00
brain
8bc6254a59
m_http_client is crashy. will fix.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8578 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:58:13 +00:00
brain
845a4d1e60
Really should add this.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8577 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:36:07 +00:00
brain
60a6385be4
Provide a facility for modules to flag a config file completed
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8576 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:34:06 +00:00
brain
6408757295
More stuff incoming
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:24:30 +00:00
brain
621f93b72f
More stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 19:21:19 +00:00
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