solanum/extensions
Simon Arlott d8f0b5d763
cppcheck: fix various warnings/errors
[ircd/match.c:316]: (error) Shifting a negative value is undefined behaviour
[librb/src/patricia.c:55]: (error) Shifting a negative value is undefined behaviour
[modules/m_alias.c:64]: (portability) '(void*)message' is of type 'void *'. When using void pointers in calculations, the behaviour is undefined.
[modules/m_time.c:111]: (warning) %u in format string (no. 9) requires 'unsigned int' but the argument type is 'signed int'.
[modules/m_time.c:111]: (warning) %u in format string (no. 10) requires 'unsigned int' but the argument type is 'signed int'.
[librb/src/dictionary.c:819]: (warning) %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'.
[librb/src/radixtree.c:1080]: (warning) %d in format string (no. 3) requires 'int' but the argument type is 'unsigned int'.
[ircd/s_user.c:351] -> [ircd/s_user.c:357]: (warning) Either the condition '0!=source_p' is redundant or there is possible null pointer dereference: source_p.
[extensions/ip_cloaking_3.0.c:109]: (warning, inconclusive) The buffer 'buf' may not be null-terminated after the call to strncpy().
[ircd/chmode.c:256]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_help.c:100]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_knock.c:169]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_stats.c:628]: (style) Clarify calculation precedence for '&' and '?'.
[modules/m_stats.c:727]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:601]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:704]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:739]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:763]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:768]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:774]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:781]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:786]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:791]: (style) Clarify calculation precedence for '&' and '?'.
[librb/src/radixtree.c:804]: (style) Clarify calculation precedence for '&' and '?'.
[ircd/wsproc.c:372]: (style) Unused variable: len
[modules/core/m_modules.c:382]: (style) Unused variable: i
[modules/m_stats.c:741]: (style) Unused variable: amsg
[ircd/authproc.c:390]: (style) Unused variable: iter
[ircd/authproc.c:391]: (style) Unused variable: client_p
2016-10-28 20:13:36 +01:00
..
chantype_dummy.c extensions/chantype_dummy: ^ is a valid nickchar, but > isn't 2016-09-16 14:12:29 -05:00
chm_adminonly.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_insecure.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_nonotice.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_operonly.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_operonly_compat.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_operpeace.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_quietunreg_compat.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_sslonly.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
chm_sslonly_compat.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
createauthonly.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
createoperonly.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
example_module.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
extb_account.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_canjoin.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_channel.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_combi.c extb_combi: More int to bool conversion 2016-03-25 19:47:58 -04:00
extb_extgecos.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_hostmask.c ipv4_from_ipv6: move to librb 2016-04-08 03:49:23 -05:00
extb_oper.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_realname.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_server.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_ssl.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
extb_usermode.c extensions: Fix duplicate extban character usage 2016-03-28 03:26:10 +01:00
force_user_invis.c AV2 descriptions: forgot these 2016-03-07 04:11:58 -06:00
helpops.c helpops: add duplication guards on helper/dehelper state changes 2016-09-18 17:11:32 -05:00
hide_uncommon_channels.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
hurt.c Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00
ip_cloaking.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
ip_cloaking_3.0.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
ip_cloaking_4.0.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
ip_cloaking_old.c cppcheck: fix various warnings/errors 2016-10-28 20:13:36 +01:00
m_adminwall.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_echotags.c More cleanup 2016-03-23 00:11:26 -04:00
m_extendchans.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_findforwards.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_identify.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_locops.c Move m_locops module to extensions. 2016-04-02 05:20:30 -05:00
m_mkpasswd.c mkpasswd: use urandom for salts, cleanup 2016-08-15 09:50:53 +00:00
m_ojoin.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_okick.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_omode.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_opme.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_remove.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_roleplay.c Message handlers should return void. 2016-03-09 01:37:03 -06:00
m_sendbans.c common.h: raison d'être is gone, so out it goes. 2016-03-23 09:33:56 -05:00
m_webirc.c extensions/m_webirc: win32 fixes 2016-03-20 02:26:30 -05:00
Makefile.am extensions: add new module adding ^channels (which are just like #channels) 2016-09-16 13:55:44 -05:00
no_kill_services.c Port some more extensions to AV2 and add descriptions 2016-03-07 03:50:03 -06:00
no_locops.c Port some more extensions to AV2 and add descriptions 2016-03-07 03:50:03 -06:00
no_oper_invis.c Port some more extensions to AV2 and add descriptions 2016-03-07 03:50:03 -06:00
override.c Added kick immunity to umode +p (oper-override) 2016-09-29 00:34:53 +02:00
README Remove m_42 from README. 2016-03-06 23:58:32 -06:00
restrict-unauthenticated.c Port some more extensions to AV2 and add descriptions 2016-03-07 03:50:03 -06:00
sno_channelcreate.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
sno_farconnect.c More bool conversions 2016-03-09 02:19:31 -06:00
sno_globalkline.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
sno_globalnickchange.c More bool conversions 2016-03-09 02:19:31 -06:00
sno_globaloper.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
sno_whois.c Move module description headers to the top 2016-03-09 01:29:41 -06:00
spy_admin_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_info_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_links_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_motd_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_stats_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_stats_p_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
spy_trace_notice.c Update extensions/spy_* with AV2 descriptions. 2016-03-07 04:09:14 -06:00
umode_noctcp.c Use rb_* versions of nonportable string functions 2016-04-05 05:39:59 -05:00

This directory contains extensions (modules) to charybdis ircd that
have been contributed by other people, or written by our development
team.  Unsupported extensions live under unsupported/.


Modules
-------

createauthonly.c - Only allow authenticated (identified) users to create
                   channels.

ip_cloaking.c  - Cloak (spoof) the host for users that have umode +h.

m_adminwall.c  - Sends a message to all admins network-wide (umode +a)
                 Syntax: ADMINWALL :<message>

m_findforwards.c - Find channels that forward (+f) to a given channel.
                   Syntax: FINDFORWARDS <channel>

m_identify.c - Identifies to NickServ or ChanServ
               Syntax: IDENTIFY [nick|channel] <password>

m_mkpasswd.c   - MKPASSWD - generate a DES or MD5 encryption of a password
                 Syntax:  MKPASSWD <plaintext> [MD5|DES]

m_ojoin.c      - OJOIN - Join a channel through any modes or limits with 
                         an optional status (@+)
                 Syntax: OJOIN [status]<channel>

m_olist.c      - OLIST - Lists channels like LIST, but shows hidden
                         channels. Oper only of course.

m_opme.c       - OPME - Allows an admin to op themselves in an opless channel
                 Syntax: OPME <channel>

m_omode.c      - OMODE - Allows an admin to do all sorts of evil upon a
			 channel, sets modes with extreme prejudice

m_remove.c     - REMOVE - Implements /REMOVE, which allows a channel op to
                          force-part a problematic user from a channel.  Most
                          likely, you don't want this, because it is non-standard,
                          and easily worked around for autojoin purposes.

no_oper_invis.c - Disallow opers setting marking themselves as invisible
                  (+i) unless they have the hidden_oper flag.

example_module.c - An example module to be used for creating your own.
                   Syntax: TEST


Spy Modules
-----------

The following are the 'spy' parts, accessible via the +y snomask

spy_admin_notice.c   - Spy on clients doing ADMIN
spy_info_notice.c    - Spy on clients doing INFO
spy_links_notice.c   - Spy on clients doing LINKS
spy_motd_notice.c    - Spy on clients doing MOTD
spy_stats_notice.c   - Spy on clients doing all STATS
spy_stats_p_notice.c - Spy on clients doing STATS p only
spy_trace_notice.c   - Spy on clients doing TRACE

Note: if you have both spy_stats_notice.c and spy_stats_p_notice.c loaded
you will get two messages.

Snomask Modules
---------------

sno_farconnect.c  - Remote client connect/exit notices (snomask +F)
sno_globalkline.c - Global K/D/X-line activation notices
sno_globaloper.c  - Global oper-up notices
sno_whois.c       - Spy on clients who WHOIS you seeing idle time (snomask +W).

Extban Modules
--------------

extb_account.so  - Account bans (+b $a[:mask])
extb_canjoin.so  - Banned from another channel (+b $j:mask)
extb_channel.so  - Other-channel bans (+b $c:mask)
extb_extgecos.so - Extended ban (+b $x:mask)
extb_oper.so     - Oper bans (+b $o)
extb_realname.so - Realname (gecos) bans (+b $r:mask)
extb_server.so   - Server bans (+b $s:mask)