danieldg
810c662c9b
Add FD_WANT_SINGLE_WRITE to efficiently replace FD_WANT_POLL_WRITE
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11762 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:12:45 +00:00
danieldg
f0bd730338
Take advantage of FD_READ_WILL_BLOCK and FD_WRITE_WILL_BLOCK to reduce syscalls run by gnutls
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11761 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:12:32 +00:00
danieldg
939cb0ba98
Clean up SocketEngine interface to allow edge-triggered I/O and sockets that do not force readability.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11760 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 01:43:09 +00:00
danieldg
7d93921aab
Describe module purpose in /MODULES output
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-22 01:05:35 +00:00
danieldg
cb1a0e5612
Fix RSQUIT/RCONNECT routing
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11755 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21 19:54:24 +00:00
danieldg
4f6589e123
Don't try to write to dead users, add debug to SquitServer, and remove a string copy in spanningtree write
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11753 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21 17:16:28 +00:00
danieldg
e2af2347fc
Create StreamSocket for IO hooking implementation
...
Fixes the SSL SendQ bug
Removes duplicate code between User and BufferedSocket
Simplify SSL module API
Simplify EventHandler API (Readable/Writeable moved to SE)
Add hook for culled objects to invoke callbacks prior to destructor
Replace SocketCull with GlobalCull now that sockets can close themselves
Shorten common case of user read/parse/write path:
User::Write is now zero-copy up to syscall/SSL invocation
User::Read has only two copy/scan passes from read() to ProcessCommand
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21 13:26:31 +00:00
danieldg
13618fb4e5
Add channames module [jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11749 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21 02:08:55 +00:00
danieldg
a068c47d71
Separate spy channels [jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11747 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-18 17:07:13 +00:00
danieldg
682808a251
Remove SID from /map for non-opers, and add it to non-spanningtree for opers [dKingston]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11745 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-17 23:50:43 +00:00
danieldg
164e9d9171
Add <autoconnect> blocks [jackmcbarn]
...
Replaces <link:failover> and <link:autoconnect>
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11741 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-17 22:33:35 +00:00
danieldg
c9a998effe
Don't let R-lines be bancached [jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11737 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-16 22:50:58 +00:00
danieldg
31c75f6ef5
Add support for zline on rline [jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11736 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-16 22:50:51 +00:00
danieldg
3841c4b04a
Attempt to revert r11734
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11735 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-16 22:42:36 +00:00
danieldg
558a44bf47
Merge commands and modules in source, since they are already merged in install
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11734 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-16 20:16:26 +00:00
danieldg
3626aeb9ce
Fix iteration of ServerInstance->Users->local_users now that QuitUser can modify the vector
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11732 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-16 13:45:46 +00:00
danieldg
423d9be3b1
Make end of netburst SNOMASK REMOTELINK unless servers are directly linked [jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11731 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15 21:44:44 +00:00
danieldg
01c23b31f7
Remove Extensible items from user, channel, and Membership on module unload
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11730 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15 21:25:30 +00:00
brain
9a1d63bd22
Where there are hidden servers, report the /map server count as the hidden count if the user cant see these servers. and
...
calculate the user average over this number of servers too. -- Reported by Syloq, thanks!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11727 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15 17:30:25 +00:00
danieldg
bdc4f40090
Fix quoting in permchannels DB, discovered by jackmcbarn (could result in command execution)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11726 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-15 16:24:17 +00:00
danieldg
3db2daca8f
Improve link error message on SSL fingerprint mismatch
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11723 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-14 20:25:09 +00:00
danieldg
63d3e056b7
Introduce "X" snomask for remote *:line messages [patch by jackmcbarn]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11721 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-14 17:09:16 +00:00
danieldg
7c8a2de390
Fix OnHostCycle in m_delayjoin [patch by dKingston]
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11720 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-14 17:09:09 +00:00
danieldg
55ec1a40e5
Fix compile warning
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11719 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-14 17:09:01 +00:00
danieldg
6eae25cd36
Fix access checks on chanprotect preventing use of SAMODE
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11717 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:56 +00:00
danieldg
75a158fe63
Fix automated metadata decoding with ExtItem
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11715 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:41 +00:00
danieldg
2307fd05b2
Fix REMOVE maxparams
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11714 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:34 +00:00
danieldg
49a21413ee
Fix cloaking/invite exception for new extban checks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11713 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:27 +00:00
danieldg
2d732f4dbf
Change match direction of extbans to allow stacking
...
This allows you create stacked bans like:
+b m:r:*bot* to mute anyone with bot in their gecos
+e S:j:+#staff to allow voices in #staff to use color
It also deprecates extban M, which can be implemented using m:R:
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:33:11 +00:00
danieldg
f4ccba3b6c
GnuTLS: Send SSL client certificate when requested
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11708 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:48 +00:00
danieldg
069a2ef214
Clean up Command constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11707 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:27 +00:00
danieldg
40dc59986b
Forgotten Extensible::Register invocations
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11705 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:11 +00:00
danieldg
0ed3ef9dee
Add SerializeFormat for easier metadata formatting
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11704 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:32:03 +00:00
danieldg
d9e3bb8d43
Remove redundant ServerInstance* fields
...
It has been impossible to have more than one InspIRCd* object in the
same address space for some time now, and this feature was never used.
This formalizes class InspIRCd as a singleton object.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:54 +00:00
danieldg
8f9dafbfa3
Use FindMode instead of FindPrefix for OnUserPreJoin privs; makes it possible to give +q or +Y on join even without prefix
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11702 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:45 +00:00
danieldg
1524caf2f7
Simplify ModeHandler constructor
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:33 +00:00
danieldg
7892c8a031
Replace OnAccessCheck with OnPreMode to remove a number of redundant checks
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11700 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:31:23 +00:00
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
dc88f5153a
really fix segfault when using ojoin in already-joined channel
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11690 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-09 21:59:12 +00:00
danieldg
5a8e55a8e4
Fix segfault when using ojoin in already-joined channel
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11689 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-09 21:43:05 +00:00
danieldg
d5411d0625
Allow OJOIN to be used when already in the target channel
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11686 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-09 19:28:34 +00:00
w00t
62ea718ea6
Correct ModDesc.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11683 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-06 14:32:04 +00:00
w00t
ff8ba4135c
Utilise OnRawMode and OnPostTopicChange hooks to write a dynamic conf of permchannels tags to a configurable location, so it's just a matter of <include file="../bin/permchannels.conf"> or something.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11679 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 22:48:12 +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
w00t
665023f3cc
Fix auditorium trimming kick messages to the first word (reported on forum topic 6453).
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11674 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05 14:34:17 +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
b45dcb19d3
Don't reassign NPrefix on rehash, its change requires a reloadmodule (noticed by Taros)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11670 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03 02:35:12 +00:00