11765 Commits

Author SHA1 Message Date
attilamolnar
deb18ee9cf Remove InspIRCd::HandleRehash functor
Call InspIRCd::Rehash() from cmd_rehash and from the SIGHUP handler
2013-09-08 17:21:01 +02:00
attilamolnar
992674362c Automatically register ServiceProviders created by modules 2013-09-08 17:11:08 +02:00
attilamolnar
8a64bd3a0a Deduplicate code in modmanager_static and modmanager_dynamic 2013-09-08 17:10:15 +02:00
attilamolnar
e6e3ae88fb Remove ModuleManager::ModCount and GetCount() 2013-09-08 16:57:03 +02:00
attilamolnar
fabe111fb9 Fix module loading in PURE_STATIC builds 2013-09-08 16:54:33 +02:00
ChrisTX
3f4d54eb03 Fix a crash when running as systemd service
- Fix a NULL dereference if a signal is raised in the constructor of the
class InspIRCd
- Resolve the parent's process exit code being SIGTERM=15 and typically not
EXIT_SUCCESS thus

A combination of the two caused crashes when running as systemd unit.
2013-09-08 12:10:01 +02:00
Adam
29694ce3d2 Fix compile warnings as seen on g++ 4.4.7 2013-09-08 04:00:00 -04:00
Attila Molnar
fb1e17c31c Merge pull request #623 from ChrisTX/insp20+compilerfixes
Improve support for rarely used compilers, EKOPath in this case.
2013-09-04 06:42:46 -07:00
attilamolnar
ae23aefa3c m_spanningtree Fix timestamp in AWAY 2013-08-31 12:00:55 +02:00
ChrisTX
426752022e Improve support for rarely used compilers, EKOPath in this case. 2013-08-31 01:17:07 +02:00
attilamolnar
d349f981fb Remove ModuleManager::GetAllModuleNames(), use GetModules() instead 2013-08-30 13:15:10 +02:00
attilamolnar
c202dea024 Replace OnRehash() with ReadConfig() that is called on boot, on module load and on rehash
This eliminates the need for calling OnRehash() in init()
2013-08-30 13:15:10 +02:00
attilamolnar
1031f33333 Merge insp20 2013-08-30 13:01:10 +02:00
attilamolnar
d54eec6dd8 Don't CoreExport reference, fixes m_dnsbl on Windows
The explicit instantiations of reference are now useless; remove
2013-08-30 12:10:01 +02:00
attilamolnar
5661a9eddb Release 2.0.14 v2.0.14 2013-08-28 19:29:50 +02:00
attilamolnar
4d41afdc2e m_permchannels Fix empty topic setby 2013-08-28 19:27:14 +02:00
Christopher 'm4z' Holm
81a616cd9f Update COPYING file with new FSF address.
This should make rpmlint stop complaining about the incorrect FSF
address. All changes taken from:
    http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
2013-08-28 14:35:10 +02:00
attilamolnar
7432fea968 m_spanningtree Propagate topic changes via FTOPIC in order to prevent desync when two TOPIC messages cross
TOPIC is no longer accepted from servers using the new protocol
2013-08-28 12:11:33 +02:00
attilamolnar
c92613ebf3 Fix fd and minor memory leak in threadengine_pthread on unload of m_mysql 2013-08-27 18:33:48 +02:00
attilamolnar
25ab5612f2 Fix crash caused by passing a large integer to ctime()
In addition to verifying the return value of localtime(), correct tm_year if it is out of bounds

