Age | Commit message (Collapse) | Author |
|
|
|
|
|
Split service management code nito a proper servicemanager. Make service
references managed instead of lazy lookup. Also made events and
serializable use service manager instead of their respective systems for
management
|
|
Conflicts:
CMakeLists.txt
include/modules.h
include/serialize.h
modules/commands/bs_assign.cpp
modules/commands/bs_badwords.cpp
modules/commands/bs_bot.cpp
modules/commands/bs_control.cpp
modules/commands/bs_kick.cpp
modules/commands/cs_access.cpp
modules/commands/cs_akick.cpp
modules/commands/cs_drop.cpp
modules/commands/cs_entrymsg.cpp
modules/commands/cs_flags.cpp
modules/commands/cs_info.cpp
modules/commands/cs_invite.cpp
modules/commands/cs_kick.cpp
modules/commands/cs_mode.cpp
modules/commands/cs_register.cpp
modules/commands/cs_seen.cpp
modules/commands/cs_set.cpp
modules/commands/cs_suspend.cpp
modules/commands/cs_topic.cpp
modules/commands/cs_unban.cpp
modules/commands/cs_xop.cpp
modules/commands/hs_del.cpp
modules/commands/hs_list.cpp
modules/commands/hs_request.cpp
modules/commands/ms_ignore.cpp
modules/commands/ms_send.cpp
modules/commands/ns_recover.cpp
modules/commands/ns_register.cpp
modules/commands/ns_suspend.cpp
modules/commands/os_dns.cpp
modules/commands/os_noop.cpp
modules/commands/os_oper.cpp
modules/commands/os_session.cpp
modules/database/db_sql_live.cpp
modules/encryption/enc_bcrypt.cpp
modules/extra/m_ldap_authentication.cpp
modules/extra/m_ldap_oper.cpp
modules/fantasy.cpp
modules/m_dnsbl.cpp
modules/m_sasl.cpp
modules/protocol/hybrid.cpp
modules/protocol/inspircd20.cpp
modules/protocol/unreal.cpp
modules/pseudoclients/chanserv.cpp
modules/pseudoclients/nickserv.cpp
modules/webcpanel/pages/chanserv/access.cpp
modules/webcpanel/webcpanel.cpp
modules/webcpanel/webcpanel.h
src/command.cpp
src/messages.cpp
src/modulemanager.cpp
src/regchannel.cpp
src/serialize.cpp
|
|
|
|
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.
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
Set oper modes/vhost on oper too, evan after iding
Add umode +q to plexus
|
|
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.
|
|
Also classify ulines as protected
|
|
|
|
act on the fact that the ircd sees the user as logged in
|
|
|
|
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
|
|
|
|
|
|
until after server sync
|
|
Keep track of what user modes are oper only/server only/etc
|
|
doesn't as intended in ::Login
|
|
Completely modularize more features like bs_kick, entrymsg, log, mode, etc. Move fantasy to its own module. Move greet to its own module.
|
|
user ctor to ease handling users who connect already identified
|
|
are run if they are not implemented per module
|
|
more stuff out of the core to the proper modules.
|
|
|
|
|
|
way to test for a valid IP
|
|
find ./ -name '*.cpp' -exec sed -i 's/Get<const Anope::string\&>/Get<const Anope::string>/g' {} \;
|
|
system headers
|
|
separators are found in a row
|
|
configuration directives to the actual modules they are used in.
|
|
|
|
|
|
SetCloakedHost logs a message like the user just changed their host
|
|
flags we have juse strings instead of defines/enums
|
|
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
|
|
|
|
message processing is done
|
|
|
|
by just moving pointers to the core
|
|
cleanup, and allow protocol mods to depend on each
other
|
|
|
|
|
|
|