summaryrefslogtreecommitdiff
path: root/modules/protocol/ngircd.cpp
AgeCommit message (Collapse)Author
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
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-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-10Move some of the modules in extras/ that arent really extra out of extras. ↵Adam
Mark our modules as VENDOR and allow modules to have multple types.
2013-04-09Add a default method for user's SendModeInternalAdam
2013-04-07Optimizations of much of the more commonly used codeAdam
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-02Move nickserv validate stuff to an event in nickserv.cppAdam
2012-12-28Use the same object for chanusercontainer and userchancontainerAdam
2012-12-27ngircd protocol module: Fix NJOIN, actually join users to the channelAlexander Barton
Bug introduced by commit d33a0f75: "Pretty large coding style cleanup, in source doc cleanup, and allow protocol mods to depend on each other": Since then, the NJOIN command has been "ignored", no users were added to channels at all while linking ...
2012-12-05ngircd protocol module: improved vhost supportDukePyrolator
2012-11-23Made IRCDProto a ServiceAdam
2012-11-23Change the return type of ircdmessage to void now that we don't use it, add ↵Adam
an ircd message module event, and a few more fixups
2012-11-22Fix compile/pch generationAdam
2012-11-22fixed some compile errorsDukePyrolator
2012-11-22Pretty large coding style cleanup, in source docAdam
cleanup, and allow protocol mods to depend on each other
2012-11-18added METADATA and vhost support to the ngircd protocol moduleDukePyrolator