Adam
3009540a00
Rewrote the ignore code. Adds creator and reason to /os ignore list.
2010-12-23 18:39:54 -05:00
Adam
49d3c97b67
Bug #1079 - Don't use users real host and IPs when matching against
...
bans and excepts, except when a user is unbanning themselves, in an
attempt to prevent people from gaining other users IPs.
This removes support for Unreal and Bahamuts SVSMode -b because
it will unban users by real host and IP.
2010-12-13 16:36:36 -05:00
Adam
aed53dbb47
Cleaned up some things, made the protocol modules use some basic inheritance to cut back on their code duplication. More work can be done in the future to remove even more of it.
2010-12-12 19:37:03 -05:00
Adam
0ba566491e
Allowing adding hostmasks to channel access lists
2010-12-12 19:37:02 -05:00
Adam
2b10cc84ea
Added /bs set msg
2010-12-12 19:36:19 -05:00
Adam
1a286397e3
Added a plexus3 protocol module
2010-12-12 19:36:16 -05:00
Adam
c5eb349d41
Removed the AUTODEOP level, it is unnecessary now because of cs_mode
2010-12-12 19:35:30 -05:00
Adam
7790a7f98c
Allow the patricia tree to store non-pointers
2010-12-12 19:35:30 -05: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
a85112172d
Removed and deprecated /cs set mlock, removed /cs clear, removed /os clearmodes, removed /cs akick (un)stick, added /cs clearusers
2010-12-12 19:33:59 -05:00
Adam
c792c7f62d
Switched the system for storing users, channels, and sesions to a patricia
...
tree from STL's unordered_map, which was giving horrible performance.
2010-12-12 19:33:58 -05:00
Adam
ac41137ce2
Added /ms ignore
2010-12-12 19:31:00 -05:00
Adam
fb9f41b3e5
Made gettext work on most OSs. Tested on Debian, FreeBSD, Gentoo, and Windows.
...
Added a search path option to the Config script for cmake to use when finding libraries for modules or for gettext.
Fixed m_mysql and m_ssl to work under Windows, made the Windows Config
program remember the last used options, and fixed Windows release builds.
2010-10-30 19:41:13 -04:00
Adam
a26f119bc8
Do not store memo number in memo structs, fixes some bugs with deleting memos
2010-10-27 22:29:34 -04:00
Adam
09160d1289
Fixed Windows build with gettext
2010-10-26 20:14:39 -04:00
Adam
d7aa5f6a3a
Fixed Windows build
2010-10-11 18:47:54 -04:00
Adam
717c123441
Fixed some warnings
2010-10-11 15:37:39 -04:00
Adam
5d9df2bdc1
Revert "Do not use new/delete to allocate modules, allows modules to always destruct properly and automatically"
...
This does not work as expected, it causes objects allocated by modules to be freed by the operating system when
the module is unloaded, giving no chance to the module to deallocate it itself.
This reverts commit 05e6815d91 .
2010-10-01 20:24:25 -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
d646d455e2
Changed the language system to use gettext
2010-09-26 02:33:01 -04:00
Adam
05e6815d91
Do not use new/delete to allocate modules, allows modules to always destruct properly and automatically
2010-09-22 14:56:43 -04:00
Adam
227909e2cf
Rejig of some of the socket stuff. Fixed marking sockets as nonblocking on Windows. Added in a LastError function to keep having to use strerror/GetLastError everywhere.
2010-09-17 19:20:07 -04:00
Adam
f71fb6e813
Connect using nonblocking sockets
2010-09-17 17:22:14 -04:00
Adam
cd1e9f3181
Fixed Anope::CurTime to really work, and made ChanServ timers allow using the channels botserv bot instead of only ChanServ
2010-09-16 18:12:12 -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
9eb7562bee
Fixed bug #1187 - Fixed releasing enforcer clients on TS6 IRCds
2010-09-10 15:46:19 -04:00
Adam
46813ccb8c
Added an asynchronous DNS system and m_dnsbl, which checks clients against DNS blacklists.
...
Rewrote internal handling of IPs, we now properly support users using IPv6.
Fixed a few problems with the UnrealIRCd protocol module.
2010-09-09 23:43:11 -04:00
Adam
7a522d1c34
Only look up session exceptions if the user exceeds the session limit, really send akills for exceeding session limits, and fixed os akill del to really work
2010-09-01 21:01:52 -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
5fbe0c845c
Clean up some of the old now unused IRCDVar struct vars, and made the logchan bots join if the IRCd requires them to
2010-08-28 02:25:33 -04:00
Adam
c2ddecc2b1
Added a new logging system
2010-08-27 20:56:28 -04:00
Adam
ada65a3baf
Added a classbase for the major classes, makes dynamic_reference invalidation really work.
...
This also cleans up a bit of the code in the modestacker.
2010-08-22 00:34:02 -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
Adam
a950ed8cab
Rewrote the MySQL API to use threads. This acts similar to before, but is faster. Removed db_mysql_execute for now.
2010-08-15 01:45:38 -04:00
lethality
94371e69a9
Added Italics support to the BotSev kickers
2010-08-02 03:35:12 +01:00
Adam
f887b37453
Set the correct bs default flags on new channels
2010-08-01 21:17:52 -04:00
Naram Qashat
5ed69ed678
Used std::list for ignore's IgnoreData instead of using the old C-style double-linked list, also removed the addition of an ignore when a command "takes too long".
2010-07-29 23:34:39 -04:00
Adam
cc64903179
Rewrote the hashing systems to properly handle the new Anope::strings which we have everywhere.
2010-07-29 18:38:56 -04:00
Naram Qashat
04200cc838
Made all of IRCDProto use const pointers, with the exception of SendVhostDel because of the Unreal protocol module, it makes me sad.
2010-07-29 08:12:54 -04:00
Adam
a2573a2c30
Removed some assertions, replaced with throwing CoreExceptions
2010-07-27 22:12:20 -04:00
Adam
4b870cc5f9
Added debug_cast which uses dynamic_cast on debug builds, and static_cast on release builds
2010-07-27 21:31:13 -04:00
Naram Qashat
57bb759305
Trying to make things a little more const-safe, a work in progress but this is a bit better.
2010-07-26 23:32:03 -04:00
Adam
707268f30b
Some windows fixes caused by the last commit
2010-07-25 23:03:06 -04:00
Naram Qashat
ae38212c1c
Epic commit to replace most of the strings in Anope with a single Anope::string class, plus some other little fixes here and there. If you follow 1.9.x development and are testing things, THIS is one of those things that NEEDS testing.
2010-07-25 21:58:20 -04:00
Adam
7e20659522
No need to allocate the numberlist callback classes with new
2010-07-09 00:20:00 -04:00
Adam
1cf4ebb231
Added an epoll socket engine
2010-07-08 22:19:13 -04:00
Naram Qashat
85b07a94d7
Fix version system so it doesn't cause the entire build tree to get rebuilt just because version.h gets regenerated, thanks to Adam for initial patch.
2010-06-28 01:28:51 -04:00
Adam
57caa0b53f
Made Anope track its own clients internally as if they were real users
2010-06-27 02:41:48 -04:00