danieldg
b4be0c94ab
Module API changes to use Membership* where sensible
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:11 +00:00
danieldg
91df762e93
Membership* changes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:47 +00:00
danieldg
6d57bbe05c
Change Extensible to use strongly typed entries
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:25 +00:00
danieldg
c11ec1cd38
Fix invalid iterator in select socketengine, clean up its memory use a bit too
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11687 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-09 19:28:42 +00:00
w00t
b49d529981
Likewise, convert OnLocalTopicChange to OnPreTopicChange and to be run for both local and remote changes, for API consistency.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11678 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 22:48:00 +00:00
w00t
b6decc75f2
Change OnPostLocalTopicChange to be OnPostTopicChange, invoked for both remote and local events. Will be needed for some xline trickery.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11677 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 22:47:46 +00:00
danieldg
17fd32bf74
Remove HandleInternal and HandleServer, they are duplicated by Request* and FakeUser
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11672 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 21:06:44 +00:00
danieldg
1c1c5fc3f0
Remove CMD_LOCALONLY, enforce use of GetRouting for routed commands
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11671 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 15:53:15 +00:00
danieldg
f4472dd6dc
Change cmd_*.so to use the Module object API
...
Create Module* objects for each command, and load them like modules.
This unifies the external API for modules.
Library directory is now deprecated: all modules are located in a
single module directory.
Header files for each command are no longer needed; remove.
This also fixes two potential segfaults in m_spanningtree.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11668 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 02:30:12 +00:00
danieldg
3e26f42a8f
Include VERSION/REVISION information in module version tag, so that we do no longer rely on $Id$
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11666 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 18:33:16 +00:00
danieldg
9dde0b1b33
Add inspircd_config.h to hash_map so that it can be used independently
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11662 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 15:37:31 +00:00
brain
bec20ca453
Add more comments here
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11659 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 01:06:02 +00:00
danieldg
0377d937c5
Remote user messaging fixes
...
Add format string output to DumpText
Fix PI->PushToClient prefixing issue
Fix ENCAP routing to use SID rather than server name
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11658 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:53:03 +00:00
danieldg
cdf850dcbb
Add OnChangeIdent and FIDENT support
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:52:12 +00:00
danieldg
df0489220c
Make CHECK work remotely with optional second parameter
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11651 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:52:04 +00:00
danieldg
1b3dabf0ba
Add OnSendWhoLine hook, and use it in the oper hiding modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11650 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:51:56 +00:00
danieldg
54e89b822e
Change SAMODE to source from the acting user, not the server
...
This is a merge of the OOMODE command into SAMODE.
This fixes SAMODE not working because of mode merging.
An additional access check for umode changes is added for this command.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11647 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:51:33 +00:00
danieldg
95f69d02e9
inline Channel::IsModeSet
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11643 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:51:04 +00:00
danieldg
94a601fb3b
Rip out VisData in preparation for replacing it with more flexible hooks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11640 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:43 +00:00
danieldg
c32734fb23
Fix some ICC-found warnings and remove unused #define
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11639 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:35 +00:00
danieldg
1662f21eed
Remove now-unused quitmsg/operquitmsg fields from User
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11637 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:21 +00:00
danieldg
db7cc57f44
Move user quit logic out of cull list
...
This changes the cull list from a list of User* that ran special cleanup
to a list of classbase* that simply deletes the objects.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11636 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:12 +00:00
danieldg
86775e2e98
ModResult conversion: Change return type of all module functions
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:49:36 +00:00
danieldg
3d8ec5dbd9
Remove "servermode" parameter, replace with IS_FAKE() which is more reliable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11633 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:49:24 +00:00
danieldg
24731c63b6
Add Module* creator to Command and ModeHandler
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11631 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:48 +00:00
danieldg
79f9faeec8
Record module source file in the Module object
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11630 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:39 +00:00
danieldg
06e0d5c7f0
Use a set to mark client SSL ports rather than going by textual IP/port pairs
...
This theoretically speeds up accepting connections. Visible changes are proper
IPv6 port text in 005 output and no possibility of incorrect SSL on addresses
that mismatch an incoming port (possible with IPv4 wildcard SSL and IPv6
plaintext on the same port, not that anyone would do such a thing). Bind ports
also now tell which SSL module they use in /stats p.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11629 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:32 +00:00
danieldg
c4cb1f9477
Change OnHookUserIO to OnHookIO, making it usable for more than User* and less picky on string matching
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:23 +00:00
danieldg
ca749a589a
Add irc::sockets::satouser for user-readable IP/port pairs
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11627 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:16 +00:00
danieldg
8eeb07be8c
Route whois notices using ENCAP WHOISNOTICE to properly fix remote user PrivPermission bug
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11625 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:48:02 +00:00
danieldg
94bb5343b1
Remove calls to strdup() in core, it is not better than std::string
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11623 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:47:45 +00:00
danieldg
2455cd671f
Remove strnewdup(), it is a good source of possible memory leaks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11622 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:47:36 +00:00
danieldg
e07a1a5ffa
Add VF_OPTCOMMON for optionally common modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11619 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:47:14 +00:00
danieldg
68e47f5ec2
Valgrind cleanup: finish destructor creation
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11615 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:44 +00:00
danieldg
ae6acab1ba
Valgrind cleanup: deallocate RFC modes, clientlist, and uuidlist
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11614 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:36 +00:00
danieldg
1ea2fca767
Valgrind cleanup: Add RemoveRFCCommands() to dlclose() and delete the core commands
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11613 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:29 +00:00
danieldg
b31f343eac
Remove unneeded Extensible inheritance and remove "age" field from classbase
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11611 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:46:11 +00:00
danieldg
f25c4b7a22
MetaData rework
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:37 +00:00
danieldg
6e85701ecb
Remove a few unneeded string copies in the PRIVMSG path
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11606 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:29 +00:00
danieldg
8c149db461
Strong typing for stacked module results
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11605 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:22 +00:00
danieldg
cfa482e186
Add User::DoHostCycle
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11604 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:45:16 +00:00
danieldg
b5e2200087
Allow commands to optionally route themselves using ENCAP
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11602 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:59 +00:00
danieldg
8cebe2878f
Include explicit routing information in Command, will replace CMD_LOCALONLY return value
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11601 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:50 +00:00
danieldg
5d67a5fff1
Remove unneeded ProtocolInterface::Introduce
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11600 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:40 +00:00
danieldg
a02ed18a1a
Remove unused I_ProtoSendMetaData, I_ProtoSendMode fields of Implementation
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11599 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:32 +00:00
danieldg
e27f338073
Replace FOREACH_RESULT_MAP with a more readable and flexible do_each_hook/while_each_hook macro pair
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11598 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:24 +00:00
danieldg
5abd3b1cc5
Add "created" parameter to OnUserJoin, to avoid explicit checks for +P
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11597 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:15 +00:00
danieldg
fbe8169b82
Use CheckTimeStamp to merge modes on netburst
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11596 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:44:06 +00:00
danieldg
e35dd5cbb8
Rework mode parser into slightly smaller chunks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11594 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:43:41 +00:00
danieldg
219993bc90
Replace std::deque with std::vector in spanningtree and related modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11593 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:43:25 +00:00