]> git.netwichtig.de Git - user/henk/code/inspircd.git/log
user/henk/code/inspircd.git
11 years agoChange CacheRefreshTimer tick time back to 5 minutes
Adam [Thu, 23 May 2013 16:22:54 +0000 (12:22 -0400)]
Change CacheRefreshTimer tick time back to 5 minutes

11 years agoMerge pull request #545 from SaberUK/master+logging-cleanup
Attila Molnar [Wed, 22 May 2013 00:11:46 +0000 (17:11 -0700)]
Merge pull request #545 from SaberUK/master+logging-cleanup

Clean up the logging system (part 1 of 2).

11 years agoMerge pull request #522 from SaberUK/master+xline-displayable
Attila Molnar [Wed, 22 May 2013 00:09:56 +0000 (17:09 -0700)]
Merge pull request #522 from SaberUK/master+xline-displayable

Convert XLine::Displayable to return a std::string.

11 years agoConvert XLine::Displayable to return a std::string.
Peter Powell [Sun, 5 May 2013 18:36:46 +0000 (19:36 +0100)]
Convert XLine::Displayable to return a std::string.

11 years agoFix msvc detection of variadic template support
Peter Powell [Tue, 21 May 2013 03:51:45 +0000 (23:51 -0400)]
Fix msvc detection of variadic template support

11 years agoMerge pull request #548 from SaberUK/master+variadic-templates
Adam [Tue, 21 May 2013 01:55:49 +0000 (18:55 -0700)]
Merge pull request #548 from SaberUK/master+variadic-templates

Add support for detecting C++11 variadic templates.

11 years agoAdd support for detecting C++11 variadic templates.
Peter Powell [Tue, 21 May 2013 01:34:10 +0000 (02:34 +0100)]
Add support for detecting C++11 variadic templates.

11 years agoRemove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to OnUserMess...
attilamolnar [Thu, 16 May 2013 14:33:16 +0000 (16:33 +0200)]
Remove OnUserPreNotice and OnUserNotice hooks, add MessageType argument to OnUserMessage and OnUserPreMessage

All modules (except m_nonotice) that perform filtering on messages have common logic for handling PRIVMSGs and NOTICEs and most of them run the exact same code in both cases

11 years agoFixup last commit
Adam [Mon, 20 May 2013 18:20:08 +0000 (14:20 -0400)]
Fixup last commit

11 years agoMerge pull request #542 from ShutterQuick/inspircd+printfcleanup
Attila Molnar [Mon, 20 May 2013 18:05:05 +0000 (11:05 -0700)]
Merge pull request #542 from ShutterQuick/inspircd+printfcleanup

Replaced all the individual vsnprintfing with a macro

11 years agoFix spacing in calls to LogManager::Log.
Peter Powell [Sun, 19 May 2013 02:29:49 +0000 (03:29 +0100)]
Fix spacing in calls to LogManager::Log.

11 years agoAccept a LogLevel instead of an int in logging methods.
Peter Powell [Fri, 19 Apr 2013 09:26:54 +0000 (10:26 +0100)]
Accept a LogLevel instead of an int in logging methods.

11 years agoPurge a ton of code related to non <log> related logging.
Peter Powell [Fri, 19 Apr 2013 06:10:27 +0000 (07:10 +0100)]
Purge a ton of code related to non <log> related logging.

- InspIRCd::OpenLog
- ./inspircd --logfile [file]

This is no longer needed now we have (since 1.2) custom logging.

11 years agoMove LogHeader to LogStream.
Peter Powell [Fri, 19 Apr 2013 05:53:37 +0000 (06:53 +0100)]
Move LogHeader to LogStream.

11 years agoMove LogLevel enum from filelogger to logger.
Peter Powell [Fri, 19 Apr 2013 05:26:50 +0000 (06:26 +0100)]
Move LogLevel enum from filelogger to logger.

