13300 Commits

Author SHA1 Message Date
Peter Powell
76e3b78604 Clean up the configuration reading in m_customprefix.
- Rework the code flow to be more readable.
- Ensure that the name is well formed.
- Allow prefix modes with a rank of zero.
2017-11-06 10:55:56 +00:00
Peter Powell
8281315255 Move depriv from m_customprefix into PrefixMode. 2017-11-06 10:55:56 +00:00
Peter Powell
257bf752fc Add support for setting the unset rank in ModeHandler. 2017-11-06 10:55:56 +00:00
Peter Powell
2bce37fc7d Fix an unhandled exception crash when rehashing modules.
Previously we used FOREACH_MOD to call OnRehash which handled any
thrown exceptions. When we switched to ReadConfig this stopped
being the case.

This bug was introduced in c202dea024.
2017-11-06 00:45:54 +00:00
Peter Powell
a2a0711267 Fix some SSL module issues.
- Use the same dhparams name in m_ssl_openssl as in other modules.
- Fix building m_ssl_mbedtls.
2017-11-01 17:35:55 +00:00
Peter Powell
906260c24f Make core_hostname_lookup redo the lookup when a user's IP changes.
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-31 11:48:25 +00:00
Peter Powell
b047c903da Add support to IOHook for retrieving the hostname sent via SNI. 2017-10-29 11:15:47 +00:00
Peter Powell
d865b43486 Hide User#host and User#dhost and use accessors to modify them.
This removes the need to invalidate the cache after changing a
user's hostname.
2017-10-28 16:16:10 +01:00
Peter Powell
08f6f05666 Change SetClientIP to take a C++ string instead of a char array. 2017-10-27 19:15:23 +01:00
Peter Powell
998967b58a Move Shutter to former contributors & thank genius3000, Sheogorath. 2017-10-22 19:56:17 +01:00
Peter Powell
63e300ed08 Deduplicate error handling in the socket engines. 2017-10-22 19:45:05 +01:00
Peter Powell
b109871277 Convert GetMaxFds() to size_t and deduplicate setting code. 2017-10-22 19:44:45 +01:00
Peter Powell
d4414f5491 Remove support for the Solaris IOCP socket engine.
After discussing this with Adam we have decided that there is very
little point in keeping this now that Solaris has been killed. Any
legacy Solaris users will have to make do with poll.

This change does not affect users of Solaris forks like Illumos as
they have support for epoll which will have already been selected
over Solaris IOCP by configure.
2017-10-22 19:42:11 +01:00
Peter Powell
9e67bbcf94 Merge pull request #1407 from genius3000/master+update_helpop_extbans
Helpop Updates
2017-10-22 15:19:11 +01:00
genius3000
8587df2a31 Helpop: Move extban 'U' from acting to matching 2017-10-21 18:59:24 -06:00
genius3000
2a6b5f45da Helpop: Add extban 'n' - connect class ban
Commit a54497e added m_classban, this updates the helpop files.
2017-10-21 18:56:29 -06:00
Adam
7b2a78aa10
socketengine_poll: fix initialization fd_mappings 2017-10-21 20:27:10 -04:00
Peter Powell
0189455f5d Remove CMD_EPERM as it is not used anywhere. 2017-10-21 22:13:15 +01:00
Peter Powell
9eac41bf5a Tweak the module flags in MODULES slightly.
Using unique letters for each flag makes it easier to read when
using fonts which have similar glyphs for upper and lower case
characters.
2017-10-21 22:03:43 +01:00
Peter Powell
b0654ef6ab Add PackageInfo directives for Debian. 2017-10-21 21:24:29 +01:00
Peter Powell
dcd3438011 Add a helper function for calling the OnCheckExemption event. 2017-10-21 16:34:48 +01:00
Peter Powell
9f7c187c51 Switch the default datetime format to something easier to read. 2017-10-20 04:50:36 +01:00
Peter Powell
3c7e105d09 Switch from std::stringstream to irc::spacesepstream.
The latter is more suited to the things we have previously been
using std::stringstream for.
2017-10-19 14:58:21 +01:00
Peter Powell
020c1d6ea6 Add a constructor to OperInfo and use it to set the type name. 2017-10-18 18:38:30 +01:00
Peter Powell
ee7ac5aaed Clean up OnCleanup.
- Switch to using ExtensionItem::ExtensibleType for the type instead
of TargetTypeFlags.
- Pass the extensible to OnCleanup as an Extensible pointer
instead of a void pointer.
- Call OnCleanup for memberships as well as channels and users.
- Rewrite event documentation to remove outdated references.
2017-10-18 12:54:51 +01:00
Peter Powell
3b927b48cc Ignore <module> tags for modules that are already loaded.
This allows us to do user friendly things like loading the alias
module in the example alias files.
2017-10-18 04:08:07 +01:00
Peter Powell
aac644de3d Clean up the command disabling logic.
- Read the disabled command list in ApplyDisabledCommands() instead
  of storing it in a global which is only accessed on rehash.
