]> git.netwichtig.de Git - user/henk/code/inspircd.git/log
user/henk/code/inspircd.git
9 years agoFix off by one in ping timeout.
md-5 [Sun, 3 Aug 2014 08:52:44 +0000 (18:52 +1000)]
Fix off by one in ping timeout.

Been bugging me that users ping timeout at 121 rather than 120 seconds by default.

9 years agoDiffer database error messages for m_permchannels and m_xline_db
Justin Crawford [Fri, 18 Apr 2014 00:33:38 +0000 (17:33 -0700)]
Differ database error messages for m_permchannels and m_xline_db

m_permchannels and m_xline_db both have the same error messages as well as not
informing the server operator what file is at fault for the error. This makes it
hard to find which module is causing the error and what file the module is referring
to. The new messages explain which database is trying to be written and the path
used to write the file.

9 years agoDo not attempt to detect non-culled users at destruction by looking for their uuid...
Attila Molnar [Mon, 28 Jul 2014 12:51:39 +0000 (14:51 +0200)]
Do not attempt to detect non-culled users at destruction by looking for their uuid, leave it to Extensible

This does not take uuid/sid reuse into consideration and Extensible implements this detection already in a proper way

9 years agoAllow fast sid reuse by erasing fake users from UserManager::uuidlist when the netspl...
Attila Molnar [Mon, 28 Jul 2014 12:50:28 +0000 (14:50 +0200)]
Allow fast sid reuse by erasing fake users from UserManager::uuidlist when the netsplit is handled, not in cull()

9 years agom_spanningtree Throw a ProtocolException if a server SQUITs a server it shouldn't
Attila Molnar [Mon, 28 Jul 2014 12:48:50 +0000 (14:48 +0200)]
m_spanningtree Throw a ProtocolException if a server SQUITs a server it shouldn't

9 years agom_spanningtree Squit dead servers immediately when they die, not at the next timer...
Attila Molnar [Mon, 28 Jul 2014 12:47:29 +0000 (14:47 +0200)]
m_spanningtree Squit dead servers immediately when they die, not at the next timer tick

9 years agom_spanningtree Remove the now needless SplitInProgress workaround
Attila Molnar [Mon, 28 Jul 2014 12:45:37 +0000 (14:45 +0200)]
m_spanningtree Remove the now needless SplitInProgress workaround

9 years agom_spanningtree Check TreeServer::IsDead() to learn whether a user is being quit due...
Attila Molnar [Mon, 28 Jul 2014 12:44:51 +0000 (14:44 +0200)]
m_spanningtree Check TreeServer::IsDead() to learn whether a user is being quit due to a netsplit in OnUserQuit()

9 years agom_spanningtree Change type of num_lost_* to be unsigned
Attila Molnar [Mon, 28 Jul 2014 12:43:35 +0000 (14:43 +0200)]
m_spanningtree Change type of num_lost_* to be unsigned

9 years agom_spanningtree Quit all split users in one go
Attila Molnar [Mon, 28 Jul 2014 12:42:01 +0000 (14:42 +0200)]
m_spanningtree Quit all split users in one go

9 years agom_spanningtree Mark servers awaiting destruction after being lost in a netsplit,...
Attila Molnar [Mon, 28 Jul 2014 12:38:20 +0000 (14:38 +0200)]
m_spanningtree Mark servers awaiting destruction after being lost in a netsplit, add TreeServer::IsDead()

9 years agom_spanningtree Remove now unused TreeServer::Tidy()
Attila Molnar [Mon, 28 Jul 2014 12:35:20 +0000 (14:35 +0200)]
m_spanningtree Remove now unused TreeServer::Tidy()

9 years agom_spanningtree Add the TreeServer that split to the cull list and destroy everything...
Attila Molnar [Mon, 28 Jul 2014 12:34:46 +0000 (14:34 +0200)]
m_spanningtree Add the TreeServer that split to the cull list and destroy everything under it recursively at cull time instead of at squit processing time

9 years agom_spanningtree Remove split servers from the hash maps in TreeServer::SQuitInternal()
Attila Molnar [Mon, 28 Jul 2014 12:31:57 +0000 (14:31 +0200)]
m_spanningtree Remove split servers from the hash maps in TreeServer::SQuitInternal()