11 years agoReplaced vsnprintf with VAFORMAT pretty much everywhere.
Daniel Vassdal [Sat, 18 May 2013 18:35:10 +0000 (11:35 -0700)]
Replaced vsnprintf with VAFORMAT pretty much everywhere.

11 years agoAdded macro to allow simpler logic in functions with the need to vsnprintf
Daniel Vassdal [Sat, 18 May 2013 18:31:25 +0000 (11:31 -0700)]
Added macro to allow simpler logic in functions with the need to vsnprintf

11 years agoChange the signature of User::ForceNickChange() to accept const std::string& instead...
attilamolnar [Thu, 16 May 2013 14:01:51 +0000 (16:01 +0200)]
Change the signature of User::ForceNickChange() to accept const std::string& instead of const char*

11 years agoGet rid of the NICKForced extension
attilamolnar [Thu, 16 May 2013 14:00:19 +0000 (16:00 +0200)]
Get rid of the NICKForced extension

Don't run OnUserPreNick when the nick change is forced

11 years agoRemove unused UserManager::ServerPrivmsgAll()
attilamolnar [Thu, 16 May 2013 13:52:01 +0000 (15:52 +0200)]
Remove unused UserManager::ServerPrivmsgAll()

11 years agoirc::tokenstream and irc::sepstream cleanup
attilamolnar [Thu, 16 May 2013 13:50:08 +0000 (15:50 +0200)]
irc::tokenstream and irc::sepstream cleanup

irc::sepstream does not require virtual methods

11 years agoirc::stringjoiner cleanup
attilamolnar [Thu, 16 May 2013 13:45:05 +0000 (15:45 +0200)]
irc::stringjoiner cleanup

- Get rid of unused constructors
- signed -> unsigned
- return const ref from GetJoined()

11 years agoDeduplicate hex string creation code
attilamolnar [Thu, 16 May 2013 13:34:45 +0000 (15:34 +0200)]
Deduplicate hex string creation code

11 years agoMerge pull request #543 from SaberUK/master+sizeparam-removal
Attila Molnar [Sat, 18 May 2013 19:03:55 +0000 (12:03 -0700)]
Merge pull request #543 from SaberUK/master+sizeparam-removal

Remove the size argument from IsChannel and IsNick.

11 years agoMerge pull request #541 from SaberUK/master+chanlog
Attila Molnar [Sat, 18 May 2013 18:12:44 +0000 (11:12 -0700)]
Merge pull request #541 from SaberUK/master+chanlog

Purge the old chanlog code from the module file.

11 years agoRemove the size argument from IsChannel and IsNick.
Peter Powell [Sat, 18 May 2013 17:55:01 +0000 (18:55 +0100)]
Remove the size argument from IsChannel and IsNick.

There was only one case (which was probably an error) where these
methods were not set to their ServerLimits value.

11 years agoPurge the old chanlog code from the module file.
Peter Powell [Sat, 18 May 2013 16:21:48 +0000 (17:21 +0100)]
Purge the old chanlog code from the module file.

11 years agoAdded a function to replace all the ugly sprintf-ing everywhere
Daniel Vassdal [Sun, 12 May 2013 17:54:07 +0000 (10:54 -0700)]
Added a function to replace all the ugly sprintf-ing everywhere

11 years agoFix padding bug in GenerateSID(), spotted by @ShutterQuick
attilamolnar [Thu, 16 May 2013 19:34:45 +0000 (21:34 +0200)]
Fix padding bug in GenerateSID(), spotted by @ShutterQuick

11 years agoMerge pull request #538 from SaberUK/master+silence-gcc
Adam [Thu, 16 May 2013 15:47:07 +0000 (08:47 -0700)]
Merge pull request #538 from SaberUK/master+silence-gcc

Fix GCC warnings about using C++11 features when not in C++11 mode.

11 years agoFix GCC warnings about using C++11 features when not in C++11 mode.
Peter Powell [Thu, 16 May 2013 13:22:23 +0000 (14:22 +0100)]
Fix GCC warnings about using C++11 features when not in C++11 mode.

