summaryrefslogtreecommitdiff
path: root/src/servers.cpp
AgeCommit message (Collapse)Author
2017-10-08Simplify initial burst of persistent channelsAdam
Also don't create/destroy channels as persist is set on and off which no longer makes since with the live database backend
2017-10-07No longer expose c->ci and ci->cAdam
2017-04-20Merge commit '8656b65e392e8d26de218bf372da949c3a00d8d4'Adam
2017-03-19Get rid of relying on if(this) in WhoSends()Adam
2017-01-23Make log system use newer format stringsAdam
Also allow log messages to be translatable
2017-01-16Update copyright to 2017.Robby
This was done with: find docs/ include/ language/ modules/ src/ *.* Config -exec sed -i 's/-20.. Anope Team/-2017 Anope Team/i' {} \; Added missing copyright headers to files that didn't have it yet.
2016-12-17Split ircdproto send functions out into separate servicesAdam
This makes it easier to see which send functions a protocol module implements as they are all explicitly registered by the module, and avoids the problem of subtly breaking other protocol modules when using inheritance. Also split the old "core" send implementations out into a module, and the TS6 ID generator
2016-07-31Update license headers and copyrights on all source filesAdam
2016-07-28Allow serializable fields to use storage in the respective objects.Adam
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
2016-01-28Update copyright to 2016. This was done with:Robby
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \; Added missing copyright headers to files that didn't have it yet. Fixed some whitespace and blank lines along the way.
2015-09-06Allow configuring modesAdam
2015-01-05Merge branch '2.0' into 2.1Adam
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
2014-12-12Anope will now fork even when not started from a tty, like init scrpits.Michał Zegan
It is useful for init systems or startup scripts, because it allows easily waiting until services connect to the uplink, without them forking it wouldn't be possible to tell if they finished initialization or not unless they would communicate directly with init systems like systemd.
2014-11-24Rewrite serializable to have field level granularityAdam
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.
2014-06-23Merge branch '2.0' into 2.1Adam
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
2014-05-28Move most of the core pseudoclient logic to modulesAdam
2014-05-21Core prep for p10 stuffAdam
2014-04-20New event systemAdam
2014-04-18Remove unused event.Adam
Mark some oper only usermodes as oper only. Fix reading SID in TS6_SID_Retrieve
2014-03-14Mark all channels as syncing when we connect to our uplink. They willAdam
finish syncing later when the uplink syncs. Normally the channel state is fully synced here anyway, except if we do not know the modes the uplink has yet. Also fix a related issue with resetting chanels and bouncing modes on our clients, if this is done prior to knowing which modes exist it would silently fail.
2014-01-21Make the server connected (uplink) message more sane.Robby-
2014-01-04Always run uid/sid generation loop at least once to not reuse older ids ↵Adam
immediately
2014-01-01Update copyright to 2014. This was done with:Adam
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2013-12-19Channel::Sync can delete the channel, so safely iterate them when syncing ↵Adam
from a server burst
2013-12-14irc2sql: improved handling of netsplitsDukePyrolator
2013-12-10Fix 96af354ad55e439be71b82077dd6a411b4746bbb to not burst topics if they are ↵Adam
not set
2013-12-02Send channel topics on initial burst, sync chanels after db load, and try to ↵Adam
after unserializing persist on
2013-11-23Fix/clean/clarify some stuff found by coverity scanAdam
2013-11-16Use the source's sync state and not mine when processing sjoins to determine ↵Adam
whether or not to sync the channel on creation, instead sync it when the server syncs.
2013-08-25Create persistent channels on startup, which used to work and got lost somewhereAdam
Fix some oddities with using persistent channels with no botserv Send list modes to uplink when bursting Fix issues with persist + keepmodes Fix /os modes clear all not clearing all status modes Fix operwall on ratbox/plexus Dont apply mlock in SetCorrectModes since that just recursively calls itself unncessarially Change command logging to show the command name and not the service name
2013-08-01Use MessageSource as the source for many IRCDProto funcsAdam
Keep track of what user modes are oper only/server only/etc
2013-07-26Interally quit servers when jupedAdam
2013-05-27Initially attach all modules to all events, and detach them as the events ↵Adam
are run if they are not implemented per module
2013-05-26Get rid of the remaining references in the core to specific services. Move ↵Adam
more stuff out of the core to the proper modules.
2013-05-08Fixed some issues and desyncs with creating empty permanent channels on ↵Adam
startup & dropping empty channels
2013-05-05That doesn't work either, just don't use references.Adam
find ./ -name '*.cpp' -exec sed -i 's/Get<const Anope::string\&>/Get<const Anope::string>/g' {} \;
2013-05-05Dont check for noquit/quitstorm, check and be sure all users are gone regardlessAdam
2013-05-05Rework the config file reader to be much more flexible and move many ↵Adam
configuration directives to the actual modules they are used in.
2013-04-07Optimizations of much of the more commonly used codeAdam
2013-02-18Made the mode bouncing detector harder to hit and ignore syncing channelsAdam
2013-01-22Add hidenetsplitquit config option to not show splits in /ns info's last ↵Adam
quit field
2013-01-21Merge usefulness of Flags and Extensible classes into Extensible, made most ↵Adam
flags we have juse strings instead of defines/enums
2013-01-09Update copyright to 2013. This was done with:Adam
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
2013-01-03Don't delete users immediately when quit or killed, instead wait until ↵Adam
message processing is done
2012-12-28Use the same object for chanusercontainer and userchancontainerAdam
2012-11-22Pretty large coding style cleanup, in source docAdam
cleanup, and allow protocol mods to depend on each other
2012-11-06Use std::tr1::unordered_map for a few of the larger mapsAdam
2012-10-30Clean up ngircd proto mod slightly, and send sqlines before introducing clientsAdam
2012-10-01Fix a few problems found by Cronusa and KindOneAdam
2012-10-01Cleanup of all of the protocol modules, rewrote message handling system to ↵Adam
be a bit more C++ ish