1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-07-09 11:33:13 +02:00
Commit Graph

153 Commits

Author SHA1 Message Date
codemastr 5daa253210 Added join_channel 2003-12-21 20:22:50 +00:00
Bram Matthys 41f81b2643 - internal: changed is_banned() again: cptr,sptr -> sptr (dropped cptr). It was too
confusing (and thus causing bad code/bugs) and was never used anyway.
2003-12-21 15:10:13 +00:00
codemastr da3afb3420 Made the extban stuff compatible with the module API 2003-12-20 21:21:10 +00:00
Bram Matthys 426fbd9663 - Added "extended bans". An idea from SorceryNet ircd.
These bans look like ~<type>:<stuff>. Currently the following bans are available:
  ~q: quiet bans (ex: ~q:*!*@blah.blah.com). People matching these bans can join
      but are unable to speak, unless they have +v or higher.
  ~c: channel bans (ex: ~c:#idiots). People in #idiots are unable to join the channel.
  ~r: gecos (realname) bans (ex: ~r:*Stupid_bot_script*). If the realname of a user
      matches this then (s)he is unable to join.
      NOTE: an underscore ('_') matches both a space (' ') and an underscore ('_'),
            so this ban would match 'Stupid bot script v1.4'.

  These bantypes can also be used in the channel exception list (+e).
  +e ~r:*w00t* makes anyone with 'w00t' in their realname able to join,
  and +e ~c:#admin makes anyone in #admin able to join, etc..

  This system allows modules to add extended bantypes too.

  This feature requires some additional testing, also the module interface will
  probably be changed in the next few weeks, and perhaps more extended bans will
  be added before next release.. we'll see...
2003-12-19 23:39:30 +00:00
Bram Matthys 105dd3c092 - Added set::static-part: similar to static-quit, default 'no' (static-part disabled).
If set to 'yes' or '1' it will strip all part comments,
  if set to something else it will use that as a part comment.
- Partial cleanup of m_part (hopefully I didn't destroy anything).
- Minor stats compile warning fixed
2003-12-11 21:27:33 +00:00
Bram Matthys c3d09408e9 - Added error checking/error messages to new module reloading system, to catch errors like
insufficient hd space, permission denied, etc..
2003-12-10 03:16:16 +00:00
codemastr 3a5a4947f0 Made it so modules can be reloaded (new image) on /rehash 2003-12-06 01:09:32 +00:00
Bram Matthys 5a48671691 - Added channelmode +T: no notices allowed in channel. 2003-12-05 22:43:48 +00:00
Bram Matthys 37a93b5502 - Added oper::maxlogins which allows you to limit the number of concurrent session
with the same oper block. Suggested by kain.
- Made /dns oper-only (the ircd command, not your client /dns command :p).
- Various help.conf fixes. Reported by nukie (#0001373).
2003-11-19 23:41:34 +00:00
Bram Matthys b4f5788c8f - (Internal) Moved most valid-host checking into 1 function, valid_host(),
which checks for invalid characters.
- Added hostname check for me::name since this could cause mysterious trouble.
2003-11-04 01:38:01 +00:00
Bram Matthys c25223913c - (Internal) Added __attribute__ format checking for most format string functions,
this will currently produce a lot of warnings with -Wall.
- Fixed 159 of 184 warnings detected by the above, the other warnings are false.
  Most warnings had to do with long vs int, and thus the format strings (%d->%ld)
  or the vars (int->long) have been changed (many of these were time_t/TS vs int).
  Only a few rare crashbugs were discovered.
- Module coders: for HOOKTYPE_LOCAL_CHANMODE the 'sendts' parameter was changed
  from type 'int' to 'time_t', while in most circumstances (like on ia32)
  you won't notice, I suggest you to update your callback functions anyway.
- Possibly fixed an issue with set::modes-on-join and mode +f, it could have
  set random remove-chanmode times in the default chanmode line.
2003-11-02 02:58:11 +00:00
stskeeps ba0dd97653 foo 2003-10-31 16:50:10 +00:00
Bram Matthys 84d32b5378 - Fixed bug where color quits were stripped when they shouldn't be >:).
- Added 'action' field to ban version { } which can be: kill: kills the user (default),
  tempshun: shun the specific connection only, kline/zline/gline/gzline/shun: place
  a ban on *@IP. Time of those bans can be specified in set::ban-version-tkl-time.
  It's up to the admin to take a good decision, sometimes zlines are best (=won't use
  much sockets but will reconnect quite quickly), sometimes tempshun (=will use 1 socket
  but generates nearly no network traffic), sometimes klines/glines, etc..
2003-10-30 19:08:50 +00:00
Bram Matthys d64fb8dbab Multiple changes...
- Changed some useless stuff.
- Enabled EXTCMODE by default, I presume it's stable but can't promise anything.
- Module coders: changed 'allowed' callback function for umodes&snomasks,
  from 'aClient *sptr' to 'aClient *sptr, int what'.
  'what' will be MODE_ADD if trying to add and MODE_DEL if trying to remove.
2003-10-25 16:39:23 +00:00
Bram Matthys ad9d0370fa Added remove-chanmode-after-X-minutes in +f & checks for /sethost&/chghost to same host.
- Added checks for /sethost&/chghost to same host.
- Added remove-chanmode-after-X-minutes in +f.
  The format is +f [30j#R5]:15, where 5 is the "do -R after 5 minutes". For a default
  action like +i you would have to do the same: +f [30j#i5]:15 (remove 'i' after 5 minutes).
  Additionally, 2 config items are added:
  - set::modef-default-unsettime, if this is set to for example '5' then things like
    +f [30j]:15 will be transormed into +f [30j#i5]:15. It's just a default, the user can still
    override it. By default this feature is not used.
  - set::modef-max-unsettime, specifies the maximum amount of time for the <time> parameter,
    by default this is set to 60 (=1 hour), the value should be between 0 and 255.
  I didn't do the extended tests I usually do but it seems stable, also the docs are updated
  but are probably updated again later to make it a bit more readable.
  Feel free to report any bugs as soon as you discover them.
  The only thing I could think of is: _usually_ only 1 server will have the -i/-R/.. timer
  running, so if that server splits (or even worse dies) it will only be -i/-R/.. at that server
  and when they sync back they merge chanmodes so +i/+R is set again.
  I don't consider this a huge problem but maybe it can be inconveniently, if people have
  a lot of trouble with this I'll have to consider a 50% recode of the +f system :/.
2003-10-18 18:44:54 +00:00
codemastr f3f2390615 Added umode +T (no ctcp) 2003-10-04 20:13:10 +00:00
codemastr db445c0faf Sped up the message searching functions 2003-09-27 00:29:24 +00:00
Bram Matthys da6eceef41 - Added official-channels block. These channels are listed in /list even if they have 0 users. 2003-09-06 23:16:18 +00:00
Bram Matthys e42336433c - Temporarely added trace code for hunting down negative operator counts (#0001155). 2003-09-05 23:06:17 +00:00
Bram Matthys b140156778 - Probably fixed a bug regarding 'setting mode' notice with +f (was sometimes sent to non-chanops).
- Fixed multiple chmode +u bugs: remote join, netjoin, +mu relay between servers, kick and
  a part bug. Most of them reported by Lx (#0001097).
2003-09-04 19:04:43 +00:00
Bram Matthys aee400a104 extra +f action support: c#m c#M j#R m#M 2003-09-01 15:33:33 +00:00
Bram Matthys 372814470f - Fixed ~5 compiler warnings at *NIX and ~20 at windows. Some of them _could_ have caused problems. // - Moved EOS debugging code to DEBUGMODE. 2003-08-31 00:36:31 +00:00
Bram Matthys 2f38c277f0 major channelmode +f change... oh-oh... I really hope this works ok :p 2003-08-30 20:23:49 +00:00
codemastr e741087ce4 extcmode changes 2003-08-24 00:56:31 +00:00
codemastr a450522052 *nix resolver for Windows 2003-08-21 16:11:08 +00:00
Bram Matthys 57f337a738 *just commit da crap* 2003-08-16 15:56:50 +00:00
codemastr 161e62ccc0 Added a new stats system 2003-08-01 19:13:46 +00:00
Bram Matthys 41a0896d6d - First big part of modulized extended channelmodes system 2003-07-29 17:07:17 +00:00
codemastr 5ac4bae7ef Added a system to allow modules to create snomasks 2003-07-01 19:22:24 +00:00
codemastr 153b7c284a Added an experimental (disabled by default) prefix system for +a and +q 2003-06-14 00:05:26 +00:00
codemastr 40157a056b Added short motds 2003-06-03 22:38:46 +00:00
Bram Matthys bb53b0be8c - Fixed some MOTD problems: remote MOTD gone after rehash (#0001007) and motd time, etc... 2003-05-31 01:28:14 +00:00
Bram Matthys fce9f6463a multiple patches:
- Module coders: new hooks: part, kick, chanmode, topic. changed: quit (added 'comment' param).
- Enlarged REPORT_* vars a bit.
- IPv6: UnrealIRCd can now lookup ip6.arpa addresses too (original IRCnet patch modified for
  UnrealIRCd by Onliner).
2003-05-27 22:38:17 +00:00
codemastr a4a447e788 Made /whois slightly faster 2003-05-19 20:39:39 +00:00
Bram Matthys 374a7d5950 Added set::ident::connect-timeout and set::ident::read-timeout, updated example.conf: added throttle block. 2003-05-11 21:08:13 +00:00
codemastr 114cec45b1 New version flag system 2003-05-04 21:30:38 +00:00
codemastr a25630a958 module umode changes 2003-04-26 16:37:14 +00:00
codemastr 7000658c42 Fixed some /stats b stuff and added badword::action 2003-04-13 16:51:08 +00:00
Bram Matthys 7d88957dd6 Another code cleanup for -Wall.. added some functions to h.h etc. 2003-04-12 17:21:44 +00:00
Bram Matthys 6f5683242a - Added tld::options::ssl so you can have different motd/rules files if the user is using SSL.
Also there's tld::options::remote but that's currently not used :P.
2003-04-11 02:19:29 +00:00
Bram Matthys 8a4856fa8b Fixed MAJOR "messages are lost" caused by BUFFERPOOL being to low and bad return checking of dbuf_put.
If BUFFERPOOL dbuf_put would return -1, but at some places !dbuf_put was used,
I've changed it so it will return 0 (so use !dbuf_put now, don't use dbuf_put(...) < 0 :P).
I also added some nice warning thing. I couldn't send from the send routine because that's risky ;).
And...... I also doubled the default BUFFERPOOL, so if you leave everything the default then
BUFFERPOOL is now 52Mb instead of 26Mb, which should be ok for now.
2003-04-11 00:09:46 +00:00
codemastr f21a9758cf Fixed a bug with precedence in TKL 2003-04-07 21:46:47 +00:00
codemastr f006ffe3c9 Added usermode +p 'hide channels in whois' 2003-03-21 21:43:38 +00:00
Bram Matthys def6483548 - Added SVSWATCH: allows U-lined server to modify the watch list of a user.
- Added SVSSILENCE: allows U-lined server to modify the silence list of a user.
2003-02-27 23:23:24 +00:00
codemastr 2a90309216 Added badword quit {} to replace CENSOR_QUIT 2003-02-22 19:41:00 +00:00
Bram Matthys 08eb667db8 - Fixed some case insensitive checks in configfile parsing, fixed to be case sensitive.
- Module changes: added two hooks: HOOKTYPE_USERMSG and HOOKTYPE_CHANMSG, changed umode_get.
The HOOKTYPE_USERMSG has been tested with a +D (deaf for private msgs except for opers)
module, the channel thing not yet...
added global/local mode flag to umode_get, or use umode_lget (local) / umode_gget (global) :P.
Blah.
2003-02-18 18:29:07 +00:00
codemastr 0c5ef6def4 Removed some more +I code, and fixed a /who bug 2003-02-16 22:36:07 +00:00
Bram Matthys 1901911405 - Removed usermode +I (invisibility) 2003-02-12 21:44:09 +00:00
Bram Matthys bd8cbf6713 * don't send SHOWCONNECTINFO if the link is (known to be) a server.
* same for scan message
* don't say "you have not registered" on NOTICE in unregistered state.
* made a send_prot(aClient, ConfigItem_link) for sending PROTOCTL message,
  takes care of sending ZIP in token in case of a ziplink (indeed, I don't
  send "ZIP" if it's not marked as a ziplink).
* added automatic fallback tot uncompressed link in case one of the sides
  has zip turned off or not compiled in.
* added configcheck for link::options::zip turned on when not compiled
  in (just like we do with ssl).
2003-02-06 01:09:17 +00:00
Bram Matthys 138fcd19e7 Added (optional) class::recvq so you can dynamically/per class set the recvq (flood control).
CLIENT_FLOOD in config.h is still used as a default value if recvq is not specified.
2003-02-03 01:51:26 +00:00