Adam
845ca576b4
More properly track topic change sources and allow users with access to change topics through topiclock
2015-01-28 22:57:15 -05:00
Adam
bf8f62c32d
Change Channel::GetModeList to return a copy of the mode list, not a
...
pair of lower/upper bound iterators.
Sometimes when iterating the list, like in cs_mode, we can modify the
contents of it, which combined with mlock always agressively trying to
readd modes to it can do bad things.
2014-08-24 16:39:04 -04:00
Adam
6a03eb69eb
Add "virtual mode" support
...
This allows fully tracking extbans and other modes set by a different
underlying mode, such as InspIRCd's namedmodes
Add two configuration options to cs_ban to configure which mode is set
and whether or not to kick banned users.
Add default "mute" fantasy command to botserv.example.conf
2014-04-25 16:51:06 -04:00
Adam
595dad4ec1
Update copyright to 2014. This was done with:
...
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-20.. Anope Team/-2014 Anope Team/i' {} \;
2014-01-01 20:48:38 -05:00
Adam
1e625b6837
Use MessageSource as the source for many IRCDProto funcs
...
Keep track of what user modes are oper only/server only/etc
2013-08-01 13:39:35 +00:00
Adam
1a3d9a016d
Change extensible keys to require explicitly having a type defined for it. Completely modularize more features like bs_kick, entrymsg, log, mode, etc. Move fantasy to its own module. Move greet to its own module.
2013-07-01 22:17:52 -04:00
Adam
9956da18e3
Move OnJoinChannel event to trigger after the user has completely joined and document it more about what you should and shouldnt do in it
2013-06-01 21:56:52 -04:00
Adam
b56e71ab14
Move CheckKick event to Channel and make os_forbid use it instead of kicking users in the join event, which does bad things
2013-06-01 14:55:45 -04:00
Adam
22658d63bd
Get rid of the remaining references in the core to specific services. Move more stuff out of the core to the proper modules.
2013-05-26 17:13:11 -04:00
Adam
735e234c2c
Fixed some issues and desyncs with creating empty permanent channels on startup & dropping empty channels
2013-05-08 20:26:45 -04:00
Adam
1d0bb9b26b
Rework the config file reader to be much more flexible and move many configuration directives to the actual modules they are used in.
2013-05-05 01:55:04 -04:00
Adam
fb7fef7a84
Optimizations of much of the more commonly used code
2013-04-07 23:46:44 -05:00
Adam
6a0e4418f4
Check that channels still exist before nulling their ci pointer in channelinfos destructor
...
Change the persist setting on a channel to mean only that it is being
enforced ircd-side
2013-03-20 11:39:16 -05:00
Adam
32592987c8
Allow /os mode clear [all] to unset modes, similar to old clearmodes
2013-02-19 04:07:53 -05:00
Adam
7656c25e38
Made chanserv/unban with no parameters unban you in every channel you have access in
2013-02-14 01:20:18 -05:00
Adam
ddaa001daf
Merge usefulness of Flags and Extensible classes into Extensible, made most flags we have juse strings instead of defines/enums
2013-01-21 22:31:16 -05:00
Adam
5007b72b28
Update copyright to 2013. This was done with:
...
find include/ src/ lang/ docs/ modules/ *.* Config -exec sed -i 's/-2012 Anope Team/-2013 Anope Team/i' {} \;
2013-01-09 04:20:55 -05:00
Adam
b591e8cdc8
Use the same object for chanusercontainer and userchancontainer
2012-12-28 10:43:30 -05:00
Adam
d33a0f75a5
Pretty large coding style cleanup, in source doc
...
cleanup, and allow protocol mods to depend on each
other
2012-11-22 00:50:33 -05:00
Adam
5d6fb2427e
Fixed some stuff spotted by Cronus, made db_old convert ACCESS_INVALID levels to ACCESS_FOUNDER, fix cs_enforce +R from an earlier commit, fixed ChangeModeInternal TS checking when IRCds don't send TS on mode
2012-11-16 00:03:15 -05:00
Adam
53b2bdfe5e
Use std::tr1::unordered_map for a few of the larger maps
2012-11-06 11:02:12 -05:00
Adam
7551245f57
Attempt #2 at silly topic ts thing, this is actually must cleaner
2012-10-02 23:30:31 -04:00
Adam
89428a9d10
Cleanup of all of the protocol modules, rewrote message handling system to be a bit more C++ ish
2012-10-01 01:56:57 -04:00
Adam
7e3b5bed50
Add chanserv/set/autoop, like nickserv/set/autoop but for channels
2012-09-07 23:44:15 -04:00
Adam
1af64a9bbb
Fix Windows
2012-09-02 08:30:54 -04:00
Adam
2370c16f1e
Fixed build from the previous merge
2012-04-24 16:02:07 -04:00
Adam
573e49a7ea
Reworked live SQL support yet again
2012-04-23 05:08:26 -04:00
DukePyrolator
deb5196101
Added Chanstats. It uses a new, improved database format and is not compatible with current phpdenora or magirc installations.
2012-04-08 12:43:34 +02:00
Adam
a5b9e235ae
Added chanserv:require config option to set which modes must be on all registered channels. Prevents the core from always enforcing +r on every channel, even if chanserv is not loaded.
2012-02-26 23:23:15 -05:00
Adam
a9772cde21
Clean up and reorganize our header files
2012-02-14 15:13:27 -05:00
Adam
4204ece7a8
Updated Copyright to 2012
2012-01-02 21:28:24 -05:00
Naram Qashat
377a7a968b
Fixed bug #1349 (m_sqlite compiles without error under FreeBSD), as well as use C99's stdint.h (or cstdint if available) to get (u)intX_t types instead of our stupid typedefs. pstdint.h included in case there is no cstdint or stdint.h available.
2011-10-24 16:32:29 -04:00
Adam
3d5889c308
Updated channel flag names to remove LOGCHAN
2011-09-10 16:08:58 -04:00
Adam
8a6d6577bd
Removed log:inhabitlogchannel and replaced it with service:channels
2011-09-10 01:52:46 -04:00
Adam
fd4b52ec38
Added os_forbid
2011-05-16 04:10:18 -04:00
Adam
c8c23158a4
Moved the core pseudo clients out into their own modules
2011-05-16 04:06:17 -04:00
Adam
1782ce260c
Use std::map instead of unordered_map
2011-05-16 04:01:50 -04:00
Adam
512d23d60f
Made the Flag class able to convert flags to strings and back
2011-01-08 00:25:11 -05:00
lethality
9efebe5461
update copyrights for 2011
2011-01-05 18:34:38 +00:00
Adam
246f44b988
Added cs_mode, rewrote the old list mode code, and added CIDR support
2010-12-12 19:35:27 -05:00
Adam
d24e810262
Fixed mlock, broken since revision cf98cd3e06
2010-10-13 15:09:19 -04:00
Adam
10833f9d3f
Made anoperc stop/restart send the cycleonglobal, and fixed logfiles to be opened with append not truncate
2010-10-04 21:46:15 -04:00
Adam
cf98cd3e06
Changed the protocol handling system to use a vector of strings instead of C style arrays. Burned the old process/split_buf/memory.c code
2010-10-04 13:59:30 -04:00
Adam
6ca09be663
Cleaned up some unused code, moved handling of user modes around so we dont get log messages about user modes when users connect, and fixed tracking some umodes on Unreal
2010-09-27 17:02:36 -04:00
Adam
8131851058
Rewrote all of the topic code, fixes a few topic related problems on some older IRCds
2010-09-15 16:40:55 -04:00
Adam
f00e76d30a
Added Anope::CurTime to keep us from calling time() everywhere
2010-09-10 20:31:31 -04:00
Adam
e820e1af0d
Properly store our clients internal channel status's and burst them if needed.
...
Also made Flag::HasFlag use test() instead of operator[] to catch errors, and fixed an out of bounds access to a
Flags
bitset causing crashes on some systems.
2010-08-28 20:56:45 -04:00
Naram Qashat
4cc6604326
Changed Channel's BanData C-style linked list to std::list, got rid of shadowed variables in channels.cpp.
2010-08-28 11:00:02 -04:00
Adam
c2ddecc2b1
Added a new logging system
2010-08-27 20:56:28 -04:00
Adam
fb551f0d5d
Made Anope keep track of channels its clients are in if it splits from its uplink, then burst them back to its uplink once connection is reestablished.
...
Also made Anope use TS enforcement to change persistant channels creation time to the time they were registered.
2010-08-21 01:40:36 -04:00