11 years agoMerge pull request #537 from SaberUK/master+fix-poll
Adam [Thu, 16 May 2013 15:31:46 +0000 (08:31 -0700)]
Merge pull request #537 from SaberUK/master+fix-poll

Fix the poll socket engine.

11 years agoFix the poll socket engine.
Peter Powell [Thu, 16 May 2013 15:18:54 +0000 (16:18 +0100)]
Fix the poll socket engine.

11 years agoMerge pull request #536 from SaberUK/master+fix-kqueue-test
Adam [Thu, 16 May 2013 14:55:08 +0000 (07:55 -0700)]
Merge pull request #536 from SaberUK/master+fix-kqueue-test

Fix kqueue test on non-Apple BSDs.

11 years agoFix kqueue test on non-Apple BSDs.
Peter Powell [Thu, 16 May 2013 14:10:26 +0000 (15:10 +0100)]
Fix kqueue test on non-Apple BSDs.

11 years agoMerge pull request #521 from SaberUK/master+configure-tests
Adam [Thu, 16 May 2013 13:37:24 +0000 (06:37 -0700)]
Merge pull request #521 from SaberUK/master+configure-tests

Improve feature detection in configure.

11 years agoImprove feature detection in configure.
Peter Powell [Sat, 4 May 2013 15:40:27 +0000 (16:40 +0100)]
Improve feature detection in configure.

11 years agoGet rid of strlcpy(), strlcat(), charlcat() and charremove()
attilamolnar [Thu, 16 May 2013 00:23:45 +0000 (02:23 +0200)]
Get rid of strlcpy(), strlcat(), charlcat() and charremove()

11 years agom_joinflood Make the code friendlier, unset +j when the module is unloaded
attilamolnar [Thu, 16 May 2013 00:15:00 +0000 (02:15 +0200)]
m_joinflood Make the code friendlier, unset +j when the module is unloaded

See 21c3232b8e0bb41727f2d65a0b2d5304587cf6be and fae560cddc389b88c9cd34afdccf9035f4d11c5b

11 years agoirc::Spacify--
attilamolnar [Wed, 15 May 2013 23:57:09 +0000 (01:57 +0200)]
irc::Spacify--

11 years agoAllow spaces (and more) in oper types
attilamolnar [Wed, 15 May 2013 23:56:06 +0000 (01:56 +0200)]
Allow spaces (and more) in oper types

The spaces are converted to '_' characters in OPERTYPE for 2.0 servers
Issue #533 suggested by @ankitkv

11 years agoMerge pull request #514 from SaberUK/master+virtual-cleanup
Attila Molnar [Wed, 15 May 2013 20:48:02 +0000 (13:48 -0700)]
Merge pull request #514 from SaberUK/master+virtual-cleanup

Remove virtual keyword from a ton of methods which don't need it, introduce CXX11_OVERRIDE.

11 years agoTidy up keywords on module methods.
Peter Powell [Tue, 30 Apr 2013 07:38:33 +0000 (08:38 +0100)]
Tidy up keywords on module methods.

- Remove virtual keyword from a ton of methods which don't need it.
- Add override keyword to a ton of methods which do need it.

11 years agoMerge pull request #531 from SaberUK/master+snprintf-removal
Adam [Wed, 15 May 2013 19:33:47 +0000 (12:33 -0700)]
Merge pull request #531 from SaberUK/master+snprintf-removal

Replace some C-isms with C++-isms.

11 years agoReplace some C-isms with C++-isms.
Peter Powell [Mon, 6 May 2013 10:49:50 +0000 (11:49 +0100)]
Replace some C-isms with C++-isms.

* 'const char*' to 'const std::string&'.
* snprintf to std::string concatenation.
* Replace duplicated OneOfMatches with InspIRCd::MatchMask.

11 years agoMerge pull request #523 from SaberUK/master+server-notice
Attila Molnar [Tue, 14 May 2013 23:24:08 +0000 (16:24 -0700)]
Merge pull request #523 from SaberUK/master+server-notice