9 years agom_spanningtree Move squit logic into TreeServer from TreeSocket
Attila Molnar [Mon, 28 Jul 2014 12:30:14 +0000 (14:30 +0200)]
m_spanningtree Move squit logic into TreeServer from TreeSocket

9 years agom_spanningtree Remove now needless TreeSocket::ConnectionFailureShown
Attila Molnar [Mon, 28 Jul 2014 12:23:02 +0000 (14:23 +0200)]
m_spanningtree Remove now needless TreeSocket::ConnectionFailureShown

9 years agom_spanningtree Ensure that TreeSocket::Close() only runs once
Attila Molnar [Mon, 28 Jul 2014 12:21:20 +0000 (14:21 +0200)]
m_spanningtree Ensure that TreeSocket::Close() only runs once

9 years agom_spanningtree Keep track of whether servers are behind a bursting server, use it...
Attila Molnar [Sun, 27 Jul 2014 17:11:48 +0000 (19:11 +0200)]
m_spanningtree Keep track of whether servers are behind a bursting server, use it to implement quietbursts

9 years agom_spanningtree Only mark one server as finished bursting on ENDBURST (or PONG), not...
Attila Molnar [Sun, 27 Jul 2014 17:01:13 +0000 (19:01 +0200)]
m_spanningtree Only mark one server as finished bursting on ENDBURST (or PONG), not all behind it

9 years agom_spanningtree Sync bursting state of servers in SERVER
Attila Molnar [Sun, 27 Jul 2014 16:59:43 +0000 (18:59 +0200)]
m_spanningtree Sync bursting state of servers in SERVER

Also send the time when they started bursting

9 years agom_spanningtree Parse additional information present in SERVER messages
Attila Molnar [Sun, 27 Jul 2014 16:56:12 +0000 (18:56 +0200)]
m_spanningtree Parse additional information present in SERVER messages

Format: <key>[=<value>]

9 years agom_spanningtree Add TreeServer::BeginBurst() that marks a server as bursting
Attila Molnar [Sun, 27 Jul 2014 16:50:07 +0000 (18:50 +0200)]
m_spanningtree Add TreeServer::BeginBurst() that marks a server as bursting

Don't mark servers as bursting in the constructor

9 years agom_spanningtree Use the value of StartBurst to determine whether a server is bursting...
Attila Molnar [Sun, 27 Jul 2014 16:47:36 +0000 (18:47 +0200)]
m_spanningtree Use the value of StartBurst to determine whether a server is bursting, remove TreeServer::bursting

9 years agom_spanningtree Replace direct access of TreeServer::bursting with IsBursting()
Attila Molnar [Sun, 27 Jul 2014 16:45:52 +0000 (18:45 +0200)]
m_spanningtree Replace direct access of TreeServer::bursting with IsBursting()

9 years agom_spanningtree Remove post-handshake BURST handler
Attila Molnar [Sun, 27 Jul 2014 16:43:30 +0000 (18:43 +0200)]
m_spanningtree Remove post-handshake BURST handler

9 years agom_spanningtree Don't send needless BURST after introducing a server
Attila Molnar [Sun, 27 Jul 2014 16:42:46 +0000 (18:42 +0200)]
m_spanningtree Don't send needless BURST after introducing a server

Synthesize a BURST after SERVER for 1202 protocol servers if we are not bursting

9 years agom_spanningtree Keep track of whether we've sent our burst, to be used for translation
Attila Molnar [Sun, 27 Jul 2014 16:39:01 +0000 (18:39 +0200)]
m_spanningtree Keep track of whether we've sent our burst, to be used for translation

9 years agom_spanningtree Add TreeSocket::WriteLineNoCompat() to send a line without doing any...
Attila Molnar [Sun, 27 Jul 2014 16:37:39 +0000 (18:37 +0200)]
m_spanningtree Add TreeSocket::WriteLineNoCompat() to send a line without doing any translation for old protocol servers

9 years agom_spanningtree Translate the new SERVER message for 1202 protocol servers
Attila Molnar [Sun, 27 Jul 2014 16:36:12 +0000 (18:36 +0200)]
m_spanningtree Translate the new SERVER message for 1202 protocol servers

9 years agom_spanningtree Remove unused parameters from the server introduction message
Attila Molnar [Sun, 27 Jul 2014 16:30:31 +0000 (18:30 +0200)]
m_spanningtree Remove unused parameters from the server introduction message

This does not affect the initial SERVER message containing the password

