]>
git.netwichtig.de Git - user/henk/code/inspircd.git/log
Peter Powell [Thu, 12 Jun 2014 23:09:34 +0000 (00:09 +0100)]
Add parameter to InspIRCd::TimeString for UTC time formats.
Missing doc added by @attilamolnar
Peter Powell [Fri, 2 May 2014 15:39:40 +0000 (16:39 +0100)]
Add formatting to InspIRCd::TimeString; switch all code to use it.
m_httpd also now uses the correct timestamp format.
Windows-specific fixes by @attilamolnar, original PR #849
Attila Molnar [Tue, 24 Jun 2014 11:09:26 +0000 (13:09 +0200)]
Inherit ThreadQueueData from Mutex to avoid duplicating code
Attila Molnar [Tue, 24 Jun 2014 11:05:12 +0000 (13:05 +0200)]
Remove empty Thread destructor
Attila Molnar [Tue, 24 Jun 2014 10:57:09 +0000 (12:57 +0200)]
threadengine_win32 Don't ask for the thread id of newly created threads pointlessly
Attila Molnar [Tue, 24 Jun 2014 10:54:05 +0000 (12:54 +0200)]
Move and rename class ThreadData to ThreadEngine::ThreadState
Attila Molnar [Tue, 24 Jun 2014 10:53:10 +0000 (12:53 +0200)]
Move and rename ThreadData::FreeThread() to ThreadEngine::Stop() and document what it does
Attila Molnar [Tue, 24 Jun 2014 10:46:18 +0000 (12:46 +0200)]
Make Thread::state private
Attila Molnar [Tue, 24 Jun 2014 10:45:21 +0000 (12:45 +0200)]
Change allocation of ThreadData to be physically part of the object containing it
Attila Molnar [Tue, 24 Jun 2014 10:40:02 +0000 (12:40 +0200)]
Remove empty ThreadEngine constructors and destructors
Attila Molnar [Tue, 24 Jun 2014 10:36:38 +0000 (12:36 +0200)]
Remove the unused ThreadEngine::GetName() method from both implementations
Attila Molnar [Tue, 24 Jun 2014 10:21:31 +0000 (12:21 +0200)]
Change allocation of InspIRCd::Users to be physically part of the object containing it using fakederef
Attila Molnar [Tue, 24 Jun 2014 10:20:02 +0000 (12:20 +0200)]
Change allocation of InspIRCd::SNO to be physically part of the object containing it using fakederef
Attila Molnar [Tue, 24 Jun 2014 10:18:46 +0000 (12:18 +0200)]
Remove now needless dynref_init_complete
ModuleManager is constructed when ServerInstance is non-NULL, test that instead
Attila Molnar [Tue, 24 Jun 2014 10:16:57 +0000 (12:16 +0200)]
Change allocation of InspIRCd::Modules to be physically part of the object containing it using fakederef
Attila Molnar [Tue, 24 Jun 2014 10:15:03 +0000 (12:15 +0200)]
Change allocation of InspIRCd::Logs to be physically part of the object containing it using fakederef
Attila Molnar [Tue, 24 Jun 2014 10:10:59 +0000 (12:10 +0200)]
Change allocation of InspIRCd::Modes to be physically part of the object containing it using fakederef
Attila Molnar [Tue, 24 Jun 2014 10:08:20 +0000 (12:08 +0200)]
Add the fakederef class
Attila Molnar [Sun, 22 Jun 2014 11:34:33 +0000 (13:34 +0200)]
Change all occurrences of plain sort() to std::sort()
Attila Molnar [Sun, 22 Jun 2014 11:28:41 +0000 (13:28 +0200)]
core_userhost Show real host if the target is the same as the user doing the /USERHOST
Attila Molnar [Sun, 22 Jun 2014 11:27:28 +0000 (13:27 +0200)]
core_userhost Append data to the output in a saner way
Attila Molnar [Sun, 22 Jun 2014 11:25:09 +0000 (13:25 +0200)]
core_userhost Do the HasPrivPermission() check only once, not once per nick
Attila Molnar [Sun, 22 Jun 2014 11:22:44 +0000 (13:22 +0200)]
core_ison Use iterators
Attila Molnar [Sun, 22 Jun 2014 11:20:21 +0000 (13:20 +0200)]
core_ison Extract duplicated code into a function
Change append(" ") to push_back(' ')
Attila Molnar [Sun, 22 Jun 2014 11:19:15 +0000 (13:19 +0200)]
core_ison Truncate string after sending it on overflow instead of recreating it
Attila Molnar [Sun, 22 Jun 2014 11:17:57 +0000 (13:17 +0200)]
core_ison Don't deduplicate nicks
Deduplication makes us do pointless processing for every ISON and offers
no benefit at all to proper clients that send a nick only once
Attila Molnar [Sun, 22 Jun 2014 11:16:31 +0000 (13:16 +0200)]
core_ison Remove check that is always true
Attila Molnar [Sun, 22 Jun 2014 11:13:08 +0000 (13:13 +0200)]
core_list Improve readability by assigning the Channel being inspected to a variable
Attila Molnar [Sun, 22 Jun 2014 11:10:03 +0000 (13:10 +0200)]
core_list Check whether the chan name/topic has to be Match()ed once, not once per chan
Attila Molnar [Sun, 22 Jun 2014 11:06:35 +0000 (13:06 +0200)]
core_list Do the HasPrivPermission() check only once, not once per chan
Attila Molnar [Fri, 20 Jun 2014 14:34:03 +0000 (16:34 +0200)]
Check Q-Lines on nick change in core_xline
Attila Molnar [Fri, 20 Jun 2014 14:29:40 +0000 (16:29 +0200)]
Reject nickname case changes too when enforcing <security:restrictbannedusers>
Attila Molnar [Fri, 20 Jun 2014 14:20:19 +0000 (16:20 +0200)]
Change the type of the user parameter in the OnUserPreNick() hook from User to LocalUser
No remote users were passed to this hook before.
Remove needless IS_LOCAL() checks.
Attila Molnar [Fri, 20 Jun 2014 14:04:21 +0000 (16:04 +0200)]
Increment serverstats::Collisions when a collision is handled, not when a module denies a nick change
Attila Molnar [Tue, 17 Jun 2014 11:48:50 +0000 (13:48 +0200)]
m_spanningtree Share server description updates via SINFO desc
Attila Molnar [Tue, 17 Jun 2014 11:45:57 +0000 (13:45 +0200)]
Update the description field in the Server object representing the local server on rehash
Attila Molnar [Tue, 17 Jun 2014 11:41:21 +0000 (13:41 +0200)]
m_spanningtree Remove server-to-server VERSION handler
Attila Molnar [Tue, 17 Jun 2014 11:39:08 +0000 (13:39 +0200)]
m_spanningtree Translate SINFO version to VERSION and vice versa for 1202 protocol servers
Attila Molnar [Tue, 17 Jun 2014 11:36:10 +0000 (13:36 +0200)]
m_spanningtree Exchange public server version strings via SINFO instead of VERSION
Attila Molnar [Tue, 17 Jun 2014 11:32:00 +0000 (13:32 +0200)]
m_spanningtree Show the full version string of servers to opers
Issue #637, suggested by @CuleX
Attila Molnar [Tue, 17 Jun 2014 11:28:19 +0000 (13:28 +0200)]
m_spanningtree Send and receive full version strings via SINFO
Attila Molnar [Tue, 17 Jun 2014 11:27:21 +0000 (13:27 +0200)]
m_spanningtree Add a field to TreeServer for storing full version strings
Attila Molnar [Tue, 17 Jun 2014 11:25:06 +0000 (13:25 +0200)]
m_spanningtree Add server-to-server SINFO command handler and builder
Don't send SINFO to 1202 protocol servers
Attila Molnar [Tue, 17 Jun 2014 11:20:57 +0000 (13:20 +0200)]
m_spanningtree Add TreeSocket::SendServerInfo() that sends all additional data about a server
Attila Molnar [Sat, 14 Jun 2014 13:30:14 +0000 (15:30 +0200)]
Kill needless #includes in source files
Attila Molnar [Sat, 14 Jun 2014 13:14:46 +0000 (15:14 +0200)]
Remove unused #define ERROR -1
Attila Molnar [Sat, 14 Jun 2014 13:14:05 +0000 (15:14 +0200)]
m_spanningtree Remove declaration for nonexistent function: OnLine()
Attila Molnar [Sat, 14 Jun 2014 13:12:13 +0000 (15:12 +0200)]
m_spanningtree Use vector back() where it makes sense
Attila Molnar [Sat, 14 Jun 2014 13:07:19 +0000 (15:07 +0200)]
m_spanningtree Initialize boolean member variables in the constructor of the module
Attila Molnar [Sat, 14 Jun 2014 13:03:48 +0000 (15:03 +0200)]
m_spanningtree Initialize TreeServer::UserCount for TreeRoot in its constructor
Attila Molnar [Fri, 13 Jun 2014 13:59:37 +0000 (15:59 +0200)]
Make the default ProtocolInterface instance part of class InspIRCd
The protocol module no longer has to delete it on load and construct it on
unload, only assign a new value to ServerInstance->PI
Attila Molnar [Fri, 13 Jun 2014 13:57:14 +0000 (15:57 +0200)]
m_spanningtree Change allocation of the specialized ProtocolInterface to be physically part of ModuleSpanningTree
Attila Molnar [Fri, 13 Jun 2014 13:45:55 +0000 (15:45 +0200)]
Change allocation of InspIRCd::Parser to be physically part of the object containing it
Attila Molnar [Fri, 13 Jun 2014 13:42:38 +0000 (15:42 +0200)]
Remove global Commandtable typedef
Attila Molnar [Fri, 13 Jun 2014 13:41:43 +0000 (15:41 +0200)]
Make CommandParser::cmdlist private
Attila Molnar [Fri, 13 Jun 2014 13:40:03 +0000 (15:40 +0200)]
Add CommandParser::GetCommands() and typedef CommandMap and use it instead of directly accessing cmdlist
Attila Molnar [Fri, 13 Jun 2014 13:33:10 +0000 (15:33 +0200)]
Use CommandParser::GetHandler() in ServerConfig::ApplyDisabledCommands()
Attila Molnar [Fri, 13 Jun 2014 13:27:40 +0000 (15:27 +0200)]
Change allocation of InspIRCd::BanCache to be physically part of the object containing it
Attila Molnar [Fri, 13 Jun 2014 13:23:39 +0000 (15:23 +0200)]
Pull in bancache.h from inspircd.h
Attila Molnar [Fri, 13 Jun 2014 13:19:27 +0000 (15:19 +0200)]
Move the definition of the BanCacheHit constructor into the source file from the header
Attila Molnar [Fri, 13 Jun 2014 13:16:12 +0000 (15:16 +0200)]
Move BanCacheHash typedef into the private part of BanCacheManager
Attila Molnar [Fri, 13 Jun 2014 13:14:31 +0000 (15:14 +0200)]
Change allocation of BanCacheManager::BanHash to be physically part of the object containing it
Attila Molnar [Fri, 13 Jun 2014 13:09:20 +0000 (15:09 +0200)]
Change allocation of InspIRCd::Threads to be physically part of the object containing it
Attila Molnar [Fri, 13 Jun 2014 13:03:56 +0000 (15:03 +0200)]
Change allocation of InspIRCd::stats to be physically part of the object containing it
While at it, remove "stats" from all field names
Attila Molnar [Thu, 12 Jun 2014 14:20:31 +0000 (16:20 +0200)]
m_spanningtree Explicitly specify the routing for RESYNC as the one inherited from ServerCommand doesn't suit it
Command::GetRouting() defaulted to local only when RESYNC was added, but
ServerCommand overrides it.
Attila Molnar [Wed, 11 Jun 2014 13:13:58 +0000 (15:13 +0200)]
m_spanningtree Strip membership id from KICKs sent to 1202 protocol servers
Attila Molnar [Wed, 11 Jun 2014 13:07:27 +0000 (15:07 +0200)]
Send the membership id when kicking a remote user and drop KICKs with mismatching membership ids
This fixes the desync happening when a PART+JOIN crosses a KICK targetting
the same user.
Attila Molnar [Wed, 11 Jun 2014 12:57:25 +0000 (14:57 +0200)]
m_spanningtree Strip membership ids from FJOINs sent to 1202 protocol servers
Attila Molnar [Wed, 11 Jun 2014 12:46:53 +0000 (14:46 +0200)]
m_spanningtree Send and parse FJOINs with membership ids
Attila Molnar [Wed, 11 Jun 2014 12:41:31 +0000 (14:41 +0200)]
m_spanningtree Add CmdBuilder::push_raw_int()
Attila Molnar [Wed, 11 Jun 2014 12:40:18 +0000 (14:40 +0200)]
m_spanningtree Use the FJOIN builder when a channel is created
Attila Molnar [Wed, 11 Jun 2014 12:37:42 +0000 (14:37 +0200)]
m_spanningtree Add CmdBuilder specialization for FJOIN
Attila Molnar [Wed, 11 Jun 2014 12:30:17 +0000 (14:30 +0200)]
m_spanningtree Send, parse and translate IJOINs with membership ids
Attila Molnar [Wed, 11 Jun 2014 12:15:40 +0000 (14:15 +0200)]
m_spanningtree Assign an id to new Memberships
Attila Molnar [Wed, 11 Jun 2014 12:08:15 +0000 (14:08 +0200)]
m_spanningtree Initialize membership ids on load
Attila Molnar [Wed, 11 Jun 2014 12:04:00 +0000 (14:04 +0200)]
Add foundation for membership ids
Attila Molnar [Sun, 1 Jun 2014 11:44:51 +0000 (13:44 +0200)]
Add ConvToUInt64()
Attila Molnar [Tue, 10 Jun 2014 15:45:41 +0000 (17:45 +0200)]
Return the newly created Membership object from Channel::ForceJoin()
Attila Molnar [Tue, 10 Jun 2014 15:37:16 +0000 (17:37 +0200)]
Add channel TS to server-to-server INVITE to detect and drop unauthorized invites
The syntax of the server-to-server INVITE command changes from
:<source> INVITE <target> <channel> [<expire>]
to
:<source> INVITE <target> <channel> <chants> [<expire>]
Attila Molnar [Tue, 10 Jun 2014 15:36:19 +0000 (17:36 +0200)]
m_spanningtree Allow callers of InsertCurrentChannelTS() to customize positions
Attila Molnar [Tue, 10 Jun 2014 15:22:02 +0000 (17:22 +0200)]
cmd_kick Assign a value to the kick reason string more reasonably
Attila Molnar [Tue, 10 Jun 2014 15:19:27 +0000 (17:19 +0200)]
Use the iterator version of Channel::KickUser() in a few places
Attila Molnar [Tue, 10 Jun 2014 15:12:00 +0000 (17:12 +0200)]
Change Channel::KickUser() to accept an iterator, add overload that accepts a User
Remove srcmemb parameter
Attila Molnar [Tue, 10 Jun 2014 15:04:42 +0000 (17:04 +0200)]
Move pre-kick checks from core to cmd_kick (core_channel)
Attila Molnar [Mon, 9 Jun 2014 15:49:57 +0000 (17:49 +0200)]
Document the config options of m_remove
Attila Molnar [Mon, 9 Jun 2014 15:47:07 +0000 (17:47 +0200)]
m_remove Make the protected rank configurable instead of hardcoding it to 50000
Change type of ulevel and tlevel to unsigned int
Attila Molnar [Mon, 9 Jun 2014 15:43:50 +0000 (17:43 +0200)]
m_remove Recognize /REMOVE <chan> <nick>
The old syntax is now deprecated
Fixes issue #860 reported by @Shawn-Smith
Attila Molnar [Mon, 9 Jun 2014 15:40:22 +0000 (17:40 +0200)]
m_remove Manually forward all REMOVE messages, turn FPART into REMOVE
Attila Molnar [Mon, 9 Jun 2014 15:13:31 +0000 (17:13 +0200)]
Use std::find() in ParseStack::ParseFile()
Attila Molnar [Mon, 9 Jun 2014 15:10:17 +0000 (17:10 +0200)]
Deduplicate ParseStack::ParseFile() and ParseExec()
Attila Molnar [Sat, 7 Jun 2014 11:48:42 +0000 (13:48 +0200)]
m_ssl_openssl Remove unused MAX_DESCRIPTORS define
Attila Molnar [Sat, 7 Jun 2014 11:47:26 +0000 (13:47 +0200)]
Change the number reported by SocketEngine::GetMaxFds() to be informal
Do not exit if we can't determine it
Attila Molnar [Sat, 7 Jun 2014 11:33:50 +0000 (13:33 +0200)]
socketengine_epoll Pass a dummy value to epoll_create() that does not depend on GetMaxFds()
From man epoll:
Since Linux 2.6.8, the size argument is unused, but must be greater than zero. (The kernel dynamically sizes the required data structures without needing this initial hint.)
Attila Molnar [Sat, 7 Jun 2014 11:30:14 +0000 (13:30 +0200)]
Relax fd bounds checking
We can cope with fds greater than SocketEngine::GetMaxFds() since
3752b3f59d5216d7dc6221a361efc76b9ad2273d
Attila Molnar [Sat, 7 Jun 2014 11:07:32 +0000 (13:07 +0200)]
m_channames Remove temporary vector from ValidateChans()
Attila Molnar [Sat, 7 Jun 2014 11:04:09 +0000 (13:04 +0200)]
m_channames Call ValidateChans() from cull() on unload
This ensures that if ValidateChans() removes everyone from a channel the
channel is added to the cull list at the right time, that is, before the
destruction of objects begin.
The core IsChannel() is less strict than us regardless of our
configuration (for now) but nevertheless this is the correct behavior.
Attila Molnar [Wed, 28 May 2014 12:01:00 +0000 (14:01 +0200)]
m_ident Close the ident socket when the object is culled instead of using hooks
Attila Molnar [Wed, 28 May 2014 11:47:41 +0000 (13:47 +0200)]
m_ident Make use of the min parameter of ConfigTag::getInt()
Attila Molnar [Wed, 28 May 2014 11:46:01 +0000 (13:46 +0200)]
Describe <ident:nolookupprefix>
Robby- [Wed, 13 Nov 2013 20:01:24 +0000 (21:01 +0100)]
m_ident: Add an option to allow idents of users to still be prefixed with a '~' for connect classes which have disabled ident lookups through the <connect:useident> setting.
Fixes #683.
Some changes by @attilamolnar, original PR #684