summaryrefslogtreecommitdiff
path: root/modules/protocol/ngircd.cpp
AgeCommit message (Collapse)Author
2017-10-08Remove 2 day xline capAdam
2017-10-08Fix some compiler warningsAdam
2017-04-20Merge commit '8656b65e392e8d26de218bf372da949c3a00d8d4'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.
2017-01-07ngircd: move metadata non-exietent user log message to debugAdam
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-12-10Remove unnecessary functions from ngircd that duplicate the default ↵Adam
behavior, fix a few typos in comments
2016-12-08Export protocol implementations into protocol module headersAdam
2016-12-06Remove many more old C style format strings in the protocol functionsAdam
2016-12-01Split more protocol module message handler declarations into module headersAdam
2016-10-07Add/fix various checks on source user existing in the protocol modulesAdam
2016-10-07Move core message handles to protocol/rfc1459Adam
2016-09-23Remove rfc1459 message framing everywhereAdam
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-07-23Add/fix various checks on source user existing in the protocol modulesAdam
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-10-27Merge branch '2.0' into 2.1Adam
2015-09-06Allow configuring modesAdam
2015-07-08Fix a ton of typos.Peter Powell
2015-01-28More properly track topic change sources and allow users with access to ↵Adam
change topics through topiclock
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-27Remove now unnecessary eventhook constructor calls in module init listsAdam
2014-12-10Use a triat class for event names instead of having to manually give them ↵Adam
places, which is much less error prone
2014-11-30Correctly assign nicks to their respective host serversAlexander Barton
Use the "server token" parameter of NICK commands to find the host server and correctly assign the nick name to this server. This allows Anope to correctly free all nick names again when (remote) servers leave the network, which fixes arbitrary "KILL attacks" when such nick names reconnect later on. Initial debugging and patch by DukePyrolator, thanks a lot!
2014-11-30Fix server token assignment of servers in the networkAlexander Barton
1. the directly linked server, our upstream, always has token "1", and 2. for remote servers in the network, the token and description filds were interchanged during registration, therefore up to now no server could be found by Server::Find() using its assigned server token.
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-06ngircd doesn't allow sourceless messagesAdam
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-28Merge branch '2.0' into 2.1Adam
Conflicts: .travis.yml src/config.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-02Set minus no arg on +l in all proto modsAdam
Set oper modes/vhost on oper too, evan after iding Add umode +q to plexus
2014-04-01Require cmake 2.8 and C++11 supportAdam
2014-03-05ngircd protocol module: really kill usersAlexander Barton
ngIRCd doesn't send a QUIT for each user KILL'ed, so kill them immediately.
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-21Unbreak account stuff from commit ccae59430ab50393f43ccc38a6a6c0c24191b601.Adam
2013-08-25Merge pull request #22 from fgsch/miscAdam
Better ngIRCd support
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-25Sort parameters and correct commentsFederico G. Schwindt
2013-08-25For ngIRCd, on nick change set mode -RFederico G. Schwindt
2013-08-24Add login support for ngIRCdFederico G. Schwindt
This is implemented via the accountname METADATA command
2013-08-07Add certificate fingerprint support for ngIRCdFederico G. Schwindt
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-23Make ChannelModeStatus level mandatoryFederico G. Schwindt
Levels are used in Channel::SetCorrectModes() when removing modes.
2013-07-19added whois support to the ngircd protocol module, thanks to fgs for sending ↵DukePyrolator
the patch
2013-07-08added protocol support for incoming NOTICEsDukePyrolator
2013-06-19Set vhosts when users id to an account (and not a nick), add account arg to ↵Adam
user ctor to ease handling users who connect already identified