From 6302f980fe6dad83aab7d2dc1046dadea5ffd939 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 14 Dec 2015 16:52:24 -0500 Subject: New source tree structure for modules. From commands/cs_access => chanserv/access etc. --- modules/CMakeLists.txt | 43 +- modules/botserv/CMakeLists.txt | 1 + modules/botserv/assign.cpp | 281 ++++ modules/botserv/autoassign.cpp | 37 + modules/botserv/badwords.cpp | 465 ++++++ modules/botserv/bot.cpp | 426 +++++ modules/botserv/botlist.cpp | 92 ++ modules/botserv/control.cpp | 168 ++ modules/botserv/info.cpp | 116 ++ modules/botserv/kick.cpp | 1664 ++++++++++++++++++++ modules/botserv/main/CMakeLists.txt | 1 + modules/botserv/main/botserv.cpp | 228 +++ modules/botserv/set.cpp | 221 +++ modules/bs_autoassign.cpp | 37 - modules/chanserv/CMakeLists.txt | 1 + modules/chanserv/akick.cpp | 718 +++++++++ modules/chanserv/ban.cpp | 268 ++++ modules/chanserv/clone.cpp | 221 +++ modules/chanserv/cs_access.old | 941 +++++++++++ modules/chanserv/cs_flags.old | 528 +++++++ modules/chanserv/cs_xop.old | 659 ++++++++ modules/chanserv/drop.cpp | 101 ++ modules/chanserv/enforce.cpp | 307 ++++ modules/chanserv/entrymsg.cpp | 270 ++++ modules/chanserv/getkey.cpp | 75 + modules/chanserv/info.cpp | 97 ++ modules/chanserv/invite.cpp | 109 ++ modules/chanserv/kick.cpp | 152 ++ modules/chanserv/list.cpp | 263 ++++ modules/chanserv/log.cpp | 448 ++++++ modules/chanserv/main/CMakeLists.txt | 1 + modules/chanserv/main/chanaccess.cpp | 127 ++ modules/chanserv/main/chanaccess.h | 30 + modules/chanserv/main/chanaccesstype.h | 21 + modules/chanserv/main/channel.cpp | 429 +++++ modules/chanserv/main/channel.h | 68 + modules/chanserv/main/channeltype.cpp | 45 + modules/chanserv/main/channeltype.h | 34 + modules/chanserv/main/chanserv.cpp | 587 +++++++ modules/chanserv/main/level.cpp | 33 + modules/chanserv/main/level.h | 16 + modules/chanserv/main/leveltype.h | 16 + modules/chanserv/main/mode.cpp | 33 + modules/chanserv/main/mode.h | 17 + modules/chanserv/main/modetype.h | 15 + modules/chanserv/mode.cpp | 999 ++++++++++++ modules/chanserv/register.cpp | 157 ++ modules/chanserv/seen.cpp | 477 ++++++ modules/chanserv/set.cpp | 1265 +++++++++++++++ modules/chanserv/set_misc.cpp | 211 +++ modules/chanserv/status.cpp | 115 ++ modules/chanserv/statusupdate.cpp | 67 + modules/chanserv/suspend.cpp | 339 ++++ modules/chanserv/sync.cpp | 77 + modules/chanserv/topic.cpp | 276 ++++ modules/chanserv/unban.cpp | 120 ++ modules/chanserv/updown.cpp | 261 +++ modules/commands/bs_assign.cpp | 281 ---- modules/commands/bs_badwords.cpp | 465 ------ modules/commands/bs_bot.cpp | 426 ----- modules/commands/bs_botlist.cpp | 92 -- modules/commands/bs_control.cpp | 168 -- modules/commands/bs_info.cpp | 116 -- modules/commands/bs_kick.cpp | 1664 -------------------- modules/commands/bs_set.cpp | 221 --- modules/commands/cs_access.cpp | 942 ----------- modules/commands/cs_akick.cpp | 718 --------- modules/commands/cs_ban.cpp | 268 ---- modules/commands/cs_clone.cpp | 221 --- modules/commands/cs_drop.cpp | 101 -- modules/commands/cs_enforce.cpp | 307 ---- modules/commands/cs_entrymsg.cpp | 270 ---- modules/commands/cs_flags.cpp | 530 ------- modules/commands/cs_getkey.cpp | 75 - modules/commands/cs_info.cpp | 97 -- modules/commands/cs_invite.cpp | 109 -- modules/commands/cs_kick.cpp | 152 -- modules/commands/cs_list.cpp | 263 ---- modules/commands/cs_log.cpp | 448 ------ modules/commands/cs_mode.cpp | 999 ------------ modules/commands/cs_register.cpp | 157 -- modules/commands/cs_seen.cpp | 477 ------ modules/commands/cs_set.cpp | 1265 --------------- modules/commands/cs_set_misc.cpp | 211 --- modules/commands/cs_status.cpp | 115 -- modules/commands/cs_suspend.cpp | 339 ---- modules/commands/cs_sync.cpp | 77 - modules/commands/cs_topic.cpp | 276 ---- modules/commands/cs_unban.cpp | 120 -- modules/commands/cs_updown.cpp | 261 --- modules/commands/cs_xop.cpp | 660 -------- modules/commands/gl_global.cpp | 58 - modules/commands/greet.cpp | 212 --- modules/commands/help.cpp | 197 --- modules/commands/hs_del.cpp | 109 -- modules/commands/hs_group.cpp | 117 -- modules/commands/hs_list.cpp | 159 -- modules/commands/hs_off.cpp | 60 - modules/commands/hs_on.cpp | 70 - modules/commands/hs_request.cpp | 414 ----- modules/commands/hs_set.cpp | 216 --- modules/commands/ms_cancel.cpp | 91 -- modules/commands/ms_check.cpp | 80 - modules/commands/ms_del.cpp | 148 -- modules/commands/ms_ignore.cpp | 147 -- modules/commands/ms_info.cpp | 203 --- modules/commands/ms_list.cpp | 163 -- modules/commands/ms_read.cpp | 203 --- modules/commands/ms_rsend.cpp | 105 -- modules/commands/ms_send.cpp | 81 - modules/commands/ms_sendall.cpp | 60 - modules/commands/ms_set.cpp | 314 ---- modules/commands/ms_staff.cpp | 57 - modules/commands/ns_access.cpp | 257 --- modules/commands/ns_ajoin.cpp | 381 ----- modules/commands/ns_alist.cpp | 133 -- modules/commands/ns_cert.cpp | 364 ----- modules/commands/ns_drop.cpp | 91 -- modules/commands/ns_getemail.cpp | 66 - modules/commands/ns_getpass.cpp | 74 - modules/commands/ns_group.cpp | 385 ----- modules/commands/ns_identify.cpp | 125 -- modules/commands/ns_info.cpp | 281 ---- modules/commands/ns_list.cpp | 290 ---- modules/commands/ns_logout.cpp | 100 -- modules/commands/ns_recover.cpp | 262 --- modules/commands/ns_register.cpp | 426 ----- modules/commands/ns_resetpass.cpp | 141 -- modules/commands/ns_set.cpp | 1244 --------------- modules/commands/ns_set_misc.cpp | 225 --- modules/commands/ns_status.cpp | 88 -- modules/commands/ns_suspend.cpp | 339 ---- modules/commands/ns_update.cpp | 67 - modules/commands/os_akill.cpp | 437 ----- modules/commands/os_chankill.cpp | 113 -- modules/commands/os_config.cpp | 147 -- modules/commands/os_defcon.cpp | 619 -------- modules/commands/os_dns.cpp | 1012 ------------ modules/commands/os_forbid.cpp | 577 ------- modules/commands/os_ignore.cpp | 393 ----- modules/commands/os_info.cpp | 260 --- modules/commands/os_jupe.cpp | 72 - modules/commands/os_kick.cpp | 81 - modules/commands/os_kill.cpp | 63 - modules/commands/os_list.cpp | 238 --- modules/commands/os_login.cpp | 148 -- modules/commands/os_logsearch.cpp | 151 -- modules/commands/os_mode.cpp | 187 --- modules/commands/os_modinfo.cpp | 214 --- modules/commands/os_module.cpp | 179 --- modules/commands/os_news.cpp | 459 ------ modules/commands/os_noop.cpp | 98 -- modules/commands/os_oline.cpp | 74 - modules/commands/os_oper.cpp | 241 --- modules/commands/os_reload.cpp | 62 - modules/commands/os_session.cpp | 768 --------- modules/commands/os_set.cpp | 243 --- modules/commands/os_shutdown.cpp | 101 -- modules/commands/os_stats.cpp | 271 ---- modules/commands/os_svs.cpp | 171 -- modules/commands/os_sxline.cpp | 673 -------- modules/commands/os_update.cpp | 49 - modules/cs_statusupdate.cpp | 67 - modules/database/CMakeLists.txt | 1 + modules/database/db_flatfile.cpp | 206 --- modules/database/db_old.cpp | 1428 ----------------- modules/database/db_redis.cpp | 434 ----- modules/database/db_sql.cpp | 372 ----- modules/database/flatfile.cpp | 206 +++ modules/database/old.cpp | 1428 +++++++++++++++++ modules/database/redis.cpp | 434 +++++ modules/database/sql.cpp | 372 +++++ modules/dns.cpp | 1136 +++++++++++++ modules/dnsbl.cpp | 202 +++ modules/encryption/CMakeLists.txt | 1 + modules/encryption/bcrypt.cpp | 969 ++++++++++++ modules/encryption/enc_bcrypt.cpp | 969 ------------ modules/encryption/enc_md5.cpp | 402 ----- modules/encryption/enc_none.cpp | 76 - modules/encryption/enc_old.cpp | 118 -- modules/encryption/enc_sha1.cpp | 254 --- modules/encryption/enc_sha256.cpp | 340 ---- modules/encryption/md5.cpp | 402 +++++ modules/encryption/none.cpp | 76 + modules/encryption/old.cpp | 118 ++ modules/encryption/sha1.cpp | 254 +++ modules/encryption/sha256.cpp | 340 ++++ modules/extra/ldap.cpp | 623 ++++++++ modules/extra/ldap_authentication.cpp | 302 ++++ modules/extra/ldap_oper.cpp | 134 ++ modules/extra/m_ldap.cpp | 623 -------- modules/extra/m_ldap_authentication.cpp | 302 ---- modules/extra/m_ldap_oper.cpp | 134 -- modules/extra/m_mysql.cpp | 614 -------- modules/extra/m_sasl_dh-aes.cpp | 184 --- modules/extra/m_sasl_dh-blowfish.cpp | 194 --- modules/extra/m_sql_authentication.cpp | 143 -- modules/extra/m_sql_log.cpp | 110 -- modules/extra/m_sql_oper.cpp | 148 -- modules/extra/m_sqlite.cpp | 380 ----- modules/extra/m_ssl_gnutls.cpp | 658 -------- modules/extra/m_ssl_openssl.cpp | 416 ----- modules/extra/mysql.cpp | 614 ++++++++ modules/extra/sasl_dh-aes.cpp | 184 +++ modules/extra/sasl_dh-blowfish.cpp | 194 +++ modules/extra/sql_authentication.cpp | 143 ++ modules/extra/sql_log.cpp | 110 ++ modules/extra/sql_oper.cpp | 148 ++ modules/extra/sqlite.cpp | 380 +++++ modules/extra/ssl_gnutls.cpp | 658 ++++++++ modules/extra/ssl_openssl.cpp | 416 +++++ modules/extra/stats/chanstats.cpp | 648 ++++++++ modules/extra/stats/m_chanstats.cpp | 648 -------- modules/global/CMakeLists.txt | 1 + modules/global/global.cpp | 58 + modules/global/main/CMakeLists.txt | 1 + modules/global/main/global.cpp | 107 ++ modules/greet.cpp | 212 +++ modules/help.cpp | 197 +++ modules/helpchan.cpp | 32 + modules/hostserv/CMakeLists.txt | 1 + modules/hostserv/del.cpp | 109 ++ modules/hostserv/group.cpp | 117 ++ modules/hostserv/list.cpp | 159 ++ modules/hostserv/main/CMakeLists.txt | 1 + modules/hostserv/main/hostserv.cpp | 135 ++ modules/hostserv/off.cpp | 60 + modules/hostserv/on.cpp | 70 + modules/hostserv/request.cpp | 414 +++++ modules/hostserv/set.cpp | 216 +++ modules/httpd.cpp | 473 ++++++ modules/m_dns.cpp | 1136 ------------- modules/m_dnsbl.cpp | 202 --- modules/m_helpchan.cpp | 32 - modules/m_httpd.cpp | 473 ------ modules/m_proxyscan.cpp | 380 ----- modules/m_redis.cpp | 598 ------- modules/m_rewrite.cpp | 187 --- modules/m_sasl.cpp | 287 ---- modules/m_xmlrpc.cpp | 221 --- modules/m_xmlrpc_main.cpp | 279 ---- modules/memoserv/CMakeLists.txt | 1 + modules/memoserv/cancel.cpp | 91 ++ modules/memoserv/check.cpp | 80 + modules/memoserv/del.cpp | 148 ++ modules/memoserv/ignore.cpp | 147 ++ modules/memoserv/info.cpp | 203 +++ modules/memoserv/list.cpp | 163 ++ modules/memoserv/main/CMakeLists.txt | 1 + modules/memoserv/main/ignore.cpp | 27 + modules/memoserv/main/ignore.h | 15 + modules/memoserv/main/ignoretype.cpp | 10 + modules/memoserv/main/ignoretype.h | 10 + modules/memoserv/main/memo.cpp | 72 + modules/memoserv/main/memo.h | 29 + modules/memoserv/main/memoinfo.cpp | 63 + modules/memoserv/main/memoinfo.h | 23 + modules/memoserv/main/memoinfotype.cpp | 10 + modules/memoserv/main/memoinfotype.h | 10 + modules/memoserv/main/memoserv.cpp | 298 ++++ modules/memoserv/main/memotype.cpp | 14 + modules/memoserv/main/memotype.h | 13 + modules/memoserv/read.cpp | 203 +++ modules/memoserv/rsend.cpp | 105 ++ modules/memoserv/send.cpp | 81 + modules/memoserv/sendall.cpp | 60 + modules/memoserv/set.cpp | 314 ++++ modules/memoserv/staff.cpp | 57 + modules/nickserv/CMakeLists.txt | 1 + modules/nickserv/access.cpp | 257 +++ modules/nickserv/ajoin.cpp | 381 +++++ modules/nickserv/alist.cpp | 133 ++ modules/nickserv/cert.cpp | 364 +++++ modules/nickserv/drop.cpp | 91 ++ modules/nickserv/getemail.cpp | 66 + modules/nickserv/getpass.cpp | 74 + modules/nickserv/group.cpp | 385 +++++ modules/nickserv/identify.cpp | 125 ++ modules/nickserv/info.cpp | 281 ++++ modules/nickserv/list.cpp | 290 ++++ modules/nickserv/logout.cpp | 100 ++ modules/nickserv/main/CMakeLists.txt | 1 + modules/nickserv/main/account.cpp | 129 ++ modules/nickserv/main/account.h | 35 + modules/nickserv/main/accounttype.cpp | 42 + modules/nickserv/main/accounttype.h | 23 + modules/nickserv/main/identifyrequest.cpp | 51 + modules/nickserv/main/identifyrequest.h | 13 + modules/nickserv/main/mode.cpp | 23 + modules/nickserv/main/mode.h | 14 + modules/nickserv/main/modetype.h | 14 + modules/nickserv/main/nick.cpp | 192 +++ modules/nickserv/main/nick.h | 46 + modules/nickserv/main/nickserv.cpp | 686 ++++++++ modules/nickserv/main/nicktype.cpp | 45 + modules/nickserv/main/nicktype.h | 32 + modules/nickserv/maxemail.cpp | 80 + modules/nickserv/recover.cpp | 262 +++ modules/nickserv/register.cpp | 426 +++++ modules/nickserv/resetpass.cpp | 141 ++ modules/nickserv/set.cpp | 1244 +++++++++++++++ modules/nickserv/set_misc.cpp | 225 +++ modules/nickserv/status.cpp | 88 ++ modules/nickserv/suspend.cpp | 339 ++++ modules/nickserv/update.cpp | 67 + modules/ns_maxemail.cpp | 80 - modules/operserv/CMakeLists.txt | 1 + modules/operserv/akill.cpp | 437 +++++ modules/operserv/chankill.cpp | 113 ++ modules/operserv/config.cpp | 147 ++ modules/operserv/defcon.cpp | 619 ++++++++ modules/operserv/dns.cpp | 1012 ++++++++++++ modules/operserv/forbid.cpp | 577 +++++++ modules/operserv/ignore.cpp | 393 +++++ modules/operserv/info.cpp | 260 +++ modules/operserv/jupe.cpp | 72 + modules/operserv/kick.cpp | 81 + modules/operserv/kill.cpp | 63 + modules/operserv/list.cpp | 238 +++ modules/operserv/login.cpp | 148 ++ modules/operserv/logsearch.cpp | 151 ++ modules/operserv/main/CMakeLists.txt | 1 + modules/operserv/main/operserv.cpp | 337 ++++ modules/operserv/mode.cpp | 187 +++ modules/operserv/modinfo.cpp | 214 +++ modules/operserv/module.cpp | 179 +++ modules/operserv/news.cpp | 459 ++++++ modules/operserv/noop.cpp | 98 ++ modules/operserv/oline.cpp | 74 + modules/operserv/oper.cpp | 241 +++ modules/operserv/reload.cpp | 62 + modules/operserv/session.cpp | 768 +++++++++ modules/operserv/set.cpp | 243 +++ modules/operserv/shutdown.cpp | 101 ++ modules/operserv/stats.cpp | 271 ++++ modules/operserv/svs.cpp | 171 ++ modules/operserv/sxline.cpp | 673 ++++++++ modules/operserv/update.cpp | 49 + modules/protocol/CMakeLists.txt | 1 + modules/proxyscan.cpp | 380 +++++ modules/pseudoclients/botserv/CMakeLists.txt | 1 - modules/pseudoclients/botserv/botserv.cpp | 228 --- modules/pseudoclients/chanserv/CMakeLists.txt | 1 - modules/pseudoclients/chanserv/chanaccess.cpp | 127 -- modules/pseudoclients/chanserv/chanaccess.h | 30 - modules/pseudoclients/chanserv/chanaccesstype.h | 21 - modules/pseudoclients/chanserv/channel.cpp | 429 ----- modules/pseudoclients/chanserv/channel.h | 68 - modules/pseudoclients/chanserv/channeltype.cpp | 45 - modules/pseudoclients/chanserv/channeltype.h | 34 - modules/pseudoclients/chanserv/chanserv.cpp | 587 ------- modules/pseudoclients/chanserv/level.cpp | 33 - modules/pseudoclients/chanserv/level.h | 16 - modules/pseudoclients/chanserv/leveltype.h | 16 - modules/pseudoclients/chanserv/mode.cpp | 33 - modules/pseudoclients/chanserv/mode.h | 17 - modules/pseudoclients/chanserv/modetype.h | 15 - modules/pseudoclients/global.cpp | 107 -- modules/pseudoclients/hostserv.cpp | 135 -- modules/pseudoclients/memoserv/CMakeLists.txt | 1 - modules/pseudoclients/memoserv/ignore.cpp | 27 - modules/pseudoclients/memoserv/ignore.h | 15 - modules/pseudoclients/memoserv/ignoretype.cpp | 10 - modules/pseudoclients/memoserv/ignoretype.h | 10 - modules/pseudoclients/memoserv/memo.cpp | 72 - modules/pseudoclients/memoserv/memo.h | 29 - modules/pseudoclients/memoserv/memoinfo.cpp | 63 - modules/pseudoclients/memoserv/memoinfo.h | 23 - modules/pseudoclients/memoserv/memoinfotype.cpp | 10 - modules/pseudoclients/memoserv/memoinfotype.h | 10 - modules/pseudoclients/memoserv/memoserv.cpp | 298 ---- modules/pseudoclients/memoserv/memotype.cpp | 14 - modules/pseudoclients/memoserv/memotype.h | 13 - modules/pseudoclients/nickserv/CMakeLists.txt | 1 - modules/pseudoclients/nickserv/account.cpp | 129 -- modules/pseudoclients/nickserv/account.h | 35 - modules/pseudoclients/nickserv/accounttype.cpp | 42 - modules/pseudoclients/nickserv/accounttype.h | 23 - modules/pseudoclients/nickserv/identifyrequest.cpp | 51 - modules/pseudoclients/nickserv/identifyrequest.h | 13 - modules/pseudoclients/nickserv/mode.cpp | 23 - modules/pseudoclients/nickserv/mode.h | 14 - modules/pseudoclients/nickserv/modetype.h | 14 - modules/pseudoclients/nickserv/nick.cpp | 192 --- modules/pseudoclients/nickserv/nick.h | 46 - modules/pseudoclients/nickserv/nickserv.cpp | 686 -------- modules/pseudoclients/nickserv/nicktype.cpp | 45 - modules/pseudoclients/nickserv/nicktype.h | 32 - modules/pseudoclients/operserv.cpp | 337 ---- modules/redis.cpp | 598 +++++++ modules/rewrite.cpp | 187 +++ modules/sasl.cpp | 287 ++++ modules/xmlrpc.cpp | 221 +++ modules/xmlrpc_main.cpp | 279 ++++ 394 files changed, 46984 insertions(+), 46964 deletions(-) create mode 100644 modules/botserv/CMakeLists.txt create mode 100644 modules/botserv/assign.cpp create mode 100644 modules/botserv/autoassign.cpp create mode 100644 modules/botserv/badwords.cpp create mode 100644 modules/botserv/bot.cpp create mode 100644 modules/botserv/botlist.cpp create mode 100644 modules/botserv/control.cpp create mode 100644 modules/botserv/info.cpp create mode 100644 modules/botserv/kick.cpp create mode 100644 modules/botserv/main/CMakeLists.txt create mode 100644 modules/botserv/main/botserv.cpp create mode 100644 modules/botserv/set.cpp delete mode 100644 modules/bs_autoassign.cpp create mode 100644 modules/chanserv/CMakeLists.txt create mode 100644 modules/chanserv/akick.cpp create mode 100644 modules/chanserv/ban.cpp create mode 100644 modules/chanserv/clone.cpp create mode 100644 modules/chanserv/cs_access.old create mode 100644 modules/chanserv/cs_flags.old create mode 100644 modules/chanserv/cs_xop.old create mode 100644 modules/chanserv/drop.cpp create mode 100644 modules/chanserv/enforce.cpp create mode 100644 modules/chanserv/entrymsg.cpp create mode 100644 modules/chanserv/getkey.cpp create mode 100644 modules/chanserv/info.cpp create mode 100644 modules/chanserv/invite.cpp create mode 100644 modules/chanserv/kick.cpp create mode 100644 modules/chanserv/list.cpp create mode 100644 modules/chanserv/log.cpp create mode 100644 modules/chanserv/main/CMakeLists.txt create mode 100644 modules/chanserv/main/chanaccess.cpp create mode 100644 modules/chanserv/main/chanaccess.h create mode 100644 modules/chanserv/main/chanaccesstype.h create mode 100644 modules/chanserv/main/channel.cpp create mode 100644 modules/chanserv/main/channel.h create mode 100644 modules/chanserv/main/channeltype.cpp create mode 100644 modules/chanserv/main/channeltype.h create mode 100644 modules/chanserv/main/chanserv.cpp create mode 100644 modules/chanserv/main/level.cpp create mode 100644 modules/chanserv/main/level.h create mode 100644 modules/chanserv/main/leveltype.h create mode 100644 modules/chanserv/main/mode.cpp create mode 100644 modules/chanserv/main/mode.h create mode 100644 modules/chanserv/main/modetype.h create mode 100644 modules/chanserv/mode.cpp create mode 100644 modules/chanserv/register.cpp create mode 100644 modules/chanserv/seen.cpp create mode 100644 modules/chanserv/set.cpp create mode 100644 modules/chanserv/set_misc.cpp create mode 100644 modules/chanserv/status.cpp create mode 100644 modules/chanserv/statusupdate.cpp create mode 100644 modules/chanserv/suspend.cpp create mode 100644 modules/chanserv/sync.cpp create mode 100644 modules/chanserv/topic.cpp create mode 100644 modules/chanserv/unban.cpp create mode 100644 modules/chanserv/updown.cpp delete mode 100644 modules/commands/bs_assign.cpp delete mode 100644 modules/commands/bs_badwords.cpp delete mode 100644 modules/commands/bs_bot.cpp delete mode 100644 modules/commands/bs_botlist.cpp delete mode 100644 modules/commands/bs_control.cpp delete mode 100644 modules/commands/bs_info.cpp delete mode 100644 modules/commands/bs_kick.cpp delete mode 100644 modules/commands/bs_set.cpp delete mode 100644 modules/commands/cs_access.cpp delete mode 100644 modules/commands/cs_akick.cpp delete mode 100644 modules/commands/cs_ban.cpp delete mode 100644 modules/commands/cs_clone.cpp delete mode 100644 modules/commands/cs_drop.cpp delete mode 100644 modules/commands/cs_enforce.cpp delete mode 100644 modules/commands/cs_entrymsg.cpp delete mode 100644 modules/commands/cs_flags.cpp delete mode 100644 modules/commands/cs_getkey.cpp delete mode 100644 modules/commands/cs_info.cpp delete mode 100644 modules/commands/cs_invite.cpp delete mode 100644 modules/commands/cs_kick.cpp delete mode 100644 modules/commands/cs_list.cpp delete mode 100644 modules/commands/cs_log.cpp delete mode 100644 modules/commands/cs_mode.cpp delete mode 100644 modules/commands/cs_register.cpp delete mode 100644 modules/commands/cs_seen.cpp delete mode 100644 modules/commands/cs_set.cpp delete mode 100644 modules/commands/cs_set_misc.cpp delete mode 100644 modules/commands/cs_status.cpp delete mode 100644 modules/commands/cs_suspend.cpp delete mode 100644 modules/commands/cs_sync.cpp delete mode 100644 modules/commands/cs_topic.cpp delete mode 100644 modules/commands/cs_unban.cpp delete mode 100644 modules/commands/cs_updown.cpp delete mode 100644 modules/commands/cs_xop.cpp delete mode 100644 modules/commands/gl_global.cpp delete mode 100644 modules/commands/greet.cpp delete mode 100644 modules/commands/help.cpp delete mode 100644 modules/commands/hs_del.cpp delete mode 100644 modules/commands/hs_group.cpp delete mode 100644 modules/commands/hs_list.cpp delete mode 100644 modules/commands/hs_off.cpp delete mode 100644 modules/commands/hs_on.cpp delete mode 100644 modules/commands/hs_request.cpp delete mode 100644 modules/commands/hs_set.cpp delete mode 100644 modules/commands/ms_cancel.cpp delete mode 100644 modules/commands/ms_check.cpp delete mode 100644 modules/commands/ms_del.cpp delete mode 100644 modules/commands/ms_ignore.cpp delete mode 100644 modules/commands/ms_info.cpp delete mode 100644 modules/commands/ms_list.cpp delete mode 100644 modules/commands/ms_read.cpp delete mode 100644 modules/commands/ms_rsend.cpp delete mode 100644 modules/commands/ms_send.cpp delete mode 100644 modules/commands/ms_sendall.cpp delete mode 100644 modules/commands/ms_set.cpp delete mode 100644 modules/commands/ms_staff.cpp delete mode 100644 modules/commands/ns_access.cpp delete mode 100644 modules/commands/ns_ajoin.cpp delete mode 100644 modules/commands/ns_alist.cpp delete mode 100644 modules/commands/ns_cert.cpp delete mode 100644 modules/commands/ns_drop.cpp delete mode 100644 modules/commands/ns_getemail.cpp delete mode 100644 modules/commands/ns_getpass.cpp delete mode 100644 modules/commands/ns_group.cpp delete mode 100644 modules/commands/ns_identify.cpp delete mode 100644 modules/commands/ns_info.cpp delete mode 100644 modules/commands/ns_list.cpp delete mode 100644 modules/commands/ns_logout.cpp delete mode 100644 modules/commands/ns_recover.cpp delete mode 100644 modules/commands/ns_register.cpp delete mode 100644 modules/commands/ns_resetpass.cpp delete mode 100644 modules/commands/ns_set.cpp delete mode 100644 modules/commands/ns_set_misc.cpp delete mode 100644 modules/commands/ns_status.cpp delete mode 100644 modules/commands/ns_suspend.cpp delete mode 100644 modules/commands/ns_update.cpp delete mode 100644 modules/commands/os_akill.cpp delete mode 100644 modules/commands/os_chankill.cpp delete mode 100644 modules/commands/os_config.cpp delete mode 100644 modules/commands/os_defcon.cpp delete mode 100644 modules/commands/os_dns.cpp delete mode 100644 modules/commands/os_forbid.cpp delete mode 100644 modules/commands/os_ignore.cpp delete mode 100644 modules/commands/os_info.cpp delete mode 100644 modules/commands/os_jupe.cpp delete mode 100644 modules/commands/os_kick.cpp delete mode 100644 modules/commands/os_kill.cpp delete mode 100644 modules/commands/os_list.cpp delete mode 100644 modules/commands/os_login.cpp delete mode 100644 modules/commands/os_logsearch.cpp delete mode 100644 modules/commands/os_mode.cpp delete mode 100644 modules/commands/os_modinfo.cpp delete mode 100644 modules/commands/os_module.cpp delete mode 100644 modules/commands/os_news.cpp delete mode 100644 modules/commands/os_noop.cpp delete mode 100644 modules/commands/os_oline.cpp delete mode 100644 modules/commands/os_oper.cpp delete mode 100644 modules/commands/os_reload.cpp delete mode 100644 modules/commands/os_session.cpp delete mode 100644 modules/commands/os_set.cpp delete mode 100644 modules/commands/os_shutdown.cpp delete mode 100644 modules/commands/os_stats.cpp delete mode 100644 modules/commands/os_svs.cpp delete mode 100644 modules/commands/os_sxline.cpp delete mode 100644 modules/commands/os_update.cpp delete mode 100644 modules/cs_statusupdate.cpp create mode 100644 modules/database/CMakeLists.txt delete mode 100644 modules/database/db_flatfile.cpp delete mode 100644 modules/database/db_old.cpp delete mode 100644 modules/database/db_redis.cpp delete mode 100644 modules/database/db_sql.cpp create mode 100644 modules/database/flatfile.cpp create mode 100644 modules/database/old.cpp create mode 100644 modules/database/redis.cpp create mode 100644 modules/database/sql.cpp create mode 100644 modules/dns.cpp create mode 100644 modules/dnsbl.cpp create mode 100644 modules/encryption/CMakeLists.txt create mode 100644 modules/encryption/bcrypt.cpp delete mode 100644 modules/encryption/enc_bcrypt.cpp delete mode 100644 modules/encryption/enc_md5.cpp delete mode 100644 modules/encryption/enc_none.cpp delete mode 100644 modules/encryption/enc_old.cpp delete mode 100644 modules/encryption/enc_sha1.cpp delete mode 100644 modules/encryption/enc_sha256.cpp create mode 100644 modules/encryption/md5.cpp create mode 100644 modules/encryption/none.cpp create mode 100644 modules/encryption/old.cpp create mode 100644 modules/encryption/sha1.cpp create mode 100644 modules/encryption/sha256.cpp create mode 100644 modules/extra/ldap.cpp create mode 100644 modules/extra/ldap_authentication.cpp create mode 100644 modules/extra/ldap_oper.cpp delete mode 100644 modules/extra/m_ldap.cpp delete mode 100644 modules/extra/m_ldap_authentication.cpp delete mode 100644 modules/extra/m_ldap_oper.cpp delete mode 100644 modules/extra/m_mysql.cpp delete mode 100644 modules/extra/m_sasl_dh-aes.cpp delete mode 100644 modules/extra/m_sasl_dh-blowfish.cpp delete mode 100644 modules/extra/m_sql_authentication.cpp delete mode 100644 modules/extra/m_sql_log.cpp delete mode 100644 modules/extra/m_sql_oper.cpp delete mode 100644 modules/extra/m_sqlite.cpp delete mode 100644 modules/extra/m_ssl_gnutls.cpp delete mode 100644 modules/extra/m_ssl_openssl.cpp create mode 100644 modules/extra/mysql.cpp create mode 100644 modules/extra/sasl_dh-aes.cpp create mode 100644 modules/extra/sasl_dh-blowfish.cpp create mode 100644 modules/extra/sql_authentication.cpp create mode 100644 modules/extra/sql_log.cpp create mode 100644 modules/extra/sql_oper.cpp create mode 100644 modules/extra/sqlite.cpp create mode 100644 modules/extra/ssl_gnutls.cpp create mode 100644 modules/extra/ssl_openssl.cpp create mode 100644 modules/extra/stats/chanstats.cpp delete mode 100644 modules/extra/stats/m_chanstats.cpp create mode 100644 modules/global/CMakeLists.txt create mode 100644 modules/global/global.cpp create mode 100644 modules/global/main/CMakeLists.txt create mode 100644 modules/global/main/global.cpp create mode 100644 modules/greet.cpp create mode 100644 modules/help.cpp create mode 100644 modules/helpchan.cpp create mode 100644 modules/hostserv/CMakeLists.txt create mode 100644 modules/hostserv/del.cpp create mode 100644 modules/hostserv/group.cpp create mode 100644 modules/hostserv/list.cpp create mode 100644 modules/hostserv/main/CMakeLists.txt create mode 100644 modules/hostserv/main/hostserv.cpp create mode 100644 modules/hostserv/off.cpp create mode 100644 modules/hostserv/on.cpp create mode 100644 modules/hostserv/request.cpp create mode 100644 modules/hostserv/set.cpp create mode 100644 modules/httpd.cpp delete mode 100644 modules/m_dns.cpp delete mode 100644 modules/m_dnsbl.cpp delete mode 100644 modules/m_helpchan.cpp delete mode 100644 modules/m_httpd.cpp delete mode 100644 modules/m_proxyscan.cpp delete mode 100644 modules/m_redis.cpp delete mode 100644 modules/m_rewrite.cpp delete mode 100644 modules/m_sasl.cpp delete mode 100644 modules/m_xmlrpc.cpp delete mode 100644 modules/m_xmlrpc_main.cpp create mode 100644 modules/memoserv/CMakeLists.txt create mode 100644 modules/memoserv/cancel.cpp create mode 100644 modules/memoserv/check.cpp create mode 100644 modules/memoserv/del.cpp create mode 100644 modules/memoserv/ignore.cpp create mode 100644 modules/memoserv/info.cpp create mode 100644 modules/memoserv/list.cpp create mode 100644 modules/memoserv/main/CMakeLists.txt create mode 100644 modules/memoserv/main/ignore.cpp create mode 100644 modules/memoserv/main/ignore.h create mode 100644 modules/memoserv/main/ignoretype.cpp create mode 100644 modules/memoserv/main/ignoretype.h create mode 100644 modules/memoserv/main/memo.cpp create mode 100644 modules/memoserv/main/memo.h create mode 100644 modules/memoserv/main/memoinfo.cpp create mode 100644 modules/memoserv/main/memoinfo.h create mode 100644 modules/memoserv/main/memoinfotype.cpp create mode 100644 modules/memoserv/main/memoinfotype.h create mode 100644 modules/memoserv/main/memoserv.cpp create mode 100644 modules/memoserv/main/memotype.cpp create mode 100644 modules/memoserv/main/memotype.h create mode 100644 modules/memoserv/read.cpp create mode 100644 modules/memoserv/rsend.cpp create mode 100644 modules/memoserv/send.cpp create mode 100644 modules/memoserv/sendall.cpp create mode 100644 modules/memoserv/set.cpp create mode 100644 modules/memoserv/staff.cpp create mode 100644 modules/nickserv/CMakeLists.txt create mode 100644 modules/nickserv/access.cpp create mode 100644 modules/nickserv/ajoin.cpp create mode 100644 modules/nickserv/alist.cpp create mode 100644 modules/nickserv/cert.cpp create mode 100644 modules/nickserv/drop.cpp create mode 100644 modules/nickserv/getemail.cpp create mode 100644 modules/nickserv/getpass.cpp create mode 100644 modules/nickserv/group.cpp create mode 100644 modules/nickserv/identify.cpp create mode 100644 modules/nickserv/info.cpp create mode 100644 modules/nickserv/list.cpp create mode 100644 modules/nickserv/logout.cpp create mode 100644 modules/nickserv/main/CMakeLists.txt create mode 100644 modules/nickserv/main/account.cpp create mode 100644 modules/nickserv/main/account.h create mode 100644 modules/nickserv/main/accounttype.cpp create mode 100644 modules/nickserv/main/accounttype.h create mode 100644 modules/nickserv/main/identifyrequest.cpp create mode 100644 modules/nickserv/main/identifyrequest.h create mode 100644 modules/nickserv/main/mode.cpp create mode 100644 modules/nickserv/main/mode.h create mode 100644 modules/nickserv/main/modetype.h create mode 100644 modules/nickserv/main/nick.cpp create mode 100644 modules/nickserv/main/nick.h create mode 100644 modules/nickserv/main/nickserv.cpp create mode 100644 modules/nickserv/main/nicktype.cpp create mode 100644 modules/nickserv/main/nicktype.h create mode 100644 modules/nickserv/maxemail.cpp create mode 100644 modules/nickserv/recover.cpp create mode 100644 modules/nickserv/register.cpp create mode 100644 modules/nickserv/resetpass.cpp create mode 100644 modules/nickserv/set.cpp create mode 100644 modules/nickserv/set_misc.cpp create mode 100644 modules/nickserv/status.cpp create mode 100644 modules/nickserv/suspend.cpp create mode 100644 modules/nickserv/update.cpp delete mode 100644 modules/ns_maxemail.cpp create mode 100644 modules/operserv/CMakeLists.txt create mode 100644 modules/operserv/akill.cpp create mode 100644 modules/operserv/chankill.cpp create mode 100644 modules/operserv/config.cpp create mode 100644 modules/operserv/defcon.cpp create mode 100644 modules/operserv/dns.cpp create mode 100644 modules/operserv/forbid.cpp create mode 100644 modules/operserv/ignore.cpp create mode 100644 modules/operserv/info.cpp create mode 100644 modules/operserv/jupe.cpp create mode 100644 modules/operserv/kick.cpp create mode 100644 modules/operserv/kill.cpp create mode 100644 modules/operserv/list.cpp create mode 100644 modules/operserv/login.cpp create mode 100644 modules/operserv/logsearch.cpp create mode 100644 modules/operserv/main/CMakeLists.txt create mode 100644 modules/operserv/main/operserv.cpp create mode 100644 modules/operserv/mode.cpp create mode 100644 modules/operserv/modinfo.cpp create mode 100644 modules/operserv/module.cpp create mode 100644 modules/operserv/news.cpp create mode 100644 modules/operserv/noop.cpp create mode 100644 modules/operserv/oline.cpp create mode 100644 modules/operserv/oper.cpp create mode 100644 modules/operserv/reload.cpp create mode 100644 modules/operserv/session.cpp create mode 100644 modules/operserv/set.cpp create mode 100644 modules/operserv/shutdown.cpp create mode 100644 modules/operserv/stats.cpp create mode 100644 modules/operserv/svs.cpp create mode 100644 modules/operserv/sxline.cpp create mode 100644 modules/operserv/update.cpp create mode 100644 modules/protocol/CMakeLists.txt create mode 100644 modules/proxyscan.cpp delete mode 100644 modules/pseudoclients/botserv/CMakeLists.txt delete mode 100644 modules/pseudoclients/botserv/botserv.cpp delete mode 100644 modules/pseudoclients/chanserv/CMakeLists.txt delete mode 100644 modules/pseudoclients/chanserv/chanaccess.cpp delete mode 100644 modules/pseudoclients/chanserv/chanaccess.h delete mode 100644 modules/pseudoclients/chanserv/chanaccesstype.h delete mode 100644 modules/pseudoclients/chanserv/channel.cpp delete mode 100644 modules/pseudoclients/chanserv/channel.h delete mode 100644 modules/pseudoclients/chanserv/channeltype.cpp delete mode 100644 modules/pseudoclients/chanserv/channeltype.h delete mode 100644 modules/pseudoclients/chanserv/chanserv.cpp delete mode 100644 modules/pseudoclients/chanserv/level.cpp delete mode 100644 modules/pseudoclients/chanserv/level.h delete mode 100644 modules/pseudoclients/chanserv/leveltype.h delete mode 100644 modules/pseudoclients/chanserv/mode.cpp delete mode 100644 modules/pseudoclients/chanserv/mode.h delete mode 100644 modules/pseudoclients/chanserv/modetype.h delete mode 100644 modules/pseudoclients/global.cpp delete mode 100644 modules/pseudoclients/hostserv.cpp delete mode 100644 modules/pseudoclients/memoserv/CMakeLists.txt delete mode 100644 modules/pseudoclients/memoserv/ignore.cpp delete mode 100644 modules/pseudoclients/memoserv/ignore.h delete mode 100644 modules/pseudoclients/memoserv/ignoretype.cpp delete mode 100644 modules/pseudoclients/memoserv/ignoretype.h delete mode 100644 modules/pseudoclients/memoserv/memo.cpp delete mode 100644 modules/pseudoclients/memoserv/memo.h delete mode 100644 modules/pseudoclients/memoserv/memoinfo.cpp delete mode 100644 modules/pseudoclients/memoserv/memoinfo.h delete mode 100644 modules/pseudoclients/memoserv/memoinfotype.cpp delete mode 100644 modules/pseudoclients/memoserv/memoinfotype.h delete mode 100644 modules/pseudoclients/memoserv/memoserv.cpp delete mode 100644 modules/pseudoclients/memoserv/memotype.cpp delete mode 100644 modules/pseudoclients/memoserv/memotype.h delete mode 100644 modules/pseudoclients/nickserv/CMakeLists.txt delete mode 100644 modules/pseudoclients/nickserv/account.cpp delete mode 100644 modules/pseudoclients/nickserv/account.h delete mode 100644 modules/pseudoclients/nickserv/accounttype.cpp delete mode 100644 modules/pseudoclients/nickserv/accounttype.h delete mode 100644 modules/pseudoclients/nickserv/identifyrequest.cpp delete mode 100644 modules/pseudoclients/nickserv/identifyrequest.h delete mode 100644 modules/pseudoclients/nickserv/mode.cpp delete mode 100644 modules/pseudoclients/nickserv/mode.h delete mode 100644 modules/pseudoclients/nickserv/modetype.h delete mode 100644 modules/pseudoclients/nickserv/nick.cpp delete mode 100644 modules/pseudoclients/nickserv/nick.h delete mode 100644 modules/pseudoclients/nickserv/nickserv.cpp delete mode 100644 modules/pseudoclients/nickserv/nicktype.cpp delete mode 100644 modules/pseudoclients/nickserv/nicktype.h delete mode 100644 modules/pseudoclients/operserv.cpp create mode 100644 modules/redis.cpp create mode 100644 modules/rewrite.cpp create mode 100644 modules/sasl.cpp create mode 100644 modules/xmlrpc.cpp create mode 100644 modules/xmlrpc_main.cpp (limited to 'modules') diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 522ceb674..68a2a89b0 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -20,6 +20,13 @@ macro(build_modules SRC) # Convert the real source file extension to have a .so extension string(REGEX REPLACE "\\.cpp$" "" SO ${FNAME}) + file(RELATIVE_PATH DEST "${Anope_SOURCE_DIR}/modules" ${SRC}) + if(DEST) + set(TARG "module_${DEST}.${SO}") + else(DEST) + set(TARG "module_${SO}") + endif(DEST) + # Reset linker flags set(TEMP_LDFLAGS) # Reset extra dependencies @@ -33,31 +40,31 @@ macro(build_modules SRC) set(WIN32_MEMORY) endif(MSVC) # Generate the module and set its linker flags, also set it to depend on the main Anope executable to be built beforehand - add_library(${SO} MODULE ${MODULE_SRC}) + add_library(${TARG} MODULE ${MODULE_SRC}) # Windows requires this because it's weird if(WIN32) set(WIN32_NO_LIBS "/nodefaultlib:\"libcmt.lib\" /OPT:NOREF") else(WIN32) set(WIN32_NO_LIBS) endif(WIN32) - set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX ".so" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON) - add_dependencies(${SO} ${PROGRAM_NAME}) + set_target_properties(${TARG} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" LINK_FLAGS "${TEMP_LDFLAGS} ${WIN32_NO_LIBS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON OUTPUT_NAME "${SO}") + add_dependencies(${TARG} ${PROGRAM_NAME}) if(GETTEXT_FOUND) - add_dependencies(${SO} module_language) + add_dependencies(${TARG} module_language) endif(GETTEXT_FOUND) - target_link_libraries(${SO} ${TEMP_DEPENDENCIES}) + target_link_libraries(${TARG} ${TEMP_DEPENDENCIES}) # For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set its version if(WIN32) - target_link_libraries(${SO} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY}) + target_link_libraries(${TARG} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY}) set_target_properties(${PROGRAM_NAME} PROPERTIES VERSION "${VERSION_DOTTED}") else(WIN32) if(APPLE) - target_link_libraries(${SO} ${PROGRAM_NAME}) + target_link_libraries(${TARG} ${PROGRAM_NAME}) endif(APPLE) endif(WIN32) calculate_dependencies(${MODULE_SRC}) # Set the module to be installed to the module directory under the data directory - install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules) + install(TARGETS ${TARG} DESTINATION ${LIB_DIR}/modules/${DEST}) endif(CPP) endif(IS_DIRECTORY "${MODULE_SRC}") endforeach(MODULE_SRC ${MODULES_SRCS}) @@ -68,8 +75,14 @@ macro(build_subdir) file(GLOB_RECURSE MODULES_SUBDIR_SRCS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp") list(SORT MODULES_SUBDIR_SRCS) - GET_FILENAME_COMPONENT(FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) - set(SO "${FOLDER_NAME}") + file(RELATIVE_PATH DEST "${Anope_SOURCE_DIR}/modules" ${CMAKE_CURRENT_SOURCE_DIR}) + GET_FILENAME_COMPONENT(DIR_NAME ${DEST} DIRECTORY) + GET_FILENAME_COMPONENT(FOLDER_NAME ${DEST} NAME) + if(DIR_NAME) + set(SO "${DIR_NAME}.${FOLDER_NAME}") + else(DIR_NAME) + set(SO "${FOLDER_NAME}") + endif(DIR_NAME) # Set all the files to use C++ as well as set their compile flags (use the module-specific compile flags, though) set_source_files_properties(${MODULES_SUBDIR_SRCS} PROPERTIES LANGUAGE CXX COMPILE_FLAGS "${CXXFLAGS}") @@ -107,15 +120,15 @@ macro(build_subdir) set(WIN32_MEMORY) endif(MSVC) - # Generate the module and set it's linker flags, also set it to depend on the main Anope executable to be built beforehand + # Generate the module and set its linker flags, also set it to depend on the main Anope executable to be built beforehand add_library(${SO} MODULE ${MODULES_SUBDIR_SRCS}) - set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" SUFFIX ".so" LINK_FLAGS "${SUBDIR_LDFLAGS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON) + set_target_properties(${SO} PROPERTIES LINKER_LANGUAGE CXX PREFIX "" LINK_FLAGS "${SUBDIR_LDFLAGS}" INSTALL_RPATH_USE_LINK_PATH ON BUILD_WITH_INSTALL_RPATH ON OUTPUT_NAME "${FOLDER_NAME}") add_dependencies(${SO} ${PROGRAM_NAME}) if(GETTEXT_FOUND) add_dependencies(${SO} module_language) endif(GETTEXT_FOUND) target_link_libraries(${SO} ${SUBDIR_EXTRA_DEPENDS}) - # For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set it's version + # For Windows only, have the module link to the export library of Anope as well as wsock32 and Ws2_32 libraries (most of the modules probably don't need this, but this is to be on the safe side), also set its version if(WIN32) target_link_libraries(${SO} ${PROGRAM_NAME} wsock32 Ws2_32 ${WIN32_MEMORY}) set_target_properties(${PROGRAM_NAME} PROPERTIES VERSION "${VERSION_DOTTED}") @@ -125,10 +138,8 @@ macro(build_subdir) endif(APPLE) endif(WIN32) - # Set the module to be installed to the module directory under the data directory - install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules) + install(TARGETS ${SO} DESTINATION ${LIB_DIR}/modules/${DIR_NAME}) endmacro(build_subdir) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) build_modules(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/modules/botserv/CMakeLists.txt b/modules/botserv/CMakeLists.txt new file mode 100644 index 000000000..cd225a94d --- /dev/null +++ b/modules/botserv/CMakeLists.txt @@ -0,0 +1 @@ +build_modules(${CMAKE_CURRENT_SOURCE_DIR}) diff --git a/modules/botserv/assign.cpp b/modules/botserv/assign.cpp new file mode 100644 index 000000000..840651dfc --- /dev/null +++ b/modules/botserv/assign.cpp @@ -0,0 +1,281 @@ +/* BotServ core functions + * + * (C) 2003-2014 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + * Based on the original code of Epona by Lara. + * Based on the original code of Services by Andy Church. + */ + +#include "module.h" +#include "modules/bs_info.h" + +class CommandBSAssign : public Command +{ + public: + CommandBSAssign(Module *creator) : Command(creator, "botserv/assign", 2, 2) + { + this->SetDesc(_("Assigns a bot to a channel")); + this->SetSyntax(_("\037channel\037 \037nickname\037")); + } + + void Execute(CommandSource &source, const std::vector ¶ms) override + { + const Anope::string &chan = params[0]; + const Anope::string &nick = params[1]; + + if (Anope::ReadOnly) + { + source.Reply(_("Sorry, bot assignment is temporarily disabled.")); + return; + } + + ChanServ::Channel *ci = ChanServ::Find(chan); + if (ci == NULL) + { + source.Reply(_("Channel \002{0}\002 isn't registered."), chan); + return; + } + + ServiceBot *bi = ServiceBot::Find(nick, true); + if (!bi) + { + source.Reply(_("Bot \002{0}\002 does not exist."), nick); + return; + } + + ChanServ::AccessGroup access = source.AccessFor(ci); + if (!access.HasPriv("ASSIGN") && !source.HasPriv("botserv/administration")) + { + source.Reply(_("Access denied. You do not have privilege \002{0}\002 on \002{1}\002."), "ASSIGN", ci->GetName()); + return; + } + + if (ci->HasFieldS("BS_NOBOT")) + { + source.Reply(_("Access denied. \002{0}\002 may not have a bot assigned to it because a Services Operator has disallowed it."), ci->GetName()); + return; + } + + if (bi->bi->GetOperOnly() && !source.HasPriv("botserv/administration")) + { + source.Reply(_("Access denied. Bot \002{0}\002 is for operators only."), bi->nick); + return; + } + + if (ci->GetBot() == bi) + { + source.Reply(_("Bot \002{0}\002 is already assigned to \002{1}\002."), ci->GetBot()->nick, ci->GetName()); + return; + } + + bool override = !access.HasPriv("ASSIGN"); + Log(override ? LOG_OVERRIDE : LOG_COMMAND, source, this, ci) << "for " << bi->nick; + + bi->Assign(source.GetUser(), ci); + source.Reply(_("Bot \002{0}\002 has been assigned to \002{1}\002."), bi->nick, ci->GetName()); + } + + bool OnHelp(CommandSource &source, const Anope::string &subcommand) override + { + source.Reply(_("Assigns the bot \037nickname\037 to \037channel\037." + " You can then configure the bot for the channel so it fits your needs.\n" + "\n" + "Use of this command requires the \002{0}\002 privilege on \037channel\037." + "\n" + "Example:\n" + " {command} #anope Botox\n" + " Assigns the bot Botox to #anope.\n"), + "ASSIGN", "command"_kw = source.command); + return true; + } +}; + +class CommandBSUnassign : public Command +{ + public: + CommandBSUnassign(Module *creator) : Command(creator, "botserv/unassign", 1, 1) + { + this->SetDesc(_("Unassigns a bot from a channel")); + this->SetSyntax(_("\037channel\037")); + } + + void Execute(CommandSource &source, const std::vector ¶ms) override + { + const Anope::string &chan = params[0]; + + if (Anope::ReadOnly) + { + source.Reply(_("Sorry, bot assignment is temporarily disabled.")); + return; + } + + ChanServ::Channel *ci = ChanServ::Find(chan); + if (ci == NULL) + { + source.Reply(_("Channel \002{0}\002 isn't registered."), chan); + return; + } + + ChanServ::AccessGroup access = source.AccessFor(ci); + if (!source.HasPriv("botserv/administration") && !access.HasPriv("ASSIGN")) + { + source.Reply(_("Access denied. You do not have privilege \002{0}\002 on \002{1}\002."), "ASSIGN", ci->GetName()); + return; + } + + if (!ci->GetBot()) + { + source.Reply(_("There is no bot assigned to \002{0}\002."), ci->GetName()); + return; + } + + if (ci->HasFieldS("PERSIST") && !ModeManager::FindChannelModeByName("PERM")) + { + source.Reply(_("You cannot unassign bots while persist is set on the channel.")); + return; + } + + bool override = !access.HasPriv("ASSIGN"); + Log(override ? LOG_OVERRIDE : LOG_COMMAND, source, this, ci) << "for " << ci->GetBot()->nick; + + ServiceBot *bi = ci->GetBot(); + bi->UnAssign(source.GetUser(), ci); + source.Reply(_("Bot \002{0}\002 has been unassigned from \002{1}\002."), bi->nick, ci->GetName()); + } + + bool OnHelp(CommandSource &source, const Anope::string &subcommand) override + { + source.Reply(_("Unassigns a bot from \037channel\037." + "Bot configuration is kept, so you will always be able to reassign a bot later without losing your settings.\n" + "\n" + "Use of this command requires the \002{0}\002 privilege on \037channel\037." + "\n" + "Example:\n" + " {command} #anope\n" + " Unassigns the current bot from #anope.\n"), + "ASSIGN", "command"_kw = source.command); + return true; + } +}; + +class CommandBSSetNoBot : public Command +{ + public: + CommandBSSetNoBot(Module *creator, const Anope::string &sname = "botserv/set/nobot") : Command(creator, sname, 2, 2) + { + this->SetDesc(_("Prevent a bot from being assigned to a channel")); + this->SetSyntax(_("\037channel\037 {\037ON|OFF\037}")); + } + + void Execute(CommandSource &source, const std::vector ¶ms) override + { + const Anope::string &chan = params[0]; + const Anope::string &value = params[1]; + + ChanServ::Channel *ci = ChanServ::Find(chan); + if (ci == NULL) + { + source.Reply(_("Channel \002{0}\002 isn't registered."), chan); + return; + } + + if (value.equals_ci("ON")) + { + Log(LOG_ADMIN, source, this, ci) << "to enable nobot"; + + ci->SetS("BS_NOBOT", true); + if (ci->GetBot()) + ci->GetBot()->UnAssign(source.GetUser(), ci); + source.Reply(_("No-bot mode is now \002on\002 for \002{0}\002."), ci->GetName()); + } + else if (value.equals_ci("OFF")) + { + Log(LOG_ADMIN, source, this, ci) << "to disable nobot"; + + ci->UnsetS("BS_NOBOT"); + source.Reply(_("No-bot mode is now \002off\002 for \002{0}\002."), ci->GetName()); + } + else + this->OnSyntaxError(source, source.command); + } + + bool OnHelp(CommandSource &source, const Anope::string &) override + { + source.Reply(_("If no-bot is set on a channel, then the channel will be unabled to have a bot assigned to it." + " If a bot is already assigned to the channel, it is unassigned automatically when no-bot is enabled." + "\n" + "Example:\n" + " {command} #anope on\n" + " Prevents a service bot from being assigned to #anope.\n"), + "command"_kw = source.command); + return true; + } +}; + +class BSAssign : public Module + , public EventHook + , public EventHook +{ + Serialize::Field nobot; + + CommandBSAssign commandbsassign; + CommandBSUnassign commandbsunassign; + CommandBSSetNoBot commandbssetnobot; + + public: + BSAssign(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR) + + , nobot(this, botinfo, "BS_NOBOT") + + , commandbsassign(this) + , commandbsunassign(this) + , commandbssetnobot(this) + { + } + + void OnInvite(User *source, Channel *c, User *targ) override + { + ServiceBot *bi; + if (Anope::ReadOnly || !c->ci || targ->server != Me || !(bi = ServiceBot::Find(targ->nick, true))) + return; + + ChanServ::AccessGroup access = c->ci->AccessFor(source); + if (!access.HasPriv("ASSIGN") && !source->HasPriv("botserv/administration")) + { + targ->SendMessage(bi, _("Access denied. You do not have privilege \002ASSIGN\002 on \002{0}\002."), c->ci->GetName()); + return; + } + + if (nobot.HasExt(c->ci)) + { + targ->SendMessage(bi, _("Access denied. \002{0}\002 may not have a bot assigned to it because a Services Operator has disallowed it."), c->ci->GetName()); + return; + } + + if (bi->bi->GetOperOnly() && !source->HasPriv("botserv/administration")) + { + targ->SendMessage(bi, _("Access denied. Bot \002{0}\002 is for operators only."), bi->nick); + return; + } + + if (c->ci->GetBot() == bi) + { + targ->SendMessage(bi, _("Bot \002{0}\002 is already assigned to \002{1}\002."), bi->nick, c->ci->GetName()); + return; + } + + bi->Assign(source, c->ci); + targ->SendMessage(bi, _("Bot \002{0}\002 has been assigned to \002{1}\002."), bi->nick, c->ci->GetName()); + } + + void OnServiceBot(CommandSource &source, ServiceBot *bi, ChanServ::Channel *ci, InfoFormatter &info) override + { + if (nobot.HasExt(ci)) + info.AddOption(_("No bot")); + } +}; + +MODULE_INIT(BSAssign) diff --git a/modules/botserv/autoassign.cpp b/modules/botserv/autoassign.cpp new file mode 100644 index 000000000..8978499ed --- /dev/null +++ b/modules/botserv/autoassign.cpp @@ -0,0 +1,37 @@ +/* + * + * (C) 2003-2014 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + */ + +#include "module.h" + +class BSAutoAssign : public Module + , public EventHook +{ + public: + BSAutoAssign(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator, VENDOR) + { + } + + void OnChanRegistered(ChanServ::Channel *ci) override + { + const Anope::string &bot = Config->GetModule(this)->Get("bot"); + if (bot.empty()) + return; + + ServiceBot *bi = ServiceBot::Find(bot, true); + if (bi == NULL) + { + Log(this) << "bs_autoassign is configured to assign bot " << bot << ", but it does not exist?"; + return; + } + + bi->Assign(NULL, ci); + } +}; + +MODULE_INIT(BSAutoAssign) diff --git a/modules/botserv/badwords.cpp b/modules/botserv/badwords.cpp new file mode 100644 index 000000000..0f8e9e7d0 --- /dev/null +++ b/modules/botserv/badwords.cpp @@ -0,0 +1,465 @@ +/* BotServ core functions + * + * (C) 2003-2014 Anope Team + * Contact us at team@anope.org + * + * Please read COPYING and README for further details. + * + * Based on the original code of Epona by Lara. + * Based on the original code of Services by Andy Church. + */ + +#include "module.h" +#include "modules/bs_badwords.h" + +static EventHandlers *bwevents; + +class BadWordImpl : public BadWord +{ + public: + BadWordImpl(Serialize::TypeBase *type) : BadWord(type) { } + BadWordImpl(Serialize::TypeBase *type, Serialize::ID id) : BadWord(type, id) { } + + ChanServ::Channel *GetChannel() override; + + void SetChannel(ChanServ::Channel *c) override; + + Anope::string GetWord() override; + + void SetWord(const Anope::string &w) override; + + BadWordType GetType() override; + + void SetType(const BadWordType &t) override; +}; + +class BadWordsType : public Serialize::Type +{ + public: + Serialize::ObjectField channel; + Serialize::Field word; + Serialize::Field type; + + BadWordsType(Module *me) : Serialize::Type(me, "BadWord") + , channel(this, "ci", true) + , word(this, "word") + , type(this, "type") + { + } +}; + +ChanServ::Channel *BadWordImpl::GetChannel() +{ + return Get(&BadWordsType::channel); +} + +void BadWordImpl::SetChannel(ChanServ::Channel *c) +{ + Set(&BadWordsType::channel, c); +} + +Anope::string BadWordImpl::GetWord() +{ + return Get(&BadWordsType::word); +} + +void BadWordImpl::SetWord(const Anope::string &w) +{ + Set(&BadWordsType::word, w); +} + +BadWordType BadWordImpl::GetType() +{ + return Get(&BadWordsType::type); +} + +void BadWordImpl::SetType(const BadWordType &t) +{ + Set(&BadWordsType::type, t); +} + +struct BadWordsImpl : BadWords +{ + BadWordsImpl(Module *me) : BadWords(me) { } + + BadWord* AddBadWord(ChanServ::Channel *ci, const Anope::string &word, BadWordType type) override + { + BadWord *bw = badword.Create(); + bw->SetChannel(ci); + bw->SetWord(word); + bw->SetType(type); + + (*bwevents)(&Event::BadWordEvents::OnBadWordAdd, ci, bw); + + return bw; + } + + std::vector GetBadWords(ChanServ::Channel *ci) + { + return ci->GetRefs(badword); + } + + BadWord* GetBadWord(ChanServ::Channel *ci, unsigned index) override + { + auto bw = GetBadWords(ci); + return index < bw.size() ? bw[index] : nullptr; + } + + unsigned GetBadWordCount(ChanServ::Channel *ci) override + { + return GetBadWords(ci).size(); + } + + void EraseBadWord(ChanServ::Channel *ci, unsigned index) override + { + auto bws = GetBadWords(ci); + if (index >= bws.size()) + return; + + BadWord *bw = bws[index]; + (*bwevents)(&Event::BadWordEvents::OnBadWordDel, ci, bw); + + delete bw; + } + + void ClearBadWords(ChanServ::Channel *ci) override + { + for (BadWord *bw : GetBadWords(ci)) + delete bw; + } +}; + +class CommandBSBadwords : public Command +{ + private: + void DoList(CommandSource &source, ChanServ::Channel *ci, const Anope::string &word) + { + bool override = !source.AccessFor(ci).HasPriv("BADWORDS"); + Log(override ? LOG_OVERRIDE : LOG_COMMAND, source, this, ci) << "LIST"; + ListFormatter list(source.GetAccount()); + + list.AddColumn(_("Number")).AddColumn(_("Word")).AddColumn(_("Type")); + + if (!badwords->GetBadWordCount(ci)) + { + source.Reply(_("The bad word list of \002{0}\002 is empty."), ci->GetName()); + return; + } + + if (!word.empty() && word.find_first_not_of("123