Age | Commit message (Collapse) | Author |
|
Represent serializable objects in a digraph, and as a result made most
object relationships implicitly defined, and use the graph to trace
references between objects to determine relationships. Edges may
also be marked as having a dependency of the object they point to,
which allows for automatic cleanup and deletion of most objects when
no longer needed.
Additionally, this allows not having to require in-memory copies of
everything when using external databases. db_sql has been rewritten
for this and now always requires a database to function. db_sql with
MySQL now requires InnoDB to make use of transactions and foreign
key constraints.
|
|
auto-attach event stuff.
Also remove logically dead code from os_defcon, and make os_defcon akill
similar masks to os_session when enforcing session akills.
Fixes #1618 which relies on os_session to be prioritized before
os_defcon.
|
|
newly registered nick is confirmed or not. Add confirm event.
|
|
pair of lower/upper bound iterators.
Sometimes when iterating the list, like in cs_mode, we can modify the
contents of it, which combined with mlock always agressively trying to
readd modes to it can do bad things.
|
|
instead of having to create full classes in order to process number
lists.
|
|
with no return statement!"
Fix if (something) else if (!something) tests
Remove returns at the bottom of void functions
|
|
away, and invalidate the type pointer of objects when the type goes away
|
|
Conflicts:
cmake/Anope.cmake
cmake/FindGettext.cmake
include/access.h
include/messages.h
include/modes.h
include/modules.h
include/users.h
modules/CMakeLists.txt
modules/commands/bs_bot.cpp
modules/commands/cs_access.cpp
modules/commands/cs_ban.cpp
modules/commands/cs_clone.cpp
modules/commands/cs_flags.cpp
modules/commands/cs_info.cpp
modules/commands/cs_list.cpp
modules/commands/cs_log.cpp
modules/commands/cs_mode.cpp
modules/commands/cs_status.cpp
modules/commands/cs_suspend.cpp
modules/commands/cs_updown.cpp
modules/commands/cs_xop.cpp
modules/commands/ms_check.cpp
modules/commands/ns_access.cpp
modules/commands/ns_cert.cpp
modules/commands/ns_group.cpp
modules/commands/ns_register.cpp
modules/commands/ns_set.cpp
modules/commands/ns_suspend.cpp
modules/commands/os_session.cpp
modules/commands/os_svs.cpp
modules/extra/m_ldap_authentication.cpp
modules/extra/m_regex_pcre.cpp
modules/extra/m_sql_authentication.cpp
modules/extra/stats/m_chanstats.cpp
modules/protocol/bahamut.cpp
modules/protocol/hybrid.cpp
modules/protocol/inspircd12.cpp
modules/protocol/inspircd20.cpp
modules/protocol/unreal.cpp
modules/pseudoclients/chanserv.cpp
modules/pseudoclients/chanserv/channel.cpp
modules/pseudoclients/nickserv/nickserv.cpp
modules/webcpanel/pages/chanserv/access.cpp
src/access.cpp
src/bots.cpp
src/channels.cpp
src/language.cpp
src/modes.cpp
src/modulemanager.cpp
src/process.cpp
src/users.cpp
src/version.sh
|
|
|
|
|
|
Also fix crash on Windows when unloading a module because it threw an
exception.
|
|
|
|
Conflicts:
.travis.yml
src/config.cpp
src/version.sh
|
|
|
|
|
|
Cache xline nick, user, host, etc instead of rebuilding it everytime its
requested. Store users ip in sockaddr form and not string form to
prevent having to rebuild sockaddrs when checking xlines.
Also do not try to convert empty config values in Config::Get as this
can be rather common if a non string configuration value is not set, and
the cost of the ConvertException is great.
|
|
|
|
expires but the group still exists. This can cause access entries for
nicks to not be deleted whenever the nicks are deleted.
|
|
screws with our internal tracking of them
|
|
can create the respective account using the decrypted password which might not always be available
|
|
|
|
This allows fully tracking extbans and other modes set by a different
underlying mode, such as InspIRCd's namedmodes
Add two configuration options to cs_ban to configure which mode is set
and whether or not to kick banned users.
Add default "mute" fantasy command to botserv.example.conf
|
|
|
|
|
|
Mark some oper only usermodes as oper only.
Fix reading SID in TS6_SID_Retrieve
|
|
Instead, pass the old object to the unserialization functions and let
them incrementally update the object.
|
|
applied. Fix renaming opertypes on reload.
|
|
|
|
|
|
|
|
|
|
Improve the log message for failed logins.
|
|
|
|
do not exist
|
|
|
|
in memory, which does weird things.
For fun different ircds implement this differently (Unreal compares
timestamps, TS6 compares timestamps and user username/host), and whether
or not we get a kill for our user also varies, so just kill everyone.
This can't really happen anyway with properly set qlines, only if
services haven't yet set the qlines, or possibly in a bot add/nick
user introduce race, or with enforcers, which not many ircds require.
|
|
|
|
|
|
Don't create zero length DataBlocks in BinarySocket::Write()
|
|
Add support for SSL connections powered by GnuTLS
|
|
|
|
|
|
if a module adding a forbid is unloaded without removing the forbid
|
|
|
|
|
|
|
|
|
|
|
|
sessions closed when a Mechanism is unloaded
|
|
|