449 Commits

Author SHA1 Message Date
attilamolnar
34fa5627de Create a base class for prefix modes
Move Channel::SetPrefix() into Membership
2013-09-11 12:10:07 +02:00
attilamolnar
39d34b6042 Fix a few problems
- Fix configuration issue on systems without both GnuTLS and OpenSSL. (@SaberUK)
- Do not set Membership::modes in ForceJoin() incorrectly to privs
- Fix crash when spanningtree detects a configuration error on load
2013-08-22 13:41:11 +02:00
attilamolnar
37394a80c2 Clean up a few constructors
Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
2013-08-12 20:10:06 +02:00
Peter Powell
3d019b14ec Require privs given on initial join to be in <options:defaultmodes>. 2013-08-10 14:04:09 +01:00
Adam
8710724b55 Change the syntax of FOREACH macros to be less dumb. 2013-08-04 16:08:57 +02:00
attilamolnar
fd1d19d634 Replace hardcoded mode letters, part 3
This changes most remaining User::IsModeSet() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-19 19:40:04 +02:00
attilamolnar
b954283ccc Replace hardcoded mode letters, part 2
This changes all remaining Channel::IsModeSet() and Channel::GetModeParameter() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-19 19:40:03 +02:00
attilamolnar
5288eb1594 Seperate ModeReference into ChanModeReference and UserModeReference 2013-07-19 19:40:02 +02:00
Peter Powell
54d10d53c7 Remove $Core and $Mod* comments apart from $ModDep. 2013-07-04 15:51:00 +01:00
attilamolnar
f2cdf27dd9 Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() with ModeHandlers, part 1 2013-07-01 19:21:08 +02:00
attilamolnar
93b12896da Fix a few oversights
This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
2013-07-01 19:10:21 +02:00
attilamolnar
a85bc774f9 Always set the topic in Channel::SetTopic(), move access checks into cmd_topic 2013-06-16 21:53:05 +02:00
attilamolnar
95593de52c Call Channel::SetModeParam() from the mode parser when needed instead of requiring mode handlers to do it 2013-06-13 19:00:01 +02:00
attilamolnar
8a06d54076 Refactor Channel::UserList() to use std::string 2013-06-04 02:10:16 +02:00
attilamolnar
8e8a4df17e Remove the now unused Channel::RemoveAllPrefixes() and CountInvisible() 2013-06-04 02:06:50 +02:00
attilamolnar
2ac7d154d9 Reduce User* -> Membership* lookups on part and kick 2013-06-04 02:06:50 +02:00
attilamolnar
6db9244585 Channel::KickUser() and cmd_kick changes
- Remove uline checks from KickUser()
- Disallow the kick if done by a local user and the victim is ulined in cmd_kick
- Remove call to RemoveAllPrefixes() as it has no additional effect, the Membership object containing the prefixes is destroyed soon after the call
2013-06-04 01:57:35 +02:00
attilamolnar
3a01b55a11 Remove NULL checks from various Channel functions
Passing NULL to these functions are not permitted and must be avoided by the caller
2013-06-04 01:49:14 +02:00
attilamolnar
b01dc3cb86 Move a few trivial functions into headers 2013-06-02 00:28:55 +02:00
Daniel Vassdal
4e40ee49bb Replaced vsnprintf with VAFORMAT pretty much everywhere. 2013-05-18 14:01:21 -07:00
attilamolnar
0a8b0d317e Remove unused variables, avoid copies where possible, check empty() instead of size() == 0
Most of these were detected by cppcheck
2013-05-16 20:33:46 +02:00
attilamolnar
712a0e5ff3 Get rid of strlcpy(), strlcat(), charlcat() and charremove() 2013-05-16 02:23:45 +02:00
Peter Powell
accccc212c Replace some C-isms with C++-isms.
* 'const char*' to 'const std::string&'.
* snprintf to std::string concatenation.
* Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-05-15 03:32:56 +01:00
attilamolnar
8790551dc1 Merge insp20 2013-04-28 00:32:14 +02:00
attilamolnar
1250abdc09 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
2013-04-21 15:30:51 +02:00
attilamolnar
b98acac5c9 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
2013-04-13 16:05:54 +02:00
attilamolnar
988d821807 OnUserPreJoin is a local-only hook, change User* parameter to LocalUser* 2013-04-13 15:34:12 +02:00
attilamolnar
d71b6a8b27 Remove the deprecated invite API 2013-04-13 15:34:11 +02:00
Peter Powell
645f7e18c6 Add LOG_ prefix to the log level enum values. 2013-04-12 02:21:19 +01:00
attilamolnar
ebe5b201aa Migrate u_listmode.h into the core, change +b to use it 2013-04-08 23:13:24 +02:00
attilamolnar
1cb05553e2 Change channel name parameter of Module::OnUserPreJoin() and Channel::JoinUser() to std::string from char* 2013-04-01 02:13:43 +02:00
attilamolnar
58212b3d2b Fix exactly <limits:maxchan> long channel names being truncated
Fixes #422 reported by @RawrDragon
2013-02-11 16:16:39 +01:00
Adam
c7a5cc0a98 Don't send quitting users in RPL_NAMREPLY, fixes desyncing clients who join a channel after a user has quit but before they are culled 2012-10-31 13:14:13 -04:00
attilamolnar
6b14ac1562 Check if the mask is long enough before accessing it when checking extbans 2012-10-03 03:22:22 +02:00
attilamolnar
02859be56d Fix more undefined behavior caused by referencing the returned buffer by std::string::c_str() when the object is temporary
See 83c7cc45daf6fb1f8c36f15297a4657e45a34e88
2012-09-30 03:04:07 +02:00
attilamolnar
8e662f6202 Change debug message in Invitation::Find() to output expiration time as a string to avoid warnings 2012-07-13 15:27:38 +02:00
attilamolnar
d2e189102b Fix pending invites not being removed when a channel was deleted or had its TS lowered 2012-06-17 17:54:49 +02:00
Robin Burchell
cb9740f151 Merge pull request #166 from Robby-/insp20-cfgcorrections
[2.0] Add more documentation about logging, aswell as make text, tab and space corrections to the configs.
2012-05-30 02:46:30 -07:00
Robby-
8c7aeaf595 Add more documentation about logging, aswell as make text, tab and space corrections to the configs 2012-05-30 00:29:06 +02:00
attilamolnar
7d41ace956 Fix printf-style WriteAllExcept not obeying serversource parameter 2012-05-29 15:13:55 +02:00
attilamolnar
0409230be0 Silence the MODE too if a join was silenced by a module not just the JOIN
This leaked information when a module gave privs to the joining user in OnUserPreJoin
Fix CycleHostsFromUser having the opposite effect
2012-05-29 15:13:42 +02:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Peter Powell
86434e0d4b Fix unused variables reported by the clang static analyzer. 2012-04-14 17:04:47 +01:00
Daniel De Graaf
4fb31d6a34 Fix kick level check to scan all status modes and not skip checks for modeless users 2010-09-30 19:03:06 -04:00
Daniel De Graaf
2d0e736f33 Fix kicking permisisons - GetPrefixChar returns the prefix, not the mode character 2010-09-28 11:01:45 -04:00
Daniel De Graaf
460453230d Prevent kicking people you do not have permission to deprivilege 2010-08-04 21:27:21 -04:00
danieldg
13fa09f64f Use CycleHostsFromUser for on-join modes too (m_autoop)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12637 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-15 01:53:43 +00:00
danieldg
8cebf7069a Make "topiclock" exemption only apply when +t is set
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12613 e03df62e-2008-0410-955e-edbf42e46eb7
2010-03-07 18:27:14 +00:00
danieldg
4d46f5f9ef Restore <options:exemptchanops> with long names
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12502 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-20 09:15:55 +00:00
danieldg
c2ec183ffe Kill m_spy, which was replaced by channels/auspex in 1.2 but kept alive for nostalgia
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12497 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-19 02:50:29 +00:00