9 years agom_spanningtree Add newly created TreeServers to the parent's list in the constructor
Attila Molnar [Sun, 27 Jul 2014 16:25:23 +0000 (18:25 +0200)]
m_spanningtree Add newly created TreeServers to the parent's list in the constructor

9 years agom_spanningtree Don't pointlessly copy strings in SERVER handlers
Attila Molnar [Sun, 27 Jul 2014 16:22:12 +0000 (18:22 +0200)]
m_spanningtree Don't pointlessly copy strings in SERVER handlers

9 years agom_spanningtree Deduplicate server auth code
Attila Molnar [Sun, 27 Jul 2014 16:21:10 +0000 (18:21 +0200)]
m_spanningtree Deduplicate server auth code

9 years agom_spanningtree Deduplicate auth finish code
Attila Molnar [Sun, 27 Jul 2014 16:12:34 +0000 (18:12 +0200)]
m_spanningtree Deduplicate auth finish code

9 years agom_spanningtree Remove duplicated code from TreeSocket::Outbound_Reply_Server()
Attila Molnar [Sun, 27 Jul 2014 16:05:36 +0000 (18:05 +0200)]
m_spanningtree Remove duplicated code from TreeSocket::Outbound_Reply_Server()

This is implemented in CheckDuplicate()

9 years agom_spanningtree Set the TS of the uuid nick to the same value on collision
Attila Molnar [Sat, 26 Jul 2014 14:19:18 +0000 (16:19 +0200)]
m_spanningtree Set the TS of the uuid nick to the same value on collision

9 years agom_spanningtree Warn instead of sending SAVE if we change the nick of a non-local...
Attila Molnar [Sat, 26 Jul 2014 14:10:23 +0000 (16:10 +0200)]
m_spanningtree Warn instead of sending SAVE if we change the nick of a non-local user outside of a command handler

9 years agom_spanningtree Only accept uuids in SAVE
Attila Molnar [Sat, 26 Jul 2014 14:08:03 +0000 (16:08 +0200)]
m_spanningtree Only accept uuids in SAVE

9 years agom_spanningtree Don't accept NICK with 0 TS
Attila Molnar [Sat, 26 Jul 2014 14:04:34 +0000 (16:04 +0200)]
m_spanningtree Don't accept NICK with 0 TS

9 years agom_spanningtree Return a bool from DoCollision()
Attila Molnar [Sat, 26 Jul 2014 14:00:24 +0000 (16:00 +0200)]
m_spanningtree Return a bool from DoCollision()

The return value is true if the remote user or both have to change, false if only we have to change

9 years agom_spanningtree Replace WriteLine() call with Unicast() in DoCollision()
Attila Molnar [Sat, 26 Jul 2014 13:53:11 +0000 (15:53 +0200)]
m_spanningtree Replace WriteLine() call with Unicast() in DoCollision()

9 years agom_spanningtree Replace #defines with references in DoCollision()
Attila Molnar [Sat, 26 Jul 2014 13:51:28 +0000 (15:51 +0200)]
m_spanningtree Replace #defines with references in DoCollision()

9 years agom_spanningtree Update comments around collision handling
Attila Molnar [Sat, 26 Jul 2014 13:47:52 +0000 (15:47 +0200)]
m_spanningtree Update comments around collision handling

9 years agom_spanningtree Let the NICK handler change the nick of the incoming user on collision
Attila Molnar [Sat, 26 Jul 2014 13:37:40 +0000 (15:37 +0200)]
m_spanningtree Let the NICK handler change the nick of the incoming user on collision

Don't change it in DoCollision()

9 years agom_spanningtree Update nick overrule on UID code to make sense on master
Attila Molnar [Fri, 25 Jul 2014 10:16:49 +0000 (12:16 +0200)]
m_spanningtree Update nick overrule on UID code to make sense on master

9 years agom_ssl_openssl Read the DH params file using the BIO API on all OSes
Attila Molnar [Fri, 25 Jul 2014 10:10:07 +0000 (12:10 +0200)]
m_ssl_openssl Read the DH params file using the BIO API on all OSes

9 years agoMerge insp20
Attila Molnar [Fri, 25 Jul 2014 10:05:40 +0000 (12:05 +0200)]
Merge insp20

9 years agoRelease v2.0.17
Attila Molnar [Thu, 24 Jul 2014 12:24:00 +0000 (14:24 +0200)]
Release v2.0.17