Reported by @JDowny
2013-08-27 18:33:32 +02:00
attilamolnar
261d5bb566 m_permchannels Add the ability to save listmodes 2013-08-27 18:32:32 +02:00
attilamolnar
86f8294c2d m_permchannels Save channel TS, topic set time and set by information
When loading, ignore and log channels with a name longer than Limits.MaxChan
2013-08-27 18:32:32 +02:00
attilamolnar
b55c842c9d m_permchannels Construct the final line that will be saved in a std::string in WriteDatabase() 2013-08-27 18:32:32 +02:00
attilamolnar
00cd97160a Update example configs, README.md and more
- Fix typos, remove misleading information, rephrase a few sentences
- Add info about hmac-<hash> hash types
- Remove <performance:maxwho> (the code which used this was removed in 96e4434 - @SaberUK)
- Change inspircd.github.org to inspircd.org
2013-08-27 18:30:59 +02:00
attilamolnar
7e7e773d4d m_spanningtree Introduce command builders 2013-08-27 15:33:05 +02:00
attilamolnar
27ecc025ac m_spanningtree Changes to TreeSocket::WriteLine() to avoid string copies
- Change argument type to a reference to avoid copies of the string object
- If the std::string implementation is using copy-on-write then calling operator[] on a mutable string results in a copy; avoid this by calling .c_str() instead
2013-08-27 15:33:05 +02:00
attilamolnar
5384ddf545 Fix Windows build and a few more problems 2013-08-27 15:03:10 +02:00
attilamolnar
6b16dbc84c Fix indentation 2013-08-27 15:02:21 +02:00
Daniel Vassdal
f19dd8310e Allow jmpsrv to handle SSL-connected clients correctly - also allow clients to use the port they're currently using. 2013-08-27 15:02:11 +02:00
Attila Molnar
620e818578 Merge pull request #619 from SaberUK/master+regex-dedupe
Various regex module improvements.
2013-08-27 05:28:15 -07:00
Peter Powell
eaf658de3d Fix various small issues.
- Add CXX11_OVERRIDE to *Regex::Matches and *RegexFactory::Create.
- Fix documentation comment on regex_string.
- Fix various code duplication/layout issues.
2013-08-27 12:20:03 +01:00
Peter Powell
0e7f74a7c8 Make all regex modules throw the same exception on error. 2013-08-27 12:07:49 +01:00
attilamolnar
d9d9cbe025 m_spanningtree Allow server-to-server command handlers to specify whether they accept servers, remote users or both as the command source
To make life easier for handlers accepting servers only as source, pass them a TreeServer* so they don't have to call FindServer()
2013-08-25 13:42:01 +02:00
attilamolnar
61d586b1a3 Clean up the protocol interface 2013-08-25 13:41:36 +02:00
Attila Molnar
9745333cd4 Merge pull request #616 from ShutterQuick/inspircd+chanhistbot
Option to select if chanhistory is on for bots
2013-08-24 07:50:02 -07:00
Daniel Vassdal
71b9af776e Option to select if chanhistory is on for bots 2013-08-24 07:45:34 -07:00
attilamolnar
7264a6a8d4 m_spanningtree Add TreeServer::GetChildren() that replaces ChildCount() and GetChild() 2013-08-22 13:42:20 +02:00
attilamolnar
67de413cad m_spanningtree Remove duplicate code for sending channel messages from RouteCommand() 2013-08-22 13:42:20 +02:00
attilamolnar
15f4e6b865 m_spanningtree Implement DoOneToMany() using DoOneToAllButSender() 2013-08-22 13:42:20 +02:00
attilamolnar
5cc9614e73 m_spanningtree Change TreeServer::GetSocket() to always return the socket that can be used to talk to the server
The only exception is the tree root (us) which has no associated socket (NULL)

Add TreeServer::IsRoot() and IsLocal() helpers
2013-08-22 13:42:20 +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
d3b6538f95 m_spanningtree When an IOHook goes away close all pending connections that use it 2013-08-21 16:38:33 +02:00
attilamolnar
3afddb6a34 m_dnsbl Fix possible use-after-free after a rehash 2013-08-21 16:35:29 +02:00
attilamolnar
0cec1856cc Remove cmd_map from the core 2013-08-19 20:08:41 +02:00
attilamolnar
5dcd385b77 m_spanningtree Minor cleanup of functions 2013-08-19 19:54:54 +02:00
attilamolnar
b14ebbccf0 m_spanningtree Move all server-to-server command handlers into handler classes
These commands are not registered in or called by the core. When looking for the handler of a command a new command table is searched first which contains all server-to-server commands. If a handler cannot be found in there, the core command table is consulted.
2013-08-18 15:11:02 +02:00
attilamolnar
153179b574 Create the CommandBase class from Command
The Handle() method is not part of CommandBase, making it possible to provide a different Handle() in each class derived from CommandBase
2013-08-18 15:11:02 +02:00
attilamolnar
b395c59997 m_spanningtree Propagate oper-only quit reason using METADATA, remove OPERQUIT 2013-08-18 13:48:31 +02:00
Attila Molnar
02267976f6 Merge pull request #609 from SaberUK/master+configure-sub-shuffle
Clean up and move various subroutines.
2013-08-18 03:49:25 -07:00
Peter Powell
3070548cee Clean up and move various subroutines.
- Fix indentation of get_compiler_info and clean up slightly.
- Move module_installed to make::utilities.
- Remove promptnumeric (unused).
- Rename clean to cmd_clean and rewrite.
- Rename dir_check to prompt_bool and rewrite.
- Rename dumphash to dump_hash.
- Rename getcache to read_configure_cache and rewrite.
- Rename getrevision to get_revision.
- Rename makecache to write_configure_cache and rewrite.
- Rename promptstring_s to prompt_string and rewrite.
- Rename showhelp to cmd_help and rewrite.
- Rename update to cmd_update and rewrite.
- Rename yesno to prompt_bool and rewrite.
- Replace getmodules with a <src/modules/m_*.cpp> glob.
2013-08-18 11:41:43 +01:00