Age | Commit message (Collapse) | Author |
|
Basically, so that we can hold user modes and channel modes in the same list, we use bitwise masking.
We have a list of handlers, 256 in size 0 through 255, and to work out where a mode handler is dependent
on WHAT it is, we use this simple hashing algorithm (no collisions can occur):
(modeletter - 65) | mask
Where mask is 128 (10000000b) if its a user mode, or 0 (00000000b, duh) if its a channel mode.
Smart, and much faster than using a map of pairs.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4128 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
Tested with channel mode +s.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4126 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4124 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4121 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
methods to make it work.
See the XXX'ed section for a bit of minor craq
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4120 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
because of me... :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4119 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
any other way to do this before we get around to rewriting the socket engine.
Commit very first, very alpha, not-very functional version of the PostgreSQL module. It compiles..and that's..err..about it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4112 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
erase_factory and erase_module to be more appropriate EraseFactory and EraseModule methods
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4098 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
InspIRCd, move MakeLowerMap() into private: section
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
servername rather than char* - although it doesn't seem to be used :<
Lose some more casts in m_spanningtree, unneeded because of above changes
Make xline_set_creation_time() take const char* rather than char* for it's first parameter, lose more casts in spanningtree because of this
Make do_whois take a const char* rather chan char* nick, lose yet more casts
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4095 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
Change GetServerDescription to take const char* rather than char*
Change userrec::server from char* to const char*, this is more 'correct' as it's not safe to modify it (pointer as returned by std::string::c_str())
Change WhoWasGroup::server, see above about userrec::server
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4094 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4091 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4085 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
log() then
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4084 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
auto-prefixes all log messages with the file and line number where log() was called - should be nice for debugging and telling wtf is coming from what.Currently uses a (probably very standard) g++ extension to make the macro work. Shouldn't be an issue.
You must make clean and rebuild all of insp.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4081 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
break anything but ought to help lose some ugleh casts... >:)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4080 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
localhost or INADDR_ANY, and auto binds to that IP to allow us to put back the security tweak
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4064 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
Server::UnpublishFeature(),
Server::FindFeature().
See comments in modules.h for usage
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4041 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
on a cast.
Please note that the data type *returned* by GetData() in both cases is still char*, as
C++ will not let you return a void*. This to be addressed by someone else with templates
when they have the time.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4038 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3955 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3944 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3908 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3907 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3905 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3896 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3872 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3871 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
protection to timer.h and remove some unneeded includes and externs from timer.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3869 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
output sequence
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3867 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3866 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
using the typedef'ed names already defined rather than having the full template names everywhere. Remove some unneeded casts too.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3865 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
pointer type and it will automatically be cast to char* for you. Also some speedups, store an iterator rather than calling find() once to check if it exists and again to access the value.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3864 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3863 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
set to being unset (read as: jro smoking craq)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3858 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3857 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
theyre watching
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3856 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3855 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3854 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
modules depend on it too. And remove some more un-needed includes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3853 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3852 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3851 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3850 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
stuff that's repeated in about 56543432 places
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3848 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
going into inspircd.*, doesn't look like I've broken anything... :P
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3847 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3845 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
Make ./inspircd script use -nolog (it already used -debug, which didn't exist until now!?)
Add commandline options -nolog and -debug, -debug forces all log messages to be output regardless of level. -nolog stops the logfile
being written, so you can run with -debug without filling up your disk.
make clean && make install, apparently some of the core doesn't depend on inspircd_io.h in the makefiles..so it'll probably segfault if
you don't.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3841 e03df62e-2008-0410-955e-edbf42e46eb7
|
|
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3825 e03df62e-2008-0410-955e-edbf42e46eb7
|