9 years agoUpdate example configuration files, fix typos and case
Attila Molnar [Thu, 24 Jul 2014 12:20:14 +0000 (14:20 +0200)]
Update example configuration files, fix typos and case

Mention m_regex_stdlib in the list of regex providers after m_filter

9 years agom_spanningtree Always treat the remote client as the winner on nick collision if...
Attila Molnar [Tue, 22 Jul 2014 18:15:44 +0000 (20:15 +0200)]
m_spanningtree Always treat the remote client as the winner on nick collision if the nick is used by a (local) client that isn't fully registered

9 years agoMake sure the DN strings obtained from the SSL mods are always valid
Attila Molnar [Tue, 22 Jul 2014 18:05:10 +0000 (20:05 +0200)]
Make sure the DN strings obtained from the SSL mods are always valid

9 years agoUpdate aliases/anope.conf.example
Adam [Wed, 23 Jul 2014 12:17:24 +0000 (08:17 -0400)]
Update aliases/anope.conf.example

9 years agoUpdate Windows build scripts for the recent build sys changes
Adam [Tue, 22 Jul 2014 20:33:07 +0000 (16:33 -0400)]
Update Windows build scripts for the recent build sys changes

9 years agom_spanningtree Remove the MAP ISUPPORT token
Attila Molnar [Sun, 20 Jul 2014 13:05:42 +0000 (15:05 +0200)]
m_spanningtree Remove the MAP ISUPPORT token

No other servers send this token and sending it has little to no benefit

9 years agom_hideoper: Hide hidden opers from /stats P. #874
Adam [Tue, 17 Jun 2014 12:49:37 +0000 (08:49 -0400)]
m_hideoper: Hide hidden opers from /stats P. #874

9 years agoSay "SSL certificate fingerprint" instead of "SSL fingerprint" everywhere
Attila Molnar [Sat, 19 Jul 2014 12:39:04 +0000 (14:39 +0200)]
Say "SSL certificate fingerprint" instead of "SSL fingerprint" everywhere

9 years agoAccess local user list via new UserManager::GetLocalUsers() and make local_users...
Attila Molnar [Sat, 19 Jul 2014 12:28:51 +0000 (14:28 +0200)]
Access local user list via new UserManager::GetLocalUsers() and make local_users private

9 years agoMove and rename typedef LocalUserList to UserManager::LocalList
Attila Molnar [Sat, 19 Jul 2014 12:23:31 +0000 (14:23 +0200)]
Move and rename typedef LocalUserList to UserManager::LocalList

9 years agoErase local users from UserManager::local_list in QuitUser()
Attila Molnar [Sat, 19 Jul 2014 12:16:15 +0000 (14:16 +0200)]
Erase local users from UserManager::local_list in QuitUser()

9 years agocore_stats Deduplicate stats L and l code
Attila Molnar [Sat, 19 Jul 2014 12:07:09 +0000 (14:07 +0200)]
core_stats Deduplicate stats L and l code

9 years agoMove typedef OperIndex to ServerConfig::OperIndex
Attila Molnar [Wed, 16 Jul 2014 10:32:47 +0000 (12:32 +0200)]
Move typedef OperIndex to ServerConfig::OperIndex

9 years agoMove typedef ClassVector to ServerConfig::ClassVector
Attila Molnar [Wed, 16 Jul 2014 10:30:05 +0000 (12:30 +0200)]
Move typedef ClassVector to ServerConfig::ClassVector

9 years agocore_stats Simplify uptime stats code, don't output years because it is ambiguous
Attila Molnar [Wed, 16 Jul 2014 10:26:56 +0000 (12:26 +0200)]
core_stats Simplify uptime stats code, don't output years because it is ambiguous

9 years agoExpand ISupportManager documentation
Attila Molnar [Mon, 14 Jul 2014 14:47:42 +0000 (16:47 +0200)]
Expand ISupportManager documentation

9 years agoMinor ISupportManager changes
Attila Molnar [Mon, 14 Jul 2014 14:42:22 +0000 (16:42 +0200)]
Minor ISupportManager changes

- Make GetLines() a const method
- Rename Lines to cachedlines
- Get rid of a variable in Build()

9 years agoMove ISupportManager class declaration to isupportmanager.h from inspircd.h
Attila Molnar [Mon, 14 Jul 2014 14:39:09 +0000 (16:39 +0200)]
Move ISupportManager class declaration to isupportmanager.h from inspircd.h

