]>
git.netwichtig.de Git - user/henk/code/inspircd.git/log
Peter Powell [Sun, 28 Apr 2013 11:17:53 +0000 (12:17 +0100)]
Add method for writing server notices.
This allows us to send a server notice to a user without worrying
about whether they are registered or not.
If a user receives a server notice and they are not registered
then the nickname field will contain an asterisk instead of their
nick name.
Peter Powell [Tue, 7 May 2013 02:55:29 +0000 (03:55 +0100)]
Clean up cross-platform compatibility.
- Move compatibility macros to a new header file.
- Sort system include files in alphabetical order.
- Clean up signal handling (thanks to Adam).
attilamolnar [Sat, 27 Apr 2013 22:32:14 +0000 (00:32 +0200)]
Merge insp20
Daniel Vassdal [Thu, 11 Apr 2013 14:12:03 +0000 (16:12 +0200)]
Added RMODE command per suggestion #479
Attila Molnar [Sat, 27 Apr 2013 14:37:07 +0000 (07:37 -0700)]
Merge pull request #508 from ShutterQuick/inspircd+samodepatch
Prevent /mode from being incredible näive after failed attempt to samode...
Daniel Vassdal [Sat, 27 Apr 2013 11:46:14 +0000 (04:46 -0700)]
Prevent /mode from being incredible näive after failed attempt to samode a user.
Adam [Sat, 27 Apr 2013 05:13:03 +0000 (22:13 -0700)]
Merge pull request #501 from SaberUK/master+nouserdns
Move <performance:nouserdns> to <connect:nouserdns>.
Peter Powell [Sun, 21 Apr 2013 04:41:09 +0000 (05:41 +0100)]
Move <performance:nouserdns> to <connect:nouserdns>.
Adam [Fri, 26 Apr 2013 22:34:31 +0000 (18:34 -0400)]
Fix Windows
Adam [Mon, 22 Apr 2013 03:21:38 +0000 (05:21 +0200)]
Modularize DNS
The DNS modules are temporarily in commands/ so they're loaded automatically
Thanks to Attila for helping with much of this.
attilamolnar [Wed, 24 Apr 2013 17:55:01 +0000 (19:55 +0200)]
Release 2.0.12
attilamolnar [Wed, 24 Apr 2013 17:54:58 +0000 (19:54 +0200)]
Move SocketEngine::IgnoreError() code into socketengine.h and add test for EWOULDBLOCK
attilamolnar [Sun, 10 Mar 2013 13:08:51 +0000 (14:08 +0100)]
m_ssl_gnutls Add ability to load DH params from file
This greatly decreases the load time because the DH parameters no longer have to be (re)generated each time the module is loaded
attilamolnar [Tue, 23 Apr 2013 13:10:33 +0000 (15:10 +0200)]
m_spanningtree Fix crash when connecting to a remote server that has the same name as we do and also there is a link block with our server name and their password
See
49223cfe12ecd9071123f724e615e63841f2421d
attilamolnar [Tue, 23 Apr 2013 13:01:15 +0000 (15:01 +0200)]
Add config option to disable somaxconn range() check
attilamolnar [Sun, 21 Apr 2013 16:09:41 +0000 (18:09 +0200)]
m_rline Switch to OnUserRegister hook to disconnect banned users earlier
attilamolnar [Sun, 21 Apr 2013 16:03:07 +0000 (18:03 +0200)]
m_filter, m_rline Remove rlines and filters when the regex engine changes or becomes unavailable
attilamolnar [Tue, 9 Apr 2013 21:59:06 +0000 (23:59 +0200)]
m_spanningtree Move CacheTimer into utils
attilamolnar [Tue, 9 Apr 2013 21:51:06 +0000 (23:51 +0200)]
Timer changes and TimerManager enhancements
Timer::Tick() now has a bool return value: if false is returned the timer is deleted using operator delete, otherwise, if it's a repeating timer then it's rescheduled (readded)
Timers are removed from the TimerManager automatically at destruction
Timers are now stored in a multimap instead of a sorted vector
attilamolnar [Sun, 21 Apr 2013 15:41:03 +0000 (17:41 +0200)]
m_filter Fix memory leak on unload
attilamolnar [Sun, 21 Apr 2013 15:20:28 +0000 (17:20 +0200)]
Log some internal errors on DEFAULT loglevel instead of DEBUG, log detected errors in m_callerid
attilamolnar [Sun, 21 Apr 2013 13:40:19 +0000 (15:40 +0200)]
m_permchannels Workaround for alphabetical module initialization order
Read database after all modules have been inited
Add exception logging
Fixes #485 reported by @gholms
attilamolnar [Sun, 21 Apr 2013 13:30:51 +0000 (15:30 +0200)]
Don't crop the channel name if it's too long in Channel::Channel()
...and especially don't use the shortened name in one place and the original in another
Having different <limits:maxchan> values on the same network is not supported
Attila Molnar [Sat, 20 Apr 2013 19:04:12 +0000 (12:04 -0700)]
Merge pull request #495 from SaberUK/master+fix-libcpp
Fix building with libc++.
attilamolnar [Fri, 19 Apr 2013 15:07:10 +0000 (17:07 +0200)]
Immediately stop processing whenever we detect and handle a RecvQ overrun
Thanks to @SimosNap for the report and cooperation
attilamolnar [Fri, 19 Apr 2013 15:06:35 +0000 (17:06 +0200)]
Fix uuids getting truncated in the nick hash in UserManager::AddUser() if nickmax is < 9
attilamolnar [Fri, 19 Apr 2013 15:06:07 +0000 (17:06 +0200)]
m_ident Invalidate cache after changing User::ident
attilamolnar [Fri, 19 Apr 2013 15:05:50 +0000 (17:05 +0200)]
m_callerid Allow messaging yourself while +g regardless of the ACCEPT list
Peter Powell [Mon, 15 Apr 2013 15:45:42 +0000 (16:45 +0100)]
Fix building with libc++.
- Purged std::tr1::strlower (was never used).
- Moved std::tr1::insensitive to irc::insensitive.
- Added TR1NS macro to point to the correct C++ TR1 namespace.
attilamolnar [Thu, 18 Apr 2013 20:50:12 +0000 (22:50 +0200)]
m_spanningtree Fix IS_LOCAL() check in OnRehash handler
attilamolnar [Thu, 18 Apr 2013 11:25:28 +0000 (13:25 +0200)]
m_callerid Ignore duplicate entries when unserializing callerid_data
attilamolnar [Thu, 18 Apr 2013 01:30:22 +0000 (03:30 +0200)]
m_callerid Fix bookkeeping error introduced when unserializing callerid_data
This also fixes a memory leak that didn't occur naturally but was triggerable by remote servers
Thanks to @SimosNap for the report
attilamolnar [Wed, 17 Apr 2013 20:13:26 +0000 (22:13 +0200)]
Fix Windows build
Adam [Tue, 16 Apr 2013 08:34:58 +0000 (03:34 -0500)]
Fix m_ssl_gnutls and perhaps some other things on Windows by recognizing WSAEWOULDBLOCK
attilamolnar [Tue, 16 Apr 2013 11:20:24 +0000 (13:20 +0200)]
m_kicknorejoin Store and compare uuids instead pointers
Fixes the off chance scenario where we disallow a join because a previously kicked user has quit and the User who is trying to join happens to be allocated at the exact same memory location
attilamolnar [Mon, 18 Feb 2013 18:56:05 +0000 (19:56 +0100)]
m_kicknorejoin Limit time to 30m by default
In the current implementation we only expire entries when someone joins, without a limit it was possible to make us practically never remove entries and consume (a tiny amount of) memory for each entry until the mode was removed/parameter was changed
The default limit of 30m is chosen to not surprise people when they upgrade. If you need to prevent rejoins for more than a minute then you should set a (timed)ban instead
Config option is available to change the limit (2.0 only)
attilamolnar [Sun, 2 Dec 2012 16:54:23 +0000 (17:54 +0100)]
m_kicknorejoin Minor improvements
- Ignore remote users
- Remove expired items in one pass
attilamolnar [Tue, 16 Apr 2013 11:11:21 +0000 (13:11 +0200)]
Close listening sockets regardless of the return value of shutdown()
attilamolnar [Mon, 15 Apr 2013 22:20:01 +0000 (00:20 +0200)]
Do not enable SO_LINGER on our sockets
Using this option allowed close() to block for up to a second
Thanks to Shamsdeen and Rix for their assistance that made this fix possible
Fixes issue #445 reported by @shaggie76
Fixes issue #494 reported by @Rixcho
attilamolnar [Sun, 14 Apr 2013 16:35:41 +0000 (18:35 +0200)]
Use std::string internally in UIDGenerator, move UUID_LENGTH into the class as a constant
attilamolnar [Sun, 14 Apr 2013 16:27:08 +0000 (18:27 +0200)]
Simplify UID generation logic
This loop is not required because we already set current_uid[pos] to 'A' before recursing if current_uid[pos] is 9
attilamolnar [Sun, 14 Apr 2013 16:20:02 +0000 (18:20 +0200)]
Extract UID/SID generation logic into a new class: UIDGenerator
attilamolnar [Sat, 13 Apr 2013 15:43:37 +0000 (17:43 +0200)]
Remove const char* versions of InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan()
attilamolnar [Sat, 13 Apr 2013 15:41:22 +0000 (17:41 +0200)]
m_spanningtree Remove redundant first parameter of PING/PONG
attilamolnar [Sat, 13 Apr 2013 15:20:49 +0000 (17:20 +0200)]
m_spanningtree Ignore hopcount in incoming SERVER command, always send 0 at burst
attilamolnar [Sat, 13 Apr 2013 15:15:56 +0000 (17:15 +0200)]
m_spanningtree Netburst: If a topic was ever set, send it even if it's empty
A new but empty topic should override a non-empty old topic
Attila Molnar [Sat, 13 Apr 2013 15:13:03 +0000 (08:13 -0700)]
Merge pull request #476 from SaberUK/master+allowcoreunload
Add <security:allowcoreunload>.
attilamolnar [Fri, 12 Apr 2013 15:16:00 +0000 (17:16 +0200)]
m_spanningtree Add channel timestamp to FTOPIC
attilamolnar [Fri, 12 Apr 2013 15:01:02 +0000 (17:01 +0200)]
m_spanningtree Add channel timestamp to channel METADATA
Peter Powell [Sun, 7 Apr 2013 16:02:37 +0000 (17:02 +0100)]
Add <security:allowcoreunload>.
When enabled (the default) this setting prevents the unloading of
core modules such as cmd_privmsg.
attilamolnar [Fri, 12 Apr 2013 14:40:16 +0000 (16:40 +0200)]
m_spanningtree Introduce IJOIN and RESYNC
When a local user joins an existing channel, instead of an FJOIN, send an IJOIN with the channel name being the first parameter.
If the joining user received prefix modes, append the channel TS and the prefix mode letters as the second and third parameters.
When receiving an IJOIN, first check if the target channel exists. If it does not exist, ignore the join (that is, do not create the channel) and send a RESYNC back to the source.
If the channel does exist then join the user, and in case any prefix modes were sent (found in the 3rd parameter), compare the TS of the channel to the TS in the IJOIN (2nd parameter).
If the timestamps match, set the modes on the user, otherwise ignore the modes.
Outgoing IJOINs to 1202 protocol servers are converted to FJOINs, but the channel mode parameter is left empty ("+").
attilamolnar [Fri, 12 Apr 2013 14:10:40 +0000 (16:10 +0200)]
m_spanningtree Bump protocol version and remove unused CAPAB CAPABILITIES entries
attilamolnar [Fri, 12 Apr 2013 14:00:17 +0000 (16:00 +0200)]
Channel::JoinUser() and Channel::ForceChan() changes
Convert static Channel::ForceChan() to non-static Channel::ForceJoin() that joins a user to a channel, no permission checks
The (static) Channel::JoinUser() now has a LocalUser parameter, and no longer have TS and bursting parameters. If the channel doesn't exist, it is created using current time as TS
attilamolnar [Fri, 12 Apr 2013 13:45:11 +0000 (15:45 +0200)]
OnUserPreJoin is a local-only hook, change User* parameter to LocalUser*
attilamolnar [Mon, 1 Apr 2013 16:00:17 +0000 (18:00 +0200)]
Remove the deprecated invite API
attilamolnar [Sun, 16 Dec 2012 22:21:17 +0000 (23:21 +0100)]
m_spanningtree Remove unneeded #includes
attilamolnar [Sun, 21 Oct 2012 18:43:48 +0000 (20:43 +0200)]
m_spanningtree FJOIN handler: Refactor, update doc
Split the core function into several smaller functions
Accept userlist entries having no comma at all
attilamolnar [Sun, 21 Oct 2012 17:02:38 +0000 (19:02 +0200)]
m_spanningtree Netburst: Refactor SendChannelModes()
Rename it to SyncChannel() and change it to take a Channel* parameter, move iteration into DoBurst()
attilamolnar [Thu, 5 Jul 2012 20:25:33 +0000 (22:25 +0200)]
m_spanningtree Change both prefix and first parameter of SQUIT to be a SID
attilamolnar [Wed, 4 Jul 2012 21:48:02 +0000 (23:48 +0200)]
m_spanningtree Remove encapsulation on UserCount/OperCount
attilamolnar [Wed, 4 Jul 2012 21:11:01 +0000 (23:11 +0200)]
m_spanningtree Introduce new function to send channel messages
Use it from the protocol interface and PRIVMSG/NOTICE handlers
Unite OnUserNotice and OnUserMessage code into LocalMessage()
attilamolnar [Wed, 4 Jul 2012 21:02:28 +0000 (23:02 +0200)]
m_spanningtree Change TreeServerList to be a set, get rid of a function dedicated to adding entries to it
attilamolnar [Wed, 4 Jul 2012 20:56:35 +0000 (22:56 +0200)]
m_spanningtree Utils: Move code that creates a full line from its components to a new function
attilamolnar [Wed, 4 Jul 2012 19:38:00 +0000 (21:38 +0200)]
m_spanningtree FTOPIC handler: Keep only one topic if the two topic timestamps match but the topics differ
attilamolnar [Wed, 4 Jul 2012 19:36:49 +0000 (21:36 +0200)]
m_spanningtree FTOPIC handler: Return CMD_FAILURE/CMD_INVALID as appropiate
Return CMD_FAILURE to prevent propagation when the topic wasn't updated; return CMD_INVALID when the topicts is invalid
attilamolnar [Wed, 4 Jul 2012 19:34:13 +0000 (21:34 +0200)]
m_spanningtree atoi() to ConvToInt() conversion, add const where possible
Remove two redundant functions from Utils
attilamolnar [Wed, 4 Jul 2012 19:24:22 +0000 (21:24 +0200)]
m_spanningtree RSQUIT handler: Don't reimplement sending messages to remote users
Use ModuleSpanningTree::RemoteMessage instead
attilamolnar [Wed, 4 Jul 2012 19:10:39 +0000 (21:10 +0200)]
m_spanningtree RCONNECT handler: Fix error reporting to remote users
Describe behavior in comments
attilamolnar [Wed, 4 Jul 2012 19:00:25 +0000 (21:00 +0200)]
m_spanningtree Netburst: Rework SendFJoins()
Old code sent empty lines on burst after FJOINs, new version fixes that
attilamolnar [Wed, 4 Jul 2012 18:37:06 +0000 (20:37 +0200)]
m_spanningtree Netburst: Remove expiration check from SendXLines()
XLineManager does the checking
attilamolnar [Wed, 4 Jul 2012 18:12:42 +0000 (20:12 +0200)]
m_spanningtree UID handler: Log and drop the link when a server introduces a user with an unknown user mode
attilamolnar [Wed, 4 Jul 2012 18:10:58 +0000 (20:10 +0200)]
m_spanningtree UID handler: Remove dead code
attilamolnar [Wed, 4 Jul 2012 18:07:14 +0000 (20:07 +0200)]
m_spanningtree FMODE handler: Rework
Check for error conditions before doing any work
Get rid of hardcoded maxmodes and a loop that copies a container
attilamolnar [Wed, 4 Jul 2012 17:57:57 +0000 (19:57 +0200)]
m_spanningtree IDLE handler: Rewrite
Attila Molnar [Fri, 12 Apr 2013 16:04:01 +0000 (09:04 -0700)]
Merge pull request #461 from SaberUK/master+header-cleanup
Tidy up source files.
Peter Powell [Tue, 2 Apr 2013 19:12:15 +0000 (20:12 +0100)]
Tidy up source files:
- Use #pragma once instead of include guards.
- Move header files in src/modules to include/modules.
- Fixed various spacing issues.
Attila Molnar [Fri, 12 Apr 2013 14:58:58 +0000 (07:58 -0700)]
Merge pull request #488 from SaberUK/master+loglevel-rename
Add LOG_ prefix to the log level enum values.
Peter Powell [Fri, 12 Apr 2013 01:10:06 +0000 (02:10 +0100)]
Add LOG_ prefix to the log level enum values.
Attila Molnar [Thu, 11 Apr 2013 22:11:31 +0000 (15:11 -0700)]
Merge pull request #487 from SaberUK/master+better-isupport-api
Convert ISUPPORT to use a map instead of a string.
Peter Powell [Sun, 7 Apr 2013 21:23:25 +0000 (22:23 +0100)]
Convert ISUPPORT to use a map instead of a string.
attilamolnar [Thu, 11 Apr 2013 19:58:23 +0000 (21:58 +0200)]
Fix clang warning about IsOper()
Attila Molnar [Wed, 10 Apr 2013 19:28:22 +0000 (12:28 -0700)]
Merge pull request #484 from SaberUK/insp20+fix-modulemanager
Fix ModuleManager error caused by a lack of arguments.
Peter Powell [Wed, 10 Apr 2013 05:06:53 +0000 (06:06 +0100)]
Fix ModuleManager error caused by a lack of arguments.
attilamolnar [Thu, 4 Apr 2013 22:47:26 +0000 (00:47 +0200)]
Run OnUnloadModule hook before starting to unregister services provided by the module
attilamolnar [Wed, 10 Apr 2013 15:55:33 +0000 (17:55 +0200)]
BanCache: Move expiration code into a function, call it from RemoveEntries()
attilamolnar [Wed, 10 Apr 2013 15:50:49 +0000 (17:50 +0200)]
BanCache: Remove BanCacheManager::RehashCache()
The function was never called
attilamolnar [Sun, 30 Sep 2012 23:00:10 +0000 (01:00 +0200)]
BanCache: Simplify BanCacheManager::RemoveEntries()
attilamolnar [Sun, 30 Sep 2012 22:52:01 +0000 (00:52 +0200)]
BanCache: Remove BanCacheHit::IP field, and BanCacheManager::RemoveHit()
The IP field was only used in RemoveHit(), RemoveHit() was only called from GetHit()
attilamolnar [Sun, 30 Sep 2012 22:50:08 +0000 (00:50 +0200)]
BanCache: Do one hash lookup in BanCacheManager::AddHit()
attilamolnar [Sun, 30 Sep 2012 22:48:00 +0000 (00:48 +0200)]
BanCache: Don't repeat ourselves, one BanCacheManager::AddHit() and one BanCacheHit constructor is enough
attilamolnar [Tue, 9 Apr 2013 17:12:09 +0000 (19:12 +0200)]
Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()
attilamolnar [Wed, 10 Apr 2013 15:05:13 +0000 (17:05 +0200)]
m_spanningtree Create new TreeServers for incoming connections only when they've accepted our credentials, not when they send SERVER
Adam [Wed, 10 Apr 2013 07:39:43 +0000 (02:39 -0500)]
Update Window's .gitignore
attilamolnar [Tue, 9 Apr 2013 19:41:18 +0000 (21:41 +0200)]
Fix ListModeBase on Windows
attilamolnar [Tue, 9 Apr 2013 16:57:05 +0000 (18:57 +0200)]
Remove some uline checks that ran after an IS_LOCAL() check
attilamolnar [Tue, 9 Apr 2013 16:36:49 +0000 (18:36 +0200)]
Move most whois related code from the core into cmd_whois
attilamolnar [Mon, 8 Apr 2013 21:40:09 +0000 (23:40 +0200)]
XLine: Provide a default implementation for DisplayExpiry()
attilamolnar [Wed, 3 Apr 2013 18:05:49 +0000 (20:05 +0200)]
ListModeBase: Cache max items per channel
attilamolnar [Wed, 3 Apr 2013 17:54:23 +0000 (19:54 +0200)]
ListModeBase: Minor changes to original u_listmode code
- Add constructors to ListItem, ListLimit
- Rename fields in ListItem
- Store time as time_t instead of string
- Store limits in a vector instead of a list
- Don't deallocate the list when it becomes empty
attilamolnar [Wed, 3 Apr 2013 17:10:18 +0000 (19:10 +0200)]
Migrate u_listmode.h into the core, change +b to use it