- Write debug messages to the log when disabling commands.
- Use irc::spacesepstream instead of std::stringstream.
2017-10-17 20:29:15 +01:00
Peter Powell
5b5e898703 Un-constify the private fields of WebIRCHost.
These being constant causes problems on older compilers that don't
elide the temporary copy when adding to the host list.
2017-10-16 00:15:12 +01:00
attilamolnar
c65b5b4a1e Clean up the initialization of ConnectClass and ServerConfig. 2017-10-15 23:41:50 +01:00
Peter Powell
7306e35479 Rewrite the configuration documentation for m_cgiirc. 2017-10-15 19:50:15 +01:00
Peter Powell
243b0dd120 Add support for WEBIRC blocks authenticating using client certs. 2017-10-15 17:19:38 +01:00
Peter Powell
8fb067d2cc Show the gateway, realhost, and realip in WHOIS for cgiirc clients.
This mirrors a similar feature in ircd-hybrid but using a different
numeric that is not already taken in InspIRCd.
2017-10-15 17:19:29 +01:00
Peter Powell
5272767307 Clean up the WEBIRC command handler.
- Fix the extremely broken indentation.
- Simplify the HandleLocal code flow.
- Improve the notices sent to operators.
2017-10-15 17:19:27 +01:00
Peter Powell
907a37967c Add support for hashed WebIRC passwords to m_cgiirc. 2017-10-15 17:18:11 +01:00
Peter Powell
c2ea260d63 Rewrite the m_cgiirc configuration handling.
- Store ident hosts separately to WebIRC hosts.
- Throw exceptions when the configuration is invalid.
2017-10-15 17:18:09 +01:00
Peter Powell
4743b23e5c Remove INSPIRCD_SOCKETENGINE_NAME and INSPIRCD_SYSTEM.
- INSPIRCD_SOCKETENGINE_NAME is not really something that needs to
  be user facing. If opers want to know this kind of internal info
  then they can look at the build configuration.

- INSPIRCD_SYSTEM causes problems for reproducible builds and is
  only accurate for the state of the system when InspIRCd is built
  which is not useful in the slightest.
2017-10-15 11:57:05 +01:00
Peter Powell
c5d9b2d6c1 test-build: Pass the make jobs as a separate argument.
The old way was only necessary when we supported BSD Make.
2017-10-15 03:55:53 +01:00
Peter Powell
94e307757f Remove an outdated comment in cmd_user.
We don't use C strings for storing the ident anymore.
2017-10-15 01:29:19 +01:00
Peter Powell
96f33a88ef Release v3.0.0 alpha 2. v3.0.0a2 2017-10-12 17:14:16 +01:00
Peter Powell
a3e0768758 Merge the latest changes from insp20 into master. 2017-10-12 15:55:21 +01:00
Peter Powell
c46f8a368c Merge pull request #1361 from genius3000/master+rline_IP
Make RLines match against IP as well as host
2017-10-12 15:09:03 +01:00
Peter Powell
1522ba9800 Merge pull request #1353 from SISheogorath/master+domainpart-cloaking
Make domainparts in m_cloaking configureable.
2017-10-12 15:07:45 +01:00
Peter Powell
9de9231380 Fix a broken distro constraint in the m_ssl_gnutls PackageInfo. 2017-10-12 15:04:23 +01:00
Peter Powell
5cece0632f Clean up m_sasl slightly by making SendSASL take common params.
Also, fix a minor issue caused by the last insp20 merge.
2017-10-12 14:46:51 +01:00
Peter Powell
118fd780a9 Send ERR_SASLTOOLONG when a client sends an oversized AUTHENTICATE. 2017-10-12 14:46:50 +01:00
Peter Powell
0337b92c15 Include connection security with the SASL host information.
See atheme/atheme@b41753f740 for more details.
2017-10-11 12:32:04 +01:00
Peter Powell
407b2e004c Don't abort the SASL authentication in OnUserConnect.
SASL-3.2 allows SASL auth to happen post-registration so this is
no longer correct.
2017-10-11 11:47:58 +01:00
Peter Powell
6226ed9a29 Get rid of ReadCGIIRCExt() in m_sasl.
This is unnecessary since 852dd0337a.
2017-10-11 11:47:57 +01:00
Sheogorath
aa5bd1eafe
Make domainparts configureable 2017-10-11 10:52:30 +02:00
genius3000
7add0bc5e2 Make RLines match against IP as well as host 2017-10-10 22:03:04 -06:00