summaryrefslogtreecommitdiff
path: root/src/messages.cpp
AgeCommit message (Collapse)Author
2016-10-07Move core message handles to protocol/rfc1459Adam
2016-10-02Also defer channel deletion when processing sjoinsAdam
(cherry picked from commit 79e7c3f98a57b7cffc46d9a7dc250a0e6e25fc98)
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
2015-10-27Merge branch '2.0' into 2.1Adam
2015-09-17Channel::DeleteUser delets the containerAdam
2015-09-17Defer channel deletion until after i/o. There are some edge cases with ↵Adam
events kicking users mid-event that can delete them.
2015-01-28More properly track topic change sources and allow users with access to ↵Adam
change topics through topiclock
2015-01-10Log user away messagesAdam
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-28Replace spaces in opertypes with underscores in stats oAdam
2014-12-10Unconst these config Get<Anope::string> calls as it makes no senseAdam
2014-12-05Update Kill() calls to pass source pointer instead of nameAdam
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-10-12Squit uplink when I receive an squit for myselfAdam
2014-08-03Fix stats u on WindowsAdam
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-05-20Speed up akill xline checksAdam
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.
2014-04-25Don't allow users to join channels they are already inAdam
2014-04-20New event systemAdam
2014-02-27Handle nick collisions somewhat instead of blindly overwriting the nicksAdam
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.
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-31I don't think this OnBotKick to hold channels is necessary anymore as Sync ↵Adam
should cover everything now, and this causes weird things when the last user in a channel kicks themselves out using the bot. Also handle users rejoining a channel while its held better.
2013-12-19Fix a few commands not being able to find non conf opersAdam
2013-11-20OnJoinChannel can modify the ts for a channel, so update keep_their_modes in ↵Adam
the sjoin handler before processing a user. Otherwise we can desync and think users have a channel status when they really don't.
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-10-09Call OnBotPrivmsg after checking if the message is a ctcp, not before. fix ↵Adam
typo in opersrev.example.conf
2013-08-17Fix 318 raw being sent for uids on ts6 ircdsAdam
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-07-08added protocol support for incoming NOTICEsDukePyrolator
2013-06-19Don't enforce usestrictprivmsg on TS6 IRCds and cache the value of ↵Adam
usestrictprivmsg
2013-06-01Move OnJoinChannel event to trigger after the user has completely joined and ↵Adam
document it more about what you should and shouldnt do in it
2013-06-01Move CheckKick event to Channel and make os_forbid use it instead of kicking ↵Adam
users in the join event, which does bad things
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-20Fix /join 0Adam
2013-05-12improved handling of mlocks and topiclocks on inspircdDukePyrolator
2013-05-05The const char* specialization of this no longer worksAdam
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-14Allow assigning service bots via /inviteAdam
2013-04-07Optimizations of much of the more commonly used codeAdam
2013-03-31Fix typo in Mode message handlerAdam
2013-02-07Use channel mode +r to determine if a channel has either been newly created orAdam
created while we were offline (eg, during the inital burst to the uplink). Fixes not knowing whether or not channels ops in non-secureop non-persistent channels obtained op while we were offline by creating the channel or legitimately by being set op by another channel op.
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