brain
56917208cd
Add cmode +v - that's all the RFC channel modes done now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4172 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 16:46:05 +00:00
brain
2d4621658d
Add support for cmode +h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4170 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 16:10:34 +00:00
brain
2f32d64790
Add cmode +o (op/deop) and in the process change a lot of char* to const char* to avoid unneccessary casts
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4165 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 15:05:33 +00:00
brain
4260fd6227
Add channelmode +l
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4163 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 14:20:25 +00:00
brain
abe417a809
Add chmode +k, cut down includes in use in mode.cpp
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4162 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 14:03:05 +00:00
brain
fd411d067c
ModeHandler documented
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4161 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 01:22:46 +00:00
brain
40320969da
Add support for channelmode +i
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4159 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 22:55:47 +00:00
brain
7f4ee2f9f2
Add channel modes +n and +t
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4156 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 22:46:35 +00:00
brain
21480d6f65
Move BanItem into the class
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4152 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 21:51:33 +00:00
brain
2fd5ed7aa9
Started work on ModeParser::CleanMask()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4145 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 21:03:00 +00:00
brain
53e8c67c58
Comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4144 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 20:50:25 +00:00
brain
adb17635ee
Added cmode_m (channel mode +m)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4141 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 20:03:17 +00:00
brain
8f9d0a68cd
Mode +b stuff, probably wont work yet
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4133 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 17:37:20 +00:00
brain
2d27d1f9f4
Add cmode_p (private)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4131 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 15:35:36 +00:00
brain
7666e1ad84
Aaaand, correct all the obligitary typos
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4129 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 15:29:42 +00:00
brain
a1af610ac1
Added masking stuff.
...
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-07 15:27:05 +00:00
brain
ace3781303
Mode parser WORKS! (for simple non-parameterized channel modes)
...
Tested with channel mode +s.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4126 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 15:04:36 +00:00
brain
2d05d8bc33
Header for cmode_s.cpp
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4124 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 14:31:05 +00:00
om
56ded38a45
change std::string's to const std::string references for *Feature() funcs
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4121 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 13:34:10 +00:00
brain
13153694df
Added InspSocket::WantWrite(), InspSocket::OnWriteReady() and private data 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-07 00:18:14 +00:00
om
7e709ca655
modules.*: Put some void* back to char*, sorry if they were only like that because of me... :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4119 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-07 00:16:28 +00:00
om
cba550cb97
Change InspSocket's private members to only be protected, I couldn't find 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-03 16:39:09 +00:00
brain
dc42f264d7
relocate the Move* methods to private: where they belong, rename 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-01 15:07:09 +00:00
brain
75eb9178d5
Make WritePID a public function of class InspIRCd
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4097 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 15:01:32 +00:00
brain
55de6781e0
Move SetSignals(), Start() and DaemonSeed() into private methods of class InspIRCd, move MakeLowerMap() into private: section
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4096 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 14:56:33 +00:00
om
903dbea2b1
Change WriteChannelWithServ and it's _NoFormat to take a const char* 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-01 14:40:53 +00:00
om
3cf1ae0470
Replace rather craq'y loop with a couple of std::string calls
...
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-07-01 11:42:09 +00:00
brain
98c703511c
Tweak to IS_LOCAL macro to exclude invalid fd's that are > MAX_DESCRIPTORS
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4091 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-30 18:20:27 +00:00
om
63a3d49a01
And add the include to make all the modules compile...
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4085 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29 15:01:28 +00:00
om
042de68ee5
This already adds the file and line number itself, call do_log() rather than log() then
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4084 e03df62e-2008-0410-955e-edbf42e46eb7
2006-06-29 14:23:35 +00:00
om
7c0a77920d
Change log() to a #define, the real symbol is now do_log(), the new macro 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-29 08:30:25 +00:00
om
4a58726d8b
Convert char* to const char* in InspSocket constructor prototype. Shouldn't 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-29 07:00:25 +00:00
brain
c55f9831ab
Added auto-binding, picks the first ip in the <bind> tags that isnt 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-27 17:45:59 +00:00
brain
fbc5d6b616
Added Server::PublishFeature(),
...
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-21 12:31:54 +00:00
brain
b0d03755f2
Class Request and class Event now take a void* in their constructor to save 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-06-20 11:26:57 +00:00
brain
1ee80d5d5f
Increase length of dhost
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3955 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-11 21:43:46 +00:00
brain
a5f22007f0
Fix output corruption when host is exactly 64 chars long
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3944 e03df62e-2008-0410-955e-edbf42e46eb7
2006-05-10 22:59:53 +00:00
brain
1ee66f376b
Check for NULL, set pointers to NULL after deletion
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3908 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-25 09:52:16 +00:00
brain
8b02407d93
Fix various typos and warnings
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3907 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24 17:28:49 +00:00
brain
4b45dc1234
Typo in the macro :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3905 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24 13:30:04 +00:00
brain
5d407fb44c
delete operator tracking in debug mode (using a macro -- live with it.)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3904 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-24 13:28:07 +00:00
brain
65923c4d39
Movement of cmd_* headers into include/commands (this is incomplete)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3896 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-20 18:46:25 +00:00
brain
bad99c30c7
Made FindMatching(Global|Local) available via users.h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3872 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-12 00:37:36 +00:00
om
8403cf142a
Die windows die.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3871 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-11 22:50:27 +00:00
om
09dd16b981
Route some more stuff through socket.h and hash_map.h. Add #define 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-10 22:50:41 +00:00
om
9063972162
Routing more socket includes through socket.h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3868 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10 22:16:34 +00:00
brain
129416e519
Typedef an ugly iterator, dont send mode string if no modes were in the output sequence
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3867 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10 20:43:03 +00:00
om
ecb76110fd
A few more typedefs defined and put into use.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3866 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10 20:38:26 +00:00
om
e7f08977f2
Add time.h include to inspircd.h. Random cleanups in channels.cpp, mostly 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-10 20:08:30 +00:00
om
5fb54ac29a
Assorted changes here, Extend() is not templated so you can pass it any 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-10 19:30:48 +00:00