4299 Commits

Author SHA1 Message Date
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