summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2006-07-07Added masking stuff.brain
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
2006-07-07Mode parser WORKS! (for simple non-parameterized channel modes)brain
Tested with channel mode +s. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4126 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Header for cmode_s.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4124 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07change std::string's to const std::string references for *Feature() funcsom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4121 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07Added InspSocket::WantWrite(), InspSocket::OnWriteReady() and private data ↵brain
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
2006-07-07modules.*: Put some void* back to char*, sorry if they were only like that ↵om
because of me... :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4119 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-03Change InspSocket's private members to only be protected, I couldn't find ↵om
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
2006-07-01relocate the Move* methods to private: where they belong, rename ↵brain
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
2006-07-01Make WritePID a public function of class InspIRCdbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Move SetSignals(), Start() and DaemonSeed() into private methods of class ↵brain
InspIRCd, move MakeLowerMap() into private: section git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01Change WriteChannelWithServ and it's _NoFormat to take a const char* ↵om
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
2006-07-01Replace rather craq'y loop with a couple of std::string callsom
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
2006-06-30Tweak to IS_LOCAL macro to exclude invalid fd's that are > MAX_DESCRIPTORSbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4091 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29And add the include to make all the modules compile...om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4085 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29This already adds the file and line number itself, call do_log() rather than ↵om
log() then git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4084 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29Change log() to a #define, the real symbol is now do_log(), the new macro ↵om
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
2006-06-29Convert char* to const char* in InspSocket constructor prototype. Shouldn't ↵om
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
2006-06-27Added auto-binding, picks the first ip in the <bind> tags that isnt ↵brain
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
2006-06-21Added Server::PublishFeature(),brain
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
2006-06-20Class Request and class Event now take a void* in their constructor to save ↵brain
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
2006-05-11Increase length of dhostbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3955 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-10Fix output corruption when host is exactly 64 chars longbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3944 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-25Check for NULL, set pointers to NULL after deletionbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3908 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24Fix various typos and warningsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3907 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24Typo in the macro :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3905 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24delete operator tracking in debug mode (using a macro -- live with it.)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-20Movement of cmd_* headers into include/commands (this is incomplete)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3896 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-12Made FindMatching(Global|Local) available via users.hbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3872 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-11Die windows die.om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3871 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10Route some more stuff through socket.h and hash_map.h. Add #define ↵om
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
2006-04-10Routing more socket includes through socket.hom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10Typedef an ugly iterator, dont send mode string if no modes were in the ↵brain
output sequence git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3867 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10A few more typedefs defined and put into use.om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3866 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10Add time.h include to inspircd.h. Random cleanups in channels.cpp, mostly ↵om
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
2006-04-10Assorted changes here, Extend() is not templated so you can pass it any ↵om
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
2006-04-10More fixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3863 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10Extra allowance for modes which have different number of params when being ↵brain
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
2006-04-10Start of new mode parserbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3857 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-09Om's way is better and lets watchers change mode parameters for the modes ↵brain
theyre watching git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3856 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-09Start of mode parser refactoringbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3855 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-09Shuffle some more includes around, const reference a few functions in inspircd.*om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3854 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08Remove references to inspircd_io from these, stop configure making all the ↵om
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
2006-04-08Obsoleteom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3852 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08Remove uneccessary socket includes now included in socket.hom
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3851 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08...om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3850 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08And remember to add this one, just a little header with the #ifdef GCC3 ... ↵om
stuff that's repeated in about 56543432 places git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3848 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-08Split inspircd_io.* insp inspsocket.* and configreader.* with a few odd bits ↵om
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
2006-04-08- first steps towards a working IPv6 port. I'll work more on this tomorrow. :-Pnenolod
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3845 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-07Slight optimisation to config reader, looks nicer even if it's not faster.om
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
2006-04-04move do_whois to cmd_whois, i'm stopping now. really.om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3825 e03df62e-2008-0410-955e-edbf42e46eb7