1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-08 04:03:12 +02:00
Commit Graph

47 Commits

Author SHA1 Message Date
Bram Matthys 1f1ac6c4ee Less duplicate code: add internal function invisible_user_in_channel()
and remove many calls to HOOKTYPE_VISIBLE_IN_CHANNEL + flag checking.
2016-12-27 20:22:12 +01:00
Bram Matthys bf1e1502ba Use #include "unrealircd.h" in all modules (#4516). 2016-03-04 13:02:06 +01:00
Bram Matthys a603898688 Fix opers not getting any error messages when they are unable to join a channel.
Remove OperOverride code from JOIN. This should be handled in INVITE, as in 3.2.x.
2015-12-09 16:51:17 +01:00
Bram Matthys f1426e02ee Fix channel mode +P (Permanent) not working if you have set::modes-on-join, reported by blank (#4426). 2015-10-17 11:11:55 +02:00
Bram Matthys 8b45169f82 Get rid of $Id$ in /MODULE (version) output. Just report as "4.0" 2015-10-11 18:18:31 +02:00
Bram Matthys 40354d0459 Hmmm. This doesn't work. Look at it again later, I like the warning, just want the option to ignore it. 2015-07-25 20:38:52 +02:00
Bram Matthys 2a53499610 Get rid of useless DLLFUNC prefixes (at places where they were not needed) 2015-07-25 20:23:37 +02:00
Bram Matthys e8dfb284a1 Replace parv[0] with sptr->name. Don't use parv[0] anymore.
I went through all 500+ of them by hand as to avoid introducing bugs... we'll see ;)
2015-07-10 12:17:05 +02:00
Travis McArthur 2450909c26 Change name of OperEval... 2015-07-09 12:31:45 -07:00
Bram Matthys fe14e21175 Update all MOD_TEST/MOD_INIT/MOD_LOAD/MOD_UNLOAD calls to new format 2015-07-08 18:02:19 +02:00
Travis McArthur ee657857fe Refactor permissions in m_join 2015-07-05 12:04:39 -07:00
Travis McArthur 81cba1b12d Remove remaining OPCan*
Updates to default operclasses as well
2015-06-26 11:08:00 -07:00
Bram Matthys 220e0c01e4 fix missing initializers 2014-07-20 21:29:07 +02:00
Travis McArthur 63cb121130 Modularize secureonly (+z) 2014-07-04 21:13:08 -07:00
Travis McArthur 2e10afdd9c Modularize channel mode +R, reg only - temporarily remove some logging 2014-06-29 00:01:50 -07:00
Travis McArthur 5e657e5985 Modularize adminonly (+A) 2014-06-07 20:35:19 -07:00
Travis McArthur df4597b869 Modularize operonly (+O) 2014-06-07 19:37:25 -07:00
Heero 4956d01e34 Add +D/+d and remove +u
Permits users to add +D mode to hide join/part notifications except for +vohaq
until a user speaks
[#2906] Reported by Tranqer
2014-06-04 01:13:22 -07:00
Bram Matthys 101d2dd6a3 Big 3.4.x commit containing bug fixes and enhancements. Modularizing
user & channel modes. Fixing Windows build. Etc..
2014-05-11 20:56:02 +02:00
William Pitcock 56c6c504d1 - m_join: translate between UID and non-UID 2013-05-25 09:45:33 +00:00
William Pitcock afdf5d780a - Replace ircsprintf() with bounds-checking ircsnprintf(), patch from FalconKirtaran. (#4208) 2013-05-21 06:26:52 +00:00
William Pitcock 61fe014771 - Remove sendto_server_butone() and friends, now everything uses sendto_server(). (#4202)
Patch from FalconKirtaran.
2013-05-20 01:21:45 +00:00
William Pitcock d570031097 - Replace sendto_server_butone_token_opt() calls with sendto_server(). 2013-05-19 22:27:55 +00:00
William Pitcock 85ff3dd136 - Remove JOIN_INSTEAD_OF_SJOIN_ON_REMOTEJOIN config.h option. 2013-05-19 22:19:12 +00:00
William Pitcock b413848524 - TOK_FOO removal pass 2 2013-05-19 21:40:45 +00:00
William Pitcock 40aeea3f0f - Remove token references from add_Command, msg.h 2013-05-19 21:36:11 +00:00
William Pitcock ca86485927 - Remove token parameter from CommandAdd(). 2013-05-19 21:27:26 +00:00
=?UTF-8?q?Mantas=20Mikul=C4=97nas?= 3e47992755 - Remove remaining uses of sendto_serv_butone_token() from modules.
---
 src/modules/m_chatops.c    | 10 ++++------
 src/modules/m_chghost.c    |  4 ++--
 src/modules/m_chgident.c   |  5 ++---
 src/modules/m_chgname.c    |  4 ++--
 src/modules/m_globops.c    |  4 ++--
 src/modules/m_join.c       | 13 +++++--------
 src/modules/m_kick.c       |  5 ++---
 src/modules/m_mode.c       | 26 ++++++++++++--------------
 src/modules/m_nachat.c     |  4 ++--
 src/modules/m_nick.c       |  4 ++--
 src/modules/m_oper.c       |  9 ++++-----
 src/modules/m_part.c       |  9 ++++-----
 src/modules/m_sajoin.c     |  3 +--
 src/modules/m_sasl.c       | 20 +++++++++++---------
 src/modules/m_sdesc.c      |  3 +--
 src/modules/m_sendsno.c    |  3 +--
 src/modules/m_sethost.c    |  3 +--
 src/modules/m_setident.c   |  3 +--
 src/modules/m_setname.c    |  2 +-
 src/modules/m_svsfline.c   | 15 ++++-----------
 src/modules/m_svskill.c    |  3 +--
 src/modules/m_svsmode.c    | 12 ++++++------
 src/modules/m_svsmotd.c    | 10 ++++------
 src/modules/m_svsnick.c    |  3 +--
 src/modules/m_svsnline.c   | 15 ++++-----------
 src/modules/m_svssilence.c |  2 +-
 src/modules/m_swhois.c     |  3 +--
 src/modules/m_tkl.c        | 10 +++++-----
 src/modules/m_topic.c      | 14 +++++---------
 src/modules/m_vhost.c      | 12 +++++-------
 30 files changed, 97 insertions(+), 136 deletions(-)
2013-05-19 20:36:56 +00:00
William Pitcock b2214aba9f - Remove SJB64 stuff, patch from FalconKirtaran (#4190). 2013-05-19 08:09:02 +00:00
William Pitcock 6fa31c5624 - Add ability to sqline channels. (#3012)
Based in part on Trocotronic's patch in old UnrealIRCd CVS.
2013-05-07 05:02:15 +00:00
William Pitcock 13bf48f3b3 - Implement full OperOverride on channel JOIN (#1403) 2013-05-06 05:04:36 +00:00
William Pitcock 7f1e31193b - Remove old vestigal code that is no longer connected to the OperOverride system. 2013-05-06 04:56:37 +00:00
William Pitcock 3bdae5807d - Remove NEWCHFLOODPROT define and old +f code. (#3210) 2013-01-14 03:44:49 -06:00
William Pitcock f9a78be185 - Remove WebTV code, part 1. (#3948) 2013-01-14 03:21:42 -06:00
William Pitcock ec09c447e5 - Remove defines FAST_BADWORDS_REPLACE, THROTTLING, EXTCMODE. (#2937)
The code does not compile without them anyway.
2012-11-25 17:45:45 +00:00
William Pitcock 1f79ca142f - Remove channel masks. (#3281) 2012-11-25 16:59:27 +00:00
Bram Matthys 3e9d300086 - Add 'class' option to allow/deny channel so you can allow/deny
users based on their class. Patch from fspijkerman (#4125).
2012-10-06 12:48:21 +02:00
Bram Matthys a2137bda71 local chanmode, chan mode +Z, operoverride with key 'override', sorting HELPOP CHMODES, fishy timestamps:
- Some small updates to the extended channel mode system: it now has minimal
  support for 'local channel modes'. This is really only meant for channel
  mode +Z (upcase z), see next.
- Added Channel Mode Z which indicates if a channel is 'secure' or not.
  This mode works in conjunction with +z (lower case z).
  If +z is set ('only secure users may join'), then the IRCd scans to see
  if everyone in the channel is connected through SSL. If so, then the
  channel is set +Z as well ('channel is secure').
  Whenever an insecure user manages to join, the channel is -Z. And whenever
  all insecure users leave, the channel is set +Z.
  The 'insecure user being present in a +z channel' can be because:
  - An IRCOp joined the channel, and he's not secure
  - When servers link together and a user on the other side is not secure
    This only happens on net merge (equal time stamp).
    On different time stamp, we still kick insecure users on the new side.
  - At the time when +z is set, there are insecure users present.
  This feature was implemented after a heavy discussion in bug #3720 by fez
  and others, and was suggested by Stealth.
  Tech note: +Z/-Z is handled locally by each server. Any attempt to
  remotely set +Z/-Z (eg: by services) will be ignored.
- As mentioned above, +z can now be set even if any insecure users are
  present. Previously, this was not permitted. Now, as soon as the last
  non-SSL user leaves, the channel will be set +Z.
- An oper not connected through SSL previously had to /INVITE himself
  to a channel and then /JOIN the channel with the key 'override'.
  This 'override' key is no longer required, a simple JOIN will suffice.
- Sorted channel modes in /HELPOP ?CHMODES
- Re-enabled 'fishy timestamp' errors in MODE. For some reason this was
  commented out, even though the (more annoying and less useful) code in
  JOIN was enabled so that did not make a lot of sense. It also now logs to
  ircd.log (or whatever you configure). This enables people to easier find
  the cause of any timestamp issues (which usually is badly coded services).
2010-11-13 19:23:05 +00:00
Bram Matthys 236808d8b4 - set::level-on-join now also supports voice, halfop, protect and owner.
Requested by katsklaw (#0003852). Partial patch provided by katsklaw and
  morpheus_pl.
2009-11-23 15:11:20 +00:00
Bram Matthys c97e538442 - Added set::level-on-join: which level should the user get when (s)he's is
the first to enter a channel. Currently only 'none' and 'op' are supported.
2007-11-19 13:19:28 +00:00
Bram Matthys fd5c1f778f - Fixed bug in currently unused code, reported by DeadNotBuried (#0002835).
- Modulized NAMES command (can now be upgraded on the fly, if ever needed).
- Added NAMESX support, seeing both mIRC (5.17) and XChat support this. What this does is
  send all rights of all users on the channel in the NAMES reply (eg: @+Syzop if the user is +ov)
  instead of only the highest one (@Syzop in previous example). We only do so if the client
  explicitly requested this via a NAMESX in a PROTOCTL message (eg: 'PROTOCTL NAMESX').
  Note that there is a glitch: since most clients only send the PROTOCTL NAMESX after they
  see NAMESX listed in the 005 announce message this has the effect that if there are
  set::auto-join channels present (where users are automatically joined to by the server) the
  extended NAMES reply will not be sent for those channels, because from the IRC server' point
  of view the join happened before the PROTOCTL and hence it does not know the client wanted
  NAMESX at that point (the result is not catastrophic: the old-style NAMES is sent for those
  channels). Anyway, for all non-autojoin channels this works great. So still worth adding IMO.
  Originally suggested in #0000606.
  Side note: this does not mean we dropped the idea of (also) having a challenge-response
  system for good ;).
2006-02-26 01:06:10 +00:00
Bram Matthys 364bf0f605 - Fixes for an amd64 crash problem, reported by Peter Laur (OpenBSD.se).
- Redid some net synching code to make it more efficient (#2716).
- Fixed spamfilter crash problem: the action 'viruschan' is now no longer incompatible
  with target 'user'. Reported by Monk (#0002570).
2006-01-06 19:53:41 +00:00
Bram Matthys 35a8c00214 - When OPEROVERRIDE_VERIFY is enabled, we now allow opers to still join any channels listed
in set::auto-join or set::oper-auto-join, even if they are +s/+p. Suggested by ultrotter
  (#0002644).
2005-10-15 23:26:57 +00:00
Bram Matthys d3a0bb92f6 - Added channelmode +j (jointhrottle), syntax: /mode #chan +j X:Y, and then it will
throttle the number of joins per-user to X in Y seconds. Idea from Angrywolf (who
  wrote a module that did this before). This might need some more testing :).
  It's enabled by default but can be #undef'ed in include/config.h (line 449).
2005-02-12 00:05:08 +00:00
Bram Matthys 432e3a3a6c - Win32 crash fixes due to modulizing 2005-02-04 20:03:46 +00:00
Bram Matthys 0945798211 [..] Also made loading m_*.so work again. 2005-02-04 15:49:29 +00:00
Bram Matthys 6508c962f8 - Made m_template.c use CommandAdd() and CMD_FUNC()
- Modulized a lot of commands and related subfunctions: NICK (750 lines), USER (200),
  MODE (2300), WATCH (250), JOIN (600), PART (250), MOTD (100), OPERMOTD (100),
  BOTMOTD (100), LUSERS (100). More will follow soon (probably including more subfunctions
  related to existing commands).
2005-02-03 00:38:40 +00:00