summaryrefslogtreecommitdiff
path: root/src/modules/m_cgiirc.cpp
AgeCommit message (Collapse)Author
2018-12-01Fix detecting secure clients connecting through HAProxy/WEBIRC.Peter Powell
2018-11-21Kill users that fail a WEBIRC auth instead of penalising them.Peter Powell
This behaviour is specified in the IRCv3 WebIRC specification.
2018-11-21Only try to parse the WebIRC IP if the user matches a host.Peter Powell
2018-11-16Fix an inverted condition in the cgiirc module.Peter Powell
2018-11-04Implement support for WEBIRC attributes.Peter Powell
2018-09-17Improvements and bugfixes to the cgiirc module.Peter Powell
- Allow the ident for ident type hosts to be set in the config. - Consistently check clone counts, connect classes, and xlines for all users regardless of their cgiirc host type. - Remove some obsolete code from when gateway clients had their IP changed in OnCheckReady. - Don't allow a gateway client to match both a WebIRC and an ident host.
2018-07-26Use CommandBase::Params instead of std::vector<std::string>.Peter Powell
This is presently a typedef but will soon be replaced with a class that encapsulates both tags and parameters.
2018-04-08Include modules/whois.h directly from files that use it.Peter Powell
2017-12-27Fix various issues with the cgiirc module.Peter Powell
- Respect the value of <cgiirc:opernotice> when sending snotices to operators. - Write to the log file if opernotice is disabled. - Log to the correct snomask in all cases. This was caused by an oversight when merging insp20 into master. - Replace the full user mask in log messages with a uuid/ip. The WEBIRC command is sent as the first command so there will not be a nickname or username at this point.
2017-10-31Make core_hostname_lookup redo the lookup when a user's IP changes.Peter Powell
This removes the need to do lookups in the cgiirc module. This is useful as relying on gateways to do proper DNS checks is unreliable and has resulted in issues like 5fc4403f62. Its more sane if we do our own lookups. This change has been okayed by multiple WEBIRC gateway authors so I don't think it will cause many problems.
2017-10-28Hide User#host and User#dhost and use accessors to modify them.Peter Powell
This removes the need to invalidate the cache after changing a user's hostname.
2017-10-27Change SetClientIP to take a C++ string instead of a char array.Peter Powell
2017-10-16Un-constify the private fields of WebIRCHost.Peter Powell
These being constant causes problems on older compilers that don't elide the temporary copy when adding to the host list.
2017-10-15Rewrite the configuration documentation for m_cgiirc.Peter Powell
2017-10-15Add support for WEBIRC blocks authenticating using client certs.Peter Powell
2017-10-15Show the gateway, realhost, and realip in WHOIS for cgiirc clients.Peter Powell
This mirrors a similar feature in ircd-hybrid but using a different numeric that is not already taken in InspIRCd.
2017-10-15Clean up the WEBIRC command handler.Peter Powell
- Fix the extremely broken indentation. - Simplify the HandleLocal code flow. - Improve the notices sent to operators.
2017-10-15Add support for hashed WebIRC passwords to m_cgiirc.Peter Powell
2017-10-15Rewrite the m_cgiirc configuration handling.Peter Powell
- Store ident hosts separately to WebIRC hosts. - Throw exceptions when the configuration is invalid.
2017-10-12Merge the latest changes from insp20 into master.Peter Powell
2017-10-01Switch the WEBIRC command to use SplitCommand.Peter Powell
2017-09-27Remove support for the pass, passfirst, identfirst cgiirc types.Peter Powell
These methods are not supported by any widely used gateways that I can find. If your gateway uses this then you should rewrite it to use the webirc method. For more details see the IRCv3 WEBIRC specification at http://ircv3.net/specs/extensions/webirc.html.
2017-09-09Fix m_cgiirc allowing malformed hosts sent via WEBIRC.Peter Powell
2017-08-05Merge pull request #1351 from SaberUK/master+webircPeter Powell
Allow filtering WebIRC connections into a connect class by gateway.
2017-07-09Merge v2.0.23 and v2.0.24 into master.Peter Powell
2017-06-22Allow filtering WebIRC connections into a connect class by gateway.Peter Powell
2017-04-27Penalise clients that use WEBIRC incorrectly.Peter Powell
2017-04-27Fix WEBIRC not rejecting invalid IP addresses.Peter Powell
2016-09-12Change type of log messages to MODNAME in several modulesAttila Molnar
2015-01-18Specify which Extensible subclass an ExtensionItem is valid forAttila Molnar
2014-07-25Merge insp20Attila Molnar
2014-05-01m_cgiirc Call User::InvalidateCache() after changing host and dhost in ↵Attila Molnar
OnCheckReady()
2014-04-09Fix m_cgiirc to set the user's host straight away when using WEBIRC.md_5
2014-03-17Rewrite clone counting to use one map instead of twoAttila Molnar
2014-03-08Make the maximum hostname length configurable in the config.Peter Powell
2014-02-23Moving CGIIRC to a new snomask (w)Googolplexed
2014-01-23Remove whitespace and minor style changesAttila Molnar
2013-12-18Clean up CoreExceptionAttila Molnar
- Remove default constructor - Replace virtual functions returning C strings with functions returning const std::string refs
2013-09-08Automatically register ServiceProviders created by modulesattilamolnar
2013-08-30Replace OnRehash() with ReadConfig() that is called on boot, on module load ↵attilamolnar
and on rehash This eliminates the need for calling OnRehash() in init()
2013-08-10Rename <connect:nouserdns> to <connect:resolvehostnames>.Peter Powell
This name is more descriptive and avoids a double negative which could make the name of this setting unclear to non-native speakers.
2013-08-04Automatically attach modules to eventsattilamolnar
2013-08-04Modify the log message to contain the log type.Peter Powell
2013-07-04Remove $Core and $Mod* comments apart from $ModDep.Peter Powell
2013-06-24Prevent m_cgiirc from blocking indefinitely, resulting in registration ↵ElementalAlchemist
timeouts on e.g. Mibbit when webirc is not used
2013-05-19Fix spacing in calls to LogManager::Log.Peter Powell
2013-05-15Tidy up keywords on module methods.Peter Powell
- 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.
2013-04-27Move <performance:nouserdns> to <connect:nouserdns>.Peter Powell
2013-04-26Modularize DNSAdam
The DNS modules are temporarily in commands/ so they're loaded automatically Thanks to Attila for helping with much of this.
2013-04-12Add LOG_ prefix to the log level enum values.Peter Powell