Add method for writing server notices.

11 years agoAdd method for writing server notices.
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.

11 years agom_spanningtree UID handler: Fix parsing user modes
attilamolnar [Tue, 14 May 2013 21:00:58 +0000 (23:00 +0200)]
m_spanningtree UID handler: Fix parsing user modes

Spotted by @ShutterQuick
Issue #532

11 years agoClean up cross-platform compatibility.
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).

11 years agoMerge insp20
attilamolnar [Sat, 27 Apr 2013 22:32:14 +0000 (00:32 +0200)]
Merge insp20

11 years agoAdded RMODE command per suggestion #479
Daniel Vassdal [Thu, 11 Apr 2013 14:12:03 +0000 (16:12 +0200)]
Added RMODE command per suggestion #479

11 years agoMerge pull request #508 from ShutterQuick/inspircd+samodepatch
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...

11 years agoPrevent /mode from being incredible näive after failed attempt to samode a user.
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.

11 years agoMerge pull request #501 from SaberUK/master+nouserdns
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>.

11 years agoMove <performance:nouserdns> to <connect:nouserdns>.
Peter Powell [Sun, 21 Apr 2013 04:41:09 +0000 (05:41 +0100)]
Move <performance:nouserdns> to <connect:nouserdns>.

11 years agoFix Windows
Adam [Fri, 26 Apr 2013 22:34:31 +0000 (18:34 -0400)]
Fix Windows

11 years agoModularize DNS
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.

11 years agoRelease 2.0.12
attilamolnar [Wed, 24 Apr 2013 17:55:01 +0000 (19:55 +0200)]
Release 2.0.12

11 years agoMove SocketEngine::IgnoreError() code into socketengine.h and add test for EWOULDBLOCK
attilamolnar [Wed, 24 Apr 2013 17:54:58 +0000 (19:54 +0200)]
Move SocketEngine::IgnoreError() code into socketengine.h and add test for EWOULDBLOCK

11 years agom_ssl_gnutls Add ability to load DH params from file
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

11 years agom_spanningtree Fix crash when connecting to a remote server that has the same name...
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

11 years agoAdd config option to disable somaxconn range() check
attilamolnar [Tue, 23 Apr 2013 13:01:15 +0000 (15:01 +0200)]
Add config option to disable somaxconn range() check

11 years agom_rline Switch to OnUserRegister hook to disconnect banned users earlier
attilamolnar [Sun, 21 Apr 2013 16:09:41 +0000 (18:09 +0200)]
m_rline Switch to OnUserRegister hook to disconnect banned users earlier

11 years agom_filter, m_rline Remove rlines and filters when the regex engine changes or becomes...
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

11 years agom_spanningtree Move CacheTimer into utils
attilamolnar [Tue, 9 Apr 2013 21:59:06 +0000 (23:59 +0200)]
m_spanningtree Move CacheTimer into utils

11 years agoTimer changes and TimerManager enhancements
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

11 years agom_filter Fix memory leak on unload
attilamolnar [Sun, 21 Apr 2013 15:41:03 +0000 (17:41 +0200)]
m_filter Fix memory leak on unload

11 years agoLog some internal errors on DEFAULT loglevel instead of DEBUG, log detected errors...
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

11 years agom_permchannels Workaround for alphabetical module initialization order
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

11 years agoDon't crop the channel name if it's too long in Channel::Channel()
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

11 years agoMerge pull request #495 from SaberUK/master+fix-libcpp
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++.

11 years agoImmediately stop processing whenever we detect and handle a RecvQ overrun
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

11 years agoFix uuids getting truncated in the nick hash in UserManager::AddUser() if nickmax...
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

11 years agom_ident Invalidate cache after changing User::ident
attilamolnar [Fri, 19 Apr 2013 15:06:07 +0000 (17:06 +0200)]
m_ident Invalidate cache after changing User::ident