9 years agom_rmode Call Channel::GetUsers() instead of directly accessing Channel::userlist
Attila Molnar [Mon, 14 Jul 2014 14:28:30 +0000 (16:28 +0200)]
m_rmode Call Channel::GetUsers() instead of directly accessing Channel::userlist

9 years agoRename UserChanList to User::ChanList, remove UCListIter
Attila Molnar [Mon, 14 Jul 2014 14:24:59 +0000 (16:24 +0200)]
Rename UserChanList to User::ChanList, remove UCListIter

9 years agoRemove typedef UserMembIter, use Channel::MemberMap::iterator instead
Attila Molnar [Mon, 14 Jul 2014 14:19:34 +0000 (16:19 +0200)]
Remove typedef UserMembIter, use Channel::MemberMap::iterator instead

Remove the now unused UserMembList typedef too

9 years agoRemove typedef UserMembCIter, use Channel::MemberMap::const_iterator instead
Attila Molnar [Mon, 14 Jul 2014 14:15:38 +0000 (16:15 +0200)]
Remove typedef UserMembCIter, use Channel::MemberMap::const_iterator instead

9 years agoRename UserMembList to Channel::MemberMap, switch all code to use it
Attila Molnar [Mon, 14 Jul 2014 14:10:12 +0000 (16:10 +0200)]
Rename UserMembList to Channel::MemberMap, switch all code to use it

9 years agoChange return type of Channel::GetUsers() to reference from pointer as it is never...
Attila Molnar [Mon, 14 Jul 2014 14:04:38 +0000 (16:04 +0200)]
Change return type of Channel::GetUsers() to reference from pointer as it is never NULL

9 years agocore_hostname_lookup Change source of log messages to MODNAME
Attila Molnar [Thu, 10 Jul 2014 10:26:48 +0000 (12:26 +0200)]
core_hostname_lookup Change source of log messages to MODNAME

9 years agocore_dns Change source of log messages to MODNAME, remove "Resolver: " from all messages
Attila Molnar [Thu, 10 Jul 2014 10:25:05 +0000 (12:25 +0200)]
core_dns Change source of log messages to MODNAME, remove "Resolver: " from all messages

9 years agoMove the TimerMap typedef into the private part of TimerManager
Attila Molnar [Thu, 10 Jul 2014 10:19:26 +0000 (12:19 +0200)]
Move the TimerMap typedef into the private part of TimerManager

9 years agoRemove current time parameter of the Timer constructor
Attila Molnar [Thu, 10 Jul 2014 10:17:55 +0000 (12:17 +0200)]
Remove current time parameter of the Timer constructor

9 years agoMove the definition of Timer::Timer() into the source file from the header
Attila Molnar [Thu, 10 Jul 2014 10:14:27 +0000 (12:14 +0200)]
Move the definition of Timer::Timer() into the source file from the header

Use initialization list

9 years agocore_whowas Rename and move WhoWasGroup to WhoWas::Entry
Attila Molnar [Wed, 9 Jul 2014 13:43:08 +0000 (15:43 +0200)]
core_whowas Rename and move WhoWasGroup to WhoWas::Entry

9 years agocore_whowas Return a WhoWas::Manager::Stats struct from GetStats() instead of a string
Attila Molnar [Wed, 9 Jul 2014 13:40:49 +0000 (15:40 +0200)]
core_whowas Return a WhoWas::Manager::Stats struct from GetStats() instead of a string

9 years agocore_whowas Split database logic into a WhoWas::Manager class
Attila Molnar [Wed, 9 Jul 2014 13:38:04 +0000 (15:38 +0200)]
core_whowas Split database logic into a WhoWas::Manager class

9 years agocore_whowas Clean up GetStats()
Attila Molnar [Wed, 9 Jul 2014 13:24:18 +0000 (15:24 +0200)]
core_whowas Clean up GetStats()

9 years agocore_whowas Rename misleading variables and typedefs
Attila Molnar [Wed, 9 Jul 2014 13:21:39 +0000 (15:21 +0200)]
core_whowas Rename misleading variables and typedefs

9 years agocore_whowas Switch from map to a hash map and from irc::string to std::string
Attila Molnar [Wed, 9 Jul 2014 13:16:22 +0000 (15:16 +0200)]
core_whowas Switch from map to a hash map and from irc::string to std::string

