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

119 Commits

Author SHA1 Message Date
Bram Matthys 51d30af3fd - Applied patch from k4be (#0003866) which introduces a new packet hook
(HOOKTYPE_PACKET). Replacing the 'text to be sent' to a client is
  supported, which allows character(set) conversion in a module.
  Note that modifying an incoming message by the hook is not supported.
2009-11-22 12:10:56 +00:00
Bram Matthys 1c4b21e129 - Updated sendnotice() so it sends a proper notice if the user is in pre-connect stage. 2006-04-29 14:51:37 +00:00
Bram Matthys 8607d950b7 - Made the IRCd calculate the cloaked host only once upon connect, and store (cache) it.
- When checking if a user is banned, we always check the cloakhost too. Previously we could
  not do this if the user had a /VHOST (=a minority of the cases, but still...). In short,
  this is some extra protection to combat ban evasion.
- Performance of is_banned() *slightly* improved (just 1-2 usec, but 7 usec if no bans).
- [Module coders] For extban routines, we now offer a routine extban_is_banned_helper(buf)
  which can be used instead of the ban_realhost/etc static chars stuff, see
  extban_modeq_is_banned for a (real-life) example of how this is used.
- [Services coders!] Added PROTOCTL CLK (requires NICKv2) which adds an extra field in the
  NICK command (when a user connects) right before the infofield (gecos).
  The added field contains the cloaked host, that is: the masked host if +x would have been
  set. This field is ALWAYS sent, regardless of whether the user is actually +x or not.
  Services can then store this field in memory, to know the host of the user if the user
  is set +x (+x-t). This is a (better) alternative to PROTOCTL VHP, with no race conditions,
  and avoids some other VHP problems.
  VHP will stay supported though... so it's not mandatory to switch over.
2006-04-16 23:27:56 +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 eddb406807 - Removed all old resolver code and switched over to c-ares (+our caching routines).
This should get rid of some annoying untracable (and usually rare) crashbugs in the
  old resolver. Besides that, it makes things look more clean and understandable.
  This should be the fix for the following bugids (all the same issue): #2499, #2551, #2558,
  #2559, #2603, #2642, #2502, #2501, #2618, #2616.
  Feedback and testing is very much welcomed (syzop@unrealircd.com).
2005-10-10 14:32:12 +00:00
Bram Matthys a76e4d4712 - Module coders: sendto_snomask* now only sends to opers, sendto_snomask_normal* can be used
to send to normal users w/the snomask set.
- Fixed dcc filtering a bit more.
- Made usermode 'g' operonly since it didn't do much, reported by DukePyrolator (#0002024).
2004-12-03 22:00:09 +00:00
Bram Matthys 4284c39307 - OperOverride INVITE notices are now also global (if you have the eyes snomask set) (#2212).
- Module coders: New function: sendto_snomask_global().
- Speedup sendto_snomask/sendto_connectnotice/sendto_fconnectnotice code.
2004-12-03 03:32:32 +00:00
Bram Matthys 4283702d2c - Fixed crashbug on /rehash due to config rewrite, also made DEBUGMODE working again.
Probably more fixes to come (small or not)...
2004-11-09 17:14:14 +00:00
codemastr fb0802a22b Corrected numerous -Wall warnings 2004-11-04 21:42:34 +00:00
Bram Matthys 681a0ce0c2 - Fixed OOB read/write on user quit (did no harm on Linux&FreeBSD).
- Fixed some tiny memory leaks (~100 bytes) on rehash.
- Updated chinese&japanese GBK nick code, fix supplied by Xuefer (#0002051).
- Added release notes (unfinished).
2004-10-10 23:37:25 +00:00
codemastr 75b639af81 Fixed a +u problem and updated to TRE 0.7.0 2004-09-25 19:10:35 +00:00
Bram Matthys 9b882e5c6d - Fixed a bug regarding chanmode +mu where the <IRC> messages were not properly relayed
to all servers. Reported by Aenox (#0002079).
2004-09-18 22:31:08 +00:00
codemastr e5f16b777a Made the win32 version use a dynamically linked libc 2004-05-30 00:59:05 +00:00
codemastr c1af4a4516 Added NICKIP 2004-05-27 22:05:58 +00:00
codemastr 99bd34fbb9 Added module support for Windows 2004-05-12 22:02:05 +00:00
Bram Matthys c78a8c6110 - Fixed something if sptr->user->virthost was NULL (which is/should never be the case),
just to be sure... (#0001724).
2004-04-11 15:20:19 +00:00
Bram Matthys 8273643f88 - More Opteron fixes... sizeof() fun, %B fun (always use a 'long'!), etc..
- Added __attribute__ stuff for ircsprintf() to catch more warnings.
2004-03-11 21:59:08 +00:00
Bram Matthys 3294afe918 - Hide server IP in /stats z
- First Opteron crash bugfix. Thanks to Liverbugg for helping us trace this issue.
2004-03-11 20:34:36 +00:00
Bram Matthys 648d73556c spamfilter improvements
- Fixed a few wrong macro's (ircstrdup/ircfree) in s_conf.c causing
  very weird behavior... This also fixes a bug where set::spamfilter::ban-reason
  would have the value of ban-time.
- Improved spamfilter again.
  - The new syntax is:
    /spamfilter [what] [type] [action] [tkltime] [reason] [regex]
    [tkltime] specifies the duration of any *lines placed by this rule.
    [reason] specifies the *line, kill and/or block reason.. no spaces
    allowed, but '_' will be escaped to a space.
    In both cases you can simply use '-' to skip and use the default.
    Ex: /spamfilter add p block - - Come watch me on my webcam
        /spamfilter add p gline 3h Please_go_to_www.viruscan.xx/
        nicepage/virus=blah Come watch me on my webcam
  - A message is now shown if the msg/notice/dcc is blocked.
  - There are 2 new spamfilter action types:
    'dccblock' will mark the user so (s)he's unable to send any files by DCC.
    'viruschan' will part the user from all channels and join
     set::spamfilter::virus-help-channel (default: #help).
     this action might be improved to do more later.
  - Internal: added EXTTKL PROTOCTL, this determinates if 10 parameters
    instead of 8 are supported for m_tkl (used by spamfilter add).
  This new system needs some testing... :)
2004-02-20 23:28:57 +00:00
codemastr 1d9301b73a Fixed a VHP problem causing SETHOST to be sent before NICK or not at all 2004-02-18 22:30:45 +00:00
Bram Matthys d7967cc004 - Modified 404 numeric a bit (#0001515).
- Fixed 'no server notice on /restart or /die', reported by Lx (#0001062). This was caused
  by a bug in flush_connections(&me), hopefully there won't be any side effects.
- Fixed file owner problems when IRC_UID/IRC_GID is used (eg: when running chrooted).
- Fixed crashbug if we were unable to write a remote include file to disk.
2004-02-04 23:11:02 +00:00
Bram Matthys d2c6bb5ad5 spamfilter etc... *pray* 2004-01-28 00:16:33 +00:00
Bram Matthys a68898df22 - Changed NOSPOOF msg in ./Config a bit since this can also be effective against
"blind proxies" (like HTTP POST proxies).
- WebTV updates: made it so (user generated) channel notices are now displayed as
  privmsgs in the channel. Also made the /knock channelnotice a privmsg for webtv.
2004-01-22 22:03:04 +00:00
Bram Matthys 7571387422 - A last-minute fix, lalala... 2003-11-24 15:32:02 +00:00
Bram Matthys 039a9753cd - A last-minute fix, omg... 2003-11-24 15:04:48 +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 2b9f88c6d2 - Optimized send code re-enabled, I disabled it 6h ago due a bug-triggering-a-bug (see next).
- Fixed a PING bug resulting in 'trying to send .. to myself' msg.
- Some spelling corrections in unreal32docs.html.
2003-10-14 19:43:07 +00:00
Bram Matthys e02aab8d41 temporarely rollback... have some crashbug somewhere. 2003-10-14 14:01:07 +00:00
Bram Matthys 3ef5ae6a80 - Yet another code audit:
- (Just for the record, this audit has nothing to do with the ircnet buffer overflow,
     unrealircd is not vulnerable)
  - Various fixes
  - Visual bug regarding +f & server synching, it was sometimes setting mode +f multiple
    times depending on the ban-/userlist.
  - Fixed a possible desynch regarding chmode +L.
  - Fixed possible client confusion regarding bans.
2003-10-13 17:56:49 +00:00
codemastr f3f2390615 Added umode +T (no ctcp) 2003-10-04 20:13:10 +00:00
codemastr 142f037fd2 Linux PPC fix 2003-09-14 16:43:02 +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
codemastr 5732a799bd Made unreal work under Linux PPC 2003-07-15 14:35:46 +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 4c23c4eeae Fixed some set::allow-userhost-change problems 2003-03-29 00:06:12 +00:00
Bram Matthys 0690d9bf2f - Fixed "proxyscan on quit" bug (#0000788) 2003-03-10 19:44:26 +00:00
Bram Matthys 2f10a46e1e - Fixed chmode +u again. 2003-02-19 16:02:29 +00:00
Bram Matthys 4a7cef66dd - Fixed bug with channel mode +u: Quits/nick changes of other users were shown. 2003-02-18 18:59:37 +00:00
codemastr 0c5ef6def4 Removed some more +I code, and fixed a /who bug 2003-02-16 22:36:07 +00:00
Bram Matthys 6ceb9cb6f7 Code cleanup (in many files heh)... I replaced all:
IsHidden(sptr) ? sptr->user->virthost : sptr->user->realhost
stuff to a simple GetHost(sptr) macro (defined in struct.h).
Smaller and less error phrone :). Also fixed the if IsHidden -> if (IsHidden
found by codemastr .
2003-02-04 19:40:38 +00:00
Bram Matthys ef150daae7 Two tiny text fixes: missing space and an CRLF in 'sending to me' thing,
and some probably impossible oob read but just in case added a length check,
blahhh (sending empty line).
2003-02-02 23:05:03 +00:00
Bram Matthys 84596e0fc5 Redesigned "Dead socket" error msg thing. Added a error_str to client struct,
which is set if dead_link is called. You will now see "Write error",
"Max SendQ exceeded" etc error messages in the quit reason instead of just
the "Dead socket" message. Changed "notice" parameter of dead_link, now just
the reason and not a format string, maybe rename that var.
2003-02-02 00:48:02 +00:00
Bram Matthys 482df3dce3 Added ZIP_LINKS: using flag FLAGS_ZIP (0x1000000, was FLAGS_UNOCCUP2),
instead of using a 2nd flag here for the special case of "the first zip msg"
like in hybrid/etc I use cptr->zip->first to flag that. Except for the many
#ifdef ZIP_LINKS blocks added I also had to do some stuff outside it, like
crc32->our_crc32 because zlib defines it, made a READBUF define (8192),
added a msg var to parsing/send functions.. blah.. etc ;P.
I've also put the patch online at www.vulnscan.org/tmp/zip_links.diff so you
can easily look what I've changed.
TODO: ask in ./Config if ziplinks should be enabled and let ./configure check
for zlib + add the library to IRCDLIBS in Makefile if enabled.
TODO: some little code cleanups
2003-01-28 02:50:19 +00:00
codemastr 1db740e154 Fixed an HCN bug with client exiting notices 2003-01-27 19:30:34 +00:00
Bram Matthys 117ec38808 Channel msging optimization by 10-30%. 2003-01-25 21:26:53 +00:00
mcskaf 3d945f5b1d Fixed sendto_ functions to use slot number as index into sentalong array. 2002-11-22 23:25:20 +00:00
stskeeps 31d2224b2c - Made +x send out a SETHOST to VHP servers, requested by PreZ@DarkerNet 2002-08-04 08:41:55 +00:00
codemastr 65729501ed More WinXP IPv6 fixes 2002-06-30 16:03:38 +00:00
griever de9b9854b9 Fixed some stuff 2002-04-23 01:12:45 +00:00