11 years agom_callerid Allow messaging yourself while +g regardless of the ACCEPT list
attilamolnar [Fri, 19 Apr 2013 15:05:50 +0000 (17:05 +0200)]
m_callerid Allow messaging yourself while +g regardless of the ACCEPT list

11 years agoFix building with libc++.
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.

11 years agom_spanningtree Fix IS_LOCAL() check in OnRehash handler
attilamolnar [Thu, 18 Apr 2013 20:50:12 +0000 (22:50 +0200)]
m_spanningtree Fix IS_LOCAL() check in OnRehash handler

11 years agom_callerid Ignore duplicate entries when unserializing callerid_data
attilamolnar [Thu, 18 Apr 2013 11:25:28 +0000 (13:25 +0200)]
m_callerid Ignore duplicate entries when unserializing callerid_data

11 years agom_callerid Fix bookkeeping error introduced 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

11 years agoFix Windows build
attilamolnar [Wed, 17 Apr 2013 20:13:26 +0000 (22:13 +0200)]
Fix Windows build

11 years agoFix m_ssl_gnutls and perhaps some other things on Windows by recognizing WSAEWOULDBLOCK
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

11 years agom_kicknorejoin Store and compare uuids instead pointers
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

11 years agom_kicknorejoin Limit time to 30m by default
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)

11 years agom_kicknorejoin Minor improvements
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

11 years agoClose listening sockets regardless of the return value of shutdown()
attilamolnar [Tue, 16 Apr 2013 11:11:21 +0000 (13:11 +0200)]
Close listening sockets regardless of the return value of shutdown()

11 years agoDo not enable SO_LINGER on our sockets
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

11 years agoUse std::string internally in UIDGenerator, move UUID_LENGTH into the class as a...
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

11 years agoSimplify UID generation logic
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

11 years agoExtract UID/SID generation logic into a new class: UIDGenerator
attilamolnar [Sun, 14 Apr 2013 16:20:02 +0000 (18:20 +0200)]
Extract UID/SID generation logic into a new class: UIDGenerator

11 years agoRemove const char* versions of InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan()
attilamolnar [Sat, 13 Apr 2013 15:43:37 +0000 (17:43 +0200)]
Remove const char* versions of InspIRCd::FindNick()/FindNickOnly()/FindUUID()/FindChan()

11 years agom_spanningtree Remove redundant first parameter of PING/PONG
attilamolnar [Sat, 13 Apr 2013 15:41:22 +0000 (17:41 +0200)]
m_spanningtree Remove redundant first parameter of PING/PONG

11 years agom_spanningtree Ignore hopcount in incoming SERVER command, always send 0 at burst
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

11 years agom_spanningtree Netburst: If a topic was ever set, send it even if it's empty
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

11 years agoMerge pull request #476 from SaberUK/master+allowcoreunload
Attila Molnar [Sat, 13 Apr 2013 15:13:03 +0000 (08:13 -0700)]
Merge pull request #476 from SaberUK/master+allowcoreunload

Add <security:allowcoreunload>.

11 years agom_spanningtree Add channel timestamp to FTOPIC
attilamolnar [Fri, 12 Apr 2013 15:16:00 +0000 (17:16 +0200)]
m_spanningtree Add channel timestamp to FTOPIC

11 years agom_spanningtree Add channel timestamp to channel METADATA
attilamolnar [Fri, 12 Apr 2013 15:01:02 +0000 (17:01 +0200)]
m_spanningtree Add channel timestamp to channel METADATA

11 years agoAdd <security:allowcoreunload>.
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.

11 years agom_spanningtree Introduce IJOIN and RESYNC
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 ("+").

11 years agom_spanningtree Bump protocol version and remove unused CAPAB CAPABILITIES entries
attilamolnar [Fri, 12 Apr 2013 14:10:40 +0000 (16:10 +0200)]
m_spanningtree Bump protocol version and remove unused CAPAB CAPABILITIES entries

11 years agoChannel::JoinUser() and Channel::ForceChan() changes
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