summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-04-09Remove swhois messages set in the oper block on deoper.Peter Powell
Closes #1240.
2018-04-06Fix ELine::Matches returning false on existing matchgenius3000
When checking for an E-Line match, we want to actually check for a current match even if we previously matched and are set exempt. This fixes situations where you have an E-Lined CGI:IRC address, a G-Lined IP range for some area/host/etc and a smaller E-Lined IP range for known good clients. Currently when CGI:IRC changes the IP, E-Lines are rechecked but because the user is already exempt (from the CGI:IRC E-Line), they are set no longer exempt and match a G-Line, when they should match an E-Line. This exact change has been done before in commit 'c8b344e' and shortly reverted in 'c490a90' to fix issue #989 (CGI:IRC users remaining exempt when the CGI:IRC address is E-Lined but they are not). The actual cause to this issue was likely that the user's hostname was not changed from the CGI:IRC hostname/IP prior to rechecking E-Lines. This is being fixed in a separate commit.
2018-04-06Set User::host before calling ChangeIP()Peter Powell
ChangeIP() calls SetClientIP() which revalidates whether the user matches an ELine. However, because the hostname has not changed yet the user may incorrectly be marked as non-exempt.
2018-03-30Update the GeoIP ExtItem when CGI:IRC sets the real IP (#1471)genius3000
Since CGI:IRC calls it's 'ChangeIP()' either from 'OnCheckReady()' or 'OnUserRegister()', both of which are called after the user has sent NICK/USER, we can safely skip re-setting the ExtItem prior to this point. This skips the first 'OnSetUserIP()' from 'User::AddUser()' as the 'OnSetConnectClass()' catch handles the initial setting.
2018-03-02m_ssl_openssl: Remove deprecated API members.Wade Cline
Backported from 2afc1af4639ae2bbef397f4f6acc834950017d91.
2018-01-25Revert std::set changes and add duplicate checking in m_banredirect instead, ↵linuxdaemon
as requested by @Adam-
2018-01-25Fix comparator logic for ordering by channellinuxdaemon
2018-01-25Make sure banredirect metadata can not be duplicatedlinuxdaemon
2017-12-31m_chanhistory: optionally exempt bots from receiving history.Michael Hazell
Sending history to some bots can cause problems as without the IRCv3 chathistory batch they have no way of knowing what messages are history and what they should respond to. Closes #1450.
2017-12-20Always store something in the cgiirc hostname extension.Peter Powell
This is used by modules like m_sasl to send the cgiirc hostname to services so it should contain something valid. Closes #1438.
2017-12-15Fix m_spanningtree sending the wrong setter in S2S ADDLINE.Peter Powell
2017-12-15Fix m_xline_db storing the wrong setter in the XLine database.Peter Powell
2017-11-28Add length checking to GetExtBanStatus and m_banexception.Peter Powell
As far as I can tell this is not a problem as all ban masks are canonicalised but its better to be safe than sorry.
2017-11-12Release v2.0.25Peter Powell
2017-11-09Work around removing shuns on nicks when the nick is online.Peter Powell
2017-11-09Revert the code changes to m_sasl made in commit 9d4b4344b4.Peter Powell
This is causing problems such as duplicate 904 messages.
2017-11-06Improve (synchronize) the notices in m_timedbansgenius3000
* Send to remote servers upon setting * Send to halfop if available upon expiry
2017-11-06Merge pull request #1359 from genius3000/insp20+sasl_no_serverPeter Powell
2.0: Inform the client when a SASL message cannot be sent
2017-11-05Inform the client when a SASL message cannot be sentgenius3000
When SASL is properly configured with a 'target' server, we are able to inform the client when the message fails to send. Currently if a target is configured and it is offline, no response is sent. This can cause some clients to time out while waiting for a response. If a target isn't configured, behaviour will not change with this commit. The default of '*' will still send to all servers. Updated example config with 'target' variable.
2017-11-05Use InvalidateCache in the sockaddrs overload of OnSetClientIP.Peter Powell
This was done to the string variant in d3b82b2f7f.
2017-11-04Fix CMD_RESTART with relative paths as argv[0].Jordyn/The Linux Geek
2017-10-26ConfigReader: fix compilers optimizing NULL check in ConfigTag::readString()Adam
See: 66f82ccf926aac39273bfc652c85c08080cc9a46 Fixes inspircd/inspircd-extras#110
2017-10-18Fix sending a malformed 410 numeric when sent empty CAP commands.Peter Powell
2017-10-15Update wiki links to use HTTPS and point to the correct pages.Peter Powell
When we release 3.0 these links will break as they will point to the pages for 3.0 rather than 2.0.
2017-10-11Include connection security with the SASL host information.Peter Powell
See atheme/atheme@b41753f740 for more details.
2017-09-11Fix killing elined clients on [gkz]line in some cases.Peter Powell
2017-09-09Fix m_cgiirc allowing malformed hosts sent via WEBIRC.Peter Powell
2017-09-01Fix {Host,IP}MatchesEveryone using Match instead of MatchCIDR.Peter Powell
MatchCIDR is what [GKZ]Line::Matches uses it so we should also use it here to prevent insane bans that should not pass from passing.
2017-08-26Use DLLManager::RetrieveLastError() on all platforms.Peter Powell
This prevents a bug where we send malformed messages to the client when dlerror() returns an error message containing more than one line. This has been observed on macOS but probably will happen on other UNIX systems too. This also fixes a potential problem where dlerror() returns NULL and converting it to std::string causes a crash. I can't see any way that this might happen but it is better to be safe than sorry.
2017-08-25Fix mistakenly hardcoding the halfop prefix char in timedbans.Peter Powell
This will almost always be % but if the server admin is using the customprefix module and remaps it to something else messages will not be sent out correctly.
2017-06-16Fix exempting CTCP ACTIONs in m_blockcaps and m_noctcp.Peter Powell
Previously we assumed that CTCP ACTIONs matched "\1ACTION ". This is incorrect because "\1ACTION\1" and "\1ACTION" are valid CTCPs.
2017-05-18Release v2.0.24v2.0.24Adam
2017-05-17m_override: fix parentheses compiler warningAdam
2017-05-17Merge pull request #1094 from SISheogorath/insp20+fixed-OverrideAdam
fix override issue
2017-05-17Merge pull request #1328 from Adam-/insp20+sakickAdam
m_sakick: remove unused "Unable to kick" notice
2017-05-17Merge pull request #1284 from Adam-/insp20+preregcloakAdam
m_cloaking: don't apply cloak to already cloaked users during registration
2017-05-17m_cloaking: don't apply cloak to already cloaked users during registrationAdam
This can happen if services set a vhost during registration (like with SASL)
2017-05-17Merge pull request #1321 from SaberUK/insp20+permwarnAttila Molnar
[2.0] Warn when a user configures a permanent channel without +P.
2017-05-17Merge pull request #1269 from Adam-/insp20+saslhostAttila Molnar
m_sasl: send host/ip info
2017-05-17Merge pull request #1230 from SaberUK/insp20+ipcacheAttila Molnar
[2.0] Invalidate the caches properly when User::SetClientIP is called.
2017-05-11m_sakick: remove unused "Unable to kick" noticeAdam
This has never worked due to the channel lookup using the user's nick
2017-04-27Penalise clients that use WEBIRC incorrectly.Peter Powell
2017-04-27Fix WEBIRC not rejecting invalid IP addresses.Peter Powell
2017-04-24Warn when a user configures a permanent channel without +P.Peter Powell
2017-03-20m_ldapauth: fix providing username in PASSAdam
This has never worked because it never prepended attribute= to the search string. It also would prefer matching nick/ident over the user string provided which is inconsistent, since your ability to authenticate using PASS would depend on a ldap entry not existing with your current nick/ident. Instead, use username provided in PASS and then fallback to nick/ident.
2017-03-20cmd_who: don't show +p channels or channels hidden with m_hidechansAdam
Fixes #1276
2017-03-05Merge pull request #1266 from Adam-/insp20+cloakipAttila Molnar
m_cloaking: fix host/ip comparisons #1249
2017-02-26m_sasl: use host/ip from m_cgiirc if applicableAdam
2017-01-11m_dnsbl: check returned results are in 127.0.0.0/8Adam
2016-12-19m_sasl: send host/ip infoAdam