9 years agocore_whowas Change the FIFO to be an intrusive list
Attila Molnar [Wed, 9 Jul 2014 13:14:30 +0000 (15:14 +0200)]
core_whowas Change the FIFO to be an intrusive list

9 years agocore_whowas Store the nickname in WhoWas::Nick
Attila Molnar [Wed, 9 Jul 2014 13:06:52 +0000 (15:06 +0200)]
core_whowas Store the nickname in WhoWas::Nick

9 years agocore_whowas Store time added in WhoWas::Nick
Attila Molnar [Wed, 9 Jul 2014 13:03:21 +0000 (15:03 +0200)]
core_whowas Store time added in WhoWas::Nick

9 years agocore_whowas Delete elements of the per nick deque in the destructor of WhoWas::Nick
Attila Molnar [Wed, 9 Jul 2014 13:00:31 +0000 (15:00 +0200)]
core_whowas Delete elements of the per nick deque in the destructor of WhoWas::Nick

9 years agocore_whowas Create class WhoWas::Nick, store pointers to those in the map
Attila Molnar [Wed, 9 Jul 2014 12:57:00 +0000 (14:57 +0200)]
core_whowas Create class WhoWas::Nick, store pointers to those in the map

9 years agoAdd intrusive_list_tail container that maintains a pointer to the last element
Attila Molnar [Wed, 9 Jul 2014 12:50:47 +0000 (14:50 +0200)]
Add intrusive_list_tail container that maintains a pointer to the last element

9 years agoMake the name of intrusive list class configurable using a define
Attila Molnar [Wed, 9 Jul 2014 12:38:06 +0000 (14:38 +0200)]
Make the name of intrusive list class configurable using a define

9 years agoSplit intrusive list implementation into a separate file
Attila Molnar [Wed, 9 Jul 2014 12:26:49 +0000 (14:26 +0200)]
Split intrusive list implementation into a separate file

9 years agocore_whowas Don't display used bytes in /STATS z
Attila Molnar [Wed, 9 Jul 2014 12:18:50 +0000 (14:18 +0200)]
core_whowas Don't display used bytes in /STATS z

Calculating this is tricky and the calculation was not realistic

9 years agom_spanningtree Extract logic that finds the source user for an incoming command into...
Attila Molnar [Sat, 5 Jul 2014 11:29:16 +0000 (13:29 +0200)]
m_spanningtree Extract logic that finds the source user for an incoming command into a function

9 years agom_spanningtree Fix fake direction detection for commands
Attila Molnar [Sat, 5 Jul 2014 11:17:01 +0000 (13:17 +0200)]
m_spanningtree Fix fake direction detection for commands

9 years agom_spanningtree Add optional expected nick TS parameter to SVSNICK
Attila Molnar [Sat, 5 Jul 2014 11:06:57 +0000 (13:06 +0200)]
m_spanningtree Add optional expected nick TS parameter to SVSNICK

Drop SVSNICK if the expected nick TS is present and it does not match the user's nick timestamp

9 years agom_spanningtree Replace manual string building of outgoing commands with CmdBuilder...
Attila Molnar [Thu, 3 Jul 2014 10:42:36 +0000 (12:42 +0200)]
m_spanningtree Replace manual string building of outgoing commands with CmdBuilder where possible

9 years agoUser::ChangeNick() cannot fail if the new nick is the uuid, document this and rely...
Attila Molnar [Thu, 3 Jul 2014 10:36:14 +0000 (12:36 +0200)]
User::ChangeNick() cannot fail if the new nick is the uuid, document this and rely on it

9 years agoGet rid of irc::strings (assign()) in User::ChangeNick()
Attila Molnar [Thu, 3 Jul 2014 10:32:21 +0000 (12:32 +0200)]
Get rid of irc::strings (assign()) in User::ChangeNick()

9 years agoDeduplicate code in User::ChangeNick()
Attila Molnar [Thu, 3 Jul 2014 10:30:54 +0000 (12:30 +0200)]
Deduplicate code in User::ChangeNick()

9 years agoRemove now needless User::ForceNickChange()
Attila Molnar [Thu, 3 Jul 2014 10:27:24 +0000 (12:27 +0200)]
Remove now needless User::ForceNickChange()

Change call sites to call ChangeNick()