1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-14 10:34:46 +02:00

2979 Commits

Author SHA1 Message Date
Bram Matthys 45d04d8940 - Undid that. Version is now 3.3-willneverbereleased.
Added comment to changelog:
*****

THIS WAS THE DEVELOPMENT BRANCH FOR UNREAL3.3*. HOWEVER, 3.3* HAS BEEN
DISCONTINUED. FOCUS IS ON 4.* (NEXT-GEN IRCD) AND 3.2* (CURRENT STABLE
IRCD).
FOR 3.2* USE THE BRANCH 'unreal3_2_fixes'
DO NOT USE THIS 3.3* BRANCH FOR ANYTHING OTHER THAN COPYING FEATURES/FIXES
FROM 3.3* TO 3.2* !!

*****
2007-10-24 12:18:52 +00:00
stskeeps 2711cd2c86 - Changed version into 3.2.8 as this will be the target for devel branch 2007-07-18 11:25:14 +00:00
stskeeps a212fe9347 implementing multi service support 2007-07-15 14:21:29 +00:00
stskeeps ea303f149d - Small fix in s_conf.c and Velcro 2007-06-27 11:30:08 +00:00
aquanight ca86e3b898 Config -advanced for --with-moduleswhich 2007-06-22 15:17:22 +00:00
stskeeps 83384cef2a - Fixed typo in new module build switch 2007-06-22 14:30:47 +00:00
stskeeps 38c54cf5fb - Added Command *CommandAdd_Alias(Module *module, char *cmd, char *tok, int
(*func)(aClient*, aClient*, int, char**, char *sentcmd), unsigned char
  params, int flags), which will add a command that gets the command that
  the user sent along in sentcmd
2007-06-22 12:44:13 +00:00
stskeeps c5da05f68b - Added -b flag to install in make install, so src/ircd, INSTALL_CONFS,
src/modules/*.so and *.pem is backed up to name~ if already exists
2007-06-22 09:46:30 +00:00
stskeeps 5f7a7dc9b0 - Renamed spamfilter.conf to spamfilters.conf.sample, to have one less
problem with overwriting during install
2007-06-22 09:21:09 +00:00
stskeeps f84c1da01d #0003396 regarding not copying server.*pem 2007-06-22 08:25:42 +00:00
wolfsage dc69fdc2b7 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2446
diff -u -r1.1.1.1.2.1.2.1.2.2446 Changes
--- Changes	21 Jun 2007 19:37:46 -0000	1.1.1.1.2.1.2.1.2.2446
+++ Changes	22 Jun 2007 03:25:21 -0000
@@ -1809,3 +1809,5 @@
   a ./Config option. Default is commandsandmodules. Any takers?
 - Changed logging into not open/close constantly, #0002943. This may leaks
   fds and cause problems, so its a heads up
+- Some minor changes to unreal.in, to fix unreal stop, start, and
+  restart a bit.
2007-06-22 03:26:07 +00:00
stskeeps 81627d4e9e - Changed logging into not open/close constantly, #0002943. This may leaks
fds and cause problems, so its a heads up
2007-06-21 19:37:47 +00:00
stskeeps b4f2619a64 - Added configure --with-moduleswhich=PARA where PARA can be:
onlycommands = only build commands.so (plus chanmodes)
  onlymodules = only build m_* modules (plus chanmodes)
  commandsandmodules = build both. We still need to add this as a default or
  a ./Config option. Default is commandsandmodules. Any takers?
2007-06-21 19:02:46 +00:00
stskeeps 2944546c1d - #0003399 changing numeric 307 to has identified for this nickname 2007-06-21 18:13:06 +00:00
stskeeps 64b46a7123 - Fixed a MYOSNAME bug (ret is <0 if failure)
- Changed regexp engine to PCRE. Heads up: May severely break things. You
  need to ./Config -q; make clean all to get this working.
- Laid groundwork for seperated build (onlycommands, commandsandmodules,
  onlymodules)
2007-06-20 00:35:07 +00:00
aquanight cb7856a788 uname() vs uname #0001438 2007-06-17 22:38:55 +00:00
stskeeps 6f20433c8b - Made m_tkl use NULL instead of TOK_NONE 2007-06-17 12:56:23 +00:00
stskeeps 002b4478ee - #0003363 patched by adrianp, changing IRC_UID and IRC_GID into
defines IRC_USER, IRC_GROUP which is a string specifiying what user name/
  group name that should be changed into, instead of a hardcoded gid/uid.
  This should make it easier for packaged binary releases to work (even
  though this probably means Debian will take us in, ick .. Can't we pull
  a new fight with debian-legal again?)
2007-06-17 12:35:17 +00:00
stskeeps 920291f4ba *** empty log message *** 2007-06-15 19:40:12 +00:00
stskeeps 05074adef2 - #0001740 reported by Trocotronic, making the IRCd send ERROR : to all
links with possible reason for RESTART; like /die does it.
2007-06-12 21:36:20 +00:00
stskeeps 2eda2e95ca - #0002475 reported by aquanight on detecting \'s in module filenames on
win32 and not do ./module for it
2007-06-12 21:30:08 +00:00
stskeeps 925cf08021 - #0003177 patched by aegis, changing non-modular add_Command to
CommandAdd's through a huge patch. This may break some things, so heads
  up. From now on add_Command is unsafe land for modules and may be removed
  without warning.
2007-06-12 20:53:11 +00:00
stskeeps 112a576c9c - #0002172 reported by Stealth, patched by WolfSage, fixing if you have an
admin block, and forget a semicolon on a line, Unreal will proceed to use
  the block with no error, but the information will be incorrect/incomplete.
2007-06-11 22:26:07 +00:00
stskeeps 7d14f833e6 - Broke compile with portnum fix, fixed
- #0003027 reported by Trocotronic, regarding doing -l <para> on SJOIN,
  and not -l as supposed. This may have caused desyncs
2007-06-11 21:51:20 +00:00
stskeeps 36ba7623cf - Removed anything involving portnum global variable. Not proper in
newconf world
- #0002920 reported by aquanight, regarding command line mkpasswd,
  patched by BuHHunyx. Syntax: wircd.exe -P|-p authmethod password.
  If it is -p, it will get shown in a MessageBox, -P it will get copied
to clipboard
2007-06-11 18:36:05 +00:00
wolfsage 83a7cdd734 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2431
diff -u -r1.1.1.1.2.1.2.1.2.2431 Changes
--- Changes	10 Jun 2007 08:33:04 -0000	1.1.1.1.2.1.2.1.2.2431
+++ Changes	10 Jun 2007 18:25:29 -0000
@@ -1758,3 +1758,5 @@
 - #0002451 reported by GSF19 regarding *** Q: %s tried to kick you, when
   it should be *** q: %s. (Actually that's ugly too but at least it
   matches the umode for now)
+- #0002695 reported by w00t regarding unused check_registered and
+  check_registered_user calls in s_misc.c
2007-06-10 18:25:35 +00:00
wolfsage 9b866fa123 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2430
diff -u -r1.1.1.1.2.1.2.1.2.2430 Changes
--- Changes	10 Jun 2007 07:58:43 -0000	1.1.1.1.2.1.2.1.2.2430
+++ Changes	10 Jun 2007 08:33:01 -0000
@@ -1755,3 +1755,6 @@
 - #0001518 reported by Cnils regarding new WHO functionality: -c with
   no args now shows all users not in a channel if you are an IRCOp,
   and +c shows all users in at least 1 channel.
+- #0002451 reported by GSF19 regarding *** Q: %s tried to kick you, when
+  it should be *** q: %s. (Actually that's ugly too but at least it
+  matches the umode for now)
2007-06-10 08:33:05 +00:00
wolfsage b7a5fdb989 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2429
diff -u -r1.1.1.1.2.1.2.1.2.2429 Changes
--- Changes	10 Jun 2007 04:26:07 -0000	1.1.1.1.2.1.2.1.2.2429
+++ Changes	10 Jun 2007 07:58:39 -0000
@@ -1752,5 +1752,6 @@
 - #0001317 reported by thilo regarding removal of (username) being
   appended to topics set by U:Lined servers.
 - Added missing semicolons to some help.conf entries
-- #0001518 reported by Cnils regarding new WHO functionality: +c with
-  no args now shows all users not in a channel if you are an IRCOp
+- #0001518 reported by Cnils regarding new WHO functionality: -c with
+  no args now shows all users not in a channel if you are an IRCOp,
+  and +c shows all users in at least 1 channel.
2007-06-10 07:58:43 +00:00
wolfsage 7b2b77df4e Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2428
diff -u -r1.1.1.1.2.1.2.1.2.2428 Changes
--- Changes	10 Jun 2007 03:02:24 -0000	1.1.1.1.2.1.2.1.2.2428
+++ Changes	10 Jun 2007 04:26:04 -0000
@@ -1752,3 +1752,5 @@
 - #0001317 reported by thilo regarding removal of (username) being
   appended to topics set by U:Lined servers.
 - Added missing semicolons to some help.conf entries
+- #0001518 reported by Cnils regarding new WHO functionality: +c with
+  no args now shows all users not in a channel if you are an IRCOp
2007-06-10 04:26:08 +00:00
wolfsage 4238193d07 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2427
diff -u -r1.1.1.1.2.1.2.1.2.2427 Changes
--- Changes	10 Jun 2007 00:38:02 -0000	1.1.1.1.2.1.2.1.2.2427
+++ Changes	10 Jun 2007 03:02:19 -0000
@@ -1751,3 +1751,4 @@
 - Updated c-ares to latest release (1.4.0)
 - #0001317 reported by thilo regarding removal of (username) being
   appended to topics set by U:Lined servers.
+- Added missing semicolons to some help.conf entries
2007-06-10 03:02:24 +00:00
wolfsage 7e96a1c9ee Forgot to reference bug reporter 2007-06-10 00:38:02 +00:00
wolfsage 4458de5c5b Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2425
diff -u -r1.1.1.1.2.1.2.1.2.2425 Changes
--- Changes	9 Jun 2007 23:05:14 -0000	1.1.1.1.2.1.2.1.2.2425
+++ Changes	10 Jun 2007 00:32:44 -0000
@@ -1749,3 +1749,5 @@
 - #0003340 bug regarding compile warnings for lib/tre-parse.c. Upgraded
   tre to latest release (0.7.5)
 - Updated c-ares to latest release (1.4.0)
+- #0001317 reported by thilo regarding removal of (username) being
+  appended to topics set by U:Lined servers.
2007-06-10 00:33:19 +00:00
wolfsage d03f91e9b4 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2424
diff -u -r1.1.1.1.2.1.2.1.2.2424 Changes
--- Changes	9 Jun 2007 20:32:54 -0000	1.1.1.1.2.1.2.1.2.2424
+++ Changes	9 Jun 2007 23:04:41 -0000
@@ -1748,3 +1748,4 @@
 - #0003107 feature request by Sakkath regarding new WHO flag: +p <port>
 - #0003340 bug regarding compile warnings for lib/tre-parse.c. Upgraded
   tre to latest release (0.7.5)
+- Updated c-ares to latest release (1.4.0)
2007-06-09 23:05:15 +00:00
wolfsage fc2fad2c92 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2423
diff -u -r1.1.1.1.2.1.2.1.2.2423 Changes
--- Changes	9 Jun 2007 19:15:18 -0000	1.1.1.1.2.1.2.1.2.2423
+++ Changes	9 Jun 2007 20:32:30 -0000
@@ -1746,3 +1746,5 @@
 - #0003382 reported by stealth regarding nested C-style comments messing
 - up example.conf parsing
 - #0003107 feature request by Sakkath regarding new WHO flag: +p <port>
+- #0003340 bug regarding compile warnings for lib/tre-parse.c. Upgraded
+  tre to latest release (0.7.5)
2007-06-09 20:32:55 +00:00
wolfsage fcbb0fcd69 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2422
diff -u -r1.1.1.1.2.1.2.1.2.2422 Changes
--- Changes	9 Jun 2007 18:00:05 -0000	1.1.1.1.2.1.2.1.2.2422
+++ Changes	9 Jun 2007 19:15:14 -0000
@@ -1745,3 +1745,4 @@
   directive which loads velcro modules
 - #0003382 reported by stealth regarding nested C-style comments messing
 - up example.conf parsing
+- #0003107 feature request by Sakkath regarding new WHO flag: +p <port>
2007-06-09 19:15:18 +00:00
wolfsage f4850d25c0 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2421
diff -u -r1.1.1.1.2.1.2.1.2.2421 Changes
--- Changes	6 Jun 2007 17:50:32 -0000	1.1.1.1.2.1.2.1.2.2421
+++ Changes	9 Jun 2007 18:00:01 -0000
@@ -1743,4 +1743,5 @@
 - Some more Velcro changes to make it fit into 3.3
 - Some more actual working Velcro code, adding "loadmodule4" config
   directive which loads velcro modules
-
+- #0003382 reported by stealth regarding nested C-style comments messing
+- up example.conf parsing
2007-06-09 18:00:05 +00:00
stskeeps a0870fb76d - Some more actual working Velcro code, adding loadmodule4 config
directive which loads velcro modules
2007-06-06 17:50:33 +00:00
stskeeps 77317ec9f7 - Added HookAddCfg as a more typesafe way to add
HOOKTYPE_CONFIGRUN/CONFIGTEST. Was needed for Velcro and possibly other
  situations
- Some more Velcro changes to make it fit into 3.3
2007-06-06 15:36:40 +00:00
wolfsage 943d5ad6d5 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2418
diff -u -r1.1.1.1.2.1.2.1.2.2418 Changes
--- Changes	5 Jun 2007 19:46:32 -0000	1.1.1.1.2.1.2.1.2.2418
+++ Changes	5 Jun 2007 20:00:33 -0000
@@ -1735,3 +1735,5 @@
 - Changed Velcro/build to actually be able to compile to get included into
   u3 space
 - Patched #002531 by Stealth, removing /stats H
+- Fixed a bug introduced by another patch that caused log files to be
+  created without any permissions
2007-06-05 20:00:42 +00:00
stskeeps ca2b4ddecc - Changed Velcro/build to actually be able to compile to get included into
u3 space
- Patched #002531 by Stealth, removing /stats H
2007-06-05 19:46:32 +00:00
stskeeps 94d36995e5 - Changed Velcro/build script to fix a bug 2007-06-05 19:07:26 +00:00
stskeeps 5849092137 - Adding Velcro (the build system from unreal4), for some experimentation
with a new module API. Is currently not autoconf'ied, makefile'ed, etc.
  May the screaming commence.
2007-06-04 21:05:36 +00:00
stskeeps f119a2cea0 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2414
diff -u -r1.1.1.1.2.1.2.1.2.2414 Changes
--- Changes	30 May 2007 21:10:04 -0000	1.1.1.1.2.1.2.1.2.2414
+++ Changes	4 Jun 2007 17:21:12 -0000
@@ -1726,3 +1726,5 @@
   "UnrealIRCd is not running" as opposed to "kill: 3426: no such process" etc.
 - #0003368 patched by Stealth giving users access to do /module on remote
   servers
+- #0002677 reported by aquanight, removing listen::options::remoteadmin,
+  listen::options::mask, set::options::no-stealth
2007-06-04 17:21:21 +00:00
stskeeps 6357fb1f07 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2413
diff -u -r1.1.1.1.2.1.2.1.2.2413 Changes
--- Changes	27 May 2007 20:50:19 -0000	1.1.1.1.2.1.2.1.2.2413
+++ Changes	30 May 2007 21:09:43 -0000
@@ -1724,3 +1724,5 @@
 - #0002833 reported and patched by tabrisnet, implementing UHNAMES
 - #0003156 reported by Bricker: Made ./unreal dump some nicer errors eg
   "UnrealIRCd is not running" as opposed to "kill: 3426: no such process" etc.
+- #0003368 patched by Stealth giving users access to do /module on remote
+  servers
2007-05-30 21:10:04 +00:00
aquanight f880c03323 Nicer error messages for ./unreal 2007-05-27 20:50:19 +00:00
aquanight 52743f1871 Nicer error messages for ./unreal 2007-05-27 20:48:39 +00:00
stskeeps 56ce16788f Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2410
diff -u -r1.1.1.1.2.1.2.1.2.2410 Changes
--- Changes	20 May 2007 02:59:15 -0000	1.1.1.1.2.1.2.1.2.2410
+++ Changes	20 May 2007 21:18:59 -0000
@@ -1721,3 +1721,4 @@
   random keys 10 ~ 20 characters in length (doesn't (yet) work for Win32).
 - Misc fix for disabling extban chains, should've done stuff in our autoconf
   stuff instead of hacking configure directly :P .
+- #0002833 reported and patched by tabrisnet, implementing UHNAMES
2007-05-20 21:19:05 +00:00
aquanight 542fa2bcfc Added ./unreal gencloak 2007-05-20 02:59:16 +00:00
wolfsage ee77248055 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2408
diff -u -r1.1.1.1.2.1.2.1.2.2408 Changes
--- Changes	18 May 2007 08:02:32 -0000	1.1.1.1.2.1.2.1.2.2408
+++ Changes	20 May 2007 02:29:40 -0000
@@ -1715,4 +1715,5 @@
   originally by the inspircd team.
 - Fixed a number of compile errors/runtime errors on win32 (also a SSL
   brainfart regarding DH), #0003345, patched by fez
-
+- #0003350 - reported by aquanight regarding ./unreal restart not
+  working in 3.3*. Now works properly again.
2007-05-20 02:29:54 +00:00
stskeeps 50d7a4ecea Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2407
diff -u -r1.1.1.1.2.1.2.1.2.2407 Changes
--- Changes	17 May 2007 13:22:12 -0000	1.1.1.1.2.1.2.1.2.2407
+++ Changes	18 May 2007 08:02:21 -0000
@@ -1713,3 +1713,6 @@
 - Added set::ssl::dh to indicate DH parameters. These are needed to support
   DSA certificates and should probably make them work from now on. Code
   originally by the inspircd team.
+- Fixed a number of compile errors/runtime errors on win32 (also a SSL
+  brainfart regarding DH), #0003345, patched by fez
+
2007-05-18 08:02:33 +00:00
stskeeps c643895de7 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2406
diff -u -r1.1.1.1.2.1.2.1.2.2406 Changes
--- Changes	17 May 2007 11:38:07 -0000	1.1.1.1.2.1.2.1.2.2406
+++ Changes	17 May 2007 13:22:05 -0000
@@ -1710,3 +1710,6 @@
 - Added set::ssl::server-cipher-list, #002368 requested by Beastie
 - Added set::ssl::renegotiate-bytes, set::ssl:renegotiate-timeout, #0002971
   suggested by tabrisnet. Gets activated when >0. Please set sane values.
+- Added set::ssl::dh to indicate DH parameters. These are needed to support
+  DSA certificates and should probably make them work from now on. Code
+  originally by the inspircd team.
2007-05-17 13:22:13 +00:00
stskeeps 4b13535e28 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2405
diff -u -r1.1.1.1.2.1.2.1.2.2405 Changes
--- Changes	17 May 2007 10:52:42 -0000	1.1.1.1.2.1.2.1.2.2405
+++ Changes	17 May 2007 11:37:57 -0000
@@ -1708,3 +1708,5 @@
 - IRCd now also sets the &me fd as being non blocking (wasn't before, that
   was odd..)
 - Added set::ssl::server-cipher-list, #002368 requested by Beastie
+- Added set::ssl::renegotiate-bytes, set::ssl:renegotiate-timeout, #0002971
+  suggested by tabrisnet. Gets activated when >0. Please set sane values.
2007-05-17 11:38:08 +00:00
stskeeps bcd5d4a339 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2404
diff -u -r1.1.1.1.2.1.2.1.2.2404 Changes
--- Changes	17 May 2007 09:56:42 -0000	1.1.1.1.2.1.2.1.2.2404
+++ Changes	17 May 2007 10:52:33 -0000
@@ -1707,3 +1707,4 @@
   through this under load, and speeding up connection).
 - IRCd now also sets the &me fd as being non blocking (wasn't before, that
   was odd..)
+- Added set::ssl::server-cipher-list, #002368 requested by Beastie
2007-05-17 10:52:42 +00:00
stskeeps 832c612317 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2403
diff -u -r1.1.1.1.2.1.2.1.2.2403 Changes
--- Changes	15 May 2007 00:38:07 -0000	1.1.1.1.2.1.2.1.2.2403
+++ Changes	17 May 2007 09:56:36 -0000
@@ -1702,3 +1702,8 @@
   concept, so please tell me if some OS'es break bigtime.
 - #003075 - reported by aquanight regarding log block failing silently
   for non-creatable log files. Now fails with an error message.
+- Now using #0003028, with more intelligent accept() handling. The IRCd
+  will now attempt to accept() up to LISTEN_SIZE (possibly saving CPU
+  through this under load, and speeding up connection).
+- IRCd now also sets the &me fd as being non blocking (wasn't before, that
+  was odd..)
2007-05-17 09:56:42 +00:00
wolfsage c9d21d8ab0 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2402
diff -u -r1.1.1.1.2.1.2.1.2.2402 Changes
--- Changes	14 May 2007 20:47:03 -0000	1.1.1.1.2.1.2.1.2.2402
+++ Changes	15 May 2007 00:37:58 -0000
@@ -1700,3 +1700,5 @@
 - Added m_template.cpp and 'make custommodulecpp MODULEFILE=m_template'
   ability - meaning, C++ modules for Unreal. This is mostly a proof of
   concept, so please tell me if some OS'es break bigtime.
+- #003075 - reported by aquanight regarding log block failing silently
+  for non-creatable log files. Now fails with an error message.
2007-05-15 00:38:07 +00:00
stskeeps 0e87ac8aaf Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2401
diff -u -r1.1.1.1.2.1.2.1.2.2401 Changes
--- Changes	14 May 2007 19:26:07 -0000	1.1.1.1.2.1.2.1.2.2401
+++ Changes	14 May 2007 20:46:34 -0000
@@ -1695,3 +1695,8 @@
 - More cleanup - this may potentially break some OS'es, but let us catch
   this in testing
 - Fixed CommandAdd prototype a bit
+- Made autoconf detect c++ compiler, now availiable in CXX
+- Made the actual ircd be compiled by c++ compiler (linking, not source)
+- Added m_template.cpp and 'make custommodulecpp MODULEFILE=m_template'
+  ability - meaning, C++ modules for Unreal. This is mostly a proof of
+  concept, so please tell me if some OS'es break bigtime.
2007-05-14 20:47:05 +00:00
stskeeps 548cf88bce - Fixed CommandAdd prototype a bit 2007-05-14 19:26:07 +00:00
stskeeps e597f79e31 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2399
diff -u -r1.1.1.1.2.1.2.1.2.2399 Changes
--- Changes	14 May 2007 14:14:08 -0000	1.1.1.1.2.1.2.1.2.2399
+++ Changes	14 May 2007 14:22:31 -0000
@@ -1692,3 +1692,5 @@
 - Changed IRCCommand::friend into IRCCommand::partner
 - Removed an odd declaration in common.h regarding find_user_link
 - Changed make_virthost prototype to not include a C++ keyword
+- More cleanup - this may potentially break some OS'es, but let us catch
+  this in testing
2007-05-14 14:22:51 +00:00
stskeeps 9ac0513c56 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2398
diff -u -r1.1.1.1.2.1.2.1.2.2398 Changes
--- Changes	14 May 2007 13:41:57 -0000	1.1.1.1.2.1.2.1.2.2398
+++ Changes	14 May 2007 14:13:50 -0000
@@ -1690,3 +1690,5 @@
   This change should not break extban modules, and should need some more extensive testing.
 - Removed some more confusion in source (module IRC commands vs IRC commands)
 - Changed IRCCommand::friend into IRCCommand::partner
+- Removed an odd declaration in common.h regarding find_user_link
+- Changed make_virthost prototype to not include a C++ keyword
2007-05-14 14:14:09 +00:00
stskeeps 69095eb401 - Changed IRCCommand::friend into IRCCommand::partner 2007-05-14 13:41:57 +00:00
aquanight 2c7a3f2e66 Chained extbans support. 2007-05-13 23:09:24 +00:00
stskeeps ee3c5683db - Changed all references to 'class' to 'cclass' (connection class) - to
avoid some keyword confusion and other wacky ideas
2007-05-13 22:38:25 +00:00
wolfsage daf4161e12 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2394
diff -u -r1.1.1.1.2.1.2.1.2.2394 Changes
--- Changes	13 May 2007 16:48:38 -0000	1.1.1.1.2.1.2.1.2.2394
+++ Changes	13 May 2007 17:56:05 -0000
@@ -1666,3 +1666,4 @@
 - A bug was introduced in the patch for #0003139. Patched by WolfSage
 - #0002533 reported by Dodge_Ram, patched by WolfSage, regarding notices
   not being sent when /*line and /shun are used to request stats
+- Removed class.h and minor references to aClass. Patched by WolfSage
2007-05-13 17:56:31 +00:00
wolfsage 1a7c68a72b Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2393
diff -u -r1.1.1.1.2.1.2.1.2.2393 Changes
--- Changes	13 May 2007 16:02:53 -0000	1.1.1.1.2.1.2.1.2.2393
+++ Changes	13 May 2007 16:48:33 -0000
@@ -1664,4 +1664,5 @@
 - #0003333 reported by fbi, regarding a unreferenced and duplicate
   m_botmotd in core and modules
 - A bug was introduced in the patch for #0003139. Patched by WolfSage
-
+- #0002533 reported by Dodge_Ram, patched by WolfSage, regarding notices
+  not being sent when /*line and /shun are used to request stats
2007-05-13 16:48:38 +00:00
wolfsage 2c7a00d11f Let's see if it works this time 2007-05-13 16:27:52 +00:00
wolfsage ea630663f9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2392
diff -u -r1.1.1.1.2.1.2.1.2.2392 Changes
--- Changes	13 May 2007 13:42:27 -0000	1.1.1.1.2.1.2.1.2.2392
+++ Changes	13 May 2007 16:02:50 -0000
@@ -1662,4 +1662,6 @@
 - #0003327 reported by fbi, regarding a unreferenced and duplicate
   m_opermotd/m_motd in core
 - #0003333 reported by fbi, regarding a unreferenced and duplicate
-  m_botmotd in core and modules
\ No newline at end of file
+  m_botmotd in core and modules
+- A bug was introduced in the patch for #0003139. Patched by WolfSage
+
2007-05-13 16:02:53 +00:00
stskeeps 7e87518dda Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2391
diff -u -r1.1.1.1.2.1.2.1.2.2391 Changes
--- Changes	10 May 2007 23:14:51 -0000	1.1.1.1.2.1.2.1.2.2391
+++ Changes	13 May 2007 13:41:57 -0000
@@ -1661,3 +1661,5 @@
   about SQUIT in help.conf
 - #0003327 reported by fbi, regarding a unreferenced and duplicate
   m_opermotd/m_motd in core
+- #0003333 reported by fbi, regarding a unreferenced and duplicate
+  m_botmotd in core and modules
\ No newline at end of file
2007-05-13 13:42:27 +00:00
stskeeps b7492458bf - #0003327 reported by fbi, regarding a unreferenced and duplicate
m_opermotd/m_motd in core
2007-05-10 23:14:51 +00:00
stskeeps ae2abd4f50 - #0002549 reported by Ostdeutschland, regarding lacking information
about SQUIT in help.conf
2007-05-04 15:38:11 +00:00
stskeeps ea36514f06 - #0003139 reported by vonitsanet, improving error messages on /connect
when trying to /connect to a server with wildcards (* and ?) in the link
  block. We also raise an error if link::options::autoconnect is used
  together with wildcards in hostname.
2007-05-04 14:59:39 +00:00
stskeeps a59bd57d5b - #0002318 reported by Stealth, regarding small error in oper block
documentation
2007-05-04 14:38:45 +00:00
stskeeps 59e80b2535 - #0002040 reported by aquanight, removing dependancy on +l for +L. This 2007-05-04 14:33:33 +00:00
stskeeps f8d18df440 - #0003313 reported by Stealth, regarding not erroring/warning when me::name
is bigger than HOSTLEN, from now it will error on config read.
2007-05-04 14:21:58 +00:00
stskeeps 97adf80062 +- #0003092 reported by tabrisnet, patched by WolfSage, regarding documentation says
+  link::bind-ip is optional, but not specifying it produces an error
2007-05-03 14:33:22 +00:00
stskeeps e73cb3e8f4 - #0003060 reported by Robby22, patched by WolfSage, regarding remote
rehashing -ssl / -garbage is not Global'd, and a bugfix to an earlier
  WolfSage patch
2007-05-01 08:27:56 +00:00
Bram Matthys 26eca67b82 - Disallowing channels with : in them, it's not worth to risk breakage of 32* to 33*,
services, and other things like odd-extbans and things we haven't thought about,
  all for allowing one silly character.
2007-04-29 22:41:00 +00:00
aquanight 0cd066d62d Fix SVSKILL sending illegal QUIT 2007-04-29 22:19:23 +00:00
stskeeps 5545cc49b9 ? Makefile
? Unreal.patch
? bindir.patch
? cert-swhois.patch.txt
? config.log
? config.settings
? config.status
? config_sslzipdirfix.patch
? dgets.patch
? diff-msg-wildcardfix
? diff-remove-addline
? diff-remove-unused-crap
? ircd.log
? ircd.pid
? ircd.tune
? locop.patch
? locops_see_ulines_in_map.patch
? login_page.php?return=%2Ffile_download.php?file_id=408
? myoper.patch
? pingseconds.patch
? quitreaderrormsg.patch
? readerrorquitmsg.patch
? s_conf.patch
? s_serv.patch
? server.cert.pem
? server.key.pem
? server.req.pem
? ssl.rnd
? tmp
? unreal
? unreal318fix.patch
? unrealircd.conf
? userip.patch
? extras/c-ares
? extras/c-ares-1.3.2
? extras/c-ares.tar
? extras/regexp
? extras/tre-0.7.2
? extras/tre.tar
? include/setup.h
? ircdcron/ircdchk
? src/ircd
? src/version.c
? src/modules/Makefile
? src/modules/m_cycle.cpp
? src/modules/test.cpp
? src/modules/chanmodes/Makefile
Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2380
diff -u -r1.1.1.1.2.1.2.1.2.2380 Changes
--- Changes	26 Apr 2007 12:55:16 -0000	1.1.1.1.2.1.2.1.2.2380
+++ Changes	26 Apr 2007 15:18:34 -0000
@@ -1632,3 +1632,6 @@
   Devel.WolfSage.org[192.168.2.97] closed the connection. This would
   probably have caused netsplits to go unnoticed.
 - #0002095 removing /helpop broadcasting
+- #0003298 reported by Stealth patched by WolfSage, regarding KICK now sends
+  proper channel name to other servers, Local KICK now displays proper
+  channel name from other servers
Index: src/modules/m_kick.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/modules/Attic/m_kick.c,v
retrieving revision 1.1.2.6
diff -u -r1.1.2.6 m_kick.c
--- src/modules/m_kick.c	25 Apr 2007 17:37:05 -0000	1.1.2.6
+++ src/modules/m_kick.c	26 Apr 2007 15:18:35 -0000
@@ -149,10 +149,10 @@
 					goto attack;

 				/* Note for coders regarding oper override:
-				 * always let a remote kick (=from a user on another server) trough or
+				 * always let a remote kick (=from a user on another server) through or
 				 * else we will get desynched. In short this means all the denying should
 				 * always contain a && MyClient(sptr) [or sptr!=cptr] and at the end
-				 * a remote kick should always be allowed (pass trough). -- Syzop
+				 * a remote kick should always be allowed (pass through). -- Syzop
 				 */

 				/* applies to everyone (well except remote/ulines :p) */
@@ -336,12 +336,12 @@
 						/* NORMAL */
 						sendto_channel_butserv(chptr,
 						    sptr, ":%s KICK %s %s :%s",
-						    parv[0], name, who->name, comment);
+						    parv[0], chptr->chname, who->name, comment);
 					}
 				}
 				sendto_serv_butone_token(cptr, parv[0],
 				    MSG_KICK, TOK_KICK, "%s %s :%s",
-				    name, who->name, comment);
+				    chptr->chname, who->name, comment);
 				if (lp)
 				{
 					remove_user_from_channel(who, chptr);
2007-04-26 15:18:40 +00:00
stskeeps 017c87cd4d - #0002095 removing /helpop broadcasting 2007-04-26 12:55:18 +00:00
stskeeps 22c17e5009 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2378
diff -u -r1.1.1.1.2.1.2.1.2.2378 Changes
--- Changes	25 Apr 2007 17:37:04 -0000	1.1.1.1.2.1.2.1.2.2378
+++ Changes	26 Apr 2007 05:32:14 -0000
@@ -1627,3 +1627,8 @@
   variable to determine what should be copied.
 - #0003281 regarding removing masked channels, this will make channels with
   :'s in them not be backwards compatible with 3.2.*, patch by WolfSage
+- #0003301 regarding sending @1 ]:Server %s closed the connection
+  Devel.WolfSage.org[192.168.2.97] instead of @1 ] :Server
+  Devel.WolfSage.org[192.168.2.97] closed the connection. This would
+  probably have caused netsplits to go unnoticed.
+
2007-04-26 05:32:22 +00:00
stskeeps 054a30e061 - #0003281 regarding removing masked channels, this will make channels with
:'s in them not be backwards compatible with 3.2.*, patch by WolfSage
2007-04-25 17:37:05 +00:00
stskeeps 68ed7aee77 - #0003294 reported by Bock, patched by aegis regarding a problem with make
install, that also cleans up the stuff to install a bit, with adding a
  variable to determine what should be copied.
2007-04-25 17:01:44 +00:00
stskeeps c3d01a03de - #0003288 patched by fbi, read error prefix in quit msg if socket error on
read and write for write
2007-04-24 19:43:48 +00:00
stskeeps 07c8d7604f - #0003000 reported and patched by Stealth, regarding Send TKL updates to G snomask 2007-04-24 11:51:55 +00:00
stskeeps 3ca6c4d3bc - Patch by WolfSage to make /rehash -all case insensitive. 2007-04-24 11:47:55 +00:00
stskeeps cf6965e9e2 - #0003223 reported by JasonTik patched by WolfSage, regarding undocumented
max link pass length. This now -WARNS- when there is a password bigger
  than PASSWDLEN.
2007-04-24 11:36:33 +00:00
stskeeps 7e6ca53e67 - #0002301 reported by vonitsanet patched by WolfSage, regarding adding oper
username to /whois, visible if you are an oper
2007-04-24 11:29:08 +00:00
stskeeps 8481b9da1d - Implemented #0002990, changing 432 into: %s 432 %s %s :%s, 2007-04-24 11:21:15 +00:00
stskeeps b6879d2b63 - #0003272 patched by w00t, regarding remove restrictions on NOTICE/PRIVMSG for opers. 2007-04-24 11:04:07 +00:00
stskeeps 4db5289ea6 - #0003232 reported by vonitsanet patched by djGrr, regarding /map is not shown u:lined servers to local opers and /links does. 2007-04-24 10:59:02 +00:00
stskeeps 1e0c422213 - #0002685 reported by w00t, patched by WolfSage, regarding useless if () in m_help.c 2007-04-24 10:53:20 +00:00
stskeeps c9ea9a7251 - #0002846 reported by alex323, patched by WolfSage, regarding local ircop cannot issue CLOSE command 2007-04-24 10:46:16 +00:00
stskeeps ad9c35029e - #0003287 reported and patched by satmd regarding 318 end of /whois list
breaks RFC
- Fixed a typo in #003091 related patch
2007-04-24 10:41:36 +00:00
stskeeps f21c338460 - #0003216 patched by djGrrr, regarding when you run ./Config for a second
time after settings are saved in config.settings, the SSLDIR and ZIPLINKSDIR
  defaults are basically completely ignored.
2007-04-24 10:20:47 +00:00
stskeeps d776eb39e2 - #0003091,#0003068,#003290 reported by Bock, aegis, WolfSage and patched by aegis, regarding
Makefile.in includes networks* files/dirs, Problems when specifying
  different directory for binary in Config, error on 'make install' if path
  to binary not exist
2007-04-24 10:16:48 +00:00
stskeeps 49e4360cde - #0003212 patched by Grunt, regarding /userip <someone_else> seemingly
shows my (cloaked) IP
2007-04-24 10:09:57 +00:00
stskeeps e136f05517 - #0003285 patched by w00t, removing add_local_domain and other useless
stuff
2007-04-24 09:43:02 +00:00
stskeeps 8650bb40f9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2360
diff -u -r1.1.1.1.2.1.2.1.2.2360 Changes
--- Changes	24 Apr 2007 08:54:04 -0000	1.1.1.1.2.1.2.1.2.2360
+++ Changes	24 Apr 2007 09:03:21 -0000
@@ -1591,3 +1591,6 @@
 - #0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
   fixed by djGrrr
 - #0003289 suggested and patched by fbi, adding (Ping timeout: 182 seconds)
+- #0002932 reported by therock247uk, patched by WolfSage, regarding Local
+  opers can /chghost /chgident /chgname on someone thats on another server on
+  the network
2007-04-24 09:03:26 +00:00
stskeeps e979619d0c Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2359
diff -u -r1.1.1.1.2.1.2.1.2.2359 Changes
--- Changes	18 Apr 2007 13:40:02 -0000	1.1.1.1.2.1.2.1.2.2359
+++ Changes	24 Apr 2007 08:53:59 -0000
@@ -1590,3 +1590,4 @@
   allows cloakkey 1 and 3 to be identical.
 - #0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
   fixed by djGrrr
+- #0003289 suggested and patched by fbi, adding (Ping timeout: 182 seconds)
2007-04-24 08:54:05 +00:00
stskeeps 353e366445 ? Makefile
? config.log
? config.settings
? config.status
? dgets.patch
? diff-remove-addline
? ircd.log
? ircd.pid
? ircd.tune
? login_page.php?return=%2Ffile_download.php?file_id=408
? server.cert.pem
? server.key.pem
? server.req.pem
? ssl.rnd
? tmp
? unreal
? unrealircd.conf
? extras/c-ares
? extras/c-ares-1.3.2
? extras/c-ares.tar
? extras/regexp
? extras/tre-0.7.2
? extras/tre.tar
? include/setup.h
? ircdcron/ircdchk
? src/ircd
? src/version.c
? src/modules/Makefile
? src/modules/m_cycle.cpp
? src/modules/test.cpp
? src/modules/chanmodes/Makefile
Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2358
diff -u -r1.1.1.1.2.1.2.1.2.2358 Changes
--- Changes	18 Apr 2007 13:21:03 -0000	1.1.1.1.2.1.2.1.2.2358
+++ Changes	18 Apr 2007 13:38:36 -0000
@@ -1586,5 +1586,7 @@
 - #0002420 reported by KnuX fixed by WolfSage
 - #0003147 reported by vonitsanet, fixed by djGrrr regarding making
   spamfilters work in case of /setname
-- #0002157 repoted by Dukat, fixed by djGrrr regarding cloaking module
+- #0002157 reported by Dukat, fixed by djGrrr regarding cloaking module
   allows cloakkey 1 and 3 to be identical.
+- #0003146 reported by vonitsanet, regarding Modes O,S (etc) not rejected for modes-on-connect
+  fixed by djGrrr
Index: src/s_conf.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/s_conf.c,v
retrieving revision 1.1.1.1.6.1.2.374
diff -u -r1.1.1.1.6.1.2.374 s_conf.c
--- src/s_conf.c	16 Apr 2007 17:05:47 -0000	1.1.1.1.6.1.2.374
+++ src/s_conf.c	18 Apr 2007 13:38:47 -0000
@@ -6940,23 +6940,17 @@
 			}
 		}
 		else if (!strcmp(cep->ce_varname, "modes-on-connect")) {
+			char *p;
 			CheckNull(cep);
 			CheckDuplicate(cep, modes_on_connect, "modes-on-connect");
-			if (strchr(cep->ce_vardata, 'z'))
-			{
-				config_error("%s:%i: set::modes-on-connect may not have +z",
-					cep->ce_fileptr->cf_filename, cep->ce_varlinenum);
-				errors++;
-			}
+			for (p = cep->ce_vardata; *p; p++)
+				if (strchr("oOaANCrzSgHhqtW", *p))
+				{
+					config_error("%s:%i: set::modes-on-connect may not include mode '%c'",
+						cep->ce_fileptr->cf_filename, cep->ce_varlinenum, *p);
+					errors++;
+				}
 			templong = (long) set_usermode(cep->ce_vardata);
-			if (templong & UMODE_OPER)
-			{
-				config_error("%s:%i: set::modes-on-connect contains +o",
-					cep->ce_fileptr->cf_filename,
-					cep->ce_varlinenum);
-				errors++;
-				continue;
-			}
 		}
 		else if (!strcmp(cep->ce_varname, "modes-on-join")) {
 			char *c;
2007-04-18 13:40:02 +00:00
stskeeps 0f38bad303 - #0002157 repoted by Dukat, fixed by djGrrr regarding cloaking module
allows cloakkey 1 and 3 to be identical.
2007-04-18 13:21:04 +00:00
stskeeps 3897fada86 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2356
diff -u -r1.1.1.1.2.1.2.1.2.2356 Changes
--- Changes	16 Apr 2007 17:21:19 -0000	1.1.1.1.2.1.2.1.2.2356
+++ Changes	17 Apr 2007 17:21:10 -0000
@@ -1583,4 +1583,6 @@
 - #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions
 - #0002404 reported by White_Magic, patched by w00t, removing /addline
   (which the bug report wasnt about)
-- #0002420 reported by KnuX fixed by .. not sure
+- #0002420 reported by KnuX fixed by WolfSage
+- #0003147 reported by vonitsanet, fixed by djGrrr regarding making
+  spamfilters work in case of /setname
2007-04-17 17:21:22 +00:00
stskeeps b61dee6561 - #0002420 reported by KnuX fixed by .. not sure 2007-04-16 17:21:19 +00:00
stskeeps 9c23d3d80d Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2354
diff -u -r1.1.1.1.2.1.2.1.2.2354 Changes
--- Changes	16 Apr 2007 16:47:15 -0000	1.1.1.1.2.1.2.1.2.2354
+++ Changes	16 Apr 2007 17:05:37 -0000
@@ -1581,3 +1581,5 @@
 - #0003159 reported by aegis and Bock, regarding typos in documentation
 - #0002560 reported and patched by w00t, regarding a typo in /SAMODE
 - #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions
+- #0002404 reported by White_Magic, patched by w00t, removing /addline
+  (which the bug report wasnt about)
2007-04-16 17:05:48 +00:00
stskeeps e62959f1fe - #0002844 reported by RandomNumber: Spamfilter bawks on capitalizing actions 2007-04-16 16:47:15 +00:00
stskeeps f332d8754a Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2352
diff -u -r1.1.1.1.2.1.2.1.2.2352 Changes
--- Changes	16 Apr 2007 16:19:06 -0000	1.1.1.1.2.1.2.1.2.2352
+++ Changes	16 Apr 2007 16:33:46 -0000
@@ -1579,3 +1579,4 @@
 - #0002842 reported by Zell, fixed by WolfSage regarding glitch in rehash
   output glitch
 - #0003159 reported by aegis and Bock, regarding typos in documentation
+- #0002560 reported and patched by w00t, regarding a typo in /SAMODE
2007-04-16 16:33:50 +00:00
stskeeps a1e8de34f8 - #0003159 reported by aegis and Bock, regarding typos in documentation 2007-04-16 16:19:07 +00:00
stskeeps ebab7885c8 - #0002842 reported by Zell, fixed by WolfSage regarding glitch in rehash
output glitch
2007-04-16 16:11:50 +00:00
stskeeps 2e993427c6 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2349
diff -u -r1.1.1.1.2.1.2.1.2.2349 Changes
--- Changes	15 Apr 2007 22:42:35 -0000	1.1.1.1.2.1.2.1.2.2349
+++ Changes	16 Apr 2007 06:36:23 -0000
@@ -1574,3 +1574,5 @@
 - Fixed #0003171 reported by danieldg (typo)
 - #0003118 reported by vonitsanet (typo in ADDOMOTD), fixed by WolfSage
 - #0003272 reported and fixed by WolfSage (addmotd, addomotd in help.conf)
+- #0003274 reported by Stealth regarding using actual nick and not given
+  nick in SAPART
2007-04-16 06:36:26 +00:00
stskeeps 7778376e80 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2348
diff -u -r1.1.1.1.2.1.2.1.2.2348 Changes
--- Changes	15 Apr 2007 22:21:09 -0000	1.1.1.1.2.1.2.1.2.2348
+++ Changes	15 Apr 2007 22:42:31 -0000
@@ -1573,3 +1573,4 @@
 MOTDs
 - Fixed #0003171 reported by danieldg (typo)
 - #0003118 reported by vonitsanet (typo in ADDOMOTD), fixed by WolfSage
+- #0003272 reported and fixed by WolfSage (addmotd, addomotd in help.conf)
2007-04-15 22:42:35 +00:00
stskeeps 6efe4637a8 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2347
diff -u -r1.1.1.1.2.1.2.1.2.2347 Changes
--- Changes	15 Apr 2007 21:29:31 -0000	1.1.1.1.2.1.2.1.2.2347
+++ Changes	15 Apr 2007 22:21:05 -0000
@@ -1572,3 +1572,4 @@
 - Fixed #0003002 reported by DelGurth, fixed by WolfSage regarding trailing \'s in
 MOTDs
 - Fixed #0003171 reported by danieldg (typo)
+- #0003118 reported by vonitsanet (typo in ADDOMOTD), fixed by WolfSage
2007-04-15 22:21:10 +00:00
stskeeps d2fef70316 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2346
diff -u -r1.1.1.1.2.1.2.1.2.2346 Changes
--- Changes	15 Apr 2007 15:34:42 -0000	1.1.1.1.2.1.2.1.2.2346
+++ Changes	15 Apr 2007 21:29:27 -0000
@@ -1568,4 +1568,7 @@
 - Patch to remove lusers.c and change from bzero to memset in ircd.c
   by w00t
 - Patch to remove curses leftover (I am going to assume SIGWINCH isn't a
-  problem) by w00t
\ No newline at end of file
+  problem) by w00t
+- Fixed #0003002 reported by DelGurth, fixed by WolfSage regarding trailing \'s in
+MOTDs
+- Fixed #0003171 reported by danieldg (typo)
2007-04-15 21:29:31 +00:00
stskeeps e41424fdff - Patch to remove lusers.c and change from bzero to memset in ircd.c 2007-04-15 15:34:42 +00:00
stskeeps fbe0c28ec5 *** empty log message *** 2007-04-15 15:34:16 +00:00
stskeeps cd298bd951 ? Makefile
? config.log
? config.settings
? config.status
? ircd.log
? ircd.pid
? ircd.tune
? server.cert.pem
? server.key.pem
? server.req.pem
? ssl.rnd
? tmp
? unreal
? unrealircd.conf
? extras/c-ares
? extras/c-ares-1.3.2
? extras/c-ares.tar
? extras/regexp
? extras/tre-0.7.2
? extras/tre.tar
? include/setup.h
? ircdcron/ircdchk
? src/ircd
? src/version.c
? src/modules/Makefile
? src/modules/chanmodes/Makefile
Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2344
diff -u -r1.1.1.1.2.1.2.1.2.2344 Changes
--- Changes	15 Apr 2007 09:45:01 -0000	1.1.1.1.2.1.2.1.2.2344
+++ Changes	15 Apr 2007 15:33:53 -0000
@@ -1565,4 +1565,7 @@
  authentication for services, you can probably use the code in here to do it
  quite simple.
  .. please mind any errors, it's been years since I (Stskeeps) last committed to here :)
-
+- Patch to remove lusers.c and change from bzero to memset in ircd.c
+  by w00t
+- Patch to remove curses leftover (I am going to assume SIGWINCH isn't a
+  problem) by w00t
Index: include/config.h
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/include/config.h,v
retrieving revision 1.1.1.1.6.1.2.102
diff -u -r1.1.1.1.6.1.2.102 config.h
--- include/config.h	16 Dec 2006 16:56:31 -0000	1.1.1.1.6.1.2.102
+++ include/config.h	15 Apr 2007 15:33:54 -0000
@@ -535,16 +535,6 @@
  * whatever else.  -4 allows "safety" margin of 1 and space reserved.
  */
 #define	MAXCLIENTS	(MAXCONNECTIONS-4)
-#ifdef HAVECURSES
-# define DOCURSES
-#else
-# undef DOCURSES
-#endif
-#ifdef HAVETERMCAP
-# define DOTERMCAP
-#else
-# undef DOTERMCAP
-#endif
 # define stricmp strcasecmp
 # define strnicmp strncasecmp
 #if defined(CLIENT_FLOOD)
Index: include/proto.h
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/include/Attic/proto.h,v
retrieving revision 1.1.2.9
diff -u -r1.1.2.9 proto.h
--- include/proto.h	22 Jun 2005 22:55:45 -0000	1.1.2.9
+++ include/proto.h	15 Apr 2007 15:33:54 -0000
@@ -26,9 +26,6 @@
 int  sendmodeto_one(aClient *cptr, char *from, char *name, char *mode, char *param, TS creationtime);
 void make_cmodestr(void);

-/* lusers.c */
-void init_ircstats(void);
-
 /* match.c */
 char *collapse(char *pattern);

Index: include/struct.h
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/include/struct.h,v
retrieving revision 1.1.1.1.6.1.2.274
diff -u -r1.1.1.1.6.1.2.274 struct.h
--- include/struct.h	13 Mar 2007 02:18:31 -0000	1.1.1.1.6.1.2.274
+++ include/struct.h	15 Apr 2007 15:33:54 -0000
@@ -681,13 +681,6 @@
 /* blah */
 #define IsSkoAdmin(sptr) (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr))

-/*
- * defines for curses in client
- */
-#define	DUMMY_TERM	0
-#define	CURSES_TERM	1
-#define	TERMCAP_TERM	2
-
 /* Dcc deny types (see src/s_extra.c) */
 #define DCCDENY_HARD	0
 #define DCCDENY_SOFT	1
Index: src/Makefile
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/Makefile,v
retrieving revision 1.1.1.1.6.1.2.46
diff -u -r1.1.1.1.6.1.2.46 Makefile
--- src/Makefile	5 Aug 2006 13:23:29 -0000	1.1.1.1.6.1.2.46
+++ src/Makefile	15 Apr 2007 15:33:54 -0000
@@ -22,7 +22,7 @@
 CC = danger will robinson

 OBJS=timesynch.o res.o s_bsd.o auth.o aln.o channel.o cloak.o crule.o dbuf.o \
-	events.o fdlist.o hash.o help.o ircd.o ircsprintf.o list.o lusers.o \
+	events.o fdlist.o hash.o help.o ircd.o ircsprintf.o list.o \
 	match.o modules.o packet.o parse.o s_auth.o \
 	s_conf.o s_debug.o s_err.o s_extra.o s_kline.o \
 	s_misc.o s_numeric.o s_serv.o s_svs.o $(STRTOUL) socket.o \
@@ -171,9 +171,6 @@
 list.o: list.c $(INCLUDES)
 	$(CC) $(CFLAGS) -c list.c

-lusers.o: lusers.c $(INCLUDES)
-	$(CC) $(CFLAGS) -c lusers.c
-
 res.o: res.c $(INCLUDES) ../include/res.h
 	$(CC) $(CFLAGS) -c res.c

Index: src/ircd.c
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/src/ircd.c,v
retrieving revision 1.1.1.1.6.1.2.208
diff -u -r1.1.1.1.6.1.2.208 ircd.c
--- src/ircd.c	27 Jan 2007 15:45:41 -0000	1.1.1.1.6.1.2.208
+++ src/ircd.c	15 Apr 2007 15:33:55 -0000
@@ -103,7 +103,7 @@
 char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256],
     REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256],
     REPORT_FAIL_ID[256];
-extern ircstats IRCstats;
+ircstats IRCstats;
 aClient me;			/* That's me */
 MODVAR char *me_hash;
 aClient *client = &me;		/* Pointer to beginning of Client list */
@@ -315,11 +315,6 @@
 #ifndef HAVE_RELIABLE_SIGNALS
 	(void)signal(SIGALRM, dummy);
 	(void)signal(SIGPIPE, dummy);
-#ifndef HPUX			/* Only 9k/800 series require this, but don't know how to.. */
-# ifdef SIGWINCH
-	(void)signal(SIGWINCH, dummy);
-# endif
-#endif
 #else
 # ifdef POSIX_SIGNALS
 	struct sigaction act;
@@ -329,14 +324,8 @@
 	(void)sigemptyset(&act.sa_mask);
 	(void)sigaddset(&act.sa_mask, SIGALRM);
 	(void)sigaddset(&act.sa_mask, SIGPIPE);
-#  ifdef SIGWINCH
-	(void)sigaddset(&act.sa_mask, SIGWINCH);
-#  endif
 	(void)sigaction(SIGALRM, &act, (struct sigaction *)NULL);
 	(void)sigaction(SIGPIPE, &act, (struct sigaction *)NULL);
-#  ifdef SIGWINCH
-	(void)sigaction(SIGWINCH, &act, (struct sigaction *)NULL);
-#  endif
 # endif
 #endif
 }
@@ -1098,11 +1087,11 @@
 #else
 	WSAStartup(wVersionRequested, &wsaData);
 #endif
-	bzero((char *)&me, sizeof(me));
-	bzero(&StatsZ, sizeof(StatsZ));
+	memset(&me, 0, sizeof(me));
+	memset(&StatsZ, 0, sizeof(StatsZ));
 	setup_signals();
 	charsys_reset();
-	init_ircstats();
+	memset(&IRCstats, 0, sizeof(IRCstats));
 #ifdef USE_LIBCURL
 	url_init();
 #endif
@@ -1927,10 +1916,6 @@
 	(void)sigemptyset(&act.sa_mask);
 	(void)sigaddset(&act.sa_mask, SIGPIPE);
 	(void)sigaddset(&act.sa_mask, SIGALRM);
-# ifdef	SIGWINCH
-	(void)sigaddset(&act.sa_mask, SIGWINCH);
-	(void)sigaction(SIGWINCH, &act, NULL);
-# endif
 	(void)sigaction(SIGPIPE, &act, NULL);
 	act.sa_handler = dummy;
 	(void)sigaction(SIGALRM, &act, NULL);
@@ -1947,13 +1932,7 @@
 #else
 # ifndef	HAVE_RELIABLE_SIGNALS
 	(void)signal(SIGPIPE, dummy);
-#  ifdef	SIGWINCH
-	(void)signal(SIGWINCH, dummy);
-#  endif
 # else
-#  ifdef	SIGWINCH
-	(void)signal(SIGWINCH, SIG_IGN);
-#  endif
 	(void)signal(SIGPIPE, SIG_IGN);
 # endif
 	(void)signal(SIGALRM, dummy);
2007-04-15 15:33:59 +00:00
stskeeps 56958c9545 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.2343
diff -u -r1.1.1.1.2.1.2.1.2.2343 Changes
--- Changes	6 Apr 2007 22:17:27 -0000	1.1.1.1.2.1.2.1.2.2343
+++ Changes	15 Apr 2007 09:44:58 -0000
@@ -1546,3 +1546,23 @@
 - Added include::bind-ip to bind an ip to download in case of having defined LIBCURL, suggested by djGrrr (#00003185).
 - oper::from::userhost now accepts a CIDR address (eg *me@1.2.3.0/24), requested by djGrrr (#0003234).
 - Corrected a couple of grammar errors in WebTV whois (/msg IRC WHOIS nick) output, reported by CuLpA (#0003244).
+- Implemented #0003254 - Auth type 'sslcertfingerprint-sha1', suggested by
+  djGrr. There are reservations regarding the security of this, but for most
+   purposes it should be okay. Cryptographically minded people may comment.
+  This may also be used to allow remote included opers with SSL certificate
+  fingerprints as we cannot as of yet remote include client certificates
+  (#0002832, suggested by Stealth)
+  Example use:
+  $ openssl x509 -in cert.pem -noout -sha1 -fingerprint
+   (where cert.pem is the oper's/server's/etc SSL client certificate)
+  SHA1 Fingerprint=FA:A6:A3:42:95:34:15:68:26:35:40:18:8D:50:68:D4:15:C8:12:9E
+
+ translating into this auth block:
+ password "FA:A6:A3:42:95:34:15:68:26:35:40:18:8D:50:68:D4:15:C8:12:9E" { sslcertfingerprint-sha1; };
+ (the auth code is case sensitive).
+
+ If anyone is interested in making a module for SSL client certificate
+ authentication for services, you can probably use the code in here to do it
+ quite simple.
+ .. please mind any errors, it's been years since I (Stskeeps) last committed to here :)
+
2007-04-15 09:45:01 +00:00
aquanight 10bf77903f Fixed a couple of webtv whois grammar errors. 2007-04-06 22:17:27 +00:00
aquanight ce5303499d implement #3234, oper cidr 2007-03-13 02:18:32 +00:00
trocotronic 49ec84f55e Added include::bind-ip 2007-03-08 16:34:48 +00:00
trocotronic 5c83aeb8cb Added class::options::notargetlag 2007-03-03 19:51:59 +00:00
aquanight 852e074b8d Fixed serverprotocol.html typo. 2007-02-19 19:33:57 +00:00
Bram Matthys 50241b173a maths is teh hard 2007-02-16 14:09:16 +00:00
Bram Matthys 454aa172f6 - Fixed file descriptor leakage on rehash. This resulted in [number of modules loaded]
file descriptors being leaked upon every /REHASH.
  So if you, for example, had 3 modules loaded and rehashed 30 times, it would cause
  the ircd to consume 60 useless file descriptors (which often means 60 less file
  descriptors being available to clients).
2007-02-16 14:06:15 +00:00
Bram Matthys 29a78afbf8 - Changed password length from 32 to 48, is allocated dynamically anyway. 2007-02-06 15:34:47 +00:00
aquanight 46cfa34bd9 /rehash -dns/-ssl documented 2007-02-02 18:15:59 +00:00
trocotronic 067416d76a Made ./unreal configtest 2007-01-27 15:45:41 +00:00
aquanight 8ffb35563d Added extended ban ~j. 2007-01-25 17:20:22 +00:00
trocotronic 79b741feaf Fixed typo 2007-01-25 15:35:26 +00:00
trocotronic b637e33d7e Booting ircd extended to 5 secs 2007-01-25 15:34:44 +00:00
Bram Matthys 9004ddea06 - Fixed SAPART causing a flood of notices from all servers, fun. Reported and patch
provided by djGrrr.
2007-01-22 13:02:11 +00:00
Bram Matthys 133adeed90 - Fixed SDESC not messaging +s +s clients on local server when it is used, reported by
dre, patch provided by djGrrr.
2007-01-22 12:51:44 +00:00
Bram Matthys fd78f47031 - Added ability to enable "no fake lag" for a user through through services via the
new commands SVSNOLAG/SVS2NOLAG (syntax: SVSNOLAG [+|-] NickName). Obviously, care
  should be taken when giving such access to a user since he/she will be able to flood
  at full speed and could possibly take down the entire IRCd (well, everyone on it).
  Suggested by avb, coded by djGrrr.
2007-01-22 12:47:32 +00:00
Bram Matthys 5faee2f717 - /WHOIS now shows the ident of local users - if ident enabled and they had an ident -
instead of always "*" in the 'is connecting from' line. Suggested and patch provided
  by djGrrr (#0002888).
  NOTE: This needs checking, this patch changed the 'unknown' stuff to ~.. doublecheck
  the allow block and everything.. didn't we use unknown@ there sometimes? I'll leave this
  to someone else...
2007-01-22 12:37:10 +00:00
Bram Matthys 443149f01a - Fixed bug where SVSO was unable to give various operflags such as q, d, X, reported
by prodigy2k7 (#0003203).
2007-01-22 12:32:57 +00:00
aquanight ff81c7e846 Italic fix to serverprotocol 2006-12-28 16:35:32 +00:00
aquanight 4aeb5b7df7 Fixed description of STATS regarding server senders. 2006-12-23 22:17:53 +00:00
aquanight 6687fc0c96 Added TOKEN and STATS to serverprotocol.html. 2006-12-23 20:02:17 +00:00
Bram Matthys 38088f0e79 - Showing even more SSL server errors now, hopefully all of them, also changed the
error notice a bit so it's much more like non-SSL server link errors. Reported by
  vonitsanet (#0003150).
2006-12-19 19:39:32 +00:00
Bram Matthys 4b1a0f9771 - Fixed possible crash with using quarantine, reported by Sephiroth (#0003151). 2006-12-19 12:57:25 +00:00
trocotronic 88ae0eb161 - CRC32 is ripped out reported by Trocotronic (#0002963).
- DOMAINNAME is removed from ./Config reported by satmd (#0003063).
- THROTTLING and FAST_BADWORD_REPLACE cannot be configured in config.h reported by raymondvrolijk (#0002937).
- /sqline supports sqlining for channels. #*ble* will forbid channels and *ble* will forbid only nicks (not channels).
  Forbid message showed by numeric ERR_FORBIDDENCHANNEL (448) reported by aragon and Jase (#0000935, #0003012).
- conf_deny NOTICE message is replace by ERR_FORBIDDENCHANNEL.
2006-12-16 16:56:32 +00:00
Bram Matthys 22265ef4b0 - Post-3.2.5 CVS-only bug: Fixed spamfilter on user target not working properly when
changing nicks (was still trying to match on the old nick), reported by vonitsanet
  (#0003143).
2006-12-12 17:26:19 +00:00
Bram Matthys f4d6a50004 - Fixed SSL bug where an outgoing connect (either autoconnect, or /connect), would not
show any error message when it failed. Error information has also been slightly
  improved. Reported by vonitsanet (#0003138).
2006-12-06 14:34:11 +00:00
Bram Matthys 3adea60d91 - Improved detection of bad set::modes-on-oper and oper::modes, now rejecting things like
'o', 'z', and more.
- Fix from above fixes an /OPER announce problem reported by Bock (#0003135).
2006-12-05 13:51:41 +00:00
Bram Matthys 4d0bff1244 that's better... (again fix for previous) 2006-12-03 22:51:40 +00:00
Bram Matthys e020a53a47 - Renamed all chanmodule modules <-- now updated makefile.in ;P 2006-12-03 22:34:01 +00:00
Bram Matthys 31944265d5 - Now actually committed +G (different file, see next) ;)
- Renamed all chanmodule modules:
  +G = wordcensor
  +j = jointhrottle
  +Q = nokicks
  +f = chanflood
2006-12-03 21:16:58 +00:00
Bram Matthys 22c4007ee2 - Modulized channel mode +G (src/modules/chanmodes/chmode_upG.c) 2006-12-03 20:49:56 +00:00
Bram Matthys 2043609896 - Tagged chanmode modules as official (oops..) 2006-12-03 19:50:06 +00:00
Bram Matthys 893b1fb5b7 - Added donators since 3.2.5
- Setting set::pingpong-warning didn't work, reported by vonitsanet, patch supplied by
  avb (#0003131).
2006-12-01 15:43:18 +00:00
aquanight fae0aeee4c serverprotocol.html 3.2.6 info 2006-11-29 19:59:51 +00:00
Bram Matthys 95ba27b262 - fix for above (c-ares win32 lib) 2006-11-26 14:37:34 +00:00
Bram Matthys 65ad12e105 updated changelog comment, giving more credit
- Made SAPART work for mulitple channels, just like SAJOIN. Reported by Snake and
  SeigHart, patch provided by Bock (#0003064). This also fixes SAPART now being
  announced to all opers globally, just like SAJOIN.
2006-11-26 12:54:16 +00:00
Bram Matthys 39db232a0b - c-ares resolver: upgrade to 1.3.2. 2006-11-25 19:40:29 +00:00
Bram Matthys 7fa2109d8d FIXFORFIX
- Fixed bug where omitting class::connfreq would result in a huge connection attempt
  flood when autoconnect was enabled. We now set class::connfreq to 60 if it's not
  specified. Reported by Milliways (#0003018).
2006-11-25 16:48:57 +00:00
Bram Matthys f007f038a3 spelllllingg... 2006-11-25 16:43:03 +00:00
Bram Matthys c99189bb09 - Fixed bug where ommitting class::connfreq would not give a config error, and would
cause a huge connection attempt flood when autoconnect was enabled. Reported by
  Milliways (#0003018).
2006-11-25 16:42:34 +00:00
Bram Matthys 614b53165e - Fixed compile bug on Solaris due to missing INADDR_NONE, fix provided by Schak
(#0003125).
2006-11-24 21:21:33 +00:00
Bram Matthys 238a1c0c18 - Fixed charsys config error message sometimes saying stuff about set::accept-language,
which should be set::allowed-nickchars (the former does not exist). Reported and
  patch provided by avb (#0003122).
2006-11-24 21:07:23 +00:00
Bram Matthys e2f782743e - Added information about extbans to help.conf (/HELPOP ?EXTBANS). Patch from Bock
(#0003113).
- Made SAPART work for mulitple channels, just like SAJOIN. Patch provided by Bock
  (#0003064). This also fixes SAPART now being announced to all opers globally, just
  like SAJOIN.
- Finally fixed /RESTART issue on windows for good, should now always restart correctly.
  Patch provided by BuHHunyx and Bock (#0002734).
2006-11-24 20:56:13 +00:00
Bram Matthys 547978596a - Removed all files in networks/, the directory itself may stay for now. Those files were
old, newest one dating back to 2002 (most of them 2001)... much better if this is handled
  internally by the networks themselves anyway (and then they can put cloak keys in their
  network file too, which they now can't ;p). I wonder if someone actually still used it anyway.
2006-11-23 19:41:50 +00:00
aquanight 6d2ae0e5c4 serverprotocol.html fixes 2006-11-22 21:38:24 +00:00
Bram Matthys 42ef5be6ac - Changed some minor Makefile stuff
- Fixed belarussian-w1251 charset.. accidently copied a "'" which caused an internal
  error.
2006-11-22 15:38:22 +00:00
aquanight 24ffc94440 Improved link::hub/leaf/leafdepth description + leafdepth typo fix. 2006-11-16 22:22:44 +00:00
Bram Matthys c9bb7e3e17 - Fixed a couple of typos and other one-line-text fixes at various places: reported by
aegis (#3081), DanPMK (#2818), tabrisnet (#2974, #2970, #2467), penna (#2721),
  Brad (#2488), vonitsanet (#2467).
- Made OpenSSL version dynamic, reported by buildsmart (#0002975).
- Rejecting fake +z modes in conf, reported by rve (#0002532).
2006-11-12 21:50:50 +00:00
Bram Matthys df0588531f - /INVITE's from people on the silence list are now (silently) ignored, suggested by
White_Magic (#0002478).
2006-11-12 20:27:37 +00:00
Bram Matthys 7bf4127108 - Snomask N: Don't show nickchanges for U-lines, reported by seneces (#0002636).
- Fixed set::dns::bind-ip directive seen as duplicate, reported by aegis (#0003074).
- set::dns::* block is now no longer mandatory. All info has always been read from
  /etc/resolv.conf (*NIX) or the registry (Win32), and the set::dns block is ignored
  (except for set::dns::bind-ip, but that's a special case). Suggested by many including
  djGrrr to make things slightly more logical (#0003019).
- As a consequence of the above, set::dns blocks were removed from doc/example*conf.
- Added two more characters to Catalan charset, reported by rmh (#0002995).
- Added set::pingpong-warning [yes|no] which decides whether to send the "** If you are
  having problems connecting due to ping timeouts, please type /quote pong .." message
  to each client when NOSPOOF is enabled (usually on Win32). The default is NO.
  Previously this message was always sent if NOSPOOF was on, which often caused
  confusion among users. The message was intended for non-confirming clients, but these
  should be fixed by now, and those that were not fixed (self-made bots/etc) did often
  not understand the message anyway. Anyway, you can still turn it on ;). (#2680).
2006-11-12 19:41:53 +00:00
Bram Matthys 21ab148d31 - Fixed 'SVSMOTD !' not deleting the services motd in memory, reported by avb (#0003110). 2006-11-12 18:59:43 +00:00
Bram Matthys 594644dd62 - Cutoff webtv whois at MAXTARGETS (#0003004). 2006-11-11 20:25:31 +00:00
Bram Matthys 6930f843c3 - Made win32 compile again, reported by Bock (#0003106). 2006-11-05 20:13:22 +00:00
Bram Matthys 8ef42da438 - Moved a couple isatty() calls to DEBUGMODE (#0002945). 2006-11-05 00:29:01 +00:00
Bram Matthys 7f7e8496b2 - Win32: Fixed a few compiler warnings, suggested by Zell (#0002890). 2006-11-05 00:21:23 +00:00
Bram Matthys be0a8ab801 - If the 'crypt' algorithm is used, then passwords were/are truncated to 8 characters.
We now print a warning when this happens (both on the IRC command and command-line).
  Suggested by JasonTik (#0002953).
2006-11-04 23:54:54 +00:00
Bram Matthys d784acb0fd - Services timestamps are now always treated as an unsigned long (0..2^32-1), instead
of accidently as signed long during netsynchs. This bug caused issues with values
  larger than 2147483647. Reported by avenger (#0002980).
2006-11-04 22:25:39 +00:00
Bram Matthys 67a2c3aff8 - Win32: we now no longer crash if no access to write to service.log, suggested and
patch by Xuefer (#0002886).
2006-11-04 21:41:18 +00:00
Bram Matthys d172d7e490 - Win32: SSL private key prompt should now no longer crash. Patch provided by Alexey
Markevich (#0002866).
2006-11-04 13:23:52 +00:00
Bram Matthys 4aa480a48e - [internal] Made a spamfilter_build_user_string function that will build the spamfilter
user target string (nick!user@host:info), insteaf of doing it at like 5 places.
- Spamfilter target 'u' (user): the host field (nick!user@HOST:realname) is now escaped
  with brackets if it's an IPv6 address, eg: blah!blah@[1:2:3:4:5:6:7:8]:hello, reported
  by aquanight and others (#0003010).
2006-11-04 00:11:47 +00:00
Bram Matthys b97df7b529 - Using SVSMODE (or SVS2MODE) to set -x will now actually remove the vhost from memory,
instead of letting it magically reappear whenever +x is set. This means services can
  now properly "unvhost" a user by sending a "SVSMODE User -x+x" (then any existing vhost
  will be removed and user will have a cloaked host). Reported by avenger and others
  (#0002933).
2006-11-03 23:32:39 +00:00
Bram Matthys 9d00e22db9 - Fixed m_names.so not being build (a problem for people not using commands.so),
reported by aegis (#0003085).
2006-11-03 22:41:26 +00:00
Bram Matthys 4a205703cc - Fixed some unitialized pointer things for win32 w/ssl on keyprompt, no idea if it
helps, though. Would appreciate it if another code looks into this. -- Syzop
2006-11-03 19:31:40 +00:00
Bram Matthys 898d859b77 - Made it so that when 'java' is enabled for a listen block, then the 2nd parameter to
NICK is not seen as a password on this port. Patch from afolentes (#0003097).
2006-11-03 19:23:42 +00:00
Bram Matthys 15eeec8d2b - Updated ukrainian-w1251 and belarussian-w1251 charsets: some characters were previously
included that shouldn't. Reported by avb (#0003102), patch supplied by Bock.
2006-11-03 13:41:42 +00:00
Bram Matthys cb6df4e455 - Committed watch away notification, I did this more than a month ago but can't be bothered
to document it right now, just want to get it off my cvs queue ;P.
  Syntax is 'WATCH A +TestUser' to have someone with away notification on your watchlist.
2006-10-28 14:19:48 +00:00
Bram Matthys 1fe247500e - Fixed a couple of add_Command/del_Command lines in m_chgname and m_helpop trying to
add the same token twice. Didn't cause any trouble, normally, though...
2006-10-28 14:18:07 +00:00
aquanight 66de87ec29 Fixing deny link 2006-10-09 05:39:03 +00:00
aquanight 4b0796a091 Couple more not-sending-token fixes. 2006-10-01 23:00:57 +00:00
aquanight daf9ebb95f Fix #3077 (+C not killed on SVSO -). 2006-09-30 17:09:04 +00:00
aquanight 8ec4782859 Made some messages send TOKEN properly. 2006-09-29 19:45:59 +00:00
Bram Matthys 8c3a44ced1 - Fixed zlib version check: 1.x is compatible with all 1.*, etc. (#0002966). 2006-09-28 20:44:35 +00:00
aquanight e88a77d557 Fixed segfault from unknown charsets. 2006-09-24 23:22:58 +00:00
Bram Matthys 039e223df2 - Windows 2003: Fixed UnrealIRCd unable to boot if no DNS server is configured, we now
fallback to set::dns::nameserver in such a case. Thanks to Romeo (reporter, #0002802)
  and Bock for tracing this down.
2006-09-23 12:04:00 +00:00
Bram Matthys 38701f718a Added two FIXME's 2006-09-22 19:57:29 +00:00
Bram Matthys fa8fbc6a61 - Fixed cloak cutoff problem with long hosts. 2006-09-22 19:53:22 +00:00
Bram Matthys 99b50af732 suggest->suggested 2006-09-10 23:05:43 +00:00
Bram Matthys c6fc8dfa28 - Updated doc/coding-guidelines again 2006-09-10 23:05:16 +00:00
Bram Matthys 47652fc22c plok! 2006-09-10 23:05:00 +00:00
Bram Matthys ba8e5cd7a0 (PATCH FROM TROCOTRONIC -- UNEDITTED)
- Added set::nick-length so the nick length can be dynamically changed (from 1-30),
  requested by various people including IdiotStic (#0003042).
2006-09-10 22:15:54 +00:00
Bram Matthys 158676655c - Some more updates for above, plus updated authors list and all. 2006-09-08 23:09:37 +00:00
Bram Matthys 0cc02e308c - Setting some version info properly to 3.3-pre-alpha, removing all translated documents
(they will be readded around beta1 or so, to easy the work for translators a bit).
2006-09-08 22:35:20 +00:00
Bram Matthys f1b278e450 - Bugfix for above (wrongpasscont). 2006-09-08 22:28:57 +00:00
aquanight 2b9476c923 add allow::options::wrongpasscont 2006-09-07 22:42:00 +00:00
Bram Matthys 2bdc12b8f8 - Fixed small memory leak in resolver (~40 bytes when connecting to a server)
- Made Unreal use the original name in case of a CNAME, instead of the forwarded name,
  reported by jerrcsnet (#0003054).
- The "looking up your hostname" message was always sent, regardless of show-connect-info.
2006-09-06 12:30:12 +00:00
Bram Matthys 8dd90cc2ed - Fix for above so it doesn't -r the client if +r and case changing.
- Made WATCH not send a LOGOFF/LOGON for a nickchange with case-change (blah -> BLAH).
2006-09-03 20:40:04 +00:00
aquanight 4f2480fff2 Some SVSNICK collision fixes. 2006-09-03 19:41:29 +00:00
Bram Matthys acca35a057 - Fixed bug in MODE #channel showing extended channel mode parameters when not in #channel.
- Made 'MODE #channel b' and friends show bans to ircops even when not in channel.
2006-08-29 13:25:41 +00:00
Bram Matthys ebd5551d0f (PATCH FROM Trocotronic, although slightly changed/improved/partsdeleted by me)
- Kick non-SSL users when the channel turns out to be +z during netmerge, reported by
  Ron2K (#0002942).
2006-08-29 12:02:08 +00:00
Bram Matthys 42b3540a3c - Module coders: Fixed CALLBACKTYPE_CLOAK_EX, it was not working properly at all. 2006-08-29 11:58:58 +00:00
Bram Matthys 597226b3a4 - Fixed some bugs in webtv code that could have caused trouble in the future (off by one),
reported by Ilja van Sprundel.
2006-08-23 18:25:28 +00:00
Bram Matthys 6a5b247542 - Fixed SSL crash problem due to previous SSL change. 2006-08-23 10:45:08 +00:00
Bram Matthys d988ffa7ab - Added HOOKTYPE_CAN_KICK (sptr, who, chptr, comment, sptr_flags, who_flags). Returns an
error message if the kick should be denied. The upper layer (thus NOT you) takes care
  of OperOverride.
- Modulized channel mode +Q (src/modules/chanmodes/chmode_upQ.c)
(unmentioned: ripped out old MODE_FLOODLIMIT stuff -- 2 lines)
2006-08-21 23:03:31 +00:00
Bram Matthys 5f6816df57 - Fixed /SAJOIN able to join insecure users to +z channels, reported by phedny (#0002601). 2006-08-20 23:32:39 +00:00
Bram Matthys a7cdae2d81 - Small compile fix for above 2006-08-20 23:25:18 +00:00
Bram Matthys 2294fe88cc - The server SSL certificate and private key can now be reloaded without requiring a server
restart, simply use: /REHASH -ssl
2006-08-20 23:05:39 +00:00
Bram Matthys ae84795a12 CHANGELOG COMMENT EDIT: - Fixed sjoin issue due to modulizing. 2006-08-19 22:40:12 +00:00
Bram Matthys 6f8d4f83f8 - Sjoin issue due to +F modulizing fixed (tested. though, lightly) 2006-08-19 22:39:36 +00:00
Bram Matthys dc63d47084 - This might fix sjoin for above 2006-08-19 22:33:57 +00:00
Bram Matthys 9ad0ad77d7 - Moved HOOKTYPE_LOCAL_NICKCHANGE and HOOKTYPE_REMOTE_NICKCHANGE to *after* the nickchange.
As a consequence of this the last parameter you get in your hook is now 'oldnick' rather
  than 'newnick'. So the new nick is in sptr->name now and oldnick in last parameter.
- Added HOOKTYPE_PRE_CHANMSG, this should now be used for blocking/morphing text.
  It has the parameters: sptr, chptr, text, notice
- HOOKTYPE_CHANMSG now no longer allows one to block the text (use HOOKTYPE_PRE_CHANMSG for
  that). It's also moved to after the message was actually sent.
- Added HOOKTYPE_KNOCK (sptr, chptr)
- Added HOOKTYPE_MODECHAR_FIXME. Internal for now, will be replaced with a proper
  HOOKTYPE_MODECHAR later (and arguments will change). It's just an internal hack for
  chmode +f for now ;).
- Updated indent.pro to use length=110. It still does not indent how I want it to be though,
  so don't use it yet ;).
- Moved channel mode +f to src/modules/chanmodes/chmode_f.c, interestingly enough this took
  longer than recoding extcmodes paramter support and moving chan mode +j.
  It's not only looking like a complex channel mode, it actually *IS* one ;).
  TODO: make sure it actually works, and fix sjoining (partly not implemented yet->crash) ;p
2006-08-19 22:28:44 +00:00
aquanight 9ea0e07fff Whoops. 2006-08-19 21:51:06 +00:00
aquanight f3acb92ca8 doc fix for svsnline 2006-08-19 20:29:56 +00:00
aquanight dfa40c5367 missed one 2006-08-19 20:10:03 +00:00
aquanight 11ab94eb6c failed oper notices moved to snomask +o 2006-08-19 20:02:10 +00:00
darkelf b27881f912 fdlist and helpers implementation currently new io is broken helper codes we
have to change unreal helpers in future but currently for making working io they
are not bad to use.
2006-08-19 08:45:21 +00:00
darkelf 1ca4c73f43 forgotten defines at ssl.c and ircd.c 2006-08-19 05:44:09 +00:00
Bram Matthys 81ae7da025 - Start of modulizing of channel modes. This basically just means we will be using extcmodes
for everything. Recode of extcmodes partially complete (only 30% or something), using a
  FAST 'slot system' now in the channel structure for paramter modes instead of linked lists.
  Besides the slot system being faster, it also causes less memory fragmentation (and
  memory fragmentation actually causes slower CPU as well, especially when running for a
  long time). Channel modes are still permanent and all.
  I'm first going to move modes to modules and then later on have a go at making them non-
  permanent (already know exactly how to do it, but other things go first ;p).
  Documentation on how all this works will be added later as well. It's really work-in-progress
  at the moment, which means: the API might (or 'will') change.
  Channel modes will be in src/modules/chanmodes, named chmode_<modechar>.c, that's the
  general rule at least.. Some will be 'packed together' like the RFC modes s/n/t/k/l/etc.
  Channel mode 'j' has been moved to src/modules/chanmodes/chmode_j.c which seems to work ok.
  Details (aka: documentation) about which loadmodule's will be needed for which modes
  (like I said, since some will be bundled in for example an 'rfc' module) will also be added
  later. For now it doesn't matter much, since there's only j ;).
  Side note: some +j code is still in the core (only eating 4 bytes per-user and 4 bytes
  per-channel, though), and will remain there for now.
  I did the work of above in 2 days, so ehm.. it's still far from complete, but I don't want
  to wait for one BIG commit which changes half of the ircd :P.
  Added hooks (needs to be documented, like all other hooks, one day ;p):
  HOOKTYPE_CAN_JOIN: called from can_join(), seems more logical than PRE_LOCAL_JOIN, also
  more nicely passes the key and link stuff.
  HOOKTYPE_CAN_SEND: not implemented yet. will be called from can_send()
  HOOKTYPE_CLEANUP_CLIENT: called from free_client()
  HOOKTYPE_CLEANUP_USER: called from free_user()
  HOOKTYPE_CLEANUP_USER2: called from exit_client when freeing a user.. I know, this
  might sound redundant, but then again.. some things REQUIRE a certain order (like before
  freeing membership links).. Or at least I don't want to break the current logic ;).
2006-08-17 15:29:41 +00:00
darkelf 20e42e5bbe Fixed broken compile because of sockaddr_storage 2006-08-16 16:32:53 +00:00
darkelf b7d50aee12 Indented Code also added DoEvents to new io engine. 2006-08-16 16:32:12 +00:00
darkelf 10584456b4 fdlist structure added to fdlist.h 2006-08-16 15:54:58 +00:00
darkelf 95d9f969d8 Moved write_pidfile function to ircd.c 2006-08-16 13:39:06 +00:00
darkelf 32843244bd Added new defines with NEW_IO some of old NOPOLL define names changed to
NEW_IO too.
2006-08-16 06:59:30 +00:00
darkelf e0c9b38269 Removed warning at SocketLoop 2006-08-13 21:49:13 +00:00
aquanight f71456670c Fix error msg in unreal_copyfile 2006-08-13 21:27:31 +00:00
aquanight ef3afb8844 fixed loadmodule to use correct error msg when actual module .so is missing 2006-08-13 19:35:20 +00:00
darkelf e884446871 SocketLoop become general io loop function for *nix too. 2006-08-09 13:26:23 +00:00
darkelf 3d40229700 Align typo 2006-08-08 21:32:41 +00:00
darkelf 47a9211bf0 Changes file entries 2006-08-08 21:31:46 +00:00
darkelf 078fd039d4 Removed old set_blocking function. 2006-08-05 17:01:21 +00:00
darkelf 0523a55aca Removed old buggy poll code from s_bsd.c and s_debug.c 2006-08-05 16:52:00 +00:00
Bram Matthys cbdd3138c8 Resynch with 3.2* cvs .551 (=post-3.2.5). This should mark the real start of Unreal3.3* 2006-08-05 13:23:53 +00:00
Bram Matthys 361d1646e9 some version # -> 3.3* crap 2005-06-22 23:20:25 +00:00
Bram Matthys 9894663a55 better cvsignore 2005-06-22 23:05:18 +00:00
Bram Matthys 704b6260d2 branch off from current unreal3_2_fixes (post-Unreal3.2.3), for Unreal 3.3* (that's the idea at least). 2005-06-22 22:56:06 +00:00
Bram Matthys 335ff44a54 *** 3.2 release *** 2004-04-24 23:07:39 +00:00
Bram Matthys 019666b21f hmk, rephrased the "module support @ windows " sentence I added. 2004-04-24 20:37:38 +00:00
Bram Matthys 5e16df15a0 - Some doc/release notes updates on win module support. 2004-04-24 19:58:53 +00:00
Bram Matthys 533895722b - Added temporary fix for include "http://www.blah.com/"; crashbug...although I doubt
many people would use it. Reported by Angrywolf (#0001757).
2004-04-24 15:30:36 +00:00
Bram Matthys 45bf0ede3d TYPO.. just in time before pre2 :P 2004-04-23 22:26:35 +00:00
Bram Matthys ad9a40e7c4 - Changed version to 3.2 already
** internal pre2 release **
2004-04-23 22:25:38 +00:00
Bram Matthys 6199e0f98c - Fixed some remote includes issues and added a connect/transfer timeout, server should
now no longer be frozen if the site is unreachable. Reported by Ron2K (#0001751).
2004-04-23 22:05:36 +00:00
Bram Matthys 0eb09818c0 gzline user@host -> *@ipmask 2004-04-23 20:38:48 +00:00
Bram Matthys 12b538a6a8 - Docs/help.conf tweak on /connect syntax (#0001755).
- German doc updates (from April 18) + gzline docs tweak.
2004-04-23 20:37:46 +00:00
Bram Matthys 8b26ed3a2a BLALBSDJFsid 2004-04-16 22:44:31 +00:00
Bram Matthys deb07e14b3 ** internal pre1 release (testing only) ** 2004-04-16 22:43:09 +00:00
Bram Matthys 324bcc3cf9 - Minor sajoin/sapart ERR_NEEDMOREPARAMS tweak. 2004-04-16 22:41:46 +00:00
Bram Matthys ebcfe963a5 - Fixed SJOIN bug: it sometimes was setting too many modes at once. 2004-04-16 20:52:42 +00:00
Bram Matthys f032115d8a - Changed version to pre1 2004-04-16 19:20:25 +00:00
Bram Matthys 090589cfad update.. 2004-04-16 18:10:05 +00:00
Bram Matthys 0a790a5649 oh, forgot target quit... 2004-04-16 17:41:31 +00:00
Bram Matthys 376494f384 - spamfilter.conf: added signatures for Gaggle worm. 2004-04-16 17:30:59 +00:00
Bram Matthys ac7aa6ed03 fixed implicit declaration for reread_motdsandrules(). 2004-04-15 22:06:03 +00:00
Bram Matthys e53a688c7e - doc/unreal32docs.html and help.conf updates (#0001734 + other stuff). 2004-04-15 21:51:01 +00:00
Bram Matthys 8350a7958a - Fixed /rehash bug if an .so (or remote include?) failed to load properly,
reported by fez (#0001736).
2004-04-15 16:14:14 +00:00
Bram Matthys ab22a8bcb1 - Added some release notes already. 2004-04-15 01:30:57 +00:00
Bram Matthys 407f9af942 - Various doc/text updates 2004-04-14 23:09:16 +00:00
Bram Matthys fa6edb8c64 - Made ./unreal rehash (= kill -1 <pid>) also reread motd/rules/etc just as a
normal /rehash does, reported by superh (#0001699).
2004-04-14 18:51:14 +00:00
Bram Matthys e501f1b90f - Force a TRE recompile if ./Config is re-run, due to timestamp fun if you were
upgrading to CVS every time TRE was not recompiled even if you did make clean.
2004-04-14 18:21:49 +00:00
Bram Matthys d1bfc78a45 - Fixed /who +m bug for opers, reported by Bugz (#0001715).
- Fixed halfop mode code to not check remote halfop modes (desynch danger).
2004-04-13 22:22:50 +00:00
Bram Matthys 24336c6153 - Updated server<->server code for MODE so operoverride bug #0001704 and other
feature requests can be fixed/added in the future (3.2.1).
2004-04-13 19:04:41 +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
codemastr 7399ad2cde Fixed a typo in /credits 2004-04-10 16:10:07 +00:00
codemastr 7ba09e3efd Made a note in example.conf about not using link::options::autoconnect for services 2004-04-07 22:22:20 +00:00
codemastr 23eddafaf7 Fixed /stats ? for Q and q 2004-04-07 22:18:27 +00:00
codemastr 7ebd0473b9 Updated /credits a bit more 2004-04-07 22:13:21 +00:00
Bram Matthys e9d96c267a - German doc updates (spelling+synch). // + moved language choose thingy to top 2004-04-07 20:51:28 +00:00
codemastr 1d140eff88 Updated credits 2004-04-07 02:33:13 +00:00
Bram Matthys 1103ffe636 - Windows: Updated makefile/unrealinst.iss/zip.h to use zlib 1.2.1. 2004-04-05 22:26:03 +00:00
codemastr 05c1c38d76 Fixed vhost::swhois not being shown remotely 2004-04-05 22:06:31 +00:00
codemastr a3a4158556 Patched win32 TRE 2004-04-05 21:47:15 +00:00
Bram Matthys d1982e4983 - Patched TRE 0.6.6 to fix known crashbug (#0001684), testing is welcomed. 2004-04-05 17:04:14 +00:00
Bram Matthys 0ac1676043 reference to translated doc (and vice versa) 2004-04-04 18:12:58 +00:00
Bram Matthys 829c102c7f typo ;) 2004-04-04 16:47:19 +00:00
Bram Matthys 2c8e443170 Added $Id$ thingy 2004-04-04 16:46:47 +00:00
Bram Matthys 5f9e2bff0b - Added german translation of unreal32docs (doc/unreal32docs.de.html), translated by Stylus740 which will also maintain it. 2004-04-03 21:46:24 +00:00
Bram Matthys 3a738a4c5d - Added german translation of unreal32docs (doc/unreal32docs.de.html), translated
by Stylus740 which will also maintain it.
2004-04-03 21:45:38 +00:00
Bram Matthys db7e75636d - spamfilter.conf: added signature for LOI trojan. 2004-04-01 03:57:11 +00:00
codemastr 602ea12b9f Fixed an SVSMODE #chan -qaohv bug 2004-03-29 23:18:26 +00:00
Bram Matthys ef942d39a2 - spamfilter.conf: changed a lot of rules from 'block' to 'gline', left some
on 'block' however if there was some (very low) chance on false positives (even though
  just like 0.01%).
2004-03-27 22:54:42 +00:00
Bram Matthys f6b0bf15b5 - Usermode 'r' (registered) was unset even in case of "case"-nickchanges (like:
'Syzop' -> 'syzop'). This affected f.e. ircservices. Reported by LoVeR (#0001679).
2004-03-27 20:13:27 +00:00
Bram Matthys a87a1688b6 - Made the setup script use the new compression method 'lzma' which makes the setup.exe
~300Kb smaller. Now also requires Inno Setup 4.1.6 (tested with 4.2.0).
2004-03-27 00:58:18 +00:00
codemastr 1ac0936d8a win32 installer changes 2004-03-26 23:12:22 +00:00
codemastr ec12bd4c05 Fixed a win32 GUI bug with rehash all not rehashing motd/rules 2004-03-26 21:25:45 +00:00
codemastr f095d6e9de Fixed a win32 resolver problem with detecting nameservers 2004-03-26 21:14:43 +00:00
codemastr a998fe14cc Fixed a /stats S modes-on-join extended mode problem 2004-03-22 21:35:56 +00:00
codemastr 6be3ab9291 Updated TRE to 0.6.6 2004-03-21 19:01:15 +00:00
codemastr 6c7a6b507f Imported TRE 0.6.6 for win32 2004-03-21 18:12:21 +00:00
codemastr cdaaa80c70 Made environment variables correctly work in Config 2004-03-20 04:23:58 +00:00
Bram Matthys d731cf04ab - Fixed /spamfilter reason field bug.. things were double escaped sometimes,
especially in post-RC2-cvs this was noticable. Reported by Fury (#0001670).
- help.conf: updated snomasks section.
2004-03-19 21:32:03 +00:00
Bram Matthys da9bd6e5e9 - Fixed /spamfilter removal problem... often the wrong entry was removed [!] or
nothing was removed at all. Reported by MiNdErAsR, RealCFC and others (#0001669).
2004-03-19 02:18:04 +00:00
codemastr 51704ca942 Fixed an SQLINE memory leak 2004-03-14 22:25:24 +00:00
codemastr 4e5ebba53f Added Nkie worm spamfilters to spamfilter.conf 2004-03-14 20:21:12 +00:00
Bram Matthys 2da3de60c4 - Added conf check for too large spamfilter regex + reason field. Reported by
Z3l3zT (#0001648).
2004-03-14 20:16:54 +00:00
codemastr c35aede803 Fixed a version.c.SH typo 2004-03-13 19:35:51 +00:00
Bram Matthys 6094f628eb - Fixed win32 compile problem. Reported by Troco (#0001644). 2004-03-13 15:48:49 +00:00
Bram Matthys 04177a8106 fixed win32 compile problem 2004-03-13 15:46:33 +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 1c671a47bd SSsshht ;p 2004-03-11 20:39:58 +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
codemastr 017669dc40 Removed cp -f from curlinstall (non-portable) 2004-03-10 18:42:47 +00:00
codemastr 99a3c53703 Remote include installer changes and /credits updates 2004-03-10 17:11:27 +00:00
codemastr 2f64d946b4 Made set::modes-on-join work with extcmodes 2004-03-10 03:49:04 +00:00
Bram Matthys 6717b75911 minor adjustment. 2004-03-10 01:43:45 +00:00
Bram Matthys 80f397df6b changed version to 'RC2 *CVS*' 2004-03-10 01:25:30 +00:00
Bram Matthys 3a3ca8bac8 pjoink!!! 2004-03-10 01:24:55 +00:00
Bram Matthys 15b52e94b4 - Added '__' -> '_' decoding for spamfilter reason field. 2004-03-10 01:23:58 +00:00
codemastr dd6eb1bd34 Fixed a spamfilter memory leak 2004-03-10 01:00:22 +00:00
Bram Matthys f1bd72ffad pjoink 2004-03-09 23:14:20 +00:00
Bram Matthys 0f3204698b - spamfilter.conf: added soex trojan. Sig provided by Jay. 2004-03-09 20:47:10 +00:00
codemastr 25639df741 Documented except tkl qline/sqline 2004-03-09 00:31:10 +00:00
codemastr 248188cf54 Removed src/win32/version.c 2004-03-08 18:47:58 +00:00
codemastr 3d87f28751 Added check to detect broad /spamfilter masks 2004-03-08 03:38:16 +00:00
Bram Matthys 445a85871a - spamfilter.conf: fixed fyle sig (was bad!), some minor updates to the rest,
added mirc 6.12 exploit sig. Reported by PHANTOm.
2004-03-08 00:22:31 +00:00
Bram Matthys 84be2cf06f pjoink 2004-03-07 22:10:56 +00:00
Bram Matthys 63d7c6d04a *** RC2fix release *** 2004-03-07 22:10:19 +00:00
codemastr ddcec35e9f Fixed a compile problem on Solaris 2004-03-07 22:03:41 +00:00
codemastr 5b1be6a347 Fixed a HOOKTYPE_PRE_LOCAL_JOIN bug 2004-03-07 21:50:07 +00:00
Bram Matthys c1ca95b71f *** RC2 release *** 2004-03-07 18:51:29 +00:00
Bram Matthys 47aab8caaa - Changed version to RC2 2004-03-07 17:27:02 +00:00
Bram Matthys 9b242fd101 - And some more spamfilter.conf rules (aplore, gtbot, sdbot, spybot). <== this was already committed, just updating changes on it ;)
- Minor doc update.
2004-03-07 15:23:51 +00:00
Bram Matthys 61ab744d2a minor 'reason' adjustments (to make it more general) + . -> \. thingy 2004-03-06 22:18:11 +00:00
codemastr 7bc23b4279 More spamfilter updates 2004-03-06 20:26:24 +00:00
Bram Matthys 301dbe6e59 spybot .syn sig 2004-03-06 19:57:21 +00:00
codemastr c324f1455a GTBot detection filters 2004-03-06 19:20:12 +00:00
Bram Matthys 6e05e85dfb blank 2004-03-06 18:43:01 +00:00
codemastr 4f00918d7a Spamfilter.conf typo 2004-03-06 18:12:36 +00:00
codemastr 01cb63c745 Updated /credits with more donators 2004-03-06 17:41:17 +00:00
Bram Matthys 16802a8b6b - And some more spamfilter.conf rules (mirseed & fagot). 2004-03-06 04:22:31 +00:00
Bram Matthys 29eb81904a - Added first 2 rules to spamfilter.conf, update release notes and unrealinst.iss
for it too (also added missing badwords.quit.conf file @ win32).
2004-03-06 02:27:08 +00:00
Bram Matthys 41d7b0733b - Added rest of release notes. 2004-03-06 00:01:11 +00:00
codemastr 0fb0490262 Imported TRE 0.6.5 on Linux 2004-03-05 22:43:38 +00:00
codemastr 76fdc6505f Upgraded win32 TRE lib to 0.6.5 2004-03-05 22:29:39 +00:00
codemastr 2b19a70d31 Redesigned HOOKTYPE_PRE_LOCAL_JOIN 2004-03-04 23:06:54 +00:00
Bram Matthys 1854b50784 let's be nice and give credit.. 2004-03-04 19:48:08 +00:00
Bram Matthys 8a6619c0a8 - Fixed yet another fun remote includes memory corruption crash bug due
to curl strangeness (took me 2 hours to trace down, great!).
2004-03-04 19:33:59 +00:00
Bram Matthys c389dc58b5 - Minor doc updates on SSL (mIRC now supports SSL a bit). 2004-03-03 22:49:47 +00:00
Bram Matthys f58c46a334 - Updated SSL error for underlying syscall error a bit (#0001615). 2004-03-03 21:27:05 +00:00
Bram Matthys 9ba52eea92 - Added 90% of RC2 release notes.
- Cosmetic doc updates (#0001596) reported by HERZ.
2004-03-02 20:31:59 +00:00
Bram Matthys ad1a98523f a 2004-02-29 21:18:35 +00:00
Bram Matthys 7d2da2b910 - Q comes after P. Thanks to Rocko for remind us! (fixes /stats P bug ;p). 2004-02-29 21:15:45 +00:00
codemastr d48540a6d4 Fixed another remote include bug 2004-02-26 00:49:27 +00:00
codemastr 739feded92 More win32 remote include fixes 2004-02-25 23:17:32 +00:00
codemastr 19d843e650 Fixed a remote include problem with deleting files 2004-02-25 22:14:30 +00:00
Bram Matthys afc24e4fa8 - Made numerics 518-520 a bit more clear by mentioning the channelname in it.
Suggested by Zell (#0001589).
2004-02-25 21:39:04 +00:00
Bram Matthys 179e6dfe6d - Fixed a zero-terminate bug in remote includes: urls with '?' in it could
cause a crash, reported by Joolz (#0001587).
2004-02-25 21:21:49 +00:00
Bram Matthys 669cf6e189 - Fixed an issue where chanmode +f was often set by the server again
in a netjoin when there was no need to (nothing to synch).
- Added spamfilter::except which allows you to specify targets
  (eg: channels) where spamfilter should not take action. Requested by Fury
  (#0001586). Ex: set { spamfilter { except "#spamreport,#help"; }; };
2004-02-25 20:49:00 +00:00
Bram Matthys 0a166e3663 GRRR! bad/old module header! badbadbad m_template!! 2004-02-23 23:14:32 +00:00
Bram Matthys a573b29a0f - Fixed a bug in individual m_*.so loading, 39 new modules were affected. 2004-02-23 23:14:05 +00:00
Bram Matthys 2ae44c13b6 - '0' tkltime in spamfilter now really means 'perm', not '*line for
0 seconds' or something. Reported by Certus.
2004-02-23 22:20:02 +00:00
Bram Matthys a16533d0e9 - Improved dcc blocking support (both for spamfilter and deny dcc). 2004-02-23 17:28:07 +00:00
codemastr 1435dcb9fa Fixed a TKL update bug with sqlines 2004-02-22 22:30:59 +00:00
Bram Matthys 139e019e30 - Added some extra debugging for tkl update notice...
- Fixed a problem in 'tkl update': lowest expire time won instead of
  highest. Reported by Malcolm.
2004-02-22 22:14:00 +00:00
Bram Matthys a54752dd9e - Added a warning if your listen portrange affects >100 ports
(eg for idiots doing 6667-7000 which uses 333 sockets).
2004-02-22 20:43:59 +00:00
Bram Matthys 511ca1c3ec - Minor fix for previous.
- Improved 'viruschan' spamfilter target:
  - better msg after the forced join
  - +oaq's in set::spamfilter::virus-help-channel receive a notice about
    which filter the user matched.
  - it disables all commands except PONG, ADMIN, and msg/notices to
    set::spamfilter::virus-help-channel.
- Made snomask +S also show the spamfilter reason field.
- Added class::pingfreq checking, should be 30-600 now.. else you might
  get mysterious (mass) disconnect issues.
- Lol, I made /connect dissapear during modulizing ;).
2004-02-22 19:39:43 +00:00
Bram Matthys 8e0b0eb0fa in-between-commit 2004-02-22 19:34:44 +00:00
codemastr a09d36532e Moved qlines to TKL 2004-02-22 18:41:06 +00:00
Bram Matthys ce850c8317 really.. 2004-02-22 03:23:31 +00:00
Bram Matthys 86e58f58ba now? 2004-02-22 03:21:51 +00:00
Bram Matthys 9bd077b7cd no it's not fixed syz, CHAOS chaoooos 2004-02-22 03:20:06 +00:00
Bram Matthys d071464264 - Fixed a bug which prevented "/spamfilter del[..]" from working.
Reported by Fury (#0001575).
2004-02-22 03:08:43 +00:00
Bram Matthys 790a69a402 compile fixes 2004-02-22 02:56:28 +00:00
Bram Matthys 2a8252d0c0 - Modulized: connect... should be the last one till 3.2final.
- Fixed some compile warnings/problems caused by modulizing.
2004-02-22 02:53:07 +00:00
Bram Matthys 3f14551bc2 pjoink 2004-02-22 02:52:12 +00:00
Bram Matthys 346dc05818 - Modulized: svsfline, dccdeny, undccdeny, whowas 2004-02-22 02:40:13 +00:00
Bram Matthys 6ca03d0922 win compile fix 2004-02-22 02:02:05 +00:00
Bram Matthys f47d14342c winfix 2004-02-22 01:59:50 +00:00
Bram Matthys 7b3fe6a13d - Modulized: server, stats 2004-02-22 01:57:47 +00:00
Bram Matthys 01143520c6 made it compile on win32 again 2004-02-22 00:33:54 +00:00
Bram Matthys 5afdd3139f removed m_eos... win compile fun 2004-02-22 00:31:12 +00:00
Bram Matthys 1612b284be GRRR 2004-02-22 00:28:30 +00:00
Bram Matthys efa91d73b4 removed wallops 2004-02-22 00:25:15 +00:00
Bram Matthys 809b19743e - Modulized: netinfo, links, help, rules, close, map, eos and made it compile on win32 again. 2004-02-22 00:21:58 +00:00
Bram Matthys f997b16918 - Modulized: addline, addmotd, addomotd, wallops, globops, locops, chatops,
admin, trace.
- Removed: gnotice, goper
2004-02-21 23:40:58 +00:00
Bram Matthys 8ebf5b9a18 - Updated docs on tempshun and new spamfilter features. 2004-02-21 15:50:15 +00:00
Bram Matthys bbda4bcc6b - Added /tempshun, temporary shuns the current session of specified nick
(just like the 'tempshun' in spamfilter and ban version). Suggested by
  Cnils (#0001526). [docs/help.conf will be updated later]
2004-02-21 04:24:21 +00:00
codemastr 6016b57f1d ... 2004-02-21 01:10:58 +00:00
codemastr f8a13c22b2 Remote include fixes for Windows 2004-02-21 00:52:54 +00:00
Bram Matthys 81a1431665 - Fixed a bug in 'Flood from unknown connection' (#0001566). 2004-02-20 23:47:07 +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 389c51c212 Fixed a problem with setting +qaohv on a +S user 2004-02-20 04:16:53 +00:00
codemastr fc4649781c Remote include fix to deal with memory corruption bug 2004-02-20 03:51:01 +00:00
codemastr 110bc140c6 Made PATH_MAX get found under Solaris 2004-02-19 23:11:38 +00:00
codemastr 05030fa603 Fixed allow::options::noident 2004-02-19 00:16:26 +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 145bf5dc1d - Fixed a bug in the unreal_checkregex() routine which could cause a crash
if you added an invalid regex. Reported by Tony (#0001556).
or... 'freeing a buffer on the stack is not exactly good!' ;)
2004-02-18 00:27:30 +00:00
Bram Matthys 8992874efa - Added support for single-target specifiction like spamfilter { regex "blah";
action kill; target private; }; previously it didn't warn/error on this
  but it didn't work either.
2004-02-17 21:09:56 +00:00
Bram Matthys 4769908543 - Added some set::throttle::* checking if insane values were supplied.
Reported by Troco (#0001555).
2004-02-17 20:47:43 +00:00
stskeeps 9cfc83d98d Changes 2004-02-17 20:45:03 +00:00
Bram Matthys d6e0d8ba0e - Module coders: for extended channelmodes the EXCHK_ACCESS* the return
value should now be one of EX_*:
  EX_DENY        : disallowed, except for oper override
  EX_ALLOW       : allowed
  EX_ALWAYS_DENY : disallowed, even in case of operoverride (eg for
                   operlevel modes like +A).
  Note that it's backward compatible since TRUE/EX_ALLOW=1 and FALSE/EX_DENY=0.
- Fixed a few bugs with oper override & extended chanmodes, for example
  chanmode +T could not be set by a globop w/can_override and non-+hoaq.
2004-02-17 20:37:26 +00:00
codemastr 6696331f66 Slightly changed extcmodes access control 2004-02-17 01:15:16 +00:00
Bram Matthys 9c8a1047f4 more more more! 2004-02-17 00:52:24 +00:00
Bram Matthys 4ab6fe18e4 abc! 2004-02-17 00:47:21 +00:00
Bram Matthys bb936d21f6 pjoink 2004-02-17 00:46:31 +00:00
codemastr 6648072334 Modulized knock, umode2, squit, protoctl 2004-02-17 00:40:42 +00:00
Bram Matthys f775b3cf91 sjoin, pass, userhost, ison, silence modulized... 2004-02-17 00:20:24 +00:00
codemastr a306586071 ... 2004-02-16 23:20:24 +00:00
codemastr 38adc8e08a Modulized time and svskill 2004-02-16 23:17:13 +00:00
codemastr ee54d529b2 Added HOOKTYPE_REHASH_COMPLETE 2004-02-16 23:03:42 +00:00
Bram Matthys 376fecbf18 TYPO 2004-02-16 22:21:10 +00:00
Bram Matthys 3e9ea217fb boink 2004-02-16 22:18:51 +00:00
Bram Matthys 01c5b99faa - Added [OLD?] flag in /module so you can easily spot old beta* modules.
- Modulized: samode, sajoin, sapart, kick, topic, invite, list
2004-02-16 22:10:39 +00:00
codemastr 1fd40599ce Fixed an ircsprintf problem with SJB64 2004-02-16 22:06:37 +00:00
codemastr 1f7a1dfb2b Docs typo fix 2004-02-16 16:58:10 +00:00
Bram Matthys 8789c6860a HMM!!! 2004-02-16 15:11:00 +00:00
stskeeps 43cc8b4875 Renamed HOOKTYPE_LOCAL_TOPIC to HOOKTYPE_TOPIC and made it actually work. 2004-02-16 10:58:44 +00:00
stskeeps f33bfea7b2 - Added HOOKTYPE_UMODE_CHANGE (sptr, oldflags, newflags) - this may
not be accurate as umode changes are done manually many places.
2004-02-16 10:03:32 +00:00
codemastr 794ce094a4 Removed reference to svstime in help.conf 2004-02-16 04:59:33 +00:00
Bram Matthys 3c9f54fb45 - Fixed a bug in "unkickable users" (umode +q), they could still be kicked
by non-netadmin ircops in some (many) cases, reported by Zell (#0001541).
note: this fix is still "wrong", because the whole override/whatever
system is flawed ;p.
2004-02-15 16:14:16 +00:00
codemastr f8a2359f62 Fixed a tmp/ bug on Linux 2.2 and updated /Credits 2004-02-15 05:06:59 +00:00
Bram Matthys da86427258 *** RC1 release *** 2004-02-14 19:48:12 +00:00
Bram Matthys 46ed9c2ef7 pjoink! 2004-02-14 19:26:43 +00:00
codemastr 36673fe643 Changed version to RC1 2004-02-14 19:16:09 +00:00
Bram Matthys 476e2ce72b - Fixed fdlist bug/warning if a local operator /oper'd up twice. Reported by DukePyrolator (#0001539). 2004-02-14 17:09:33 +00:00
Bram Matthys 28174f6e44 this should be it.. hopefully... 2004-02-14 16:37:52 +00:00
Bram Matthys cc91e5fde3 - Ouch!! Fixed a severe bug which caused opers not being recognized on remote
servers causing various problems... This was caused by a change 1-2 days ago.
  Reported by Rocko (#0001537).
2004-02-13 20:49:43 +00:00
codemastr b8c0185563 setup.h.in cleanups 2004-02-13 04:52:07 +00:00
codemastr 865ac6f8a5 Added a new Donation file 2004-02-12 23:03:41 +00:00
Bram Matthys f7bc069ef7 typo :p 2004-02-12 01:23:28 +00:00
Bram Matthys f1be169364 - We are having fun with Makefiles... 2004-02-12 01:17:33 +00:00
Bram Matthys 1d9168e957 - Added 80% of release notes, rest will be added a day before release or so :). 2004-02-12 00:25:32 +00:00
codemastr 0a1822a628 Added m_svssno 2004-02-12 00:19:10 +00:00
codemastr a607cc8b19 Added svssno/svs2sno 2004-02-11 23:04:36 +00:00
codemastr 8e55a798fa Made mknod deal with umask settings 2004-02-11 03:51:47 +00:00
codemastr 176ce7b047 Removed remote restart 2004-02-11 03:47:59 +00:00
codemastr e4dddbe7c0 Fixed a problem with config loading and module errors 2004-02-11 03:44:31 +00:00
Bram Matthys 3f4eb6ab46 - Started using the umode->allowed stuff a bit ourselves, just to be sure. 2004-02-10 23:28:43 +00:00
Bram Matthys 0bc26457b1 - Fixed a snomask bug reported by Cat / HERZ (#0001531). 2004-02-10 15:51:21 +00:00
Bram Matthys f916c64422 - Added a section "Security tips/checklist" to unreal32docs.html, this is something
I worked on a few months ago... It tries to explain how to get a server/network
  secured, what the potential risks are, etc... Of course security is a complex topic
  so I cannot talk about everything in it, but I tried to mention the main risks and
  what you can do about it in a (hopefully) simple and understandable language ;).
2004-02-10 01:21:26 +00:00
Bram Matthys bfa00c8626 - Fixed minor compile warning. 2004-02-07 22:51:13 +00:00
Bram Matthys ebbeddf969 - Forgot to add src/modules/m_sendsno.c to CVS, also fixed 2 compile warnings
and a crashbug related to previous commit.. bug hunting will continue ;).
2004-02-07 17:05:44 +00:00
Bram Matthys 3671a765cb this should be the last "big commit" before release :p.
- Added snomasks 'S' (Spamfilter) which notifies you of any spamfilter matches.
- [internal] always return after spamfilter match, don't continue looping trough
  targets list (eg in case of: /msg #a,#b,#c spamspam), otherwise you would get
  duplicate notification msgs.
- Added SENDSNO server command, similar to SENDUMODE but for snomasks, this is
  used by the spamfilter snomask (+S) so you get network-wide notifications.
- Added "compiled for.." versioning system, this way a beta17 module can't be loaded
  on beta18, etc... People often forgot to recompile their modules or had old ones
  somewhere by mistake, therefore crashing after upgrades... this should fix this
  (in the future). Module coders don't have to do anything for making this work,
  it's done automatically (via modules.h).
2004-02-07 15:49:37 +00:00
Bram Matthys a29dc83e69 - Ripped out fast (bad)words support out of spamfilter to avoid confusion, also renamed
spamfilter::word to spamfilter::regex to make it even more clear (since we match
  on the whole line and have nothing to do with words.. 'word' doesn't make sense).
- Updated docs with some better regex examples, reported by AngryWolf (#0001520).
2004-02-06 21:37:28 +00:00
codemastr 45c557f0ec Made -qaohv on +S require +N 2004-02-05 22:58:24 +00:00
Bram Matthys 4d2de582f1 doc updates on snomask N 2004-02-05 19:52:55 +00:00
Bram Matthys e52cf2119a - [internal] cleaned up snomask removal after deoper, now remove_oper_snomasks() is
called which might look a bit ugly, but is better than before (scattered on 3 places).
- Added snomasks 'N' which allows you to see nick changes of clients on other servers,
  requested by several people (#0001323).
2004-02-05 19:47:37 +00:00
Bram Matthys 1d12b2b0f9 - Made blocked dcc notices (sent to umode +v) global, suggested by neothematrix (#1513). 2004-02-05 02:12:01 +00:00
Bram Matthys 781cce98cb - '/rehash -all' had bugs and is now considered depricated, just use '/rehash' instead.
On '/rehash' we reload everything already so the '-all' option was useless anyway.
  Reported by fez (#0001516).
2004-02-05 01:52:09 +00:00
Bram Matthys d4723ee2e2 - Added can_dccdeny operflag so you can give your local/global opers access to this too.
Co-admin, admin, sadmin and netadmin get it by default. Suggested in #0001247.
- Updated operflag docs.
2004-02-05 01:34:59 +00:00
Bram Matthys 43b5886b7e - Limited 'All Connections in Use' message to max 1 every 15s, this DOES NOT mean we will
introduce throttling of other msgs (or making this configurable)... this is just
  an exception because this msg is sent to _all opers_ and you cannot disable it by
  unsetting certain snomasks. Anything lower than 15s would be bad anyway since this
  is a very serious error condition. Requested by LoVeR (#0001412).
2004-02-05 00:50:40 +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
codemastr 425a4e57ee Fixed a remote include cached file bug 2004-02-04 01:58:48 +00:00
Bram Matthys 7b4ef15606 - Fixed invalid nameserver info when chrooted (nameserver was always localhost). 2004-02-03 22:42:27 +00:00
Bram Matthys a65906bc5e - Fixed issue when 2 servers link with identical user@host *:lines but with different
expire times, reason field, etc... Entries are now fully synced between servers.
  Reported by Cnils (#0001448).
- Added umode +T to help.conf
- Fixed an issue with add/del/remove in /spamfilter being case sensitive.
2004-02-03 21:13:02 +00:00
codemastr 165da0c5bd Some setuid/setgid and chroot changes and sajoin changes 2004-02-03 19:02:53 +00:00
Bram Matthys 094acdf25c - Cosmetic 'stats /zip' output change (#0001435).
- Made services admins able to see on which channel services bots are, just
  like a netadmins can, suggested by EviL_SmUrF (#0001481).
2004-02-01 19:52:47 +00:00
Bram Matthys 96925ef9b4 - Fixed possible compile bug (caused by HOOKTYPE_TKL_EXCEPT). 2004-01-31 21:05:41 +00:00
Bram Matthys 5d4e4339ff - Added HOOKTYPE_TKL_EXCEPT (arg: cptr, tkline) which is called from find_tkline_match
and find_tkline_match_zap. This can be used to add custom TKL exceptions.
2004-01-30 21:48:41 +00:00
codemastr 4ce745ca37 SSL fix and added can_setq 2004-01-30 21:13:32 +00:00
codemastr 66700cf631 Prevent multiple spaces in a MODE message 2004-01-30 00:50:42 +00:00
codemastr 0d70cd81d7 Fixed a problem with the snprintf checking code 2004-01-29 22:57:20 +00:00
codemastr 10aa5e9978 Made ./Config remember libcurl directory 2004-01-29 22:38:40 +00:00
Bram Matthys 3821d5c558 - Fixed '/SetHost Error' flood from all servers in some circumstances like re-opering, reported by blotter45 (#0001400). 2004-01-29 16:58:05 +00:00
Bram Matthys 6ef85abc6f - updated /stats help and docs on '/stats f' 2004-01-29 16:50:02 +00:00
Bram Matthys be83c94c68 - added set::spamfilter::* to docs 2004-01-28 00:57:43 +00:00
Bram Matthys 8f4dd07074 - win32 compile fix (typo) 2004-01-28 00:24:57 +00:00
Bram Matthys d2c6bb5ad5 spamfilter etc... *pray* 2004-01-28 00:16:33 +00:00
codemastr bd5b7ee6b8 Fixed a bug with HOOKTYPE_CONFIGTEST with perm modules 2004-01-27 00:25:03 +00:00
Bram Matthys 3aef23eecf added HOOKTYPE_REMOTE_CHANMODE 2004-01-22 22:47:19 +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 7c4418113b - Changed random number generator to use arc4random-alike routines so we can get "secure"
random numbers. We will also no longer be using rand()/random() anywhere.
  Thanks to dek\ for pointing out this is potentionally dangerous, especially on
  win32 with NOSPOOF enabled.
2004-01-19 19:49:28 +00:00
codemastr dc11242795 Made the configure script not add -I or -L for /usr/include and /usr/lib 2004-01-18 21:58:01 +00:00
codemastr de40c73a20 Updated /module docs 2004-01-18 21:41:41 +00:00
codemastr 560af0ec1b Added set::silence-limit 2004-01-18 20:27:38 +00:00
codemastr 80dc3a80bc Updated /stats docs 2004-01-17 20:56:20 +00:00
codemastr 3185d8c23b Added HOOKTYPE_PRE_LOCAL_QUIT 2004-01-17 20:37:52 +00:00
codemastr c07e1f96e1 Renamed FAKE_LAG_FOR_LOCOPS and made chanops override chmode +V 2004-01-17 20:13:48 +00:00
codemastr e406e0d99a Added EXBCHK_PARAM and some noew logging flags 2004-01-17 19:30:46 +00:00
codemastr f6ed927791 Made permanent modules receive HOOKTYPE_REHASH 2004-01-17 19:01:25 +00:00
codemastr e7c7909d66 Various minor changes 2004-01-17 18:38:40 +00:00
Bram Matthys 3980a7f7f6 - internal: Ok, I'm committing this in parts... did most of the TKL spamfilter
integration now, no.. it doesn't work at all yet but most of the internal stuff
  has now been done (but I temporarely need to work on other things now).
   moved/added a lot of regex stuff, banaction/spamfilter helper functions, etc
  into s_misc.c. [note: current code has some bugs but since the stuff isn't
  used that's no problem... it's also a bit ugly, do NOT mail me about these things ;p]
- Enabled talk-trough-+M for opers (just like +m)
- Disabled talk-trough-+m/+M for opers if NO_OPEROVERRIDE is defined
- Display zlib/SSL version in /version (oper only)... will prolly be improved later.
- updated doc/compiling_win32.txt
2004-01-16 21:40:18 +00:00
codemastr cfa469a940 Doc change 2004-01-11 21:36:57 +00:00
codemastr cbf7f33bf1 /who fixes 2004-01-11 21:01:53 +00:00
codemastr 58d2882fb5 Fixed a /kick bug 2004-01-11 15:38:24 +00:00
codemastr 11877f5270 Various fixes 2004-01-10 16:33:26 +00:00
codemastr ccd8318cd4 Extban fixes 2004-01-10 05:53:36 +00:00
codemastr aeff467a36 Made extbans use the module objects system 2004-01-09 00:56:15 +00:00
codemastr 5ce3fcc1e3 Fixes for TRE under win32 2004-01-08 19:00:44 +00:00
codemastr 973ac25a4a Made CmodeAdd return MODERR_EXISTS if the mode already exists 2004-01-08 16:51:29 +00:00
codemastr 1da0b9a540 Bug fixes and EXTBAN 005 token 2004-01-08 16:39:35 +00:00
codemastr 759be00efe Fixed a compile bug regarding TRE 2004-01-07 00:28:46 +00:00
codemastr 3dd67bf248 Integrated TRE into Unreal 2004-01-04 20:12:31 +00:00
codemastr ce14fdec61 Added TRE compiling 2004-01-04 19:11:50 +00:00
codemastr ab919886b5 More work on TRE 2004-01-03 17:43:29 +00:00
codemastr 57dcbd80f7 Operoverride fixes 2004-01-03 05:01:00 +00:00
codemastr decc5ba107 Remove FLAGS_TS8 stuff 2004-01-03 01:23:08 +00:00
codemastr d274d493fd ... 2004-01-02 23:12:27 +00:00
codemastr 43070cde48 More TRE stuff 2004-01-02 21:15:35 +00:00
codemastr 5de605d767 Made the TRE library get compiled 2004-01-02 20:30:41 +00:00
codemastr be84de8bde Updated the TRE library source to 0.6.4 2004-01-02 20:14:15 +00:00
codemastr 7c0620eae8 Updated the win32 TRE lib to 0.6.4 2004-01-02 20:04:35 +00:00
codemastr 1ff17b798e Updated the TRE library source code to 0.6.3 2004-01-02 04:32:35 +00:00
Bram Matthys 56cb95f189 - internal: Modified TKL system (getting ready for anti-spam system):
Instead of 1 big list of *lines, it's now an array to easily distinct between types.
  Also made tk->usermask static (USERLEN+2) instead of dynamic.
  These changes should give enough speed improvement to make the new anti-spam/anti-ads
  feature fast enough.
2004-01-01 22:53:50 +00:00
codemastr 081056522e More remote include fixes 2003-12-31 21:24:23 +00:00
Bram Matthys 0e0015a77a - Added some additional warnings for insane large values for allow::maxperip, and class::* stuff. Reported by Erik_Rana (#0001463). 2003-12-31 17:22:10 +00:00
codemastr 042ce07691 Various remote include fixes 2003-12-30 18:45:40 +00:00
codemastr 829a3c8a1f Made remote includes work with SSL protocols 2003-12-26 00:51:25 +00:00
codemastr 3be92d0201 added configure checks for libcurl and other various changes 2003-12-26 00:29:36 +00:00
codemastr f8e916d356 Fixed a bug with unloading modules on Mod_Load failuer 2003-12-23 22:28:42 +00:00
codemastr 084d57cef1 Updated TRE dll and fixed a MAX_PATH problem 2003-12-23 01:47:02 +00:00
codemastr 99d1b1e0d1 Made it possible to use remote includes in win32 2003-12-23 00:25:04 +00:00
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
Bram Matthys 93e187f4a3 - As expected, fixed a crashbug in extended bans system. Reported by Rocko (#0001444). 2003-12-21 14:48:48 +00:00
codemastr da3afb3420 Made the extban stuff compatible with the module API 2003-12-20 21:21:10 +00:00
Bram Matthys 240f7fbd04 minor fix 2003-12-19 23:50:11 +00:00
Bram Matthys 6ad735364f - Updated win32 makefile... 2003-12-19 23:43:25 +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
codemastr cd5567a02a Merged the win32 makefiles into one file 2003-12-19 20:18:37 +00:00
codemastr 3439f9f02b Added include/url.h 2003-12-17 19:19:10 +00:00
codemastr f8486ab94b Added a patch to make hide-ulines apply to /who, /whois and /whowas 2003-12-17 03:24:47 +00:00
codemastr af289c8687 Various fixes and changes 2003-12-16 19:39:38 +00:00
codemastr 53f0297b8c Started some work on the remote include system 2003-12-14 04:49:46 +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 6c4e63656b - Made it compile at windows again 2003-12-10 03:28:40 +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
Bram Matthys cb6b67e586 - Made "chanop notices" only go to @#chan on non-prefixaq servers (and to ~&@#chan otherwise),
internal: added ugly macro CHANOPPFX which is "~&@" if prefix_aq, else "@".
2003-12-10 02:28:12 +00:00
codemastr f2a2fa77c8 New module rehash system fixes 2003-12-07 04:58:39 +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 5a6e957a9d docs.. 2003-12-06 00:27:59 +00:00
Bram Matthys 5a48671691 - Added channelmode +T: no notices allowed in channel. 2003-12-05 22:43:48 +00:00
Bram Matthys 6d497a9ae6 - '/rehash <server>' didn't reload motds&rules files, reported by w00t (#0001409). 2003-12-05 14:55:11 +00:00
Bram Matthys 5cec9564f6 kine-address to kline-address 2003-11-30 23:25:46 +00:00
Bram Matthys b537553d2e - example.conf: added +i in modes-on-connect.
- Temporarely added fdlist debugcode, please report any bugreports it gives,
  it would especially be helpful if you know _what_ triggered the error :).
2003-11-30 23:17:33 +00:00
codemastr b27e04b7a1 Fixed a bug with SVSNLINE - 2003-11-30 00:48:37 +00:00
Bram Matthys 1f0e883094 documented E version flag... 2003-11-26 19:57:43 +00:00
codemastr 5eafc5a1bc Fixed a problem with the rehashflag hook 2003-11-26 19:52:13 +00:00
codemastr 957e72dd98 Added HOOKTYPE_PRE_LOCAL_PART 2003-11-26 19:51:02 +00:00
codemastr abef160bce Changed the callback for HOOKTYPE_REHASHFLAG 2003-11-24 21:28:46 +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 e43e1e1799 got everything ready for sts to tag :p 2003-11-23 17:33:57 +00:00
Bram Matthys 364c4a879c - Changed version to beta19 2003-11-22 23:52:01 +00:00
Bram Matthys 9eedf89ea5 typo, gr! 2003-11-21 20:43:52 +00:00
Bram Matthys 044d01e1d7 - Added stuff that will easy the transition to extended bans next release.
- Added beta19 release notes
- Made USE_ZIP the default again in src/win32/unrealinst.iss
2003-11-21 20:30:53 +00:00
Bram Matthys 948b4e61ad - Added comment regarding MLOCK and set::restrict-chanmodes in unreal32docs.html.
- Made PREFIX_AQ a ./Config question at *NIX and enabled it by default at Win32.
2003-11-21 15:13:45 +00:00
Bram Matthys fd5579dbde - Fixed a compile problem on alpha, reported by Hyperi (#0001374).
- Made "operator count bug" not notice all opers (log only), unless in debugmode.
2003-11-20 19:33:03 +00:00
Bram Matthys 3897fa417b - Made OperOverride work for chanmode +Q (#0001370).
- A few example.conf changes.
2003-11-20 17:28:40 +00:00
Bram Matthys b462450293 - Made /rehash reread botmotd and opermotd (#0001291). 2003-11-20 02:22:01 +00:00
Bram Matthys dee0370ced - Fixed remote BOTMOTD bug reported by Angrywolf (#0001365).
- Workaround for "special ban makes it impossible to add other bans" bug
  reported by wilkie, SerialKillinNinja, etc.
2003-11-20 01:37:42 +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 eacfd5eb5c - Fixed a snomask issue reported by Magnet (#0001354). 2003-11-11 23:22:53 +00:00
Bram Matthys dc73bd3a2d - Made win32 work again (broke it by /module patch 35 minutes ago). 2003-11-11 20:20:23 +00:00
Bram Matthys d6fd665ede - Multiple /module changes (the command):
- Normal users can now get a list, versioninfo will be hidden however.
  - Opers get some additional details like hooks and commandoverride's.
  - Opers can use /module <servername> to get a remote list of loaded modules.
  - Added flag [3RD] to show it's a 3rd party module
  This was requested by by quite some people because serveradmins started to load
  "spy modules" without clearly mentioning it in the MOTD (which is highly unethical
  and in some countries even illegal due to privacy law). Also the remote module
  list was requested by quite a few opers.
  Sure, this isn't a 100% guarantee but at least if someone goes hiding stuff
  then it's clear what their intentions are (and thus will be refused support, ..).
- Changed emailaddr in help window at windows to unreal-users mailinglist.
- Made the cloak mismatch msg during linking a bit more scary.
- Added comment to 'Install as a service' option in installer to help n00bs a bit.
2003-11-11 19:45:09 +00:00
Bram Matthys 58f0749fa3 - Fixed desynch bug regarding extended channelmodes. Reported by AngryWolf (#0001347) 2003-11-09 02:52:43 +00:00
Bram Matthys 9d33644df1 - Fix for permanent modules w/ config hooks (they were not called). 2003-11-06 17:34:46 +00:00
codemastr 17104a0d9e Removed references to tkline/tzline from help.conf 2003-11-05 23:47:02 +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 c3dd8d08d5 - Made it so chanmode +f flood detection doesn't apply to u-lined servers. This was
already indirectly the case because services don't support the EOS command, but
  now some (homemade) services do :p. Reported by Troco (#0001337).
2003-11-04 00:27:31 +00:00
Bram Matthys 448ad3839a - Fixed a UMODE2 bug. 2003-11-03 17:10:20 +00:00
Bram Matthys ae87101170 - Added insane OperOverride system for joining +z channels (#0001189).
This seems better than just allowing the insecure oper trough +z.
2003-11-03 01:06:23 +00:00
Bram Matthys 3b37b0927f - Fixed a bug where link::options::autoconnect wasn't working after rehash, ircd
had to be restarted to make it work. Will now try to connect on /rehash to
  servers with autoconnect enabled. Bug was reported by Rocko (#0001321).
2003-11-03 00:05:47 +00:00
Bram Matthys 1e162381ac - Fixed some other weird remote PING/PONG stuff as well. 2003-11-02 20:05:12 +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
Bram Matthys e52956fd77 - Don't allow remote pongs if unregistered. 2003-11-01 13:58:44 +00:00
Bram Matthys 79bc20a994 - Minor doc updates regarding snomasks reported by Stoebi (#0001324).
- Fixed two OperOverride kick bugs:
  - If ircop is +h and victim is +h it would deny it, reported by Special (#0001308)
  - Ircops (all except netadmin) had trouble kicking +q people, if the ircop isn't
    op'ed he can kick them, but if he has +o he can't. Reported by Michi (#0001012).
  If you use mixed unreal versions you can get desynch problems if you use those
  fixed things (like kick a +h if you are +h) because older servers will still block
  the kick. You will receive a 'You cannot kick channel' message from every older
  server so you'll at least be notified ;p.
2003-10-31 19:08:47 +00:00
stskeeps 5a32b8dc7e foo 2003-10-31 17:13:34 +00:00
stskeeps ba0dd97653 foo 2003-10-31 16:50:10 +00:00
Bram Matthys 2c00dd0546 added set::ban-version-tkl-time to /stats S and updated docs. 2003-10-30 21:38:45 +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 5baebf692b - Moved it a bit too far (outside the loop), should be fixed now. 2003-10-28 18:47:05 +00:00
Bram Matthys 60f7aadf05 - Module coders: Moved call to HOOKTYPE_LOCAL_JOIN down to where the JOIN, NAMES, etc
are already sent... this seems to make more sense since we have a prejoin hook now.
2003-10-28 02:00:28 +00:00
Bram Matthys 9f4ce0d91d Added set::options::allow-part-if-shunned, is that name long enough? god.. 2003-10-27 00:44:41 +00:00
codemastr 4fcae4f1a1 Made DCC deny work with files with spaces 2003-10-26 20:39:47 +00:00
Bram Matthys 4264082420 - Fixed a bug regarding +f and bounce modes, would cause a crash, reported by Rocko. 2003-10-26 20:05:38 +00:00
Bram Matthys ff85a1f7b4 - Added HOOKTYPE_REMOTE_NICKCHANGE (called like: cptr, sptr, newnick). 2003-10-25 18:51:49 +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 2a469b1942 - Fixed a problem regarding module hooks, if a hook was called within a hook it could cause
problems (like pre connect hook -> exit_client -> quit hook).
2003-10-23 22:15:52 +00:00
Bram Matthys be86f0db32 - Fix for +L without +l desynch on serverlinking. 2003-10-23 17:30:32 +00:00
Bram Matthys ea7aca9a66 "typo"... not all *lines are glines :p 2003-10-19 20:11:33 +00:00
Bram Matthys 7efd5e8cda - Fixed gline with weird value causing a crash at windows, reported by Spectre (#0001309). 2003-10-19 20:03: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
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 b189e632c9 - Now it would be even better if it actually compiles... 2003-10-14 04:26:27 +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 0e22126286 Added the ability to limit /who replies 2003-10-03 23:36:39 +00:00
Bram Matthys 5a65bcac20 blah... useless change. 2003-10-03 20:01:15 +00:00
Bram Matthys 8359ab9c76 - Fixed even more negative oper count bugs... 2003-10-03 19:52:12 +00:00
codemastr 97402c11a6 Fixed a negative oper count bug in SVSNOOP 2003-10-02 22:32:53 +00:00
codemastr 573dc68378 Documentation fixes 2003-09-28 21:08:52 +00:00
codemastr 59d73bf18c Added a command override system for modules 2003-09-28 19:43:15 +00:00
Bram Matthys 7d95c02ed1 - Minor botmotd-on-mode+B fix (was causing some useless servertraffic). 2003-09-28 02:06:03 +00:00
codemastr db445c0faf Sped up the message searching functions 2003-09-27 00:29:24 +00:00
codemastr 6612642d47 ... 2003-09-24 00:15:34 +00:00
codemastr 55ce8f9356 fixed a problem with tre.dll 2003-09-24 00:06:00 +00:00
Bram Matthys b0705fb7c5 - Changed version to 'beta18' 2003-09-21 22:19:38 +00:00
codemastr 3e4cfea3da Updated modules to use the new macros 2003-09-21 19:59:50 +00:00
Bram Matthys 7646a3735c - Minor doc update. 2003-09-21 18:09:14 +00:00
cknight 138923af18 Added ref link to section 4.9 from section 4.34 2003-09-21 18:04:54 +00:00
cknight 6b5adc7fe8 Updated .CHANGES.NEW to read Beta18 2003-09-21 17:23:54 +00:00
cknight b1338a1b41 Very Very small change to doc/example.conf 2003-09-21 16:46:25 +00:00
Bram Matthys 1b719f393f - Fixed hunt_server* bug 2003-09-21 16:40:54 +00:00
Bram Matthys 59a417e369 - Fixed a win32 resolver lockup bug 2003-09-21 14:31:17 +00:00
codemastr d803c716d6 Added some macros for modules 2003-09-20 23:39:45 +00:00
codemastr d051786f5c Channel hook changes 2003-09-20 19:57:46 +00:00
Bram Matthys 729689a4cd - Fix for HOOKTYPE_REMOTE_QUIT (was called for local quits too) 2003-09-20 14:47:47 +00:00
codemastr af2834d5e9 Added HOOKTYPE_REHASHFLAG 2003-09-20 00:20:36 +00:00
Bram Matthys 7aa7ea31b8 - Added beta18 release notes (might be changed) 2003-09-19 23:00:38 +00:00
codemastr b72b10d5ae TRE 2003-09-19 21:24:47 +00:00
Bram Matthys a316e4af6f - Added HOOKTYPE_REMOTE_QUIT 2003-09-18 23:41:32 +00:00
Bram Matthys 2d4f52665c - Added HOOKTYPE_LOCAL_PASS and HOOKTYPE_REMOTE_CONNECT 2003-09-18 01:31:10 +00:00
Bram Matthys d722051fb6 - Added set::default-bantime. It allows you to set the default time for a gline/kline/gzline/shun/etc when the time is not not specified (like with /gline *@*.stupid.net). 2003-09-18 00:08:48 +00:00
Bram Matthys 36392a485e +f regarding -R/-M blalbalba docs etc, grr commit plz! 2003-09-15 19:25:24 +00:00
codemastr 4ec62271c8 Made the win32 version use libtre for regex instead of GNU regex 2003-09-14 23:35:33 +00:00
codemastr 142f037fd2 Linux PPC fix 2003-09-14 16:43:02 +00:00
Bram Matthys 3c96db4e4d - Added HOOKTYPE_UNKUSER_QUIT (disconnects of unregistered clients). 2003-09-14 16:17:38 +00:00
codemastr 192556763f Fixed a win32 resolver bug 2003-09-12 21:33:11 +00:00
Bram Matthys 04f934d04c - Finished some of the extcmode code (memleaks). 2003-09-12 01:58:11 +00:00
Bram Matthys b63c1d2399 - Added checks for ipv4 listen lines on ipv6 compile. 2003-09-12 00:05:55 +00:00
Bram Matthys 7e2ca393ad - Minor +f code tweaks. 2003-09-11 19:33:20 +00:00
Bram Matthys 8f5fcc1704 - Fix-for-fix-for-+mu-fix (it was still crashing)... don't ask. 2003-09-08 00:29:02 +00:00
Bram Matthys 217c9ee30d there was no newline at end :p 2003-09-07 23:17:28 +00:00
Bram Matthys 6057b5749a - Fixed a SVSMOTD crashbug (removing of motd). 2003-09-07 22:55:15 +00:00
Bram Matthys 9e23c67a61 - Fixed Q:lined nickname msgs during linking and a debug fix. 2003-09-07 21:05:42 +00:00
Bram Matthys 632e0cbf88 - Improved SSL error msg sent to junk snomask. 2003-09-07 18:14:19 +00:00
codemastr d0a632a7b1 Fixed a typo 2003-09-07 16:07:41 +00:00
Bram Matthys 6237ee2239 - Fixed a crashbug introduced by +mu fixes 3 days ago (#0001237). 2003-09-07 15:50:11 +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 06cdd686de - Added clientsonly/serversonly/ssl/java flags to /stats P (#0000992). 2003-09-06 19:46:43 +00:00
Bram Matthys 7aa1ff0f78 - Added warn option to deny channel, this will send a notice to the eyes snomask when a user attempts to join. Suggested by Joolz (#0000992). 2003-09-06 19:27:37 +00:00
Bram Matthys 1eabf58160 Made it so that with +M and user not +r and not voice/halfop/ops/etc the part message isn't shown, just like with +m. 2003-09-06 00:39:07 +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 8899e0b366 - Will now strip/block color codes in quits if any channel the user is in has mode +S/+c. 2003-09-05 22:19:09 +00:00
Bram Matthys 4975d04299 - Badwords filtering is now only done for local clients, previously every server was filtering the message. This will reduce CPU usage, especially at hubs (#0001022). 2003-09-05 21:53:19 +00:00
Bram Matthys 4128d32eab - Fixed a chroot bug, reported by iceblade (#0001112). 2003-09-05 21:13:36 +00:00
Bram Matthys 153a3eea53 blah 2003-09-05 21:00:25 +00:00
Bram Matthys 8bfcc56c9e - Fixed an old bug where allow::hostname localhost (or *@localhost) didn't work (#0001115). 2003-09-05 20:38:52 +00:00
Bram Matthys 0475c6b874 - Fixed a /rehash crash regarding badword all & regex badwords, reported by Angrywolf (#0001230). 2003-09-05 20:11:48 +00:00
Bram Matthys 5c1225fc71 - Doc fixes/updates reported by Angrywolf (#0001163, #0001176). 2003-09-05 19:56:46 +00:00
Bram Matthys fb1ad02810 - Fixed a double OperOverride notice bug reported by DukePyrolator (#0001180). 2003-09-05 19:39:05 +00:00
Bram Matthys 49f5e68768 - Made anti away flood system work just like anti nick flood (#0001205). NO_FLOOD_AWAY is now enabled and away-flood is set to 4 per 120s by default. 2003-09-04 23:20:52 +00:00
Bram Matthys bc5a744312 - And another +f + modes-on-join one... 2003-09-04 20:33:20 +00:00
Bram Matthys 09178f3a0c - Fixed a crashbug with +f and services, reported by Rocko (#0001227). 2003-09-04 20:04:49 +00:00
Bram Matthys c9f03422e7 - Fixed a bug in +f + modes-on-join + 't' subfloodtype, reported by Rocko (#0001228). 2003-09-04 19:22:33 +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 8c5246bc25 - Fixed problem with opers having both 'admin' and 'coadmin' causing double-notices (#0001043). 2003-08-31 21:11:13 +00:00
Bram Matthys 7efe268c3b - Made SSL users unable to -z themselves, also added 2 flags to /stats S, reported by Joolz (#0001200). 2003-08-31 20:52:37 +00:00
Bram Matthys 331d10b5a4 - Fixed bug regarding hidden opers + m_whois cleanup (#0001208). 2003-08-31 20:04:00 +00:00
Bram Matthys 51b15e583c - Fixed minor config parser memleak reported by AngryWolf (#0001214). 2003-08-31 18:36:01 +00:00
Bram Matthys dc1a5a3e04 - Fixed a channel sync bug reported by thilo&Rocko (#0001218). 2003-08-31 18:10:16 +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 09377cf3a0 Module system error reporting support 2003-08-24 19:41:51 +00:00
codemastr 23cdfb4597 ... 2003-08-24 15:53:22 +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 bf156f47b6 - Allow opers to talk in channel even if +m (#0001109). 2003-08-17 19:39:30 +00:00
Bram Matthys e484db317d Allow o/a/q'd users to nickchange if banned (#0001150), Added badword all { }, config.h cleanup
==
- Allow o/a/q'd users to nickchange if banned (#0001150).
- Added badword all { }, this will add the badword to the badword channel, badword message
  and badword quit lists... could be useful :p.
- Little config.h cleanup (removed obsolete non-working defines).
2003-08-17 01:28:04 +00:00
Bram Matthys da18f18fa3 Minor oob read; someone forgot a parameter in sendto_one ;p 2003-08-17 00:05:38 +00:00
Bram Matthys 7f9841b01d Internal code cleanups, changed away flood configthing, added nickflood protection
===
- Internal code cleanups: EOS var rename, got rid of old UnknownUser structs, moved
  anti away flood to new flood struct.
- Changed away flood configuration to set::anti-flood::away-flood <count>:<period>.
- Added nickflood protection, can be set in set::anti-flood::away-flood <count>:<period>
  to allow max 'count' nickchanges per 'period' seconds. The default is 3 per 60s.
  As usual, the nickchange limiting does not apply to ircops.
2003-08-16 22:49:51 +00:00
Bram Matthys fe63f8476a - Fixed minor /WALLOPS bug reported by Praetorian_ (#0001195). 2003-08-16 16:11:52 +00:00
Bram Matthys 57f337a738 *just commit da crap* 2003-08-16 15:56:50 +00:00
Bram Matthys 1681fce504 multiple changes...
- Updated example.conf with a more strict default oper-only-stats.
- Made '/stats S' and '/stats Z' oper only again (always).
- Hopefully fixed incoming/outgoing rate in /stats T. Only the stats of the first
  listener was counted instead of the total. This also explains why on some (many?)
  ircd configurations it always showed 0.00 kb/s and why HTM (high traffic mode)
  was never kicking in.
2003-08-10 20:53:09 +00:00
codemastr 61fed28198 ... 2003-08-06 23:55:34 +00:00
codemastr 392fad7d3a Fixed a stats l/L bug 2003-08-06 23:55:13 +00:00
Bram Matthys 64eb8a9aa5 - A few documentation updates/fixes
- 005 CHANMODES= set back to original value before extcmode merge
- made some functions in channel.c non-static so module coders
  can use them (they are not defined in the header files [yet] however).
- fixed 2 minor oob write issues
2003-08-04 21:38:33 +00:00
codemastr c5643f70c3 Fixed a +k/+L bug with using the same parameter 2003-08-04 21:32:30 +00:00
codemastr f2ee326b4c ... 2003-08-04 20:54:51 +00:00
codemastr 73469bfea0 ... 2003-08-04 20:43:18 +00:00
codemastr 06b63be683 Added ModuleGetOptions and ModuleSetOptions 2003-08-04 20:40:32 +00:00
codemastr 78e9f881db Fixed a snomask and umode bug 2003-08-04 18:02:51 +00:00
codemastr 4db7542ee1 Recoded the usermode module system 2003-08-03 23:30:12 +00:00
codemastr c8bfc594cd Fixed a /stats bug 2003-08-03 18:05:49 +00:00
codemastr 4ac2e2ce6b /stats fixes 2003-08-03 00:00:56 +00:00
Bram Matthys 3eb5f121ef - stats bugfixes: a null pointer crash and a '/stats k' bug. 2003-08-02 00:00:21 +00:00
codemastr 83c2567d34 ... 2003-08-01 19:43:08 +00:00
codemastr 161e62ccc0 Added a new stats system 2003-08-01 19:13:46 +00:00
codemastr 313aa1e26c Fixed a problem with Sleep 2003-08-01 16:53:21 +00:00
Bram Matthys 6f2d85fbb6 - Fixed bug in /silence regarding cloaked hosts, reported by kuwatog (#0001157). 2003-07-31 16:37:25 +00:00
Bram Matthys 89ddc95c72 - minor m_kick tweak. [could help us in the future] 2003-07-29 19:13:36 +00:00
Bram Matthys 81035a2c3e - Fixed bug with SWHOIS: oper::swhois wasn't broadcasted correctly which made it only show up in local (or server) /whois, reported by format (#0001141). 2003-07-29 18:52:28 +00:00
Bram Matthys 41a0896d6d - First big part of modulized extended channelmodes system 2003-07-29 17:07:17 +00:00
Bram Matthys ded7f11727 - Some minor text/documentation fixes. 2003-07-28 15:43:30 +00:00
Bram Matthys b73de3c497 - Will now error at too large cloak keys (2147483647 and greater) because it's dangerous
and could cause cloak key differences (ex: mixed ia32&ia64 networks).
2003-07-22 17:01:58 +00:00
codemastr 6e45d6ccd3 Fixed a PPC problem 2003-07-18 22:02:14 +00:00
codemastr 4bda94acf3 Crontab fixes 2003-07-16 21:13:25 +00:00
codemastr 550ec43931 Documentation updates 2003-07-15 19:08:44 +00:00
codemastr 523c2fe815 Fixed a +b/+e bug 2003-07-15 18:31:53 +00:00
codemastr ecc53cc37a Fixed numerous logging bugs 2003-07-15 18:21:53 +00:00
codemastr d6f59a90c7 Various fixes/cleanups 2003-07-15 14:52:44 +00:00
codemastr 5732a799bd Made unreal work under Linux PPC 2003-07-15 14:35:46 +00:00
codemastr 51462f5ee1 ... 2003-07-14 22:23:32 +00:00
stskeeps f3f3703273 - Fixed ircd.c compile error discovered by Ravage 2003-07-14 15:33:43 +00:00
codemastr 822db16d91 Cleaned up some /die code under Window 2003-07-13 19:39:37 +00:00
codemastr 9df80388a7 various bug fixes and updates 2003-07-13 16:43:26 +00:00
Bram Matthys f574385475 - Fixed problem with make custommodule and multiple EXLIBS arguments (EXLIBS="-la -lb -lc"). 2003-07-07 18:27:47 +00:00
Bram Matthys 460a61a6d6 - Fixed ban version crash and another read-after-free. 2003-07-06 22:13:01 +00:00
codemastr 5ac4bae7ef Added a system to allow modules to create snomasks 2003-07-01 19:22:24 +00:00
codemastr d2187a72e1 Added a find text feature to the win32 editor 2003-06-26 15:15:27 +00:00
codemastr eed7f9c62d Made the win32 editor maximizable 2003-06-25 20:43:11 +00:00
codemastr 71c691ed0b Added a goto button on the win32 editor toolbar 2003-06-25 16:08:42 +00:00
codemastr 2d0e78cb02 Win32 editor changes 2003-06-25 00:27:06 +00:00
Bram Matthys 7a82d28b19 - Updated docs a bit (how-to-get-support/FAQ link style). 2003-06-22 21:49:04 +00:00
Bram Matthys f6cd86a00a added readme and fdlist bounds checking. 2003-06-22 21:33:50 +00:00
codemastr 9c713f7aa7 Added set::channel-command-prefix 2003-06-22 17:12:39 +00:00
Bram Matthys 507559b6be - IPv6: added warning if a ::ffff:a.b.c.d type addr doesn't work since this "feature" is disabled by default at newer *BSD versions. Also improved another warning. 2003-06-22 00:23:45 +00:00
codemastr b7c02898fe Fixed some SVSMODE/SVS2MODE bugs 2003-06-19 14:44:44 +00:00
Bram Matthys b4dbc4dc72 - Fixed bug with /list and '?' wildcard, reported by maGGus. 2003-06-18 23:32:36 +00:00
Bram Matthys 909bc03521 ./update will now refer user to the docs on upgrade instructions. 2003-06-16 19:24:58 +00:00
cvs2hg 1d04e380a2 fixup commit for tag 'unreal3_2_beta17' 2003-06-15 17:01:50 +00:00
codemastr 31f2e23e30 temporarily disabled TRE 2003-06-15 17:01:49 +00:00
codemastr 4535a0d008 Minor crontab fix and docs update 2003-06-15 16:52:04 +00:00
Bram Matthys 0c56bf9ad2 lalala 2003-06-15 16:17:34 +00:00
Bram Matthys d927eef7dd blah 2003-06-15 14:16:41 +00:00
stskeeps 5b8ca94431 *** Unreal3.2-beta17 release *** (god save us) 2003-06-15 09:10:02 +00:00
Bram Matthys 953d70ba28 - Fixed PRIVMSG bug with multiple targets. 2003-06-14 20:31:26 +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 9661a1a713 Made ./Config setup TRE 2003-06-13 15:11:57 +00:00
codemastr 41c3d206c5 Added the TRE regex library 2003-06-08 19:55:48 +00:00
codemastr c5489b186d Added some WebTV stuff 2003-06-04 22:50:48 +00:00
codemastr 40157a056b Added short motds 2003-06-03 22:38:46 +00:00
codemastr 3af1172dce Recoded some resolver mutex stuff 2003-06-01 19:18:57 +00:00
codemastr d478ad75c2 Fixed a win32 resolver bug 2003-06-01 19:05:03 +00:00
Bram Matthys 50911f28e9 - Minor oob fix for parse_v4_netmask 2003-06-01 19:00:48 +00:00
Bram Matthys 00f857ae99 - Resolver fix nr #1 (prolly not "the real problem"). 2003-06-01 18:49:46 +00:00
codemastr a6d33b3841 Win32 editor fix 2003-05-31 19:26:41 +00:00
Bram Matthys f7d2e7a972 - Fixed _some_ gcc3.3 + -Wall warnings. 2003-05-31 02:12:44 +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
codemastr 88af97045e Changed /whois 'secret channel' flag to '?' 2003-05-30 21:02:15 +00:00
codemastr 825ee732bf ./Config fixes for Solaris 2003-05-30 20:31:07 +00:00
Bram Matthys b3576b29db - Removed "Duplicate user entry in SJOIN" notice because the problem has been traced down. 2003-05-29 19:23:12 +00:00
Bram Matthys cf91b1d89a - Doc updates 2003-05-29 14:35:33 +00:00
Bram Matthys 2cc542f427 added some helpop/docs stuff stating username in /oper is case sensitive. 2003-05-28 22:44:11 +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 11b0c97e85 Changed some wording in TKL 2003-05-23 17:31:35 +00:00
Bram Matthys 187ef2996d - Fixed bug in HOOKTYPE_LOCAL_JOIN which could cause 0-member-channels if a hook returned 1 and the channel was new. 2003-05-22 18:52:11 +00:00
luke 83bf47452d Fixed /map 2003-05-21 14:21:40 +00:00
codemastr 0d33d9a412 Fixed a win32 editor bug 2003-05-20 18:43:57 +00:00
Bram Matthys 2dc82a43cc - Probably fixed server-notices bug (duplicates, to non-opers) caused by a few SVS* cmds, reported by _loco_ (#0000991). 2003-05-20 17:57:25 +00:00
codemastr a4a447e788 Made /whois slightly faster 2003-05-19 20:39:39 +00:00
codemastr d7efc09cef Removed a reference to pthreads 2003-05-18 17:30:56 +00:00
codemastr 225a84e300 Removed TSP 2003-05-18 17:27:51 +00:00
Bram Matthys 33b1fb5d41 set::options::mkpasswd-for-everyone + Added error messages if not oper for: sdesc, mkpasswd, htm, rping, opermotd 2003-05-17 17:52:24 +00:00
Bram Matthys 96720abeda - Fixed regex detection problem (introduced by a change 2 days ago). <- i added that () comment so ppl don't think it was in beta16 ;p 2003-05-17 15:48:57 +00:00
codemastr 23248c91e6 Changed who flag & to ? 2003-05-16 20:01:22 +00:00
Bram Matthys 83d19d60e4 - Updated src/win32/unrealinst.iss a bit 2003-05-15 18:52:53 +00:00
codemastr 730c302c72 Made regex use extended regexps, and fixed a Sun compile problem 2003-05-15 18:40:08 +00:00
codemastr 2c3eb0339c Solaris compile fix, and deny channel::redirect 2003-05-14 22:34:44 +00:00
stskeeps 878a0f899b - Check in autoconf for MacOS X that will make compiling and running on it
to work
2003-05-13 12:35:52 +00:00
stskeeps 9e70767b8d little fix 2003-05-13 09:50:08 +00:00
stskeeps 7ea0e34f85 - Committed little de-Fizzer module to extras/ 2003-05-13 09:12:59 +00:00
codemastr 7589b92df7 Fixed an SVSMOTD bug 2003-05-12 19:14:03 +00:00
Bram Matthys 99dbe995c0 - Code cleanup (sys_errlist[]) 2003-05-12 18:45:21 +00:00
Bram Matthys 9d377150a1 forgot to change date!!!~~~ 2003-05-11 22:52:28 +00:00
codemastr 2e03a27b15 Fixed a bug in del_throttling_bucket 2003-05-11 21:38:30 +00:00
codemastr 847a2f4944 Resolver changes 2003-05-11 21:33:30 +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
Bram Matthys b780fc9347 - Updated flags in /version (and greeting), added 'Z' for zip links support, updated tech doc. 2003-05-11 19:12:57 +00:00
Bram Matthys fb5ea7d873 channelmode +f fix /// IPv6: Fixed unable-to-resolve-bug if both a A/AAAA record and NS/MX/etc records were present 2003-05-11 16:26:58 +00:00
Bram Matthys 0e4a8945e6 - And another minor +L fix. 2003-05-10 23:19:51 +00:00
Bram Matthys 4e74bbac1e - Code cleanup/merge m_join/channel_link: fixed multiple channelmode +L problems. 2003-05-10 21:56:31 +00:00
codemastr 370acc2abe Made it so it is no longer necessary for modules to copy the ModuleInfo structure 2003-05-10 18:53:50 +00:00
Bram Matthys f0a5ab1310 - Moved /stats zip from NOTICE to RPL_TEXT, updated stats documentation. 2003-05-10 00:27:29 +00:00
Bram Matthys dc3f546925 - Fixed numeric checking... someone was really drunk when he coded this "if ((l < 0) && (l > 254))" ;p. 2003-05-09 23:44:11 +00:00
Bram Matthys f46494f02f /WHO code cleanup + partial recode + bugfixes /// Updated example.conf about U-lines since many people set them wrong. 2003-05-09 20:02:20 +00:00
stskeeps c7366d942f Added CASEMAPPING=ascii as per request 2003-05-09 08:29:41 +00:00
Bram Matthys e0a4cf5100 - Misc /whois and webtv whois fixes 2003-05-09 00:41:25 +00:00
Bram Matthys 66d64a62c5 Fixed minor ban_version undeflow, no risk.
No risk coz a 0 len can only happen by a "\1version :" and in that case the -1'th char would be ':'... ;p.
2003-05-08 23:43:55 +00:00
codemastr f3e2f1c524 NETINFO * for cloak-keys 2003-05-08 23:32:38 +00:00
codemastr 012ba4da76 made ban version {} also listen to CTCP SCRIPT 2003-05-08 19:09:31 +00:00
codemastr a9f06266b7 Made the command loop slightly faster 2003-05-08 17:43:31 +00:00
codemastr ed7a06f1e5 Renamed channel mode +a to 'channel admin' 2003-05-08 17:37:25 +00:00
Bram Matthys 54f35ce6a5 added include "help.conf" to example.conf, not worht mentioning in Changes ;p 2003-05-08 02:12:04 +00:00
codemastr 740e86e4b9 Added a CommandExists function 2003-05-06 22:26:48 +00:00
Bram Matthys c6be4ee44f - Removed some leftover TECHAT references (#0000953). 2003-05-06 21:55:21 +00:00
Bram Matthys 906f4dd0b7 - Little find_client() audit. 2003-05-06 18:42:52 +00:00
Bram Matthys eb6b8f89bb - Fixed ripemd-160 vs ripemd160 confusion, reported by thelight (#0000949). 2003-05-06 03:48:17 +00:00
Bram Matthys 1557bab74a - Fixed a local /kill bug during connection phase, reported by Gilou (#0000952). 2003-05-06 00:18:02 +00:00
codemastr 114cec45b1 New version flag system 2003-05-04 21:30:38 +00:00
codemastr 69f0e97c9e Fixed a SVSMODE bug 2003-05-04 18:50:24 +00:00
codemastr c7de811b78 Fixed an operoverride bug with +aq 2003-05-04 17:37:25 +00:00
Bram Matthys 337d05a43d - Fixed unprecise RPING output at windoze, reported by pak (#0000945). + useless code cleanups 2003-05-04 16:44:40 +00:00
Bram Matthys 0a74098238 Fixed a badword::action block bug with regex. 2003-05-04 14:10:13 +00:00
Bram Matthys 0c0faa05af - Removed some leftover +I code (can_stealth/^). 2003-05-03 22:28:31 +00:00
Bram Matthys d1fc8bff14 - Fixed "make install" error caused by bugreport file removal. 2003-05-03 22:00:51 +00:00
codemastr 8d6e18d086 Fixed a /topic operoverride bug and vhost::vhost verification added 2003-05-03 18:18:07 +00:00
cvs2hg 95762dff6d fixup commit for tag 'unreal3_2_beta16' 2003-05-03 15:37:06 +00:00
stskeeps 526cd8ba65 beta16 release 2003-05-03 15:37:05 +00:00
stskeeps 5023f55bc9 fooo 2003-05-02 15:55:39 +00:00
stskeeps ae68ad4994 blah 2003-05-02 15:54:28 +00:00
stskeeps d20f17fa8b Removed credits.potential 2003-05-02 15:44:04 +00:00
stskeeps f637e456d7 - Removed some more html files. 2003-05-02 15:40:53 +00:00
Bram Matthys 88cc0b6d96 BOPM windoze URL 2003-05-02 00:45:22 +00:00
Bram Matthys e91c2a8eed - Made SVSNOOP work. Reported by Lx (#0000933). [not dangerous to fix ;P] 2003-05-01 19:52:06 +00:00
Bram Matthys 09f74a9b11 Added warning if set::scan exists with a nice BOPM url etc. 2003-05-01 19:44:11 +00:00
Bram Matthys e244c24a26 release notes, moved REMOVED thing to top... will save us a few users screaming for help... 2003-05-01 19:29:54 +00:00
Bram Matthys 9f4d4e674e docs, module hook, blablabla. 2003-05-01 19:23:00 +00:00
stskeeps 40f4bb7e6c - Mm, let's see what this checkin brings:
* Removed thread questions from Config, and autoconf code from
    configure.in, leaving in the old macros though, but inactive
    --enable-standardthreads is dead as of now
  * Undefined HOOKTYPE_SCAN_INFO
  * Removed CONF_EXCEPT_SCAN
  * Removed locking in events, Lock/UnlockEventSystem still active for other
    possible uses.
  * Removed scanners, web server module
  * Removed except scan {}
  * Removed SCAN_API stuff from l_commands.c, win32 makefiles, etc
  * Removed basically any mentions of threads in source tree, excepting
    threads.h which Resolver uses on win32
  * Documentation changes not done yet
2003-05-01 18:31:58 +00:00
codemastr e385747451 Removed +I reference from help.conf 2003-04-29 22:28:15 +00:00
Bram Matthys 68a589daf5 Updated docs on +p 2003-04-29 18:45:57 +00:00
codemastr 0bdb6a2e78 Docs updates 2003-04-28 17:26:04 +00:00
codemastr b4e8b60973 release preparations 2003-04-27 21:40:22 +00:00
Bram Matthys ebc9d6242f - Preparing beta16: release notes ready, version updated in docs/text (except version.h). 2003-04-27 18:57:04 +00:00
Bram Matthys 9f1c81541d - Usermode +q can now be set by services admins, as stated in docs (#0000923). 2003-04-27 15:00:27 +00:00
Bram Matthys 59b1217a94 w00t ;P 2003-04-27 14:26:32 +00:00
codemastr d35810e819 Fixed a bug with ban version {} 2003-04-26 23:31:56 +00:00
codemastr a6f56a6121 ... 2003-04-26 18:52:29 +00:00
codemastr 69ac5a529b Allow Ulines to use a TS in the past for topics 2003-04-26 18:49:54 +00:00
codemastr a25630a958 module umode changes 2003-04-26 16:37:14 +00:00
Bram Matthys 31978ef74f Friendly IPv6 msg.. 2003-04-24 14:58:07 +00:00
Bram Matthys eed1a83d78 - Some documentation improvements regarding link::hostname. 2003-04-24 14:20:42 +00:00
Bram Matthys 9a56a16ee2 - Added link::options::nohostcheck which makes Unreal not to validate the incomming host/IP against the link::host field, usefull for dynamic DNS hosts. 2003-04-24 14:09:38 +00:00
Bram Matthys 8aefa6cdce - Fixed minor badwords /rehash memleak. 2003-04-24 02:13:28 +00:00
Bram Matthys d202cc0868 - Some code cleanups (s_conf.c, now has a config_setdefaultsettings()). 2003-04-24 01:42:16 +00:00
Bram Matthys 2d0abfa787 - Enabled throttling support by default, you need to have a (correct) set::throttle block to make it work, otherwise it's just turned off. 2003-04-24 01:21:52 +00:00
Bram Matthys fbabd2bd1e Additional SJOIN debug info in case of fishy timestamp 2003-04-20 20:34:09 +00:00
Bram Matthys 4a679b34c4 - Fixed usermode +S: was accidently a local usermode (#0000909) 2003-04-20 20:22:33 +00:00
Bram Matthys 01c8f8bdc7 - Added IP bans like *!*@194.109.* (#0000474). 2003-04-19 20:48:52 +00:00
Bram Matthys 4b066b3347 - Fixed far connect (+s +F): connects from U-lined servers are now hidden again. 2003-04-19 20:25:29 +00:00
Bram Matthys 3c5e7ff5e7 - Fixed a PRIVMSG channelprefix bug reported by aragon (#0000902) 2003-04-18 15:30:35 +00:00
Bram Matthys a63eee5ee9 I won the fight... 2003-04-17 18:13:01 +00:00
Bram Matthys 201c0e39bc Fix-for-fix (debug stuff), sendto... real... opers... 2003-04-17 18:01:55 +00:00
Bram Matthys 9691748a7e - Added some temporarely SQLINE debugging/trace code 2003-04-17 16:58:38 +00:00
Bram Matthys f13b9b539e - Fixed a compile error with openssl enabled at redhat 9. 2003-04-16 22:28:19 +00:00
codemastr d7f20fb507 Docs update 2003-04-16 19:28:39 +00:00
codemastr 8409ff6234 Fixed a bug where /nsg and /notice didn't use tokens for nick@server forms 2003-04-16 18:49:00 +00:00
codemastr f866ce40df Fixed a bug with reporting invalid set::dns directives 2003-04-16 18:12:32 +00:00
Bram Matthys 6ebcf46459 - Minor error msg improvements
- Fixed a bug with wrong hub/leaf settings ("non-hub introduced leaf") causing a crash (#0000732).
2003-04-16 17:05:00 +00:00
codemastr dd1364321a Fixed a ban version {} bug, added an aliases/anope.conf, and updated some docs 2003-04-15 21:56:24 +00:00
codemastr c2a4509d9c Made the channel be hidden from /who if you are +p 2003-04-13 23:46:04 +00:00
Bram Matthys 3c6ecbcbb2 - Fix for set::restrict-channelmodes (eating parameters). 2003-04-13 20:05:54 +00:00
codemastr bf0b2a98cd Docs update 2003-04-13 19:10:42 +00:00
Bram Matthys 3618b2a2fa - badword::action::block should now be ok 2003-04-13 19:04:46 +00:00
codemastr 8732330e38 Cleanups and /chgident fix 2003-04-13 18:10:56 +00:00
codemastr c8477ddb6a Made except ban override ban ip 2003-04-13 17:42:23 +00:00
codemastr a38c76dd44 ... 2003-04-13 17:13:01 +00:00
codemastr 7000658c42 Fixed some /stats b stuff and added badword::action 2003-04-13 16:51:08 +00:00
Bram Matthys e7672e9027 - Updated channelmode +f "algoritm", much better now. Reported by JimmyZ, Rocko, and others. 2003-04-13 16:39:40 +00:00
codemastr 87d89c721c Throttling fixes and changes 2003-04-13 00:43:04 +00:00
Bram Matthys 3ef30832cf Improved throttle hashing (both IPv4 and IPv6)... prime numbers are fun ;) 2003-04-12 21:46:58 +00:00
Bram Matthys 4c59392caa That's better... should be ok now ;). Not mentioning in Changes, no visual change. 2003-04-12 20:43:51 +00:00
Bram Matthys fa19910694 blah 2003-04-12 20:30:51 +00:00
Bram Matthys fca6689a19 fix-for-fix 2003-04-12 20:30:27 +00:00
Bram Matthys f473314312 - Improved IPv6 throttle hashing 2003-04-12 20:21:38 +00:00
codemastr 2c53187cad Fixed another throttling bug 2003-04-12 19:50:09 +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 406ba755d6 - code cleanup / misc minor bugfixes (MyMalloc, oper msgs) 2003-04-12 15:56:25 +00:00
codemastr 3a368be7e5 Fixed an SQLINE bug 2003-04-11 23:57:15 +00:00
codemastr 705c24399c docs update 2003-04-11 21:08:15 +00:00
Bram Matthys 3b56433320 - Added allow::options::ssl and allow::options::nopasscont, requested by iguy and Scytale. 2003-04-11 18:26:20 +00:00
Bram Matthys 498d82f5fe Added set::restrict-channelmodes and very minor speedup in restrict-usermodes handling. 2003-04-11 16:05:02 +00:00
Bram Matthys e21d4aceba - Fixed cloaking bug reported by Rocko (#0000869) 2003-04-11 14:29:35 +00:00
Bram Matthys fbd413549f blah 2003-04-11 02:30:26 +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 0778c391b6 Some useless BUFFERPOOL changes, only affects users manually running ./configure (do they exist? ;P)... 2003-04-11 00:57:48 +00:00
Bram Matthys f4c5418326 Let's be nice and give some thanks ;P. 2003-04-11 00:19:35 +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 d41d26a163 SQLINE/UNSQLINE and SVSNLINE fixes 2003-04-10 21:13:36 +00:00
Bram Matthys 7c9ba1feda - Added SSL quit error messages 2003-04-10 19:58:30 +00:00
Bram Matthys 49aa8d9921 - Changed throttling errormsg so mIRC recognizes it and waits a while. 2003-04-10 18:48:38 +00:00
Bram Matthys 152be25b08 - Fixed opermode bug which could cause the ircd to crash a while later (#0000823). 2003-04-10 17:59:17 +00:00
codemastr 27928952dd Possibly fixed an SSL crash 2003-04-08 23:49:01 +00:00
codemastr 318cd17c06 example.conf typo 2003-04-08 23:15:06 +00:00
codemastr f21a9758cf Fixed a bug with precedence in TKL 2003-04-07 21:46:47 +00:00
codemastr 6a990f2b05 Fixed a bug with ban version {} with NOSPOOF 2003-04-07 18:42:48 +00:00
Bram Matthys 5e95ab5595 - Fixed a fast badword replace crash (#0000834) reported by orga 2003-04-07 00:20:13 +00:00
codemastr b190794a4b Docs typo fix 2003-04-06 22:12:41 +00:00
Bram Matthys 94adac199e - Fixed yet another oob read in config parser (ie: #0000841).
Boring.. boring..
2003-04-05 22:37:20 +00:00
Bram Matthys 3348c84048 - Fixed 2 other oob reads in config parser (parsing of size and time). 2003-04-05 22:16:14 +00:00
Bram Matthys daf80ca716 - Fixed an oper bug with /names on a +s channel (#0000816). 2003-04-05 21:26:18 +00:00
Bram Matthys 629d0d59f7 - Fixed a set::modes-on-join bug and fixed an oob read in config parser.
(1st=someone forgot a bzero)
2003-04-05 21:16:21 +00:00
stskeeps c1dd98ece4 - Made throttling use DelListItem and fixed some confusing regarding
undeffing of THROTTLING
2003-04-01 12:25:59 +00:00
codemastr 4c23c4eeae Fixed some set::allow-userhost-change problems 2003-03-29 00:06:12 +00:00
codemastr 68fac1298d ... 2003-03-25 01:03:36 +00:00
codemastr 7424fa2904 Moved the 'missing user in SJOIN' notice to snomask +j 2003-03-24 17:36:27 +00:00
codemastr b71c11416a Away flood stopper patch 2003-03-24 01:07:57 +00:00
codemastr 8d950fbe2e ... 2003-03-23 20:22:08 +00:00
codemastr 21416a3a14 Added set::modes-on-join and fixed some docs typos 2003-03-23 17:27:04 +00:00
codemastr b6f456471e docs typo fix 2003-03-22 17:21:58 +00:00
codemastr f006ffe3c9 Added usermode +p 'hide channels in whois' 2003-03-21 21:43:38 +00:00
codemastr fe1dcfb6c2 Docs update 2003-03-21 17:23:55 +00:00
codemastr a2f68d0ae3 Docs updates 2003-03-21 00:49:08 +00:00
codemastr dc7564d5b8 Zip links fixes 2003-03-18 17:45:26 +00:00
codemastr df15fa62e1 Documentation update 2003-03-18 16:48:26 +00:00
codemastr ead651585e Rewrote the unknown connection flood system 2003-03-18 00:19:00 +00:00
codemastr 45a1b02ec2 Added ban version {} 2003-03-17 19:30:57 +00:00
codemastr 149a544fcf Fixed a bug where +x made hosts lowercase 2003-03-15 19:49:01 +00:00
codemastr e01932f2ba Added chmode +M to numeric 005 and a /restart and /die cleanup 2003-03-15 19:06:34 +00:00
Bram Matthys 631bf5823c - Fixed a restrict-usermodes bug reported by Rocko (#0000796)
Also some additional cleanups
2003-03-12 17:37:19 +00:00
Bram Matthys 1afff0c681 - Fixed compile error 2003-03-12 05:05:03 +00:00
codemastr 3e5953bfff Moved 'unknown connection flood' to snomask +f 2003-03-11 22:10:01 +00:00
Bram Matthys 0690d9bf2f - Fixed "proxyscan on quit" bug (#0000788) 2003-03-10 19:44:26 +00:00
codemastr 4ab745e0eb Updated some docs 2003-03-10 17:31:19 +00:00
codemastr 5250f5907e Added set::throttle::period 2003-03-10 17:09:51 +00:00
codemastr 6f78df5776 help.conf updates 2003-03-10 00:25:12 +00:00
Bram Matthys 3ff5f281a9 - Improved previous /version bugfix 2003-03-09 22:09:02 +00:00
Bram Matthys 9d6afdb321 - Improved fake lag stuff 2003-03-09 17:17:07 +00:00
Bram Matthys 9223dec1ee - Fixed a version bug. 2003-03-09 15:35:19 +00:00
Bram Matthys 45e2b69a07 - Fixed a match() bug
In case of a mask like '*\' it was trying to read out of bounds data.
2003-03-09 03:07:59 +00:00
Bram Matthys fa1f8c3d0f - Fixed a /who big which could make the server crash (oper only). 2003-03-08 20:53:15 +00:00
codemastr f5baa63cce Fixed a /list bug with +s channels and opers 2003-03-08 17:41:04 +00:00
stskeeps 853c27be84 bah 2003-03-07 14:47:30 +00:00
stskeeps 53f30bda07 - Fixed a buffer overflow that could be used against setuid setups,
found by rave@dtors.net, reported by kokanin
- Disabled CMDLINE_CONFIG(-f) by default
2003-03-07 14:37:26 +00:00
Bram Matthys 577125079e - Doc updates (SSL/stunnel example was wrong) 2003-03-04 21:08:47 +00:00
stskeeps 8ad07e6a5e h
:q
h
:q
2003-03-04 08:48:07 +00:00
stskeeps 849487df98 beta15 release 2003-03-03 18:37:55 +00:00
Bram Matthys 93a2477f3b - Fixed /setident bug 2003-03-02 23:13:33 +00:00
stskeeps 2271adf889 bah 2003-03-02 21:07:03 +00:00
Bram Matthys b231cf713d Improved story about SSL (links to xchat and stunnel, stunnel.conf example). 2003-03-02 02:17:06 +00:00
Bram Matthys 5957da083d Blah... layout
- bla
to
* bla
2003-03-01 23:10:27 +00:00
Bram Matthys dda16e5ef5 Integrated my unreal_beta15.txt into .RELEASE_NOTES, original release notes
still at end of the file. Most stuff about features has been integrated into
the documentation, so probably pretty much of it can be removed...
2003-03-01 23:08:13 +00:00
Bram Matthys 4d5987adee Documentation updates, and some replaces beta14->beta15 already (not yet
the version.h thing)
2003-03-01 21:33:41 +00:00
Bram Matthys d435c5becf - WebTV fixes 2003-02-28 14:40:11 +00:00
Bram Matthys a28a349eb2 - Documentation/text updates. 2003-02-28 01:00:36 +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
Bram Matthys 06eaede3f2 - Added allow-userhost-change checks to /vhost.
Fixed Changes typo from me (forced-rejoin -> force-rejoin)
2003-02-27 18:41:26 +00:00
Bram Matthys 41e06cba28 - Made set::allow-userhost-change forced-rejoin work.
- Fixed chmode +u bug when chanop was parting but wasn't sent to normal users.
2003-02-27 17:13:04 +00:00
Bram Matthys b9ec2de0cb - Added feature that if the chan is +m AND +u (so both!) and you ban IRC!*@* then ops
will no longer see the "relayed" message from IRC.
2003-02-26 22:07:11 +00:00
Bram Matthys 60b77d4485 - Added EventMarkDel which marks an event for deletion for the (next) DoEvents() call.
- Fixed /rehash stall caused by delayed unloading of the scan module (deadlock).
2003-02-24 03:04:23 +00:00
codemastr 99ee86c9c9 NS cleanups 2003-02-23 21:47:56 +00:00
codemastr 931d78cd9b ... 2003-02-23 17:23:46 +00:00
Bram Matthys 28d355f649 - Code cleanup (gcc 3.2 warnings with -Wall).
Compile tests done: Linux, Linux SSL, Linux SSL+ZIP, Windows, Windows ZIP, Windows SSL+ZIP.
This might also have fixed some (or 1) bug(s) :P.
2003-02-23 03:41:39 +00:00
Bram Matthys 8fbb67818b - Added set::options::dont-resolve (=hostnames of incomming clients won't be resolved).
This is more usefull than the no nameserver + useip solution since with this no resolving
is done for incomming clients, but connecting to other servers (with hostnames) still works fine ;P.
2003-02-22 22:34:40 +00:00
Bram Matthys 4795a45150 - Fixed two ident bugs (multihomed&connect), both resulted in ident not working.
multihomed issue:
Instead of binding cptr->listener->ip it now uses getsockname(), otherwise it
won't work if you have a listen *:6667 thing + multihomed (it will connect for
example from 33.33.33.1 while the client connected to 33.33.33.5.
connect issue:
there was some kind of file descriptor race condition because of the way our
whole read_message() thing is coded... an ident socket might have been closed
+ a new might have been accepted... blablabla ;)
I wonder if anyone reads these CVS logs lol :).
2003-02-22 21:16:30 +00:00
codemastr 2a90309216 Added badword quit {} to replace CENSOR_QUIT 2003-02-22 19:41:00 +00:00
Bram Matthys 2cc2a89e5b Again. 2003-02-21 20:09:55 +00:00
Bram Matthys 76fd66d27f - Documentation updates (unreal32docs.html, example.conf).
Againnnnnn
2003-02-21 19:22:59 +00:00
Bram Matthys 64dab7821a - Fixed remote /rehash bug (#0000600). Actually rewrote 20/25% ;).
Also minor doc fixes, not worth mentioning in Changelog.
2003-02-21 02:44:48 +00:00
Bram Matthys 775378a410 - Documentation updates (added a section about features).
Also colour -> color ;P.
And... removed doc/Unreal31_to_32.html because it's no longer needed now
since I have integrated it in the features section / unreal32docs.html.
2003-02-20 23:51:25 +00:00
codemastr ca9a7a1e89 Fixed a TKL bug 2003-02-20 23:12:07 +00:00
Bram Matthys 2f10a46e1e - Fixed chmode +u again. 2003-02-19 16:02:29 +00:00
Bram Matthys 0d1e674fcf - Fixed win32 compile error 2003-02-19 02:59:50 +00:00
Bram Matthys aa44d4d728 - Updated win32 compile instructions
- Fixed set::dns error messages
2003-02-19 02:37:23 +00:00
Bram Matthys eb7333c874 - Added /who *.host.com support (ircop only), this was already possible via /who -h <host>
but most ppl expect it to work this way too.
2003-02-18 22:29:40 +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
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
Bram Matthys 7a4d7df866 - Fixed some case insensitive checks in configfile parsing, fixed to be case sensitive.
if someone used LoadModule instead of loadmodule no warning was shown. This issue is
known to cause negative psychological effects on some users.
2003-02-17 21:11:48 +00:00
codemastr d729d2a0e4 Fixed an alias bug 2003-02-17 20:03:55 +00:00
Bram Matthys 5a1bdba209 - Removed some debugging messages 2003-02-17 19:03:34 +00:00
codemastr 0c5ef6def4 Removed some more +I code, and fixed a /who bug 2003-02-16 22:36:07 +00:00
codemastr 8569877110 Fixed a TKL rehash bug and recoded aliases to be much faster 2003-02-16 21:57:31 +00:00
Bram Matthys e116c095f2 - Fixed MyConnect()/MyClient() bug causing memory leak. 2003-02-16 21:12:32 +00:00
Bram Matthys 9b38176f98 List options were not correctly freed when /list was completed.
The bug was it did free the yeslist/nolist elements but not the data in it (lp->value) :PP.
Changed to use free_str_list() instead, just like in exit_client.
2003-02-16 04:59:26 +00:00
Bram Matthys 36d7d271cc - set::services-server is now required to be set (#0000730). 2003-02-15 23:41:23 +00:00
Bram Matthys f2eb5f48b6 - Zip links: Added link::compression-level so you can set the compression level per link 2003-02-15 21:13:37 +00:00
codemastr 4606d94e27 +I stuff removed, and other stuff 2003-02-15 20:20:35 +00:00
Bram Matthys 0c12e70d59 - Fixed compile warning in ssl.c. 2003-02-15 18:16:57 +00:00
codemastr bf116f1f6c Removed cmode +H, coadmins can use /rehash -flags, added cmode +M 2003-02-15 01:27:48 +00:00
codemastr 8e3272ba0b Fixed a win32 bug 2003-02-14 23:20:05 +00:00
Bram Matthys f014032901 - Fixed link::port bug reported by AngryWolf: was signed so ports >32767 had problems 2003-02-13 17:12:54 +00:00
Bram Matthys 1901911405 - Removed usermode +I (invisibility) 2003-02-12 21:44:09 +00:00
Bram Matthys 5f772f0457 this helps... 2003-02-12 20:45:48 +00:00
Bram Matthys addd54c38f Revert set::options::owner-gets-dot patch. 2003-02-12 20:44:14 +00:00
Bram Matthys 71a7e91363 - Added set::options::owner-gets-dot which will give chanowners a . prefix. 2003-02-12 02:12:13 +00:00
Bram Matthys 82201421eb Made ".. did a /whois on you" always show the real host (#0000705). 2003-02-10 00:56:58 +00:00
Bram Matthys 934b898914 Fixed a bug in coadmin: global flags were not added (#0000716). 2003-02-10 00:41:19 +00:00
Bram Matthys 954ccf7265 added set::restrict-usermodes 2003-02-09 20:51:25 +00:00
Bram Matthys efc2c8f326 Updated docs. 2003-02-07 23:08:01 +00:00
codemastr 8070b2397e Fixed an except ban {} problem 2003-02-07 16:21:23 +00:00
Bram Matthys a127469d42 Added USE_ZIP stuff to win32 installer script. 2003-02-07 00:08:32 +00:00
Bram Matthys 09013995f6 Updated protoctl.txt (added ZIP). 2003-02-06 23:55:56 +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 af988ce74d Added config error if link::options::zip was enabled at a non-zip compiled server. 2003-02-05 22:14:39 +00:00
Bram Matthys 1c0860e841 - Fixed an ident bug, maybe it actually works now.. (#0000709) reported by marviiin. 2003-02-05 21:32:37 +00:00
Bram Matthys c177eb2580 Code (comments) cleanup. Yes very usefull.. ahem ;). 2003-02-05 20:15:28 +00:00
Bram Matthys 0dde38dd6a ZIP_LINKS fixes/debugging. 2003-02-05 01:28:31 +00:00
codemastr 0ca9f4c2c5 ... 2003-02-05 00:59:51 +00:00
codemastr 06dc8646a4 added ziplinks support to ./Config and updated SSL support in ./Config 2003-02-05 00:44:14 +00:00
codemastr da33a9e646 Fixed a bug when compiling with SSL ZIP_LINKS 2003-02-04 22:50:56 +00:00
Bram Matthys 1bea78bd0e - Fixed a bug in m_part reported by Angrywould, cause unknown (yet).
- Currently it's not possible to compile with ZIP_LINKS _and_ SSL without changing zlib.h :(.
It really sucks... it's because zlib.h has a typedef for 'free_func' and this is also used
in openssl header files as a (useless) name... :((. I did some updates to allow future zlib
changes, dunnow if they will because it can break other zlib programs. It compiled fine at
windows, but not at Linux... you need to replace free_func to zlib_free_func in zlib.h in
order to get ZIP_LINKS + SSL to work... but like I said, that may break programs (ARGH!).
2003-02-04 21:23:47 +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 d98e7d3112 Fixed bug in ISON. 2003-02-04 18:50:55 +00:00
Bram Matthys 0b2d842d55 Code cleanup in m_umode. 2003-02-04 18:02:44 +00:00
Bram Matthys c0a3cd9c14 Fixed minor memleak with zip links (a few k per server link). 2003-02-04 16:54:53 +00:00
Bram Matthys 24f36c846c Documentation updates for nodnscache. 2003-02-04 02:13:35 +00:00
Bram Matthys 7ad5f10d76 - Fixed a resolver bug where cache entries didn't timeout correctly.
- Made async resolve-and-connect work
- Added link::options::nodnscache which means Unreal will not cache the host forever for
  outgoing server connections, you could for example enable this if you are linking two servers
  with an often changing host (like dyndns.org).
2003-02-04 02:09:40 +00:00
codemastr 1efcc56dce Fixed a throttling bug 2003-02-03 21:38:02 +00:00
Bram Matthys 39be4901df Added recvq column to /stats y reply. 2003-02-03 21:32:51 +00:00
Bram Matthys c5369043c7 Added better (specific) link error messages (only on the "incomming" side)
so you can easily see whether servername, hostname/ip or username is wrong.
2003-02-03 21:05:50 +00:00
Bram Matthys 6f9060ce4e Minor doc updates (mainly example.conf) 2003-02-03 20:27:33 +00:00
Bram Matthys 6f2be400c3 Major unreal32docs.html documentation update:
* Changed layout
* Removed text, split up 3.1.x->3.2.x upgrade info to Unreal31_to_32.html
  (actually that's just .RELEASE.NOTES, need a bit more explanation and
   stuff about converting configs etc).
* Improved Me, Class, Allow, Listen and Set block text/layout/etc.
* Removed typo's
2003-02-03 20:14:16 +00:00
Bram Matthys d7b0c619bd Fixed /topic for opers when not in +s-channel 2003-02-03 18:52:06 +00:00
Bram Matthys ded0df0b31 Don't encrypt SSL certificate by default @ win32. Why would we encrypt by default
at windows and not at *NIX? Also it's incompatible with running as a service.
AFAIK it doesn't increase security very much: if you own the box you can easily
snif the keyboard, read the certificate from memory, etc..
2003-02-03 17:44:33 +00:00
Bram Matthys 19960bf7de Fixed bug in ipv6 + unknown connection flood. 2003-02-03 17:27:21 +00:00
Bram Matthys 7e3664afe5 Bugfix for crash with STRIPBADWORDS_CHAN_ALWAYS (null pointer). 2003-02-03 16:33:05 +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
Bram Matthys 8d329b611a enabled FAST_BADWORD_REPLACE by default 2003-02-02 23:13:26 +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
codemastr 56da92cab9 Added set::snomask-on-connect 2003-02-02 22:53:59 +00:00
Bram Matthys 0131baaf5b - Fixed bug which made opers unable to do -a/-q (#0000654).
- Fixed bug in +q/+a list (/mode #chan q) <= lol this was some historic
bug by DrBin or something ;). In case you wanna know.. the whole loop logic
was wrong... initalisation vs null pointer check... ;).
2003-02-02 03:39:52 +00:00
Bram Matthys 463a2b29c5 memleak bugfix for my previous improved-write/buffer-errors-patch.
Additionally, I've increased my life chances with 100% thanks to _this_ patch.
2003-02-02 01:09:43 +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
codemastr 47dabe4c36 Aliases updates 2003-02-01 19:18:06 +00:00
codemastr ab5ff5cdea Started work on set::allow-userhost-change 2003-02-01 19:14:31 +00:00
codemastr 0004c00d7a Documentation updates 2003-01-29 20:41:04 +00:00
codemastr 33cb958615 Fixed a channel mode +A bug 2003-01-29 20:27:02 +00:00
Bram Matthys 0a1aacda89 Fixed missing 's' flag in oper::snomask causing not receiving any server notices (attempt II) 2003-01-29 01:15:09 +00:00
codemastr 12a5746d47 Rechanged 'a Services Administrator' back to 'a Services Operator' 2003-01-29 00:56:01 +00:00
Bram Matthys a5ea13adc9 Added '/stats zip' 2003-01-29 00:19:16 +00:00
Bram Matthys 637867bc6d Added makefiles to compile with zip links @ windows (zlib needed). 2003-01-28 23:13:49 +00:00
Bram Matthys 95c0add864 Fix for error msgs flood at (at least) Linux 2.4.x and FreeBSD caused by
socket already disconnected when getpeername() is done.
2003-01-28 22:14:56 +00:00
Bram Matthys bcac798a99 Fixed whois: "a Services Operator" -> "a Services Administrator" 2003-01-28 20:32:21 +00:00
Bram Matthys 007d0c1d32 Added STRIPBADWORDS_CHAN_ALWAYS (a define, disabled by default) for always
censoring badwords from all channels (+G or not).
2003-01-28 20:24:55 +00:00
Bram Matthys f6333714a2 Fixed some minor sending-1-byte-too-much bugs when all connections where in use. 2003-01-28 19:06:56 +00:00
Bram Matthys 92fe4e04a3 Removed unnecessary #ifdef blocks added by previous ZIP_LINKS patch 2003-01-28 03:27:48 +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
Bram Matthys d0dc13faa5 Little fix for previous throttling fix (accessing just free()d memory). 2003-01-27 21:25:27 +00:00
Bram Matthys 09776ff03f Fixed triple WATCH reply bug (#0000632) when USER was send before NICK. 2003-01-27 21:00:21 +00:00
codemastr 00698d9fd4 Fixed an SVSO bug and a throttling bug 2003-01-27 19:54:00 +00:00
codemastr 1db740e154 Fixed an HCN bug with client exiting notices 2003-01-27 19:30:34 +00:00
Bram Matthys e070a40353 Fixed crash when link::leaf (and some other link:: things) was empty. (#0000610) 2003-01-26 21:58:29 +00:00
Bram Matthys 9d48eee701 Tweaked fix for 2-bans-needed-trick a bit. I was checking against last virthost,
now always checking against cloaked host... Just feels better :P.
2003-01-26 15:20:06 +00:00
Bram Matthys deb038730a Minor documentation update for SVSNLINE. (#0000651) 2003-01-26 03:18:36 +00:00
Bram Matthys 74a984da48 Fixed 2-bans-needed-trick (#0000626). If a user got banned while having mode +x,
then does a -x virthost gets freed and the user can join again/circumvent the ban.
virhost should probably be moved in to the User struct like char virthost[HOSTLEN+1]
but in the meantime I've just removed the free() when someone does -x.
I noticed we already do make_userhost at connect even if mode +x isn't set, and also
is_banned checks if virthost exists.. if so -> check if that's banned... so this
patch won't decrease performance much.
2003-01-26 02:18:30 +00:00
Bram Matthys 117ec38808 Channel msging optimization by 10-30%. 2003-01-25 21:26:53 +00:00
Bram Matthys 423a8c2739 Fixed yet another bug in new badwords replace system (should be almost finished now! ;P). 2003-01-25 18:44:23 +00:00
Bram Matthys c4c87fb803 Blah... forgot to remove some debugging code in badwords.c (new fast replace system) 2003-01-25 01:32:17 +00:00
Bram Matthys efaf9d6709 Fixed halfop bug, ex: /mode -o+b user *!*@blah.com will get +b user!*@*. (#0000653)
The bug was we forgot to return wheter a parameter was eaten or not (returned always 0).
2003-01-24 23:37:33 +00:00
Bram Matthys 1dfdeb42f0 Temporarely added user-already-in-chan check in m_sjoin to help tracing user-twice-in-chan bug
which has been reported by two users (#0000594). About speed: I think it'll just use a few usec
so that's <100ms for X.000 users ;P.
2003-01-24 22:47:37 +00:00
Bram Matthys 3fc6734e65 Fixed minor bug in resolving of IPv4 names if IPv6 is enabled (#0000659).
We were doing: T_AAAA, if that fails then T_A. But in that case when a host
has both T_A and T_AAAA entries, the reverse lookup will fail for ipv4.
Now using T_ANY to fetch both T_A and T_AAAA addresses at once.
2003-01-24 20:34:11 +00:00
Bram Matthys 73810a4f82 Cleanups in badwords.c: removed duplicate code, now one big stripbadwords() function which
is called by stripbadwords_channel()/stripbadwords_message().
2003-01-24 02:49:41 +00:00
Bram Matthys e8d8a27cbc Added a much faster (>100x) badwords replace routine which will be used for easy replaces like
"blah", "*blah", "blah*" and "*blah*"... otherwise regexp is used. Disabled by default until
it's really finished and fully tested.
2003-01-24 02:18:33 +00:00
Bram Matthys 3a546fb04c Cleanup of m_userhost / my previous patch screwed things up ;P 2003-01-23 21:05:44 +00:00
Bram Matthys 358a00e90c Fixed some formatting issues. 2003-01-23 20:47:06 +00:00
Bram Matthys e333890b0f Fixed SSL session cache bug, symptoms were: stunnel can only connect the 1st time,
reconnecting etc fails with (in stunnel log) "SSL_connect: Peer suddenly disconnected".
This happends with OpenSSL 0.9.7.
2003-01-23 17:03:53 +00:00
Bram Matthys 78dc344785 Added much better checking for weird characters in hostnames.
We were doing "deny known bad characters" instead of "only allow known good characters", this was REALLY bad...
This patch limits hostnames to alphanumeric, '-', '_' and '.'.
2003-01-22 19:37:42 +00:00
Bram Matthys a79e26deff Fixed major (?) bug in resolver (affects ipv4 only), could cause long stalls / crashes.
for (i = 0; &HE(cp)->h_addr_list[i]; i++) was used in ipv4 mode, but should be
without the &... this caused some stalls (like 11 seconds) at my machine because the
loop was executing >1 million times (I don't understand why it didnt crash however).
2003-01-21 23:01:44 +00:00
Bram Matthys 735b011f3e (added to Changelog this time:) Added win32 compile instructions in doc/compiling_win32.txt 2003-01-21 22:47:45 +00:00
Bram Matthys e9b96afef8 Added win32 compile instructions in doc/compiling_win32.txt. 2003-01-21 22:46:48 +00:00
Bram Matthys d932cf0220 Fixed bug in channel mode +L #aaaaaaaaa<etcetc>. 2003-01-20 21:17:24 +00:00
Bram Matthys e71f39ea62 Fixed bug in non-working channel mode +H. There was a #ifdef ENABLE_INVISOPER
block around +H checking, but this #ifdef is only at this place and is also
never defined... Removed #ifdef because that's now in module...
2003-01-20 20:48:59 +00:00
Bram Matthys d944643010 Minor documentation fixes reported by Jollino (LUSERS, OFLAGS mode h) 2003-01-20 20:00:57 +00:00
Bram Matthys 1e51112790 Fixed win32 compile error because of report_error patch (oops, lalala :P).
Added P_ECONNABORTED and P_ECONNRESET.
2003-01-20 19:33:18 +00:00
stskeeps 56a0d8adf7 removed ircdreg 2003-01-20 16:08:35 +00:00
Bram Matthys 6a9579930a Fixed crash when +x is in modes-on-oper, user has -x and then /oper's. 2003-01-20 15:21:38 +00:00
Bram Matthys 9c31edf6e7 Made netadmins able to see users in all chans by using /who #chan or /names #chan. 2003-01-20 03:44:13 +00:00
Bram Matthys d7e7562626 I love ugly code!! I fixed an out of bound memory read a week ago in the
time function, however my fix was wrong / usually the out of bounds memory
reading went well so the function worked... now it didn't... patched ;P.
Some examples: 4s = 8, 1m = 61, 1h = 3601, 1h2m = 3722.
2003-01-20 01:38:59 +00:00
Bram Matthys 2a266829e3 Fixed SVSMODE bug in handling of non-qaohvbe modes. (#0000631)
*parabuf wasn't set to '\0' so previous modes were applied in some cases...
2003-01-20 00:46:27 +00:00
Bram Matthys 86021bdd9b Fixed shun: ADMIN and PONG are allowed if shunned, also manually removing
a SHUN from a user affects connected clients immediatly. Moved ~45 lines of
code to a seperate function for this.
2003-01-20 00:30:51 +00:00
Bram Matthys 87b22510c0 Fixed some of the FreeBSD warnings, like 'Cannot accept connections' and
'getsockopt(IP_OPTIONS)' reported in bug #0000616. There's still one around
somewhere, but it's a start. Also modified report_error so it reports both
the socket error AND the system error if they are different.
2003-01-19 23:46:16 +00:00
Bram Matthys 1c1f135f8d useless change: &me.name -> me.name in my previous patch, doesn't change
anything but it was annoying my eye ;P.
2003-01-19 23:29:22 +00:00
Bram Matthys 1d0936d07a Added RPL_ENDOFSTATS after tkl_stats output if called by /kline, /gline, etc
without parameters.
2003-01-19 22:58:07 +00:00
Bram Matthys 22f60e47c8 Fixed compile error in src/random.c at win32. Also added some nice #ifdef's
so we don't get unused var warnings in non-SSL mode...
2003-01-19 22:41:03 +00:00
Bram Matthys 5e2cf7b90f Fixed compile error in makefile.win32.ssl (added src/random.c) 2003-01-19 22:29:02 +00:00
Bram Matthys d5faf64581 Added message if '/helpop' is used without parameters by helpops. (dont panic!) 2003-01-19 21:26:34 +00:00
Bram Matthys f97b537b09 Fix for missing mode 'S' in 005 CHANMODES= message 2003-01-19 20:30:30 +00:00
Bram Matthys 193265ef69 Added access level required for chmodes, documented +G, changed USERCMDS layout 2003-01-19 20:21:35 +00:00
Bram Matthys 0c74c5cd11 Fixed example.conf set::dns::retries, 2s -> 2 2003-01-19 20:05:57 +00:00
cvs2hg 5ad7468aa1 fixup commit for tag 'unreal3_2_beta13' 2003-01-18 09:01:53 +00:00
stskeeps c5991fc8da fixed crypt on win32 2003-01-18 09:01:52 +00:00
stskeeps a05c61042b BAH FUCK 2003-01-17 22:20:48 +00:00
stskeeps e42a63972e ** beta14 released ** 2003-01-17 22:03:13 +00:00
stskeeps e5dc32a0d0 - Compile fixes regarding throttling
- Fix when you use another make than make
2003-01-17 20:32:49 +00:00
stskeeps 5289be076a - Preperations for beta14. Will be a recommended upgrade 2003-01-17 17:10:11 +00:00
luke f83daf4607 stupidity 2003-01-17 15:23:51 +00:00
codemastr eb1e4f000b Resolver bug fix 2003-01-16 22:10:06 +00:00
stskeeps 381350618f - One more fix to the above 2003-01-16 15:19:25 +00:00
stskeeps 1aabd39d27 - Fixed a bug where helpop would pass on a null pointer 2003-01-16 13:45:26 +00:00
stskeeps ea2f1c6fc7 - Fixed a bug where helpop would pass on a null pointer if it was a remote
client (this needs more investigating, could someone find out how the fuck
  it can get a remote helpop that's blank anyhow?).
2003-01-16 06:19:12 +00:00
mcskaf 3ff374d811 We were writing a null to the log file when we reached max size. Bug #0000613 reported by AngryWolf 2003-01-15 23:16:15 +00:00
mcskaf 0349a1d1d8 We were writing a null to the log file when we reached max size. Bug #0000613 reported by AngryWolf 2003-01-15 23:10:13 +00:00
stskeeps 7601cbcf12 - Adding throttling, read config.h for more info. For the uneducated,
throttling is to reconnect way too fast repeatedly. Thanks to [Real] for
  the idea
2003-01-15 18:32:25 +00:00
codemastr c02033f3ca Fixed a bug when leaving off a parameter for a password config entry 2003-01-15 16:40:15 +00:00
codemastr 3095782cfd Various fixes 2003-01-14 21:25:04 +00:00
codemastr fed61efcdb Misc. fixes 2003-01-11 19:33:42 +00:00
mcskaf fe9dc6d3c4 Fixed bug 601 - ipport_seperate() used strtok() to separate ip:port but when
just :port was specified it skipped the leading : and assigned the port to ip
and null to the port causing the calling routine to seg fault.
2003-01-07 02:30:21 +00:00
codemastr 8523a7554b Fixed a random bug and added link::password-connect encryption error 2003-01-05 16:51:15 +00:00
codemastr d47e956c5b Fixed a bug in the empty channel fix 2003-01-05 01:28:23 +00:00
codemastr b455704e7f Added a patch by Syzop to increase randomness of the random numbers 2003-01-05 01:26:28 +00:00
luke 909c5843cb Fixed bug with whole bunch of users in an empty channel (codemastr found it) 2003-01-04 21:42:03 +00:00
codemastr 286115c256 Fixed some conf3 bugs 2003-01-03 17:44:02 +00:00
codemastr 91b9fa2281 Removed USE_LONGMODE 2003-01-03 17:05:58 +00:00
codemastr a123023350 Added the ability to specify port ranges 2003-01-02 20:49:44 +00:00
codemastr d7c59f9961 Fixed a few bugs 2003-01-02 19:32:58 +00:00
codemastr efa61e7ec0 Fixed a bug in the binary searching routines 2002-12-29 17:34:51 +00:00
codemastr 2270e37dca Added pretty_time_val 2002-12-20 22:09:38 +00:00
codemastr 31171c09b4 Fixed a bug where setting umode -o didn't set -h 2002-12-19 21:59:22 +00:00
codemastr 67b1118abb Added set::snomask-on-oper 2002-12-19 21:49:37 +00:00
griever 24cd9ff5ef TKL fix and shit 2002-12-19 20:40:40 +00:00
mcskaf a94f2e208f Fix bug 552 2002-12-17 20:08:00 +00:00
mcskaf ab66342581 Fix bug 552 2002-12-17 19:56:36 +00:00
mcskaf c3f23435d5 Detect include file error. 2002-12-17 19:53:41 +00:00
stskeeps e1b22ca767 bah src/umodes.c 2002-12-16 13:36:50 +00:00
stskeeps 3c99989a07 fuck it all 2002-12-16 13:36:18 +00:00
codemastr 0fc5b50258 Docs updates 2002-12-15 16:30:47 +00:00
codemastr 5196094ca7 Added chmode +u to help.conf 2002-12-15 01:43:16 +00:00
codemastr 140eed6b4c Fixed a win32 bug with showing included files on the config menu 2002-12-15 01:35:07 +00:00
codemastr f5e278fac7 Fixed a +/-f bug when using values > 65535. Now limits to 500:500 2002-12-14 18:22:20 +00:00
codemastr 5a4e05a429 Fixed a crash if oper::flags is missing 2002-12-14 18:14:59 +00:00
codemastr 7c0bc3f0be Fixed a tsctl and a make install bug 2002-12-14 17:29:39 +00:00
codemastr a15d1337c0 ... 2002-12-13 22:35:07 +00:00
codemastr 696533a163 Rewrote some +G code 2002-12-13 22:06:17 +00:00
codemastr ef5f1c354b Added set::htm for htm options 2002-12-11 17:35:18 +00:00
stskeeps a76476371e *** beta13 released *** 2002-12-09 20:02:25 +00:00
stskeeps 04be404c6c - Changed base version name to Unreal3.2, instead of Unreal3.2-Selene
- Made McSkaf part of core coder team
2002-12-09 19:54:35 +00:00
mcskaf 997cb99faf Changed DWORD to u_int32_t. 2002-12-08 20:32:56 +00:00
mcskaf c609e0bbb1 IRCCreateThreadEx() was causing exception on Windows. 2002-12-08 20:09:27 +00:00
codemastr 2783e635b6 Fixed a typo 2002-12-08 18:44:30 +00:00
codemastr 5f9285e139 Updated version number in win32 installer 2002-12-05 20:09:27 +00:00
cvs2hg 2eef007c8a fixup commit for tag 'unreal3_2_beta13_rc1' 2002-12-05 19:51:26 +00:00
stskeeps d2e87700c3 - Added back the commands check that didn't get added in conf3 (lamers
beware)
2002-12-05 19:51:25 +00:00
codemastr 1c74c7458f docs updates 2002-12-05 16:54:05 +00:00
mcskaf 9102ebacf7 Use P_EWORKING in connect(). 2002-12-01 19:44:12 +00:00
mcskaf 2d9186c7a3 Fixed a dumb mistake. 2002-12-01 19:13:47 +00:00
mcskaf c28b3db527 Changed connect() success/fail checking in scanners for all OSs. 2002-12-01 19:10:26 +00:00
mcskaf 28fbd0bafe Added P_EWORKING define. Indicates a socket call is in progress on all OSs. 2002-12-01 18:53:06 +00:00
codemastr 2182c90be5 Release preparations 2002-12-01 18:23:11 +00:00
codemastr 6c167e3590 Documentation updates and misc. fixes 2002-12-01 17:50:08 +00:00
mcskaf b148656164 Change resolver to use our IRCMutex macros. 2002-12-01 17:42:56 +00:00
codemastr 5d31e2ac68 Changed the thread API to fix some win32 crashes 2002-12-01 17:11:34 +00:00
codemastr 1a64c71e7f Added a patch for logging vhosts in connect/disconnect notices 2002-11-30 21:11:05 +00:00
codemastr 48fb658531 Removed m_kline.c and m_zline.c they are now implimented as part of m_tkl.c 2002-11-30 21:01:12 +00:00
codemastr 211e930a1e Fixed an oper count bug with SVS2MODE 2002-11-30 19:22:43 +00:00
stskeeps f7d349e60a - Changed .SICI to point to cacert.org instead (patch by evilbunny) 2002-11-29 07:23:04 +00:00
stskeeps a5547b65f4 - Made config actually add listeners when rehashing (...) also you can now
change listener flags using /rehash
2002-11-28 17:34:19 +00:00
codemastr d21fc4bcca Fixed some logical module rehash problems 2002-11-28 16:21:05 +00:00
mcskaf b39615e26a Fixed doc: Changed set::scan::ban-time to set::scan::bantime. Added set::scan::timeout. 2002-11-27 22:05:59 +00:00
mcskaf a3c6b57a70 Changed set::scan::ban-time to set::scan::bantime. Added set::scan::timeout. 2002-11-27 22:03:47 +00:00
mcskaf ebed8efde7 Fixed typos in set::scan::bind-ip and set::scan::ban-time 2002-11-27 21:05:20 +00:00
codemastr 84fe71337e Docs fixes 2002-11-27 20:45:42 +00:00
stskeeps 8bf8eff75a - Removed makeconf 2002-11-27 20:40:30 +00:00
codemastr 9dd4b699b8 Cleaned up module code 2002-11-27 17:40:28 +00:00
codemastr 24eac63abd Changed the conf3 return values 2002-11-27 17:19:33 +00:00
stskeeps 4b738b28e2 - Small typo in config validation found by ins4ne 2002-11-27 15:23:35 +00:00
stskeeps c43a4d35c4 stuff 2002-11-27 14:55:47 +00:00
stskeeps fcfbf1cdaf serious who bug 2002-11-27 14:53:51 +00:00
codemastr dd2bf9e926 Fixed a bug where chmode +q users could not kick chmode +a users 2002-11-26 23:07:13 +00:00
codemastr 6750bca21c ... 2002-11-26 20:23:23 +00:00
codemastr 736474aa5f Finished module rehashing 2002-11-26 20:15:17 +00:00
codemastr 0ba49b9c4e Made modules rehash under dynamic linking 2002-11-26 19:52:02 +00:00
codemastr b87f79a271 Made alias{}'s get rehashed 2002-11-24 23:32:25 +00:00
mcskaf a21df7fcf5 Fixed sendto_ functions to use slot number as index into sentalong array. 2002-11-23 00:09:48 +00:00
codemastr 7ce89318f8 conf3 fix 2002-11-22 23:25:49 +00:00
mcskaf 3d945f5b1d Fixed sendto_ functions to use slot number as index into sentalong array. 2002-11-22 23:25:20 +00:00
mcskaf eba7f5ffe0 Fixed sendto_ functions to use slot number as index into sentalong array. 2002-11-22 23:07:35 +00:00
codemastr 387565717f Converted deny {} to conf3 2002-11-22 22:25:19 +00:00
codemastr 6a65111f12 Fixed several conf3 errors 2002-11-22 21:46:31 +00:00
stskeeps cd83b8a845 - Fixed win32 compile error with default: ; 2002-11-22 21:04:40 +00:00
stskeeps e4bd382898 - /rehash for conf3 (that works) :) 2002-11-22 16:16:33 +00:00
codemastr ce64bf6f6c Changes to the module config system 2002-11-18 20:04:36 +00:00
codemastr 594f8646d3 Made modules able to have config directives 2002-11-18 00:54:05 +00:00
codemastr e392d1435f Fixed a bug when set::help-channel is missing 2002-11-17 20:00:43 +00:00
codemastr d1e0d459c5 Added can_override oper flag 2002-11-17 17:31:30 +00:00
codemastr 1b17b5c0be Fixed a win32 debugger bug 2002-11-17 01:49:22 +00:00
codemastr 5e9107815e Added SVSLUSERS 2002-11-16 20:52:16 +00:00
codemastr 45590c3b5d Made alias {} work in conf3 and recoded the way aliases work somewhat 2002-11-08 21:26:44 +00:00
stskeeps 808acb8e57 - Finished up conf3, still needing some directives added but it sortof works. Rehash doesn't yet.
-  Fixed some idiotic lack of src/modules/Makefile.in changes for the sake of commands.so when
  /zline /kline etc was moved to a module
2002-11-05 19:25:21 +00:00
stskeeps f99caaa2bd Fixed alphabeticalising of named oper flags, added _conf/test_link 2002-11-05 13:52:44 +00:00
codemastr d75ffab485 Fixed some configure problems with gcc3 2002-11-02 20:32:47 +00:00
codemastr 16dd1804be Converted log and help to conf3 2002-11-02 17:24:54 +00:00
codemastr 85598d17ce Conf3 cleanups 2002-11-01 20:31:08 +00:00
codemastr b28ad5f76c Changed config flag parsers to use a binary search 2002-11-01 20:11:36 +00:00
codemastr 6dae920358 Made the main conf3 searching routine use a binary search 2002-10-27 20:31:02 +00:00
codemastr 9a280f3e14 Possible win32 resolver fix, conf3 fixes 2002-10-27 17:32:33 +00:00
stskeeps 402f031da1 bug 2002-10-26 21:42:36 +00:00
stskeeps 09bacf360e - Made CLIENT_FLOOD more customizable
- Fixed some conf3 compile errors and block-modded _*_tld
2002-10-26 19:55:24 +00:00
codemastr 6d77b60387 Added some additional NT Service options to the win32 installer 2002-10-26 19:20:52 +00:00
codemastr 1e23915986 Merged unrealinstssl.iss into unrealinst.iss 2002-10-25 17:37:53 +00:00
griever 391098a197 kline has been replaced with tkline 2002-10-24 15:58:44 +00:00
stskeeps 553c66eae6 . 2002-10-20 20:33:29 +00:00
stskeeps 34287cb733 f 2002-10-19 17:40:23 +00:00
stskeeps 6ad5b43fb5 - Fixed conf3 bug with _conf_except tkl 2002-10-19 17:37:52 +00:00
stskeeps 613c78924d conf3 2002-10-19 17:33:05 +00:00
cknight ab5c9b3a0a - Documentation - Corrected several HTML formating problems 2002-10-17 11:11:13 +00:00
cknight de97efbd21 - example.conf - Corrected incorrect set::services-services statment in alias block - reported by mcskaf (#0000401)
- Documentation - Corrected Spelling mistake in HTM mode - Reported by CoNfOuNd (#0000387)
- Documentation - Added coadmin to table of oper types - Reported by FrostByghte (#0000359)
2002-10-17 10:45:57 +00:00
cknight 479a6cf6c3 - Documentation - Updatet sec2.0 - list of Supported OS's for Win32 Version
- Documentation - Updated sec1.1 - Instructed to use bugs.unrealircd.org to report problems with docs
- Documentation - Updated misc hyperlinks - doc/unreal32docs.html
- Documentation - Updated sec3.31 - Added better description to the format we present set:: settings
- Documentation - Updated sec3.31 - Added more details to set directives
- Documentation - Updated sec3.25 - Added option vhost::swhois to section 3.25 Vhost block
- Documentation - Replaced text vair {} with <> to prevent confusion.
- Documentation - Documented that lusers now supports remote servers
- Documentation - Corrected vhost::from example as reported by joolz #329
- Documentation - Corrected set::scan:messages, currently listed as set::messages - as reported by joolz (#329)
- Documentation - Added channel mode t & description as reported by stfcs (#315)
2002-10-16 15:31:41 +00:00
codemastr 806701ac23 Scanner win32 fixes 2002-10-13 21:47:57 +00:00
codemastr 0a1a2e217f Fixed an htm bug with reporting no such server 2002-10-13 17:56:19 +00:00
codemastr 8d87ef6194 Added /lusers server.name support 2002-10-13 17:39:18 +00:00
codemastr 612751abde Fixed an samode bug 2002-10-13 17:15:29 +00:00
codemastr 1977439e27 Fixed another tkl bug 2002-10-05 00:27:22 +00:00
stskeeps 1c81b72a4f - Fixed crash bug in m_tkl_line 2002-10-04 18:35:40 +00:00
stskeeps 62b7acc6be dd 2002-09-28 14:28:14 +00:00
stskeeps 1d3c41ef75 Removed some IPv6 resolver specifics that seemed illogical (reference to Jollino's IPv6 crashes) 2002-09-28 12:47:59 +00:00
stskeeps bb6711691b - Fixed bug #0000342 reported by James LiGate about tokens leaking through from clients 2002-09-28 12:32:18 +00:00
stskeeps 379a8ccc3b Fixed bug with all TKL commands not accepting nicks anymore (#0000370 reported by Ravage) 2002-09-28 12:16:10 +00:00
stskeeps 979f96ca3a Fixed bug #0000371 reported by havlaz about an extra \n slipped in with the TKL notice 2002-09-28 11:59:01 +00:00
stskeeps 8f7455d423 - Fixed bug #0000377 reported by MorPheus where IPs of servers were shown in nick collision notices 2002-09-28 11:48:25 +00:00
stskeeps ce0ae3a46d - Fixed bug #0000372 reported by MorPheus where Killed (<everything-but-the-first-char-in-killer-letter-got-shown> (reason)) 2002-09-28 11:40:10 +00:00
stskeeps 4bc07b8789 +- Added set::ssl::options, with three options:
+    fail-if-no-clientcert   - If SSL client connects and doesn't provide a client certificate, abort connection immediately
+    verify-certificate      - Check the certificate's validity using X509 methods, check if we trust CA's, etc.
+                              It however does slip self signed certificates through UNLESS
+    no-self-signed          - Don't allow self-signed certificates through (requires verify-certificate)
+- Made conf parser mention if we make a link->options with CONNECT_SSL if we don't support SSL (and remove the CONNECT_SSL flag)
+- Made conf parser mention if we make a SSL listener and we don't support SSL
+- Added set::ssl::trusted-ca-file, if enabled, it will point the SSL stuff to use that file as trusted CA's (for verify-certificate)
+- Made conf _not_ bitch that it doesn't know set::ssl
+- Removed some leftover client certificate stuff
2002-09-28 11:02:05 +00:00
stskeeps 9d43770bd0 doc shit 2002-09-27 18:51:12 +00:00
stskeeps 282cc51768 - Changed auth method sslpubkey into sslclientcert, which means it will check the X509 certificate of the
user using X509_cmp. Also needing is some policy/conf setting to adjust if to reject invalid client certificates or whatever..
2002-09-27 16:08:03 +00:00
codemastr 519b491c1b Fixed a bug with /who -h 2002-09-20 20:06:33 +00:00
stskeeps c8c316c56d - Made channel keys be case sensitive 2002-09-07 09:26:45 +00:00
stskeeps 6926cca1bb - Added Syzop's various zero-terminate patches and fixes for crashes when
you send commands like JOIN from a server directly
2002-09-07 01:32:00 +00:00
codemastr 9f4f72d2af Now using unsigned chars 2002-09-02 15:30:03 +00:00
codemastr 13b2ebc773 ... 2002-09-01 18:55:19 +00:00
codemastr ff14d5d0bf Compile warning cleanups 2002-09-01 18:33:47 +00:00
codemastr 227563a13d removed some old win32 debugger debug code 2002-09-01 14:41:12 +00:00
stskeeps 6aa5b7a341 - Made the IRC_UID stuff more proper.. 2002-09-01 14:39:41 +00:00
stskeeps 9d35460488 bah 2002-09-01 09:27:23 +00:00
stskeeps e1872e1231 - Added Nugget's setuid patch 2002-08-31 16:30:29 +00:00
codemastr b5827fd1de Fixed some /who bugs 2002-08-31 15:33:05 +00:00
codemastr 528238f541 Fixed a bug in TKL that would allow *@* bans 2002-08-31 12:49:28 +00:00
codemastr 3ce3b10e04 Fixed a win32 editor bug with chars > 128 2002-08-28 20:50:09 +00:00
codemastr 478970ed36 Made alias {} use tokens where available 2002-08-28 17:40:17 +00:00
codemastr b89c6a8cd1 Added oper login to the 'is now an operator' notice 2002-08-28 12:12:21 +00:00
codemastr 12264cfa1b Fixed a bug with installed Unreal as a service under WinNT4 2002-08-28 12:06:23 +00:00
stskeeps a1e5a746e3 - A minor fix in SSL_is_inited stuff in s_bsd 2002-08-27 13:16:15 +00:00
stskeeps 4aff4a0376 - More SSL debugging stuff.. 2002-08-27 12:34:43 +00:00
stskeeps 9251a76f63 Added some more debugging stuff, made check_pings a little more readable 2002-08-27 05:04:30 +00:00
stskeeps a5809bba80 bah 2002-08-26 15:13:43 +00:00
stskeeps 9b597033ef bah 2002-08-26 15:10:19 +00:00
stskeeps a15ce8eb54 bah 2002-08-26 14:55:14 +00:00
stskeeps 012bad26c7 SSL debuggin stuff 2002-08-26 14:53:12 +00:00
stskeeps 709d9b87dd - Added a newline in dynconf.h 2002-08-26 10:16:44 +00:00
stskeeps 36e88f1364 - Fixed a problem with set::ssl::certificate and set::ssl::key that used
+  ->ce_varname instead of ->ce_vardata. Found by badSol
2002-08-26 01:02:29 +00:00
codemastr e1c7eead30 ... 2002-08-25 16:54:00 +00:00
codemastr cebae72da4 Fixed a win32 password encryption bug in NT service mode 2002-08-25 16:35:17 +00:00
codemastr 1f2e1a8bcf Added vhost::swhois 2002-08-25 16:10:09 +00:00
cvs2hg a44e23dcfe fixup commit for tag 'unreal3_2_beta12_fixes' 2002-08-25 14:09:01 +00:00
stskeeps 065b111e22 - Compile fix regarding above fix 2002-08-25 14:09:00 +00:00
stskeeps f62b8718aa Fixed problem where SSL handshakes weren't unknown--'ed on remove reported
by Alzirr
2002-08-25 12:57:45 +00:00
cknight f363332faa - Updated docs to include ripemd-160 encryption option 2002-08-25 11:48:04 +00:00
cknight 30efe19cbd - Added set::static-quit to unreal32docs.html 2002-08-25 11:38:27 +00:00
stskeeps 63ece5f2bc - Made so every join is a SJOIN to prevent TS0 problems. Read config.h to disable this if it causes problems 2002-08-25 05:04:58 +00:00
stskeeps 154860ee3a TOPIC_NICK_IS_NUHOST 2002-08-25 04:49:37 +00:00
stskeeps 5785860f71 - Make makecert.bat and encpem.bat show their use in titlebar when run 2002-08-25 04:33:16 +00:00
stskeeps e1b478909e - Made set::static-quit - check doc/example.conf for documentation - but
this allows the admin to decide a standard custom quit for users. so they
  won't be able to make their own quits. This affects set::prefix-quit and
  ANTI_SPAM_QUIT_TIME - it simply replaces it with the message if enabled
2002-08-25 04:26:45 +00:00
stskeeps 21d8c88e2c - Made standard-threads default, and made a Config option if to use FSU
pthreads or not
2002-08-25 03:03:11 +00:00
stskeeps a6776a30a2 - Removed ssl.rnd as it was not supposed to be provided by CVS 2002-08-25 02:08:13 +00:00
cknight 9074722d4b - Corrected release date in doc/unreal32docs.html 2002-08-24 19:21:56 +00:00
cknight 96f0f8274a *** empty log message *** 2002-08-24 18:31:59 +00:00
cknight b4ef73ca7c *** empty log message *** 2002-08-24 16:25:53 +00:00
cknight afc784ddb4 - - Reformated unreal32docs.html in something other than MS Word. 93k now! 2002-08-24 16:20:09 +00:00
luke f851f61b15 +O/+A ban implementation 2002-08-24 15:54:37 +00:00
cknight 751e14cbe2 - Made minor changes to help.conf 2002-08-24 15:48:52 +00:00
stskeeps 5fafec8555 .k
CVS
: ----------------------------------------------------------------------
2002-08-24 14:40:42 +00:00
stskeeps aff113dab8 - Added src/win32/gplplusssl.rtf for ssl-install script to show during
install in license - GPL + the notes from openssl
2002-08-24 13:13:21 +00:00
stskeeps a6c1bdacfb win32 install script changes to deal with version switchover 2002-08-24 12:24:27 +00:00
stskeeps ffbddddb8c Some install script win32 changes to deal with unreal32docs.html 2002-08-24 10:17:19 +00:00
codemastr 477ae217ab Made it so the win32 version of Unreal can't be reinstalled/uninstalled while it is currently running 2002-08-24 01:01:30 +00:00
codemastr 9fbe091509 Made /die exit nicely in service mode 2002-08-23 22:40:36 +00:00
codemastr b2efdf1fe4 unreal service utility changes and win32 resolver fixes 2002-08-23 21:26:02 +00:00
stskeeps 0f9fd774f4 - Changed version to beta12 2002-08-23 17:44:27 +00:00
stskeeps f2fd20d29d - Stripped the docs. 100kb down, but a reformat in something other than MS
word would really really help.
2002-08-23 17:33:25 +00:00
codemastr a29a242639 Made it so clicking wircd.exe when in NT service mode still starts Unreal 2002-08-23 16:48:41 +00:00
codemastr 8550484118 Fixed a set {} memory leak at /rehash 2002-08-22 16:21:40 +00:00
codemastr be5de25086 Recoded /helpop to work correctly 2002-08-21 20:35:22 +00:00
codemastr e898770e64 Fixed a host cloaking bug involving non-dot hosts 2002-08-21 17:23:17 +00:00
codemastr 9950600bcd ... 2002-08-21 17:16:28 +00:00
codemastr 96f407770c Fixed a /invite bug where remote invites didn't work 2002-08-21 17:12:51 +00:00
stskeeps 275d304475 - Added set::ssl::certificate and set::ssl::key to point to where we got the certificat
PEM and the private key PEM
2002-08-21 17:10:46 +00:00
codemastr 8c42cec638 Fixed a typo in /akill and /rakill 2002-08-20 20:20:03 +00:00
luke 18d25aa3e6 grammar bug + halfop kicking halfop bug 2002-08-20 18:58:11 +00:00
stskeeps 7c386cfe5a - FAKE_LAG_FOR_LOCOPS define added in config.h - enables local ops to
override RFC1459 flood control
2002-08-20 18:01:41 +00:00
griever 593b611a11 Added o and O flags for oper override verify and oper override. 2002-08-20 15:46:24 +00:00
griever f8bf69302c Removed LEAST_IDLE 2002-08-20 15:13:05 +00:00
codemastr 20b250b98c Removed .NEW_CONFIG references from the win32 installer scripts 2002-08-20 00:00:28 +00:00
codemastr fbbf54bd9d Fixed a bug where set {} info wasn't cleared out at rehash 2002-08-19 22:47:57 +00:00
codemastr b2752c2ffb Changed cr/lf to just lf in doc/unreal32docs.html 2002-08-19 18:56:46 +00:00
codemastr e72710e0e8 Fixed an oper::swhois bug where the swhois was not propagated 2002-08-19 17:55:03 +00:00
cknight 13a7293f34 - Removed old docs and added new docs to Makefile.in
- Updated .CHANGES.NEW with new version # and link to docs
- Updated .RELEASE.NOTES with new version # and link to docs
- Added NEW doc/unreal32docs.html Docs
2002-08-19 00:42:15 +00:00
cknight f6aa7cdcf6 - Removed ./Setup - No longer supported (read the docs!)
- Removed .NEW_CONFIG - No longer needed
- Removed INSTALL - Refer to NEW docs Unreal32docs.html
- Removed doc/commands.txt - Refer to NEW docs Unreal32docs.html
- Removed doc/faq - Refer to NEW docs Unreal32docs.html
- Removed doc/conf.doc - Refer to NEW Docs Unreal32docs.html
- Removed doc/unrealircd.doc - Refer to NEW docs Unreal32docs.html
- Removed doc/Elite.Changes - Out Dated
- Removed doc/services-install-guide - Refer to NEW docs Unreal32docs.html
- Modfied Unreal.nfo to include ref. to new docs
2002-08-18 21:33:45 +00:00
codemastr cc5258fe8a Added EGD support 2002-08-18 20:28:33 +00:00
cknight e73cb3dac5 Removed /doc/faq not needed included in new docset 2002-08-18 19:21:58 +00:00
stskeeps 330d102bad Fixed some installer problems wrt SSL compile, and added makefile.win32.ssl 2002-08-18 11:16:42 +00:00
stskeeps a1f707ef63 - Added some somewhat path specifics to unrealinstssl.iss 2002-08-18 10:42:49 +00:00
stskeeps 2d074be8fc - Removed GNU malloc totally from the FSU pthreads distribution 2002-08-18 10:33:17 +00:00
codemastr 90fff06b2b Fixed a win32 installer problem with dbghelp.dll installation 2002-08-17 00:57:16 +00:00
stskeeps 566e03e5b2 - Fixed problem with DEBUG ERROR when SSL handshaking (reported by some people) 2002-08-14 20:47:07 +00:00
codemastr 8f883d65b7 Fixed a win32 ssl installer problem 2002-08-14 17:42:51 +00:00
stskeeps 68794a3ffc - Fixed problem where the parameters of the RAKILL aliasing to TKL were switched,
and a missing return for normal users.
2002-08-13 17:41:00 +00:00
codemastr 1fa5ed84e6 Fixed invite 2002-08-12 18:16:01 +00:00
codemastr efb54b62f3 Fixed a bug where MAXCONNECTIONS is shown as 0 when it is too high 2002-08-12 17:51:49 +00:00
stskeeps 6901d27508 - Module load fix for a minor fuckup in SQLINE/UNSQLINE 2002-08-12 17:03:03 +00:00
stskeeps 7f3096ee6b - Allowed SQLINE/UNSQLINE to come from a U:lined client as well 2002-08-12 15:45:46 +00:00
stskeeps 6b51c2d53b .. Fixed a problem with normal unix source compiling as codemastr had
#ifdef _WIN32 'ed find_match_server, causing me to believe it was gone.
2002-08-12 15:18:32 +00:00
codemastr 272b7dd892 ... 2002-08-11 00:40:24 +00:00
codemastr 43e470f898 make install fix 2002-08-11 00:38:03 +00:00
stskeeps 9eede48af4 - Added note about Linux and FD_SETSIZE > 1024 in release notes
- Made IRCd bitch properly when MAXCONNECTIONS>FD_SETSIZE
2002-08-10 17:49:52 +00:00
stskeeps 41a69863d6 bay 2002-08-10 17:08:35 +00:00
stskeeps 07eb941a58 arg 2002-08-10 16:51:44 +00:00
stskeeps f8f829840d FD_SETSIZE crap 2002-08-10 15:40:08 +00:00
codemastr bb95bdfa7c Removed some useless code and added more modules 2002-08-09 20:26:04 +00:00
codemastr 1aa70c7b77 Removed src/s_unreal.c 2002-08-09 18:21:59 +00:00
codemastr 333499a98c Win32 installer 2002-08-07 21:35:51 +00:00
cvs2hg c51b8fe5dd fixup commit for tag 'unreal3_2_beta11' 2002-08-07 21:10:50 +00:00
stskeeps 7af962ecf7 SSL fixes 2002-08-07 21:10:49 +00:00
stskeeps 133ba46362 Operoverride_verify stuff. 2002-08-07 20:52:51 +00:00
luke 608963e031 blah 2002-08-07 20:40:49 +00:00
luke 081b1cd12e sts sucks with grammar 2002-08-07 18:44:45 +00:00
stskeeps 7c4f43b36e --CVS: ---------------------------------------------------------------------- 2002-08-07 17:28:23 +00:00
stskeeps 1db6a86254 - Cleaned out Credits (i'll fix the web part of it later), made doug lea malloc default
+  on Linux FSU Pthread installs. (When we got a better way, we will have full doug lea malloc..)
2002-08-07 17:23:52 +00:00
codemastr 6096b9844e Removed some useless things in include/config.h 2002-08-06 16:28:25 +00:00
luke 85fa5c5bd9 Updated config.h for operoverride_verify 2002-08-06 13:59:58 +00:00
codemastr 6b44a0d643 .RELEASE.NOTES change 2002-08-06 01:26:51 +00:00
codemastr 80d837fa8b Removed support for SSLv2 2002-08-05 17:54:52 +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
stskeeps b4f0d0fc9d - Compile error fix regarding version.h 2002-08-03 20:20:14 +00:00
stskeeps 8236faeaf6 Removed doc/Etiquette 2002-08-03 20:13:37 +00:00
stskeeps bf1ccab9a9 +- Removed doc/features.txt, doc/unrealircd.conf.txt, include/relinfo.h,
+  include/stamp.h, src/buildm4, src/chkconf.c, src/conftool.c
2002-08-03 20:12:35 +00:00
stskeeps c2b48d3ce4 - Fixed SSL compile error wrt to /trace 2002-08-03 19:01:26 +00:00
codemastr ba26cc59a9 updated .RELEASE.NOTES 2002-08-03 18:45:51 +00:00
codemastr 6e076ba67b installer fixes and version number change 2002-08-03 18:31:11 +00:00
stskeeps f99d6689ca RELEASENOTES stuff 2002-08-03 18:24:29 +00:00
stskeeps 66eb6fa848 SSL stuff 2002-08-03 16:10:25 +00:00
stskeeps 959c5b0188 Added some OpenSSL version showing 2002-08-03 13:47:23 +00:00
stskeeps 0c730e8931 bah 2002-08-03 11:52:01 +00:00
stskeeps 7d7d4aafca fix 2002-08-03 11:49:37 +00:00
stskeeps 385d9f3ada - SSL compile error fix in s_bsd.c 2002-08-03 11:25:40 +00:00
stskeeps ff4bc60486 Fixed SSL linking, again.. 2002-08-03 11:09:20 +00:00
ejb 7bb73b5e6f - send +f and +L correctly in CHANMODES 005. 2002-08-03 08:53:41 +00:00
codemastr 4897441259 Added some technical documentation 2002-08-02 22:35:20 +00:00
codemastr dc27e6470d Fixed some SJ3 bugs that could cause desync 2002-08-02 20:40:09 +00:00
stskeeps 4d410f5982 - Seemingily we can't do SSLv3 only for ctx_server? 2002-08-02 11:54:03 +00:00
stskeeps c9be3fbac8 +- Fixed some SSL errors. read() returns -1 on error, so ircd_SSL_write and
+  ircd_SSL_read must emulate the same. codemastr: could you check what the
+  win32 equiviant of EIO is? I don't think my WSAEIO or whatever I called it
+  in sys.h is correct.
2002-08-02 11:45:31 +00:00
stskeeps 51539ee85b - Fixed some compile errors found by Zerwas and fixed some implementation problems of
the not able to set +z when there's non +z users (ULines not counted) in channel
2002-08-02 09:22:58 +00:00
luke f448495e3a Made notices pretty 2002-08-01 23:15:12 +00:00
luke f45917c16c New operoverride system...hope it works 2002-08-01 19:53:30 +00:00
luke b22f4c890b fixed modebuf, parabuf sizes 2002-08-01 17:56:54 +00:00
stskeeps 9e205fe3d5 - Made the win32 installer have the option of installing as a service under NT and fixed a
+  shortcut bug
+- Fixed sptr->user->realhost becoming lowercase upon a +x
+- Fixed +bbbbb lots of crap desynch bug
+- Fixed OperOverride snotice bugs with halfop
+- Standardized OperOverride notices
2002-08-01 16:39:05 +00:00
stskeeps ba60adb833 fixed no nssl compile error 2002-07-25 18:35:48 +00:00
stskeeps c0af661c77 More SSL horror and fixed a missing , in m_who 2002-07-24 17:59:26 +00:00
codemastr 54ed370fb3 Fixed a /who hop count bug 2002-07-24 17:49:39 +00:00
codemastr 5b32996538 Some config changes and documentation updates 2002-07-24 17:00:37 +00:00
stskeeps 5af8478d67 moo 2002-07-24 10:22:22 +00:00
stskeeps 2336498e9d blah 2002-07-24 10:11:35 +00:00
stskeeps d7c8623438 . 2002-07-24 10:00:17 +00:00
stskeeps 4e84c85ceb - Added ircd/safe_SSL_read/write from bahamut+inet6/azzuranet. This can be done much nic
when newio is done.
2002-07-23 19:04:18 +00:00
stskeeps 775f3fe272 Fixed some ./configure errors 2002-07-23 17:55:02 +00:00
stskeeps 8aabac59e9 Credits changes 2002-07-23 16:12:16 +00:00
stskeeps 4f1345c350 Removed mutex.c 2002-07-23 15:35:39 +00:00
stskeeps f69335e62b - Made ./configure check if it has parameters, and error if it don't. 2002-07-23 13:11:52 +00:00
stskeeps 13f23e478d - Changed ./update to use update.unrealircd.com 2002-07-23 12:45:58 +00:00
stskeeps c4908cb4fd Added some release notes with regards to scanners 2002-07-23 12:33:44 +00:00
stskeeps f19ebceee6 Fixed a silly bug with regards to matching against compressed IPs in link {} checking 2002-07-22 20:39:58 +00:00
stskeeps f0564193ba - Added a #ifdef _WIN32 for extern BOOL IsService; in ircd.c that made compile break
on non WIN32 systems
- Depricated AKILL/RAKILL and made them alias to TKL G +/- - for normal users they
  just reply that the commands are depricated. Server compatiblity is maintained.
  Eventually it will just be removed. Thank god for modules.
2002-07-22 20:33:49 +00:00
codemastr 36e4b65c45 Made the win32 uninstaller remove dbghelp.dll if it was installed 2002-07-22 00:50:49 +00:00
codemastr a1456aa107 Added an installer script to generate the SSL win32 version 2002-07-21 21:40:24 +00:00
codemastr a799e48f82 Removed StackTrace and implimented a home-grown debugger for win32 2002-07-21 21:31:44 +00:00
codemastr dce6edf333 Removed a TechAdmin reference in makeconf 2002-07-19 20:26:03 +00:00
codemastr 33403f2c3c Added an installer for win32 2002-07-19 18:15:53 +00:00
codemastr ec47a030fb Added WinNT Service Support 2002-07-19 17:31:51 +00:00
luke 02d7d80eb6 Secure channel only (+z) ERR_BANNEDFROMCHAN fix 2002-07-19 00:27:48 +00:00
stskeeps 1dbd3b42d5 - Fixed compile problem with non-glob/win32 systems (sunos 4.1) found by rshurr 2002-07-18 18:05:18 +00:00
luke 6336f7706f Added s_join fix to changes 2002-07-17 16:51:49 +00:00
luke 2fa495de1f Added self to /info 2002-07-17 16:49:31 +00:00
luke 7003df9aaf m_sjoin bugfix to resolve banlist problems 2002-07-17 16:42:11 +00:00
codemastr a0d6f168eb Fixed a makeconf bug that would make it not work after make install in some cases 2002-07-13 17:39:26 +00:00
codemastr 3c11cbb999 Fixed an oper bug where locops didn't get a hidden host 2002-07-13 16:56:01 +00:00
codemastr c5572fa6d5 Fixed a +sp bug 2002-07-12 18:00:45 +00:00
codemastr 032b8c523c ... 2002-07-12 15:51:33 +00:00
codemastr 188fa47e73 Fixed an alias {} prefix bug 2002-07-12 00:52:00 +00:00
stskeeps a1a299b9ff - Added extras/channeldumper.c 2002-07-03 11:25:41 +00:00
codemastr fdfdbd993e Added MD5 and SHA1 encryption to the win32 version 2002-07-01 21:09:01 +00:00
codemastr e81ca7b87c Added support for RIPEMD-160 encryption of passwords 2002-07-01 16:32:15 +00:00
codemastr 65729501ed More WinXP IPv6 fixes 2002-06-30 16:03:38 +00:00
codemastr 6353f10f82 Started WinXP IPv6 2002-06-29 23:28:14 +00:00
codemastr 305d71e552 Removed some obsolete docs 2002-06-29 23:25:10 +00:00
codemastr 17eb4e57d1 Updated INSTALL 2002-06-22 15:39:15 +00:00
codemastr 15e00b6dff made set::scan::bind-ip work in win32 and added AWAYLEN= token to 005 2002-06-22 00:43:22 +00:00
stskeeps 110c1b4fe4 - Fixed minor problem with former patch 2002-06-21 10:41:46 +00:00
stskeeps 7bef381cc6 - Added set::scan::bind-ip, set::scan::message, on request of RaYmAn, documented
in example.conf
2002-06-21 10:23:16 +00:00
ejb f38f758639 - Added /who +R which shows real host to opers. 2002-06-20 19:49:44 +00:00
ejb 539f218fce - Fix a minor stupid in m_quit.c. 2002-06-19 03:50:53 +00:00
codemastr 6282bc7180 more count bug fixes 2002-06-19 00:06:51 +00:00
codemastr 7b39825bb1 Fixed an oper count bug 2002-06-18 23:44:43 +00:00
codemastr cedb574f89 Fixed a bug that could cause an incorrect oper count 2002-06-18 17:07:13 +00:00
codemastr 2b769d576d Updated install to tell the user to use make install 2002-06-18 16:27:06 +00:00
ejb 5d9a49587c - couple of updates to INSTALL. 2002-06-17 20:45:05 +00:00
ejb 6466d1ed3f - Changed m_quit.c slightly, removed a redundant strlen, made prefix-quit of
"no" not use one at all, since this is in example.conf and is sensicle..
2002-06-17 03:42:25 +00:00
ejb 145d3dfb7e - Rewrote m_who.c from scratch. It's slightly different, help.conf explains exactly how. 2002-06-17 03:00:37 +00:00
codemastr 8dd7b3efee Documentation changes 2002-06-16 20:39:22 +00:00
ejb d27f817403 - Added myself to s_info.c:m_info(). 2002-06-16 19:48:02 +00:00
stskeeps 2d2dcbd93a moo 2002-06-15 20:40:56 +00:00
stskeeps b5ae2f7fc8 crack 2002-06-15 20:12:13 +00:00
stskeeps ed34721f16 Failsafe 2002-06-15 19:46:55 +00:00
codemastr a92c041b88 ... 2002-06-09 22:43:59 +00:00
stskeeps 4761f302f6 Included larne's /who patch, adding a multitude of symbols? :P 2002-06-08 19:53:54 +00:00
codemastr b59cead0b2 Fixed a /who bug where + wasn't displayed for voices 2002-06-07 23:40:38 +00:00
codemastr 560155275b Fixed a win32 bug where the tray config menu didn't display anything 2002-06-07 23:29:11 +00:00
codemastr 8694c3ffbe Converted the status window to a modeless dialog 2002-06-07 19:47:30 +00:00
codemastr 562397aa87 Fixed a hidehost bug where ABC.com would generate a different key than abc.com 2002-06-07 16:28:02 +00:00
codemastr 6f5590934f Made module load failure non fatal 2002-06-07 16:14:06 +00:00
codemastr 6fd5101305 Fixed a module bug when there is an include between a module-config-directive and the loadmodule 2002-06-06 21:42:54 +00:00
codemastr 9d1c5c2ceb Fixed a scanner bug causing it to never timeout 2002-06-06 21:31:32 +00:00
codemastr c27a3229c7 Fixed a maxperip and maxunknownconnectionsperip bug in IPv6 2002-06-04 16:46:45 +00:00
codemastr 18892b6446 ... 2002-06-04 16:23:58 +00:00
codemastr 542ecdc7fb Fixed a bug in the new allow system 2002-06-04 16:21:21 +00:00
codemastr a510d024d6 Added allow::options 2002-05-31 21:53:33 +00:00
codemastr ac1c9232bf Fixed some /stats Z problems 2002-05-29 19:53:34 +00:00
codemastr b2ec3ec1a7 Fixed a typo in doc/example.conf (and a few cleanups) 2002-05-29 16:26:21 +00:00
stskeeps 3699932d77 - Fixed some stuff to deal with #136 - Please note that we do NOT compress our addies
- reason for this is because for example ::ffff:192.168.1.5 would really fuck up stuff
  in the IRC protocol
2002-05-28 23:55:07 +00:00
codemastr 2b68123854 Fixed some typos and hostilename problems 2002-05-28 22:03:52 +00:00
codemastr 636aa8352b Fixed a stats l/L bug 2002-05-27 19:28:42 +00:00
stskeeps e0048f7525 - Made ident checking work on IPv6 as well 2002-05-27 17:44:10 +00:00
stskeeps f8865a5aa1 - Fixed a openssl+ipv6 bug, pointed out by Aragon .. This probably breaks some other crap, but what
the heck..
2002-05-25 16:56:59 +00:00
stskeeps 1f75896d56 - Added OpenIRC-CA in .SICI 2002-05-23 09:31:36 +00:00
codemastr 870289c2fd Finally REALLY fixed the scanner (note to Stskeeps: bcmp returns 0 when there IS a match) 2002-05-21 20:54:14 +00:00
codemastr 037b2e6434 Removed some SOCKS scanner debug code 2002-05-21 20:20:17 +00:00
codemastr a6ddaba35b Added gethostbyname_r config check 2002-05-21 18:52:27 +00:00
griever 2484153b70 ... 2002-05-21 01:06:14 +00:00
codemastr 49bb821199 Network file additions/deletions 2002-05-19 22:59:09 +00:00
codemastr 99db84be8c Updated docs and changed version to beta10 2002-05-19 15:18:12 +00:00
griever 8d1ff52f0d Fixed various bugs 2002-05-18 22:41:16 +00:00
codemastr e53e4a93db Credits changes 2002-05-10 22:04:30 +00:00
codemastr e77382c196 Fixed an OpenBSD bug 2002-05-10 21:27:18 +00:00
stskeeps d90d0f52f6 - Fixed a number of bugs in the upper patch. 2002-05-10 17:29:49 +00:00
stskeeps f19f945836 mm 2002-05-10 16:09:26 +00:00
stskeeps 8833852342 :src/ircd.c 2002-05-10 16:02:25 +00:00
stskeeps c343bf91f7 . 2002-05-10 15:59:06 +00:00
stskeeps 1ccd58d2a2 - Rewrote check_pings and the whole way banning people are handled. Do loop.do_banch
to provoke a bans check. This possibly fixes #00001702, #0000137 and other
  funny bugs.
2002-05-10 15:50:54 +00:00
codemastr e1f991f196 Fixed a config parser bug 2002-05-08 23:44:16 +00:00
stskeeps 60a2ebc493 - Fixed a bug with \r\n being mistakenly parsed wrong. Thanks to John_z 2002-05-07 20:59:47 +00:00
codemastr a88f70518c Fixed some free call typecasting 2002-05-01 20:13:37 +00:00
codemastr 29454d1c56 Fixed a socks scanner bug 2002-04-30 22:13:33 +00:00
codemastr f31620b194 Fixed a bug where except ban didn't work 2002-04-28 19:37:23 +00:00
codemastr 3bd9fbcccf Fixed a typo after make is done 2002-04-28 18:45:14 +00:00
codemastr 9834eb7566 Fixed some typos 2002-04-28 18:37:23 +00:00
codemastr ac6f01c0df Fixed another memory leak with the scanners 2002-04-28 18:28:49 +00:00
stskeeps d2db682c97 . 2002-04-26 12:42:33 +00:00
stskeeps 49c8a45728 . 2002-04-26 11:55:31 +00:00
stskeeps 0322db7ebd g 2002-04-25 19:58:45 +00:00
stskeeps 8d35c56efb - Some fixes with connect(). Knowing my luck this will fuck up to hell 2002-04-25 19:55:55 +00:00
stskeeps 9cf9781698 - Memory leak fixes with scanners 2002-04-25 14:28:32 +00:00
griever de9b9854b9 Fixed some stuff 2002-04-23 01:12:45 +00:00
codemastr 640404a4d5 Fixed some 64bit int cloak problems and updated credits 2002-04-19 20:24:41 +00:00
codemastr 13597dc40d Fixed some problems with sykper's patch 2002-04-19 19:43:39 +00:00
stskeeps 5d401a394e - Some more of skyper's security audit patch. Some of them were simply
unfair in regards to performance or blindly added strlcats/strlcpy
2002-04-18 19:05:22 +00:00
stskeeps b95b9d9e27 compile fix 2002-04-18 15:20:39 +00:00
stskeeps 491d6f70c2 First part of skyper's security audit patch 2002-04-15 20:17:36 +00:00
stskeeps f18eb925c4 - Documentation bug #0000152 reported by Tony at sexnet.org fixed regarding
example.conf being wrong about set::socks
2002-04-15 07:31:37 +00:00
codemastr 296b085008 Fixed a bug involving +H and oper counts 2002-04-02 21:28:43 +00:00
codemastr b0178e83bd Fixed a +c bug involving locops 2002-03-28 21:37:27 +00:00
codemastr 4a49f9b21f Fixed a /stats q bug causing a crash with sqlines with no reason 2002-03-26 22:50:27 +00:00
codemastr c20d8fb8f8 Fixed a win32 editor bug causing a crash when you click save multiple times 2002-03-25 21:10:51 +00:00
stskeeps e478bced2e .. 2002-03-25 07:57:46 +00:00
griever 0ce08bb11a blah 2002-03-25 04:48:01 +00:00
codemastr a7851a2b95 Made +I work under win32 2002-03-24 17:25:43 +00:00
codemastr e65a717cf4 Changed version to beta9 and updated documentation 2002-03-24 17:17:26 +00:00
codemastr 430121770f Added EXLIBS= to make custommodule 2002-03-24 17:11:24 +00:00
codemastr e55a6611c8 conf_unknown bug fix 2002-03-23 20:14:44 +00:00
stskeeps 1937f8c742 . 2002-03-23 19:32:21 +00:00
codemastr b516697885 Dynamic hook type system 2002-03-20 19:45:20 +00:00
stskeeps 94306ba8a5 - Cosmetic fix for /setident, found by juli .. 2002-03-20 16:38:37 +00:00
stskeeps c695ee4bcf - One little patch for humanity, one giant step for science.. 2002-03-19 21:14:24 +00:00
stskeeps ba08714e66 - Fix for desynch problem with the fix in /mode system, Thanks to Luke 2002-03-19 19:57:26 +00:00
codemastr 0f9d6e71e8 Updated doc/conf.doc 2002-03-19 16:49:36 +00:00
codemastr 9237ce85cf ... 2002-03-19 16:48:09 +00:00
codemastr f10832a977 Changed HOOKTYPE_JOIN to HOOKTYPE_LOCAL_JOIN 2002-03-19 16:41:43 +00:00
codemastr 7523a30430 Updated all modules to use 3.2-b8 format 2002-03-19 16:00:34 +00:00
codemastr 7587d594da Added HOOKTYPE_JOIN 2002-03-19 15:19:34 +00:00
codemastr 65a2668ede Added log {} syslog support 2002-03-18 23:26:12 +00:00
stskeeps ffea432f5a cfrap 2002-03-17 23:06:56 +00:00
stskeeps e679134624 - Fixed bug with mode buffer overflow .. I'm not 100% positive it works..
Thanks to larne, Luke, SciFi, panda, ^Tux^.. Syzop .. and the countless
  people bitching about their servers going down.
2002-03-17 22:39:06 +00:00
griever 12869627e6 This really should be in all changes files 2002-03-16 20:54:37 +00:00
griever 7819ffae6c Fixed m_oper +Oo bug. 2002-03-16 20:34:17 +00:00
stskeeps 73b7a8be1e - Fix with status needed for remote clients too. Found by
Craig/FrostyCoolSlug <Craig@e-tidalwave.org>
2002-03-16 18:09:15 +00:00
codemastr 0b632d5e71 Fixed a Chinese nick bug 2002-03-16 17:10:17 +00:00
stskeeps 0576528af0 Mroe shit 2002-03-16 16:54:55 +00:00
stskeeps ef43f0f2ca Fix with debugmode 2002-03-16 16:51:56 +00:00
codemastr 0c540e883f Converted commands to use module objects 2002-03-15 23:35:55 +00:00
codemastr 0131d9f325 /mkpasswd typo fix and doc/unrealircd.doc update 2002-03-14 01:24:20 +00:00
stskeeps 2399936a6a - Fixed leftovers of non- char *configfile compliance. Thanks to ace and
various other people ..
2002-03-13 22:03:42 +00:00
codemastr b4a6f24f80 Fixed a listen::options::serversonly bug 2002-03-13 21:18:09 +00:00
codemastr 2f449e0918 Module Insanity Prototype Fix 2002-03-13 20:45:06 +00:00
codemastr fd925b3c28 Module Insanity v1 2002-03-13 20:42:40 +00:00
codemastr 5753585026 Fixed a win32 editor line count bug 2002-03-12 23:36:25 +00:00
stskeeps 1c73d5ae45 . 2002-03-12 20:40:42 +00:00
stskeeps 1a9b9ccf1a more shit 2002-03-12 20:39:16 +00:00
stskeeps ce580bbe09 - Small release tricks 2002-03-12 20:29:17 +00:00
stskeeps 1c22a8257c - Compile fix for TS2ts 2002-03-11 14:17:56 +00:00
griever 335e30513c Fixed -Wall warnings for TSTime 2002-03-11 04:26:27 +00:00
codemastr 38c48fef75 Fixed an IPv6 problem 2002-03-10 20:25:09 +00:00
codemastr 662f6398f3 Release preparation 2002-03-10 19:24:16 +00:00
codemastr 420991af6a Removed my_name_for_link (unused) 2002-03-08 22:13:51 +00:00
codemastr 0f2ae3c278 Win32 fix with u_int16_t 2002-03-06 21:45:04 +00:00
codemastr 4823908acb Removed src/cio_main.c, src/cio_init.c, include/cio.h, include/ciofunc.h extremely old unused code 2002-03-06 21:43:59 +00:00
codemastr 03aa90bc43 ... 2002-03-05 23:22:21 +00:00
codemastr bef880aa6a Removed all remnants of PROTO() 2002-03-05 23:09:39 +00:00
codemastr b8fecd310f ... 2002-03-05 19:34:10 +00:00
griever 104e7200f5 FOO! 2002-03-05 00:49:03 +00:00
codemastr eaecb8c42a Win32 -Wall cleanup 2002-03-04 23:34:13 +00:00
codemastr c4d3ae9df1 Clean compile with -Wall 2002-03-04 21:31:01 +00:00
codemastr b60eb8f989 Readded examples to doc/conf.doc 2002-03-03 19:25:35 +00:00
codemastr 8de39f6dc5 Made extraflags be checked by deny version and fixed a +I bug 2002-03-03 16:04:51 +00:00
codemastr a46ebe1f38 Added various patches by Syzop 2002-03-02 17:18:11 +00:00
griever 78fa804531 blah 2002-02-25 19:56:49 +00:00
stskeeps 2b6390daa3 fixed problem with wrong moved cptr passwd 2002-02-19 16:19:36 +00:00
stskeeps 4aa8f59611 - Fixed #undef STRIPBADWORDS problem, patch by light 2002-02-18 15:37:52 +00:00
griever 3debe8680a -Wall -Wno-implicit 2002-02-16 21:31:51 +00:00
griever 1c9ee5c817 -Wparentheses 2002-02-16 20:54:51 +00:00
griever e5d74b9ae0 -Wformat 2002-02-16 20:40:12 +00:00
griever 6f8aca82f3 -Wunused 2002-02-16 20:15:41 +00:00
griever dbaab6e026 Fixed ugly code 2002-02-16 19:24:42 +00:00
codemastr d3e7ab8006 Credits update and htm fix 2002-02-16 16:48:40 +00:00
codemastr 3a4c06ffd3 Fixed a typo in the docs 2002-02-15 23:00:05 +00:00
stskeeps 73af1fd6e0 . 2002-02-15 22:50:37 +00:00
stskeeps 4fd3ec7525 . 2002-02-15 22:48:51 +00:00
stskeeps 19cd68a204 - lack of time sucks. openbsd problem 2002-02-15 22:46:33 +00:00
codemastr 2d7eb2c1b1 Possibly fixed the /who flags bug 2002-02-12 20:06:20 +00:00
stskeeps c5d855eb10 - Fixed m_rawto.c problem found by TheDarkOne 2002-02-11 20:41:25 +00:00
codemastr d29b6498fb Modified the _ fix to work on all OSes that need it 2002-02-11 17:08:18 +00:00
stskeeps 1f8489a471 . 2002-02-11 16:23:02 +00:00
stskeeps 02acda1628 - Fixed an issue with -x and /quit and whowas, found by RaYmAn 2002-02-11 16:16:25 +00:00
stskeeps fccb560c67 . 2002-02-11 14:34:46 +00:00
stskeeps 376e3d3d6f - Fixed a problem with Mod_Handler being **, found by andi 2002-02-11 13:29:11 +00:00
stskeeps f92fcae257 - Added SJOIN fix so it won't accept NULL channels 2002-02-11 12:48:27 +00:00
stskeeps 7c54ce70c9 - Added andi's OpenBSD fix for the symbol issue with prefix _ 2002-02-11 12:24:15 +00:00
stskeeps 0206d844e9 +- Added tainted variable. 3rd party modules must ++ this upon load,
+  -- upon unload. Will show a 3 in flags.
+- Added extras/m_rawto.c - 3rd party module. Fixed some documentation
2002-02-11 11:03:05 +00:00
stskeeps afcb0b2a03 - Made makefile ability to "make custommodule MODULEFILE=m_zline"
if m_zline.c is in src/modules/, it will get compiled. This SHOULD
  help 3rd party modules atleast
2002-02-11 10:24:11 +00:00
stskeeps 9194aece63 Various 2002-02-06 19:38:30 +00:00
stskeeps a9f1838c3e - Various fixes to virthost system, may fix some memory corruptions
and potential exploits.
2002-02-06 19:35:42 +00:00
stskeeps 78ef8effe9 - Various fixes to virthost system, may fix some memory corruptions
and potential exploits.
2002-02-06 19:33:21 +00:00
stskeeps 90d56ef4e5 fix broken 2002-02-06 15:03:15 +00:00
griever ae0f7643dd Fixing broken tokens 2002-02-05 23:47:44 +00:00
codemastr 30b0175a39 ... 2002-02-03 17:25:52 +00:00
codemastr bd6729ad93 More -Wall cleanups 2002-02-03 17:15:37 +00:00
stskeeps 51d0d59ced slight compile error 2002-02-03 15:11:55 +00:00
stskeeps 9daf3d0b73 - BEFORE you use event functions, LockEventSystem(), after,
UnlockEventSystem(). In EVENT() functions, the system _is_ locked.
  This might fix the double recursion mutex problem we got.
2002-02-03 15:09:49 +00:00
stskeeps 7805566ceb - Fixed loadmodule invisibility.so: undefined symbol:
get_umode bug, reported by James-Bond, #0000060)
2002-02-02 16:50:51 +00:00
griever c7fbfa3e92 Yeah yeah, blah blah shit 2002-02-02 02:24:44 +00:00
codemastr 8e7b926c31 Made the win32 version set read only log files to writable 2002-01-31 21:11:29 +00:00
codemastr 887a003b98 Added a shutdown confirm message box when you click the X in win32 2002-01-31 20:32:38 +00:00
codemastr 5a0d13d9fa Fixed a umode system error with unknown modes 2002-01-31 17:50:56 +00:00
codemastr 164869dca5 Documented the new set::scan::* directives in doc/conf.doc 2002-01-30 22:10:54 +00:00
codemastr 538c318eb6 Fixed win32 scanner bugs, and added a menu option to view log files in win32 2002-01-29 22:45:17 +00:00
stskeeps fa2e9760f9 - Changed some m_ functions into CMD_FUNC(m_*) 2002-01-29 13:48:00 +00:00
codemastr 5a366beda7 Scanner config changes 2002-01-29 00:21:57 +00:00
codemastr 0f6d91091e ... 2002-01-28 00:39:32 +00:00
codemastr 8be7cbab05 Made all functiosn use new-style parameter lists 2002-01-28 00:38:02 +00:00
stskeeps 112d928f11 - Fix for /version crash, reported by RaYmAn 2002-01-27 23:18:32 +00:00
stskeeps 6d239e28ec - -Wall cleanup cleanup with SSL AUTH problem 2002-01-27 22:40:11 +00:00
codemastr d10bc57b74 ... 2002-01-27 20:31:56 +00:00
codemastr 6b8c83ba85 Cleaned up a bunch of -Wall warnings 2002-01-27 20:28:41 +00:00
stskeeps 93f759f200 - Changed umode +I behavoiur to you have to be loading invisibility.so to ha
the +I functionality. Code is still in IRCd, but isn't used until module
  is loaded. Loading of this will cause an R to be added to /version
  flags. Hopefully this will satisify some people's thoughts about a so
  called spy tool being enabled by default. Also added flag_add(char *)
  and flag_del(char) for modules to add to flags string. -Sts
- Removed -win32 postfix for wircds, look in /version for W instead
- Removed ircnetwork part of /version
2002-01-27 18:07:20 +00:00
codemastr dc3f1ba227 Documented link::cipher and except tkl in doc/conf.doc 2002-01-26 20:47:42 +00:00
codemastr b549340657 Added except tkl 2002-01-26 20:38:12 +00:00
codemastr 8f68a64363 Made SHOW_SECRET defined by default 2002-01-26 18:16:02 +00:00
codemastr 15c765449b Fixed a t.next recode typo and added -pipe check for gcc 2002-01-26 17:54:14 +00:00
stskeeps ec5231f565 - Fixed some t.next's and replaced with codemastr method(tm) 2002-01-26 00:20:20 +00:00
stskeeps db060a11b8 - Fixed some minor issues with dialog interface for .pem SSL passwords
- Added makecert.bat / encpem.bat to src/win32, which are used in SSL release
2002-01-26 00:17:35 +00:00
stskeeps f52f030346 fix 2002-01-26 00:12:32 +00:00
codemastr 58c667c7c3 Added a win32 dialog for the SSL .pem passwords 2002-01-25 23:11:29 +00:00
stskeeps a3a04d9797 - Added link::cipher for #define USE_SSL, use this to select
ciphers, read example.conf for more. Closes #000016. Suggested by narf
2002-01-25 22:22:11 +00:00
codemastr 3e89146e19 Fixed a listener bug 2002-01-24 21:11:19 +00:00
codemastr ce009a31ba Fixed a win32 bug that causes the editor to cut text at 32KB 2002-01-24 21:00:09 +00:00
stskeeps e39a1f9884 zogg socks fix 2002-01-24 18:29:19 +00:00
stskeeps 7a7e2de05c - Added patch in #0000053 by |savage|, speedup in can_send 2002-01-24 17:48:04 +00:00
stskeeps 59084e02a1 +- Fixed #0000046 regarding Module_free memory leak 2002-01-24 17:44:03 +00:00
codemastr 6fda3150a6 Removed some useless tkl code 2002-01-22 20:19:40 +00:00
codemastr 6db9156993 Fixed a listener bug reported by Dragon974 2002-01-22 20:03:54 +00:00
codemastr e306a6e55c Recoded hooks to work like events 2002-01-21 18:25:20 +00:00
codemastr e72587c252 ... 2002-01-20 20:19:40 +00:00
codemastr eca91bee1f Fixed a module object bug involving static linking 2002-01-20 16:04:13 +00:00
codemastr 0b873a2b6b Recoded hooks to use module objects 2002-01-20 15:42:48 +00:00
griever c78c669fdd wtf.. 2002-01-20 00:01:36 +00:00
stskeeps 863e32a3d9 Problem with sendto_ops and null aclient->user fix 2002-01-19 18:12:22 +00:00
codemastr de2c5e6cc7 Various changes to the module system 2002-01-19 17:04:04 +00:00
griever 84c70bdd2f Blah... 2002-01-15 20:07:30 +00:00
griever aedfae229a Fixes about stuff 2002-01-15 04:32:00 +00:00
griever f65e857d4e sendto_ops is SNO_SNOTICE now 2002-01-15 04:27:14 +00:00
griever 587f4c4281 fix for stuff... made kline-address error easier to understand 2002-01-15 03:50:24 +00:00
griever f5f4e4500f Blah de poop! 2002-01-15 00:39:04 +00:00
codemastr dbda73fa56 Fixed various bugs and some cleanups 2002-01-14 20:01:36 +00:00
griever 0dd1483fc3 example.conf and m_oper fixes 2002-01-13 22:00:27 +00:00
griever 96d2cf936b MAXPARA removal 2002-01-12 22:18:48 +00:00
griever f7ab73f82e stupid error 2002-01-10 20:22:46 +00:00
stskeeps 12cdefe981 . 2002-01-09 13:52:25 +00:00
griever 8b6f528b54 *prays* 2002-01-08 02:17:05 +00:00
griever f512f9b901 now does a NOQUIT type thing for SQUITs 2002-01-08 02:14:49 +00:00
griever 819e0c98ea uh? 2002-01-08 01:14:28 +00:00
codemastr 2f67e63456 Updated INSTALL because people don't read channel topics 2002-01-08 00:22:55 +00:00
griever c2649c5438 Code cleanups 2002-01-07 22:42:45 +00:00
griever b34268dad0 Fixed gline bug 2002-01-07 22:35:12 +00:00
codemastr e20e9dfd85 Added Tkline, Tzline, and Gzline to the docs 2002-01-07 22:08:24 +00:00
codemastr 455d732636 Changed version to beta6 2002-01-07 19:19:47 +00:00
codemastr ba01670af2 Updated release notes 2002-01-07 19:12:37 +00:00
codemastr 9e42107355 Converted all calls to hunt_server to hunt_server_token 2002-01-07 19:01:07 +00:00
codemastr d25d7900df Added the ability to go to a specific line in the win32 editor 2002-01-07 18:41:57 +00:00
codemastr d48edbdf5c Added hunt_server_token 2002-01-07 16:07:02 +00:00
griever b1fce6bb63 omg... 2002-01-06 04:24:57 +00:00
griever ff4517fa8a ... 2002-01-06 04:09:44 +00:00
griever 2ed3bf18df Fixed compile bug with me not knowing structure stuff 2002-01-06 04:08:04 +00:00
griever 3a49482363 Fixed target limits 2002-01-06 03:50:07 +00:00
griever 1055c2b73c Yay, sts was drunk 2002-01-06 02:01:34 +00:00
codemastr 29f53a13c4 More editor changes 2002-01-05 20:32:30 +00:00
codemastr 40a014a66e Fixed a token error 2002-01-04 22:18:56 +00:00
codemastr 393217392f Removed some // comments 2002-01-04 00:30:05 +00:00
codemastr 711b771b39 Made a few cleanups to the win32 code 2002-01-02 21:35:26 +00:00
codemastr 0f93326707 ... 2002-01-02 21:21:30 +00:00
codemastr bdd52d3eb8 Made the win32 editor use a toolbar, and added XP GUI support 2002-01-02 21:20:29 +00:00
griever 8b753d84eb Moved some stuff to the local section of aClient
stuff is still commented out (don't whine about //comments
as the lines are gonna be removed anyway)
in case this makes it core
2002-01-02 04:21:21 +00:00
griever 70a129aac4 Doh, forgot to comment the & too... 2002-01-02 04:12:21 +00:00
griever f0ddd37c49 Removed archaic useless stuff 2002-01-02 03:46:14 +00:00
stskeeps d20059ea7d +- Removed some ancient debugging code (num - %s) 2002-01-01 16:40:00 +00:00
stskeeps bebebf6cdf +- Made support in *nix for encrypted SSL private keys,
+  "make encpem" to make an encrypted server key if you already have one
2002-01-01 16:25:29 +00:00
codemastr 3bdee011e9 Fixed a typo in example.conf 2001-12-31 16:29:09 +00:00
stskeeps 259b1a5eeb +- Fixed .1081 problem, see bug #0000020 for more information about how
+  it REALLY should be fixed
2001-12-31 00:55:48 +00:00
codemastr 49780c8113 Fixed a editor bug where it always says the file was modified 2001-12-30 20:55:51 +00:00
codemastr 9aeeca3ee8 Fixed svsnoop 2001-12-30 20:52:14 +00:00
stskeeps be3f21edd7 +- Fix for svsnoop symdep problem 2001-12-30 20:43:53 +00:00
stskeeps 407aa55e58 +- Fixed problem with EventDel, doing eventptr instead of eventptr->name
+- Fixed bug #0000019 reported by Syzop, and bug found by same to deal with
+  individual module loading
2001-12-30 19:51:31 +00:00
codemastr 08ad7f0816 Made tld::mask user user@host instead of just host 2001-12-30 17:39:33 +00:00
stskeeps 0f9b578baa +- Crash in scan_http fixed, h->in instead of &h->in = bad 2001-12-30 11:41:25 +00:00
stskeeps 976aa0cb77 +- doh, missing a ! in m_tkl.c that allows us to do bad things(TM)
+- Fix for nested comments, found by lnxgk
+- C++ comment fix, lnxgk again.
2001-12-30 08:48:41 +00:00
griever 929dd62144 *cant enter a commit log because he's too busy laughing at himself* 2001-12-30 07:54:22 +00:00
codemastr 4df1253ab3 Removed set::hosts::techadmin from all network files 2001-12-30 00:34:23 +00:00
griever 662ad36275 Fixed makenet so techadmin-host is gone 2001-12-29 23:40:46 +00:00
griever 75b989d67a added mutex.c 2001-12-28 23:10:30 +00:00
codemastr 5b5ed53edb Fixed a major events bug caused by drunken coding 2001-12-28 22:44:24 +00:00
codemastr 009a3d498c Fixed a /chgname bug where you needed a : to have spaces 2001-12-28 22:25:57 +00:00
codemastr 9b8b45099f Fixed a bug causing weird things to happen after /rehash 2001-12-28 22:14:13 +00:00
griever 5d0f93255b Grr.... 2001-12-28 21:38:52 +00:00
codemastr b4091f77ff Fixed an editor bug under WinXP 2001-12-28 17:47:38 +00:00
stskeeps 4934786273 +- Reversed freeze bug fix, _NP means NON PORTABLE
+- Fixed a freeze problem with conf_deny_link
2001-12-27 13:01:00 +00:00
griever 0d0a632f51 Fixed (I think) freeze bug in m_htm, this might not work on all pthread implementations 2001-12-27 06:01:15 +00:00
griever 3594f2ee45 Made it so "modulename.so" -> "./modulename.so"` 2001-12-27 05:59:05 +00:00
stskeeps c07e8962e5 +- Small fix for #427583 mode bug 2001-12-26 23:35:25 +00:00
griever 9c947f140e Duh... 2001-12-26 22:38:10 +00:00
codemastr 86206ed51c Fixed a win32 editor bug 2001-12-26 17:03:27 +00:00
stskeeps 836be977eb +- Actually enabled MD5, SHA1 methods when SSL was defined. (fix for drunk
+  coding)
2001-12-25 18:13:34 +00:00
codemastr 3859340b2a Fixed a bug in new-style oper flags making it ignore some flags 2001-12-25 18:10:39 +00:00
stskeeps b2ef3ec1b6 crypt fix 2001-12-25 13:29:50 +00:00
griever 5c0894e57c fixed bug in /stats o causing classless oper{} blocks to possibly core 2001-12-25 05:23:33 +00:00
griever 12cee06bf1 Fixed /map bug that allowed users to find U:Lined servers 2001-12-25 02:24:24 +00:00
stskeeps c753c7adc1 +- Fixes for ->user structures 2001-12-24 22:43:14 +00:00
codemastr 897a8cec60 Fixed a DEFAULT_PERMISSIONS bug 2001-12-24 22:34:02 +00:00
codemastr 548c108ecb Fixed a last minute win32 bug 2001-12-24 18:51:40 +00:00
stskeeps 7ec691c0ed +- make install fix 2001-12-24 13:54:59 +00:00
stskeeps 129bc36adf +- Fixed some slave work.. return MOD_SUCCESS; in all command modules.. 2001-12-24 11:19:49 +00:00
stskeeps 23bc0b40e6 +- Changed to beta5 2001-12-24 09:02:00 +00:00
stskeeps 6ccda4cc95 +- Added back good old error reporting in ./unreal start 2001-12-24 08:16:58 +00:00
codemastr 8480b860cf Updated /info 2001-12-23 23:29:51 +00:00
codemastr 8505657eab Final Release Cleanups 2001-12-23 23:08:27 +00:00
stskeeps 9dd3367f72 +- Credits fixes 2001-12-23 22:51:58 +00:00
stskeeps e888024e63 +- CIDR IPv6 fixes, scan_* fixes 2001-12-23 22:27:10 +00:00
codemastr 41f65241a4 Added a few network files 2001-12-23 21:26:52 +00:00
codemastr 77e03b3c91 Credits updates 2001-12-23 19:17:27 +00:00
codemastr 1a0131e9a9 Made a few updconf changes 2001-12-22 21:25:35 +00:00
codemastr cd2b8186e7 Documentation updates 2001-12-22 21:09:33 +00:00
codemastr 64ee79c5f5 Fixed a /time bug in win32 2001-12-22 20:51:06 +00:00
stskeeps f387fbbd4f +- Auth_Make fix for crypt method 2001-12-22 16:59:08 +00:00
stskeeps 3981a679c5 +- Changed SERVICES-NAME warning to error 2001-12-22 16:07:48 +00:00
stskeeps e65e01ddff +- Config parser fixes (bugs found by Souleh) 2001-12-22 15:42:21 +00:00
codemastr 68615a398f Fixed a typo in s_misc.c 2001-12-22 01:50:47 +00:00
codemastr c6266dc19c Fixed some other scanner bugs 2001-12-21 23:08:03 +00:00
codemastr dae5b893d1 Scan API cleanup, goto = evil 2001-12-21 22:58:00 +00:00
stskeeps a4de9ac1e2 +- Added #undef SECURECHANMSGSONLYGOTOSECURE - send only channel msgs to +z
+  people on +z channels
+- win32 fixes
2001-12-21 17:40:43 +00:00
stskeeps ea1e7b3f70 win32 fixes, again 2001-12-21 17:18:16 +00:00
stskeeps edd0b08139 win32 fixes 2001-12-21 15:05:59 +00:00
griever d9d5cdc910 m_sendumode done 2001-12-20 21:54:09 +00:00
griever 343f193e7b ...misspelling 2001-12-20 21:07:45 +00:00
griever a1b3eb1331 Fixed some errors 2001-12-20 20:55:45 +00:00
griever 3a482d26ca Dumbass bug... 2001-12-20 20:33:16 +00:00
griever 68bfeffa70 Slightly working m_sendumode recode, nits:
it will send to people only with ALL umodes, but with ANY of the
snomasks

blame it on sendto_umode and sendto_snomask for being wierdass
2001-12-20 03:46:00 +00:00
griever 6e42d09c50 beginning of new SMO code, testing to make sure it worky
new command format:
SMO modes :message
OR
SMO modes snomasks :message

if you want to use JUST snomasks, put "+" as the mode

the modes parameter accepts a snomask as long as there
isn't a mode with same name
2001-12-20 00:07:38 +00:00
griever 567f3b8fcb Compiles and works fine now :D 2001-12-19 00:53:36 +00:00
griever f8d1e81206 now lets see if it will compile 2001-12-19 00:04:32 +00:00
griever 6c6130fab6 Untested, not sure if it even compiles TKL shits, testing on t2n as soon as this is committed 2001-12-18 23:57:13 +00:00
stskeeps 7695fb209d +- Made link::hubmask and link::leafmask actually work properly 2001-12-18 17:39:10 +00:00
griever 2cc3eb2266 Changes modified 2001-12-17 20:34:39 +00:00
griever 4fca682f8c Error is getting really annoying... 2001-12-17 00:51:31 +00:00
griever 6e67d9dea0 added set::modes-on-oper (modes all opers get when they op up)
made Aa oflags include O
modified docs to reflect such
2001-12-17 00:43:51 +00:00
griever 5d2092858d Made +N give you +OaA as well, since everyone used it that way
Grr, it seems like such a hack to me but ok :(
2001-12-17 00:13:37 +00:00
codemastr 4291191149 Help system recode 2001-12-16 00:35:57 +00:00
griever d2a90a5101 *#($&@#(*$! 2001-12-14 22:48:20 +00:00
griever 5d5ffa3f06 !*@*$^%! I reported this bug MONTHS ago people! 2001-12-14 22:44:08 +00:00
stskeeps e881a256f4 +- Some scan unloading stuff 2001-12-14 14:29:21 +00:00
stskeeps 5171e9e08a +- Made "Module already loaded" a non fatal error (funny msg on rehash)
+- Fixed typical codemastr "Let's delete this from a list we haven't even
+  added it to yet *giggles and twirls around*" bug, do to with config_set_unknown
+- Fixed events bug, added recoded scan module, got a lot of stuff to fix so
+  far. Problems, unloading, (delay), tkl doesn't always sweep it all,
2001-12-13 21:59:37 +00:00
codemastr 2b2f767ca5 Added more HP-UX code 2001-12-12 21:19:30 +00:00
codemastr c4a8e970d3 Module v3 changes 2001-12-11 23:02:58 +00:00
griever 4e32d3a5dc Corrected credits, moved the #ifdef for NO_FDLIST 2001-12-11 21:24:18 +00:00
codemastr ccaa0f444b .. 2001-12-11 20:48:00 +00:00
codemastr c2420f2eee ... 2001-12-11 20:45:45 +00:00
codemastr eb4eb7a8c6 ... 2001-12-11 20:38:17 +00:00
codemastr b15292c980 Removed umode +T and oflags fue 2001-12-11 20:37:30 +00:00
griever 37f6ff3a10 Reflects m_oper recode and tkl oflags 2001-12-11 03:39:56 +00:00
griever 7689d54b8e +T is on its deathbed, expect it to be gone soon
m_oper mostly recoded
Various oflags now silently ignored by m_oper although kept in the oflags
var.
expect TEChat, the T oflag, and hosts::techadmin to be removed shortly
2001-12-11 02:37:32 +00:00
codemastr 0171967e18 Moved the mkpasswd program into the ./unreal script 2001-12-10 22:02:47 +00:00
stskeeps db82fc23b5 +- Module v3 bugfixes. cause: codemastr lack find n replace skill 2001-12-10 14:35:15 +00:00
codemastr 39562944c3 ... 2001-12-10 00:30:00 +00:00
codemastr 28af208a1b More module v3 fixes 2001-12-10 00:26:38 +00:00
codemastr 3b52789751 More module v3 fixes 2001-12-09 23:47:46 +00:00
codemastr 3d564a403f Fixed some more module v3 problems and upgrade all modules 2001-12-09 20:19:35 +00:00
stskeeps 26dff4eeba +- Small v3 fix with no dependency problem 2001-12-09 16:40:03 +00:00
codemastr 38588ba0b5 Fixed a win32 module v3 bug 2001-12-09 16:38:31 +00:00
stskeeps 07adb99680 +- Added module v3 code. Needs testing, and NO MODULES DOES NOT COMPILE 2001-12-09 10:44:11 +00:00
codemastr 89caaab24c Added HOOKTYPE_SERVER_CONNECT and HOOKTYPE_SERVER_QUIT 2001-12-05 23:02:33 +00:00
codemastr 573328e4e1 Added snomask +q for Q:line notices 2001-12-04 20:13:03 +00:00
codemastr 19c649fb90 snomask changes 2001-12-03 22:42:53 +00:00
griever 923624c784 Bug that caused m_oper to core randomly if oper was -x 2001-12-03 01:17:53 +00:00
griever 44be34875f Changelog.. 2001-12-02 20:51:49 +00:00
griever 1612ed7411 added can_gkline and can_gzline (for soon-to-come gzline module), old
flags are t and Z. Someone change docs accordingly
2001-12-02 20:45:17 +00:00
codemastr e872aa28a9 Converted a bunch of structures to use ListStruct 2001-12-02 17:57:24 +00:00
stskeeps abea394dc6 ---------------------------------------------------------------------- 2001-12-02 14:50:58 +00:00
stskeeps 528d82b219 +- Added ssl-pubkey auth method (parameter = pem file for public key) 2001-12-02 14:39:59 +00:00
codemastr 6d9cef9f03 ... 2001-12-02 02:06:54 +00:00
codemastr eb38fa93a3 Added cidr.c and ssl.c to the win32 makefile 2001-12-02 01:47:17 +00:00
stskeeps d7889e777e moo 2001-12-01 23:55:30 +00:00
griever fd638b155b *gets smacked by sts* 2001-11-29 21:12:06 +00:00
griever 503bf841fb *gets smacked by sts* 2001-11-29 21:00:20 +00:00
griever 69647bba3b Argh, no newline notices getting annoying now 2001-11-29 04:51:23 +00:00
griever b4bfa43e5b Added list of ppl I would like to thank :D 2001-11-29 04:49:43 +00:00
griever 67059bd3ae Changed the way ipv4 IPs are cloaked, you now need to crack all three
cloak keys to break ipv4 IPs. ip6 ips and hostnames are too ambiguous to
be susceptable.

#define COMPAT_BETA4_KEYS undoes this fix, and is required for ipv4 bans
to be interoperable between pre-beta4 and post-beta4 servers. This should
be defined on all win32 compiles at least until the first rc or final for
3.2
2001-11-28 20:39:20 +00:00
griever eb038e2938 added ANNOYING_BAN_THING to config.h, disabled by default
previous functionality: mode +b would check match() both
ways, but chanserv AKICK and bot auto-bans would break w/
this, as they would try to set for instance *!*@*.mrrmnh.adelphia.net
but if *!*@rox-1B7EB386.mrrmnh.adelphia.net were set (for example)
chanserv/the bot would flood kick them, over and over and over. No
real point to this one, so I just diked it out.

Modified Files:
 Tag: devel
 	include/config.h src/channel.c
2001-11-28 03:43:58 +00:00
codemastr 1780862cfc Added some functions for generic linked list modifications 2001-11-26 19:37:41 +00:00
codemastr 9d26bac09f ... 2001-11-26 15:56:44 +00:00
codemastr 0d2753331a ... 2001-11-26 15:50:04 +00:00
codemastr dcd9969537 Started some work on CIDR support (added some functions from hybrid7) 2001-11-26 15:40:43 +00:00
codemastr 5eea2a9daf ... 2001-11-26 15:39:13 +00:00
codemastr 893f67668f Fixed a FSU Pthreads bug on Slackware (thanks to Frank Mueller) 2001-11-24 00:34:26 +00:00
codemastr e43ac717cd Added host54.net to /credits 2001-11-22 16:18:58 +00:00
griever 9fdf9cd9e9 Typo fixes &stuff 2001-11-22 05:47:26 +00:00
codemastr e57336c9c7 Changed some function names 2001-11-19 20:30:30 +00:00
codemastr 28b8a0ef9b Fixed a minor events issue 2001-11-18 22:28:01 +00:00
codemastr 0a7e518e6f Redid the event system to be more accurate 2001-11-18 22:13:04 +00:00
stskeeps 62b2de07a7 +- Made delayed module unloading possible, make a int mod_delay() adding
+  an event, for e_unload_module_delayed
2001-11-17 14:54:32 +00:00
stskeeps 535aa4456a +- Made Events do thread locking (so we can do funny things and kill small
+  furry animals in the attempt for the perfect scanning module) .. yes, this
+  is drunken coding
2001-11-16 21:47:35 +00:00
codemastr abedc78b8b Fixed a make install problem and added some Auth support 2001-11-15 22:29:23 +00:00
stskeeps 197378a364 . 2001-11-15 22:00:37 +00:00
stskeeps c980e53fad . 2001-11-15 21:48:44 +00:00
stskeeps e9123b12db +- Added new auth.c API and a lot of different crap .. will document later 2001-11-15 20:26:52 +00:00
stskeeps 4f18b48a57 +- Fixed password crash bug, found by \dev\NULL-Z-[Zap] 2001-11-15 15:13:13 +00:00
griever 6bb18c87e5 Removed the three lines of code (!!) that caused the SSL freeze-on-connect
bug, gonna fix that error handling.
2001-11-14 20:28:13 +00:00
griever ca70706ad6 <----- Head coder 2001-11-14 20:16:49 +00:00
codemastr f6a3b1f399 Fixed the last of the font and editor-cutting-text bugs (hopefully) 2001-11-13 22:21:48 +00:00
codemastr 1a1a4ebd65 Fixed a codemastr(TM) drunk-coding win32 bug 2001-11-13 19:38:15 +00:00
codemastr aed84e3bf0 Win32 editor changes 2001-11-13 00:40:19 +00:00
codemastr 706c911fc3 Win32 GUI changes 2001-11-11 21:14:02 +00:00
codemastr 621793b491 ... 2001-11-11 00:36:24 +00:00
codemastr 0693a8dd27 Added the ability to edit tld {} files from the win32 editor 2001-11-11 00:34:24 +00:00
codemastr 5e14382326 Added hscroll to the win32 editor if it is needed 2001-11-10 23:45:31 +00:00
codemastr 4b8042603a Fixed a win32 bug where pasting text into the editor would use the wrong font 2001-11-10 20:55:11 +00:00
codemastr ab9db56291 Added support for PS_STRINGS and pstat 2001-11-10 18:13:05 +00:00
codemastr 2a595d3a87 ./unreal updates 2001-11-10 17:37:08 +00:00
codemastr 670c9ee653 Made the /kline hostmask checker work like the G:line checker, (it was too easy to K:line *@*) 2001-11-09 22:17:24 +00:00
codemastr c83f79a44a Fixed a bug that made the G:line host checker ignore ? 2001-11-09 19:32:03 +00:00
stskeeps e2ef04d112 +- VERSION M_SERVER fix by skold
+- Fixed connecting with IPv6
+- Ident requests now orgin with the listener that the user connected on
+- More IPv6 fixes, DNS resolving actually works now too.. (crackhead IRCnet
+  coding)
+- Webserver caching fix
2001-11-08 16:40:34 +00:00
codemastr 327f15d17c Fixed a win32 typo 2001-11-07 21:35:11 +00:00
stskeeps 0b01bc3852 Linux IPv6 Fixes 2001-11-07 13:48:42 +00:00
stskeeps 2c6726c95d .. 2001-11-07 13:29:06 +00:00
stskeeps 053cbcaae4 gr 2001-11-07 13:27:49 +00:00
stskeeps f8756691a5 . 2001-11-07 13:26:37 +00:00
stskeeps 2a55293bcc , 2001-11-07 13:25:54 +00:00
codemastr 2d21f6055d Added aliases/auspice.conf, and added a /register command to aliases/aliases.conf 2001-11-05 22:02:22 +00:00
codemastr afebe1568a Changed the setproctitle check to also check in -lutil (some OSes have it there) 2001-11-05 21:38:27 +00:00
stskeeps be48165fb6 +- Added some setproctitle(.., me.name) for extra l33tness :P~ 2001-11-05 21:30:23 +00:00
codemastr b960288402 Added autoconf check for setproctitle 2001-11-05 21:26:50 +00:00
codemastr cad8d53264 - Made ./unreal generated by configure to make sure it has the correct path of the exe 2001-11-05 20:47:39 +00:00
stskeeps 44a48a2dc0 +- IPv6 fixes for IP_OPTIONS (disables under IPv6, i mean .. IRC multicast.
+  WTF?)
2001-11-05 15:06:13 +00:00
stskeeps cca85ebe57 +- IPv6 fixes to make dual ipv4/ipv6 work 2001-11-05 14:33:18 +00:00
stskeeps 8e2cc100ce +- IPv6 fixes to Inet_si2p & Inet_si2pB 2001-11-05 14:11:36 +00:00
codemastr d11cc14a12 Fixed a bug where the win32 help dialog links were plain text 2001-11-05 00:07:10 +00:00
codemastr 29b7ea7ee8 Added make install and ./unreal utility 2001-11-04 22:09:30 +00:00
codemastr 9c49d0d3b1 ... 2001-11-04 20:12:38 +00:00
codemastr 8382e074e1 Fixed a win32 bug where the editor would cut off text 2001-11-04 17:55:10 +00:00
codemastr 49cf99c68a Updated module dependancies to allow a module to load the module containing the symbol 2001-11-01 20:57:19 +00:00
codemastr a5e31d042d Fixed a typo in makenet 2001-10-29 21:29:44 +00:00
codemastr 56fee9b881 Made some nameser.h changes to work win win32 2001-10-28 16:47:07 +00:00
cvs2hg a5d191e5ac fixup commit for tag 'unreal3_2_beta4' 2001-10-28 16:18:49 +00:00
stskeeps b9d034d6bd +- Preperation for beta4 2001-10-28 16:18:48 +00:00
stskeeps 9a97f7e249 +- Made the missing commands error a little more.. tardfriendly 2001-10-28 16:11:47 +00:00
codemastr d537da4058 Fixed a snomask bug found by Rob 2001-10-28 15:55:31 +00:00
stskeeps 58d81ad35f +- Fixed a DEBUGMODE problem with umodes.c 2001-10-27 13:18:49 +00:00
codemastr 6e17ab11f1 Fixed a nickserv password bug found and fixed by Mathieu 2001-10-23 21:25:34 +00:00
codemastr 0f2be18a1f Added M_RESETIDLE to fix a /privmsg bug 2001-10-17 20:04:23 +00:00
codemastr 22d5b9bee8 Changed the size of umodestring 2001-10-16 19:06:07 +00:00
stskeeps 6b10bee66d +- Made umode_delete(flag, mode); 2001-10-16 17:09:51 +00:00
codemastr 493697bbdf Added new umode system to the win32 makefile 2001-10-16 00:03:01 +00:00
stskeeps 66d3c85d23 +- Added umodes.c, long val = get_umode('c'); 2001-10-15 23:01:31 +00:00
stskeeps 3f9849b5fd +- Added a hell lot of DNS debugging code, and fixed the BIGENDIAN problem
+  with resolver. Thanks to dawn and Trash.net for shell on a sparc
2001-10-14 21:54:25 +00:00
codemastr 85ce15ddf7 Added a utility to auto create version.c for win32. 2001-10-14 19:49:48 +00:00
codemastr 7a9b14634b Removed tokens for /users, /summon, and /samode 2001-10-13 23:19:40 +00:00
codemastr 6b9b8a6da9 Fixed the Win32 Z:line bug 2001-10-13 19:32:05 +00:00
codemastr 7193f9615f Hopefully fixed the weird Z:line bug on win32? 2001-10-13 17:05:18 +00:00
codemastr e516af9535 Fixed a win32 bug where the http scanner didn't get loaded 2001-10-13 16:48:23 +00:00
stskeeps 9fc7398b87 +- Fixed codemastr-on-crack bug regarding oflag 2001-10-11 16:53:52 +00:00
cvs2hg 4e2a05f99a fixup commit for tag 'unreal3_2_beta3' 2001-10-08 17:29:47 +00:00
stskeeps 8b6e1d7166 Bugreport stuff 2001-10-08 17:29:46 +00:00
codemastr 19c8f1b7dc Final changes to prepare for beta3 2001-10-08 17:24:56 +00:00
codemastr 74d080b3fc Fixed a typo in config.h 2001-10-08 17:11:16 +00:00
codemastr 6bad7c8dfa Added headers to all the new modules 2001-10-08 17:06:32 +00:00
codemastr a274714cfa Made changes so the new modules compile on win32 2001-10-07 21:54:14 +00:00
stskeeps 79b4805745 +- Added in Fish's patches
+- Added bitching when you lack needed IRC commands
+- Removed REMGLINE
2001-10-07 20:28:15 +00:00
codemastr a05ec38409 updated makefile.win32 with all the new modules 2001-10-07 16:50:08 +00:00
stskeeps f9a92827ae +- Fixed a /who bug, found by IXpfah 2001-10-07 10:28:06 +00:00
stskeeps 2ac54ecc8b *** empty log message *** 2001-10-07 08:56:11 +00:00
codemastr f331b6919e Added aliases/ which contains aliases for popular services, and made makeconf load scan_http.so 2001-10-07 00:07:24 +00:00
codemastr 8bfbd374c3 Added some stuff that should fix the bug in Windows when including files in other directories 2001-10-05 23:21:04 +00:00
codemastr 3c9327788e Fixed a bug where /userhost would report oper status regardless of +H 2001-10-05 20:02:29 +00:00
codemastr 029c43afd1 Made the http scanner work on win32 2001-10-02 22:01:39 +00:00
codemastr 3b5b9db44f Fixed a win32 bug in scan.c 2001-10-02 21:52:02 +00:00
codemastr d24030d129 Made some changes to allow Unreal to compile on win32 2001-10-01 19:53:13 +00:00
stskeeps 3c633f425b +- Made port default to 6667 when options autoconnect in link {} 2001-10-01 13:24:11 +00:00
stskeeps 0d1a1e42d0 .. 2001-10-01 13:08:35 +00:00
stskeeps b571a80006 +- Made Link denied error a little more descriptive 2001-09-27 14:42:48 +00:00
stskeeps e38b645d11 . 2001-09-17 13:17:36 +00:00
stskeeps 8d3f493976 +- Fixed a #undef INET6 bug 2001-09-17 12:59:42 +00:00
stskeeps 1e438f3560 + fixing a IPv6 bug
+- Made Inet_si2p (sin to presensation), fixing the "*", bug, some debugging
+  fixes, fixed a lot of IPv6 bugs, hopefully - thanks to JK for borrowing
+  his box
2001-09-09 20:09:59 +00:00
stskeeps ee9f9d9af0 +- Removed bsd.c and made socket.c, moving signal stuff to ircd.c, possible
+  fixing a IPv6 bug
2001-09-09 09:43:56 +00:00
stskeeps a19ea15bd6 +- Fixed a IPv6 bindip problem 2001-09-07 12:22:31 +00:00
stskeeps 4ece596b39 +- Some more VFS/PHTML fixes, it actually works now, thanks to butter 2001-09-06 16:24:07 +00:00
stskeeps 09c6afc43e +- modulize documentation, some web server fixes, preparation for uabr 2001-09-06 13:54:31 +00:00
codemastr 5c86649f70 win32 makefile changes 2001-09-02 23:58:09 +00:00
codemastr 82ae1cbf63 Moved /svso and /svsnick to modules 2001-09-02 23:39:16 +00:00
codemastr 6a7e82d048 Made the config file a bit more sturdy 2001-09-02 20:16:10 +00:00
codemastr 3a815c775f Fixed a typo in the win32 makefile 2001-09-02 17:05:40 +00:00
codemastr 87b4e4e268 Updated updconf.c to use except scan 2001-09-02 16:21:38 +00:00
stskeeps 43e77f77bf +- HTTPd VFS fixes 2001-09-01 14:33:07 +00:00
stskeeps 614e22400a +- Made except socks become except scan, and made it actually WORK, and some
+  bugreport fixes
2001-09-01 13:27:17 +00:00
codemastr e04c12a2ea Win32 Cleanup 2001-08-31 21:23:11 +00:00
codemastr e4eec40d91 Removed some missed win32 debug code 2001-08-30 23:40:53 +00:00
stskeeps 1e1e1cdbb6 +- Added a bug reporting tool (still alpha) 2001-08-29 20:05:02 +00:00
codemastr aa98a583be Added the ability to add aliases like /identify 2001-08-29 19:28:52 +00:00
codemastr 0385ce8152 Module additions 2001-08-24 22:17:26 +00:00
codemastr 5cd4cb01f8 Fixed a log::maxsize bug where it would screw up when the file didn't exist 2001-08-24 20:44:33 +00:00
codemastr 2386f8d835 log::maxsize now supports 1MB, etc 2001-08-24 00:58:20 +00:00
codemastr 37e54912c3 Fixed a possible /oper bug 2001-08-23 23:39:53 +00:00
codemastr e7695b3920 Fixed a oper host bug 2001-08-23 23:24:31 +00:00
codemastr d365f0d165 Cleaned up /oper a lot 2001-08-23 20:20:59 +00:00
codemastr d8ba78a6c1 Added a bunch more webtv support, send PRIVMSG instead of NOTICE if +V 2001-08-23 17:44:46 +00:00
codemastr 08caa076ed aClient memory cleanups 2001-08-22 20:02:19 +00:00
codemastr d26b59a9e2 Started work on usermode +V 2001-08-22 16:59:03 +00:00
stskeeps a8f79f88db +- Added support for nested comments in the configuration file (by chasm)
+- Added chasm to /info
2001-08-22 13:06:06 +00:00
codemastr d5b5fa710c Moved SHOWCONNECTINFO define to set::options::show-connect-info 2001-08-21 18:23:43 +00:00
codemastr f24eba8c0d Fixed another alias {} bug 2001-08-20 20:09:37 +00:00
codemastr 823e638f0c Moved FAILOPER_WARN define to set::options::fail-oper-warn 2001-08-20 19:08:59 +00:00
codemastr 461d65148b Added bahamut usermode +R 2001-08-20 16:29:37 +00:00
codemastr ceb76ae6da Fixed another alias {} bug 2001-08-19 22:36:13 +00:00
codemastr 85a0944914 Fixed a bug in alias {} found by RaYmAn 2001-08-19 22:02:26 +00:00
codemastr 9417c9af8e Added alias {} to doc/example.conf 2001-08-19 21:30:27 +00:00
stskeeps 816b24afa5 +- Fixed some credits, recoded httpd (still in progress)
+- Disabled #undef PROPER_CORE
2001-08-19 20:16:18 +00:00
codemastr e7a8ad621e Added config directive alias for dynamic services commands, ex /nickserv 2001-08-19 17:45:57 +00:00
codemastr 07c95cff3f /mode cleanups 2001-08-18 19:11:03 +00:00
codemastr f8697288ec Fixed up http proxy scan and added SOCKS5 scanner 2001-08-17 17:29:42 +00:00
codemastr effda4c445 Fixed a /gline crash bug 2001-08-17 16:26:44 +00:00
stskeeps 769a2e42e3 +- Added scan_http, scans on 80, 3128, 8080 in a threaded manner 2001-08-12 15:07:04 +00:00
stskeeps 27c1195bac +- Some httpd stuff and a #define CHROOTDIR problem found by Zhadum 2001-08-12 11:54:34 +00:00
codemastr ffdf227cbc Fixed a win32 bug that caused crashes in the editor 2001-08-08 21:13:33 +00:00
codemastr 145cc3f7d3 Fixed a win2000 bug causing a crash 2001-08-08 19:31:58 +00:00
codemastr 5b6c60798e Removed some win32 stuff 2001-08-08 16:04:22 +00:00
cvs2hg 4fc33756f4 fixup commit for tag 'unreal3_2_beta2' 2001-08-07 17:12:30 +00:00
stskeeps 8e4abdfd2a +- Preparation for beta2 2001-08-07 17:12:29 +00:00
stskeeps 4ee2331d5c .. 2001-08-07 17:10:17 +00:00
stskeeps 44443c260c +- /who fixes regarding +I +H and crap 2001-08-07 16:39:53 +00:00
codemastr 9c41b1d76d Fixed a bug where operflag eyes didn't work 2001-08-07 16:01:46 +00:00
stskeeps 041f0f910f +- /who fix
+- Another /who fix, what crashed it I assume - helped by narf to find this
2001-08-07 15:19:37 +00:00
stskeeps 0e2ac061b8 +- Fixed vhost bug that forgot to add a \0 in the end of the string
+- /who fix
\ No newline at end of file
2001-08-07 12:29:23 +00:00
codemastr f766d70414 Fixed a umode2 bug that crashed the server 2001-08-06 17:28:29 +00:00
stskeeps 8665f36abc +- Fixed a SNOMASK problem found by Arantis 2001-08-06 15:02:07 +00:00
stskeeps 62939b2033 +- /who fix .. removed nick matching functionality.. 2001-08-06 09:51:10 +00:00
stskeeps ec7b2bc247 *** empty log message *** 2001-08-06 09:20:43 +00:00
stskeeps b1714abad9 . 2001-08-06 07:24:49 +00:00
codemastr 74bad8673a release notes changes 2001-08-05 23:41:33 +00:00
stskeeps 667d52199d +- Using bahamut /who now, this needs some testing.. 2001-08-05 23:38:17 +00:00
codemastr 409f1a95ab Fixed a major snomask bug found by narf 2001-08-05 23:08:59 +00:00
stskeeps ce54560b19 +- Docs prepare 2001-08-05 17:50:38 +00:00
codemastr 21d6293f4c Updated documentation 2001-08-05 17:37:28 +00:00
codemastr fb4525ab19 Fixed an oper-only-stats bug 2001-08-05 17:24:12 +00:00
stskeeps c64debf500 +- Fixed bug with SSL, detected properly and fixed by Chawmp 2001-08-05 16:43:13 +00:00
codemastr 871948d23a Added config check to determine the order to specify the ssl libraries 2001-08-04 18:28:37 +00:00
codemastr 90d9c1df8c Implimented snomask 2001-08-04 17:17:54 +00:00
stskeeps e158540a37 +- Fixed some more IPv6 stuff in httpd 2001-08-04 14:01:46 +00:00
stskeeps decae969ee +- Fixed a codemastr-on-crack /version bug, and fixed some IPv6 stuff in
+  scan*
2001-08-04 13:52:04 +00:00
codemastr bdeda461ed Added log::maxsize 2001-08-03 17:10:40 +00:00
stskeeps 9e3151a79e . 2001-08-03 14:24:49 +00:00
stskeeps d8eb70490a +- Fixed Osiris's example.conf
+- Fixed IPv6 bindip error found by Madkiss
2001-08-03 13:05:06 +00:00
stskeeps 9a089dd8bf . 2001-08-03 06:09:11 +00:00
stskeeps 3b4fe7b347 . 2001-08-03 06:06:53 +00:00
stskeeps a4c2faf453 +- Fixed Osiris's broken example.conf 2001-08-03 06:06:16 +00:00
codemastr c1edf8265f Fixed a win32 bug where /restart didn't remove the tray icon 2001-08-02 20:11:58 +00:00
codemastr 87296d9c89 Fixed some typos in s_conf.c 2001-08-02 19:46:14 +00:00
codemastr a6d3abb12f fixed some config stuff and added more network files 2001-08-02 00:36:35 +00:00
stskeeps 7ce43de8f7 +- Fixed bindip problem with it not being made 2001-08-01 19:53:53 +00:00
codemastr 739139d71e Fixed some config issues and added /stats r to stats help 2001-08-01 19:42:38 +00:00
codemastr 8c39ccec5e made the config recognize several values for a yes/no option 2001-08-01 18:06:34 +00:00
codemastr 082c2bfb1c Added set::anti-spam-quit-message-time idea from hybrid7 2001-08-01 17:01:59 +00:00
codemastr 1af13d4588 added set::oper-only-stats 2001-08-01 00:22:13 +00:00
codemastr 30039008df Removed some obsolete code 2001-07-31 21:29:32 +00:00
codemastr a2e17ca2fe Made the Win32 version report the actual OS to opers in /version rather than just say 'Win32' 2001-07-31 21:09:56 +00:00
stskeeps ff8bc65911 +- Fixed fence post marker overwrite in /vhost, found and fixed by tgf 2001-07-31 21:07:27 +00:00
codemastr 943436a1de Rewrote Addit, hopefully it fixes the SJOIN problems? 2001-07-31 17:39:41 +00:00
codemastr 64962b0ce7 Fixed a typo in the win32 makefile 2001-07-31 17:07:35 +00:00
codemastr e1167a2b2e Various win32 fixes and /restart cleanup 2001-07-31 17:00:45 +00:00
codemastr b0536af4e9 Fixed a possible restart/die bug 2001-07-31 16:37:11 +00:00
codemastr af87d2c18b Added more network files 2001-07-30 16:52:30 +00:00
stskeeps 5067013a80 +- Added tgf's patches for these bugs:
+   * if you dont have a rules file and do "rehash -motd" then the server
+   segfaults.
+   * setgid has to be called before setuid... cos if you change to a non-priv
+      uid first then you are not allowed to setgid!
+
+
2001-07-30 16:50:46 +00:00
stskeeps d7baf33ec3 +- Fixed SVSMODE compile error 2001-07-30 13:04:48 +00:00
codemastr e3a23bdbd1 Added SVSMODE # -e 2001-07-29 22:07:54 +00:00
codemastr ed9ead415c Added wildcard support to include and loadmodule in win32 2001-07-29 21:10:43 +00:00
codemastr 664f148366 Fixed a bug affecting /oper and /vhost caused by IP checking 2001-07-29 16:33:14 +00:00
codemastr 9861da3f1e added more network files 2001-07-28 17:40:53 +00:00
stskeeps 3d8f9eea24 +- Fixed SQLINE bug, FINALLY. (forgot to set type ..oops..) 2001-07-28 17:32:19 +00:00
codemastr 16d16095c7 Added 2 more network files 2001-07-28 01:03:27 +00:00
codemastr 9317a83683 Made a bunch of config errors non fatal 2001-07-28 00:51:35 +00:00
codemastr 7a5cd21953 SVSMODE # flags added 2001-07-27 20:45:39 +00:00
codemastr ae2b0cdf8b Added SVSMODE #channel -b nick to remove matching bans 2001-07-27 17:28:54 +00:00
codemastr d4af2c0207 Made my_itoa use _itoa on win32 2001-07-26 16:23:14 +00:00
codemastr 887f71760c Win32 code cleanup 2001-07-25 16:42:19 +00:00
stskeeps 682d1f26f8 . 2001-07-25 14:35:20 +00:00
codemastr bd3d626cdb network file updates 2001-07-25 00:26:50 +00:00
stskeeps 72512f54db +- More SQLINE fixes.. does it work now? 2001-07-24 22:13:33 +00:00
stskeeps 5132528ca4 sqline 2001-07-24 17:11:59 +00:00
stskeeps 96b14ad6c5 +- Fixed SQLINE problem 2001-07-24 16:58:56 +00:00
codemastr 2ca9d3d6d7 Removed all the obsolete network files 2001-07-23 20:54:41 +00:00
stskeeps b919813837 +- Made CR compatilbity actually work, it autojoins now :) 2001-07-23 18:19:52 +00:00
codemastr ce8eec12ab Fixed a /rehash -motd bug 2001-07-22 16:02:01 +00:00
codemastr c50086fc3c Fixed a scan_socks bug under win32 2001-07-21 16:04:37 +00:00
codemastr 1686954b28 Fixed a win32 bug dealing with the new RTF parser 2001-07-20 21:10:31 +00:00
codemastr aeb3aad5fe added a 3d edge to the color selector in win32 2001-07-20 17:29:37 +00:00
stskeeps 6e98479aae . 2001-07-20 16:37:23 +00:00
stskeeps 9d88337a9b scan_socks stuff 2001-07-20 16:33:53 +00:00
codemastr 37f97c5b49 Fixed a bug in the win32 status dialog 2001-07-20 16:31:23 +00:00
stskeeps 699f22a0fb . 2001-07-20 16:26:34 +00:00
codemastr 023032c213 Fixed a bug in the new editor 2001-07-19 21:25:57 +00:00
codemastr c0bb81d1ca Major changes to the win32 editor 2001-07-19 17:37:58 +00:00
stskeeps e102ce8603 +- Added in Ossie's example.conf v2 2001-07-18 07:57:33 +00:00
stskeeps 4756c12519 +- Patched in zogg's scan_socks patch, second edition 2001-07-18 05:34:46 +00:00
stskeeps fa37709af6 +- Added correct uptime to web interface 2001-07-17 21:37:47 +00:00
stskeeps ae4eb55dac +- Fixed some flaws in httpd, that made it break unmercifully 2001-07-17 21:20:42 +00:00
stskeeps 8d0bcef963 +- Minor bugfix in scan_socks, + some comments 2001-07-17 08:45:08 +00:00
codemastr a424c8063a Fixed a /sapart bug 2001-07-16 20:34:54 +00:00
codemastr 7b515e04a5 Added a patch by Zogg to fix a socks scanner problem 2001-07-16 20:24:14 +00:00
codemastr c5c3b2081d made options to make /stats K and /stats G oper only 2001-07-16 18:03:59 +00:00
codemastr 9378291b21 ... 2001-07-16 17:53:00 +00:00
codemastr acf66442e8 Various bug fixes 2001-07-16 17:51:18 +00:00
stskeeps c4d4754511 +- Fixed possible bug with allowing :'s in +k/+L ..
+- Added a credit
2001-07-16 07:41:35 +00:00
codemastr 3fa29a16e5 Various fixes 2001-07-16 00:59:34 +00:00
stskeeps 9406e963de . 2001-07-15 20:51:57 +00:00
codemastr 26f91d1c7e Some gcc 3.0 fixes and other stuff 2001-07-15 20:43:50 +00:00
stskeeps 83c0a3738d +- Fixed struct IN_ADDR problems on some OS'es 2001-07-15 18:40:13 +00:00
stskeeps 5393853cac +- Fixed -nexus.nexusirc.org- *** Notice -- Trying to send [:Alzirr WALLOPS
+  :test bug, found by Alzirr
2001-07-15 18:38:07 +00:00
stskeeps 43b56373c4 +- Fixed *** nick has quit (no Days come, days go), by defaulting to "Quit: " 2001-07-15 18:32:02 +00:00
stskeeps e6df04d821 +- Fixed some CHINESE_NICK stuff 2001-07-15 18:23:45 +00:00
stskeeps 1b285c492f *** empty log message *** 2001-07-15 17:49:53 +00:00
codemastr 202a064904 ... 2001-07-15 17:18:35 +00:00
codemastr 42cbdce0bd Few little bug fixes 2001-07-15 17:13:56 +00:00
stskeeps 52dbb6c0dc . 2001-07-15 10:27:35 +00:00
stskeeps c53bee2244 +- Commited the web server prototype made by Stskeeps, web design by WildChild
+- Ripped out the old DF watch system, using bahamut's now
2001-07-15 10:25:59 +00:00
stskeeps a4b63af2e1 +- Commited the web server prototype made by Stskeeps, web design by WildChild 2001-07-14 21:04:16 +00:00
stskeeps 9b6a674d9c +- Various preparitions for beta1 2001-07-13 20:47:44 +00:00
stskeeps 748c2830c0 +- Changed version to -beta1 2001-07-13 19:55:02 +00:00
stskeeps b66d4a8b0d +- Documentation bug fix 2001-07-13 19:40:04 +00:00
stskeeps 8de27cef2a +- Documentation (example.conf from Osiris) 2001-07-13 19:32:28 +00:00
stskeeps 40f7f0b104 +- Removed the redefining stuff in s_conf.c 2001-07-13 17:18:30 +00:00
stskeeps c8c5ff9571 . 2001-07-13 12:39:21 +00:00
stskeeps ae3ac9012d . 2001-07-13 12:10:43 +00:00
stskeeps 7de9d2d6a6 ... 2001-07-13 11:42:40 +00:00
stskeeps 351a8b48ec . 2001-07-13 11:19:44 +00:00
stskeeps 29ad0e8ff0 +- Fixed u_intXX_t problem 2001-07-13 10:59:15 +00:00
stskeeps 3c7ce7454d +- Fixed some possible points of confusion with hash.c regarding unsigned int
+  & signed int
2001-07-13 08:38:14 +00:00
stskeeps 519a8f893e +- Fixed problem with MAXCONNECTIONS when no parameters given in ./configure 2001-07-12 22:36:19 +00:00
stskeeps ce66aaad96 +- Fixed a validate_conf problem found by Janos
+- Fixed some minor invalid numeric stuff
2001-07-12 18:11:25 +00:00
codemastr 1b5e8d03c2 Fixed a ban bug where temp bans were not cleared on rehash 2001-07-12 17:20:23 +00:00
stskeeps dc1a1f4be0 +- Minor SJOIN fix .. 2001-07-10 11:14:12 +00:00
stskeeps c6e8b4b28b +- Added possiblity to add parameters to configure in Config 2001-07-10 09:52:44 +00:00
stskeeps 510a8fb9c2 . 2001-07-09 22:36:20 +00:00
stskeeps bd1a3ecf55 . 2001-07-09 22:36:19 +00:00
stskeeps 463aa1532c . 2001-07-09 22:34:02 +00:00
stskeeps 962be3514c . 2001-07-09 22:30:12 +00:00
stskeeps ab60bb826c . 2001-07-09 22:08:39 +00:00
stskeeps fd558d0675 +- Some configure.in fixes to pthread stuff 2001-07-09 21:18:10 +00:00
stskeeps 409d1f248a . 2001-07-08 20:23:21 +00:00
stskeeps 295a4468f7 +- Made badword fix found by eternal/Jsmj
+- Changed pthread process check to pthread_join on proposal and idea by
+  codemastr
2001-07-08 20:08:30 +00:00
stskeeps 6b9a544188 . 2001-07-08 16:24:41 +00:00
stskeeps 4d24208f23 *** empty log message *** 2001-07-08 16:19:01 +00:00
stskeeps 883d888620 . 2001-07-08 15:43:38 +00:00
stskeeps 9e0b621890 . 2001-07-08 14:55:33 +00:00
stskeeps 3bb6eb48bb +- Made badword fix found by eternal/Jsmj 2001-07-08 14:53:51 +00:00
stskeeps 137df47190 +- Fixed a documentation bug in unrealircd.conf.txt, made config_error
+  actually bitch when loop.ircd_booted
2001-07-07 08:12:21 +00:00
stskeeps c2d74a527a +- Fixed some rant stuff 2001-07-06 15:32:03 +00:00
stskeeps ad3de916c8 +- Fixed so we compile without symbols in win32 .. 2001-07-05 18:11:35 +00:00
codemastr 2a921e28a7 Fixed a little scan.so bug 2001-07-05 17:41:44 +00:00
stskeeps cfd4e898d8 . 2001-07-05 16:53:02 +00:00
stskeeps 41246edb24 - Made scan_socks & scan work under win32. Only bug is a \1 IP in /quote scan (?) 2001-07-05 16:36:14 +00:00
stskeeps 615936938b Made win32 work 2001-07-04 14:10:08 +00:00
codemastr dd7b98a4c2 Fixed an SVSFLINE bug when removing an unknown dccdeny 2001-07-03 22:10:26 +00:00
codemastr 55becdc356 various fixes 2001-07-03 21:38:37 +00:00
codemastr 80c9185de9 Updated m_template.c to use module version 2 2001-07-03 16:53:59 +00:00
stskeeps 33c6693da0 . 2001-07-03 14:39:25 +00:00
stskeeps 477df429d3 +- Made a /scan fix, and fixed some version numbers found by Morbid 2001-07-03 14:20:45 +00:00
codemastr 0a5b46f054 Win32 fixes 2001-07-02 22:47:00 +00:00
stskeeps 50d86c6013 *** empty log message *** 2001-07-02 20:36:19 +00:00
codemastr b22821ec55 Removed a bunch of unused code 2001-07-02 20:32:53 +00:00
codemastr f585e79a0b ... 2001-07-02 20:24:12 +00:00
stskeeps 8d2bbbab95 +- Fixed some IsToken / sendto_serv_butone screwups, actually think they're
+  codemastr(TM) coding
2001-07-02 19:17:53 +00:00
stskeeps 62a39b24d7 +- Minor cosmetic fixes, and SVSNLINE (ban realname).
+   SVSNLINE + reason_why_moo :realname mask - Add global ban realname
+    ('_' is converted into spaces)
+   SVSNLINE - :realname mask             - Remove global ban realname
+   SVSNLINE *                            - Wipes all global ban realname
+- Fixed FIXME dcc_deny_wipe_services
+
+
\ No newline at end of file
2001-07-02 18:31:42 +00:00
codemastr 29a0ae1871 removed a few missed userload.h references 2001-07-02 17:59:29 +00:00
codemastr f3e02b9ada Removed include/userload.h (not used) 2001-07-02 16:30:06 +00:00
codemastr 63b3220971 Updated the stats help list for newconf 2001-07-02 16:21:24 +00:00
stskeeps e9f47d1271 . 2001-07-02 09:17:50 +00:00
stskeeps d3aef18d3e . 2001-07-02 08:26:25 +00:00
stskeeps e01cf0f3f4 +- Random cosmetic fixes 2001-07-02 08:24:04 +00:00
codemastr 9f19792b95 fixed some misc rh7 warnings 2001-07-02 00:57:57 +00:00
stskeeps ad7a03644c +- /htm fix by Griever 2001-07-01 23:14:14 +00:00
stskeeps b3ec92858a *** empty log message *** 2001-07-01 22:34:31 +00:00
stskeeps 2fe7e4986f +- Some /info stuff, updated docs, .CHANGES.NEW, .RELEASENOTES 2001-07-01 22:32:44 +00:00
stskeeps af397fa6c2 . 2001-07-01 20:11:08 +00:00
codemastr c36797d8f1 Fixed a scan bug on rehash 2001-07-01 19:44:49 +00:00
stskeeps 514a1026eb +- Added some thread debugging, and fixed a SVS2MODE bug 2001-07-01 10:14:46 +00:00
stskeeps 189242d07c . 2001-06-30 16:26:22 +00:00
stskeeps e6fd53f363 . 2001-06-30 12:06:23 +00:00
stskeeps 5795f3c489 +- Fixed some minor mod_load troubles, and made it go a little more sensible
+  regarding retarded rehashes
2001-06-29 23:28:18 +00:00
codemastr 0053fe0b8a Made a minor message change to ./Setup 2001-06-29 21:47:35 +00:00
codemastr e959419e4a Rewrote updconf to actually work 2001-06-29 21:44:06 +00:00
stskeeps 52fd41449e - Fixed a pthread_join 2001-06-29 18:44:29 +00:00
codemastr 6d3b664922 Updated thread porting code to support more functions 2001-06-29 18:38:11 +00:00
stskeeps 5357d536a1 +- Moved blackhole into scan.c and removed blackhole.c, and fixed some
+  blackhole bugs.
2001-06-29 18:37:33 +00:00
codemastr 89ac1c8723 fixed a module bug 2001-06-29 15:02:54 +00:00
codemastr 09e4767c45 module changes 2001-06-29 14:57:21 +00:00
codemastr c2e3552039 Made unreal call all the mod_unload's when it shuts down 2001-06-29 14:03:16 +00:00
stskeeps f2bd92c9ad +- Made version.c depend on ../Changes 2001-06-29 09:48:05 +00:00
stskeeps de306fc395 +- Commited the +k fix to +L 2001-06-29 09:04:40 +00:00
stskeeps 7680ec834a -- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
+- Fixed autoconf/Makefile screwup caused by codemastr
+- Fixed a problem with IPv6 always enabled (could you check this fix, code?)
 - Fixed a bug allowing channek keys to have spaces
 - Cleaned up some thread porting code
 - Added a new versioning system to allow easy tracking of bugs
+- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
 - Fixed makeconf
+- Changed the way modules work. We're now at MOD_VERSION 2
+- Changed ALL MODULES to version 2
2001-06-28 20:30:54 +00:00
codemastr a499f98271 fixed makeconf 2001-06-27 21:40:59 +00:00
codemastr dfb1942aba added a new versioning system to help track bugs 2001-06-27 20:53:47 +00:00
codemastr 91c6e584e6 cleaned up some thread porting code a bit 2001-06-27 17:16:39 +00:00
codemastr 794500dbc5 Fixed a bug allowing channel keys to have spaces 2001-06-27 15:44:52 +00:00
codemastr 2c9232113e Made glob() used GLOB_LIMIT on OpenBSD 2.9 to try and stop DoSing 2001-06-27 15:38:10 +00:00
codemastr d276e9a197 added IPv6 support to ./Config 2001-06-27 00:35:42 +00:00
codemastr 16e06cb6a0 Added the ability to use file globs in loadmodule and include 2001-06-26 23:45:56 +00:00
codemastr e03c23820a added configure check for glob.h 2001-06-26 23:44:59 +00:00
codemastr 95d1575c54 removed some remnants of umode +b 2001-06-26 19:57:49 +00:00
codemastr 2fe33658f3 cleaned up mod_depend a bit to look nicer 2001-06-26 17:08:54 +00:00
stskeeps 724f829a0e +- Added in Griever's SJOIN fix 2001-06-26 09:27:44 +00:00
stskeeps 0246583fe1 +- Added mod_depend checking, see scan_socks.c for example 2001-06-25 23:34:15 +00:00
codemastr e604a72114 Fixed /stats to work fully with newconf 2001-06-25 20:13:37 +00:00
codemastr 740084b6d9 Fixed a bug where configure would pick both -ldescrypt and -lcrypt 2001-06-25 19:58:21 +00:00
codemastr df21d67573 moved swhois and svsmotd to modules 2001-06-24 21:03:08 +00:00
codemastr a3e375745c moved svsmode and svs2mode to m_svsmode.so 2001-06-24 20:36:05 +00:00
codemastr d30a4f619c Added a little utility to make converting an m_* command to a module easier 2001-06-24 19:55:35 +00:00
codemastr 3b0d162573 too lazy to write a real message 2001-06-24 19:40:56 +00:00
codemastr 3aa24503f5 Fixed a rehash bug dealing with stderr 2001-06-24 17:12:31 +00:00
codemastr 3e656cf43e ... 2001-06-23 20:14:46 +00:00
codemastr 793a447df1 ... 2001-06-23 20:14:45 +00:00
codemastr c88e6392c0 ... 2001-06-23 20:12:37 +00:00
codemastr 412b6fdec3 ... 2001-06-23 20:10:42 +00:00
codemastr 9952f21f5b Made Unreal use FSU Pthreads if the system has 'broken' pthreads 2001-06-23 20:08:16 +00:00
stskeeps 2f9a35ed6f +- Some more INET6 fixes 2001-06-23 13:57:14 +00:00
stskeeps 6eb059436b +- Taking some more Config changes 2001-06-22 22:10:27 +00:00
stskeeps c85f59cfe3 . 2001-06-22 21:51:44 +00:00
stskeeps 432f632839 . 2001-06-22 21:46:05 +00:00
stskeeps d2ea4937ed blah 2001-06-22 21:43:37 +00:00
stskeeps 6cf10d76c9 . 2001-06-22 21:33:01 +00:00
stskeeps 323f7f67be +- Fixed a configure.in error with IRCDLOBS 2001-06-22 21:29:01 +00:00
stskeeps 776fa42cf7 +- Some more more configure.in fixes, regarding -export-dynamic, and buffer
+  pools, and some illegal if test $var = othervar
2001-06-22 21:10:13 +00:00
stskeeps 12eabdba06 +- Some more configure.in fixes, and made ./Config -q & -quick (do not ask
+  questions, just run with data in config.settings)
2001-06-22 20:53:00 +00:00
stskeeps 266b0bb33f +- Moved config/ to autoconf/
+- Some fixes to configure.in that seemly got deleted?
2001-06-22 18:10:26 +00:00
stskeeps 432b8296f4 +- Moved config/ to autoconf/ 2001-06-22 17:17:11 +00:00
stskeeps 82f62f84be OpenBSD bug fixes 2001-06-21 21:02:12 +00:00
codemastr 5ceda9a5ac *** empty log message *** 2001-06-20 17:48:03 +00:00
codemastr 7f62aab7d3 Fixed a few configure problems with sunos and amiga 2001-06-20 16:55:35 +00:00
codemastr cc4596cf7e Fixed the keywalk bug reported by BaTmAn 2001-06-19 16:15:43 +00:00
stskeeps d269e1a8a1 +- Made CRYPTOIRCD get cached in config.cache
+- Fixed generation of certs, moved from configure.in to Config
+- Fixed lack of -lssl
2001-06-19 16:09:48 +00:00
codemastr a46aa2a4bb Config changes 2001-06-19 15:46:24 +00:00
stskeeps 5b7168d1e1 +- Minor fixes to Config, a license, etc 2001-06-19 15:26:08 +00:00
codemastr 82c52cb2a9 rewrote Config to be more of an interface than a standalone config utility 2001-06-19 01:03:21 +00:00
codemastr de215877c1 fixed a typo in configure 2001-06-19 00:28:38 +00:00
stskeeps ee1c51020b +- Config fixes, settings.h and Makefile.dist are now dead. RIP. 2001-06-18 20:55:48 +00:00
codemastr f40ec73cbb ... 2001-06-18 20:21:57 +00:00
codemastr aa5ee8b79f added ./configure (autoconf generated configure script 2001-06-18 17:19:35 +00:00
codemastr e28fe9d777 Added numeric 005 NETWORK= token support 2001-06-17 17:03:13 +00:00
stskeeps 00ed3759bb +- Fixed some scan-socks and blackhole fuckups 2001-06-17 17:02:09 +00:00
codemastr ca95bdbbed Fixed a quarantine bug(?) 2001-06-16 15:18:44 +00:00
stskeeps 63170bd946 +- Removed the old SOCKS check code. 2001-06-16 10:36:08 +00:00
stskeeps 0abf279a66 +- Fixed a codemastr screwup in quarantine code 2001-06-15 21:06:10 +00:00
stskeeps a0538911d4 \ No newline at end of file
+- Made blackhole.so work
+- Fixed a set_non_blocking bug
2001-06-14 15:31:42 +00:00
stskeeps 901bcc8a41 +- Made blackhole.so work 2001-06-13 14:13:32 +00:00
codemastr fe9735bd4e Added link::options::quarantine 2001-06-11 15:21:08 +00:00
codemastr 3196657cd4 removed agent.c updated win32 makefile 2001-06-11 14:44:13 +00:00
codemastr b18a357202 rm 2001-06-11 14:43:54 +00:00
codemastr 49030ee0dd Added hook HOOKTYPE_PRE_LOCAL_CONNECT 2001-06-11 14:39:08 +00:00
codemastr f5fa79afac added numeric 105 in /version 2001-06-11 14:18:40 +00:00
stskeeps 78520f8cd0 +- Fixed double dependicies bug.. stupid dlsym 2001-06-10 21:57:39 +00:00
codemastr 8db346ed62 Added some pthread checking support 2001-06-10 20:43:47 +00:00
stskeeps 29b19f988b +- Minor src/Makefile screwup fix 2001-06-10 20:42:38 +00:00
codemastr 8e4f620f7d Allowed capturing of unknown set {} variables by modules (conf_unknown_set) 2001-06-10 20:24:23 +00:00
stskeeps 8f28d5f0d5 +- Fixed /quote sethost : and /quote setident : exploit, found by ac1d, fixed
+  by Griever
2001-06-10 19:50:24 +00:00
cvs2hg 2186d042ca fixup commit for tag 'unreal3_2_12june' 2001-06-09 19:56:22 +00:00
stskeeps 5dfe97a9c6 +- Fixed up scan_dummy.c 2001-06-09 19:56:21 +00:00
stskeeps 3aebacf774 +- Fixed some scan_socks problems - this needs a good hand with 2001-06-09 19:06:42 +00:00
codemastr 26a828bf41 Unknown ban * {}, except * {}, deny * {}, allow * {} are accessible to modules 2001-06-09 17:05:12 +00:00
stskeeps fecfd72417 +- Fixed problem with u_int32_t servicesstamps, with SVSMODE and SVS2MODE,
+  found by Andrew Church
\ No newline at end of file
2001-06-09 15:30:01 +00:00
codemastr d9941457ad Added hooks to allow you to add config blocks 2001-06-08 16:55:53 +00:00
codemastr 6ba33745e2 win32 thread change 2001-06-07 18:19:34 +00:00
codemastr e889beec33 Updated the win32 thread code (maybe it will work now?) 2001-06-07 17:43:32 +00:00
stskeeps d043dc3187 - Fixed codemastr's broken millitime patch (sys/timeb.h)
- Added scan_socks.c, added and moved some stuff to
  include/modules/scan.h (the dir too)
- Converted threads to IRC*Thread by codemastr.
2001-06-07 16:22:32 +00:00
codemastr 63a3ef308d Made match() a little bit faster 2001-06-06 20:05:16 +00:00
codemastr 870119644d Made militime() just as accurate on win32 as on linux 2001-06-05 21:10:21 +00:00
stskeeps 66235b4610 minor fix 2001-06-04 18:34:26 +00:00
codemastr a3b000358e ... 2001-06-04 18:31:14 +00:00
stskeeps ddcdba2e86 - Fixed bug with changing nicks 2001-06-04 11:45:46 +00:00
stskeeps ad0e3539da - Changed how hooks work, making them support voidfuncs
- Added src/modules/scan.c and src/modules/scan_dummy.c
2001-06-04 10:17:16 +00:00
codemastr 66638d66c4 ... 2001-06-03 23:05:33 +00:00
codemastr 5e482c1059 ... 2001-06-03 23:01:24 +00:00
codemastr 740eac2273 fixed a win32 bug 2001-06-03 22:46:31 +00:00
codemastr 595f52c11c made Unreal reload its tray icon if explorer restarts 2001-06-03 15:13:03 +00:00
codemastr 4ba5ad7885 fixed a /stats c = crash bug 2001-06-01 22:49:32 +00:00
codemastr 40f3c69ed5 Made Unreal run correctly on OpenBSD 2001-05-28 14:49:48 +00:00
codemastr b872ad1912 Made a popup menu for the tray icon to contain the same 'buttons' as the GUI does 2001-05-27 20:04:34 +00:00
stskeeps 0b46646765 - Fixed /whois problem, maybe introduced some others?
- Removed send_out_svsmode, not in use and broken too
- Made Config say Unreal3.2
2001-05-27 19:56:19 +00:00
stskeeps 7cd4856373 +- Made newconf state unknown directives (found by Madkiss)
+- Small s_socks.c bugfix possible causing indetectable socks
2001-05-27 13:11:58 +00:00
stskeeps 68eb489f36 +- Made validate_configuration check for !conf_listen 2001-05-27 10:02:31 +00:00
stskeeps bacf06d3eb +- Merged McSkaf's hostname patch, debug patch, s_misc patch 2001-05-26 19:27:14 +00:00
stskeeps 886549cf13 - Made slot arrangement be different. 2001-05-26 18:08:38 +00:00
codemastr 97a11dbea9 Made the Status Dialog update its values every 5 seconds 2001-05-26 15:55:08 +00:00
codemastr b8b748a940 Added McSkaf's rehash patch 2001-05-26 15:40:09 +00:00
codemastr 5b66562e97 updated win32 makefile 2001-05-26 15:05:44 +00:00
stskeeps 57bee58436 +- Made possible speedup of fdlist checking in s_bsd.c 2001-05-26 13:19:48 +00:00
stskeeps 52cd1f5d03 +- Added some numeric checking in m_server* 2001-05-26 08:23:38 +00:00
stskeeps 08f25ead4e - Possible fixed fdlist problem with default_fdlist 2001-05-26 08:03:58 +00:00
codemastr 4a81ab873d Commited McSkaf's tab patch for win32 2001-05-25 21:18:56 +00:00
stskeeps 37f47c0980 +- Fixed minor socksfd problem in read_message
+- Fixed identd problem
2001-05-25 17:08:26 +00:00
stskeeps dd8b77b9ec - Fixed problem with addto_fdlist(cptr->fd) caused by slotpatch 2001-05-25 16:30:35 +00:00
codemastr 35655afdea minor win32 bug fix 2001-05-24 21:04:21 +00:00
stskeeps 2cf513ae54 +- Fixed listener problem, reported by McSkaf 2001-05-24 19:52:44 +00:00
stskeeps f8f8d25f59 possible listener problem..? 2001-05-24 19:49:54 +00:00
stskeeps 7b9c24590a . 2001-05-24 17:53:01 +00:00
stskeeps 23609410e1 Fixed a problem with slots and /trace 2001-05-24 17:52:04 +00:00
stskeeps 737f07a9fe fixed problem with Debugmode unde win32 2001-05-24 16:06:29 +00:00
stskeeps ffe3bb5cba . 2001-05-24 15:57:04 +00:00
stskeeps b2dbb8d42e winlocal stuff 2001-05-24 15:56:24 +00:00
stskeeps a7f0efe61f +- More winlocal fixes, and a +f bugfix 2001-05-24 15:17:28 +00:00
codemastr d46957d5d6 color rtf patch 2001-05-20 16:25:36 +00:00
stskeeps f74c738cdf . 2001-05-20 15:57:43 +00:00
stskeeps 4cc7b2eb68 winlocalpatches 2001-05-20 08:02:09 +00:00
stskeeps 9b85197ec2 . 2001-05-19 20:41:06 +00:00
stskeeps ab3adfc4ce - Made /die not show admins IP (fixed by Stskeeps after his users nuked him..) 2001-05-19 19:57:52 +00:00
stskeeps 767acc2d61 . 2001-05-19 16:38:13 +00:00
stskeeps 4481b8565e . 2001-05-19 09:46:45 +00:00
stskeeps 581ecab7f8 . 2001-05-19 07:46:37 +00:00
stskeeps b3a6a5d8bc . 2001-05-19 06:28:23 +00:00
stskeeps c5c6be51ce +- Applied McSkaf's winlocal patch II, only changed Debug() and removed
+  DEBUGMODE from config.h. Still cores, but we might be closer to a
+  solution. Broken code, do not use devel right now
2001-05-17 18:44:04 +00:00
stskeeps 39844754a5 .
K
2001-05-17 16:58:06 +00:00
stskeeps 0ce4be7780 . 2001-05-16 19:29:53 +00:00
stskeeps e72d0ff6a5 no message 2001-05-16 19:02:54 +00:00
stskeeps 9d9b27fbcb - Fixed the loop, made htmcalc more clean 2001-05-16 14:43:21 +00:00
stskeeps 6f7214ba2a . 2001-05-15 13:46:59 +00:00
stskeeps 0c6e023e07 . 2001-05-15 12:07:03 +00:00
stskeeps 2da8a5fd52 converted htmcalc/lcf to events 2001-05-15 12:02:39 +00:00
stskeeps 746f5b8420 . 2001-05-14 17:25:51 +00:00
stskeeps d9eea90de4 . 2001-05-14 16:53:48 +00:00
stskeeps aa7a1485d0 events code 2001-05-14 16:52:17 +00:00
codemastr 7d55e31da0 added code to make the config parser attempt to keep going rather than die 2001-05-13 20:42:20 +00:00
stskeeps 49ad7cb797 . 2001-05-13 19:43:18 +00:00
codemastr a245aa8369 removed ce_vardatanum, wasted CPU and memory 2001-05-13 18:03:43 +00:00
codemastr 25041b0074 Made the topic for a +s channel hidden from non-members 2001-05-12 16:44:34 +00:00
stskeeps 82af929628 . 2001-05-12 14:45:46 +00:00
stskeeps 94a9919ff2 +- Fixed the 100% cpu problem, again, HTM is screwed now though? 2001-05-12 13:42:10 +00:00
stskeeps d33d0292e2 +- Fixed the problems with 100% cpu, hopefully 2001-05-11 21:20:17 +00:00
codemastr bbf83caae0 ... 2001-05-09 19:48:08 +00:00
codemastr 43dbfc5707 added McSkaf's richedit patch to support reverse 2001-05-09 19:44:38 +00:00
stskeeps 27dd306e33 . 2001-05-07 18:59:21 +00:00
stskeeps bcf384f074 . 2001-05-07 18:42:24 +00:00
stskeeps b75e14a07d . 2001-05-07 18:39:55 +00:00
stskeeps 689c63f382 . 2001-05-07 14:28:45 +00:00
stskeeps 2b343609ee +- Changed all TStime() to use timeofday - CPU SAVE
+- Removed userload.c & userload.h
2001-05-07 14:24:11 +00:00
codemastr 7b393920b5 win32 richedit changes 2001-05-06 23:50:30 +00:00
codemastr 0c5f482cae Removed some win32 stuff that accidentily got committed 2001-05-06 20:24:16 +00:00
codemastr 7565597137 win32 richedit support added 2001-05-06 20:21:19 +00:00
stskeeps c402f50c43 +- Added doc/unrealircd.conf.txt (by devdev), doc/services-install-guide
+  (zyrol, edited a bit by stskeeps)
2001-05-06 17:08:31 +00:00
stskeeps 18479eb145 +- Fixed-fixed listen format troubles, larne++
+- Possible fixed some +d bug(s)
2001-05-05 19:52:54 +00:00
stskeeps 8c6bce17a3 +- Fixed-fixed listen format troubles, larne++ 2001-05-05 19:34:45 +00:00
stskeeps 5f306b09f0 +- Fixed some compilation error with IPv6 2001-05-05 16:42:27 +00:00
stskeeps 452d931de2 +- Made listen format able to do:
+     listen [ip]:port, for IPv6 - listen [3fff:ff::1]:6667
2001-05-05 15:55:01 +00:00
stskeeps 7cc288c293 . 2001-05-05 15:33:31 +00:00
stskeeps 60b5126fea +- Made chghost/chgident able to do :'s 2001-05-05 15:29:03 +00:00
stskeeps 312c90fb02 +- Made a crazed out IPv6 cloaking 2001-05-05 14:56:38 +00:00
stskeeps 7dfcb698c4 +- Made you able to bind to specific IPv6 IPs (we don't have FFFF::*
+  functionality yet)
2001-05-05 14:28:15 +00:00
stskeeps 183ac0af7d +- Made IPv6 compile atleast, and work. Current problems:
+  * Cannot bind to a specific IP
+  * IPv6 cloaking doesn't work
2001-05-05 14:16:32 +00:00
stskeeps 1d3488dbdd +- Fixed doc error in s_conf.c 2001-05-05 12:05:15 +00:00
codemastr 4d027ee4fd Added an xchat based color striper (faster and more accurate) 2001-05-04 20:29:32 +00:00
stskeeps 145c25e249 +- Had to revert McSkaf's winlocal.patch, caused too many crashes. I believe
+there is a better way to do this ..
2001-05-02 16:35:49 +00:00
stskeeps 09a50a286d blah 2001-05-02 09:22:08 +00:00
stskeeps 4d5d474bbd +- Removed SJOIN/SJOIN2 support in SJOIN
+- Fixed a +f bug, found by NiQuiL
+- Applied McSkaf's winlocal.patch, seems to work ok, fixed some problems
+  though in unix/win32 (cptr->fd can be -3. Should fix some READ ERRORS as
+  well. McSkaf, do me a favour and remove all of the C++ comments in the
+  source (//) or modify them to /* */
2001-05-01 15:03:07 +00:00
stskeeps 9f8c142981 Removed SJOIN/SJOIN2 support 2001-04-30 17:17:56 +00:00
stskeeps d0f426eafb +- Fixed RTLD_NOW problem with openbsd 2001-04-29 20:31:58 +00:00
codemastr a1689d32e8 fixed a bug causing Found your hostname (cached) to be displayed twice 2001-04-28 19:20:28 +00:00
stskeeps 4c5fa91707 +- Possible fixed a buggie in +f 2001-04-28 18:51:21 +00:00
codemastr d8917f301f added keyboard shortcuts to the win32 config and about popup menus 2001-04-28 16:09:16 +00:00
codemastr bb01af2f8b win32 and numeric 005 changes 2001-04-28 16:03:27 +00:00
stskeeps 94516c12f9 +- Applied s_debug.c/config.h patch from McSkaf, makes DEBUGMODE under
+  win32 working again - fixed some errors in the unix part of it.
2001-04-28 07:22:32 +00:00
stskeeps 9590301027 +- Applied res.c.patch from McSkaf, fixes win32 GPF, but fixed mising HE(ocp) 2001-04-28 07:16:58 +00:00
stskeeps 97e7c471e2 +- Brought 005 up-to-date with spefication - added CHANMODES= support 2001-04-27 20:26:30 +00:00
codemastr fe33eabc47 Win32 fixes 2001-04-25 21:21:33 +00:00
codemastr 684e6dbc4d ixed a win32 bug found by RaYmAn causing the tray icon not to be displayed sometimes 2001-04-24 20:03:41 +00:00
codemastr 63dd767e2b win32 stuff 2001-04-24 19:50:28 +00:00
codemastr 83485c7464 removed newdns 2001-04-23 19:45:53 +00:00
stskeeps 8d9c41d457 +- Fixed possible crash with /quote dns l 2001-04-22 13:32:05 +00:00
stskeeps 48c02f74a9 +- Fixed minor problem with mod_load code 2001-04-22 08:38:39 +00:00
stskeeps bdcc9dd9d2 +- Added method mod_load in dummy example and made it work. mod_load() is executed
+  when server is ready
2001-04-21 19:49:54 +00:00
stskeeps 695ab4d2eb +- Fixed possible crash bug imposed by too many users per ip in AllowClient -found and fixed by McSkaf
+- Made IP Mismatches getting sent to UMODE_JUNK instead
2001-04-21 18:14:40 +00:00
codemastr 5423bf8a94 Win32 changes 2001-04-21 17:06:07 +00:00
codemastr a4220227ba Fixed a /stats Z bug reported by RaYmAn 2001-04-21 00:34:43 +00:00
codemastr 9625b4cd1c Win32 changes 2001-04-20 23:55:45 +00:00
codemastr bfdd6a67d6 newconf cleanup 2001-04-19 00:03:28 +00:00
codemastr d7fdd5c5a3 Made the resolver work in win32 2001-04-18 19:35:41 +00:00
stskeeps cae1a304ba -- Fixed a claok bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
+- Fixed a cloak bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
+- Fixed some cloak bugs, and applied +x crypto to hostnames as well
2001-04-18 17:36:59 +00:00
codemastr f5bf9b603e fixes 2001-04-18 17:32:02 +00:00
stskeeps 5142675522 +- Removed doc/ADD-TO-IRCRC, doc/INSTALL, doc/Manual, doc/Operators,
+  doc/irc.1, doc/ircd.8, doc/server-compile-guide
2001-04-18 13:17:26 +00:00
stskeeps 815dbb9183 +- Fixed do_dns_async problem with new res.c 2001-04-18 07:47:41 +00:00
codemastr 32daea058a Fixed a ban realname {} bug that _may_ have something to do with the negative user count bug 2001-04-16 21:00:14 +00:00
codemastr 4f1778a08b removed __P 2001-04-16 15:36:30 +00:00
codemastr 4298b01b5e fixed ircd_log to work in win32 2001-04-16 00:18:59 +00:00
codemastr 62ce071c41 added /rehash -all patch by NiQuiL 2001-04-16 00:01:38 +00:00
stskeeps cf288e063f res.c: ircsprintf fixes 2001-04-16 00:00:21 +00:00
stskeeps 3cfb547bdd *** empty log message *** 2001-04-15 23:55:49 +00:00
stskeeps 843f20448e *** empty log message *** 2001-04-15 23:35:23 +00:00
stskeeps f5d797a8f1 +- Added irc2.10.3's resolver. Fixes debian-woody-libresolv problems..
+  Still some fixes to be done
2001-04-15 20:32:05 +00:00
codemastr aa7815af65 ... 2001-04-15 15:55:42 +00:00
stskeeps 6a9aa19856 +- Fixed DEBUGMODE problem, found by someone .. 2001-04-14 16:05:18 +00:00
stskeeps 7d53af10f1 . 2001-04-14 10:18:07 +00:00
stskeeps 6491094450 test 2001-04-14 10:17:54 +00:00
stskeeps 431217b50d +- Added unitedirc.network -NiQuiL 2001-04-14 07:46:21 +00:00
stskeeps 980aab93bd +- When IRCOps are breaking into chans with invite only (+i) or
+  key-protection (+k) a eyes-notice is sent like it is on banwalk. -NiQuiL
+
2001-04-14 07:35:30 +00:00
codemastr dea4e0f9b8 recoded ircd_log a bit 2001-04-13 22:38:37 +00:00
codemastr 155a99b69e ... 2001-04-13 22:34:25 +00:00
codemastr 71f285d8b0 win32 changes and other stuff 2001-04-13 22:32:07 +00:00
stskeeps 8a03462ce2 +- #define HELP_WHO for the "did a /who 0 o" 2001-04-13 20:46:22 +00:00
stskeeps d0819ec012 +- Possible FD leak in ircd_log, caused by some codemastr coding(TM) 2001-04-13 19:46:32 +00:00
codemastr 0db56907f8 Added a cloaking fix based on a fix by Zogg 2001-04-13 15:09:03 +00:00
stskeeps 331b07909b . 2001-04-13 09:25:43 +00:00
stskeeps a82570f0a3 +- Fixed up some codemastr(TM) coding regarding M_* 2001-04-13 09:07:28 +00:00
stskeeps 754c11ce62 +- added temporary define #define OLD_CLOAK 2001-04-13 08:57:36 +00:00
codemastr f300280ec1 logging changes 2001-04-12 19:36:10 +00:00
codemastr dad396b0ca Cosmetic cleanup of /info 2001-04-12 16:34:08 +00:00
codemastr f64d767a77 Implimented IRCNet style server redirection 2001-04-12 16:18:43 +00:00
codemastr 715e8893e2 Added sajoin/sapart error message patch by NiQuiL 2001-04-12 15:34:22 +00:00
codemastr 8de146c6e2 newconf changes in an attempt to make our config as compatible as possible with other configs 2001-04-11 18:30:53 +00:00
stskeeps a385e32c8b +- Fixed a NETINFO parameter problem - solves the new NETINFO format 2001-04-11 08:42:50 +00:00
stskeeps 9b5142a14d +- Found a way to do +x IPv4 cloaking right.
+- Added set::cloak-keys { longvalue; longvalue; longvalue; }; for the cipher
2001-04-11 01:52:12 +00:00
codemastr 220d739c8d Possibly fixed the vhost crashing bug, with much help from IpAddress 2001-04-08 23:06:55 +00:00
codemastr 32dd11ca68 Made it so /stats C doesn't show the user@host of servers to non-opers 2001-04-08 22:25:50 +00:00
codemastr d26077a352 Readded timestamp to log, accidentily got removed 2001-04-08 19:42:52 +00:00
stskeeps f4a558c0b2 +- Make users that send a forbidden file get auto blocked from sending other
+  files. sptr->flags & FLAGS_DCCBLOCKED.
2001-04-07 20:57:17 +00:00
stskeeps 789231e481 +- Added M_NOLAG.
+- Added new CRC32-hex-based IPv4 and hostname cloaking form
2001-04-07 13:34:25 +00:00
codemastr 9691037d36 fixed user@ vhost problem 2001-04-03 19:53:25 +00:00
stskeeps 87fb55c207 . 2001-04-02 17:32:32 +00:00
codemastr 260fcc7525 added ability to add a username to spoof in vhost {}, also fixed a vhost bug 2001-04-01 23:16:02 +00:00
codemastr 589d1dafb4 Fixed a bug where the IRCd didn't validate hosts specified in a vhost {} 2001-04-01 19:27:23 +00:00
codemastr 38d57f15f0 made duoble loaded motd/rules only be cached once 2001-04-01 18:35:49 +00:00
codemastr d1baf13ae4 tld::channel added 2001-04-01 17:54:34 +00:00
codemastr f0ccf16b61 If no oper::flags are found, default to locop 2001-04-01 15:22:33 +00:00
stskeeps f922820f5d +- Fixed a problem with SDESC module token being wrong - Found by eternal 2001-04-01 15:13:46 +00:00
stskeeps 56effd6149 +- Fixed a problem with users opping servers.. Found by Morbid 2001-04-01 11:55:40 +00:00
stskeeps 78cfb2fb10 . 2001-04-01 11:42:44 +00:00
stskeeps 4d7f9dde8b . 2001-04-01 11:37:35 +00:00
stskeeps 6ff6286e4c . 2001-04-01 11:34:42 +00:00
stskeeps 9436198b96 . 2001-04-01 11:11:58 +00:00
stskeeps e99c73b217 +- Made /kick not core on users kicking servers. (WTF?) 2001-04-01 11:07:13 +00:00
stskeeps 3fcc2115cb +- Made static linking a little more possible (for -pg) 2001-04-01 09:40:48 +00:00
stskeeps 607157c0e0 +- Moved /sdesc, /setident to modules.
+- allow { } now supports encrypted passwords -Syzop
2001-03-31 20:26:14 +00:00
stskeeps 7bc6a45cf8 +- Fixed a double definition (double m_chghost and m_chghost.so) 2001-03-31 20:03:17 +00:00
codemastr 16ee430dd4 reverted a change 2001-03-29 20:37:29 +00:00
stskeeps 19386125a6 +- Added a donation credit 2001-03-29 14:54:09 +00:00
codemastr d3738ff6d6 added oper::swhois 2001-03-28 21:10:16 +00:00
codemastr c0a30f631d Made a security measure to stop people from reading the ircd.conf 2001-03-28 00:41:06 +00:00
codemastr d00e7536df Removed PROTO() 2001-03-27 21:30:59 +00:00
codemastr aa6fa83b5f fixed a log {} bug 2001-03-25 18:50:29 +00:00
codemastr 5193c47f72 ixed a globops bug that required it to have a : 2001-03-25 18:32:52 +00:00
stskeeps 0312737c61 +- Reverted Demigurus's select() speedup patch, did speedup, but it
+  also caused a good bit of CPU.
2001-03-25 17:17:55 +00:00
codemastr b7858491fe Removed the old /rehash flags 2001-03-25 16:49:53 +00:00
stskeeps 0d85f1b98d +- Made MyMalloc be MyMallocEx in codemastr's log {} code. Fixes junk pointer
+  problem - discovered by sts/Morbid
2001-03-24 11:05:12 +00:00
stskeeps 659140348d +- Added #define HOOKTYPE_LOCAL_NICKCHANGE 2001-03-24 07:55:50 +00:00
codemastr 43e19f52a6 log system fix 2001-03-21 21:27:34 +00:00
codemastr 464e787aac added a new logging system using log {} 2001-03-21 20:42:15 +00:00
stskeeps a3a445dc77 +- Added Hooks, only one working now is HOOKTYPE_LOCAL_QUIT 2001-03-21 18:14:43 +00:00
stskeeps 555089ce9e +- Removed networks/unrealircd.conf 2001-03-19 06:05:28 +00:00
codemastr 0ce7799961 command hash changes 2001-03-19 00:09:42 +00:00
stskeeps c5c1b8e3e1 +- Modified command hashing system to Sts's belief of how eggs should be
+  made. (quick, dirty and fcked up)
+
2001-03-18 21:28:04 +00:00
codemastr 2ff27c366f Command hash changes 2001-03-18 20:34:59 +00:00
codemastr 3251251be9 moved m_setname to a .so 2001-03-18 17:42:09 +00:00
stskeeps 26c45f50fd +- Changed license of m_dummy.c (dummy module, skeleton), so people can do
+  closed source modules.
2001-03-18 13:07:00 +00:00
stskeeps 089067fbda +- Moved m_chgident to an .so 2001-03-17 21:47:22 +00:00
stskeeps fe7b258bfb - all of the module files to the new format.
+  all of the networks files to the new format.
+- Fixed a bug with RAKILL and UNSQLINE not working
2001-03-17 18:56:50 +00:00
stskeeps edfca03e28 +- Modified an old Unreal3.1.1 to be network file converter, and converted
+  all of the module files to the new format.
2001-03-17 16:22:40 +00:00
stskeeps c181a20492 +- Put out m_chghost, m_sethost in modules, remade Makefile structure and
+  added src/modules
+
+
2001-03-17 14:12:24 +00:00
stskeeps e1b5d6fae0 +- Added module_sym("functionname"), for modules, like, sajoin might want to
+  do fp_m_join = module_sym("m_join");
2001-03-15 21:02:00 +00:00
stskeeps 67cdd867fd +- Made conf2 able to load empty files as well 2001-03-14 13:07:27 +00:00
codemastr 5e535f848d updated the badword configs to use newconf 2001-03-13 22:23:49 +00:00
stskeeps 1c23055cd7 +- Made chmode +z only settable by umode +z users or U:lines or services. 2001-03-13 15:05:35 +00:00
stskeeps 634312f47d +- Added unknown connection flood protection (settable in config.h) 2001-03-13 11:46:23 +00:00
codemastr 9fc54cdaed reverted a previous change 2001-03-12 20:37:21 +00:00
codemastr 5750cea757 Win32 Changes 2001-03-11 19:36:49 +00:00
stskeeps bd983ef189 +- Fixed bug with double module unloading, bug found by RaYmAn 2001-03-11 13:21:35 +00:00
stskeeps 110f099802 +- Started on commands.so making, works good atm -on req of codemastr,
+  both as m_module.so and commands.so :) - long live dynamiclinking
2001-03-11 13:08:53 +00:00
stskeeps c84da7d03c +- Reintroduced "fake lag". Flood algoritm works this way:
+   Make next check for parsing be
+   (1 + (length of command+parameters / 60)
2001-03-11 06:42:19 +00:00
stskeeps 6d2a2e1bf9 +- Added loadmodule "filename.so"; and made the modules
+  unable to get loaded twice with same name.
2001-03-10 21:04:25 +00:00
stskeeps f41c3bf679 +- Added Modules, using dlopen() and LoadLibrary for *nix/win32.
+- Added /module load <path.to.so>, /module status (list modules),
+  /module unload <modulename>
2001-03-10 11:58:04 +00:00
stskeeps 797b6c6f21 +- Added /cycle #channels, suggested by ^loki^ 2001-03-09 12:40:11 +00:00
stskeeps d7700539c6 +- Added #define KILL_LOGGING, by otherguy 2001-03-09 10:15:48 +00:00
stskeeps 9251234b2d +- Added "get_host" old 'H' O:flag 2001-03-07 19:42:50 +00:00
stskeeps 0e77f08921 +- Made ./Setup not do dynamic configuration any more
+- Changed reference in Setup from ircd.conf to unrealircd.conf (cosmetic)
+- Changed output of updconf from ircd.conf.new to unrealircd.conf.new
+- Changed the output of makeconf from ircd.conf to unrealircd.conf
+- Renamed hostmask to hostname like it should be in makeconf - IpAddress
2001-03-07 17:04:37 +00:00
stskeeps 49152c8bcd +- Fixed ssl_client_handshake bug reported by IpAddress 2001-03-07 16:19:49 +00:00
stskeeps 65ab75c9a8 +- Made makeconf use "ban nick" instead of "ban nickname" 2001-03-07 07:49:19 +00:00
angel11 42f43eeb00 Fixed a bug in makeconf, make whois not return chans for services. 2001-03-06 21:27:06 +00:00
stskeeps 8b3c0d8b56 +- Made MembershipL->flood get bzero on out delegation
+- Made IRCd not crash on /kick from servers
2001-03-06 02:45:24 +00:00
codemastr 10dd29fb7a Removed stskeeps's lazy add_CommandX (tm) code 2001-03-05 17:19:09 +00:00
codemastr e5b6533dcd Rewrote makeconf and makenet to use newconf (added some new features to makeconf as well) 2001-03-04 17:52:37 +00:00
stskeeps e852d93134 +- Made del_Command(). 2001-03-03 13:34:10 +00:00
stskeeps 15b1aa89f8 . 2001-03-02 20:11:09 +00:00
codemastr bf9dc43e5a Removed a lot of vars and stuff from the old config, also made some cleanups to reduce source size 2001-03-02 18:53:04 +00:00
codemastr ee1d50c4e2 Added option to use old style oper flags 2001-03-02 18:09:11 +00:00
codemastr 9063b91570 Updated most of /stats S for newconf 2001-03-02 15:06:53 +00:00
stskeeps edfd90f235 +- Made NAME_SERVER (set::dns::nameserver work). The IRCd no longer
+  uses /etc/resolv.conf as reference.
2001-03-02 14:58:37 +00:00
stskeeps 6164ba8175 +- Moved dynconf stuff from s_svs.c to s_conf.c, on popular request 2001-03-02 14:22:30 +00:00
stskeeps e3fbff915b . 2001-03-02 14:00:30 +00:00
stskeeps f75f80584e . 2001-03-02 12:20:43 +00:00
stskeeps 2d7436eea0 Made modes-on-connect work 2001-03-02 12:20:26 +00:00
stskeeps f106d3b39b Made /who work correctly 2001-03-02 11:48:54 +00:00
codemastr 1dc79accfc added a bunch of /stats flags 2001-03-02 00:55:57 +00:00
stskeeps 247a3235ef +- Overwrote s_conf.c with s_conf2.c, and removed s_conf2.c. Viva la Conf2! 2001-03-01 21:31:55 +00:00
stskeeps 59f0c6a7be +- Fixed a config_load win32 problem, found by Zogg, fixed by Stskeeps/codemastr 2001-03-01 21:29:44 +00:00
codemastr 03253db9b2 Fixed a deny version {} bug (oops) 2001-03-01 21:22:32 +00:00
codemastr 815db2ad4a added deny version, and made deny link rehash 2001-03-01 21:13:58 +00:00
stskeeps 3eff8614eb +- Removed dynconf.c, from the old dynconf 2001-03-01 20:39:41 +00:00
stskeeps 516731d14d +- Removed class.c, from the old conf 2001-03-01 20:31:03 +00:00
stskeeps 02f1d1a27a +- Made /stats C show flags correctly 2001-03-01 06:15:24 +00:00
stskeeps 259c4bcf66 +- Made DNS cache list show a notice to other ops 2001-03-01 06:13:45 +00:00
stskeeps d1139c251c +- Made autoconnect msgs only go to +os 2001-02-28 20:43:27 +00:00
stskeeps d10da5cf81 . 2001-02-28 18:29:08 +00:00
stskeeps 55458495fb +- Fixed the 9-month old win32 DNS bug, caused by Stskeeps's incidential
+  delete
2001-02-28 18:23:31 +00:00
stskeeps 54c46720f7 +- Somehow is_halfop and co got called when a server set a mode .., added
+  IsServer check (auto-return 1)
+
2001-02-28 17:24:38 +00:00
stskeeps 155374409d +- Added Member and Membership and made the IRCd support this. Using
+  "freelinks", todo: garbage collection
+- Added find_member_link and find_membership_link. Made Floodopt only
+  get allocated for local users. Removed aFloodOpt in Link,
+- Made a speedup in is_halfop (dumb code)
2001-02-28 16:24:37 +00:00
stskeeps 2ed9fead6d -- Fixed one of codemastr's wonderful coding bugs. *slap slap slap*
+- Fixed windows CRLF problem in conf2, reported by Zogg
2001-02-27 19:40:52 +00:00
stskeeps 09fc76ed53 +- Fixed one of codemastr's wonderful coding bugs. *slap slap slap* 2001-02-27 11:42:55 +00:00
stskeeps 98477e867e . 2001-02-27 11:22:37 +00:00
stskeeps 412390883c +- Removed msgtab part of parse, removed the bigass hashtable msgtab,
+  removed inittoken, made command initalization happen in init_CommandHash
+- Adapted /stats M to it. Removed /helpop ?commands temporary. Confirming
+  hashtable works.
2001-02-27 11:03:19 +00:00
stskeeps e010cbde23 +- Added CommandHash optimation .. this is not done 100% yet. uses msgtab as
+  reference
2001-02-27 08:56:06 +00:00
codemastr 878f3ddba8 sped up some channel stuff using bahamut style user searching 2001-02-25 17:30:43 +00:00
codemastr 82e2407bd3 made crule.c faster 2001-02-25 16:57:23 +00:00
stskeeps 7dbe724aff +- Removed return_servers() and made servers be called Servers, and be a
+  global variable. Done on request on Great Master codemastr.
2001-02-25 16:41:13 +00:00
stskeeps 8cc77bb669 +- Recoded check_pings, with bits used from bahamut-ircd/hybrid-ircd, credits
+  to lucas.
2001-02-25 10:36:41 +00:00
stskeeps 170a1dff0e +- Made admin {} get rehashed
+- Got /stats x to work again
2001-02-25 09:03:22 +00:00
codemastr 038830c0b2 added deny link {} 2001-02-25 00:57:12 +00:00
stskeeps 0ced6ab45b +- Made connfreq unable to less than 10 2001-02-24 20:15:29 +00:00
codemastr e9b9c0e775 various code cleanups 2001-02-24 18:27:50 +00:00
codemastr f656a02b76 various cleanups 2001-02-24 16:22:26 +00:00
stskeeps df04217164 . 2001-02-24 15:06:00 +00:00
stskeeps ace1eb1e1a todo stuff 2001-02-24 15:02:26 +00:00
stskeeps c5ed0fe9c1 +- Made autoconnect work again :>. Changes in behavouir: It connects more at
+  a time now. You need autoconnect flag in options.
2001-02-24 14:56:15 +00:00
stskeeps eed841e642 +- Made link { options { work OK again. Had a dead loop as well 2001-02-24 13:36:52 +00:00
stskeeps 9ac6d4cb65 +- Killed ircdupstr and called it ircstrdup 2001-02-24 13:09:50 +00:00
stskeeps 40f1dd6da6 +- Added deny channel { channel "channelmask"; reason "why"; }; and
+        allow channel { channel "channelmask"; };. Replaces chrestrict
+- Made those above get rehashed
2001-02-24 13:03:26 +00:00
codemastr 0ce4ac5bc0 dynamic motd changes 2001-02-23 22:01:59 +00:00
codemastr 3211a39f6b replaced a few strlen()s with sizeof()s should make the IRCd start a bit faster 2001-02-23 17:30:39 +00:00
stskeeps 97de7c6e41 +- Fixed a missing " in validate_conf 2001-02-23 15:42:08 +00:00
stskeeps 57f89e0678 . 2001-02-21 17:29:21 +00:00
stskeeps ff1b08ef51 +- Fixed a /kline and /unkline buffer overflow, reported by [-Th3Dud3-]
+- Fixed a crash in /stats k regarding temporary K:lines
2001-02-21 16:00:43 +00:00
stskeeps 64ee360a69 . 2001-02-19 18:44:20 +00:00
stskeeps 3bc852a76c +- Added a notice on connect for SSL users with key length 2001-02-19 18:26:29 +00:00
stskeeps b7b2155573 +- Some small SSL fixes .. 2001-02-19 18:13:53 +00:00
codemastr a28500faae If an invalid ban or except is found, it is removed 2001-02-19 17:21:42 +00:00
codemastr b53a38c15c newconf changes 2001-02-19 17:11:17 +00:00
codemastr eb6d81e199 ade it so the IRCd can survive with certain set {} errors (uses defaults) 2001-02-18 16:39:54 +00:00
stskeeps e56b347bb1 . 2001-02-18 16:04:57 +00:00
codemastr 2d455fee85 bunch of changes 2001-02-18 16:03:34 +00:00
stskeeps 691bbfc48a +- Made deny_dcc get rehashed 2001-02-18 11:59:27 +00:00
stskeeps d121a7a9ad +- Finished up deny dcc {}.
+   TODOs: dcc_del_wild_match doesn't work. dcc_wipe_services() either
2001-02-18 09:57:49 +00:00
stskeeps 556ae0ef20 *** empty log message *** 2001-02-16 20:36:52 +00:00
stskeeps 44be7a34a2 +- Finished up validate_conf() 2001-02-16 20:27:15 +00:00
stskeeps 05362ec33f .. 2001-02-14 22:38:47 +00:00
stskeeps 1f7cb4c186 +- Fixed a problem with +x
+- Made CPATH be unrealircd.conf and init_conf2 use configfile instead
+- Disabled calls to dynconf
+- Added validate_conf, added dynconf checking, me, admin, class, oper
+  testing
+- Added config_progress() Fixed temporary stuff
+  with conf_link
 - Made tld {} get rehashed
2001-02-14 20:51:21 +00:00
codemastr 8247b2cc5f Made tld {} get rehashed 2001-02-14 20:47:47 +00:00
stskeeps e0588102ac +- Fixed temporary stuf with conf_link 2001-02-14 11:34:11 +00:00
stskeeps a3d4c1af6e +- Added /stats P on listener info (oper-only)
+- listener temporary stuff works now
2001-02-14 09:17:31 +00:00
stskeeps 254326670a +- Added some MALLOCD (mini debug malloc by stskeeps..)
+- Removed some C++ comments
+- Made close_listeners work correctly again
+- Removed some old check_* mammut code
+- Fixed a bunch of possible bugs in newconf
+- Added sendto_realops logging of config errors
+- Made /rehash work .. sortof. Fixed some crash bugs
2001-02-13 23:14:27 +00:00
stskeeps 884d79e08a +- Fixed a problem with cptr->class counting for servers 2001-02-06 20:34:18 +00:00
codemastr bc1dc6f2ab Made a bunch of /stats flags work with newconf 2001-02-06 20:29:48 +00:00
stskeeps 80f5de56d8 . 2001-02-06 20:16:30 +00:00
stskeeps 22b891a845 +- Fixed negative timestamps problem (crash) 2001-02-06 19:30:36 +00:00
stskeeps cacd6bf213 +- Fixed check_pings problem (crash) 2001-02-05 05:07:43 +00:00
stskeeps 77653accda . 2001-02-04 22:06:16 +00:00
stskeeps 5237c6748b .. 2001-02-04 19:24:33 +00:00
stskeeps 1effeee7a8 +- Fixed a spread server bug 2001-02-04 17:16:39 +00:00
stskeeps 554fa520a0 +- Fixed a refcount bug 2001-02-04 14:46:39 +00:00
stskeeps 5098716479 . 2001-02-04 14:22:48 +00:00
stskeeps 822885b367 +- Fixed some protocol error in server_synch
+- Made listener code work good ..
+- Made reference counts work again
+- Started some rehash work
+- Made full class work on servers too
2001-02-04 14:20:35 +00:00
stskeeps b263907bd8 +- Classes keep reference counts now, and moving classes (oper) works good
+  too.
+- Added /trace class search results (class->clients)
2001-02-03 19:07:21 +00:00
stskeeps 9a05dd20cb +- ban server {} works the original way it was intended to now 2001-02-03 08:26:24 +00:00
stskeeps 9e216fe7fa +- Fixed a little problem with SERVER servername :info crashing the ircd
+  Long live the Floridan way of counting
2001-02-03 07:32:45 +00:00
stskeeps 8893ac57bc +- Made /sqline /unsqline work again.
+- Made SQLINE synching work with newconf
2001-02-02 23:20:47 +00:00
stskeeps 9e871d56aa +- Made /trace work again properly with class names 2001-02-02 20:27:17 +00:00
stskeeps 1280c7d67e +- Made /kline work again, with newconf 2001-02-02 20:04:41 +00:00
stskeeps 1c631472b6 random crap 2001-02-01 20:58:45 +00:00
stskeeps e4627153f6 +- Made /stats C work and /stats H. Intregrated into one.
+- Made /zline, /unzline work.
+- Added CONF_BAN_TYPE_TEMPORARY
+- Fixed a ban ip {} bug in check_pings
+- Removed some waste of oldconf
+- Moved advanced_check to s_svs.c
2001-02-01 19:32:48 +00:00
stskeeps ce3707734d +- Fixed a check_pings problem with usernames
+- ban ip {} works 100% now
2001-02-01 16:34:24 +00:00
stskeeps 7f7bbd3d21 + FIX: *@* detection
+- Fixed a check_pings problem with usernames
2001-02-01 16:21:00 +00:00
stskeeps 54ae54eb4f +- Made /rakill and /akill work again :). Added banflag.type2 2001-02-01 16:19:44 +00:00
stskeeps 30e0ce476c +- Made /svso work again, moved it to same place as svsnoop. 2001-02-01 14:58:24 +00:00
stskeeps 6a1c7c65e5 +- Made /svsnoop "work" again, moved it to s_svs.c (and made that file too) 2001-02-01 14:48:55 +00:00
stskeeps 76ccc05b2c +- /connect works now :), TODO: D:d lines, V:line needs fixing, badly
+  says "Unknown location" atm on uplink
+- Took out MyMalloc & co, direct to malloc/realloc/free now. Crashed in
+  DEBUGMODE
+- Added ConfigItem_link->ipnum
+- Fixed a compile bug with DEBUGMODE
+- Changed a load of old aConfItem crap .., FIX: ConfigItem_link->options
+- Fixed a /connect bug
2001-02-01 08:05:11 +00:00
stskeeps 4c075f6462 +- Fixed check_pings (check_kills) code, so G:lines & ban nick/ip/realname
+  works again
2001-01-31 14:04:55 +00:00
codemastr 5a1114985c vhosts now use newconf 2001-01-30 21:58:20 +00:00
codemastr 82134302a9 some updconf stuff read changes 2001-01-29 22:50:57 +00:00
stskeeps cf2207747a +- Made allow { maxperip }; work, the old ONE password thing, just better 2001-01-29 20:59:26 +00:00
stskeeps f343bc0ba1 . 2001-01-29 20:40:53 +00:00
stskeeps cbbbce0b01 +- Made allow {} passwords work (AllowClient) - TODO: I:line encryptions 2001-01-29 20:39:38 +00:00
codemastr 903f505103 updconf now makes use of from {} in oper {} to eliminate duplicate O:lines 2001-01-28 22:45:30 +00:00
codemastr b4c84801f5 Added the first (sorta) working version of the config converter 2001-01-28 19:20:01 +00:00
codemastr 384a09aceb Made ban nick {} work 2001-01-28 19:03:38 +00:00
stskeeps 52080301a2 +- Fixed a minor problem with ban {} and oper {} 2001-01-28 18:40:31 +00:00
stskeeps 34c792a5e2 +- Made /oper work with newconf (come get us now bastards!)
+- Made +c show class names in connect
2001-01-28 17:59:46 +00:00
codemastr 581274a4c8 Made /setname and /chgname use ban realname {} 2001-01-28 16:11:32 +00:00
stskeeps bbc3980277 +- Made get_sendq be a macro
+- Added find_ban, AllowClient() (old attach_Iline)
+- Temporary disabled /svsnoop, /akill, /sqline /unsqline, /kline, /unkline
+  /zline, /rakill, /unzline and /svso
+- chkconf is not being built anymore
+- Ripped out s_conf.c with the roots.
+- Ripped out add_listener
+- Disabled a lot of stuff that needs to adapt to conf2
+- Made allow {} work
+- Changed allow {} to do user@host instead of user item
+- Took out my_name_for_link
+- Temporary disabled D:d lines/SQLines/Qlines
+- Fixed some /connect stuff
+- Disabled rehash temporary
+- Made ban user/ban realname work (s_unreal.c needs to be modified)
+- Added Zogg to credits
+- NOTE: Unreal-devel is handicapped right now, code in progress, do not use
2001-01-28 12:10:06 +00:00
codemastr 191d22dd40 various fixes 2001-01-21 23:15:09 +00:00
codemastr 42a9e91f1b Made vhost {} use from {} for hosts 2001-01-21 19:04:36 +00:00
codemastr 8228a15f14 Added set {} (unrealircd.conf/network file replacement) 2001-01-21 18:18:17 +00:00
stskeeps 189ee2de56 +- Recoded m_server(YES!) -stskeeps
+- Fixed a #undef USE_SSL problem found by codemastr.. caused by
+  Sts(TM)coding
2001-01-21 06:31:30 +00:00
stskeeps 2db92a77ad +- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline,
+  removing a lot of my_name_for_link crap, indented s_serv.c
+- Recoded m_server(YES!) -stskeeps
2001-01-20 21:26:54 +00:00
codemastr 1881d7a7c2 chmodes +GcSm affect /part now 2001-01-20 17:10:23 +00:00
codemastr b1306a3040 Updated match() to have some optimizations from bahamut 2001-01-19 21:10:41 +00:00
codemastr 002f47c434 rehash cleanups and other cleanups 2001-01-19 16:35:01 +00:00
stskeeps de14d4f6de +- Fixed bug with /whois showing +S user channels (ChanServ) 2001-01-17 20:59:27 +00:00
codemastr 4affd16dc5 tld {} changes 2001-01-14 18:03:39 +00:00
codemastr 4dd8eb2731 Implimented except socks {} and tld {} 2001-01-14 01:16:39 +00:00
codemastr dfa4d7c325 Removed the old chmode +x = +c and +I = +V support 2001-01-13 17:20:41 +00:00
codemastr a12cf0a9fc SVSMODE/SVS2MODE fixes 2001-01-12 23:16:45 +00:00
codemastr 33ce3ce8a9 +f changes 2001-01-12 22:52:34 +00:00
codemastr 7a0de228fc Fixed a shun bug 2001-01-09 23:26:10 +00:00
stskeeps 50beda9644 . 2001-01-09 19:07:25 +00:00
stskeeps cc4a5273db . 2001-01-09 10:25:34 +00:00
stskeeps 64931ec2cb . 2001-01-07 16:37:46 +00:00
codemastr 30e1580504 Fixed a G:line bug reported by ROXnet 2001-01-06 18:29:10 +00:00
stskeeps 45828bdf33 . 2001-01-06 10:51:30 +00:00
codemastr 9e88d95c35 made drpass be used in place of X:line 2001-01-06 00:55:06 +00:00
codemastr 6a02c2b900 made ulines load from the new config 2001-01-05 23:02:08 +00:00
stskeeps dbddc21399 +- Added listen {} runtime-configuration code work :))
+- Removed unrealircd.conf from stock
2001-01-05 22:37:13 +00:00
codemastr b75e6e6668 Made /admin use the new config 2001-01-05 19:50:22 +00:00
stskeeps 1ecdb3714c . 2001-01-04 22:02:04 +00:00
stskeeps 9c22ba475e +- Merged in sts-laptop branch 2001-01-04 21:54:09 +00:00
stskeeps b4493dae82 *** empty log message *** 2001-01-04 21:42:41 +00:00
codemastr 428a4c5d94 ... 2001-01-03 22:26:54 +00:00
codemastr 8335a9efca cron changes 2000-12-30 18:01:48 +00:00
codemastr 800401f0cc ... 2000-12-30 17:58:32 +00:00
codemastr bc8fe3cda1 ... 2000-12-30 17:57:54 +00:00
codemastr 989d31db7a ... 2000-12-30 17:57:04 +00:00
codemastr 449c223d5d Fixed a serious bug 2000-12-28 02:15:45 +00:00
codemastr 5a46eab842 ... 2000-12-28 01:47:35 +00:00
codemastr 1a59f08f8c Fixed a ircd.tune bug 2000-12-27 22:05:38 +00:00
codemastr 97cc8fe0b3 Fixed a STATS_ONLYOPER bug 2000-12-27 21:48:27 +00:00
stskeeps 02424859a2 . 2000-12-27 18:57:33 +00:00
codemastr 77b43b023f added the except parser 2000-12-27 18:26:21 +00:00
codemastr 697779c545 fixed a chg*/set* and sdesc bug 2000-12-27 15:45:41 +00:00
codemastr b899d5f1f6 ... 2000-12-26 15:49:37 +00:00
stskeeps 19f40d067c +- Added TODO in top of s_conf2.c 2000-12-26 12:59:25 +00:00
stskeeps 95599d4f69 +- Finished _conf_allow 2000-12-26 12:45:12 +00:00
stskeeps 3d42025e70 +- Finished _conf_listen 2000-12-26 12:04:13 +00:00
stskeeps cf209ac0f8 . 2000-12-25 23:43:29 +00:00
stskeeps bfe9ce19f8 +- A report_configuration code (showoff) 2000-12-25 23:07:15 +00:00
stskeeps 021dbadcb2 +- Finished _conf_oper 2000-12-25 22:25:55 +00:00
stskeeps 5e1a7560f4 . 2000-12-25 20:47:53 +00:00
codemastr 14060a44dd Added tld to the config code 2000-12-25 20:40:56 +00:00
stskeeps 8a526e56ef . 2000-12-25 19:59:21 +00:00
stskeeps 5e009543c0 .. 2000-12-25 19:53:32 +00:00
codemastr c521050ad8 made config2 use strerror to report errors rather than the numeric 2000-12-25 19:52:38 +00:00
angel11 61d9748dc0 Fixed s_user.c so umode N and T cannot coexist 2000-12-25 19:43:11 +00:00
stskeeps e9bde25600 +- Removed parser builtin directive include, and replaced it with our own 2000-12-25 18:46:53 +00:00
stskeeps 2a40af2bff . 2000-12-25 16:41:18 +00:00
stskeeps 263eebc9b3 . 2000-12-25 16:34:59 +00:00
stskeeps 3411fb0724 +- Some more config2 code 2000-12-25 10:43:42 +00:00
codemastr 481856ecde added drpass to the config code 2000-12-24 22:15:08 +00:00
stskeeps 8ae2344c43 . 2000-12-24 21:59:50 +00:00
codemastr 4d7e1dc8be ... 2000-12-24 21:53:43 +00:00
stskeeps dfffd4b238 +- Some more newconf code 2000-12-24 21:52:33 +00:00
stskeeps 8837f3540e +- Some more _conf_class code 2000-12-24 18:12:41 +00:00
codemastr d455d37f59 *** empty log message *** 2000-12-24 18:04:11 +00:00
codemastr 7464b80219 /stats changes 2000-12-24 18:00:41 +00:00
codemastr 24318b579f fixed a missing : on numeric 379 2000-12-24 16:52:27 +00:00
stskeeps a99d4497df . 2000-12-24 16:34:12 +00:00
stskeeps 6751ce7349 +- Added some a bit functional _conf_class code 2000-12-24 16:09:28 +00:00
stskeeps 7b44111745 +- Added the next part of the new config parser, and some even more 2000-12-24 15:37:57 +00:00
stskeeps f3c5f6f6c8 +- Added the next part of the new config parser 2000-12-24 13:31:33 +00:00
stskeeps e24f9f0844 +- Added first part of the new config parser, s_conf2.c 2000-12-23 23:21:10 +00:00
stskeeps 2edbe91580 . 2000-12-23 12:57:33 +00:00
stskeeps 9e68fd3ac0 *** empty log message *** 2000-12-23 12:55:46 +00:00
stskeeps dc7eca4b5d + Stskeeps> +j? but yes, there's a bug there 2000-12-21 10:16:52 +00:00
codemastr 749014625a *** empty log message *** 2000-12-20 22:07:49 +00:00
codemastr 313ec95dcd Fixed a bug where you would receive a double notice on /who 0 o 2000-12-20 17:47:02 +00:00
codemastr 4d8e57d51d topci fixes 2000-12-20 17:36:29 +00:00
codemastr 6bc1965492 ... 2000-12-20 17:17:04 +00:00
stskeeps d17cbcc9b5 +- Added in devdev's INSTALL replacement
- Made it so you don't get a +W notice if you /who or /whois yourself reported by Ron885
 - You can no longer specify an *@unrealircd.com/org, or unreal-*@lists.sourceforge.net email
   as your KLINE_ADDRESS (the "Why am I K:lined?" messages got too annoying)
+- Removed some irc.flirt.org references.
2000-12-20 15:18:56 +00:00
codemastr 5ad018cce7 ... 2000-12-19 22:33:33 +00:00
codemastr a69ec1a95b Made it so you don't get a +W notice if you /who or /whois yourself 2000-12-19 22:21:50 +00:00
stskeeps de447b9495 +- Fixed some more points of ->passwd bugs 2000-12-17 20:51:40 +00:00
stskeeps f855bb7dab + m_server_estab, reported and fixed by Kanzen_Greiver 2000-12-17 20:45:36 +00:00
codemastr 65aa3e7a6e Modified rehash flags to use strnicmp rather than match 2000-12-17 18:35:31 +00:00
stskeeps 96bda8f5dc . 2000-12-17 11:58:05 +00:00
codemastr 4429a4ba7e removed a redundant include of time.h 2000-12-15 22:25:32 +00:00
stskeeps 3d0bf74200 +- Fixed permission problem with SSL .pem files (was o+r) 2000-12-15 16:44:23 +00:00
stskeeps 44d7308718 . 2000-12-14 20:41:03 +00:00
stskeeps 9dbfd6251d *** empty log message *** 2000-12-14 17:01:15 +00:00
cvs2hg d46d93cfa5 fixup commit for tag 'unreal3_1_1_stable' 2000-12-14 16:07:33 +00:00
cvs2hg 8350bc861c fixup commit for tag 'unreal3_1_1_darkshades' 2000-12-14 16:07:32 +00:00
stskeeps 4dc498b9fb . 2000-12-14 16:07:31 +00:00
stskeeps 54ba7c7ed2 *** empty log message *** 2000-12-14 16:06:37 +00:00
stskeeps d173324c0d . 2000-12-13 22:15:19 +00:00
stskeeps 799daac44d +[ Unreal4.0 ]
+- Fixed a _serious_ bug in SERVER command, reported by Valen, Forester,
+  M0rpheus and JK.
2000-12-13 22:13:20 +00:00
stskeeps 1cd81ae077 *** empty log message *** 2000-12-13 16:00:04 +00:00
stskeeps 749a4340ca .. 2000-12-13 15:12:45 +00:00
stskeeps 20c0e8d733 *** empty log message *** 2000-12-13 13:12:49 +00:00
stskeeps 4bebd2cb31 *** empty log message *** 2000-12-12 21:44:02 +00:00
codemastr da4333aecf ... 2000-12-12 21:42:03 +00:00
stskeeps c8b1de7cdb . 2000-12-12 21:37:25 +00:00
stskeeps ba924cb7bc +- Made more openssl binary detection using 'which'
+- Added message when trying to join a +z channel
+- New segmentation fault code by Kanzen_Greiver
2000-12-09 15:12:23 +00:00
codemastr 0a58f33c27 fixed a reverse DNS exploit 2000-12-07 21:08:29 +00:00
stskeeps bbaa0b0416 *** empty log message *** 2000-12-05 10:36:00 +00:00
stskeeps d42ae2b5b8 +- Fixed restart bug, reported by RaYmAn 2000-12-03 19:03:38 +00:00
stskeeps b140153d57 +- Some few fixes from CodeM and Barubary:
+  - Fixed /whois to show users for opers when not in the channel.
+  - Fixed /whois to allow only global eyes opers to see user modes.
+  - Fixed /whois to not show idle times of global opers to anyone except
+    another global oper or services.
+  - Fixed /who to show users for opers when not in the channel.
2000-12-03 13:40:11 +00:00
stskeeps cd5548cab8 +- Fixed P:line bug, caused by codemastr(tm) coding, (masskills), reported by
+  sidv@sid-kitty-land.org
2000-12-03 13:13:27 +00:00
stskeeps ceb8171657 +- Fixed a bug in sendto_channel_prefix_tok reported by Strider@ChatCircuit 2000-12-03 11:53:41 +00:00
stskeeps 2d4846bfd6 +- Fixed a chinese nick thing, thanks to miCro and RexHsu
+- Fixed a typo in config.h
2000-12-02 15:36:17 +00:00
stskeeps 25291cc457 +- Fixed a chinese nick thing, thanks to miCro and RexHsu 2000-12-02 15:33:09 +00:00
stskeeps f8a112aa07 +- Fixed a SJOIN bug, i think, thanks to Web 2000-12-02 11:44:57 +00:00
stskeeps 38bcec9991 +[fixes]
+- Fixed a +d bug (it didnt send ` prefixes)
2000-12-02 08:45:12 +00:00
stskeeps 367dfb5d3b . 2000-12-01 22:05:03 +00:00
stskeeps cd69044366 . 2000-12-01 21:10:13 +00:00
stskeeps 5747fda912 . 2000-12-01 20:52:59 +00:00
stskeeps 94927f5a7a . 2000-12-01 19:57:01 +00:00
stskeeps f634ce269b +- SSL error change to sendto_umode(UMODE_JUNK)
+- Fixed a hash error
2000-12-01 19:55:53 +00:00
stskeeps 6fa75f2e9e . 2000-12-01 18:16:34 +00:00
stskeeps 9b14745e47 . 2000-12-01 16:56:03 +00:00
stskeeps 606967c718 +- SSL error change to sendto_umode(UMODE_JUNK) 2000-12-01 16:45:34 +00:00
angel11 3985a7ceed Accidently changed ircd.c =P, fixing 2000-12-01 15:53:52 +00:00
angel11 62cf839f2e Fixed axenet network file 2000-12-01 15:49:04 +00:00
stskeeps f0e2d2cb61 +- Config change in SSL.h detection part 2000-12-01 15:43:28 +00:00
stskeeps 6d64f0b505 + thanks to RexHsu and Aim
+- Fixed up CHINESE_NICK and JAPANESE_NICK, suggested by Aim, see
+  include/config.h
2000-12-01 13:59:05 +00:00
stskeeps d2d806697b +- #define CHINESE_NICK will make you able to use chinese nicks
+  thanks to RexHsu and Aim
2000-12-01 12:13:03 +00:00
stskeeps ae0dcf2bbf +- Fixed compile error found by Headbang 2000-12-01 11:57:35 +00:00
stskeeps cb0cbda5ed +- Changed CONNECTTIMEOUT to 30sec
+- Changed some _more_ credits
2000-12-01 11:49:36 +00:00
stskeeps 5d04afc6c2 +- Added infofield in /stats L for clients/listeners
+- Fixed a blocking socket thing
+- Fixed up /stats L bug
2000-12-01 11:31:23 +00:00
stskeeps 9955724ef9 +- Added infofield in /stats L for clients/listeners 2000-12-01 11:19:11 +00:00
stskeeps 052bcc180d +- Fixed a real bad /whois bug, reported by BiGi
+- Fixed a problem with /sajoin .. atleast possible
2000-12-01 09:49:20 +00:00
stskeeps b791a8eae9 . 2000-12-01 05:36:42 +00:00
stskeeps 143a7b6566 . 2000-12-01 04:45:33 +00:00
stskeeps fc2bf10e3a +- Fixed a real bad /whois bug, reported by BiGi 2000-11-30 18:24:44 +00:00
stskeeps 290495c0ad . 2000-11-30 18:06:31 +00:00
stskeeps 07a6922d5c . 2000-11-30 18:04:43 +00:00
stskeeps 59a23b3ce6 . 2000-11-30 18:03:06 +00:00
stskeeps df07c7f133 . 2000-11-30 18:01:41 +00:00
stskeeps 17932efad0 . 2000-11-30 17:59:09 +00:00
stskeeps 82a657a63e +- Fixed a /whois bug, reported by BiGi 2000-11-30 17:56:53 +00:00
stskeeps 12c9891916 . 2000-11-30 17:53:30 +00:00
stskeeps 9511d161c6 . 2000-11-30 17:08:06 +00:00
stskeeps 1e39df2cb8 . 2000-11-30 16:50:35 +00:00
stskeeps 6cdc422490 *** empty log message *** 2000-11-30 16:49:22 +00:00
stskeeps d6247b9a19 +- Added some credits 2000-11-30 16:45:17 +00:00
stskeeps a896d4f71d +- Added hatblade's files 2000-11-30 16:39:29 +00:00
stskeeps ef7c0d6672 . 2000-11-30 13:31:06 +00:00
stskeeps 7adf05ab64 +- Added SICI information, Donation information, fixed a ./Config problem
+  overwriting certs ..
2000-11-30 13:16:00 +00:00
stskeeps 4eda3e1752 +- Fixed a typo in ssl.c 2000-11-30 11:19:54 +00:00
stskeeps d7a342fed1 +- If a +r user is /who'ed, it shows a "r" in flags field. Suggested by
+  Mirar.
2000-11-30 07:16:41 +00:00
stskeeps 8894015354 +- Fixed overflow in SJOIN
+- Added SMO *, all users
2000-11-29 21:03:41 +00:00
stskeeps 9019f35565 +- Fixed some /whois channels code, which may break +I /whois 2000-11-28 07:19:05 +00:00
codemastr 92cdd762c4 added code to makenet to stop fake submissions 2000-11-26 20:33:43 +00:00
stskeeps 8dce2d175c +- Removed "on network" in /whois oper 2000-11-26 10:31:10 +00:00
codemastr 2b78d45287 fixed a /map bug where U:lines were showed when HIDE_ULINES was set 2000-11-25 20:45:38 +00:00
stskeeps fd6eed4477 . 2000-11-25 13:43:48 +00:00
codemastr 7461b22a16 updated docs 2000-11-24 18:07:30 +00:00
codemastr 0588f18cbb ... 2000-11-24 16:41:59 +00:00
stskeeps b318e6a66a +- Added some network files and even more network files
+- Fixed some copyright stuff in ssl.c
+- Fixed a /map problem
2000-11-24 15:05:18 +00:00
stskeeps 4e26bd1379 . 2000-11-24 06:13:51 +00:00
codemastr dba0d3b7c0 added more network files 2000-11-24 01:24:44 +00:00
codemastr 9159c377de added some network files 2000-11-23 21:08:02 +00:00
stskeeps 4712fe781c +- Added some more support for some even more SJB64 stuff 2000-11-23 19:37:16 +00:00
codemastr d0f4a514d4 added some SJB64 stuff 2000-11-23 19:25:12 +00:00
codemastr 6c59c5b733 removed CRYPTOIRCD 2000-11-23 19:08:02 +00:00
stskeeps 8c96800c80 +- Removed last point of confusion in ALN/NS 2000-11-23 18:52:57 +00:00
stskeeps 7df008ead4 +- Changed some stuff with SSL, you may want to seperate server.pem into
+  server.key.pem and server.cert.pem (or "rm Makefile" and "./Config")
+- Fixed a couple of SJOIN/Link problems detected by Curt|s
2000-11-22 20:38:00 +00:00
codemastr 7b068178a1 fixed a mass G:line bug in /rehash 2000-11-22 19:34:14 +00:00
stskeeps e4a1669632 . 2000-11-22 15:15:47 +00:00
stskeeps bba7e664b6 +- Added so /gline and /shun accepts time periods in 1d2h3s etc. a recode of
+  some potvin stuff
+- Added so blocking is only effective when SSL_connect()'ing
2000-11-22 12:25:28 +00:00
stskeeps 108639b960 +- Fixed cutoff server infos in synch 2000-11-22 07:14:03 +00:00
stskeeps 7a3d7c8b7f +- Added OPT target OPT_SJB64 and OPT_NOT_SJB64
+- Made SSL server<->server work, using __blocking__ sockets (this is only
+  in connect moment thou) -stskeeps
+- Removed 1.0 msg/s when not in HTM
2000-11-21 21:46:19 +00:00
stskeeps 32f0e3f871 *** empty log message *** 2000-11-21 19:39:54 +00:00
stskeeps 678ac0f7cf +- Added SJOIN (SJ3 only) instead of JOIN/MODE in /join and discovered a bug in
+  SJOIN code, that if the line doesnt have a " " appeneded, it wont take the
+  last users or first for that sake. Hopefully patched SJ3 code for it
+- Added OPT target OPT_SJB64 and OPT_NOT_SJB64
2000-11-21 18:42:45 +00:00
stskeeps f6a0415148 +- Fixed-fixed-fixed the U:line branching thing made by codemastr
+- Fixed a G: line-turn-into Z:line problem, reported by eYe-Man
2000-11-21 16:33:58 +00:00
stskeeps 0505a1ff50 +- Removed remapping fds, and did a severe select() speedup, suggested by
+  Demiurgus. Should speed CPU a lot
2000-11-19 22:22:43 +00:00
codemastr 5b515b86b4 updated some messages 2000-11-19 20:37:50 +00:00
stskeeps af8b08775d +- Fixed-fixed-fixed the \r\n bug and removed some useless cpu wasting code 2000-11-19 20:29:43 +00:00
stskeeps ae3936aca5 +- Fixed \r\n bug, hopefully
+- made SSL use same cert client/server
+- Fixed help.c bug reported by Curt|s
+- Different fixes, unreal.tspre.org -> unrealircd.com
2000-11-19 19:45:02 +00:00
stskeeps 3a5e5ee45a +- Fixed the masskill bug, hopefully. Was a delimiter/number array bug in
+  find_server_b64_or_real, causing negative base64 to be accepted (bad).
+  value 1-256 will never be able to be in two letters (a server name)
2000-11-19 18:26:20 +00:00
stskeeps e6b2159245 +- Fixed the "Bad file descriptor" bug in SSL. This bugfix may be a bit risky
+  as it is manipulating BIO fds. The reason openssl freaked at this, was
+  that when a fd is closed, we change fds from 4 to 3 etc, in other words,
+  we renumber fds. SSL didn't know this and if you would call SSL_set_fd it
+  would close the connection/crash. Added SSL_change_fd() to change the FD
+  directly through BIO_set_fd.
2000-11-19 18:05:03 +00:00
codemastr 4639a2b229 Replaced +I with +V in an error message 2000-11-17 00:18:16 +00:00
stskeeps 648677c637 +- Fixed +d (deaf) so it works again
+- Fixed a SJOIN3<->services problem
2000-11-16 09:02:54 +00:00
codemastr 0c9f2aa846 Removed some leftovers from the &channel code (which fixed a minor bug as well) 2000-11-15 23:33:14 +00:00
codemastr ef3397baf6 TODO updated 2000-11-12 22:15:16 +00:00
stskeeps 293125eb84 +- #define STATSWRITING will make ircd write ircd.stats every 4 seconds,
+  idea/sortof by WaveRide
+    Format of ircd.stats:
+       <global users>
+       <global invisible users>
+       <global servers>
+       <irc operators>
+       <unknown connections>
+       <local clients>
+       <local servers>
+       <local max clients>
+       <global max clients>
2000-11-12 17:57:05 +00:00
stskeeps 7e8ecc7dac +- Fixed NO_OPEROVERRIDE bug reported by otherguy 2000-11-12 15:04:33 +00:00
stskeeps 7debfeb86a . 2000-11-10 21:05:54 +00:00
stskeeps 02582580dd +- Added /botserv /bs command, patch by ATHnet.de 2000-11-10 21:01:11 +00:00
drbin 50d67017fc removing accidental commit 2000-11-10 20:37:22 +00:00
stskeeps 5b6dbb1e54 fixes 2000-11-10 14:34:34 +00:00
stskeeps 98c6c668ae . 2000-11-07 14:47:50 +00:00
stskeeps 9dfc0828f9 . 2000-11-07 14:41:38 +00:00
stskeeps 5a93d1a5e9 +- Fixed the masskill bug with replacing "Server Exists" code.. i removed it
+  accidentialy last time
2000-11-07 05:51:14 +00:00
codemastr f97882d2bb fixed some bugs 2000-11-05 20:29:54 +00:00
stskeeps 41e02c72a0 +- Fixed compile error with SSL 2000-11-05 19:36:11 +00:00
stskeeps e64c18860f . 2000-11-05 18:15:55 +00:00
codemastr 6510adeb23 memory clean ups 2000-11-04 19:02:24 +00:00
stskeeps f954969f7d +- Possible fixed a internal server list bug 2000-11-02 17:14:47 +00:00
stskeeps fea8930bb2 +- Autodetects /usr/sbin/openssl now, thanks trinity
+- Fixes a missing : in SJOIN
2000-11-01 06:13:54 +00:00
codemastr d51af6f8b5 tokenized PING and PONG 2000-10-30 21:47:54 +00:00
stskeeps 6d9e619b26 +- Possible fixed some b64 bugs 2000-10-30 15:46:44 +00:00
stskeeps 2fd3104391 . 2000-10-29 18:48:15 +00:00
stskeeps bea668a89f +- Probably fixed the hash bug, again. 2000-10-29 18:19:44 +00:00
codemastr c2de53cf85 Fixed the /list showing only 64 channels bug 2000-10-29 18:02:59 +00:00
stskeeps d0404fd0e8 +- Added TS2ts (supporting the SJB64 stuff), and fixed the !0 timestamp bug 2000-10-29 17:25:08 +00:00
stskeeps 4fb309fbde -- Fixed a wierd channel message bug
+- Fixed a wierd channel message bug ||
+- Fixed a bug where non-NS servers would crash when linking
2000-10-29 16:08:20 +00:00
stskeeps e50d397e93 . 2000-10-29 12:22:19 +00:00
stskeeps 8735a0f6bf . 2000-10-29 12:17:49 +00:00
stskeeps b6e61e1302 +- Fixed bug where duplicate numerics could occur
+- Fixed the hashing bug (thank you ROXnet ...)
2000-10-29 10:57:18 +00:00
stskeeps 2353bd2011 . 2000-10-29 10:40:31 +00:00
stskeeps 56dc3a3e1d . 2000-10-29 09:17:19 +00:00
stskeeps 856282da07 +- Fixed a linking bug (where did that come from) 2000-10-29 08:14:43 +00:00
stskeeps cdea0263ac +- Fixed the /list bug, reported by many people 2000-10-28 22:40:28 +00:00
stskeeps 4400b32055 +- Added some fixes on the SJB64 crashing bug, and added tokenization in
+  channel messsages (yahooooo!)
2000-10-28 20:57:24 +00:00
codemastr 714c97b006 Added chmode +N - no nick changes 2000-10-28 19:04:09 +00:00
codemastr 2c5abc8c2d removed sendto_helpops 2000-10-28 17:07:51 +00:00
stskeeps 00b464154b +- Fixed the SJB64 bugs that misplaced users 2000-10-28 15:42:27 +00:00
codemastr e534e67628 made use of ircsprintf in more places 2000-10-27 22:28:41 +00:00
codemastr 10bc9a408b made IsULine take 1 param 2000-10-27 20:50:58 +00:00
codemastr 8a95221fae various fixes 2000-10-26 22:12:47 +00:00
stskeeps 71bdc5c08d +- Added protoctl SJB64, which adds B64-9 timestamps to many timestamping
+  operations
+- Added ircsprintf %B (base64-9^10) with ! as prefix, and %b (no prefix)
2000-10-26 17:09:35 +00:00
stskeeps 857b3c3a84 +[Unreal3.1.1-Darkshades]
+- Fixed a warning in CENSOR_QUIT
+- Fixed the G:Line user wrongly matching (ip-alike addys didnt check user)
2000-10-26 16:01:32 +00:00
stskeeps 7eb9d0e71a +- Made find_server_b64_or_real be a little faster, possible fixing bug
+- Made /stats s checking check for sanity or insanity (ignore them for 0
+  numerics)
+- Fixed SJOIN (mp2parv) bug, that caused insane desynchs
+- Changed Cannot find server message to be to sendto_realops
+- Fixed a warning in CENSOR_QUIT
2000-10-26 13:50:44 +00:00
stskeeps f4fde73489 . 2000-10-25 18:32:45 +00:00
stskeeps 14bb1968ba Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.258
diff -u -r1.1.1.1.2.1.2.1.2.258 Changes
--- Changes	2000/10/22 17:51:31	1.1.1.1.2.1.2.1.2.258
+++ Changes	2000/10/25 18:26:37
@@ -638,3 +638,5 @@
 - Merged in changes from TEMPcvs branch
 - Fixed a /UNSQLINE para problem, found by Joe
 - #define SHOW_SECRET now allows all ircops to see +s channels in /whois.  If not defined, only net/tech admins can.
+- Added #define CENSOR_QUIT, for WaveRide
+- Fixed hashing bug that caused the server to crash on exit
2000-10-25 18:26:40 +00:00
angel11 ee31dd9fa0 Changed the way +s channels show up in /whois 2000-10-22 17:51:31 +00:00
stskeeps 30be1fa550 +- Fixed a /UNSQLINE para problem, found by Joe 2000-10-22 06:35:50 +00:00
stskeeps aa0ac19e18 +- Changed ./Config to detect SSL better, and generate certificates properly
+- Removed some annoying logging in ssl.c
+- Merged in changes from TEMPcvs branch
2000-10-21 06:56:22 +00:00
stskeeps 8c481239de +- Made SHOWCONNECTNOTICES work properly again, also with SSL 2000-10-07 18:51:36 +00:00
codemastr 8297e30cd4 .. 2000-10-07 18:28:19 +00:00
codemastr 0983f82c08 Added some P:line flags 2000-10-07 18:08:08 +00:00
stskeeps 554f1a0c15 +- Added SSL connections, open ports with P:ip:s:*:port to make them SSL
+  ports, made after hq.alert.sk's implementation
2000-10-07 06:34:33 +00:00
stskeeps e94bf80328 SSL support for UnrealIRCD! 2000-10-07 06:33:42 +00:00
stskeeps 5b3b13772b *** empty log message *** 2000-10-04 18:22:07 +00:00
stskeeps 32122c7018 .. 2000-09-17 15:24:01 +00:00
drbin a1b617b6d0 *** empty log message *** 2000-09-17 15:19:54 +00:00
drbin a46f14412d Fixed Bug in Win32 New DNS system ... bloody pointers and locking 2000-09-17 15:18:05 +00:00
drbin 0f2dd2ef18 NewDNS System 2000-09-17 11:43:36 +00:00
cvs2hg bfb98ee28f fixup commit for tag 'unreal3_1_sf' 2000-09-17 10:11:43 +00:00
stskeeps b0c04f4b43 . 2000-09-17 10:11:42 +00:00
stskeeps 362ec0b08d +- Fixed the passwd NICK problem 2000-09-16 19:39:33 +00:00
stskeeps b3fc0f5d6b +- FIXED "BUG" caused by NEWDNS *shrug* 2000-09-16 18:21:29 +00:00
drbin 40075204f0 NewDNS 2000-09-15 20:42:06 +00:00
drbin 9de62da6f3 NewDNS syetem 2000-09-15 20:32:19 +00:00
drbin 98047de919 New DNS UPDATE 2000-09-15 20:16:11 +00:00
stskeeps 29b4c9c983 +- Possible fixed the SJOIN kick bug (mode +Q), servers can now always kick 2000-09-10 18:08:39 +00:00
stskeeps 5392dd8acf +- Fixed /mode # + bug reported by PhatNet/Mind 2000-09-09 20:34:16 +00:00
codemastr 8f561e9337 added LIST_SHOW_MODES to list chmodes in /list 2000-09-09 19:21:47 +00:00
codemastr 6a356f7e2d fixed -Wall warnings 2000-09-08 21:58:11 +00:00
codemastr 978dd4071e Major changes to the way +I works 2000-09-07 21:10:40 +00:00
angel11 72cd2b5e99 Fixed two files that got screwed up in commit (my bad) 2000-09-04 20:18:25 +00:00
angel11 0fdef4f961 Away msgs no longer in whowas 2000-09-04 20:06:12 +00:00
codemastr 73e45d7537 fixed some +K bugs 2000-09-04 19:39:19 +00:00
stskeeps 493ba9981f +- Modified and fixed the NOTICE bug totally, with some waste of the nospoof
+  system
2000-09-03 18:16:25 +00:00
stskeeps cd4349598d +- Fixed a wierd NOTICE bug 2000-09-03 16:54:16 +00:00
stskeeps 537a91666e +- Fixed some REAL dumb find_server_quick bugs 2000-09-03 16:35:30 +00:00
drbin b6dee3fd9d *** empty log message *** 2000-09-02 21:48:28 +00:00
drbin 6cbcc627cf *** empty log message *** 2000-09-02 21:32:59 +00:00
drbin 2bb36dd76c *** empty log message *** 2000-09-02 20:58:40 +00:00
drbin e486efb289 *** empty log message *** 2000-09-02 20:48:41 +00:00
drbin 5c0151f976 Simple Usage Docs for wircd 2000-09-02 20:39:30 +00:00
drbin c5b7e0c1e7 *** empty log message *** 2000-09-02 20:24:33 +00:00
drbin 88c77ce89e *** empty log message *** 2000-09-02 20:16:31 +00:00
codemastr e85a37b814 removed /users and all utmp calls 2000-09-02 17:37:35 +00:00
codemastr a7ee96c3ce fixed a bug when running the ircd with -h 2000-09-02 16:32:28 +00:00
drbin 377d9554d3 Fixed previous thing again 2000-09-02 16:03:15 +00:00
drbin ea41e25761 fixed "if (sptr->passwd[0])" causing win32 fault 2000-09-02 15:50:07 +00:00
stskeeps f564867259 . 2000-09-02 11:34:35 +00:00
stskeeps 23438196eb Fixed a NOTICE bug 2000-09-02 07:52:18 +00:00
stskeeps 55a0b03f03 . 2000-09-02 07:48:52 +00:00
codemastr e68c66b260 ... 2000-09-01 21:09:21 +00:00
codemastr 7cbbef2e36 Made aClient->passwd dynamically allocated 2000-09-01 20:52:00 +00:00
codemastr ecdce7061b Made cached MOTDs dynamically allocated 2000-09-01 20:13:55 +00:00
codemastr 87ca77c48e made some updates to ./update 2000-09-01 15:49:31 +00:00
codemastr cca7cffb93 Fixed some morew -Wall warnings 2000-09-01 14:28:17 +00:00
codemastr bb4f0e3393 fixed some -Wall warnings, and removed all unused vars 2000-08-31 22:05:34 +00:00
stskeeps d83fb7d37f + - Added WHOIS command (working) to IRCbot-
+- Fixed a fun doublechar token problem (the AA unknown command)
2000-08-26 19:26:02 +00:00
stskeeps c07a9207ca +- Added IRCd bot (raw commands) and the IRC bot, webtv.c 2000-08-26 19:05:09 +00:00
stskeeps 7cde16eac1 +- Added IRCd bot (raw commands) and the IRC bot, webtv.c 2000-08-26 15:52:44 +00:00
stskeeps e03c9bdf42 +- Fixed another SJOIN problem, but not the exact one i was looking for 2000-08-26 14:24:22 +00:00
stskeeps 582e6b9f30 +- Removed SUMMON totally 2000-08-25 19:39:54 +00:00
stskeeps ad8a1bf785 +- More memory cleanups, changed aClient->refcnt to a signed char,
+  aClient->hopcount to unsigned char
+- Changed aChannel->mode.msgs & .per to unsigned short, and changed
+  .kmode to unsigned char
+- Changed aChannel->users to unsigned short (max 65536 users per channel)
+  and FloodOpt->nmsg to an unsigned short
2000-08-25 19:30:41 +00:00
codemastr 3e6f1fce93 more memory cleanups 2000-08-25 19:20:54 +00:00
codemastr 18dde16b11 memory cleanups 2000-08-25 18:40:09 +00:00
stskeeps d3cfcdc6b0 - Removed the ERR_NOTONCHANNEL message in numeric.c =P 2000-08-25 17:52:44 +00:00
stskeeps cccda143b1 Last part of fix 2000-08-25 17:32:24 +00:00
stskeeps 649b5d812e -
+- Fixed the G:line bugs, i hope - moved tkl_sweep into a loopstruct
2000-08-25 17:29:24 +00:00
stskeeps e3339d4003 eek 2000-08-25 16:20:41 +00:00
stskeeps 1786f8f03b same as above 2000-08-25 16:18:57 +00:00
stskeeps c28527ade3 . 2000-08-25 16:18:11 +00:00
stskeeps 90f0809b44 . 2000-08-25 15:41:37 +00:00
stskeeps dc5f3390bc . 2000-08-22 15:40:28 +00:00
stskeeps 25760a38f1 . 2000-08-22 15:40:27 +00:00
stskeeps 18c669cf47 .. 2000-08-22 15:30:56 +00:00
cvs2hg ae21e16beb fixup commit for tag 'unreal3_1_plus' 2000-08-20 11:58:24 +00:00
stskeeps 623f6a44a0 . 2000-08-20 11:58:23 +00:00
stskeeps 4981573f80 +- Fixed /server so it doesnt support SERVER name :info anymore.. 2000-08-20 08:21:46 +00:00
stskeeps cb5de25f7e . 2000-08-20 08:04:39 +00:00
stskeeps ae1a133435 +- Made /kick for opers only be possible for netadmin/techadmin 2000-08-20 08:03:13 +00:00
stskeeps fc1a6c313b +- Fixed ban merging/similar bug in SJOIN 2000-08-19 17:48:58 +00:00
stskeeps 601d97dd93 +- Fixed some problems/typos/notlookingsogood (TM) bugs, in the tkl code 2000-08-19 17:44:44 +00:00
codemastr b69361e947 fixed a typo in /vhost 2000-08-19 17:25:38 +00:00
stskeeps c064f9d5e9 +- Removed INV_TRACK 2000-08-19 15:09:38 +00:00
stskeeps fe866e500b . 2000-08-19 15:06:57 +00:00
stskeeps 0bb293925d +- Made vhost strip too long vhosts 2000-08-19 14:40:42 +00:00
stskeeps fe95cb9a1f + and dynconf, chrestrict 2000-08-19 14:28:23 +00:00
stskeeps cd277778a3 . 2000-08-19 13:59:45 +00:00
stskeeps 7bc10582c5 +- Added some portability stuff 2000-08-19 13:49:35 +00:00
stskeeps b93a3e9e93 Checkmate 2000-08-19 13:36:02 +00:00
stskeeps 06a6b4c07f Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.201
diff -u -r1.1.1.1.2.1.2.1.2.201 Changes
--- Changes	2000/08/18 19:04:02	1.1.1.1.2.1.2.1.2.201
+++ Changes	2000/08/19 10:08:57
@@ -560,3 +560,4 @@
 - Added IRIX support (does it work?)
 - Fixed crypter so it actually functions (Makefile now sets mode 700) and
   it encrypts X and N lines too.
+- Fixed empty mode sends in register_user, reported by Bagge
2000-08-19 10:08:58 +00:00
angel11 34b46855a2 Fixed crypter 2000-08-18 19:04:02 +00:00
codemastr 65393c21ca *** empty log message *** 2000-08-18 16:44:35 +00:00
codemastr 0c9fd1139c added IRIX support (does it work?) 2000-08-18 16:44:06 +00:00
codemastr d5da9ddb9e fixed a +h bug 2000-08-18 16:14:24 +00:00
stskeeps 70873bcf00 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.197
diff -u -r1.1.1.1.2.1.2.1.2.197 Changes
--- Changes	2000/08/17 19:27:59	1.1.1.1.2.1.2.1.2.197
+++ Changes	2000/08/18 16:02:24
@@ -555,3 +555,4 @@
   badwords :P, does not work in channels
 - Removed the old GLINE system, TKL is now standard.
 - Added INV_TRACK define, we want people testing this.
+- Fixed the -1 usercount bug, found by codemastr, fixed by Stskeeps
2000-08-18 16:02:25 +00:00
stskeeps a3ec5a5fb8 +- Removed the old GLINE system, TKL is now standard.
+- Added INV_TRACK define, we want people testing this.
2000-08-17 19:28:00 +00:00
stskeeps c0f596fbb7 + badwords :P, does not work in channels
+- Removed the old GLINE system, TKL is now standard.
\ No newline at end of file
2000-08-16 16:51:55 +00:00
stskeeps 4ae6cd2bf4 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.194
diff -u -r1.1.1.1.2.1.2.1.2.194 Changes
--- Changes	2000/08/13 19:03:33	1.1.1.1.2.1.2.1.2.194
+++ Changes	2000/08/15 19:42:31
@@ -550,3 +550,6 @@
 - Fixed a bug with mkpasswd on OpenBSD
 - Added desynch +e warning, and updated ./update enough ...
 - Updated update to work better, and that you can use lynx instead of wget
+- Added #undef SHUN_NOTICES, to add notices for users who are shunned
+- Fixed bug with U:Lines should be able to privmsg/notice and recieve
+  badwords :P, does not work in channels
\ No newline at end of file
2000-08-15 19:42:32 +00:00
codemastr 242d9ab45d ... 2000-08-14 18:47:12 +00:00
stskeeps a4d4b20b2c Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.193
diff -u -r1.1.1.1.2.1.2.1.2.193 Changes
--- Changes	2000/08/13 17:28:30	1.1.1.1.2.1.2.1.2.193
+++ Changes	2000/08/13 19:03:33
@@ -548,4 +548,5 @@
   problem
 - Hopefully fixed the +x problem
 - Fixed a bug with mkpasswd on OpenBSD
-- Added desynch +e warning, and updated ./update enough ...
\ No newline at end of file
+- Added desynch +e warning, and updated ./update enough ...
+- Updated update to work better, and that you can use lynx instead of wget
2000-08-13 19:03:33 +00:00
stskeeps d42135097a . 2000-08-13 18:34:04 +00:00
stskeeps 9c4d0c511a . 2000-08-13 17:28:30 +00:00
stskeeps 85790c8442 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.191
diff -u -r1.1.1.1.2.1.2.1.2.191 Changes
--- Changes	2000/08/13 16:09:57	1.1.1.1.2.1.2.1.2.191
+++ Changes	2000/08/13 17:24:47
@@ -548,3 +548,4 @@
   problem
 - Hopefully fixed the +x problem
 - Fixed a bug with mkpasswd on OpenBSD
+- Added desynch +e warning, and updated ./update enough ..
\ No newline at end of file
2000-08-13 17:24:48 +00:00
codemastr c0c478112f Fixed a bug with mkpasswd on OpenBSD 2000-08-13 16:09:58 +00:00
cvs2hg 5406e9fa99 fixup commit for tag 'unreal3_1_fixpack1' 2000-08-13 15:29:15 +00:00
stskeeps 030b9c8291 cvs diff -u Changes 2000-08-13 15:29:14 +00:00
stskeeps 4493453545 . 2000-08-13 15:03:06 +00:00
stskeeps df0a433709 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.187
diff -u -r1.1.1.1.2.1.2.1.2.187 Changes
--- Changes	2000/08/11 19:31:50	1.1.1.1.2.1.2.1.2.187
+++ Changes	2000/08/13 14:39:47
@@ -543,3 +543,4 @@
 - Added Dianora's /userhost
 - Recoded /links using NS
 - Recoded /map a bit using NS, and added usercounts to Server struct
+- Some crazy time_t -> TS stuff, will save us some time in 2038
2000-08-13 14:39:49 +00:00
stskeeps 6c3bbf0009 *** empty log message *** 2000-08-11 19:34:45 +00:00
stskeeps bf7a3d3133 +- Recoded /map a bit using NS, and added usercounts to Server struct 2000-08-11 19:31:51 +00:00
stskeeps fb602a74e4 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.185
diff -u -r1.1.1.1.2.1.2.1.2.185 Changes
--- Changes	2000/08/11 18:01:14	1.1.1.1.2.1.2.1.2.185
+++ Changes	2000/08/11 18:34:57
@@ -541,3 +541,4 @@
 - Fixed a STRIPBADWORDS bug
 - Fixed a BotMOTD bug
 - Added Dianora's /userhost
+- Recoded /links using NS
2000-08-11 18:34:58 +00:00
stskeeps 040d480e99 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.184
diff -u -r1.1.1.1.2.1.2.1.2.184 Changes
--- Changes	2000/08/08 22:29:15	1.1.1.1.2.1.2.1.2.184
+++ Changes	2000/08/11 18:01:13
@@ -540,3 +540,4 @@
 - Fixed a PART bug
 - Fixed a STRIPBADWORDS bug
 - Fixed a BotMOTD bug
+- Added Dianora's /userhost
2000-08-11 18:01:15 +00:00
codemastr c90d13174d fixed a botmotd bug 2000-08-08 22:29:16 +00:00
codemastr 97e41a7e42 various fixes 2000-08-08 17:22:36 +00:00
stskeeps 7b6582bdcc . 2000-08-08 04:48:46 +00:00
stskeeps 5fde2907f5 *** empty log message *** 2000-08-07 17:48:06 +00:00
cvs2hg 71ce47a71b fixup commit for tag 'unreal3_1_final' 2000-08-07 17:21:49 +00:00
cvs2hg 98b483ee88 fixup commit for tag 'unreal3_1' 2000-08-07 17:21:48 +00:00
stskeeps 4ee74b07e3 *** empty log message *** 2000-08-07 17:21:47 +00:00
stskeeps d33f4a8120 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.179
diff -u -r1.1.1.1.2.1.2.1.2.179 Changes
--- Changes	2000/08/07 16:16:14	1.1.1.1.2.1.2.1.2.179
+++ Changes	2000/08/07 16:56:17
@@ -530,3 +530,4 @@
   Config, and all the things we want them to read/do to compile the IRCd
 - Updated PREFIX Client Protoctl
 - Added ^MrMike^'s command list, this one will be updated
+- Removed ID_CVS, hopefully fixing some bastard stuff
2000-08-07 16:56:31 +00:00
stskeeps b7920658e4 *** empty log message *** 2000-08-07 16:16:58 +00:00
stskeeps 135b4d9d87 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.178
diff -u -r1.1.1.1.2.1.2.1.2.178 Changes
--- Changes	2000/08/07 16:08:24	1.1.1.1.2.1.2.1.2.178
+++ Changes	2000/08/07 16:16:14
@@ -529,3 +529,4 @@
 - Added script ./Setup which makes the user forced through Unreal.nfo, FAQ,
   Config, and all the things we want them to read/do to compile the IRCd
 - Updated PREFIX Client Protoctl
+- Added ^MrMike^'s command list, this one will be updated
2000-08-07 16:16:15 +00:00
codemastr 8af8d17d52 fixed PREFIX= 2000-08-07 16:08:24 +00:00
stskeeps d11a065d37 *** empty log message *** 2000-08-07 16:05:37 +00:00
stskeeps 771dee3a5f *** empty log message *** 2000-08-07 15:50:44 +00:00
stskeeps ea519e2a6d . 2000-08-07 15:12:10 +00:00
stskeeps 9ddffa08ea *** empty log message *** 2000-08-07 15:11:11 +00:00
stskeeps 1e7c36aac0 +- Added script ./Setup which makes the user forced through Unreal.nfo, FAQ,
+  Config, and all the things we want them to read/do to compile the IRCd
2000-08-07 15:09:06 +00:00
stskeeps 3de653cbf2 . 2000-08-07 15:03:10 +00:00
stskeeps 4a08c9ba70 *** empty log message *** 2000-08-07 14:52:24 +00:00
stskeeps b750382333 . 2000-08-07 12:49:22 +00:00
stskeeps 98eb86460b . 2000-08-06 15:22:44 +00:00
stskeeps 3026350806 +- Made find_server_quick a prototype, and made some work more quicker as
+  well
2000-08-06 13:29:46 +00:00
stskeeps da3100e642 +- Changed some find_server(name, NULL) to find_server_quick to speed up
+  lookup of servers
2000-08-06 13:21:52 +00:00
stskeeps 6c1cefed98 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.171
diff -u -r1.1.1.1.2.1.2.1.2.171 Changes
--- Changes	2000/08/06 08:25:18	1.1.1.1.2.1.2.1.2.171
+++ Changes	2000/08/06 13:01:54
@@ -518,3 +518,5 @@
 - Updated ./ircd to also say to look at ircd.log
 - Fixed a SQLINE synch bug
 - Added command line option -F to prevent the ircd to fork out
+- Fixed the f*cken TKL bug
+- Fixed a netsplit bug
2000-08-06 13:01:56 +00:00
stskeeps 6f7b608fac Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.170
diff -u -r1.1.1.1.2.1.2.1.2.170 Changes
--- Changes	2000/08/06 08:06:36	1.1.1.1.2.1.2.1.2.170
+++ Changes	2000/08/06 08:24:08
@@ -517,3 +517,4 @@
   the ircd logs it to ircd.log and dies
 - Updated ./ircd to also say to look at ircd.log
 - Fixed a SQLINE synch bug
+- Added command line option -F to prevent the ircd to fork out
2000-08-06 08:25:18 +00:00
stskeeps 081d14d3e9 +- Fixed a SQLINE synch bug 2000-08-06 08:06:37 +00:00
codemastr 1b47753c0f made a check to see if the server name has a . in it if not, die 2000-08-04 20:16:12 +00:00
codemastr 1ebe25c025 made /knock without a reason work and some /knock clean ups 2000-08-04 19:32:00 +00:00
stskeeps 13790b01e3 *** empty log message *** 2000-08-04 12:14:24 +00:00
stskeeps 004f9222a1 *** empty log message *** 2000-08-03 11:07:46 +00:00
stskeeps c3e053033c +- Fixed a SJ3 bug with ban syncing to SJ2 servers 2000-08-03 10:56:02 +00:00
angel11 5561c155de Opers now see +s channels in /whois 2000-08-02 20:32:07 +00:00
codemastr 33c6e5c93b /chghost bug fix 2000-08-02 18:52:10 +00:00
stskeeps b7ee74ec97 +- Disabled anything with time in /list options temporary, causes bugs 2000-08-02 17:45:14 +00:00
codemastr 58f7ef9ca8 fixed a little typo in umode 2000-08-02 17:37:32 +00:00
codemastr 7f96ccb01e more +u fixes 2000-08-02 17:27:09 +00:00
codemastr 7666ceab87 fixed the ulimit core size failed bug 2000-08-02 17:11:39 +00:00
stskeeps e7c69eca78 +- Possible fixed the lopts bug (which i didnt))
+- Fixed a egcs problem in Config, the strtok bug
2000-08-02 15:59:03 +00:00
stskeeps d69bcc41fa *** empty log message *** 2000-08-02 15:46:15 +00:00
stskeeps 4d616cf680 +- Fixed the +lL (+Ll) bug, will first be fixed 100% when all is 3.1 2000-08-02 15:11:11 +00:00
stskeeps dc1eb8bddf Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.156
diff -u -r1.1.1.1.2.1.2.1.2.156 Changes
--- Changes	2000/08/01 17:27:52	1.1.1.1.2.1.2.1.2.156
+++ Changes	2000/08/02 14:55:29
@@ -496,3 +496,5 @@
 - Added sendto_chanops_butone because of codemastr's laziness
 - Fixed a few +u bugs
 - Fixed a +I bug (yes another one)
+- Changed channel.c so that when an opped non +q/+a Oper kicks a user who
+  is +q/+a it invokes an OperKick (patch by llthangel)
2000-08-02 14:55:33 +00:00
codemastr c9e4ba4c98 fixed a few +u bugs and a +I bug 2000-08-01 17:27:53 +00:00
stskeeps c1c1aa2909 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.154
diff -u -r1.1.1.1.2.1.2.1.2.154 Changes
--- Changes	2000/08/01 16:30:15	1.1.1.1.2.1.2.1.2.154
+++ Changes	2000/08/01 16:34:06
@@ -493,3 +493,4 @@
 - Fixed SVS2MODE bug with illegal modes
 - Fixed /notice @%+ bug, where it didnt work at all
 - Fixed a small chmode +u bug
+- Added sendto_chanops_butone because of codemastr's laziness
2000-08-01 16:34:07 +00:00
codemastr 6f9606b331 fixed a small +u bug 2000-08-01 16:30:16 +00:00
stskeeps 345f51b684 -- Fixed SVS2MODE bug with illegal modes
\ No newline at end of file
+(rc2)
+- Fixed SVS2MODE bug with illegal modes
+- Fixed /notice @%+ bug, where it didnt work at all
2000-08-01 16:11:28 +00:00
stskeeps d885489c48 +- Fixed SVS2MODE bug with illegal modes
\ No newline at end of file
2000-08-01 15:54:53 +00:00
cvs2hg 4659dab89c fixup commit for tag 'unreal3_1_rc2' 2000-08-01 10:10:27 +00:00
stskeeps 760dc8dab8 .CVS: ---------------------------------------------------------------------- 2000-08-01 10:10:26 +00:00
stskeeps 5133d62d3c +- Changed channel.c so when you kick someone as halfop it doesn't show as an
+  OperKick (unless you kick an op) (reported by ^Fanta, patch by llthangel)
2000-08-01 06:11:39 +00:00
stskeeps eded88dd61 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.149
diff -u -r1.1.1.1.2.1.2.1.2.149 Changes
--- Changes	2000/07/29 13:34:20	1.1.1.1.2.1.2.1.2.149
+++ Changes	2000/07/31 18:13:34
@@ -486,3 +486,4 @@
 - Fixed a problem in SVS2MODE not displaying mode changes, and well known
   why
 - Recoded SVSNOOP, but the IRCd doesn't get it at all??
+- added llthangel to credits
2000-07-31 18:13:35 +00:00
stskeeps bfb2ce7bce . 2000-07-29 18:10:48 +00:00
stskeeps 6854c9a063 *** empty log message *** 2000-07-29 13:42:37 +00:00
stskeeps 25077eadc1 +- Recoded SVSNOOP, but the IRCd doesn't get it at all?? 2000-07-29 13:34:21 +00:00
stskeeps 3f41561390 +- Introduced NS in SQLINE..
+- Fixed a problem in SVS2MODE not displaying mode changes, and well known
+  why
2000-07-29 13:02:31 +00:00
stskeeps e1499ca0ed +- Introduced NS in SQLINE.. 2000-07-29 12:37:28 +00:00
stskeeps b61f000488 +- Fixed a problem in synch using acptr->name as info line 2000-07-29 12:16:25 +00:00
stskeeps 3ae66ae4e0 +- NS introduction in sendto_serv_butone_token
+- Fixed Q:lined nick NickServ from <unregistered> on Nickname Server message
2000-07-29 11:36:43 +00:00
stskeeps 51a5fa808e *** empty log message *** 2000-07-29 08:27:21 +00:00
stskeeps 236f8ed033 +- NS introduction in sendto_serv_butone_token 2000-07-29 08:08:46 +00:00
codemastr a977359d9f fixed a _small_ memory over use 2000-07-28 20:02:52 +00:00
stskeeps 6426522201 +- Removed UPING UDP socket. Only resfd opens a udp fd now 2000-07-28 19:25:30 +00:00
stskeeps 47ddee28a4 +- Changed find_server_quick to work with masks too .. 2000-07-28 19:19:21 +00:00
stskeeps 249edda423 +- Added llthangel's whoisfix.patch, Makes sure +hv users show up as
+  %#channel instead of +#channel. Bug report by ^Fanta.
2000-07-28 19:10:26 +00:00
stskeeps bde554aaf9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.138
diff -u -r1.1.1.1.2.1.2.1.2.138 Changes
--- Changes	2000/07/26 10:46:10	1.1.1.1.2.1.2.1.2.138
+++ Changes	2000/07/28 18:57:30
@@ -472,5 +472,5 @@
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
 - Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
-- NS part 1
-- SJ3 fixes
+- SJ3 fixes, loop fix
+- Added NS, new generation ALN.
2000-07-28 18:57:41 +00:00
stskeeps 9ec9cba9d9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.137
diff -u -r1.1.1.1.2.1.2.1.2.137 Changes
--- Changes	2000/07/25 15:37:52	1.1.1.1.2.1.2.1.2.137
+++ Changes	2000/07/26 10:46:07
@@ -472,4 +472,5 @@
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
 - Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
-- NS part 1
\ No newline at end of file
+- NS part 1
+- SJ3 fixes
2000-07-26 10:46:10 +00:00
stskeeps f046832f10 Indentation. 2000-07-25 17:43:58 +00:00
stskeeps a055d59f9c indentiation 2000-07-25 15:41:55 +00:00
stskeeps a41b0b5bbb . 2000-07-25 15:37:54 +00:00
stskeeps bf7aad741d . 2000-07-25 14:12:42 +00:00
stskeeps cb74571261 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.135
diff -u -r1.1.1.1.2.1.2.1.2.135 Changes
--- Changes	2000/07/24 21:41:30	1.1.1.1.2.1.2.1.2.135
+++ Changes	2000/07/25 09:35:40
@@ -471,3 +471,4 @@
 - Removed a SJ3 debug msg
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
+- Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
2000-07-25 09:35:43 +00:00
stskeeps 993180689a Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.134
diff -u -r1.1.1.1.2.1.2.1.2.134 Changes
--- Changes	2000/07/24 19:33:42	1.1.1.1.2.1.2.1.2.134
+++ Changes	2000/07/24 21:41:27
@@ -470,3 +470,4 @@
 - Added base64 encoding instead, for ALN v2 (NS)
 - Removed a SJ3 debug msg
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
+- Changed to ircu/hybrid6/unreal mix of numeric 005
2000-07-24 21:41:33 +00:00
codemastr aecec0e171 . 2000-07-24 20:07:01 +00:00
stskeeps 52a5b1b038 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.133
diff -u -r1.1.1.1.2.1.2.1.2.133 Changes
--- Changes	2000/07/24 19:16:10	1.1.1.1.2.1.2.1.2.133
+++ Changes	2000/07/24 19:33:40
@@ -469,3 +469,4 @@
 - Removed ALN, and the ALN system.
 - Added base64 encoding instead, for ALN v2 (NS)
 - Removed a SJ3 debug msg
+- Removed SVSMODE +l support, and fixed servicestamp and +d support
2000-07-24 19:33:43 +00:00
stskeeps 9b181f575f Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.132
diff -u -r1.1.1.1.2.1.2.1.2.132 Changes
--- Changes	2000/07/24 18:58:13	1.1.1.1.2.1.2.1.2.132
+++ Changes	2000/07/24 19:16:08
@@ -468,3 +468,4 @@
 - Added /infoserv (you can stop bugging us now skold ;P)
 - Removed ALN, and the ALN system.
 - Added base64 encoding instead, for ALN v2 (NS)
+- Removed a SJ3 debug msg
2000-07-24 19:16:10 +00:00
stskeeps 7a9cade496 @@ -466,3 +466,5 @@
- SJ3 fixes. Let's hope this works (f*cken hell..)
 - Fixed a V:line bug
 - Added /infoserv (you can stop bugging us now skold ;P)
+- Removed ALN, and the ALN system.
+- Added base64 encoding instead, for ALN v2 (NS)
2000-07-24 18:58:18 +00:00
codemastr 009e5353e7 added /infoserv 2000-07-23 18:34:14 +00:00
stskeeps 2988283c76 . 2000-07-22 18:28:42 +00:00
stskeeps 7f3125a0e2 . 2000-07-22 17:31:22 +00:00
codemastr 07353dcf4b Fixed a V:line bug 2000-07-22 16:14:32 +00:00
stskeeps 110e114d90 +- SJ3 fixes. Let's hope this works (f*cken hell..) 2000-07-21 18:50:15 +00:00
stskeeps 8abce466d6 SJ3 fix 2000-07-17 21:06:16 +00:00
codemastr 6054bfabd2 fixed a +L bug and Config typo 2000-07-17 16:45:04 +00:00
stskeeps b1416fc0c0 . 2000-07-17 15:20:58 +00:00
stskeeps 160d1600a6 . 2000-07-17 10:11:26 +00:00
stskeeps 0ba15e3965 *** empty log message *** 2000-07-17 07:31:05 +00:00
stskeeps 5fe68141ad +- Fixed the pesky hostname bug 2000-07-17 07:04:03 +00:00
stskeeps df0815f9bd . 2000-07-16 20:32:39 +00:00
stskeeps 10ad7e34f5 . 2000-07-16 19:42:09 +00:00
stskeeps fcfb9aa3d2 . 2000-07-16 19:01:28 +00:00
codemastr b47a9f53cc added networks/shatstation.network 2000-07-16 19:00:25 +00:00
stskeeps 8617d1ba4c . 2000-07-16 18:55:11 +00:00
codemastr 9bccd6046d added networks/linuxsquare.network 2000-07-16 18:54:23 +00:00
stskeeps 1c8ea8df8c . 2000-07-16 18:49:03 +00:00
stskeeps 3f4174bb96 FUckeup stuff etc, but lets hope it works 2000-07-16 18:48:00 +00:00
codemastr d1839df783 fixed a +I bug 2000-07-16 16:58:17 +00:00
stskeeps 9390a647ed . 2000-07-16 13:39:18 +00:00
stskeeps 3856856120 . 2000-07-16 13:29:08 +00:00
stskeeps 587defb54e .
kd
2000-07-16 13:11:01 +00:00
stskeeps 047a43253c .
k
2000-07-16 13:07:18 +00:00
stskeeps f1c9feb8f7 . 2000-07-16 12:31:56 +00:00
stskeeps 81ce6d38a2 .
kxkx
2000-07-16 11:15:33 +00:00
stskeeps b57669903d .kd 2000-07-16 11:02:59 +00:00
stskeeps 0a7b6dfc3a .
k
: ----------------------------------------------------------------------
2000-07-16 10:31:38 +00:00
stskeeps 56663f23e1 . 2000-07-16 10:25:53 +00:00
stskeeps 0af5d85de7 . 2000-07-16 10:22:12 +00:00
stskeeps 5e9f767c86 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.116
diff -u -r1.1.1.1.2.1.2.1.2.116 Changes
--- Changes	2000/07/16 10:07:14	1.1.1.1.2.1.2.1.2.116
+++ Changes	2000/07/16 10:17:26
@@ -449,8 +449,5 @@
 - Made it so you can remove a protoctl by putting a - in front
 - Fixed a bug in summon
 - Added protection against webproxies
-- SJ3 part 2/3 and a VL fix
-- Indentation and more SJ3 fixes
 - Fixed TKL?
-- 3/4 SJ3 fix
-- Last part SJ3
+- Added SJ3, removed the old
2000-07-16 10:17:32 +00:00
stskeeps 515945254c fixed synching 2000-07-16 10:13:01 +00:00
stskeeps 9d966aa4d0 +- Last part SJ3 2000-07-16 10:07:14 +00:00
stskeeps bf26a46b15 . 2000-07-16 08:59:02 +00:00
stskeeps 6124a68fde +- 3/4 SJ3 fix 2000-07-16 08:58:48 +00:00
codemastr 65118165d6 Fixed the TKL bug? 2000-07-15 23:56:57 +00:00
stskeeps 2e461cba19 +- Indentation and more SJ3 fixes 2000-07-14 20:22:59 +00:00
stskeeps b89bcd31d9 +- SJ3 part 2/3 and a VL fix 2000-07-14 14:47:40 +00:00
codemastr a78d71ee8b *** empty log message *** 2000-07-09 18:47:25 +00:00
stskeeps 9e7138ace5 +- Added protection against webproxies 2000-07-09 18:44:33 +00:00
codemastr 50a94daec7 fixed a bug in summon 2000-07-09 18:13:53 +00:00
codemastr 401c3918af added ability to remove a protoctl flag 2000-07-07 19:36:12 +00:00
stskeeps eb842353cc +- Tokenized nick->nick PRIVMSG and NOTICE
\ No newline at end of file
2000-07-07 12:14:51 +00:00
stskeeps 6c67a4a6b1 +- Fixed some host revealing nick collision stuff 2000-07-07 09:35:35 +00:00
codemastr 3a385f679b added networks/staticedge.network 2000-07-06 18:11:16 +00:00
codemastr 30b6a30fc5 added networks/makenet 2000-07-06 18:05:03 +00:00
stskeeps 6dd738d91c - Fixed a /rehash -garbage bug reported by Curt|s 2000-07-06 17:13:45 +00:00
stskeeps 61b2e99257 - Added a #define capability to config.h (DISABLE_USERMOD),
disables /sethost, /setident, /chgname, /chghost, /chgident
2000-07-06 08:10:20 +00:00
stskeeps 84d8b082c2 +- Added regex portablity and checks in Config 2000-07-05 22:20:41 +00:00
stskeeps fc26ef3e44 +- Fixed a msg.h location problem ..
+- Added secure connections and openssl tracing to Config
2000-07-05 16:55:14 +00:00
stskeeps 32eaeaaf36 +- Fixed a msg.h location problem ..
\ No newline at end of file
2000-07-05 16:25:39 +00:00
stskeeps 8de5089b84 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.97
diff -u -r1.1.1.1.2.1.2.1.2.97 Changes
--- Changes	2000/07/05 15:11:43	1.1.1.1.2.1.2.1.2.97
+++ Changes	2000/07/05 16:25:14
@@ -436,3 +436,4 @@
 - Added VHP protoctl, (not in use in the synch). This makes virthost field
   in NICKv2 use the real virthost even if its +t. (Thanks to SL7)
 - Added support for the CR Java Chat auto join feature
+- Fixed a msg.h location problem ..
\ No newline at end of file
2000-07-05 16:25:19 +00:00
codemastr 3d7b0b6a0b added support for the CR Java Chat autojoin feature 2000-07-05 15:11:43 +00:00
stskeeps 04e9baae17 - Removed any trace of MD5, we use random() for nospoof now, this fixed a
license problem too
- Removed NOSPOOF_SEED01 and 02
- Added VHP protoctl, (not in use in the synch). This makes virthost field
  in NICKv2 use the real virthost even if its +t. (Thanks to SL7)
2000-07-05 13:05:34 +00:00
stskeeps 8a93ea7376 +- Fixed a sendto_serv_butone_token problem 2000-07-04 18:21:41 +00:00
stskeeps fa2a2c2234 - Added doc/crypto.doc describing the encrypted irc protocol 2000-07-04 11:25:37 +00:00
stskeeps 36154d7b10 - Added so stuff like Lost connection to, (report_error) only goes to realops
- Added some more descriptive error messages
2000-07-03 19:25:07 +00:00
stskeeps 5fcadbef9b .
k
2000-07-03 17:25:51 +00:00
codemastr ce9e5c4c84 Added OpenBSD 2.x support 2000-07-02 19:53:31 +00:00
codemastr d6fe0776a2 Fully added V:lines 2000-07-02 00:41:12 +00:00
stskeeps d5fd9a6ce9 +- Fixed some aligning in the VL PROTOCTL
+- Fixed some fucked up passwd stuff again ..
2000-07-01 12:59:00 +00:00
stskeeps 32fc008943 +- Fixed some aligning in the VL PROTOCTL 2000-07-01 10:50:56 +00:00
stskeeps 78545d38dc +- Fixed a crash problem on /quit or /squit 2000-06-30 20:51:03 +00:00
stskeeps 620c7e403d +- Fixed so that in +c it shows if a user is connected securely
+- Backported the passwd stuff, not needed.
2000-06-30 20:28:00 +00:00
codemastr 8ba0a10294 some V:line stuff 2000-06-30 16:33:03 +00:00
codemastr 8b0a1de92f added fclose() calls to vhost, dccdeny, and chrestrict confs 2000-06-29 18:18:37 +00:00
stskeeps b776a4d148 +- Fixed a ->passwd bug caused by codemastr.. 2000-06-29 12:23:26 +00:00
stskeeps a0dcb79a3a +- Added some more crypto stuff
+    - /crypto <algoritm> <keyfile laying in keys/> <parameters>
2000-06-28 20:54:49 +00:00
stskeeps 63e1fa2418 . 2000-06-28 19:45:39 +00:00
stskeeps f2d364aa8a +- Fixed crypto stuff 100% :)) 2000-06-28 19:37:17 +00:00
codemastr 9eeb7a2fc4 made K:line and n:line checking faster 2000-06-28 19:23:17 +00:00
codemastr 7144188368 made a major is_banned speed up 2000-06-28 17:11:55 +00:00
codemastr 2525edca20 removed list_channels 2000-06-28 16:56:21 +00:00
codemastr 279842d017 now can request topic without being a member, and removed topic , support 2000-06-28 16:15:58 +00:00
stskeeps 62323727a8 . 2000-06-27 20:22:33 +00:00
codemastr 645a04aec3 added option to encrypt restart/die passwords 2000-06-27 16:26:05 +00:00
codemastr b8f0063629 added encrypted I:line support 2000-06-27 15:45:41 +00:00
stskeeps 07104d2d7d . 2000-06-27 15:42:38 +00:00
stskeeps 68aba326e1 . 2000-06-27 13:22:57 +00:00
stskeeps 9b0f6b2a9c +- Some more crypto stuff, will work on the new engine tommorow 2000-06-26 21:41:00 +00:00
codemastr 384b7357cd fixed a typo in /stats z 2000-06-25 16:37:41 +00:00
stskeeps 4c039afe84 +- Added Blowfish encryption ability (SetSecure()), will extend to more
+  better encryption
Requires OpenSSL/blowfish
2000-06-25 14:35:24 +00:00
stskeeps 4e96e013ac +- Removed some odd Clone stuff(?) 2000-06-25 08:39:50 +00:00
stskeeps 62fe14251b +- Broken INETD support removed 2000-06-24 21:04:26 +00:00
stskeeps f7acfa8736 . 2000-06-24 20:57:30 +00:00
stskeeps 0a5bb85f2c - Removed IsService() 2000-06-24 20:45:48 +00:00
codemastr 0423078b67 *** empty log message *** 2000-06-24 18:54:11 +00:00
stskeeps 1e250927a2 - Fixed /setname desynch 2000-06-24 18:33:46 +00:00
codemastr 711ffb5c62 ... 2000-06-24 18:29:56 +00:00
stskeeps 2265903961 - Fixed last R_LINE stuff (check_time_interval) 2000-06-24 18:20:58 +00:00
codemastr 65cdea5cfe redid s_err.c to be faster (based on bahamut) 2000-06-24 18:14:26 +00:00
codemastr e3234d5671 *** empty log message *** 2000-06-24 15:19:36 +00:00
codemastr 4dd196bbc6 made /msg irc always work, cleanups, made it so all servers behind a U:lined server are U:lined 2000-06-23 21:32:25 +00:00
codemastr 0b85e10148 added networks/seveneagle.network 2000-06-23 18:37:52 +00:00
codemastr a35dd03e50 *** empty log message *** 2000-06-23 18:30:03 +00:00
stskeeps 4a1cded0fd - Made IRCII_KLUDGE disappear :P
- Fixed SENDQ_ALWAYS to be mainstream define (as always)
2000-06-23 18:24:12 +00:00
stskeeps 5c87943196 - Made IRCII_KLUDGE disappear :P 2000-06-23 18:19:49 +00:00
stskeeps f09b334e86 Missed one thing 2000-06-23 18:18:06 +00:00
stskeeps 985561c522 - Removed DISALLOW_MIXED_CASE and IGNORE_FIRST_CHAR, waste of space
- Made IDLE_FROM_MSG stock define
2000-06-23 18:17:10 +00:00
stskeeps 0b7c79b488 k- Removed aHush, not in use 2000-06-23 18:09:29 +00:00
stskeeps b3d8eb3104 - Fixed a wrongly outputted message (in hash collision detect) 2000-06-23 18:07:25 +00:00
stskeeps b6cb4e3661 - Made operkick be part of NO_OPEROVERRIDE
- Made admins unable to be shunned
- Made some socket errors which normally only showed up in DEBUGMODE, show
  up in ircd.log as well
2000-06-22 13:48:16 +00:00
stskeeps 031a342e60 Made operkick be part of OperOverride 2000-06-21 18:05:21 +00:00
stskeeps 023d869ffd - Small fix with ./Config showing incorrect path of stddef.h 2000-06-20 18:05:43 +00:00
stskeeps 4dcaaec5a3 - Fixed a bug in badwords not loading words correctly, and upped word limit
to 50
2000-06-20 08:15:13 +00:00
codemastr 614587cb7c fixed a chgident overflow 2000-06-19 20:49:27 +00:00
stskeeps 1d750653ab . 2000-06-19 16:21:32 +00:00
cvs2hg a278e31c9f fixup commit for tag 'unreal3_1_rc1' 2000-06-19 09:32:53 +00:00
stskeeps 39a02452d2 . 2000-06-19 09:32:52 +00:00
stskeeps 2016740b47 Stamp. 2000-06-18 10:22:40 +00:00
stskeeps 84c8525bc7 . 2000-06-18 10:21:45 +00:00
stskeeps 4feb893c3f - Made so auditorium mode shows users to @'s 2000-06-18 10:12:41 +00:00
stskeeps a30af17cb8 - Fixed ./Config showing freebsd 3.0 in freebsd 4
- Made so badwords.*.conf accepts # comments
- Added some default default badwords.message.conf and badwords.channel.conf
2000-06-18 10:10:34 +00:00
stskeeps 1d41fae3ca - Fixed /shun showing "1970" to permanently shunned users
- Fixed ./Config showing freebsd 3.0 in freebsd 4
2000-06-17 11:51:34 +00:00
stskeeps a31694c45a - Made /addline write to correct place when you use -f
- Made /zline not memory corrupt/crash, bad df bug
- Fixed a counting bug with unknown connections, very hopefully
- Fixed /htm giving wrong response when /htm to 1
2000-06-17 10:51:35 +00:00
drbin bb015165bc added ircsprintf.h to #include so that DEBUGMODE works !!! 2000-06-16 20:15:44 +00:00
drbin da53d2f0bf Added DEBUGMODE support in ircsprintf.h 2000-06-16 20:08:11 +00:00
drbin a80e94f246 Added DEBUG=1 support in win32 makefile 2000-06-16 19:40:18 +00:00
stskeeps a34dd526f2 - Added config.h setting to disable oper overrides, NO_OPEROVERRIDE 2000-06-16 17:08:10 +00:00
stskeeps 38a9332ce1 - Fixed a +L bug, (3.1 only) where any op could set +L
- Added channel mode +u, "Auditorium". Makes /names and /who #channel only
  show @'s
2000-06-16 17:07:21 +00:00
codemastr 956939e79b made perm TKLs allowed by using 0 as the time 2000-06-15 22:39:14 +00:00
drbin 227a0375e7 Updating to include aln.c 2000-06-15 20:43:36 +00:00
drbin 8afe521a85 *** empty log message *** 2000-06-15 20:06:50 +00:00
drbin a1e3d57d9e Fixed /Shun and /Gline Conflict .... (= != ==) 2000-06-15 20:01:09 +00:00
stskeeps c3dcf78497 Some bashing 2000-06-15 10:22:38 +00:00
stskeeps 3edeb401a7 Allow /shunned users to use /pong now 2000-06-14 17:25:42 +00:00
stskeeps f267677ce5 Poll() stuff 2000-06-11 13:05:36 +00:00
stskeeps c3773ecd9f - /shun accepts nick in add mode now (adds *@host) 2000-06-10 13:52:42 +00:00
stskeeps 51f84140fc - /close doesnt reveal realhost anymore 2000-06-10 13:39:43 +00:00
stskeeps b88cec9d5f bah 2000-06-10 10:45:01 +00:00
stskeeps e6b7e409ce . 2000-06-07 20:09:46 +00:00
stskeeps 422dbf746f - Made all ircops able to use +F (totally this time)
kd
2000-06-07 19:30:41 +00:00
stskeeps 7e3d2d8ea7 Made all IRCops able to use +F 2000-06-07 14:14:49 +00:00
stskeeps 12d99c8026 - Fixed the double +cF notice on local connections exiting, ugly hack
- Removed the last traces of unix sockets, flag 0x10 free now
2000-06-06 20:01:17 +00:00
stskeeps a75432c9ca In ./Config it runs a test program saying how many socket()s you can open 2000-06-06 12:48:10 +00:00
stskeeps bc87b99853 Small testing stuff 2000-06-06 12:39:08 +00:00
stskeeps c2d9acd82e sendto_serv_butone_token_opt 2000-06-04 14:51:38 +00:00
stskeeps afcea0d1ec Fixed the NickServ sets mode +creep SVS2MODE bug 2000-06-04 12:24:20 +00:00
stskeeps 0a2e7468d0 - Fixed a crash problem in register_user and most likely fixed the "strange
vhost" thing, (was a dumb bug, mising ircsprintf)
2000-06-04 09:14:48 +00:00
stskeeps d725dd805d . 2000-06-03 20:31:29 +00:00
stskeeps c8ac2db9f8 .. 2000-06-03 20:25:52 +00:00
stskeeps f1b988d04b Bah! 2000-06-03 20:23:12 +00:00
stskeeps e24344bde1 .. 2000-06-03 20:20:58 +00:00
stskeeps 565266a205 Access list stuff 2000-06-03 20:13:13 +00:00
stskeeps d76006aea2 .. 2000-06-03 20:11:50 +00:00
stskeeps 36b89e78bc . 2000-06-03 19:42:49 +00:00
stskeeps 4c499f8417 Test.. 2000-06-03 19:37:00 +00:00
stskeeps 989a5462d8 .. 2000-06-03 16:38:07 +00:00
stskeeps 4ffba555f3 Took out sequent/dynix support 2000-06-02 18:48:00 +00:00
stskeeps 34d0a3591d Test .. 2000-06-02 14:59:48 +00:00
stskeeps 01a0cbe628 !¤¤%!%1 2000-06-02 11:43:09 +00:00
stskeeps f2a31c5e21 possible res fix 2000-06-02 11:28:26 +00:00
stskeeps 7a78d5afff .. 2000-06-02 11:25:43 +00:00
stskeeps c2d59695ed Took out nick did a userhost on you and minimized hash table size so it went
0.6% memory down.adjust hash.h U_MAX if that is needed for performance
2000-06-02 11:25:00 +00:00
stskeeps 546af36469 - /stats s is now avail only for opers in mainstream 2000-06-02 10:48:49 +00:00
stskeeps b7b6e232ce .. 2000-06-01 20:51:05 +00:00
stskeeps b7d9439bdc - NETINFO protocol 0 is accepted as valid protocool (for services etc) 2000-06-01 14:20:57 +00:00
stskeeps a1cc97be8d Various fixes, and versioned up to RC1 2000-05-31 13:51:32 +00:00
stskeeps 0b3d4164fe - Made SVSO (ofcourse) IRCstats.operators--;
- Another IRCstats.unknown fix. Hope this works (hacked from undernet code)
2000-05-31 13:43:17 +00:00
stskeeps d7231c1801 Made /close reset IRCstats.unknown 2000-05-31 13:10:28 +00:00
codemastr 017bd482f1 *** empty log message *** 2000-05-30 21:46:13 +00:00
stskeeps c763583d33 First patch of ZIP_LINKS 2000-05-30 19:58:50 +00:00
stskeeps 48f9384a82 First part of 2000-05-30 19:58:27 +00:00
codemastr 2f8f56c191 *** empty log message *** 2000-05-29 19:21:03 +00:00
codemastr c53039ed41 *** empty log message *** 2000-05-29 15:48:45 +00:00
stskeeps adced2cf58 Made MODE_X and the family show mode changes, and made STRIPBADWORDS
standard
2000-05-29 15:09:01 +00:00
stskeeps 4dc224d3ff - A little anti-0 fix in channel.c 2000-05-29 14:47:54 +00:00
stskeeps c66be9025d Removed bsdinstall, isnt needed 2000-05-29 10:23:27 +00:00
stskeeps 588614da96 Removed a CVS_ID from whowas.c 2000-05-29 10:22:15 +00:00
stskeeps a59c66fd49 Added /shun 2000-05-29 10:17:13 +00:00
stskeeps 651ec98abc Fixed codemastr fucking up "ircd" 2000-05-29 07:25:26 +00:00
codemastr 59337acc04 fixed /stats C not showing N:lines 2000-05-28 21:53:09 +00:00
stskeeps 769f767b05 A compile fix.. 2000-05-28 17:35:42 +00:00
stskeeps 19a1e80ba8 Did a hack on ALN 2000-05-28 17:32:31 +00:00
stskeeps 58d92222ae Fixes in Unreal.nfo 2000-05-28 16:06:54 +00:00
stskeeps 5b22717119 Made the Own-protection just reduce the class maxli instead of bitching..
(class.c, s_user.c)
2000-05-28 16:03:08 +00:00
stskeeps 1f747eb73a Added rapta to beta tester credits 2000-05-28 15:49:29 +00:00
stskeeps 4f33019ee9 test of new cvs 2000-05-28 14:30:38 +00:00
cmunk 36e9700f16 Some win32 fixes done by Drbin 2000-05-28 09:01:26 +00:00
cvs2hg 843b580a40 fixup commit for branch 'devel' 2000-05-28 08:56:23 +00:00
322 changed files with 82133 additions and 31438 deletions
+1 -1
View File
@@ -7,7 +7,7 @@
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Configuration Program
for Unreal3.2
for Unreal3.2.5
This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process.
+3 -50
View File
@@ -1,50 +1,3 @@
Unreal3.2 Release Notes
========================
==[ GENERAL INFORMATION ]==
* If you are upgrading, make sure you run make clean and ./Config before doing make
* The official UnrealIRCd documentation is doc/unreal32docs.html
online version at: http://www.vulnscan.org/UnrealIrcd/unreal32docs.html
FAQ: http://www.vulnscan.org/UnrealIrcd/faq/
Read them before asking for help.
* Report bugs at http://bugs.unrealircd.org/
== [ NEW ]==
- Added german docs (doc/unreal32docs.de.html)
- In a spamfilter reason field '_' gets converted to a space (' '),
now also added '__' which gets converted to underscore itself ('_').
==[ MAJOR BUGS FIXED ]==
- '/spamfiltere remove' was often removing the wrong entry (RC2 bug)
- The TRE regex library was sometimes matching too much if [range].+
was used multiple times.
- Fixed a remote include issue and added timeouts in case a connection/transfer fails
==[ MINOR BUGS FIXED ]==
- Sometimes hosts were not resolved on Windows due to a resolver bug
- spamfilter and sqline: memory leak on /rehash (a few kb)
- spamfilter: protect against insane long reason/regex fields in configfile
- set::modes-on-join now accepts extended channelmodes
- Opteron: various crashbugs fixed, should work ok now.
- Win32 GUI "rehash all" option did not reload motd/rules.
- Same for ./unreal rehash on *NIX
- Usermode 'r' (registered) was unset if you changed the case of your
nick (eg: 'blah'->'Blah'), this affected at least ircservices.
- vhost::swhois wasn't shown if you did a remote /whois.
- Made './curlinstall' work with new c-ares-1.0.0.
- Fixed compile problem on some machines related to TRE / libintl.
- /who +m was incorrectly hiding +H users even for opers.
- Fixed /rehash bug if an .so or remote include didn't load properly
==[ CHANGED ]==
- spamfilter.conf: fixed fyle sig, added sigs for: soex, Nkie, LOI, Gaggle,
changed a lot of sigs from block to gline.
- Windows: now using new Inno Setup which made the installer 300k smaller
- Docs, help.conf and other text updates.
==[ COMMING UP ]==
- You can expect module support on windows in a nearby release.
==[ ADDITIONAL INFO ]==
* See Changelog
This is the Unreal3.3* development tree.
We are currently in pre-alpha stage, which means this code should not be
used by anyone but the developers or other people liking a broken ircd ;)
Vendored
+1 -1
View File
@@ -13,7 +13,7 @@
--braces-on-struct-decl-line
--paren-indentation0
--case-brace-indentation0
--line-length80
--line-length110
--declaration-indentation5
-T size_t
-T aClass
+1838 -3088
View File
File diff suppressed because it is too large Load Diff
+3093
View File
File diff suppressed because it is too large Load Diff
+338 -50
View File
@@ -21,6 +21,31 @@
RUN_CONFIGURE () {
ARG=""
# Do this even if we're not in advanced mode
if [ "$SHOWLISTMODES" = "1" ] ; then
ARG="$ARG--with-showlistmodes "
fi
if [ "$ADVANCED" = "1" ] ; then
if [ "$TOPICNICKISNUH" = "1" ] ; then
ARG="$ARG--with-topicisnuhost "
fi
if [ "$SHUNNOTICES" = "1" ] ; then
ARG="$ARG--with-shunnotices "
fi
if [ "$NOOPEROVERRIDE" = "1" ] ; then
ARG="$ARG--with-no-operoverride "
fi
if [ "$DISABLEUSERMOD" = "1" ] ; then
ARG="$ARG--with-disableusermod "
fi
if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then
ARG="$ARG--with-operoverride-verify "
fi
if [ "$DISABLEEXTBANSTACKING" = "1" ]; then
ARG="$ARG--with-disable-extendedban-stacking ";
fi
ARG="$ARG--with-moduleswhich=$MODULESWHICH "
fi
if [ "$NOSPOOF" = "1" ] ; then
ARG="$ARG--enable-nospoof "
fi
@@ -56,14 +81,14 @@ ARG="$ARG--with-spath=$SPATH "
ARG="$ARG--with-nick-history=$NICKNAMEHISTORYLENGTH "
ARG="$ARG--with-sendq=$MAXSENDQLENGTH "
ARG="$ARG--with-bufferpool=$BUFFERPOOL "
ARG="$ARG--with-hostname=$DOMAINNAME "
ARG="$ARG--with-permissions=$DEFPERM "
ARG="$ARG--with-fd-setsize=$MAXCONNECTIONS "
ARG="$ARG--enable-dynamic-linking "
ARG="$ARG $EXTRAPARA "
CONF="./configure $ARG"
echo $CONF
$CONF
$CONF || exit 1
cd "$UNREALCWD"
if [ "$CRYPTOIRCD" = "1" ] ; then
if [ ! -f server.req.pem ]; then
export OPENSSLPATH
@@ -76,13 +101,252 @@ fi
fi
}
RUN_ADVANCED () {
TEST=""
while [ -z "$TEST" ] ; do
if [ "$SHOWLISTMODES" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to show the modes a channel has set in the /list output?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
SHOWLISTMODES="1"
;;
[Nn]*)
SHOWLISTMODES=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$TOPICNICKISNUH" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want the /topic command to show the nick!user@host of the person"
echo "who set the topic, rather than just the nickname?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
TOPICNICKISNUH="1"
;;
[Nn]*)
TOPICNICKISNUH=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$SHUNNOTICES" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Should Unreal notify a user when they are no longer shunned?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
SHUNNOTICES="1"
;;
[Nn]*)
SHUNNOTICES=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$NOOPEROVERRIDE" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to disable oper override?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
NOOPEROVERRIDE="1"
;;
[Nn]*)
NOOPEROVERRIDE=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$DISABLEUSERMOD" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to disable /sethost, /setident, /chgname,"
echo "/chghost, and /chgident?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
DISABLEUSERMOD="1"
;;
[Nn]*)
DISABLEUSERMOD=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to require opers to /invite themselves into a +s or +p channel?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
OPEROVERRIDEVERIFY="1"
;;
[Nn]*)
OPEROVERRIDEVERIFY=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$DISABLEEXTBANSTACKING" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to disable extended ban stacking (~q:~c:#test, etc) support?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
DISABLEEXTBANSTACKING="1"
;;
[Nn]*)
DISABLEEXTBANSTACKING="0"
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ]; do
if [ "$MODULESWHICH" = "onlycommands" ]; then
TEST="commands"
elif [ "$MODULESWHICH" = "onlymodules" ]; then
TEST="modules"
else
TEST="both"
fi
echo ""
echo "Do you wish to compile commands.so, the m_*.so modules, or both?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ]; then
cc=$TEST
fi
case "$cc" in
commands|commands.so|onlycommands|commandsonly)
MODULESWHICH="onlycommands"
;;
modules|m_\*.so|onlymodules|modulesonly)
MODULESWHICH="onlymodules"
;;
both|commandsandmodules|modulesandcommands)
MODULESWHICH="commandsandmodules"
;;
*)
echo ""
echo "Unrecognized response"
TEST=""
esac
done
}
c=""
n=""
UNREALCWD="`pwd`"
NOSPOOF=""
DPATH="`pwd`"
SPATH="`pwd`/src/ircd"
SPATH="`pwd`/src"
HUB="1"
DOMAINNAME=`hostname`
DEFPERM="0600"
CRYPTOIRCD=""
SSLDIR=""
@@ -96,7 +360,15 @@ MAXCONNECTIONS="1024"
INET6=""
REMOTEINC=""
CURLDIR=""
PREFIXAQ=""
PREFIXAQ="1"
SHOWLISTMODES="1"
TOPICNICKISNUH=""
SHUNNOTICES=""
NOOPEROVERRIDE=""
DISABLEUSERMOD=""
OPEROVERRIDEVERIFY=""
DISABLEEXTBANSTACKING=""
MODULESWHICH=""
EXTRAPARA=""
if [ "`eval echo -n 'a'`" = "-n a" ] ; then
c="\c"
@@ -108,37 +380,53 @@ fi
#parse arguments
NOCACHE=""
NOINTRO=""
if [ "$1" = "--help" ] ; then
echo "Config utility for UnrealIRCd"
echo "-----------------------------"
echo "Syntax: ./Config [options]"
echo "-nocache Ignore settings saved in config.settings"
echo "-nointro Skip intro (release notes, etc)"
echo "-quick Skip questions, go straight to configure"
echo "-C Clean ./configure cache"
exit 0
fi
if [ "$1" = "-nocache" -o "$2" = "-nocache" ] ; then
NOCACHE="1"
fi
if [ "$1" = "-nointro" -o "$2" = "-nointro" ] ; then
NOINTRO="1"
fi
CLEAN=""
ADVANCED=""
while [ $# -ge 1 ] ; do
if [ $1 = "--help" ] ; then
echo "Config utility for UnrealIRCd"
echo "-----------------------------"
echo "Syntax: ./Config [options]"
echo "-nocache Ignore settings saved in config.settings"
echo "-nointro Skip intro (release notes, etc)"
echo "-quick Skip questions, go straight to configure"
echo "-advanced Include additional advanced questions"
echo "-clean Clean ./configure cache"
exit 0
elif [ $1 = "-nocache" ] ; then
NOCACHE="1"
elif [ $1 = "-nointro" ] ; then
NOINTRO="1"
elif [ $1 = "-quick" -o $1 = "-q" ] ; then
echo "running quick config"
if [ -f "config.settings" ] ; then
. ./config.settings
fi
RUN_CONFIGURE
cd "$UNREALCWD"
exit 0
elif [ $1 = "-clean" -o $1 = "-C" ] ; then
CLEAN="1"
elif [ $1 = "-advanced" ] ; then
PREADVANCED="1"
fi
shift 1
done
if [ -f "config.settings" -a -z "$NOCACHE" ] ; then
. config.settings
. ./config.settings
fi
if [ "$1" = "-C" -o "$2" = "-C" ] ; then
if [ "$PREADVANCED" = "1" ] ; then
ADVANCED="1"
elif [ "$ADVANCED" = "1" ]; then
ADVANCED=""
fi
if [ -n "$CLEAN" ] ; then
rm -f config.cache
fi
if [ "$1" = "-quick" -o "$1" = "-q" -o "$2" = "-quick" ] ; then
echo "running quick config"
RUN_CONFIGURE
exit 0
fi
clear
if [ -f ".CHANGES.NEW" -a -z "$NOINTRO" ] ; then
@@ -191,7 +479,7 @@ done
TEST="$DPATH"
echo ""
echo "What directory are all the server configuration files in?"
echo "Where do you want to install the server configuration files?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
@@ -202,7 +490,7 @@ fi
TEST="$SPATH"
echo ""
echo "What is the path to the ircd binary including the name of the binary?"
echo "Where do you want to install the server binary?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
@@ -241,17 +529,6 @@ while [ -z "$TEST" ] ; do
esac
done
TEST="$DOMAINNAME"
echo ""
echo "What is the hostname of the server running your IRCd?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
DOMAINNAME=$TEST
else
DOMAINNAME=`eval echo $cc` # modified
fi
TEST=""
while [ -z "$TEST" ] ; do
TEST="$DEFPERM"
@@ -307,14 +584,14 @@ while [ -z "$TEST" ] ; do
done
if [ "$CRYPTOIRCD" = "1" ] ; then
TEST=""
TEST="$SSLDIR"
echo ""
echo "If you know the path to OpenSSL on your system, enter it here. If not"
echo "leave this blank"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
SSLDIR=""
SSLDIR="$TEST"
else
SSLDIR=`eval echo $cc` # modified
fi
@@ -379,14 +656,14 @@ while [ -z "$TEST" ] ; do
done
if [ "$ZIPLINKS" = "1" ] ; then
TEST=""
TEST="$ZIPLINKSDIR"
echo ""
echo "If you know the path to zlib on your system, enter it here. If not"
echo "leave this blank"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
ZIPLINKSDIR=""
ZIPLINKSDIR="$TEST"
else
ZIPLINKSDIR=`eval echo $cc` # modified
fi
@@ -450,8 +727,8 @@ while [ -z "$TEST" ] ; do
echo ""
echo "Do you want to enable prefixes for chanadmin and chanowner?"
echo "This will give +a the & prefix and ~ for +q (just like +o is @)"
echo "Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient, PJIRC, etc.)"
echo "with the notable exceptions of irssi, KVIrc and CGI:IRC."
echo "Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,"
echo "PJIRC, irssi, CGI:IRC, etc.)"
echo "This feature should be enabled/disabled network-wide."
echo $n "[$TEST] -> $c"
read cc
@@ -592,7 +869,9 @@ while [ -z "$TEST" ] ; do
;;
esac
done
if [ -n "$ADVANCED" ] ; then
RUN_ADVANCED
fi
echo ""
echo "Would you like any more parameters to configure?"
echo "Write them here:"
@@ -613,7 +892,6 @@ BUFFERPOOL="$BUFFERPOOL"
MAXCONNECTIONS="$MAXCONNECTIONS"
NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH"
HUB="$HUB"
DOMAINNAME="$DOMAINNAME"
DEFPERM="$DEFPERM"
CRYPTOIRCD="$CRYPTOIRCD"
SSLDIR="$SSLDIR"
@@ -621,9 +899,19 @@ ZIPLINKS="$ZIPLINKS"
ZIPLINKSDIR="$ZIPLINKSDIR"
REMOTEINC="$REMOTEINC"
CURLDIR="$CURLDIR"
SHOWLISTMODES="$SHOWLISTMODES"
TOPICNICKISNUH="$TOPICNICKISNUH"
SHUNNOTICES="$SHUNNOTICES"
NOOPEROVERRIDE="$NOOPEROVERRIDE"
DISABLEUSERMOD="$DISABLEUSERMOD"
OPEROVERRIDEVERIFY="$OPEROVERRIDEVERIFY"
DISABLEEXTBANSTACKING="$DISABLEEXTBANSTACKING"
MODULESWHICH="$MODULESWHICH"
EXTRAPARA="$EXTRAPARA"
ADVANCED="$ADVANCED"
__EOF__
RUN_CONFIGURE
cd "$UNREALCWD"
cat << __EOF__
_______________________________________________________________________
+2 -2
View File
@@ -5,11 +5,11 @@ you like Unreal, and you'd like to see it continue to exist, please consider mak
a donation. We're not asking for anything huge, whatever you can afford is fine.
PayPal Donation Link:
<https://www.paypal.com/xclick/business=donation%40unrealircd.com&
<https://www.paypal.com/xclick/business=donation%40unrealircd.org&
item_name=UnrealIRCd+Donation&no_shipping=1&cn=Comments&tax=0&currency_code=USD>
Or simply send a payment through PayPal to:
donation@unrealircd.com
donation@unrealircd.org
If you don't want to use PayPal, or you want to donate something other than money
(old computer hardware, etc.), contact Stskeeps (stskeeps@unrealircd.com) and send
+29 -12
View File
@@ -20,6 +20,7 @@
#*/
CC=@CC@
CXX=@CXX@
INCLUDEDIR=../include
NETWORKSDIR=
FROMDOS=/home/cmunk/bin/4dos
@@ -34,11 +35,11 @@ FROMDOS=/home/cmunk/bin/4dos
#
#XCFLAGS=-O -g -export-dynamic
IRCDLIBS=@IRCDLIBS@ @TRELIBS@
IRCDLIBS=@IRCDLIBS@ @TRELIBS@ @CARESLIBS@
CRYPTOLIB=@CRYPTOLIB@
OPENSSLINCLUDES=
XCFLAGS=-I@TREINCDIR@ @CFLAGS@
XCFLAGS=-I@TREINCDIR@ -I@CARESINCDIR@ @CARESLIBDIR@ @CFLAGS@
#
# use the following on MIPS:
#CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
@@ -131,11 +132,22 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
'RM=${RM}' 'CP=${CP}' 'TOUCH=${TOUCH}' \
'SHELL=${SHELL}' 'STRTOUL=${STRTOUL}' \
'CRYPTOLIB=${CRYPTOLIB}' \
'CRYPTOINCLUDES=${CRYPTOINCLUDES}' 'URL=${URL}'
'CRYPTOINCLUDES=${CRYPTOINCLUDES}' \
'URL=${URL}' 'CXX=${CXX}'
INSTALL_CONFS = badwords.channel.conf badwords.message.conf \
badwords.quit.conf dccallow.conf help.conf \
spamfilters.conf.sample LICENSE Donation
INSTALL_DOCS = doc/Authors doc/example.conf doc/coding-guidelines \
doc/tao.of.irc doc/unreal32docs.html
custommodule:
cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} 'EXLIBS=${EXLIBS}' custommodule
custommodulecpp:
cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} 'EXLIBS=${EXLIBS}' custommodulecpp
server:
build:
-@if [ ! -f include/setup.h ] ; then \
@@ -202,21 +214,26 @@ depend:
install: all
$(INSTALL) -m 0700 -d $(IRCDDIR)
$(INSTALL) -m 0700 src/ircd $(BINDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/*.network $(IRCDDIR)/networks
$(INSTALL) -m 0700 networks/makenet $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/networks.ndx $(IRCDDIR)/networks
$(INSTALL) -m 0700 -d $(BINDIR)
$(INSTALL) -b -m 0700 src/ircd $(BINDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/doc
$(INSTALL) -m 0600 doc/Authors doc/example.conf doc/example.settings doc/coding-guidelines doc/tao.of.irc doc/unreal32docs.html $(IRCDDIR)/doc
$(INSTALL) -m 0600 $(INSTALL_DOCS) $(IRCDDIR)/doc
$(INSTALL) -m 0700 -d $(IRCDDIR)/aliases
$(INSTALL) -m 0600 aliases/*.conf $(IRCDDIR)/aliases
$(TOUCH) $(IRCDDIR)/unrealircd.conf
chmod 0600 $(IRCDDIR)/unrealircd.conf
$(INSTALL) -m 0600 badwords.*.conf help.conf LICENSE Donation $(IRCDDIR)
$(INSTALL) -m 0700 unreal $(IRCDDIR)
$(INSTALL) -b -m 0600 $(INSTALL_CONFS) $(IRCDDIR)
$(INSTALL) -b -m 0700 unreal $(IRCDDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/modules
$(INSTALL) -m 0700 src/modules/*.so $(IRCDDIR)/modules
$(INSTALL) -b -m 0700 src/modules/*.so $(IRCDDIR)/modules
-@if [ ! -f "$(IRCDDIR)/curl-ca-bundle.crt" ] ; then \
$(INSTALL) -b -m 0700 curl-ca-bundle.crt $(IRCDDIR) ; \
fi
-@if [ -f server.key.pem ] ; then \
if [ ! -f "$(IRCDDIR)/server.key.pem" ] ; then \
$(INSTALL) -b -m 0600 server.*.pem $(IRCDDIR) ; \
fi ; \
fi
pem: src/ssl.cnf
@echo "Generating certificate request .. "
+29 -33
View File
@@ -1,33 +1,32 @@
===============================================
= UnrealIRCd v3.2 =
= UnrealIRCd v3.3* =
===============================================
Was brought to you by:
The core team:
==============
* Stskeeps <stskeeps@tspre.org>
* codemastr <codemastr@unrealircd.com>
* Syzop <syzop@unrealircd.org>
* Luke <luke@unrealircd.com>
The head coders
================
* Stskeeps <stskeeps@tspre.org>
* Syzop <syzop@unrealircd.com>
* codemastr <codemastr@unrealircd.com>
Contributors
============
* McSkaf <mcskaf@unrealircd.org>
* Zogg <zogg@unrealircd.org>
* NiQuiL <niquil@unrealircd.org>
* assyrian <assyrian@unrealircd.org>
* nighthawk <nighthawk@unrealircd.com>
* DrBin <drbin@unrealircd.com>
* llthangel <llthangel@unrealircd.org>
* Griever <griever@unrealircd.com>
Documentation:
==============
* CKnight^ <cknight@unrealircd.com>
The coders
===========
* DarkElf <darkelf@unrealircd.com>
* Trocotronic <trocotronic@unrealircd.com>
* aquanight <aquanight@unrealircd.com>
Additional credits
===================
Credit also goes to past UnrealIRCd coders, including: McSkaf, Zogg,
NiQuiL, assyrian, nighthawk, DrBin, llthangel and Griever.
Credit also goes to everyone else who contributed, and those who coded
or contributed to UnrealIRCd's ancestors.
WEBSITE
========
http://www.unrealircd.com/
Precenses on the Internet:
* http://www.unrealircd.com
CVS
====
To get anonymous access: (read only)
@@ -36,19 +35,17 @@
press enter when asked for password
Then, choose the appropiate branch you want:
latest 3.2 release ("stable"):
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r stable -d Unreal-stable unreal"
latest 3.2 fixes / development ("unreal3_2_fixes"):
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r unreal3_2_fixes -d Unreal-stable unreal"
latest 3.3 release (unstable/development):
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r devel -d Unreal-stable unreal"
To get support
================
Before asking others for help you MUST:
* read the docs (doc/unreal32docs.html or online: www.unrealircd.com/unreal32docs.html)
* check the FAQ (www.vulnscan.org/UnrealIrcd/faq/)
* check the FAQ (www.vulnscan.org/UnrealIRCd/faq/)
Means of support:
* Forum: http://forums.unrealircd.com/
* IRC: /server irc.ircsystems.net 6667 - /join #unreal-support
[Note: Follow the bots instructions in order to get voice.
Please be patient after asking questions, we may do other stuff
@@ -56,15 +53,14 @@
READ THE TOPIC before you ask anything. We do this on a free
base so we are volunteeringly helping you, but we are humans
like you, and we got to have peace at times as well.]
* Forum: http://forums.unrealircd.com/
* Mailing list: unreal-users@lists.sourceforge.net
(http://lists.sourceforge.net/lists/listinfo/unreal-users also
has links to the archive).
UnrealIRCd Bugtracker (Where to report bugs or make suggestions)
==================================================================
=================================================================
http://bugs.unrealircd.org
Want to discuss, chat, etc?
=============================
* IRC: /server irc.ircsystems.net 6667 - /join #UnrealIRCd
* IRC: /server irc.unrealircd.org 6667 - /join #UnrealIRCd
+6 -6
View File
@@ -2,12 +2,12 @@
alias identify {
format "^#" {
nick chanserv;
target chanserv;
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
nick nickserv;
target nickserv;
type services;
parameters "IDENTIFY %1-";
};
@@ -16,12 +16,12 @@ alias identify {
alias services {
format "^#" {
nick chanserv;
target chanserv;
type services;
parameters "%1-";
};
format "^[^#]" {
nick nickserv;
target nickserv;
type services;
parameters "%1-";
};
@@ -30,12 +30,12 @@ alias services {
alias register {
format "^#" {
nick chanserv;
target chanserv;
type services;
parameters "REGISTER %1-";
};
format "^[^#]" {
nick nickserv;
target nickserv;
type services;
parameters "REGISTER %1-";
};
+7 -8
View File
@@ -1,19 +1,18 @@
/* Anope Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias ns { target nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias os { target operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias botserv { type services; };
alias bs { nick botserv; type services; };
alias bs { target botserv; type services; };
alias hostserv { type services; };
alias hs { nick hostserv; type services; };
alias hs { target hostserv; type services; };
include "aliases/aliases.conf";
+25 -8
View File
@@ -1,16 +1,33 @@
/* Auspice Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
/* Uncomment this, if you have enabled "MassServ, W and X" in auspice */
# alias massserv { type services; };
# alias ma { target massserv; type services; };
# alias W { type services; };
# alias X { type services; };
/* Uncomment this, if you have enabled "WebServ" in auspice */
# alias webserv { type services; };
# alias ws { target webserv; type services; };
alias agent { type services; };
alias adminserv { type services; };
alias as { target adminserv; type services; };
alias botserv { type services; };
alias bs { target botserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias hs { target helpserv; type services; };
alias hostserv { type services; };
alias ho { target hostserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias nickserv { type services; };
alias ns { target nickserv; type services; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias os { target operserv; type services; };
alias rootserv { type services; };
alias rs { nick rootserv; type services; };
alias rs { target rootserv; type services; };
include "aliases/aliases.conf";
+5 -5
View File
@@ -1,12 +1,12 @@
/* Cygnus Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias ns { target nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias rootserv { type services; };
alias rs { nick rootserv; type services; };
alias rs { target rootserv; type services; };
include "aliases/aliases.conf";
+7 -7
View File
@@ -1,16 +1,16 @@
/* Epona Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias ns { target nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias os { target operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias hs { target helpserv; type services; };
alias botserv { type services; };
alias bs { nick botserv; type services; };
alias bs { target botserv; type services; };
include "aliases/aliases.conf";
+6 -6
View File
@@ -1,14 +1,14 @@
/* Generic Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias ns { target nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias os { target operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias hs { target helpserv; type services; };
include "aliases/aliases.conf";
+1 -1
View File
@@ -1,4 +1,4 @@
/* Generic StatServ Aliases */
alias statserv { type stats; };
alias ss { nick statserv; type stats; };
alias ss { target statserv; type stats; };
+7 -7
View File
@@ -1,17 +1,17 @@
/* IRCServices Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias ns { target nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias cs { target chanserv; type services; };
alias memoserv { type services; spamfilter yes; };
alias ms { target memoserv; type services; spamfilter yes; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias os { target operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias hs { target helpserv; type services; };
alias irciihelp { type services; };
alias statserv { type services; };
alias ss { nick statserv; type services; };
alias ss { target statserv; type services; };
include "aliases/aliases.conf";
+2 -2
View File
@@ -1,6 +1,6 @@
/* OperStats Aliases */
alias operserv { type stats; };
alias os { nick operserv; type stats; };
alias os { target operserv; type stats; };
alias statserv { type stats; };
alias ss { nick statserv; type stats; };
alias ss { target statserv; type stats; };
+39 -6
View File
@@ -52,14 +52,29 @@ AC_DEFUN(CHECK_LIBCURL,
[AC_HELP_STRING([--enable-libcurl=DIR],[enable libcurl (remote include) support])],
[
CURLCFLAG=`$enableval/bin/curl-config --cflags`
CFLAGS="$CFLAGS $CURLCFLAG -DUSE_LIBCURL"
CURLLIBS=`$enableval/bin/curl-config --libs`
dnl curl-7.11.0 and up will include the ares info, older versions do not
if test "x`echo $CURLLIBS |grep .*ares.*`" = x ; then
CURLLIBS="$CURLLIBS -lares"
dnl Ok this is ugly, basically we need to strip the version of c-ares that curl uses
dnl because we want to use our own version (which is hopefully fully binary
dnl compatible with the curl one as well).
dnl Therefore we need to strip the cares libs in a weird way...
dnl If anyone can come up with something better and still portable (no awk!?)
dnl then let us know.
if test "x`echo $CURLLIBS |grep ares`" != x ; then
dnl Attempt one: Linux sed
XCURLLIBS="`echo "$CURLLIBS"|sed -r 's/(@<:@^ @:>@+ @<:@^ @:>@+ )(@<:@^ @:>@+ @<:@^ @:>@+ )(.+)/\1\3/g' 2>/dev/null`"
if test x"$XCURLLIBS" = x; then
dnl Attempt two: FreeBSD (and others?) sed
XCURLLIBS="`echo "$CURLLIBS"|sed -E 's/(@<:@^ @:>@+ @<:@^ @:>@+ )(@<:@^ @:>@+ @<:@^ @:>@+ )(.+)/\1\3/g' 2>/dev/null`"
if test x"$XCURLLIBS" = x; then
AC_MSG_ERROR([sed appears to be broken. It is needed for a remote includes compile hack.])
fi
fi
CURLLIBS="$XCURLLIBS"
fi
IRCDLIBS="$IRCDLIBS $CURLLIBS"
CFLAGS="$CFLAGS $CURLCFLAG -DUSE_LIBCURL"
URL="url.o"
AC_SUBST(URL)
])
@@ -94,7 +109,16 @@ AC_MSG_CHECKING(for openssl)
done
if test x_$found_ssl != x_yes; then
AC_MSG_RESULT(not found)
AC_WARN(disabling ssl support)
echo ""
echo "Apparently you do not have both the openssl binary and openssl development libraries installed."
echo "You have two options:"
echo "a) Install the needed binaries and libraries"
echo " and run ./Config"
echo "OR"
echo "b) If you don't need SSL..."
echo " Run ./Config and say 'no' when asked about SSL"
echo ""
exit 1
else
CRYPTOLIB="-lssl -lcrypto";
if test ! "$ssldir" = "/usr" ; then
@@ -127,7 +151,16 @@ AC_MSG_CHECKING(for zlib)
done
if test x_$found_zlib != x_yes; then
AC_MSG_RESULT(not found)
AC_WARN(disabling ziplink support)
echo ""
echo "Apparently you do not have the zlib development library installed."
echo "You have two options:"
echo "a) Install the zlib development library"
echo " and run ./Config"
echo "OR"
echo "b) If you don't need compressed links..."
echo " Run ./Config and say 'no' when asked about ziplinks support"
echo ""
exit 1
else
IRCDLIBS="$IRCDLIBS -lz";
if test "$zlibdir" != "/usr" ; then
+137 -30
View File
@@ -20,6 +20,20 @@ CFLAGS="-pipe $CFLAGS"
fi
fi
dnl (the gcc flag detection trick is taken from xemacs/Vin Shelton)
dnl UnrealIRCd might not be strict-aliasing safe at this time
case "`$CC -v --help 2>&1`" in
*-fstrict-aliasing* ) CFLAGS="$CFLAGS -fno-strict-aliasing" ;;
esac
dnl Pointer signedness warnings are really a pain and 99.9% of the time
dnl they are of absolutely no use whatsoever. IMO the person who decided
dnl to enable this without -Wall should be shot on sight.
case "`$CC -v --help 2>&1`" in
*-Wpointer-sign* ) CFLAGS="$CFLAGS -Wno-pointer-sign" ;;
esac
AC_PROG_CXX
AC_PATH_PROG(RM,rm)
AC_PATH_PROG(CP,cp)
AC_PATH_PROG(TOUCH,touch)
@@ -40,13 +54,13 @@ AC_SUBST(IRCDLIBS)
AC_SUBST(MKPASSWDLIBS)
dnl module checking based on Hyb7's module checking code
AC_DEFUN(AC_ENABLE_DYN,
AC_DEFUN([AC_ENABLE_DYN],
[
AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
AC_CHECK_FUNC(dlopen,, [AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS -ldl",
[
AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found)
AC_DEFINE(STATIC_LINKING)
]))
])])
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -export-dynamic"
@@ -63,6 +77,9 @@ if test "$ac_cv_prog_gcc" = "yes"; then
Darwin*[)]
ac_cv_pic="-bundle -flat_namespace -undefined suppress"
;;
HP-UX*[)]
ac_cv_pic="-fPIC"
;;
esac
else
case `uname -s` in
@@ -93,7 +110,7 @@ fi
MODULEFLAGS=$ac_cv_pic
AC_DEFINE(DYNAMIC_LINKING)
])
AC_DEFUN(AC_ENABLE_INET6,[
AC_DEFUN([AC_ENABLE_INET6],[
AC_CACHE_CHECK(if your system has IPv6 support, ac_cv_ip6, [
save_libs="$LIBS"
LIBS="$LIBS $SOCKLIB"
@@ -111,9 +128,26 @@ if test "$ac_cv_ip6" = "no"; then
AC_MSG_WARN(Your system does not support IPv6 so it will not be enabled)
else
AC_DEFINE(INET6)
dnl in6addr_any detection code taken from ratbox
AC_MSG_CHECKING([for struct in6addr_any])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[#define IN_AUTOCONF
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>]],
[[struct in6_addr a = in6addr_any;]]
)],
[AC_MSG_RESULT(yes)],
[
AC_MSG_RESULT(no)
AC_DEFINE(NO_IN6ADDR_ANY)
]
)
fi
LIBS="$save_libs"
])
AC_CHECK_HEADER(sys/param.h,AC_DEFINE(PARAMH))
AC_CHECK_HEADER(stdlib.h,AC_DEFINE(STDLIBH))
AC_CHECK_HEADER(stddef.h,AC_DEFINE(STDDEFH))
@@ -224,12 +258,27 @@ dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_SETPGRP
AC_FUNC_SETVBUF_REVERSED
AC_FUNC_ALLOCA
AC_CHECK_FUNCS(snprintf,AC_DEFINE(HAVE_SNPRINTF))
AC_CHECK_FUNCS(vsnprintf,AC_DEFINE(HAVE_VSNPRINTF))
AC_CHECK_FUNCS(strlcpy, AC_DEFINE(HAVE_STRLCPY))
AC_CHECK_FUNCS(strlcat, AC_DEFINE(HAVE_STRLCAT))
AC_CHECK_FUNCS(strlncat, AC_DEFINE(HAVE_STRLNCAT))
AC_CHECK_FUNCS(inet_pton, AC_DEFINE(HAVE_INET_PTON))
AC_CHECK_FUNCS(inet_ntop, AC_DEFINE(HAVE_INET_NTOP))
dnl Check if it supports C99 style variable length arrays
AC_CACHE_CHECK(if C99 variable length arrays are supported, ac_cv_varlen_arrays, [
AC_TRY_COMPILE(,[
int main() {
int i = 5;
int a[i];
a[0] = 1;
return 0;
}], ac_cv_varlen_arrays=yes, ac_cv_varlen_arrays=no)
])
if test "$ac_cv_varlen_arrays" = "yes" ; then
AC_DEFINE(HAVE_C99_VARLEN_ARRAY)
fi
AC_CACHE_CHECK(if we can set the core size to unlimited, ac_cv_force_core,[
AC_TRY_RUN([
#include <sys/time.h>
@@ -318,25 +367,50 @@ AC_ARG_WITH(sendq, [AC_HELP_STRING([--with-sendq=maxsendq],[Specify the max send
AC_DEFINE_UNQUOTED(MAXSENDQLENGTH,$withval),AC_DEFINE(MAXSENDQLENGTH,3000000))
AC_ARG_WITH(bufferpool, [AC_HELP_STRING([--with-bufferpool=size],[Specify the size of the buffer pool])],
AC_DEFINE_UNQUOTED(BUFFERPOOL,[($withval * MAXSENDQLENGTH)]),AC_DEFINE(BUFFERPOOL,[(18 * MAXSENDQLENGTH)]))
AC_ARG_WITH(hostname, [AC_HELP_STRING([--with-hostname=host],[Specify the local hostname of the server])], AC_DEFINE_UNQUOTED(DOMAINNAME,"$withval"),AC_DEFINE_UNQUOTED(DOMAINNAME,"`hostname`"))
AC_DEFINE_UNQUOTED(MYOSNAME,"`uname -a`")
AC_ARG_WITH(permissions, [AC_HELP_STRING([--with-permissions=permissions],[Specify the default permissions for
configuration files])], AC_DEFINE_UNQUOTED(DEFAULT_PERMISSIONS,$withval), AC_DEFINE(DEFAULT_PERMISSIONS, 0600))
AC_ARG_WITH(dpath, [AC_HELP_STRING([--with-dpath=path],[Specify the path where configuration files are stored])],
AC_DEFINE_UNQUOTED(DPATH, "$withval") IRCDDIR="$withval"; mkdir $withval/tmp, AC_DEFINE_UNQUOTED(DPATH,"`pwd`") IRCDDIR="`pwd`" mkdir `pwd`/tmp)
AC_DEFINE_UNQUOTED(DPATH, "$withval") IRCDDIR="$withval", AC_DEFINE_UNQUOTED(DPATH,"`pwd`") IRCDDIR="`pwd`")
AC_ARG_WITH(fd-setsize, [AC_HELP_STRING([--with-fd-setsize=size],[Specify the max file descriptors to use])],
ac_fd=$withval, ac_fd=1024)
AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $ac_fd)
AC_ARG_WITH(spath, [AC_HELP_STRING([--with-spath],[Specify the location of the executable])],
AC_DEFINE_UNQUOTED(SPATH,"$withval") BINDIR="$withval",AC_DEFINE_UNQUOTED(SPATH,"`pwd`/src/ircd") BINDIR="`pwd`/src/ircd")
AC_DEFINE_UNQUOTED(SPATH,"$withval/ircd") BINDIR="$withval",AC_DEFINE_UNQUOTED(SPATH,"`pwd`/src/ircd") BINDIR="`pwd`/src/ircd")
AC_ARG_ENABLE(nospoof, [AC_HELP_STRING([--enable-nospoof],[Enable spoofing protection])], AC_DEFINE(NOSPOOF))
AC_ARG_ENABLE(prefixaq, [AC_HELP_STRING([--enable-prefixaq],[Enable chanadmin and chanowner prefixes])], AC_DEFINE(PREFIX_AQ))
AC_ARG_ENABLE(hub, [AC_HELP_STRING([--enable-hub],[Compile as a hub server])], AC_DEFINE(HUB))
AC_ARG_WITH(showlistmodes, [AC_HELP_STRING([--with-showlistmodes], [Specify whether modes are shown in /list])],
AC_DEFINE(LIST_SHOW_MODES))
AC_ARG_WITH(topicisnuhost, [AC_HELP_STRING([--with-topicisnuhost], [Display nick!user@host as the topic setter])],
AC_DEFINE(TOPIC_NICK_IS_NUHOST))
AC_ARG_WITH(shunnotices, [AC_HELP_STRING([--with-shunnotices], [Notify a user when he/she is no longer shunned])],
AC_DEFINE(SHUN_NOTICES))
AC_ARG_WITH(no-operoverride, [AC_HELP_STRING([--with-no-operoverride], [Disable OperOverride])],
AC_DEFINE(NO_OPEROVERRIDE))
AC_ARG_WITH(disableusermod, [AC_HELP_STRING([--with-disableusermod], [Disable /set* and /chg*])],
AC_DEFINE(DISABLE_USERMOD))
AC_ARG_WITH(operoverride-verify, [AC_HELP_STRING([--with-operoverride-verify], [Require opers to invite themselves to +s/+p channels])],
AC_DEFINE(OPEROVERRIDE_VERIFY))
AC_ARG_WITH(disable-extendedban-stacking, [AC_HELP_STRING([--with-disable-extendedban-stacking], [Disable extended ban stacking])],
AC_DEFINE(DISABLE_STACKED_EXTBANS))
MODULES_WHICH=commandsandmodules
AC_MSG_CHECKING(for how much module building work we need to do)
AC_ARG_WITH(moduleswhich,
[ --with-moduleswhich=onlycommands|onlymodules|commandsandmodules What modules to build],
[ case "$withval" in
yes|no)
;;
* )
MODULES_WHICH="$withval"
;;
esac])
AC_SUBST(MODULES_WHICH)
AC_MSG_RESULT($MODULES_WHICH)
CHECK_SSL
CHECK_ZLIB
CHECK_LIBCURL
AC_ARG_ENABLE(dynamic-linking, [AC_HELP_STRING([--enable-dynamic-linking],[Make the IRCd dynamically link shared objects rather than statically])], AC_ENABLE_DYN, AC_DEFINE(STATIC_LINKING))
AC_ARG_ENABLE(inet6, [AC_HELP_STRING([--enable-inet6],[Make the IRCd support IPv6])], AC_ENABLE_INET6)
AC_ARG_ENABLE(dynamic-linking, [AC_HELP_STRING([--enable-dynamic-linking],[Make the IRCd dynamically link shared objects rather than statically])], [AC_ENABLE_DYN], [AC_DEFINE(STATIC_LINKING)])
AC_ARG_ENABLE(inet6, [AC_HELP_STRING([--enable-inet6],[Make the IRCd support IPv6])], [AC_ENABLE_INET6])
AC_SUBST(IRCDDIR)
AC_SUBST(BINDIR)
AC_MSG_CHECKING(if FD_SETSIZE is large enough to allow $ac_fd file descriptors)
@@ -364,37 +438,70 @@ IRCDLIBS="$IRCDLIBS -lresolv "
;;
esac
dnl REMEMBER TO CHANGE WITH A NEW RELEASE!
tre_version="0.6.6"
AC_MSG_RESULT(extracting TRE regex library)
dnl REMEMBER TO CHANGE WITH A NEW PCRE RELEASE!
tre_version="7.2"
AC_MSG_RESULT(extracting PCRE regex library)
cur_dir=`pwd`
cd extras
dnl remove old tre directory to force a recompile...
rm -rf tre-$tre_version
rm -rf pcre-$tre_version
if test "x$ac_cv_path_GUNZIP" = "x" ; then
tar xfz tre.tar.gz
tar xfz pcre.tar.gz
else
cp tre.tar.gz tre.tar.gz.bak
gunzip -f tre.tar.gz
cp tre.tar.gz.bak tre.tar.gz
tar xf tre.tar
cp pcre.tar.gz pcre.tar.gz.bak
gunzip -f pcre.tar.gz
cp pcre.tar.gz.bak pcre.tar.gz
tar xf pcre.tar
fi
AC_MSG_RESULT(configuring TRE regex library)
cd tre-$tre_version
./configure --disable-agrep --disable-shared --disable-system-abi --disable-wchar --disable-multibyte --prefix=$cur_dir/extras/regexp
AC_MSG_RESULT(compiling TRE regex library)
$ac_cv_prog_MAKER
AC_MSG_RESULT(installing TRE regex library)
$ac_cv_prog_MAKER install
AC_MSG_RESULT(configuring PCRE regex library)
cd pcre-$tre_version
./configure --disable-shared --disable-system-abi --disable-utf8 --prefix=$cur_dir/extras/regexp || exit 1
AC_MSG_RESULT(compiling PCRE regex library)
$ac_cv_prog_MAKER || exit 1
AC_MSG_RESULT(installing PCRE regex library)
$ac_cv_prog_MAKER install || exit 1
TREINCDIR="$cur_dir/extras/regexp/include"
AC_SUBST(TREINCDIR)
if test "x$ac_cv_path_PKGCONFIG" = "x" ; then
TRELIBS="-L../extras/regexp/lib -ltre"
TRELIBS="-L../extras/regexp/lib -lpcreposix -lpcre"
else
TRELIBS=`$ac_cv_path_PKGCONFIG --libs tre.pc`
TRELIBS="`$ac_cv_path_PKGCONFIG --libs libpcre.pc` -lpcreposix -lpcre"
fi
AC_SUBST(TRELIBS)
cd $cur_dir
AC_OUTPUT(Makefile src/modules/Makefile unreal ircdcron/ircdchk)
dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
cares_version="1.4.0"
AC_MSG_RESULT(extracting c-ares resolver library)
cur_dir=`pwd`
cd extras
dnl remove old c-ares directory to force a recompile...
rm -rf c-ares-$cares_version
if test "x$ac_cv_path_GUNZIP" = "x" ; then
tar xfz c-ares.tar.gz
else
cp c-ares.tar.gz c-ares.tar.gz.bak
gunzip -f c-ares.tar.gz
cp c-ares.tar.gz.bak c-ares.tar.gz
tar xf c-ares.tar
fi
AC_MSG_RESULT(configuring c-ares library)
cd c-ares-$cares_version
./configure --prefix=$cur_dir/extras/c-ares || exit 1
AC_MSG_RESULT(compiling c-ares resolver library)
$ac_cv_prog_MAKER || exit 1
AC_MSG_RESULT(installing c-ares resolver library)
$ac_cv_prog_MAKER install || exit 1
CARESINCDIR="$cur_dir/extras/c-ares/include"
AC_SUBST(CARESINCDIR)
CARESLIBDIR="-L../extras/c-ares/lib"
AC_SUBST(CARESLIBDIR)
CARESLIBS="-lcares"
AC_SUBST(CARESLIBS)
cd $cur_dir
AC_OUTPUT(Makefile src/modules/Makefile src/modules/chanmodes/Makefile unreal ircdcron/ircdchk)
chmod 0700 unreal
chmod 0700 ircdcron/ircdchk
Vendored
+5251 -2088
View File
File diff suppressed because it is too large Load Diff
+4453
View File
File diff suppressed because it is too large Load Diff
+42
View File
@@ -0,0 +1,42 @@
/* Example of a possible semi-secure /DCCALLOW configuration written by Syzop.
* $Id$
*
* Actually nothing is *100% secure*... there could still be
* bugs in the software itself (think: a winamp bug that can
* be exploited via an mp3, or: a wmplayer bug that can be
* exploited via a specially crafted .wmv, etc..).
* If you are really that paranoid you could just remove
* all 'allow dcc'-blocks and prompt the user for EVERY file ;).
*
* Still, I think this file is a good tradeoff between userfriendlyness
* and security. Note that when you try to only DENY specific
* file type (exe, com, etc) you are *guaranteed* to miss ones
* (like: did you know .r17 gets treated as a rar archive?
* and that an exe can be disguished as .cmd which is executable
* on nt/w2k/xp?)
*/
/* first.. deny everything, then allow known-good stuff... */
deny dcc { filename "*"; reason "Possible executable content"; soft yes; };
/* common image formats */
allow dcc { filename "*.jpg"; soft yes; };
allow dcc { filename "*.jpeg"; soft yes; };
allow dcc { filename "*.gif"; soft yes; };
allow dcc { filename "*.png"; soft yes; };
allow dcc { filename "*.bmp"; soft yes; };
/* audio / video (but not scripted/playlists!) */
allow dcc { filename "*.mp1"; soft yes; };
allow dcc { filename "*.mp2"; soft yes; };
allow dcc { filename "*.mp3"; soft yes; };
allow dcc { filename "*.mpg"; soft yes; };
allow dcc { filename "*.mpeg"; soft yes; };
allow dcc { filename "*.m1v"; soft yes; };
allow dcc { filename "*.m2v"; soft yes; };
allow dcc { filename "*.vob"; soft yes; };
allow dcc { filename "*.wav"; soft yes; };
/* text / misc */
allow dcc { filename "*.txt"; soft yes; };
allow dcc { filename "*.log"; soft yes; };
allow dcc { filename "*.pdf"; soft yes; };
allow dcc { filename "*.c"; soft yes; };
allow dcc { filename "*.cpp"; soft yes; };
+3 -2
View File
@@ -123,7 +123,8 @@ Carsten Munk <stskeeps@unrealircd.com> / May 1999, date
Dominick Meglio <codemastr@unrealircd.com> / June 1999, date
David Flynn / March 2000, June 2000
McSkaf / June 2001, September 2001
Finny Merrill <griever@unrealircd.com> / November 2001, date
Finny Merrill <griever@unrealircd.com> / November 2001, December 2002
Bram Matthys <syzop@unrealircd.com> / January 2002, date
Thanks go to those persons not mentioned here who have added their advice,
opinions, and code to IRC.
@@ -143,4 +144,4 @@ Eric P. Scott <eps@toaster.sfsu.edu>
Dan Goodwin <fornax@wpi.wpi.edu>
Noah Friedman <friedman@ai.mit.edu>
[ $Id$ ]
[ $Id$ ]
-195
View File
@@ -1,195 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>UnrealIRCd - 3.2 - Offical Documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<p> <font size="-1">I M P O R T A N T R E A D I N G</font></p>
<p><font size="-1">(YES, YOU WILL NEED TO READ ALL OF THIS)</font></p>
<p><font size="-1">* Unreal3.2 is a lot different than Unreal3.1.1. Forget
all you have learned about setting up Unreal3.1.1 - this is a lot different.
We have got a new configuration format that integrates all the former config
files,ircd.conf, vhost.conf, chrestrict.conf, unrealircd.conf, into to one newunrealircd.conf
(what the ircd.conf is called now). See doc/ for more information on the configuration
format</font></p>
<p><font size="-1">* THIS IS A BETA VERSION, REPORT BUGS ON http://bugs.unrealircd.org</font></p>
<p><font size="-1">* We have introduced a new cloaking algorithm (+x), which makes
it incompatible with Unreal3.1.1 - these can however still link, but the hostname
will look different. This is made of three big numbers, configured in the config
file - and these MUST be the same on all servers on the network. Keep these
numbers secret, and the cloaking algorithm is uncrackable (within 55 years,
that is). The +x algorithm was changed slightly to fix a method of cracking
that was found. #define COMPAT_BETA4_KEYS to use the beta4 system for compatibility
with older betas.</font></p>
<p><font size="-1">* If you use Linux and have problems where the IRCd complains
that MAXCONNECTIONS is larger than FD_SETSIZE, you need to get your root to
edit /usr/include/bits/types.h - #define __FD_SETSIZE 1024 to be somenumber
that is equal or higher than MAXCONNECTIONS. This is a problem with Linux that
it is hard coded and non override able in some distributions. We recommend you
use FreeBSD or the variants of this if you need to run high load IRC servers.</font></p>
<p><font size="-1">* We use autoconf to help with compilation, and this should
make us able to a lot more platform (we have even ported to BeOS).</font></p>
<p><font size="-1">* We require a pthreads library for the SOCKS scan now - and
this is now done in the background (no more waiting!).</font></p>
<p><font size="-1">* The IRCd is now modularized, and you load modules with the
loadmodule command. You will most likely want to add these lines:<br>
loadmodule &quot;src/modules/commands.so&quot;;<br>
loadmodule &quot;src/modules/scan.so&quot;;<br>
loadmodule &quot;src/modules/scan_socks.so&quot;;<br>
loadmodule &quot;src/modules/scan_http.so&quot;;</font></p>
<p><font size="-1"> If you would like to code a module, doc/ will contain a module
guide,and we got an example module in src/modules/m_dummy.c.</font></p>
<p><font size="-1">* We have some IPv6 support, and there are some minor bugs
in it.</font></p>
<p><font size="-1">* The documentation is NOT yet 100% complete</font></p>
<p><font size="-1">* We have added snomask (similar to ircu), basically this allowed
us to remove several modes. Modes +cfFkje are gone, but don't worry, you can
still use them. They are now added like this:</font></p>
<p><font size="-1"> /mode yournick +s +cF</font></p>
<p><font size="-1"> You set the flags in the second parameter of the mode command
for a mode change +s, setting -s with no parameters removes all your snomask.
You can remove a specific snomask by doing:</font></p>
<p><font size="-1"> /mode yournick -s -c</font></p>
<p><font size="-1">The current snomasks are:</font></p>
<p><font size="-1"> c - local connects<br>
F - far connects<br>
f - flood notices<br>
k - kill notices<br>
e - 'eyes' notices<br>
j - 'junk' notices<br>
v - vhost notices<br>
G - gline/shun notices<br>
n - nick change notices<br>
q - deny nick (Q:line) rejection notices</font></p>
<p><font size="-1"> It shouldn't be too hard to figure out, just play around with
it a bit :)</font></p>
<p><font size="-1">* /who needs testing it was recorded and may contain bugs</font></p>
<p><font size="-1">* We have added alias {} which allows you to dynamically create
commands such as /nickserv Read example.conf for more information on how to
create your own. To use standard ones include one of the following files</font></p>
<p><font size="-1"> aliases/ircservices.conf (IRCServices, Daylight)<br>
aliases/epona.conf (Epona)<br>
aliases/auspice.conf (Auspice)<br>
aliases/generic.conf (Magick, Sirius, Wrecked)<br>
aliases/operstats.conf (OperStats)<br>
aliases/genericstats.conf (GeoStats, NeoStats)</font></p>
<p><font size="-1">* You can now use an IP in the oper::from and vhost::from fields
even if the host resolves</font></p>
<p><font size="-1">* Added an http proxy scanner (scan_http.so)</font></p>
<p><font size="-1">* Added oper::snomask to specify default oper snomask modes</font></p>
<p><font size="-1">* /helpop text has been moved to a config directive, help {}.
To keep the standard help text you need to include help.conf so add include
&quot;help.conf&quot;; to your config file.</font></p>
<p><font size="-1">* To be able to use G:lines you must now have the can_gkline
flag (or t if old style flags)</font></p>
<p><font size="-1">* Usermode +T (Tech Admin) has been removed, since it is 100%
useless</font></p>
<p><font size="-1">* Added a make install to copy files to the installation location</font></p>
<p><font size="-1">* Removed ./ircd, ./killircd, crypt/mkpasswd, ./rehash and
merged them into a new ./unreal [start|stop|rehash|mkpasswd] for mkpasswd the
format is</font></p>
<p><font size="-1"> ./unreal mkpasswd [method] [password]</font></p>
<p><font size="-1">* Added a new system for crypting passwords. You now do for
example password &quot;my password&quot; { crypt; }; This allows you to have
some crypted passwords and others not. If you have SSL enabled you may also
use the md5 and sha1 methods.</font></p>
<p><font size="-1">* The old blackhole is now set::scan::endpoint and specifies
an IP and port to tell proxies to connect to.</font></p>
<p><font size="-1">* You can now specify a cipher list for SSL links (read doc/conf.doc
for more info)</font></p>
<p><font size="-1">* +I is now in invisibility.so so it is easily disabled</font></p>
<p><font size="-1">* set::socks has been replaced by set::scan (read doc/conf.doc
for more info)</font></p>
<p><font size="-1">* If you experience problems with the scanners, perhaps check
out BOPM (http://www.blitzed.org/bopm)</font></p>
<p><font size="-1">* log {} syslog support added (read doc/unreal32docs.html for
more info)</font></p>
<p><font size="-1">* Added ripemd-160 password encryption support</font></p>
<p><font size="-1">* Enabled sha1 and md5 password encryption on Win32 regardless
of whether SSL is used.</font></p>
<p><font size="-1">* Added WinNT/2k/XP service support (experimental) To use this
you use the unreal.exe utility: unreal install -installs the service<br>
unreal uninstall -uninstalls the service <br>
unreal start -starts the service <br>
unreal stop -stops the service<br>
unreal restart -restarts the service<br>
unreal rehash -rehashes the config file</font></p>
<p><font size="-1"> Config errors and crashes are now logged to service.log when
in service mode.</font></p>
<p><font size="-1">* Implemented a new win32 debugger to make fixing bugs much
easier.</font></p>
<p><font size="-1">* Added a win32 installer to simplify installing under Windows.</font></p>
<p><font size="-1">* AKILL/RAKILL is deprecated. Server command still works but
will be removed eventually (aliases to TKL G). For normal opers it notices that
the commands are deprecated.</font></p>
<p><font size="-1">Made the config parser smarter when it comes to time values
and size values. Entries are no longer limited to 1d2h1m. You can now enter
&quot;1day 2 hours 1 minute&quot; for example. See doc/conf.doc for more information.</font></p>
<p><font size="-1">* The oper override code has been rewritten to be less intrusive.
You can now no longer automatically join a channel for which you must override
a mode. You must /invite yourself to the channel. The idea behind this is it
prevents the accidental &quot;rejoin on kick&quot; ban override and joining
a +s channel without realizing it is +s and therefore you shouldn't know it
exists.</font></p>
<p><font size="-1">* If you use the SSL features of Unreal, you should use OpenSSL
0.9.6e or later. This is important as the older versions may make the program
exploitable. See http://www.openssl.org for more information</font></p>
<p><font size="-1">* We have made a lot of changes to deal with SSL, and if you
find any flaws or problems, please contact the coder team. We however think
that the changes will make SSL more transparent and make it work more efficiently.</font></p>
<p><font size="-1">* Added technical documentation in doc/technical. This directory
will contain information about the protocol used by Unreal.</font></p>
<p><font size="-1">* Added EGD support for SSL. EGD allows entropy to be gathered
on systems that do not have a random device (/dev/random or /dev/urandom) or
have an unreliable random device. Unreal has been tested using EGADS (http://www.securesoftware.com/egads.php)
[With EGD support enabled], PRNGD (http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html),
and EGD (http://egd.sourceforge.net). Other EGD compatible programs should work
as well.</font></p>
<p><font size="-1">* We have created a new complete set of docs! doc/unreal32docs.html
is now a complete<br>
set of docs! It is still not finished, however it contains atleast what was
already<br>
avail. in the other doc files. <br>
It can also be view online @ http://www.unrealircd.com/unreal32docs.html</font></p>
<p><font size="-1">* We have removed ./Setup - Please read the new docs for information
on configuring &amp;<br>
setting up Unreal3.2</font></p>
<p><font size="-1">* Removed makeconf - Read the docs to make a config file</font></p>
<p><font size="-1">* Added set::ssl::options with the following options:<br>
fail-if-no-clientcert - If SSL client connects and doesn't provide a client<br>
certificate, abort connection immediately<br>
verify-certificate - Check the certificate's validity using X509 methods, check if<br>
we trust CA's, etc. <br>
It however does slip self signed certificates through UNLESS<br>
no-self-signed - Don't allow self-signed certificates through (requires<br>
verify-certificate)</font></p>
<p><font size="-1">* Added the ability specify which CA's are trusted using set::ssl::trusted-ca-file</font></p>
<p><font size="-1">* A new configuration system has been added. The system is a bit more strict (meaning it
will complain more often) but it will never crash due to configuration errors, just
display a message saying errors exist.</font></p>
<p><font size="-1">* SVSLUSERS was added to all U:lines to change local and global max user counts (this is
NOT meant so you can make the max count higher than it really should be.)</font></p>
<p><font size="-1">* A new oper flag, can_override/v has been added. This is an attempt to stop oper abuse.
All opers can no longer use oper-override, this oflag MUST be in place for oper-override
to be allowed. Can_override is NOT assumed to be present no matter what your flags,
meaning you could be +N but still not be allowed to use oper-override.</font></p>
<p><font size="-1">* UNKLINE and UNZLINE have been removed in favor of a system like G:lines, to remove you
now /kline -user@host or /zline -user@host</font></p>
<p><font size="-1">* MAKE SURE YOU RERUN ./Config AND RUN make clean BEFORE USING
THIS VERSION!!!</font></p>
<p> </p>
<p> </p>
<p><font size="+2"><strong>Notes on compatibility</strong><a name="notesoncompatibility" id="notesoncompatibility"></a></font><br>
</p>
<p>Unreal 3.2 is ONLY compatible with Unreal3.1.4 and Unreal3.2 servers. DO NOT
ATTEMPT to link to servers that it is NOT compatible with.</p>
<p>
</body>
</html>
+57 -1
View File
@@ -2,7 +2,12 @@
Some minor rules about patches & modifications to UnrealIRCd
1. When making a change, always add a small description in Changes, in the
BOTTOM
BOTTOM. Be sure to mention the bugid# (or muliple id's) if you are fixing
a bug from a bugtracker, and be sure to credit the reporter. Use:
'Fixed blahblahblah, reported by Blah (#0001234).'
Or, for example, for features:
'Added support for blahbalbvdshd, suggested by Blah (#0001235).'
Or something similar ;)
2. If new files are made, it must contain proper copyright headers,
and a $Id$ somewhere.
@@ -39,3 +44,54 @@ Some minor rules about patches & modifications to UnrealIRCd
8. We do NOT rip people off. If we use other people's code, it MUST be
properly credited.
9. We generally use tabsize 4 and 8. In any case, use tabs and NOT spaces.
Some code is old and horrible and has a mix of tabs and spaces used for
spacing, that's something we do not want to have ;)
10. Be careful about overflows. As you know a line from a user can never be longer
than 511 (510?) characters, sometimes you can use this knowledge to your
advantage. Whenever it's not safe or when you don't know what input size you
can expect, use strlcpy instead of strcpy. Do not ever use strncpy, this is
older, slower, and does not add proper zero termination.
For the same reason, use snprintf if really needed. Note though, that using
ircsprintf with a bigger buffer (eg: 1024 bytes) is MUCH faster, so preferably
use that instead of snprintf. The same can be true for strcpy vs strlcpy in
some circumstances as well.
11. Speed. When optimizing or writing code, keep in mind that readability and
stability comes first, and after that comes speed. So we'd rather prefer some
readable code (even if difficult) over some odd highly optimized routine which
nobody understands, is difficult to extend, and might have several bugs.
As mentioned earlier: use ircsprintf, not sprintf (this is because ircsprintf
is optimized for simple strings like the ones we use).
Prefer ircsprintf with a bigger buffer over the use of snprintf, since
ircsprintf is much faster.
12. Initialize your structs and use the proper memory calls.
In UnrealIRCd we use MyMalloc, MyMallocEx and MyFree (so not malloc/free).
MyMalloc usually maps to malloc, and MyMallocEx is a malloc plus filling
the memory area (eg: the struct) with zero's (a la calloc).
Use of MyMallocEx is suggested. In general you should not be using MyMalloc.
"But MyMalloc is faster!" you might say. This is true, but using MyMallocEx
has very little speed impact and enourmous benefits: people tend to forget
to set certain fields in the struct to NULL, or much more common: when
someone later on (eg: 1 year later) adds a field to a struct, there could
be several places he/she needs to update to make sure x->something is NULL
after allocating a new struct. Bad idea.
Little speed impact, huge stability benefits, easy decision ;).
13. Comment your code! This should speak for itself...
Put comments wherever you think they are needed, to aid any further coders
with reading your code.. and, in fact, it will aid yourself as well if you
would look back at your code 2 years later.
If there's some obscure pitfall, do mention it! Don't just "hope" a next
author will see it like you did.
14. Use enums whenever possible, rather than #define constants. Besides making
things more clean, it also aids debugging.
15. Whenever you add a new directive or setting, be sure to add documentation
for it in unreal32docs, and for new commands in help.conf as well.
16. Whenever you add a new set:: item, be sure to add it to /stats S
+97 -31
View File
@@ -1,43 +1,109 @@
==[ IMPORTANT MESSAGE ABOUT DISABLING NOSPOOF ]==
Disabling NOSPOOF at windows (w9x, nt, w2k, xp) is NOT recommended since this
will allow users to use "spoofed hosts" (like the IP of someone you trust).
WILL allow users to use "spoofed hosts" (like the IP of someone you trust).
If you got problems with NOSPOOF fix your client (bot?) instead (you should
PONG back to the initial PING at connect).
If you have problems with NOSPOOF, fix your client (bot?) instead (you should PONG
back to the initial PING at connect).
==[ HOW TO COMPILE UNREALIRCD WITHOUT SSL AT WINDOWS ]==
First of all you need Microsoft Visual C++, compiling with cygwin
is not supported.
==[ GENERAL GUIDELINES ]==
First of all you need Microsoft Visual C++ (see below), compiling with
cygwin is not supported (nor is there any good reason to do so).
== "old" VC++ 6.0 ==
1. You need the Platform SDK (PSDK)
Grab it at: http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ ->
core sdk -> install this sdk.
Note that this can take some time to download because it's >200Mb
(450mb installed) [!].
2. To compile:
start -> programs -> platform sdk blabla -> open build env. -> (choose os) ->
set blabla build env (debug). This will launch a DOS window.
3. Go to your UnrealIrcd dir (like: cd \dev\unreal3.2) and then compile with:
nmake -f makefile.win32
This will generate a wircd.exe and unreal.exe
4. Copy the src\win32\tre.dll to your UnrealIrcd main dir.
5. Done!
Compatible compilers:
cygwin NOT supported. Will not work. Should be no reason to use this anyway.
msvc 6.x Microsoft Visual Studio 6 does not work, this compiler is too old.
msvc 7.x Microsoft Visual Studio 7.x (.NET) will work just fine
msvc 8.x Microsoft Visual Studio 8.x (.NET 2005), including the free kit,
should work fine (since Unreal3.2.5).
== VC++ 7.x (.NET) ==
If you don't have the paid version of Microsoft Visual Studio 7.x, then you can
use the FREE development kit and PSDK as explained below:
1. Download the MS Visual Studio Development kit at:
http://msdn.microsoft.com/visualc/vctoolkit2003/
2. Install the Platform Software Development Kit (PSDK) from:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
3. NOTE: Whenever you need to compile something we say 'Start the Visual Studio
.NET Command Prompt' below, but you - a person using the free version - will
actually have to start the Platform SDK Prompt instead (check out the
Start Menu).
== Simple compile (no SSL/ZIP/Remote includes) ==
1. Start the Visual Studio .NET Command Prompt
2. Go to your UnrealIrcd dir (like: cd \dev\unreal3.2) and then compile with:
2. Go to your UnrealIRCd dir (like: cd \dev\unreal3.2) and then compile with:
nmake -f makefile.win32
This will generate a wircd.exe and unreal.exe
3. Copy the src\win32\tre.dll to your UnrealIrcd main dir.
3. Copy the src\win32\tre.dll to your UnrealIRCd main dir.
4. Done!
==[ HOW TO COMPILE UNREALIRCD WITH SSL AT WINDOWS ]==
Ouch, that's much work ;).
You need to compile openssl yourself.
Then have a look at makefile.win32 for instruction on how
to enable / specify path / etc...
DO NOT ask us for help with compiling openssl!
== Compiling modules ==
1. Put your module (the .c file) in src\modules (eg: c:\dev\unreal3.2\src\modules).
2. Start the Visual Studio .NET Command Prompt
3. Go to your UnrealIRCd dir (like: cd \dev\unreal3.2).
4. Compile the module with:
nmake -f makefile.win32 custommodule MODULEFILE=<name>
<name> is the name of the module WITHOUT the .c suffix, so if your
module has the filename 'm_crappymod.c', then you use:
nmake -f makefile.win32 custommodule MODULEFILE=m_crappymod
5. Done. A .dll file should have been created.
==[ AND ZIP LINKS SUPPORT? ]==
See makefile.win32 for instructions.
If you compiled with VC7 and used the official source (not a CVS version,
but for example 3.2.1 source) then the module should work on all these
versions (binary compatible) and you could for example put them on
your website so users can download them.
Such a module will work on both SSL and non-SSL, there should be no need
for separate versions... unless, of course, you use SSL-specific code in your
mod.
DO NOT download a CVS version & compile your mod and then start
distributing the .dll for use at another (non-CVS) version!!
Every time we change a struct (and in some other cases) it makes the
binary/module binary incompatible which practically means that your module
might seem to work fine at first (or not..) but will CRASH or cause memory
corruption and other subtle errors.
== COMPILING WITH ZIP LINKS / SSL / REMOTE INCLUDES SUPPORT ==
First of all, DO NOT use any precompiled libs from the official
zlib/openssl/curl sites. We require certain compile parameters.
Versions downloaded from such sites will often CRASH.
The easiest is to download the UnrealIRCd development package
which contains zlib, openssl and curl precompiled for you.
See: www.vulnscan.org/unrealwin32dev/
Just extract it somewhere (eg: to c:\dev).
Then, use compile flags to enable the features + specify where to look.
Here are examples if you used c:\dev:
ZIP: nmake -f makefile.win32 USE_ZIPLINKS=1 ZLIB_INC_DIR="c:\dev\zlib" ZLIB_LIB_DIR="c:\dev\zlib\dll32"
SSL: nmake -f makefile.win32 USE_SSL=1 OPENSSL_INC_DIR="c:\dev\openssl\include" OPENSSL_LIB_DIR="c:\dev\openssl\lib"
CURL: nmake -f makefile.win32 USE_REMOTEINC=1 LIBCURL_INC_DIR="c:\dev\curl\include" LIBCURL_LIB_DIR="c:\dev\curl\lib"
Obviously you can (and probably will) combine all these options, like
to build a zip+ssl+curl version (all in 1 line):
nmake -f makefile.win32 USE_ZIPLINKS=1 ZLIB_INC_DIR="c:\dev\zlib" ZLIB_LIB_DIR="c:\dev\zlib\dll32"
USE_SSL=1 OPENSSL_INC_DIR="c:\dev\openssl\include" OPENSSL_LIB_DIR="c:\dev\openssl\lib" USE_REMOTEINC=1
LIBCURL_INC_DIR="c:\dev\curl\include" LIBCURL_LIB_DIR="c:\dev\curl\lib"
== SYMBOL FILES ==
If you get something like this:
Creating library L_COMMANDS.lib and object L_COMMANDS.exp
M_OPER.obj : error LNK2019: unresolved external symbol _sendto_snomask_global re
ferenced in function _m_oper
(note: the exact name of the symbol will vary)
Then you will have to rebuild the wircd.def symbol file. You do this by
downloading http://www.vulnscan.org/tmp/dlltool.exe and putting the file somewhere
in your path (eg: c:\winnt\system32).
Then, to compile you do this:
nmake -f makefile.win32 [your other options here]
nmake -f makefile.win32 SYMBOLFILE
nmake -f makefile.win32 [your other options here]
So basically you just run 'nmake -f makefile.win32 SYMBOLFILE' and then restart
compiling again.
== COMPILING ZLIB/SSL/CURL YOURSELF ==
This is off-topic and not explained here.
Again, use the stuff from the win32 development pack unless you have a good
reason to do otherwise (in which case we might not support your self-compiled version
because we work with specific versions / compile options).
+77 -69
View File
@@ -14,9 +14,11 @@
* closing } line. The IRCd will ignore commented lines.
*
* PLEASE READ doc/unreal32docs.html! The online version is also available at:
* www.vulnscan.org/UnrealIrcd/unreal32docs.html
* www.vulnscan.org/UnrealIRCd/unreal32docs.html
* It contains a lot information about the configfile: gives information about
* every block, variable, etc..
* If you try to edit this file without reading the documentation properly
* then you are pretty much guaranteed to fail!
*/
/* Type of comments */
@@ -26,10 +28,17 @@
#those lines are ignored by the ircd.
/*
* At *NIX UnrealIrcd supports modules.
* Loading the commands module is required:
* UnrealIRCd supports modules, loading some of them is required.
* You need at least the commands module and a cloaking module.
*/
loadmodule "src/modules/commands.so";
/* FOR *NIX, uncomment the following 2lines: */
//loadmodule "src/modules/commands.so";
//loadmodule "src/modules/cloak.so";
/* FOR Windows, uncomment the following 2 lines: */
//loadmodule "modules/commands.dll";
//loadmodule "modules/cloak.dll";
/*
* You can also include other configuration files.
@@ -65,7 +74,8 @@ me
/*
* NEW: admin {}
* OLD: A:Line Admin gives information on the server admin. you
* OLD: A:Line
* Admin gives information on the server admin. you
* may put as many lines under admin { as you wish.
* Syntax is as follows:
* admin {
@@ -180,39 +190,10 @@ allow channel {
* };
*/
/* OLD OPER FLAG | NEW FLAG NAME
O global
o local
a services-admin
A admin
r can_rehash
D can_die
R can_restart
h helpop
w can_wallops
g can_globops
c can_localroute
L can_globalroute
k can_localkill
K can_globalkill
b can_kline
Z can_gzline
t can_gkline
B can_unkline
n can_localnotice
G can_globalnotice
N netadmin
C coadmin
z can_zline
W get_umodew
H get_host
v can_override
*/
/*
Note: netadmin gives you OaAN
admin and services-admin give you o as well
*/
/* For a list of oper flags, see doc/unreal32docs.html#operblock
* [HIGHLY recommended to read]
*/
oper bobsmith {
class clients;
@@ -223,9 +204,13 @@ oper bobsmith {
flags
{
netadmin;
can_zline;
can_gzline;
can_gkline;
global;
};
};
/*
* NEW: listen {}
* OLD: P:Line
@@ -277,6 +262,14 @@ listen *:6697
listen *:8067;
listen *:6667;
/* NOTE: If you are on an IRCd shell with multiple IP's you are
* likely to get 'Address already in use' errors in your log
* and the ircd won't start. This means you MUST bind
* to a specific IP instead of '*', so for example:
* listen 1.2.3.4:6667;
* Obviously, replace the IP with the IP that was assigned to you.
*/
/*
* NEW: link {}
* OLD: C/N:Lines
@@ -297,9 +290,9 @@ listen *:6667;
* options {
* (options here*);
* };
* /* If we use SSL, we can choose what cipher to use in SSL mode
* * Retrieve a list by "openssl ciphers", seperate ciphers with :'s
* */
* // If we use SSL, we can choose what cipher to use in SSL mode
* // Retrieve a list by "openssl ciphers", separate ciphers with :'s
*
* ciphers "DES-CBC3-MD5";
*
* };
@@ -327,9 +320,7 @@ link hub.mynet.com
password-receive "LiNk";
class servers;
options {
/* Note: You should not use autoconnect when linking
* services
*/
/* Note: You should not use autoconnect when linking services */
autoconnect;
ssl;
zip;
@@ -374,8 +365,6 @@ drpass {
*
* FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
*
* NOTICE: Right now, SEGV messages are *always* sent to ircd.log. codemastr is
* working on a way to redirect the messages to this log file. *
* Syntax:
* log "log file"
* {
@@ -399,6 +388,10 @@ log "ircd.log" {
server-connects;
kills;
errors;
sadmin-commands;
chg-commands;
oper-override;
spamfilter;
};
};
@@ -410,7 +403,7 @@ log "ircd.log" {
*
* Syntax:
* alias "name" {
* nick "points to";
* target "points to";
* type aliastype;
* };
*
@@ -419,14 +412,14 @@ log "ircd.log" {
// This points the command /nickserv to the user NickServ who is connected to the set::services-server server
/*alias NickServ {
nick "NickServ";
target "NickServ";
type services;
};*/
// If you want the command to point to the same nick as the command, you can leave the nick entry out
//alias ChanServ { type services; };
// Points the /statserv command to the user StatServ on the set::stats-name server
// Points the /statserv command to the user StatServ on the set::stats-server server
//alias StatServ { type stats; };
// Points the /superbot command to the user SuperBot
@@ -448,7 +441,7 @@ alias StatServ { type stats; };
* Syntax:
* alias "name" {
* format "format string" {
* nick "points to";
* target "points to";
* type aliastype;
* parameters "parameters to send";
* };
@@ -461,12 +454,12 @@ alias StatServ { type stats; };
/*
alias "identify" {
format "^#" {
nick "chanserv";
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
nick "nickserv";
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
@@ -481,18 +474,19 @@ alias "identify" {
/* The alias::format::parameters is similar to scripting languages. %N (where N is a number) represents a
* parameter sent to the command (in this case /identify). If you specify %N- it means all parameters from
* N until the last parameter in the string.
* N until the last parameter in the string. You may also specify %n which is replaced by
* the user's nickname.
*/
/* Standard aliases */
alias "services" {
format "^#" {
nick "chanserv";
target "chanserv";
type services;
parameters "%1-";
};
format "^[^#]" {
nick "nickserv";
target "nickserv";
type services;
parameters "%1-";
};
@@ -501,18 +495,30 @@ alias "services" {
alias "identify" {
format "^#" {
nick "chanserv";
target "chanserv";
type services;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
nick "nickserv";
target "nickserv";
type services;
parameters "IDENTIFY %1-";
};
type command;
};
/* This is an example of a real command alias */
/* This maps /GLINEBOT to /GLINE <parameter> 2d etc... */
alias "glinebot" {
format ".+" {
command "gline";
type real;
parameters "%1 2d Bots are not allowed on this server, please read the faq at http://www.example.com/faq/123";
};
type command;
};
/*
* NEW: tld {}
@@ -533,6 +539,11 @@ tld {
rules "ircd.rules.fr";
};
/* note: you can just delete the example block above,
* in which case the defaults motd/rules files (ircd.motd, ircd.rules)
* will be used for everyone.
*/
/*
* NEW: ban nick {}
* OLD: Q:Line
@@ -696,14 +707,16 @@ set {
help-channel "#ROXnet";
hiddenhost-prefix "rox";
/* prefix-quit "no"; */
/* Your cloak keys should be 3 random numbers between 10000 and 2147483646
* and should be the same at all servers on the network.
/* Cloak keys should be the same at all servers on the network.
* They are used for generating masked hosts and should be kept secret.
* The keys should be 3 random strings of 5-100 characters
* (10-20 chars is just fine) and must consist of lowcase (a-z),
* upcase (A-Z) and digits (0-9) [see first key example].
*/
cloak-keys {
9666;
3333;
3330;
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
"and another one";
"and another one";
};
/* on-oper host */
hosts {
@@ -724,11 +737,6 @@ set {
modes-on-connect "+ixw";
modes-on-oper "+xwgs";
oper-auto-join "#opers";
dns {
nameserver 127.0.0.1;
timeout 2s;
retries 2;
};
options {
hide-ulines;
/* You can enable ident checking here if you want */
@@ -755,7 +763,7 @@ set {
*/
oper-only-stats "okfGsMRUEelLCXzdD";
/* Throttling: this example sets a limit of 3 connections per 60s (per host). */
/* Throttling: this example sets a limit of 3 connection attempts per 60s (per host). */
throttle {
connections 3;
period 60s;
@@ -777,8 +785,8 @@ set {
/*
* Problems or need more help?
* 1) www.vulnscan.org/UnrealIrcd/unreal32docs.html
* 2) www.vulnscan.org/UnrealIrcd/faq/ <- contains 80% of your questions!
* 1) www.vulnscan.org/UnrealIRCd/unreal32docs.html
* 2) www.vulnscan.org/UnrealIRCd/faq/ <- contains 80% of your questions!
* 3) If you still have problems you can go irc.ircsystems.net #unreal-support,
* note that we require you to READ THE DOCUMENTATION and FAQ first!
*/
-53
View File
@@ -1,53 +0,0 @@
/*
* Example set {} block
*/
set {
/*
* This is the mail users will get shown when k-lined
*/
kline-address "mail.to.mail.to";
/*
* What modes will users get when connecting to this server
*/
modes-on-connect "+ix";
/* What channels users will autojoin */
auto-join "0";
/* What channels opers will autojoin on connect*/
oper-auto-join "0";
dns {
/* What IP has our DNS server got? */
nameserver 127.0.0.1;
/* How long time will we wait for each attempt? */
timeout 2s;
/* How many attempts will we do */
retries 2s;
};
options {
enable-opermotd;
enable-chatops;
hide-ulines;
// webtv-support;
identd-check;
};
/*
* How many channels each user can join
*/
maxchannelsperuser 10;
/*
* This is a new thing in Unreal3.2.
* You _need_ to make three numbers up, bigger than 100000
* These MUST be the SAME on EVERY server in your NETWORK
* If people discover these keys, it is easier for them to crack
* the +x algoritm.
*/
cloak-keys
{
0;
0;
0;
};
};
+73 -8
View File
@@ -1,5 +1,4 @@
Numeric 005 Documentation (c) 2002 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
(As of Unreal3.2-beta11)
Numeric 005 Documentation (c) 2002-2005 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
Numeric 005 allows the server to inform the client of any protocol specific features in the
IRCd. The numeric is sent at connection time immediately after numeric 004. Additionally
@@ -17,13 +16,23 @@ by this server"
Currently UnrealIRCd supports several tokens that are included in numeric 005. A list of
all tokens, their respective value and a brief description are listed below.
Unreal attempts to follow the proposed ISupport standard as much as possible. Unreal only
ignores the standard in one regard, the TARGMAX token. This token is believed to be
impractical and technically impossible to correctly implement due to existing limitations
in the standard. Therefore, this token is not currently supported.
Unreal does additionally provide a few tokens which are not specified in the standard, these
include: HCN, AWAYLEN, WATCH, SILENCE, EXTBAN, ELIST, and CMDS. Unreal also maintains a few
legacy tokens such as MAXCHANNELS and WALLCHOPS to ensure compatibility until the ISupport
standard is more widely accepted by clients.
Token Value Default Value Description
------------------------------------------------------------------------------------------------
MAP none none Informs the client that the /map
command is present.
command is present. [Obsolete]
KNOCK none none Informs the client that the /knock
command is present.
command is present. [Obsolete]
SAFELIST none none The LIST command is sent in
multiple iterations so that the
@@ -34,10 +43,11 @@ HCN none none The server supports t
(Hybrid Connect Notice) protocol.
MAXCHANNELS number 10 The maximum number of channels a
user may join.
user may join. [Deprecated]
MAXBANS number 60 The maximum number of bans that
may be placed for a channel.
[Obsolete]
NICKLEN number 30 Maximum length of a user's
nickname.
@@ -55,6 +65,7 @@ AWAYLEN number 307 Maximum length of an
WALLCHOPS none none Indicates that you may use
NOTICE/PRIVMSG to send to +ohv by
using PRIVMSG/NOTICE [@|%|+]#channel.
[Deprecated]
WATCH number 128 Indicates the presence of the
WATCH command and specifies the
@@ -74,8 +85,8 @@ PREFIX (modes)prefixes (qaohv)~&@%+ Indicates the modes o
that corespond to the given
nickname prefixes.
CHANMODES A,B,C,D be,k,lfL, Specifies how each channel mode is
psmntirRcOAQKVHGCuzN set/unset. The A section specifies
CHANMODES A,B,C,D be,kfL,lj, Specifies how each channel mode is
psmntirRcOAQKVHGCuzNSMT set/unset. The A section specifies
modes that add a nick/mask to a
list. The B section specifies
modes that require a parameter
@@ -95,8 +106,62 @@ CASEMAPPING string ascii Specifies what defini
characters are upper/lowercase
of eachother.
EXTBAN prefix,types ~,cqr Specifies what extbans are
EXTBAN prefix,types ~,cqnr Specifies what extbans are
supported by the server. The prefix
defines which character indicates
an extban and the types defines
which extbans the server supports.
ELIST flags MNUCT Specifies the set of extended LIST
options supported. The M flag
indicates mask based searching,
the N flag indicates negative
mask based searching. The U flag
means support for user count
searching. The C flag allows channel
creation time searching, and the T
flag allows topic set time
searching.
CMDS commands MAP,KNOCK,DCCALLOW,USERIP Specifies a series of commands that
can be useful for the client to know
exist as they may provide a more
efficient means for the client to
accomplish a specific task. This
token replaces the MAP and KNOCK
tokens.
STATUSMSG flags ~&@%+ Specifies the mode flags that may
prefix a channel name in a PRIVMSG
or NOTICE to limit who receives the
message to only those with a certain
level of access. This token will
replace the WALLCHOPS token.
EXCEPTS none none Indicates that channel ban exceptions
(+e) are supported by the server.
INVEX none none Indicates that channel invite
exceptions (+I) are supported by
the server.
MAXLIST mode:num,... b:60,e:60,I:60 Specifies the maximum number of
entries that may be added to a
particular mode list (type A modes).
This token replaces MAXBANS.
CHANLIMIT pfx:num,... #:10 Specifies the maximum number of
channels with the specified prefix
that a user may join at one time.
This token will replace MAXCHANNELS.
CHANNELLEN number 32 Provides the maximum length of a
channel name that a user can create.
NAMESX none none Indicates that extended /NAMES info
is available on this server. If the
client sends "PROTOCTL NAMESX" then
the server will, from then on, send
all channel rights in a NAMES reply
instead of only the highest right
(eg: @+Person instead of @Person).
+11
View File
@@ -128,3 +128,14 @@ ZIP If both servers have this set then the link will be (zlib) compres
TKLEXT This allows 10 instead of 8 parameters in TKL's for spamfilter, see s_kline.c
function m_tkl for more info on this (added in 3.2RC2).
NICKIP This token indicates that a (standard) base64 encoded IP address is included
in the NICK command. The IP is in binary network byte order formated and
encoded using the standard base64 algorithm. '*' is used if no IP is available.
NICKCHARS This specifies a list of language characters that are allowed in nicks.
USMARC codes are used, with a suffix if needed. See src/charsys.c for the full
list (ctrl+f, static LangList) of possible languages (2nd column).
The items in the list sent as NICKCHARS=.. must always be sorted.
If a server sends NICKCHARS= and if the remote parameters do not match the
charsets in use locally, then the server link is rejected.
+465
View File
@@ -0,0 +1,465 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- $Id$ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Unreal 3.2 Protocol Documentation</title>
</head>
<body>
<h1 style="text-align: center;">Unreal 3.2 Protocol Documentation</h1>
<h3 style="text-align: center;">Last update: 29 November 2006</h3>
<h1>Table of Contents</h1>
<p><a href="#S1">1 Introduction</a></p>
<p><a href="#S2">2 Server Negotiation</a></p>
<blockquote><p><a href="#S2_1">2.1 PASS - Connection Password</a></p></blockquote>
<blockquote><p><a href="#S2_2">2.2 PROTOCTL - Server Protocol Negotiation</a></p></blockquote>
<blockquote><p><a href="#S2_3">2.3 SERVER - Server Negotiation</a></p></blockquote>
<blockquote><p><a href="#S2_4">2.4 EOS - End Of Synch</a></p></blockquote>
<blockquote><p><a href="#S2_5">2.5 NETINFO - Network Information</a></p></blockquote>
<p><a href="#S3">3 User Operations</a></p>
<blockquote><p><a href="#S3_1">3.1 NICK - User Introduction and Nick Change</a></p></blockquote>
<blockquote><blockquote><p><a href="#S3_1_1">3.1.1 Nick Collisions</a></p></blockquote></blockquote>
<blockquote><p><a href="#S3_2">3.2 MODE, UMODE2 - User Mode Change</a></p></blockquote>
<blockquote><p><a href="#S3_3">3.3 QUIT - User Disconnect</a></p></blockquote>
<blockquote><p><a href="#S3_4">3.4 KILL - Force Disconnect</a></p></blockquote>
<blockquote><p><a href="#S3_5">3.5 SETHOST/CHGHOST - Change virtual host</a></p></blockquote>
<blockquote><p><a href="#S3_6">3.6 SETIDENT/CHGIDENT - Change a user's username</a></p></blockquote>
<blockquote><p><a href="#S3_7">3.7 SETNAME/CHGNAME - Change a user's realname</a></p></blockquote>
<blockquote><p><a href="#S3_8">3.8 WHOIS - User Information</a></p></blockquote>
<p><a href="#S1">4 Server Operations</a></p>
<blockquote><p><a href="#S4_1">4.1 SERVER - Server Introduction</a></p></blockquote>
<blockquote><p><a href="#S4_2">4.2 SQUIT - Server Removal</a></p></blockquote>
<blockquote><p><a href="#S4_3">4.3 SDESC - Server Description</a></p></blockquote>
<blockquote><p><a href="#S4_4">4.4 PING - Live Connection Query</a></p></blockquote>
<blockquote><p><a href="#S4_5">4.5 PONG - Live Connection Reply</a></p></blockquote>
<blockquote><p><a href="#S4_6">4.6 STATS - Server Stats</a></p></blockquote>
<p><a href="#S5">5 Channel Operations</a></p>
<blockquote><p><a href="#S5_1">5.1 SJOIN - Channel Burst</a></p></blockquote>
<blockquote><p><a href="#S5_2">5.2 JOIN - Channel Join</a></p></blockquote>
<blockquote><p><a href="#S5_3">5.3 PART - Channel Part</a></p></blockquote>
<blockquote><p><a href="#S5_4">5.4 KICK - Channel Kick</a></p></blockquote>
<blockquote><p><a href="#S5_5">5.5 MODE - Channel Mode</a></p></blockquote>
<blockquote><p><a href="#S5_6">5.6 INVITE - Invite a user to a channel</a></p></blockquote>
<blockquote><p><a href="#S5_7">5.7 SAJOIN - Channel Force Join</a></p></blockquote>
<blockquote><p><a href="#S5_8">5.8 SAPART - Channel Force Part</a></p></blockquote>
<blockquote><p><a href="#S5_9">5.9 SAMODE - Channel Force Mode</a></p></blockquote>
<blockquote><p><a href="#S5_10">5.10 TOPIC - Chanel Topic</a></p></blockquote>
<p><a href="#S6">6 Services Commands</a></p>
<blockquote><p><a href="#S6_1">6.1 SVSKILL - Force Disconnect by Service</a></p></blockquote>
<blockquote><p><a href="#S6_2">6.2 SVSMODE, SVS2MODE - Force User Mode Change</a></p></blockquote>
<blockquote><p><a href="#S6_3">6.3 SVSSNO, SVS2SNO - Forced SNomask Change</a></p></blockquote>
<blockquote><p><a href="#S6_4">6.4 SVSNICK - Forced Nick Change</a></p></blockquote>
<blockquote><p><a href="#S6_5">6.5 SVSJOIN - Forced Join</a></p></blockquote>
<blockquote><p><a href="#S6_6">6.6 SVSPART - Forced Part</a></p></blockquote>
<blockquote><p><a href="#S6_7">6.7 SVSO - Oper Permissions</a></p></blockquote>
<blockquote><p><a href="#S6_8">6.8 SVSNOOP - Oper Lockdown</a></p></blockquote>
<blockquote><p><a href="#S6_9">6.9 SVSNLINE - RealName Ban</a></p></blockquote>
<blockquote><p><a href="#S6_10">6.10 SVSFLINE - File Ban</a></p></blockquote>
<p><a href="#S7">7 Messaging</a></p>
<blockquote><p><a href="#S7_1">7.1 PRIVMSG, NOTICE - Simple Message Transmission</a></p></blockquote>
<blockquote><p><a href="#S7_2">7.2 SENDUMODE, SMO - Usermode-based Delivery</a></p></blockquote>
<blockquote><p><a href="#S7_3">7.3 SENDSNO - SNomask-based Delivery</a></p></blockquote>
<blockquote><p><a href="#S7_4">7.4 CHATOPS - IRCop Chat</a></p></blockquote>
<blockquote><p><a href="#S7_5">7.5 WALLOPS - Wallop Chat</a></p></blockquote>
<blockquote><p><a href="#S7_6">7.6 GLOBOPS - FailOp Chat</a></p></blockquote>
<blockquote><p><a href="#S7_7">7.7 ADCHAT - Admin Chat</a></p></blockquote>
<blockquote><p><a href="#S7_8">7.8 NACHAT - NetAdmin Chat</a></p></blockquote>
<p><a href="#S8">8 Ban Control</a></p>
<blockquote><p><a href="#S8_1">8.1 TKL - Master Ban Control</a></p></blockquote>
<blockquote><blockquote><p><a href="#S8_1_1">8.1.1 GLINE - Network-wide user@host ban</a></p></blockquote></blockquote>
<blockquote><blockquote><p><a href="#S8_1_2">8.1.2 GZLINE - Network-wide IP ban</a></p></blockquote></blockquote>
<blockquote><blockquote><p><a href="#S8_1_3">8.1.3 SQLINE, UNSQLINE - Network-wide Nickname ban</a></p></blockquote></blockquote>
<blockquote><blockquote><p><a href="#S8_1_4">8.1.4 SPAMFILTER - Message Spam Filtration System</a></p></blockquote></blockquote>
<p><a href="#S9">9 Base64 Tables</a></p>
<blockquote><p><a href="#S9_1">9.1 Table for SJB64 (NICK and SJOIN).</a></p></blockquote>
<blockquote><p><a href="#S9_2">9.2 Table for NICKIP.</a></p></blockquote>
<hr/>
<h1><a name="S1"></a>1 Introduction</h1>
<p>This document describes the UnrealIRCd server-to-server protocol as of protocol 2307 (Unreal 3.2.4).</p>
<h2>A word about clocks.</h2>
<p>Unreal is very time-dependant. Users and channels, for example, are timestamped, and if server clocks are not synchronized properly, things can go very wrong very fast. See <a href="http://vulnscan.org/UnrealIrcd/faq/#67">http://vulnscan.org/UnrealIrcd/faq/#67</a> for more information on this. Note that there is a slight difference between server time and what is actually reported by the UNIX date command or by the C time() function. Unreal can apply an offset to the real time to create the server time, allowing servers to be virtually synchronized when synchronizing the real clocks is not possible (such as on shell servers).
I should make it quite clear that GMT time is used for everything. To be specific, timestamps in unreal are 32-bit integer values (actually, however many bits the time_t type is, which is 32 on 32-bit systems such as x86). This integer value is the number of seconds that have elapsed since Midnight January 1, 1970 GMT (can be referred to as Epoch time in the UNIX world). This means that timezones are no problem, nor is daylight savings time (or whatever your country of choice calls it).</p>
<hr/>
<h1><a name="S2"></a>2 Server Negotiation</h1>
<p>The first step to establish a server-to-server communication is to negotiate the connection as a server. Negotiation is done using standard IRC commands - no PROTOCTL options are in force until the link is established. The first step is to open a TCP/IP connection to the target server. The target port must be one described by a listen {} block in the remote server's configuration, and that listen block must not have the clientsonly option. After the connection is open, you will be treated as any other connection and be greeted with the "Looking up your hostname..." and "Checking identd..." notices as you would for a client. As these are NOTICE messages and your session as a server isn't established, they should simply be ignored. Use the commands below to introduce a server connection.</p>
<h2><a name="S2_1"></a>2.1 PASS - Connection Password</h2>
<p><b>Syntax:</b> <tt>PASS :<i>link password</i></tt></p>
<p>The PASS command is used to transmit the password required for a server link. It must match the password specified in the remote server's link::password-receive (which can be crypted), otherwise the link will be rejected. This should be the first message sent.</p>
<h2><a name="S2_2"></a>2.2 PROTOCTL - Server Protocol Negotiation</h2>
<p><b>Syntax:</b> <tt>PROTOCTL <i>protocol options</i></tt></p>
<p>The PROTOCTL command sets several protocol options. The tokens supported are listed below.</p>
<ul>
<li>NOQUIT : When a netsplit occurs, only send a SQUIT message for each server lost. This server will assume that clients on these servers were also lost and will send the appropriate QUIT messages to local clients and to any non-NOQUIT servers.</li>
<li>TOKEN : Use tokenized commands. Tokens are case-sensitive, shortened versions of command names. Tokens will be usually one or two characters.</li>
<li>NICKv2 : Use extended NICK message for introducing users. See the NICK command for information about this.</li>
<li>VHP : When introducing a user, send his cloaked host as if it were a vhost. Usually used for services to avoid having duplicate code.</li>
<li>SJOIN : Supports SJOIN version 1 which is no longer in use. Use with SJ3.</li>
<li>SJOIN2 : Supports SJOIN version 2 which is no longer in use. Use with SJ3.</li>
<li>UMODE2 : Supports the UMODE2 command, which is a shortened version of MODE for usermode changes.</li>
<li>VL : Supports V:Line information. Extends the SERVER message to include version information used in deny version{} blocks. Note that this is assumed - unreal will always send its own version information.</li>
<li>SJ3 : Supports SJOIN version 3.</li>
<li>NS : Supports server numerics which provides a shorthand for server names. In any circumstance where a :server.name is permitted (the server is the message's real source), @servernumeric may be used instead. In addition, the server.name parameter in the NICK message may be simply the server's numeric. Requires VL support.</li>
<li>SJB64 : Timestamps in NICK and SJOIN are expressed in base64 rather than base10.</li>
<li>TKLEXT : Supports exntended TKL messages for spamfilter support.</li>
<li>NICKIP : Adds an IP parameter to the NICK message, which is the base64 encoding of the user's ip address (in network byte order). Requires NICKv2.</li>
<li>NICKCHARS : Indicates the set of enabled nickchar options (see the regular documention for info about this).</li>
<li>CHANMODES : (Not required to be sent) This is the same as the CHANMODES value in the 005 for client connections. Useful for autodetecting things like what modes are valid for ChanServ MLOCK, for example.</li>
<li>CLK : Supports an extra field in NICK for sending the cloaked host (not vhost).</li>
</ul>
<p>The syntax examples here follow the conventions for TOKEN and also NS in cases of server-only messages.</p>
<h2><a name="S2_3"></a>2.3 SERVER - Server Negotiation</h2>
<p><b>Note:</b> This message is also used for introducing additional servers, the format of this message in those cases is described later.</p>
<p><b>Syntax (normal):</b> <tt>SERVER <i>server.name</i> 1 :<i>server description</i></tt></p>
<p><b>Syntax (with VL):</b> <tt>SERVER <i>server.name</i> 1 :U<i>protocolversion</i>-<i>protocolflags</i> <i>server description</i></tt></p>
<p><b>Syntax (with VL and NS):</b> <tt>SERVER <i>server.name</i> 1 :U<i>protocolversion</i>-<i>protocolflags</i>-<i>servernumeric</i> <i>server description</i></tt></p>
<p>The literal 1 in the parameter list is the hopcount parameter. Since you are a direct link, your own hopcount will be 1.</p>
<p>The server.name is the same as that in the remote server's link:: block. When received from unreal servers, this will be the value of that server's me::name. The protocol version is the numeric protocol version (2306 for example), and the protocol flags are the server's compilation flags (described below). These two fields are checked against the deny version {} blocks in the remote server's configuration. A value of 0 for either field prevents deny version{} checking for that field. The server description can be anything. When received from unreal servers, it'll be the value of me::description.</p>
<p>The following version numbers have been used previously:</p>
<ul>
<li>2309 - Unreal 3.2.6</li>
<li>2308 - Unreal 3.2.5</li>
<li>2307 - Unreal 3.2.4</li>
<li>2306 - Unreal 3.2.3</li>
<li>2305 - Unreal 3.2.2</li>
<li>2304 - Unreal 3.2.1</li>
<li>2303 - Unreal 3.2beta* through 3.2 Release</li>
<li>2302 - Unreal 3.1.1 through 3.1.4</li>
<li>2301 - Unreal 3.1 Release</li>
<li>2300 - Unreal 3.0 Release</li>
</ul>
<p>The compile flags as specified in protocol flags are:</p>
<ul>
<li>c : Server is chrooted (#define CHROOTDIR).</li>
<li>C : Server has command line config (-f option) enabled (#define CMDLINE_CONFIG).</li>
<li>D : Server is in debugmode (#define DEBUGMODE).</li>
<li>F : Using filedescriptor lists.</li>
<li>h : Server is compiled with hub support (#define HUB or answer "Hub" to relevant ./Config prompt).</li>
<li>i : Server shows invisible users in /TRACE.</li>
<li>n : NOSPOOF (pingcookies) is enabled (#define NOSPOOF or answer "Yes" to relevant ./Config prompt).</li>
<li>V : Server is using valloc().</li>
<li>W : Windows IRCd.</li>
<li>Y : Syslog logging enabled.</li>
<li>6 : Server has IPv6 support (#define INET6 or answer "yes" to relevant ./Config prompt).</li>
<li>X : Server has badword stripping (user and channel modes +G) (#define STRIPBADWORDS).</li>
<li>P : Server is using poll().</li>
<li>e : Server has SSL Support (#define USE_SSL or answer "yes" (and have ssl libraries installed) to relevant ./Config prompt).</li>
<li>O : Server has OperOverride enabled (#undef NO_OPEROVERRIDE or answer "no" to relevant ./Config prompt).</li>
<li>o : Server has disabled Oper verify (#undef OPEROVERRIDE_VERIFY or answer "no" to relevant ./Config prompt).</li>
<li>Z : Server has ziplink support (#define ZIP_LINKS or answer "yes" to relevant ./Config prompt AND have the zlib dev libraries).</li>
<li>E : Server has extended channel mode support.</li>
<li>3 : 3rd party modules are loaded or some system libraries are wonky.</li>
<li>m : Private message handling is 'tainted' (one or modules registered a USERMSG hook).</li>
<li>M : Channel message handling is 'tainted' (one or modules registered a CHANMSG hook).</li>
<li>Additional Version flags can be added by 3rd-party modules.</li>
</ul>
<h2><a name="S2_4"></a>2.4 EOS - End Of Synch (TOKEN: ES)</h2>
<p><b>Syntax:</b> ES</p>
<p>Marks the end of the synching process. This is really optional, but it might be a good idea to send it anyway when you really are done synching. Once you send this, unreal will announce &quot;Client connecting&quot; or &quot;Client exiting&quot; notices (to those with snomask +F) for users (unless your server is U:Lined), and joins will be counted toward channel flood controls (chanmode +f).</p>
<p>Sending EOS only marks your server as synched, but does not do so for servers behind you. EOS would need to be sent on those servers' behalf as well.</p>
<h2><a name="S2_5"></a>2.5 NETINFO - Network Information (TOKEN: AO)</h2>
<p><b>Syntax:</b> AO <i>maxglobal</i> <i>currenttime</i> <i>protocolversion</i> <i>cloakhash</i> 0 0 0 :<i>networkname</i></p>
<p>This tells the other server your current network configuration. The max global is the highest number of concurrent users network-wide that this server has seen. The current time is a timestamp value. Protocolversion is the same as that in the SERVER command. Cloakhash is a hash representing the configured cloak keys. It may be a * if you are implementing services. The network name is that specified in set::network-name. The cloak-prefix is currently not sent here (and thus unreal won't generate warning for mismatching cloak prefixes, but they should be the same anyway).</p>
<p>It is NETINFO, not EOS, that triggers the &quot;Link bla bla bla is now synched&quot; notices, but NETINFO does not imply synching is actually complete (see EOS).</p>
<hr/>
<h1><a name="S3"></a>3 User Operations</h1>
<p>One important function of servers is it must notify all other servers about all of the users behind it. These commands represent the operations that can result in the change of a user's global state.</p>
<h2><a name="S3_1"></a>3.1 NICK - User Introduction and Nick Change (TOKEN: &amp;)</h2>
<p><b>Syntax (nick change):</b> <tt>:<i>oldnick</i> &amp; <i>newnick</i> :<i>timestamp</i></tt></p>
<p>This format of the NICK message indicates an existing user is changing his or her nickname. If a collision occurs, see the section on Nick Collisions below. The timestamp is the new nickname's timestamp.</p>
<p><b>Syntax (normal):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> :<i>realname</i></tt>
<p><b>Syntax (NICKv2+NICKIP):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>nickipaddr</i> :<i>realname</i></tt></p>
<p><b>Syntax (NICKv2+NICKIP+CLK):</b> <tt>&amp; <i>nick</i> <i>hopcount</i> <i>timestamp</i> <i>username</i> <i>hostname</i> <i>server</i> <i>servicestamp</i> <i>+usermodes</i> <i>virtualhost</i> <i>cloakhost</i> <i>nickipaddr</i> :<i>realname</i></tt>
<p><b>Note:</b> Because each server normally does its own cloak generation, Unreal does not expect to receive NICK messages with the CLK info, so do not send it. It will send this info to a server it has received a PROTOCTL CLK from however.</p>
<p>This format of the NICK message introduces a new user to the network. If PROTOCTL VHP is enabled, the user's cloaked host is put in the virtualhost field, otherwise it'll be * unless the user is +t. With the addition of CLK, VHP is no longer necessary for determining the cloak host.</p>
<h3><a name="S3_1_1"></a>3.1.1 Nick Collisions</h3>
<p>A nick collision occurs when a server receives a NICK message (or &amp; token) introducing a user that the server already sees on the network. When a collision occurs, one or both of the colliding clients must be disconnected. The timestamp is examined to determine which client loses. The client with the earlier timestamp remains. If both clients have equal timestamps, both are removed. Currently, Unreal handles NICK collisions both passively and agressively:</p>
<ul>
<li><b>Aggressive Handling:</b> The server actively sends a KILL message back across the link to terminate that end's client.</li>
<li><b>Passive Handling:</b> Upon receipt of a NICK message that should "win", the server simply silently exits it's own client.</li>
</ul>
<h2><a name="S3_2"></a>3.2 MODE, UMODE2 - User Mode Change (TOKEN: G or |)</h2>
<p><b>Syntax (MODE):</b> <tt>:<i>user</i> G <i>user</i> <i>modechange</i></tt></p>
<p><b>Syntax (UMODE2):</b> <tt>:<i>user</i> | <i>modechange</i></tt></p>
<p>This indicates a usermode change. The modechange can consist of zero or more strings of characters, each prefixed with either a + or -; the only delimiter between them being said + or -. If no + or - is at the beginning of the mode string, a + should be implied.</p>
<p>Some user modes are never sent between servers. Specifically, usermode +s and +O are not sent between servers. Modules can define additional usermodes that also might not be sent between servers. The UMODE2 saves bandwidth by not including the redundant target field for usermode changes, so use it when possible.</p>
<h2><a name="S3_3"></a>3.3 QUIT - User Disconnect (TOKEN: ,)</h2>
<p><b>Syntax:</b> <tt>:<i>user</i> , :<i>reason</i></tt></p>
<p>This command indicates that a user has disconnected. The reason field is filled in with the reason the user disconnected, which will be any of: quit message provided by the user in a /quit command, kill message for local operator kills, "Client exited" if the user does a brutal quit (clean (by TCP's definition) disconnect without sending a QUIT message), or a socket error message if present.</p>
<p>The QUIT message must NOT be prefixed when passing on to other servers. Only local user quit messages are affected by set::prefix-quit.</p>
<h2><a name="S3_4"></a>3.4 KILL - Force Disconnect (TOKEN: .)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> . <i>target</i> :<i>killpath</i>!<i>source</i> (<i>reason</i>)</tt></p>
<p>Used to indicate that an operator has used KILL on a user not on the same server. Anything beyond the last ! in the kill path is used as the reason. The source (reason) part is simply a standard used by Unreal. As each server passes on a KILL message, it usually prepends the bottommost part (up to the first .) of it's name followed by a ! character. When unreal receives a KILL from a directly connected irc operator, it will usually add that oper's vhost (or realhost if -x) as the first hop in the kill path, then follow with it's own name as mentioned before if it is passing to another server.</p>
<p>A server can also send KILLs on it's own. This is done in cases involving nickname collisions, fake senders, bad direction, and other cases of protocol errors. Usually, in these cases, the server puts it's own name as the source, and also prefixes with <i>bottompart</i>! like for any other ircop on that server. For example: @3 . someone :irc!irc.example.com (Nick collision)</p>
<h2><a name="S3_5"></a>3.5 SETHOST/CHGHOST - Change virtual host (TOKEN: AA or AL)</h2>
<p><b>Syntax (SETHOST):</b> <tt>:<i>source</i> AA <i>newvhost</i></tt></p>
<p><b>Syntax (CHGHOST):</b> <tt>:<i>source</i> AL <i>target</i> <i>newvhost</i></tt></p>
<p>Indicates the change of a user's virtual host. Currently, servers are expected to assume UMODE2 +xt on the target user in both commands. (In the case of SETHOST, the target is the sender.) Servers using PROTOCTL VHP will receive the cloaked host in a SETHOST message when a user activates his cloaked host. A server can also send CHGHOST (from one of it's opered clients) to change a user's hostname. This is generally used by HostServ implementations. To disable a cloaked host, use CHGHOST to set the user's virtual host equal to his real host, or use SVSMODE -xt, but the latter requires services.</p>
<h2><a name="S3_6"></a>3.6 SETIDENT/CHGIDENT - Change a user's username (TOKEN: AD or AZ)</h2>
<p><b>Syntax (SETIDENT):</b> <tt>:<i>source</i> AD <i>newusername</i></tt></p>
<p><b>Syntax (CHGIDENT):</b> <tt>:<i>source</i> AZ <i>target</i> <i>newusername</i></tt></p>
<p>Indicates the change of a user's username. No usermode change is associated with this. Unreal does not use a distinguished virtual username, so servers should only keep the original username (from the NICK message) if they intend to allow the user to reset the original username. Servers can use CHGIDENT to change a user's username.</p>
<h2><a name="S3_7"></a>3.7 SETNAME/CHGNAME - Change a user's realname (TOKEN: AE or BK)</h2>
<p><b>Syntax (SETNAME):</b> <tt>:<i>source</i> AE :<i>newrealname</i></tt></p>
<p><b>Syntax (CHGNAME):</b> <tt>:<i>source</i> BK <i>target</i> :<i>newrealname</i></tt></p>
<p>Indicates the change of a user's realname. No usermode change is associated with this. Unreal does not use a distinguished virtual realname, so servers should only keep the original realname (from the NICK message) if they intend to allow the user to reset the original realname. Servers can use CHGNAME to change a user's username. Note that servers must NOT check that the sender be an IRCop in SETNAME - normal users are permitted to use SETNAME.</p>
<h2><a name="#S3_8"></a>3.8 WHOIS - User Information (TOKEN: #)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> # [<i>from-server</i> ]<i>nick</i></tt></p>
<p>Requests the information on a user. This works exactly like the user /whois command - in fact, the source parameter must be a user, or the command will do nothing. <i>from-server</i> is the server to request the information from; if a server recives a WHOIS message without this parameter, it should return its own information on the user, otherwise it should pass the message to the given server. Note that <i>from-server</i> may name a user instead of a server (such as when a user uses /whois nick nick), in which case the the nick should be interpreted as naming the server that user is on. <i>nick</i> may be several users seperated by commas, but may not contain wildcards.</p>
<p>The reply to a WHOIS message uses the same numeric replies as the user command.</p>
<hr/>
<h1><a name="S4"></a>4 Server Operations</h1>
<p>This is different from server negotiation. Negotiation is when you are first connecting. Server introduction is used for introducing additional servers behind an existing server (aka hubbing). Hubbing is limited as specified by the hub, leaf, and leafdepth parameters in the link block and attempted violation of a hub restriction results in termination of the link. If no hub or leaf directive is given your server is a leaf by default, so any introduction of any server behind you would be an automatic drop. U:Lines don't matter here; services must be configured as a hub in the link block. The reason is U:Line is a permission rule, but hub privilege is a network structure rule.</p>
<h2><a name="S4_1"></a>4.1 SERVER - Server Introduction (TOKEN: ')</h2>
<p><b>Note: This command is also used for negotiation. Be warned that the token for this command is NOT VALID at that time! See section 2.3 for the syntax for negotiation.</b></p>
<p><b>Syntax (without PROTOCTL NS):</b> <tt>:<i>source</i> SERVER <i>new.server</i> <i>hopcount</i> :<i>description</i></tt></p>
<p><b>Syntax (with PROTOCTL NS):</b> <tt>@<i>sourcenumeric</i> SERVER <i>new.server</i> <i>hopcount</i> <i>numeric</i> :<i>description</i></tt></p>
<p>The command indicates that the server named new.server is being introduced by the source (the source is the server which new.server is directly linked to). The hopcount will be the number of links the receiving server would have to cross to reach new.server. In other words, new.server introduced itself with a hopcount of 1, and as the SERVER message is passed along, hopcount is incremented.</p>
<p>As an example, a services server faking a SERVER message for JUPE functionality would use a hopcount of 2.</p>
<h2><a name="S4_2"></a>4.2 SQUIT - Server Removal (TOKEN: -)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> SQUIT <i>server.name</i> <i>:reason</i></tt></p>
<p>From an IRCop or when server.name is not behind the source, this command requests the removal of the specified server.name. The command in this case is treated very much like KILL in the respect that the message is broadcasted to all servers, except server.name and any servers behind it. When the SQUIT reaches server.name's uplink, that server closes the link to server.name (which would then generate it's own SQUIT on behalf of it's uplink for the servers behind it).</p>
<p>A server can also use SQUIT in the same manner as QUIT to note the removal of a server behind it, or that it itself is quitting. In the former case, server.name is behind source, and the message is forward on to all other servers. In the latter case, source and server.name are equal, the receiving server closes the link and forwards the SQUIT message.</p>
<p>Unreal closes a direct link by simply sending an ERROR message and then closing the TCP connection. This typically causes the other end to generate an SQUIT bearing the message "Client exited" or similar, however, the ERROR will usually cause the server to send a message to all IRCops.</p>
<h2><a name="S4_3"></a>4.3 SDESC - Server Description (TOKEN: AG)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> AG :<i>newdesc</i></tt></p>
<p>The server to which source is connected to should have it's description updated to newdesc. This does NOT include the VL inforamtion.</p>
<h2><a name="S4_4">4.4 PING - Live Connection Query (TOKEN: 8)</a></h2>
<p><b>Syntax:</b> <tt>8 <i>source</i>[ :<i>destination</i>]</tt></p>
<p>Used to check if a connection is still live if it has been &quot;quiet&quot; for a certain amount of time. Typically, unreal will send PING requests at intervals determined by the class::pingfreq setting. PINGs originating from the direct uplink will use the token, but it seems PINGs originating from a distant server will not.</p>
<p>The response to a PING is sent with the <a href="#S4_5">PONG</a> command.</p>
<p>When receiving a two-parameter PING, the second parameter is the target. If the target isn't you, you can either reply on behalf of that target (using its name instead of yours), or if there is a real connection representing the target, forward the PING to the target.</p>
<h2><a name="S4_5">4.5 PONG - Live Connection Reply (TOKEN: 9)</a></h2>
<p><b>Syntax:</b> <tt>9 <i>source</i>[ :<i>destination</i>]</tt></p>
<p>Used to respond to a <a href="#S4_4">PING</a> query.</p>
<p><b>Responding to a ping:</b> Once a PING is received, you usually have an amount of time to respond equal to your class::pingfreq. The correct response will always have two parameters. If you received one parameter, then the received parameter becomes the second parameter of your response, and the first parameter is your server name. If you received two parameters, the response returns both parameters in reverse order.</p>
<p>For example, the response to <tt>8 uplink.server</tt> is <tt>9 my.name uplink.server</tt>, while the response to <tt>PING distant.server your.server</tt> is <tt>9 your.server distant.server</tt>. Unreal typically includes a : prior to the last parameter. This isn't required if that parameter contains no spaces, but it is especially important to not include the colon when reversing the parameters, or else Unreal mistake it for a single-parameter PONG.
<p>If a two-parameter PONG is received, the second parameter names the target. If the target is not you, and a real connection represents that target, you should forward the PONG message via that connection.</p>
<h2><a name="#S4_6"></a>4.6 STATS - Server Stats (TOKEN: 2)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> 2 [<i>type</i> [<i>server</i>] [<i>extended-params</i>]]</tt></p>
<p>Requests statistics or configuration information from a server. This command is used to transport cross-server STATS requests from users (eg: /stats o other.server), and should only be sent from a user (not a server). With no parameters, this will cause unreal to simply dump its help output. <i>type</i> is the type of stats to request, <i>server</i> names a server (or a user on that server) to request stats from, and <i>extended-params</i> is used to filter output from STATS G, etc. When received, it is up to the receiver to determine what stats to support and how to reply, but generally numeric replies are used. For the list of unreal's stats types, type /stats in a client for the helptext dump.</p>
<p><b>Note:</b> Stats set as oper-only (see set::oper-only-stats) will be refused from a server. In this case, it will be necessary to send the stats request from a psuedo-oper (such as a services agent, etc) for services/stats/etc.</p>
<hr/>
<h1><a name="S5"></a>5 Channel Operations</h1>
<p>These commands deal with the state of channels across the network. Unreal only supports Network Channels, where the first character is a # character.</p>
<h2><a name="S5_1"></a>5.1 SJOIN - Channel Burst (TOKEN: ~)</h2>
<p><b>Syntax:</b> <tt>@<i>servernumeric</i> ~ <i>timestamp</i> <i>channel</i> +<i>modes</i>[ <i>modeparams</i>] :<i>memberlist</i> <i>&amp;ban</i> <i>"exempt</i> <i>'invex</i></tt></p>
<p>Timestamp is the channel timestamp and can be !b64 as defined by PROTOCTL SJB64. Modes should only include those in the last three mode sets listed in CHANMODES. Modeparams is one parameter for each mode character that requires one. Memberlist is a series of users (all of which must at least be behind the server sending the SJOIN), each user is prefixed with one or more characters indicating their status. Owners (+q) are prefixed with *, admins (+a) ~, ops (+o) @, halfops (+h) %, voices (+v) +. Normal users are not prefixed with anything. Ban, ban exception, and invite exception masks are also included, with bans prefixed with &amp;, ban exceptions prefixed with ", and invite exceptions with '. Note that when a &amp;, " or ' is encountered as the first character, further processing of ~, *, @, %, or + characters must not continue because ban, exempt, and invite masks can contain any of those characters. (Plus it's just not right for a ban mask to be marked as a channel admin...)</p>
<p>If the channel didn't already exist it is created with the information given in the SJOIN. Otherwise the timestamp is used to determine how the SJOIN information is handled. As a given, all members are joined into the channel, regardless. The mode information (modes, modeparams, memberlist prefixes, bans, exempts, and invites) is subject to the timestamp rules:</p>
<ul>
<li>If the channel's current timestamp is equal to the timestamp in SJOIN, then the mode information is merged.</li>
<li>If the channel's current timestamp is less than the SJOIN timestamp, then the mode information is ignored.</li>
<li>If the channel's current timestamp is greater than the SJOIN timestamp, then the channel's existing mode information is cleared (for example, deop, etc all local clients), and the SJOIN mode information is added.</li>
</ul>
<p>When merging modes, conflicting modes (including +p vs +s, differing +l limits or +k keys, etc) are handled as follows:</p>
<ul>
<li><b>Private (+p) vs. Secret (+s):</b> Secret (+s) is preferred. Private (+p) is removed. (Note: there is a <a href="http://bugs.unrealircd.org/view.php?id=2391">bug</a> in Unreal versions prior to 3.2.3 in which a desynch will occur in which one side is +p and the other is +s. Update to Unreal 3.2.4 if you have problems with this.)</li>
<li><b>Strip Color (+S) vs. Block Color (+c):</b> Block (+c) is preferred. Strip (+S) is removed. (Note: Bug for +p vs. +s in prior unreal versions apply here as well.)</li>
<li><b>Channel Limit:</b> Numericly larger limit is preferred (for example, +l 30 versus +l 15 : +l 30 wins).</li>
<li><b>Channel Key:</b> &quot;Larger&quot; key (as defined by strcmp) is preferred (for example, +k moo versus +k meow : +k moo wins).</li>
<li><b>Channel Link:</b> &quot;Larger&quot; link name (as defined by stricmp - not case sensitive) is preferred (for example, +L #moo versus +L #meow : +L #moo wins, but +L #Meow versus +L #meow : values are equal).</li>
<li><b>Flood String:</b> Not really sure on this. I think larger value in each component wins.</li>
<li><b>Join-Throttle:</b> Highest of time period wins, if equal, highest of join amount wins (so +j 3:40 beats +j 5:20 but +j 5:20 beats +j 3:20).</li>
<li>Parameterized modes in third party modules will define their own conflict resolution formula.</li>
</ul>
<h2><a name="S5_2"></a>5.2 JOIN - Channel Join (TOKEN: C)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> C <i>#channel</i></tt></p>
<p>Indicates a user has joined a channel. Only one channel is sent this way, and the key is not sent even if the user gave one one joining. If the channel parameter is the special "0" case, the server must interpret the message as a PART for all channels the user is on.</p>
<h2><a name="S5_3"></a>5.3 PART - Channel Part (TOKEN: D)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> D <i>#channel</i>[ :<i>reason</i></tt>]</p>
<p>Indicates a user has left a channel. Only one channel is sent this way. The reason parameter may be left out if no reason was given.</p>
<h2><a name="S5_4"></a>5.4 KICK - Channel Kick (TOKEN: H)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> H <i>#channel</i> <i>user</i> :<i>reason</i></tt></p>
<p>Orders the forced removal of user from #channel with the given reason. When updating state for this command, it should be the same as if :user PART #channel had been received - the user is removed from #channel's memberlist.</p>
<h2><a name="S5_5"></a>5.5 MODE - Channel Mode (TOKEN: G)</h2>
<p><b>Note:</b> This is the same command as that used for usermode changes.</p>
<p><b>Syntax:</b> <tt>:<i>source</i> G <i>#channel</i> <i>modechange</i> <i>modeparams</i>[ <i>timestamp</i>]</tt></p>
<p>Changes the specified modes on the given channel. If the source is a server and the last parameter is numeric, it is interpreted as timestamp (although it can also be consumed as a parameter for modes. For example: :server.name MODE #channel +l 4 &lt;-- 4 will be a timestamp and the +l parameter). When a mode change is timestamped in this way, the mode is treated as it is with SJOIN: the MODE message is ignored if the timestamp is greater than the channel timestamp. (If the timestamp is equal, the mode is simply added replacing any conflicting modes already in place.)</p>
<p>A services implementation can easily clear all entries in a list mode such as bans with SVSMODE (see below).</p>
<h2><a name="S5_6"></a>5.6 INVITE - Invite a user to a channel (TOKEN: *)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> * <i>target</i> <i>#channel</i></tt></p>
<p>Sends to target an invitation to join #channel. If the source is a channel operator on #channel, or a U:Lined server, the invitation grants the user the temporary ability to join the channel regardless of any bans or some restricting channel modes (not +O or +A).</p>
<h2><a name="S5_7"></a>5.7 SAJOIN - Channel Force Join (TOKEN: AX)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> AX <i>targetuser</i> <i>#channel</i></tt></p>
<p>This requests the forced join of targetuser to #channel. This type of forced join overrides bans, and most modes. The server to which targetuser is connected to must actually acknowledge the join for it to occur. Service implementations may ignore this command, as they would only ever receive it if an SAJOIN was targeted at a service client, in which case it should be ignored...</p>
<h2><a name="S5_8"></a>5.8 SAPART - Channel Force Part (TOKEN: AY)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> AY <i>targetuser</i> <i>#channel</i>[ :<i>reason</i>]</tt></p>
<p>This requests the forced part of targetuser from #channel. This is slightly different from a KICK in that the user's removal is announced with PART. The server to which targetuser is connected to must actually acknowledge the part for it to occur. Service implementations may ignore this command, as they would only ever receive it if an SAPART was targeted at a service client, in which case it should be ignored...</p>
<p>The reason field is optional. If provided the acknowledging PART message should prefix the message with &quot;SAPart:&quot;.</p>
<h2><a name="S5_9"></a>5.9 SAMODE - Channel Force Mode (TOKEN: o)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> o <i>#channel</i> <i>modechange</i> <i>modeparams</i></tt></p>
<p>This has the same parameters as for MODE. The only difference is that servers probably will never receive this (but is best to document just in case), and that absolutely NO permission checking is done on anything.</p>
<h2><a name="S5_10"></a>5.10 TOPIC - Channel Topic (TOKEN: ) )</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> ) <i>#channel</i> <i>nick</i> <i>timestamp</i> :<i>topic</i></tt></p>
<p>Changes the channel topic information. This format is used when synching, as well as when a topic is changed normally. Nick is the user who changed the topic (depending on compile options, it can be just nick or a full nick!user@host), timestamp is when the change occured, and topic is the new topic text. Normally, only a newer timestamp will actually change the topic, but a U:Lined server can use an older timestamp as well (such as for TOPICLOCK).
<hr/>
<h1><a name="S6"></a>6 Services Commands</h1>
<p>These are commands typically employed by a service implementation, in addition to some of the normal commands. All of the commands listed here require the sender to be correctly U:Lined. This means that the services server name must appear within a ulines {} block in the unrealircd.conf configuration for ALL servers in the network. All servers and clients behind a U:Lined server are themselves U:Lined.</p>
<h2><a name="S6_1"></a>6.1 SVSKILL - Force Disconnect by Service (TOKEN: h)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> h <i>target</i> :<i>reason</i></tt></p>
<p>This command is similar to KILL but differs in several ways. First of all: there is no mutilation of the reason value. The reason given is the exact reason used to generate QUIT messages sent to users. Second, it is silent; no server notice is generated in response to this command. Third, it can only be used by a U:Lined server or client (such as services).</p>
<p>Because this command can be dangerous in the hands of an abusive person, service implementations should avoid granting humans control over the reason parameter. In cases of commands where a person has control over such parameter, either use a regular KILL instead, or otherwise modify the reason so that operators can be held accountable if necessary.</p>
<h2><a name="S6_2"></a>6.2 SVSMODE, SVS2MODE - Force User Mode Change (TOKEN: n or v)</h2>
<p><b>Syntax (SVSMODE):</b> <tt>:<i>source</i> n <i>target</i> +<i>usermodes</i></tt></p>
<p><b>Syntax (SVS2MODE):</b> <tt>:<i>source</i> v <i>target</i> +<i>usermodes</i></tt></p>
<p>Judging by these commands alone, you'd think they are identical. Both commands force a usermode change to occur. This is typically used by services to set +r on a user who has successfully identified. They differ in that SVS2MODE also sends the mode change to the user, while SVSMODE does not (hidden mode change).</p>
<p>SVSMODE and SVS2MODE also give special treatment to usermode +d. Rather than setting the deaf mode like you might expect, SVS(2)MODE +d allows services to change a user's services stamp (which is given in the NICK message). This could allow services to set the service stamp to an easily identifiable value that could then be used to say "hey, this person identified already". The syntax of this is: +d <i>newservicestamp</i> and can be combined with setting other usermodes as well. The deaf mode <b>can</b> be set by using +d without the service stamp parameter; however, in this case you <b>cannot</b> set the service stamp in the same SVS(2)MODE message.</p>
<p><b>Note:</b> Do <b>NOT</b> use SVSMODE to remove IRCop status from a user. Use the SVSO command for that instead.</p>
<p>Alternatively, target can name a channel. In this case, the mode change parameter can consist of a - character, followed by any or all of: b, e, I, q, a, o, h, or v. These characters cause the corresponding lists to be cleared of all entries. For example: SVSMODE #channel -b removes ALL bans from #channel, and SVSMODE #channel -qaohv turns ALL users on #channel into normal users (removes all owner, admin, op, halfop, and voice status). In this case, the uplink will acknowledge with a MODE listing the bans, etc that were removed.</p>
<p>To completely clear a channel of all modes: MODE #channel -cfijklmnprstzACGMKLNOQRSTVu (plus any added by third-party module) followed by SVSMODE #channel -beIqaohv.</p>
<h2><a name="S6_3"></a>6.3 SVSSNO, SVS2SNO - Forced SNomask Change (TOKEN: BV or BW)</h2>
<p><b>Syntax (SVSSNO):</b> <tt>:<i>source</i> BV <i>target</i> +<i>snomasks</i></tt></p>
<p><b>Syntax (SVS2SNO):</b> <tt>:<i>source</i> BW <i>target</i> +<i>snomask</i></tt></p>
<p>Changes a user's snomasks. The difference between SVSSNO and SVS2SNO is the same as with SVSMODE versus SVS2MODE. If the user is not +s, you must add it via SVSMODE +s. For example:</p>
<pre>:OperServ v someuser +s
:OperServ BW someuser +ks</pre>
<h2><a name="S6_4"></a>6.4 SVSNICK - Forced Nick Change (TOKEN: e)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> e <i>target</i> <i>newnick</i> :<i>newtimestamp</i></tt></p>
<p>Forces the specified user to change his nick to newnick and also sets the nick timestamp to newtimestamp (so, for example, services could protect identified users from a nick collision by simply setting the nick timestamp to something way less than "now" - though currently this requires actually changing the nick too). SVSNICK requires the server to which the target is connected to acknowledge the nick change. If the user specified by newnick already exists, then target will be disconnected (even if it's something like a case-change).</p>
<h2><a name="S6_5"></a>6.5 SVSJOIN - Forced Join (TOKEN: BX)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> BX <i>target</i> <i>#channel</i></tt></p>
<p>This is identical to SAJOIN with a few exceptions: 1) It is U:Line-only. 2) No opernotice on use. 3) Bans and restricting modes are respected, a prior INVITE message must be sent to cause bans to be ignored.</p>
<h2><a name="S6_6"></a>6.6 SVSPART - Forced Part (TOKEN: BT)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> BT <i>target</i> <i>#channel</i> :<i>reason</i></tt></p>
<p>Also identical to SAPART with a few exceptions: no static prefix on the optional part reason, and no global notice, and requires a U:Line. Usage recommendation of SVSPART versus KICK is the same as for SVSKILL versus KILL.</p>
<h2><a name="S6_7"></a>6.7 SVSO - Oper Permissions (TOKEN: BB)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> BB <i>target</i> <i>flagchanges</i></tt></p>
<p>This allows a service to add or remove IRCop permission flags for a user. Flagchanges is formatted similar to that of MODE with the exception that operflags are used instead of usermodes. If the change string consists only of -, then all oper permissions, usermodes, and snomasks are removed (as if the user had himself typed MODE nick -Oo).</p>
<p>If you are granting IRCop permissions to a user who is not currently an IRCop, you should follow up with an SVSMODE +o or SVSMODE +O as appropriate. For example:</p>
<pre>:OperServ BB somenick +o
:OperServ BW somenick +cefknoqsSv
:OperServ AL somenick local.oper.somethinghere.net
:OperServ v somenick +Ohs </pre>
<h2><a name="S6_8"></a>6.8 SVSNOOP - Oper Lockdown (TOKEN: f)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> f <i>(op)</i><i>server.name</i></tt></p>
<p>The (op) parameter is either a + or - indicating if NOOP mode should be activated (+) or deactivated (-). When NOOP mode is activated, all IRCops on the server are deopered (including local operators) and the /oper command is disabled. IRCop privileges can still be granted through use of SVSO. On UnrealIRCd, it is not necessary to masskill all IRCops on the nooped server, as they are deopered automatically.</p>
<h2><a name="S6_9"></a>6.9 SVSNLINE - RealName Ban (TOKEN: BR)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> BR <i>op</i> <i>reason</i> :<i>realname mask</i></tt></p>
<p>Op is either + (add) or - (remove). In the case of +, reason is a space-escaped string (all space chars are encoded as _). If -, reason is ignored.</p>
<h2><a name="S6_10"></a>6.10 SVSFLINE - File Ban (TOKEN: BC)</h2>
<p><b>Syntax (add):</b> <tt>:<i>source</i> BC + <i>filemask</i> :<i>reason</i></tt></p>
<p><b>Syntax (remove):</b> <tt>:<i>source</i> BC - <i>filemask</i></tt></p>
<p><b>Syntax (clear):</b> <tt>:<i>source</i> BC *</tt></p>
<p>Adds or removes a DCCDENY item for the specified filemask on all servers. These DCCDENYs are hard dccdenies - the /dccallow command cannot override it. The last form removes all dccdenies added via SVSFLINE.</p>
<hr/>
<h1><a name="S7"></a>7 Messaging</h1>
<p>What good is Internet Relay <b>CHAT</b> if users cannot <b>CHAT</b>? This section addresses the commands through which arbitrary user messages are sent.</p>
<h2><a name="S7_1"></a>7.1 PRIVMSG, NOTICE - Simple Message Transmission (Token: ! or B)</h2>
<p><b>PRIVMSG Syntax:</b> <tt>:<i>source</i> ! <i>target</i> :<i>message</i></tt></p>
<p><b>NOTICE Syntax:</b> <tt>:<i>source</i> B <i>target</i> :<i>message</i></tt></p>
<p>Sends a messages to the given target. The target either names a single client, or identifies a list of clients in which the message is to be sent to. The available targets include:</p>
<ul>
<li><i>nickname</i>: Names a single user to whom the message is delivered.</li>
<li><i>nickname</i>@<i>servermask</i>: Also names a single user, but the message will only be delivered if the user is connected to a server matching the specified servermask. This is typically used for sending messages to services. The target must not be changed at any point along the path it must travel for delivery, even up to the final receipt of the message by the target. This allows the target to know it has been sent a message in this way.</li>
<li>#<i>channelname</i>: Sends a message to all users on the specified channel (except when channel is a moderated auditorium (+mu), in which case the wierd +mu sending behavior goes off).</li>
<li><i>modeprefix</i>#<i>channelname</i>: Sends a message to all users on the given channel having the given status or higher. For example: + means all voices, halfops, etc.</li>
<li>$<i>servermask</i>: Sends a message to ALL users on all servers matching the specified servermask (known as a server broadcast message). The RFC requirements of having a TLD with no wildcards is not applied to U:Lined clients.</li>
</ul>
<p>Unreal does not support the #hostmask format.</p>
<h2><a name="S7_2"></a>7.2 SENDUMODE, SMO - Usermode-based Delivery (TOKEN: AP or AU)</h2>
<p><b>Syntax:</b> <tt>@<i>servernumeric</i> AU <i>umode</i> :<i>message</i></tt></p>
<p>Sends the specified message to all users with the given mode. Only one usermode may be given. This is a server-only command if you can't tell from the sender prefix :) .</p>
<p>The message will be displayed as coming from the receiving client's own server. It may be appropriate to add a &quot;*** Notice (or other leader here) -- from blah:&quot; if you wish to clarify where the message is from.</p>
<h2><a name="S7_3"></a>7.3 SENDSNO - SNomask-based Delivery (TOKEN: Ss)</h2>
<p><b>Syntax:</b> <tt>@<i>servernumeric</i> Ss <i>snomask</i> :<i>message</i></tt></p>
<p>Sends the specified message to all users with the given snomask. Only one snomask may be given. This is a server-only command if you can't tell from the sender prefix :) .</p>
<p>The message will be displayed as coming from the receiving client's own server. It may be appropriate to add a &quot;*** Notice (or other leader here) -- from blah:&quot; if you wish to clarify where the message is from.</p>
<h2><a name="S7_4"></a>7.4 CHATOPS - IRCop Chat (TOKEN: p)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> p :<i>message</i></tt></p>
<p>Sends the message to all IRCops on all servers.</p>
<h2><a name="S7_5"></a>7.5 WALLOPS - Wallop Chat (TOKEN: =)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> = :<i>message</i></tt></p>
<p>Sends the message to all users with usermode +w, whether they are ircops or not.</p>
<h2><a name="S7_6"></a>7.6 GLOBOPS - FailOp Chat (TOKEN: ])</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> ] :<i>message</i></tt></p>
<p>Send the message to all IRCops with usermode +g.</p>
<h2><a name="S7_7"></a>7.7 ADCHAT - Admin Chat (TOKEN: x)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> x :<i>message</i></tt></p>
<p>Send the message to all Server and Network Admins (usermode +A).</p>
<h2><a name="S7_8"></a>7.8 NACHAT - NetAdmin Chat (TOKEN: AC)</h2>
<p><b>Syntax:</b> <tt>:<i>source</i> AC :<i>message</i></tt></p>
<p>Send the message to all Network Admins (usermode +N).</p>
<hr/>
<h1><a name="S8"></a>8 Ban Control</h1>
<p>Sometimes, you have the misfortune of encountering a user who has no purpose but to serve as an annoyance to your server or network. These commands transmit network-wide ban information amongst each other.</p>
<h2><a name="S8_1"></a>8.1 TKL - Master Ban Control (TOKEN: BD)</h2>
<p>The TKL command seems to have one oddity about it: the real ban source is included in the TKL command rather than in the sender prefix. Most likely this is done for synching reasons (so that the *line ban can be credited to the proper person even if he/she is offline). For this reason, the command syntax is given without any sender prefix at all. It is still permissible to use one, however.</p>
<h3><a name="S8_1_1"></a>8.1.1 GLINE - Network-wide user@host ban</h3>
<p><b>Add Syntax (TKL):</b> <tt>BD + G <i>userpart</i> <i>hostpart</i> <i>source</i> <i>expiretimestamp</i> <i>settimestamp</i> :<i>reason</i></tt></p>
<p><b>Remove Syntax (TKL):</b> <tt>BD - G <i>userpart</i> <i>hostpart</i> <i>source</i></tt></p>
<p>Adds and Removes Network-wide user@host bans, known as G:Lines. The GLINE command itself must not be used. The userpart and hostpart are the user portion and hostname portion of the ban mask. The expiretimestamp is 0 if the G:Line should not expire, otherwise it will expire at the given time. It is an absolute time, not relative, thus it's imperitive to have reasonably synchrnoized clocks or bans may be removed too early or even immediately!</p>
<h3><a name="S8_1_2"></a>8.1.2 GZLINE - Network-wide IP ban</h3>
<p><b>Add Syntax (TKL):</b> <tt>BD + Z * <i>ipmask</i> <i>source</i> <i>expiretimestamp</i> <i>settimestamp</i> :<i>reason</i></tt></p>
<p><b>Remove Syntax (TKL):</b> <tt>BD - Z * <i>ipmask</i> <i>source</i></tt></p>
<p>Adds and Removes Network-wide IP bans, known as Global Z:Lines. The GZLINE command itself must not be used. Ipmask permits CIDR notation as well as wildcard masks.</p>
<h3><a name="S8_1_3"></a>8.1.3 SQLINE, UNSQLINE - Network-wide Nickname ban (TOKEN: c or d)</h3>
<p><b>Add Syntax (TKL):</b> <tt>BD + Q <i>hold</i> <i>nickmask</i> <i>source</i> <i>expiretimestamp</i> <i>settimestamp</i> :<i>reason</i></tt></p>
<p><b>Add Syntax (SQLINE):</b> <tt>:<i>source</i> c <i>nickmask</i> :<i>reason</i></tt></p>
<p><b>Remove Syntax (TKL):</b> <tt>BD - Q <i>hold</i> <i>nickmask</i> <i>source</i></tt></p>
<p><b>Remove Syntax (UNSQLINE):</b> <tt>:<i>source</i> d <i>nickmask</i></tt></p>
<p>In the TKL syntax, the hold parameter is either a * to mark the qline as a nick ban, or an H to mark it as a services hold. A services hold does not trigger qline rejection notice, and is typically used by NickServ to reserve registered nicks until they are released by the owner. The (UN)SQLINE syntax can only be used by a server, but any user can be used as the source for the TKL syntax. Unlike G and GZ lines, Q:Lines do not cause existing matching users to be disconnected or otherwise affected.</p>
<p>The TKL syntax is preferred, since it is more flexible, but (UN)SQLINE is permitted for compatibility.</p>
<h3><a name="S8_1_4"></a>8.1.4 SPAMFILTER - Message Spam Filtration System</h3>
<p>Proper use of spamfilter in TKL commands requires use of PROTOCTL TKLEXT, which increases the number of parameters allowed in TKL.</p>
<p><b>Add Syntax (TKL):</b> <tt>BD + F <i>target(s)</i> <i>action</i> <i>source</i> 0 <i>settimestamp</i> <i>tklduration</i> <i>tklreason</i> :<i>regex</i></tt></p>
<p><b>Remove Syntax (TKL):</b> <tt>BD - F <i>target(s)</i> <i>action</i> <i>source</i> 0 <i>settimestap</i> :<i>regex</i></tt></p>
<p>Adds and Removes network-wide spamfilters. The SPAMFILTER command itself must not be used. See <a href="http://vulnscan.org/UnrealIrcd/unreal32docs.html#feature_spamfilter">http://vulnscan.org/UnrealIrcd/unreal32docs.html#feature_spamfilter</a> for a list of valid targets. For actions, a single character is used to identify the action to be taken:</p>
<ul>
<li>K (kill) - The user is simply disconnected, with the reason given.</li>
<li>S (tempshun) - A temporary shun is placed on the user. This shun is applied only to that user, and disappears if the user reconnects.</li>
<li>s (shun) - A regular shun on the user's IP address is added. This causes all users with the same hostname to be shunned, but they will also stay shunned if they reconnect.</li>
<li>k (kline) - A K:Line is added on the user's IP address.</li>
<li>z (zline) - A Z:Line is added on the user's IP address.</li>
<li>g (gline) - A G:Line is added on the user's IP address.</li>
<li>Z (gzline) - A Global Z:Line is added on the user's IP address.</li>
<li>b (block) - Messages (or users!) matching the filter are simply blocked.</li>
<li>d (dccblock) - The user is prevented from sending files using DCC for the remainder of his session (in other words, until he quits).</li>
<li>v (viruschan) - User is removed from all channels, joined to the viruschan as defined in conf, and cannot message anything but that channel.</li>
<li>w (warn) - No action on the user is taken. Only the Spamfilter notice is sent to opers with snomask +S.</li>
</ul>
<h1><a name="S9">9 Base64 Tables</a></h1>
<p>Unreal uses base64 encoding to allow saving bandwidth by encoding numbers in a more compact format. Unreal uses two different variations of base64, one used for the SJB64 PROTOCTL option (in NICK and SJOIN), and one used for NICKIP.</p>
<h2><a name="S9_1">9.1 Table for SJB64 (NICK and SJOIN).</a></h2>
<p>In NICK and SJOIN, remember that the timestamp will be prefixed with ! to signal a base64 timestamp.</p>
<p>Just like in base10, the least significant &quot;digit&quot; is last.</p>
<pre> 0 0 17 H 34 Y 51 p
1 1 18 I 35 Z 52 q
2 2 19 J 36 a 53 r
3 3 20 K 37 b 54 s
4 4 21 L 38 c 55 t
5 5 22 M 39 d 56 u
6 6 23 N 40 e 57 v
7 7 24 O 41 f 58 w
8 8 25 P 42 g 59 x
9 9 26 Q 43 h 60 y
10 A 27 R 44 i 61 z
11 B 28 S 45 j 62 {
12 C 29 T 46 k 63 }
13 D 30 U 47 l
14 E 31 V 48 m
15 F 32 W 49 n
16 G 33 X 50 o</pre>
<h2><a name="S9_2">9.2 Table for NICKIP.</a></h2>
<p>In this table, the IP is encoded in network byte order. In terms of IPs, this means the first byte of the address really is first. Each &quot;digit&quot; in the base64 encoded IP corresponds to 6 bits of the IP address.</p>
<p>An IPv4 address is 32 bits, so 6 base64 &quot;digits&quot; are needed. Since base64 requires values to come in multiples of 4 &quot;digits&quot;, padding characters (=) need to be added if a value comes up short. In the case of IPv4 addresses, two are needed.</p>
<p>IPv6 addresses are 128-bit. They therefore need 22 base64 &quot;digits&quot; plus 2 pad characters.</p>
<pre> 0 A 17 R 34 i 51 z
1 B 18 S 35 j 52 0
2 C 19 T 36 k 53 1
3 D 20 U 37 l 54 2
4 E 21 V 38 m 55 3
5 F 22 W 39 n 56 4
6 G 23 X 40 o 57 5
7 H 24 Y 41 p 58 6
8 I 25 Z 42 q 59 7
9 J 26 a 43 r 60 8
10 K 27 b 44 s 61 9
11 L 28 c 45 t 62 +
12 M 29 d 46 u 63 /
13 N 30 e 47 v
14 O 31 f 48 w (pad) =
15 P 32 g 49 x
16 Q 33 h 50 y</pre>
</body>
</html>
+107 -120
View File
@@ -1,122 +1,109 @@
Token List (c) 2002 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
(As of Unreal3.2-beta11)
Token List (c) 2002-2004 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
Command Token
Command Token
------------------------------------------------------------------------------------------------
PRIVMSG !
WHO \
WHOIS #
WHOWAS $
USER %
NICK &
SERVER '
LIST (
TOPIC )
INVITE *
VERSION +
QUIT ,
SQUIT -
KILL .
INFO /
LINKS 0
SUMMON 1
STATS 2
USERS 3
HELP 4
HELPOP 4
ERROR 5
AWAY 6
CONNECT 7
PING 8
PONG 9
OPER ;
PASS <
WALLOPS =
TIME >
NAMES ?
ADMIN @
NOTICE B
JOIN C
PART D
LUSERS E
MOTD F
MODE G
KICK H
USERHOST J
ISON K
REHASH O
RESTART P
CLOSE Q
DIE R
HASH S
DNS T
SILENCE U
AKILL V
KLINE W
UNKLINE X
RAKILL Y
GNOTICE Z
GOPER [
GLOBOPS ]
LOCOPS ^
PROTOCTL _
WATCH `
TRACE b
SQLINE c
UNSQLINE d
SVSNICK e
SVSNOOP f
SVSKILL h
SVSMODE n
SAMODE o
CHATOPS p
ZLINE q
UNZLINE r
RULES t
MAP u
SVS2MODE v
DALINFO w
ADCHAT x
MKPASSWD y
ADDLINE z
GLINE }
SETHOST AA
NACHAT AC
SETIDENT AD
SETNAME AE
LAG AF
SDESC AG
KNOCK AI
CREDITS AJ
LICENSE AK
CHGHOST AL
RPING AM
RPONG AN
NETINFO AO
SENDUMODE AP
ADDMODE AQ
ADDOMODE AR
SVSMODE AS
SMO AU
OPERMOTD AV
TSCTL AW
SAJOIN AX
SAPART AY
CHGIDENT AZ
SWHOIS BA
SVSO BB
SVSFLINE BC
TKL BD
VHOST BE
BOTMOTD BF
HTM BH
SHUN BL
SVSJOIN BR
SVSPART BT
SJOIN ~
UMODE2 |
PRIVMSG !
WHOIS #
NICK &
SERVER '
TOPIC )
INVITE *
VERSION +
QUIT ,
SQUIT -
KILL .
INFO /
LINKS 0
STATS 2
HELP 4
ERROR 5
AWAY 6
CONNECT 7
PING 8
PONG 9
PASS <
TIME >
ADMIN @
SETHOST AA
NACHAT AC
SETIDENT AD
SETNAME AE
LAG AF
SDESC AG
KNOCK AI
CREDITS AJ
LICENSE AK
CHGHOST AL
RPING AM
RPONG AN
NETINFO AO
SENDUMODE AP
ADDMOTD AQ
ADDOMOTD AR
SVSMOTD AS
SMO AU
OPERMOTD AV
TSCTL AW
SAJOIN AX
SAPART AY
CHGIDENT AZ
NOTICE B
SWHOIS BA
SVSO BB
SVSFLINE BC
TKL BD
VHOST BE
BOTMOTD BF
HTM BH
DCCDENY BI
UNDCCDENY BJ
CHGNAME BK
SHUN BL
CYCLE BP
MODULE BQ
SVSNLINE BR
SVSPART BT
SVSLUSERS BU
SVSSNO BV
SVS2SNO BW
SVSJOIN BX
SVSSILENCE Bs
SVSWATCH Bw
JOIN C
PART D
LUSERS E
EOS ES
MOTD F
MODE G
KICK H
REHASH O
RESTART P
CLOSE Q
SENDSNO Ss
DNS T
TEMPSHUN Tz
SILENCE U
AKILL V
UNKLINE X
RAKILL Y
GLOBOPS ]
LOCOPS ^
PROTOCTL _
WATCH `
TRACE b
SQLINE c
UNSQLINE d
SVSNICK e
SVSNOOP f
SVSKILL h
SVSMODE n
SAMODE o
CHATOPS p
UNZLINE r
RULES t
MAP u
SVS2MODE v
DALINFO w
ADMINCHAT x
UMODE2 |
SJOIN ~
+7 -3
View File
@@ -1,9 +1,13 @@
VL Information (c) 2002 codemastr (Dominick Meglio) [codemastr@unrealircd.com]
(As of Unreal3.2-beta11)
Protocol Version
------------------------------------------------------------------------------------------------
2303 3.2-Selene
2308 3.2.5
2307 3.2.4
2306 3.2.3
2305 3.2.2
2304 3.2.1
2303 3.2-beta*, 3.2-RC*, 3.2
2302 3.1.1-Darkshades, 3.1.2-Darkshades, 3.1.3-Komara, 3.1.4-Meadows
2301 3.1-Silverheart
2300 3.0-Morrigana
@@ -28,5 +32,5 @@ e SSL supported
O OperOverride enabled
o OperOverride without verify
Z Zip links supported
3 3rd party modules (were) loaded
3 3rd party modules (were) loaded or unreal is any other way 'tainted' (eg: bad libs)
E Extended channel modes supported
+48
View File
@@ -0,0 +1,48 @@
NOTE: For 3.3* we are not maintaining translated documents until reaching alpha or
beta1 status.
==[ Translations ]============================================================
Starting with the release of Unreal 3.2 we have begun accepting translated
documentation files. For now, only translations of unreal32docs.html and
example.conf are accepted. Other stuff might be translated later, but
this will probably be postponed to 3.3 (numerics/ircd text/help.conf/etc).
There a few requirements however:
- When you submit your translation it should be a translation of the
very latest doc... So be sure to translate the cvs version of
unreal32docs.html (www.vulnscan.org/UnrealIrcd/unreal32docs.html).
- Of course the translation should be correct.. So also 'technically',
it's therefore recommended that have some real experience with Unreal ;)
- If you are accepted and start working on it, it would be nice if you
could put your docs-in-progress online somewhere so we can see how
progress is going a bit.
- You should use a proper HTML editor, this especially excludes Microsoft
Word and Frontpage since it enlarges the .html file by (at least) 30%.
Don't worry, there are enough free&simple html editors out there that
work perfectly fine, you won't need to be an HTML expert at all!
- Someone, usually the person who translated it, needs to be willing
to actively maintain the docs. This is very important! If docs are
out of date (out-of-synch) there will be confusion among users.
Translators will receive once a week (and right before every release)
all changes that were made in unreal32docs.html. Then the translator
should update his/her doc and send it in (or commit it via cvs).
Count on an average of 15 minutes a week (it varies).
Now, we should tell you that the first-time translation of unreal32docs.html
is a LOT of work.. probably 20 hours or so. After that, the weekly updates
take really just 5, 10, 15 minutes a week, which is pretty much "no time".
Now why would you translate at all? Well, by translating UnrealIRCd
documentation you will help out your fellow citizens and/or other people
of that language, you will make Unreal a bit more 'internationalized',
and it's a worthwile contribution to the UnrealIRCd project.
Upon successful completion you will also receive an @unrealircd.org
forwarder email address, and of course your name will be in the docs.
If you want to start translating a document, please send an email to
coders@lists.unrealircd.org and mention the language you are willing
to translate to.. You will then receive an email back saying you can
go ahead (or not). This is mainly to avoid multiple persons working
on the same translation.
==============================================================================
+1247 -393
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+759 -290
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
Binary file not shown.
+7 -30
View File
@@ -35,12 +35,7 @@ DLLFUNC int h_defizzer_connect(aClient *sptr);
static Hook *LocConnect = NULL;
ModuleInfo DefizzerModInfo;
#ifndef DYNAMIC_LINKING
ModuleHeader defizzer_Header
#else
#define defizzer_Header Mod_Header
ModuleHeader Mod_Header
#endif
ModuleHeader MOD_HEADER(defizzer)
= {
"defizzer", /* Name of module */
"$Id$", /* Version */
@@ -49,43 +44,25 @@ ModuleHeader Mod_Header
NULL
};
/* The purpose of these ifdefs, are that we can "static" link the ircd if we
* want to
*/
/* This is called on module init, before Server Ready */
#ifdef DYNAMIC_LINKING
DLLFUNC int Mod_Init(ModuleInfo *modinfo)
#else
int defizzer_Init(ModuleInfo *modinfo)
#endif
DLLFUNC int MOD_INIT(defizzer)(ModuleInfo *modinfo)
{
bcopy(modinfo,&DefizzerModInfo,modinfo->size);
LocConnect = HookAddEx(DefizzerModInfo.handle, HOOKTYPE_PRE_LOCAL_CONNECT, h_defizzer_connect);
return MOD_SUCCESS;
}
/* Is first run when server is 100% ready */
#ifdef DYNAMIC_LINKING
DLLFUNC int Mod_Load(int module_load)
#else
int defizzer_Load(int module_load)
#endif
DLLFUNC int MOD_LOAD(defizzer)(int module_load)
{
return MOD_SUCCESS;
}
/* Called when module is unloaded */
#ifdef DYNAMIC_LINKING
DLLFUNC int Mod_Unload(int module_unload)
#else
int defizzer_Unload(int module_unload)
#endif
DLLFUNC int MOD_UNLOAD(defizzer)(int module_unload)
{
HookDel(LocConnect);
return MOD_SUCCESS;
}
static void ban_fizzer(aClient *cptr)
{
int i;
@@ -148,4 +125,4 @@ DLLFUNC int h_defizzer_connect(aClient *sptr)
return exit_client(sptr, sptr, &me, "Fizzer client");
}
return 0;
}
}
Binary file not shown.
BIN
View File
Binary file not shown.
+244 -97
View File
@@ -25,21 +25,29 @@ help {
" ==-------------------------oOo--------------------------==";
};
/* note: indexes were generated by cat somecmds|sort|column -c 70
* along with tab->space conversion (tabwidth 8).
* Perhaps we should automate this step :). -- Syzop
*/
help Usercmds {
" Currently the following User commands are available.";
" Use /HELPOP <command name> to get more information about";
" a specific command.";
" -";
" ==-----------------oOo-----------------==";
" ADMIN KICK MOTD QUIT VERSION";
" AWAY KNOCK NAMES RULES VHOST";
" CREDITS LICENSE NICK SETNAME WATCH";
" CYCLE LINKS NOTICE SILENCE WHO";
" DALINFO LIST PART STATS WHOIS";
" INVITE LUSERS PING TIME WHOWAS";
" ISON MAP PONG TOPIC";
" JOIN MODE PRIVMSG USERHOST";
" ==-----------------oOo-----------------==";
" ==-------------------------oOo-------------------------==";
" ADMIN LICENSE PART USERHOST";
" AWAY LINKS PING USERIP";
" CREDITS LIST PONG VERSION";
" CYCLE LUSERS PRIVMSG VHOST";
" DALINFO MAP QUIT WATCH";
" DCCALLOW MODE RULES WHO";
" INVITE MODULE SETNAME WHOIS";
" ISON MOTD SILENCE WHOWAS";
" JOIN NAMES STATS";
" KICK NICK TIME";
" KNOCK NOTICE TOPIC";
" ==-------------------------oOo-------------------------==";
};
help Opercmds {
@@ -47,16 +55,19 @@ help Opercmds {
" Use /HELPOP <command name> to get more information about";
" a specific command.";
" -";
" ==----------------oOo---------------==";
" OPER WALLOPS GLOBOPS CHATOPS LOCOPS DNS";
" ADCHAT NACHAT KILL KLINE ZLINE SPAMFILTER";
" GLINE SHUN GZLINE HTM TSCTL TEMPSHUN";
" REHASH RESTART DIE";
" LAG SETHOST SETIDENT CHGHOST CHGIDENT";
" CHGNAME SQUIT CONNECT DCCDENY UNDCCDENY";
" SAJOIN SAPART SAMODE RPING TRACE";
" OPERMOTD SDESC MKPASSWD CLOSE MODULE";
" ==----------------oOo---------------==";
" ==-------------------------oOo-------------------------==";
" ADCHAT GLOBOPS OPERMOTD SPAMFILTER";
" CHATOPS GZLINE REHASH SQUIT";
" CHGHOST HTM RESTART TEMPSHUN";
" CHGIDENT KILL RPING TRACE";
" CHGNAME KLINE SAJOIN TSCTL";
" CLOSE LAG SAMODE UNDCCDENY";
" CONNECT LOCOPS SAPART WALLOPS";
" DCCDENY MKPASSWD SDESC ZLINE";
" DIE MODULE SETHOST";
" DNS NACHAT SETIDENT";
" GLINE OPER SHUN";
" ==-------------------------oOo-------------------------==";
};
help Svscmds {
@@ -67,13 +78,13 @@ help Svscmds {
" Use /HELPOP <command name> to get more information about";
" a specific command.";
" -";
" ==-----------oOo-----------==";
" SVSNICK SVSMODE SVSKILL SVSWATCH";
" SVSNOOP SVSJOIN SVSPART SVSSILENCE";
" SVSO SWHOIS SQLINE SVSNLINE";
" UNSQLINE SVS2MODE SVSFLINE SVSSNO";
" SVSMOTD SVS2SNO SVSLUSERS";
" ==-----------oOo-----------==";
" ==-------------------------oOo-------------------------==";
" SQLINE SVSKILL SVSNLINE SVSSNO";
" SVS2MODE SVSLUSERS SVSNOOP SVSWATCH";
" SVS2SNO SVSMODE SVSO SWHOIS";
" SVSFLINE SVSMOTD SVSPART UNSQLINE";
" SVSJOIN SVSNICK SVSSILENCE";
" ==-------------------------oOo-------------------------==";
};
help Umodes {
@@ -116,7 +127,7 @@ help Snomasks {
" server notices you will receive.";
" Usage: /MODE nick +s <snomask>";
" Ex: /MODE blah +s +cF-j";
" The parameter specifies which snomasks you want (or don't want)."
" The parameter specifies which snomasks you want (or don't want).";
" You can also remove all snomasks by simply doing /MODE nick -s.";
"-";
" Below is a list of possible snomasks:";
@@ -130,7 +141,9 @@ help Snomasks {
" k = View KILL notices";
" n = View nick changes on local server";
" N = View nick changes on remote servers";
" o = View oper-up notices";
" q = View rejected nick changes due to Q:lines";
" s = View general notices";
" S = View spamfilter matches";
" v = View usage of /VHOST command";
" ==-------------------------oOo------------------------==";
@@ -146,12 +159,14 @@ help Chmodes {
" a <nickname> = Gives Channel Admin to the user";
" q <nickname> = Gives Owner status to the user";
" -";
" b <nick!ident@host> = Bans the nick!ident@host from the channel [h]";
" b <nick!ident@host> = Bans the nick!ident@host from the channel";
" Extended bantypes (for more info see /HELPOP EXTBANS) [h]";
" c = Block messages containing mIRC color codes [o]";
" e <nick!ident@host> = Overrides a ban for matching users [h]";
" f [*]<lines>:<seconds> = Flood protection [o]";
" (Users will be kicked after saying <lines> in <seconds> and banned if * is specified)";
" I <nick!ident@host> = Overrides +i for matching users [h]";
" f <floodparams> = Flood protection (for more info see /HELPOP CHMODEF) [o]";
" i = A user must be invited to join the channel [h]";
" j <joins:sec> = Throttle joins per-user to 'joins' per 'sec' seconds [o]";
" k <key> = Users must specify <key> to join [h]";
" l <number of max users> = Channel may hold at most <number> of users [o]";
" m = Moderated channel (only +vhoaq users may speak) [h]";
@@ -164,7 +179,7 @@ help Chmodes {
" A = Server/Net Admin only channel (settable by Admins)";
" C = No CTCPs allowed in the channel [o]";
" G = Filters out all Bad words in messages with <censored> [o]";
" M = Must be using a registered nick (+r) to talk [o]";
" M = Must be using a registered nick (+r), or have voice access to talk [o]";
" K = /KNOCK is not allowed [o]";
" L <chan2> = Channel link (If +l is full, the next user will auto-join <chan2>) [q]";
" N = No Nickname changes are permitted in the channel [o]";
@@ -180,39 +195,95 @@ help Chmodes {
" ==------------------------------oOo----------------------------==";
};
help ExtBans {
" Extended bantypes: ";
" -";
" ==-Type--------Name---------------------------Explanation-----------------------==";
" | | People matching these bans can join but are unable to ";
" ~q | Quiet | speak, unless they have +v or higher. ";
" | | Example: ";
" | | +bb ~q:*!*@blah.blah.com ~q:nick*!*@* ";
"-----------------------------------------------------------------------------------";
" | | People matching these bans cannot change nicks, unless ";
" ~n | nickchange | they have +v or higher. ";
" | | Example: ";
" | | +bb ~n:*!*@*.aol.com ~n:nick*!*@* ";
"-----------------------------------------------------------------------------------";
" | | If the user is in this channel then (s)he is unable to ";
" | [prefix] | join. A prefix can also be specified (+/%/@/&/~) which ";
" ~c | channel | means that it will only match if the user has that ";
" | | rights or higher on the specified channel. ";
" | | Example: +b ~c:#lamers, +e ~c:@#trusted ";
"-----------------------------------------------------------------------------------";
" | | If the realname of a user matches this then (s)he is ";
" | | unable to join. ";
" ~r | realname | Example: +b ~r:*Stupid_bot_script* ";
" | | NOTE: an underscore ('_') matches both a space (' ') and";
" | | an underscore ('_'), so this ban would ";
" | | match 'Stupid bot script v1.4'. ";
" ==------------------------------------------------------------------------------==";
};
help Chmodef {
" The +f channel mode provides comprehensive flood protection for a channel.";
" This mode allows you to prevent join, nick change, CTCP, text, and knock";
" floods. The syntax for this mode's parameter is as follows:";
" -";
" +f [<amount><type>{#<action>}{,...}]:<seconds>";
" -";
" The amount specifies the number of times the specified flood must occur";
" before action is taken. Below are the available types:";
" -";
" ==-----Type-----Name--------Default Action---Other Actions-----==";
" c CTCP +C m, M";
" j Join +i R";
" k Knock +K";
" m Messages +m M";
" n Nickchange +N";
" t Text kick b";
" -";
" The difference between type m and t is that m is tallied for the entire";
" channel whereas t is tallied per user.";
" -";
" If you choose to specify an action for a mode, you may also specify a";
" time (in minutes) after which the specific action will be reversed.";
};
help Oflags {
" Here you will find the flags that can be placed inside of the O:Lines";
" -";
" ==----------------------oOo--------------------==";
" o = Local Operator";
" O = Global Operator";
" a = Gets +a on oper up. Is Services Administrator";
" A = Gets +A on oper up. Is Server Administrator";
" C = Gets +C on oper up. Is Co Administrator";
" N = Gets +N on oper up. Is Network Administrator";
" ==-------------------------------oOo-----------------------------==";
" o (locop) Local Operator";
" O (globop) Global Operator";
" C (coadmin) Gets +C on oper up. Is Co Administrator";
" A (admin) Gets +A on oper up. Is Server Administrator";
" a (services-admin) Gets +a on oper up. Is Services Administrator";
" N (netadmin) Gets +N on oper up. Is Network Administrator";
" -";
" r = Access to /REHASH server";
" R = Access to /RESTART server";
" D = Access to /DIE server";
" h = Oper receives umode +h (helpop)";
" g = Oper can send /GLOBOPS";
" w = Oper can send /WALLOPS";
" n = Oper can send Local Server Notices";
" G = Oper can send Global Server Notices";
" c = Access to do local /SQUITs and /CONNECTs";
" L = Access to do global /SQUITs and /CONNECTs";
" k = Access to do local /KILLs";
" K = Access to do global /KILLs";
" b = Oper can /KLINE users from server";
" B = Oper can remove Klines";
" z = Can add Z:Lines";
" Z = Can add global Z:Lines";
" t = Can use /GLINE and /SHUN";
" v = Can use OperOverride";
" q = Can use +q";
" H = Gets +x on oper up";
" W = Gets +W on oper up";
" ==----------------------oOo--------------------==";
" r (can_rehash) Access to /REHASH server";
" R (can_restart) Access to /RESTART server";
" D (can_die) Access to /DIE server";
" h (helpop) Oper is marked as availiable for help is not away";
" g (can_globops) Oper can send /GLOBOPS";
" w (can_wallops) Oper can send /WALLOPS";
" n (can_localnotice) Oper can send Local Server Notices";
" G (can_globalnotice) Oper can send Global Server Notices";
" c (can_localroute) Access to do local /SQUITs and /CONNECTs";
" L (can_globalroute) Access to do global /SQUITs and /CONNECTs";
" k (can_localkill) Access to do local /KILLs";
" K (can_globalkill) Access to do global /KILLs";
" b (can_kline) Oper can /KLINE users from server";
" B (can_unkline) Oper can remove Klines";
" z (can_zline) Can add Z:Lines";
" Z (can_gzline) Can add global Z:Lines";
" t (can_gkline) Can use /GLINE, /SHUN and /SPAMFILTER";
" v (can_override) Can use OperOverride";
" q (can_setq) Can use +q";
" H (get_host) Gets +x on oper up";
" W (get_umodew) Gets +W on oper up";
" d (can_dccdeny) Can use /DCCDENY";
" ==-------------------------------oOo-----------------------------==";
};
@@ -232,31 +303,61 @@ help Whois {
" -";
" Syntax: WHOIS <user>";
" Example: WHOIS hAtbLaDe";
" -";
" Status flags:";
" The list of channels shown in the WHOIS reply can include one or more";
" status flags to indicate information about the channel. These flags are";
" described below:";
" ~ - User is a Channel Owner (+q)";
" & - User is a Channel Admin (+a)";
" @ - User is a Channel Operator (+o)";
" % - User is a Halfop (+h)";
" + - User is Voiced (+v)";
" ! - User has channels hidden in whois (+p) and you are an IRC Operator";
" ? - The channel is secret (+s) and you are an IRC Operator";
};
help Who {
" Retrieves information about users";
" -";
" Syntax:";
" /WHO [+|-][acghmnsuCM] [args]";
" /WHO [+|-][acghimnsuMRI] [args]";
" Flags are specified like channel modes, the flags cgmnsu all have arguments";
" Flags are set to a positive check by +, a negative check by -";
" The flags available:";
" Flag a: user is away";
" Flag c <channel>: user is on <channel>, no wildcards accepted";
" Flag g <gcos/realname>: user has string <gcos> in their GCOS,";
" Flag g <gcos/realname>: user has string <gcos> in his/her GCOS,";
" wildcards accepted, oper only";
" Flag h <host>: user has string <host> in their hostname, wildcards are accepted";
" Flag m <usermodes>: user has <usermodes> set on them, only o/A/a for nonopers";
" Flag n <nick>: user has string <nick> in their nickname, wildcards accepted";
" Flag h <host>: user has string <host> in his/her hostname, wildcards are accepted";
" Flag i <ip>: user has string <ip> in his/her IP address";
" Flag m <usermodes>: user has <usermodes> set, only o/C/A/a/N for nonopers";
" Flag n <nick>: user has string <nick> in his/her nickname, wildcards accepted";
" Flag s <server>: user is on server <server>, wildcards not accepted";
" Flag u <user>: user has string <user> in their username, wildcards accepted";
" Flag u <user>: user has string <user> in his/her username, wildcards accepted";
" Behavior flags:";
" Flag C: show first visible channel user is in";
" Flag M: check for user in channels I am a member of";
" Flag R: show users' real hostnames";
" Flag I: show users' IP addresses";
" -";
" For backwards compatibility, /who 0 o still shows +o users";
" Example: WHO +m o";
" -";
" Status flags:";
" The who command shows several flags in the returned result to indicate";
" different information about the user. These flags are explained below:";
" G - User is /away (gone)";
" H - User is not /away (here)";
" r - User is using a registered nickname";
" B - User is a bot (+B)";
" * - User is an IRC Operator";
" ~ - User is a Channel Owner (+q)";
" & - User is a Channel Admin (+a)";
" @ - User is a Channel Operator (+o)";
" % - User is a Halfop (+h)";
" + - User is Voiced (+v)";
" ! - User is +H and you are an IRC Operator";
" ? - User is only visible because you are an IRC Operator";
};
help Whowas {
@@ -427,6 +528,14 @@ help Userhost {
" Example: USERHOST hAtbLaDe";
};
help Userip {
" Returns the userip of the user in question.";
" Usually used by scripts or bots.";
" -";
" Syntax: USERIP <nickname>";
" Example: USERIP codemastr";
};
help Topic {
" Sets/Changes the topic of the channel in question,";
" or just display the current Topic.";
@@ -439,11 +548,14 @@ help Topic {
help Invite {
" Sends a user an Invitation to join a particular channel.";
" You must be an Operator on the channel in order to";
" invite a user into it.";
" If the channel is +i, you must be an Operator to use this";
" command, otherwise any user may use the command.";
" Invite without parameters lists the channels you have been";
" invited to.";
" -";
" Syntax: INVITE <user> <channel>";
" Syntax: INVITE [<user> <channel>]";
" Example: INVITE hAtbLaDe #Support";
" Example: INVITE";
};
help Kick {
@@ -473,7 +585,7 @@ help Watch {
" -";
" Syntax: WATCH +nick1 +nick2 +nick3 (Add nicknames)";
" WATCH -nick (Delete nicknames)";
" WATCH (View the watchlist)";
" WATCH (View which users are online)";
};
help List {
@@ -502,9 +614,11 @@ help Privmsg {
" Send a message to a channel.";
" Ex: /PRIVMSG #room Hi all";
" /PRIVMSG <prefix><#channel> <text>";
" Send a message to users with <prefix> in <#channel> only";
" Ex: /PRIVMSG @#room This goes to all ops";
" /PRIVMSG +%@#room This goes to all +v, +h and +o's.";
" Send a message to users with <prefix> and higher in <#channel> only";
" Ex: /PRIVMSG @#room This goes to +oaq";
" /PRIVMSG +#room This goes to +vhoaq";
" NOTE: You need at least voice in order to send to +#chan/%#chan/@#chan";
" and at least ops to send to &#chan/~#chan.";
" /PRIVMSG $<mask> <text>";
" Send a message to all users on servers matching <mask> [Oper only]";
" This is shown in the status window by most clients.";
@@ -527,9 +641,11 @@ help Notice {
" Send a notice to a channel.";
" Ex: /NOTICE #room Hi all, this is annoying";
" /NOTICE <prefix><#channel> <text>";
" Send a notice to users with <prefix> in <#channel> only";
" Ex: /NOTICE @#room This goes to all ops";
" /NOTICE +%@#room This goes to all +v, +h and +o's.";
" Send a notice to users with <prefix> and higher in <#channel> only";
" Ex: /NOTICE @#room This goes to +oaq";
" /NOTICE +#room This goes to +vhoaq";
" NOTE: You need at least voice in order to send to +#chan/%#chan/@#chan";
" and at least ops to send to &#chan/~#chan.";
" /NOTICE $<mask> <text>";
" Send a notice to all users on servers matching <mask> [Oper only]";
" This is shown in the status window by most clients.";
@@ -665,10 +781,10 @@ help Nachat {
};
help Kill {
" Forcefully Disconnects a user from an IRC Server.";
" Forcefully Disconnects users from an IRC Server.";
" IRC Operator only command.";
" -";
" Syntax: KILL <user> <reason>";
" Syntax: KILL <user1>,<user2>,<user3>,... <reason>";
" Example: KILL Jack16 Cloning is not allowed";
};
@@ -785,6 +901,8 @@ help Rehash {
" -opermotd - Rehashes the OPERMOTD";
" -botmotd - Rehashes the BOTMOTD";
" -garbage - Force garbage collection";
" -ssl - Reload SSL certificate and primary key (if SSL enabled)";
" -dns - Reload DNS information (from resolv.conf/registry)";
};
help Restart {
@@ -794,7 +912,7 @@ help Restart {
" -";
" Syntax: RESTART";
" RESTART <password>";
" RESTART <server> <password>";
" RESTART <password> <reason>";
};
help Die {
@@ -860,8 +978,8 @@ help Squit {
" Usually used in routing of servers.";
" IRC Operator only command.";
" -";
" Syntax: SQUIT <server>";
" Example: SQUIT leaf.*";
" Syntax: SQUIT <server> [reason]";
" Example: SQUIT leaf.* Goodbye";
};
help Connect {
@@ -903,9 +1021,10 @@ help Sapart {
" Forces a user to part a channel.";
" Services Admin Command";
" -";
" Syntax: SAPART <nick> <channel>,[<channel2>..]";
" Syntax: SAPART <nick> <channel>,[<channel2>..] [<comment>]";
" Example: SAPART hAtbLaDe #OperHelp";
" SAPART hAtbLaDe #Support,#IRCHelp";
" SAPART hAtbLaDe #Support,#IRCHelp Go away";
};
help Samode {
@@ -951,13 +1070,16 @@ help Sdesc {
};
help Mkpasswd {
" This command will Encrypt the string it has been given";
" So you can add it directly to the unrealircd.conf if you use";
" Encrypted passwords. Type can be crypt, sha1, or md5. Sha1";
" and md5 are only available when compiled with SSL support.";
" This command will return a 'hash' of the string that has been specified,";
" you can use this hash for any encrypted passwords in your configuration file:";
" eg: for oper::password, vhost::password, etc.";
" Available types (in order of 'secureness'):";
" *NIX: crypt, md5, sha1 [*], ripemd160 [*]";
" Windows: crypt [*], md5, sha1, ripemd160 [*]";
" [*: only available if compiled with SSL support]";
" -";
" Syntax: MKPASSWD <method> <password>";
" Example: MKPASSWD crypt mpsare";
" Example: MKPASSWD md5 IamTeh1337";
};
help Module {
@@ -1041,7 +1163,7 @@ help Svskill {
};
help Svsnoop {
" Enables or disables whether Global IRCop functions";
" Enables or disables whether IRCop functions";
" exist on the server in question or not.";
" Must be sent through an U:Lined server.";
" -";
@@ -1053,7 +1175,7 @@ help Svsjoin {
" Forces a user to join a channel.";
" Must be sent through an U:Lined server.";
" -";
" Syntax: SVSJOIN <nick> <channel>[,<channel2>..]";
" Syntax: SVSJOIN <nick> <channel>[,<channel2>..] [key1[,key2[..]]]";
" Example: SVSJOIN hAtbLaDe #jail";
" SVSJOIN hAtbLaDe #jail,#zoo";
};
@@ -1062,9 +1184,10 @@ help Svspart {
" Forces a user to leave a channel.";
" Must be sent through an U:Lined server.";
" -";
" Syntax: SVSPART <nick> <channel>[,<channel2>..]";
" Syntax: SVSPART <nick> <channel>[,<channel2>..] [<comment>]";
" Example: SVSPART hAtbLaDe #Hanson";
" SVSPART hAtbLaDe #Hanson,#AOL";
" SVSPART hAtbLaDe #Hanson,#AOL You must leave";
};
help Svso {
@@ -1136,7 +1259,9 @@ help Svsnline {
" spaces are indicated by _, Unreal will internally";
" translate these to spaces";
" -";
" Syntax: SVSNLINE +/- <reason_for_ban> :<realname>";
" Syntax: SVSNLINE + <reason_for_ban> :<realname>";
" (adds realname ban for <realname>)";
" SVSNLINE - :<realname> (removes ban for <realname>)";
" Example: SVSNLINE + sub7_drone :*sub7*";
};
@@ -1152,18 +1277,18 @@ help Svslusers {
help Svswatch {
" Changes the WATCH list of a user.";
" Must be sent trough an U:Lined server.";
" Must be sent through an U:Lined server.";
" Syntax: SVSWATCH <nick> :<watch parameters>";
" Example: SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
};
help Svssilence {
" Changes the SILENCE list of a user.";
" Must be sent trough an U:Lined server.";
" Must be sent through an U:Lined server.";
" In contrast to the SILENCE command, you can add/remove";
" multiple entries in one line.";
" Syntax: SVSSILENCE <nick> :<silence parameters>";
" Example: SILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
" Example: SVSSILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
};
help Svssno {
@@ -1191,7 +1316,8 @@ help Spamfilter {
" Use: /spamfilter [add|del|remove|+|-] [type] [action] [tkltime] [reason] [regex]";
" [type] specifies the target type, you can specify multiple targets:";
" 'c' channel msg, 'p' private msg, 'n' private notice,";
" 'N' channel notice, 'P' part msg, 'q' quit msg, 'd' dcc";
" 'N' channel notice, 'P' part msg, 'q' quit msg, 'd' dcc,";
" 'a' away, 't' topic, 'u' user (nick!user@host:realname ban)";
" [action] specifies the action to be taken (only 1 action can be specified):";
" 'kill', 'tempshun' (only shun current session), 'shun',";
" 'kline', 'gline', 'zline', 'gzline', 'block' (blocks the msg),";
@@ -1225,3 +1351,24 @@ help Tempshun {
" Example: TEMPSHUN evilguy suspected infection";
" TEMPSHUN -niceguy";
};
help DccAllow {
" For help on the DCCALLOW system, type '/DCCALLOW HELP'";
/* It would be useless and bad to include it here since that
* stuff quickly gets out-of-synch.
*/
};
help Addmotd {
" Adds a line to the end of the MOTD ";
" -";
" Syntax: ADDMOTD <text>";
" Example: ADDMOTD Play nice!";
};
help Addomotd {
" Adds a line to the end of the OPERMOTD ";
" -";
" Syntax: ADDOMOTD <text>";
" Example: ADDOMOTD Abuse it and lose it!";
};
+4 -5
View File
@@ -30,11 +30,14 @@ typedef struct {
#define AUTHTYPE_SHA1 3
#define AUTHTYPE_SSL_CLIENTCERT 4
#define AUTHTYPE_RIPEMD160 5
#define AUTHTYPE_SSL_CERTFINGERPRINT_SHA1 6
#ifdef USE_SSL
/* md5 is always available and enabled as of Unreal3.2.1 */
#define AUTHENABLE_MD5
#ifdef USE_SSL
#define AUTHENABLE_SHA1
#define AUTHENABLE_SSL_CLIENTCERT
#define AUTHENABLE_SSL_CERTFINGERPRINT
#define AUTHENABLE_RIPEMD160
/* OpenSSL provides a crypt() */
#ifndef AUTHENABLE_UNIXCRYPT
@@ -47,11 +50,7 @@ typedef struct {
#endif
#endif
#ifdef _WIN32
#ifndef AUTHENABLE_MD5
#define AUTHENABLE_MD5
#endif
#ifndef AUTHENABLE_SHA1
#define AUTHENABLE_SHA1
#endif
+1 -1
View File
@@ -6,7 +6,7 @@
#include <string.h>
#ifndef _WIN32
#include "tre/regex.h"
#include "pcreposix.h"
#else
#include "win32/regex.h"
#endif
-63
View File
@@ -1,63 +0,0 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/class.h
* Copyright (C) 1990 Darren Reed
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
#ifndef __class_include__
#define __class_include__
typedef struct Class {
int class;
int conFreq;
int pingFreq;
int maxLinks;
long maxSendq;
int links;
struct Class *next;
} aClass;
#define Class(x) ((x)->class)
#define ConFreq(x) ((x)->conFreq)
#define PingFreq(x) ((x)->pingFreq)
#define MaxLinks(x) ((x)->maxLinks)
#define MaxSendq(x) ((x)->maxSendq)
#define Links(x) ((x)->links)
#define ConfLinks(x) (Class(x)->links)
#define ConfMaxLinks(x) (Class(x)->maxLinks)
#define ConfClass(x) (Class(x)->class)
#define ConfConFreq(x) (Class(x)->conFreq)
#define ConfPingFreq(x) (Class(x)->pingFreq)
#define ConfSendq(x) (Class(x)->maxSendq)
#define FirstClass() classes
#define NextClass(x) ((x)->next)
extern aClass *classes;
extern aClass *find_class(int);
extern int get_conf_class(aConfItem *);
extern int get_client_class(aClient *);
extern int get_client_ping(aClient *);
extern int get_con_freq(aClass *);
extern void add_class(int, int, int, int, long);
extern void check_class(void);
extern void initclass(void);
#endif /* __class_include__ */
+33 -68
View File
@@ -36,7 +36,7 @@
#include <process.h>
#include <io.h>
#endif
//#include "dynconf.h"
#include "types.h"
#include "config.h"
#ifdef PARAMH
#include <sys/param.h>
@@ -96,12 +96,12 @@ void free();
#define TS time_t
extern int match(char *, char *);
extern int match(const char *, const char *);
#define mycmp(a,b) \
( (toupper(a[0])!=toupper(b[0])) || smycmp((a)+1,(b)+1) )
extern int smycmp(char *, char *);
extern int smycmp(const char *, const char *);
#ifndef GLIBC2_x
extern int myncmp(char *, char *, int);
extern int myncmp(const char *, const char *, int);
#endif
#ifdef NEED_STRTOK
@@ -125,7 +125,15 @@ extern char *inet_ntoa(struct IN_ADDR);
extern int inet_netof(struct IN_ADDR);
#endif
int global_count, max_global_count;
#ifndef HAVE_INET_NTOP
const char *inet_ntop(int, const void *, char *, size_t);
#endif
#ifndef HAVE_INET_PTON
int inet_pton(int af, const char *src, void *dst);
#endif
MODVAR int global_count, max_global_count;
extern char *myctime(time_t);
extern char *strtoken(char **, char *, char *);
@@ -140,10 +148,11 @@ extern char *strtoken(char **, char *, char *);
#define DupString(x,y) do{int l=strlen(y);x=MyMalloc(l+1);(void)memcpy(x,y, l+1);}while(0)
extern u_char tolowertab[], touppertab[];
extern MODVAR u_char tolowertab[], touppertab[];
#if defined(CHINESE_NICK) || defined(JAPANESE_NICK)
#if defined(NICK_GB2312) || defined(NICK_GBK) || defined(NICK_GBK_JAP)
#define USE_LOCALE
#include <ctype.h>
#endif
#ifndef USE_LOCALE
@@ -166,7 +175,7 @@ extern u_char tolowertab[], touppertab[];
#undef isspace
#undef iscntrl
#endif
extern unsigned char char_atribs[];
extern MODVAR unsigned char char_atribs[];
#define PRINT 1
#define CNTRL 2
@@ -175,6 +184,7 @@ extern unsigned char char_atribs[];
#define DIGIT 16
#define SPACE 32
#define ALLOW 64
#define ALLOWN 128
#ifndef KLINE_TEMP
#define KLINE_PERM 0
@@ -199,6 +209,7 @@ extern unsigned char char_atribs[];
#define isgraph(c) ((char_atribs[(u_char)(c)]&PRINT) && ((u_char)(c) != 0x32))
#define ispunct(c) (!(char_atribs[(u_char)(c)]&(CNTRL|ALPHA|DIGIT)))
#endif
#define iswseperator(c) (!isalnum(c) && !((u_char)c >= 128))
#ifndef MALLOCD
#define MyFree free
@@ -219,8 +230,6 @@ static char *StsMalloc(size_t size, char *file, long line)
#endif
extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
/*
* Protocol support text. DO NO CHANGE THIS unless you know what
* you are doing.
@@ -240,66 +249,18 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
#define EXPAR4 ""
#endif /* EXTCMODE */
#define PROTOCTL_CLIENT_1 \
"MAP" \
" KNOCK" \
" SAFELIST" \
" HCN" \
" MAXCHANNELS=%i" \
" MAXBANS=%i" \
" NICKLEN=%i" \
" TOPICLEN=%i" \
" KICKLEN=%i" \
" MAXTARGETS=%i" \
" AWAYLEN=%i" \
" :are supported by this server"
#define PROTOCTL_PARAMETERS_1 \
MAXCHANNELSPERUSER, \
MAXBANS, \
NICKLEN, \
TOPICLEN, \
TOPICLEN, \
MAXTARGETS, \
TOPICLEN
#ifdef PREFIX_AQ
#define CHPFIX "(qaohv)~&@%+"
#define CHPAR1 "be"
#define CHPFIX "(qaohv)~&@%+"
#define CHPAR1 "beI"
#else
#define CHPFIX "(ohv)@%+"
#define CHPAR1 "beqa"
#define CHPFIX "(ohv)@%+"
#define CHPAR1 "beIqa"
#endif /* PREFIX_AQ */
#define CHPAR2 "kfL"
#define CHPAR3 "l"
#define CHPAR4 "psmntirRcOAQKVGCuzNSM"
#define CHPAR2 "kfL"
#define CHPAR3 "l"
#define CHPAR4 "psmntirRcOAQKVCuzNSM"
#define PROTOCTL_CLIENT_2 \
"WALLCHOPS" \
" WATCH=%i" \
" SILENCE=%i" \
" MODES=%i" \
" CHANTYPES=%s" \
" PREFIX=%s" \
" CHANMODES=%s%s,%s%s,%s%s,%s%s" \
" NETWORK=%s" \
" CASEMAPPING=%s" \
" EXTBAN=~,%s" \
" :are supported by this server"
#define PROTOCTL_PARAMETERS_2 \
MAXWATCH, \
SILENCE_LIMIT, \
MAXMODEPARAMS, \
"#", \
CHPFIX, \
CHPAR1, EXPAR1, \
CHPAR2, EXPAR2, \
CHPAR3, EXPAR3, \
"psmntirRcOAQKVGCuzNSM", EXPAR4, \
ircnet005, \
"ascii", \
extbanstr
/* Server-Server PROTOCTL -Stskeeps
* Please check send_proto() for more. -- Syzop
@@ -314,7 +275,8 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
" SJ3" \
" NS" \
" SJB64" \
" TKLEXT"
" TKLEXT" \
" NICKIP"
#ifdef _WIN32
/*
@@ -322,7 +284,6 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
* Windows' internal strerror() function doesn't work with socket errors.
*/
extern int DisplayString(HWND hWnd, char *InBuf, ...);
#undef strerror
#else
typedef int SOCKET;
#define INVALID_SOCKET -1
@@ -336,8 +297,9 @@ extern int lu_noninv, lu_inv, lu_serv, lu_oper,
lu_unknown, lu_channel, lu_lu, lu_lulocal, lu_lserv,
lu_clu, lu_mlu, lu_cglobalu, lu_mglobalu;
TS now;
MODVAR TS now;
#ifndef _WIN32
#if defined(__STDC__)
#define __const const
#define __signed signed
@@ -360,6 +322,9 @@ TS now;
#endif
#endif
#endif
#else
#define inline __inline
#endif
#define READBUF_SIZE 8192
+82 -133
View File
@@ -70,17 +70,17 @@
#undef NO_FDLIST
/*
* system have sockaddr_storage struct.
*/
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
/*
* Defining this will allow all ircops to see people in +s channels
* By default, only net/tech admins can see this
*/
#define SHOW_SECRET
/*
* This allows you to see modes in /list
*/
#define LIST_SHOW_MODES
/*
* Admin's chat...
*/
@@ -92,24 +92,12 @@
*/
#undef SECURECHANMSGSONLYGOTOSECURE
/*
* be compatible with older cloak keys? If you link to servers beta4 and
* earlier without this the cloak keys will produce diff results
* Not recommended, however, as beta4 and earlier 3.2 has an insecure
* cloak algo -griever
*/
#undef COMPAT_BETA4_KEYS
/*
If you want SHUN_NOTICES, define this
*/
#undef SHUN_NOTICES
/*
If you want to support chinese and/or japanese nicks
*/
#undef CHINESE_NICK
#undef JAPANESE_NICK
#undef NICK_GB2312
#undef NICK_GBK
#undef NICK_GBK_JAP
/*
Remote rehash
@@ -126,39 +114,6 @@
*/
#undef STRIPBADWORDS_CHAN_ALWAYS
/*
* NO_OPEROVERRIDE
* This will disable OperMode, OperTopic and Banwalks
*/
#undef NO_OPEROVERRIDE
/*
* OPEROVERRIDE_VERIFY
* This will prompt opers before permitting them to join +p/+s
* channels, decreasing the chances of someone "accidentally"
* entering a random channel.
*/
#undef OPEROVERRIDE_VERIFY
/*
* THROTTLING
* This will only allow 1 connection per ip in set::throttle::period time
*/
#define THROTTLING
/*
* NAZIISH_CHBAN_HANDLING (formerly ANNOYING_BAN_THING)
* Reject bans that are matched by existing bans, causes chanserv
* To flood-kick an akicked user if their akick is matched by another
* Ban, but if you don't mind, this can free up ban list space I guess
*/
#undef NAZIISH_CHBAN_HANDLING
/*
* Disable /sethost, /setident, /chgname, /chghost, /chgident
*/
#undef DISABLE_USERMOD
/*
* No spoof code
*
@@ -178,13 +133,6 @@
*/
#define HOSTILENAME /* [DO NOT CHANGE!] */
/*
* This makes topics include nick!user@host instead of nick in topic whoset,
* ALL servers must be Unreal3.2-beta12 or higher, and services may have some
* problems with this
*/
#undef TOPIC_NICK_IS_NUHOST
/*
* Use JOIN instead of SJOIN on every remotely sent JOIN
*/
@@ -241,36 +189,60 @@
* the maintainer.
*/
/* #undef DEBUGMODE define DEBUGMODE to enable debugging mode.*/
/* DEBUGMODE: This should only be used when tracing a problem. It creates
* an insane amount of log output which can be very useful for debugging.
* You should *NEVER* enable this setting on production servers.
*/
/* #undef DEBUGMODE */
/*
* Full pathnames and defaults of irc system's support files. Please note that
* these are only the recommened names and paths. Change as needed.
* You must define these to something, even if you don't really want them.
*/
#ifndef _WIN32
#define CPATH "unrealircd.conf" /* server configuration file */
#else
extern char CPATH[262];
#endif
#define MPATH "ircd.motd" /* server MOTD file */
#define SMPATH "ircd.smotd" /* short MOTD file */
#define RPATH "ircd.rules" /* server rules file */
#define OPATH "oper.motd" /* Operators MOTD file */
#define LPATH "debug.log" /* Where the debug file lives, if DEBUGMODE */
#define PPATH "ircd.pid" /* file for server pid */
#define lPATH "ircd.log" /* server log file */
#define VPATH "ircd.svsmotd" /* Services MOTD append. */
#define BPATH "bot.motd" /* Bot MOTD */
#define IRCDTUNE "ircd.tune" /* tuning .. */
/* CHROOTDIR
*
* Define for value added security if you are a rooter.
* This enables running the IRCd chrooted (requires initial root privileges,
* but will be dropped to IRC_USER/IRC_GROUP privileges if those are defined).
*
* All files you access must be in the directory you define as DPATH.
* The directory to chroot to is simply DPATH (which is set via ./Config).
* (This may effect the PATH locations above, though you can symlink it)
*
* You may want to define IRC_UID and IRC_GID
* Usually you only simply need to enable this, and set IRC_USER and
* IRC_GROUP, you don't need to create a special chroot environment..
* UnrealIRCd will do that by itself (Unreal will create /dev/random,
* etc. etc.).
*
* Change to '#define CHROOTDIR' to enable...
*/
/* #define CHROOTDIR */
/*
* IRC_USER
*
* If you start the server as root but wish to have it run as another user,
* define IRC_USER to that user name. This should only be defined if you
* are running as root and even then perhaps not.
*/
/* #define IRC_USER "<user name>" */
/* #define IRC_GROUP "<group name>" */
/* SHOW_INVISIBLE_LUSERS
*
* As defined this will show the correct invisible count for anyone who does
@@ -286,9 +258,25 @@
* that the 'new' access lets them. Note also that defining this is
* a major security hole if your ircd goes down and some other user
* starts up the server with a new conf file that has some extra
* O-lines. So don't use this unless you're debugging.
* O-lines.
* Naturally, for non-suid/sgid ircds, this setting does not matter,
* hence command line parameters are always permitted then.
*/
#undef CMDLINE_CONFIG /* allow conf-file to be specified on command line */
#undef CMDLINE_CONFIG
/** FAKELAG_CONFIGURABLE makes it possible to make certain classes exempted
* from 'fake lag' (that is, the artificial delay that is added by the ircd
* to prevent flooding, which causes the messages/commands of the user to
* slow down). Naturally, incorrect use of this feature can cause SEVERE
* issues, in fact it can easily bring your whole IRCd down if one of the
* users with class::options::nofakelag does a good flood at full speed.
* Hence, this is disabled by default, and you need to explicitly enable it
* here IF YOU KNOW WHAT YOU ARE DOING. People complaining their ircd
* ""crashed"" because of this setting will be shot. </DISCLAIMER>
* Common usage for this are: a trusted bot ran by an IRCOp, that you only
* want to give "flood access" and nothing else, and other such things.
*/
#undef FAKELAG_CONFIGURABLE
/*
* Size of the LISTEN request. Some machines handle this large
@@ -313,19 +301,6 @@
#define BUFFERPOOL (18 * MAXSENDQLENGTH)
#endif
/*
* IRC_UID
*
* If you start the server as root but wish to have it run as another user,
* define IRC_UID to that UID. This should only be defined if you are running
* as root and even then perhaps not.
* use #define IRC_UID <uid>
* and #define IRC_GID <gid>
*/
#undef IRC_UID
#undef IRC_GID
/*
* CLIENT_FLOOD
*
@@ -343,17 +318,13 @@
#define NO_FLOOD_AWAY
/*
* Define your network service names here.
/* You can define the nickname of NickServ here (usually "NickServ").
* This is ONLY used for the ""infamous IDENTIFY feature"", which is:
* whenever a user connects with a server password but there isn't
* a server password set, the password is sent to NickServ in an
* 'IDENTIFY <pass>' message.
*/
#define ChanServ "ChanServ"
#define MemoServ "MemoServ"
#define NickServ "NickServ"
#define OperServ "OperServ"
#define HelpServ "HelpServ"
#define StatServ "StatServ"
#define InfoServ "InfoServ"
#define BotServ "BotServ"
/*
* How many open targets can one nick have for messaging nicks and
@@ -374,25 +345,13 @@
#define PORTNUM 6667 /* 6667 is default */
/*
* Maximum number of network connections your server will allow. This should
* never exceed max. number of open file descrpitors and wont increase this.
* Should remain LOW as possible. Most sites will usually have under 30 or so
* connections. A busy hub or server may need this to be as high as 50 or 60.
* Making it over 100 decreases any performance boost gained from it being low.
* if you have a lot of server connections, it may be worth splitting the load
* over 2 or more servers.
* 1 server = 1 connection, 1 user = 1 connection.
* This should be at *least* 3: 1 listen port, 1 dns port + 1 client
*
* Note: this figure will be too high for most systems. If you get an
* fd-related error on compile, change this to 256.
*
* Windows users: This should be a fairly high number. Some operations
* will slow down because of this, but it is _required_ because of the way
* windows NT(and possibly 95) allocate fd handles. A good number is 16384.
* Maximum number of network connections your server will allow.
* This is usually configured via ./Config on *NIX,
* the setting mentioned below is the default for Windows.
* 2004-10-13: 1024 -> 4096
*/
#ifndef MAXCONNECTIONS
#define MAXCONNECTIONS 1024
#define MAXCONNECTIONS 4096
#endif
/*
@@ -402,7 +361,7 @@
* 8MB or less core memory : 500 (at least 1/4 of max users)
* 8MB-16MB core memory : 500-750 (1/4 -> 1/2 of max users)
* 16MB-32MB core memory : 750-1000 (1/2 -> 3/4 of max users)
* 32MB or more core memory : 1000+ (> 3/4 if max users)
* 32MB or more core memory : 1000+ (> 3/4 of max users)
* where max users is the expected maximum number of users.
* (100 nicks/users ~ 25k)
* NOTE: this is directly related to the amount of memory ircd will use whilst
@@ -417,7 +376,7 @@
/*
* Time interval to wait and if no messages have been received, then check for
* PINGFREQUENCY and CONNECTFREQUENCY
* pings, outgoing connects, events, and a couple of other things.
* Imo this is quite useless nowdays, it only saves _some_ cpu on tiny networks
* with like 10 users all of them being inactive. On a normal network with >30
* users this value is completely irrelevant.
@@ -431,15 +390,10 @@
* PINGFREQUENCY seconds, then the server will attempt to check for
* an active link with a PING message. If no reply is received within
* (PINGFREQUENCY * 2) seconds, then the connection will be closed.
* NOTE: This is simply the class::pingfreq for the default class, nothing fancy ;)
*/
#define PINGFREQUENCY 120 /* Recommended value: 120 */
/*
* If the connection to to uphost is down, then attempt to reconnect every
* CONNECTFREQUENCY seconds.
*/
#define CONNECTFREQUENCY 600 /* Recommended value: 600 */
/*
* Often net breaks for a short time and it's useful to try to
* establishing the same connection again faster than CONNECTFREQUENCY
@@ -472,20 +426,14 @@
#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
/*
* Use much faster badwords replace routine (>100 times faster).
* Forces Unreal to use compressed IPv6 addresses rather than expanding them
*/
#define FAST_BADWORD_REPLACE
/*
* Only important for people using IPv6 (default should be ok for now) -Onliner
* Because ip6.arpa is still not delegated for the 6bone (3ffe::/16)
* this options allows you to still resolve it using ip6.int.
*/
#define SIXBONE_HACK
#undef IPV6_COMPRESSED
/*
* Extended channel modes. This extends the channel modes with yet another
* 32 possible modes which can also be used in modules.
* This is now pretty much required.
*/
#define EXTCMODE
@@ -495,6 +443,13 @@
*/
#define NEWCHFLOODPROT
/* JoinThrottle (chanmode +j): +j x:y throttles users to X joins per Y seconds (per-user).
* In peak situations (eg: just after a server restart with thousand clients joining
* hundreds of channels) it can use like ~200k, but in normal circumstances you should
* count on just ~10-50k.
*/
#define JOINTHROTTLE
/* ------------------------- END CONFIGURATION SECTION -------------------- */
#define MOTD MPATH
#define RULES RPATH
@@ -502,6 +457,10 @@
#define CONFIGFILE CPATH
#define IRCD_PIDFILE PPATH
#if defined(CHROOTDIR) && !defined(IRC_USER)
#error "ERROR: It makes no sense to define CHROOTDIR but not IRC_USER and IRC_GROUP! Please define IRC_USER and IRC_GROUP properly as the user/group to change to."
#endif
#ifdef __osf__
#define OSF
/* OSF defines BSD to be its version of BSD */
@@ -581,16 +540,6 @@ error You stuffed up config.h signals
* whatever else. -4 allows "safety" margin of 1 and space reserved.
*/
#define MAXCLIENTS (MAXCONNECTIONS-4)
#ifdef HAVECURSES
# define DOCURSES
#else
# undef DOCURSES
#endif
#ifdef HAVETERMCAP
# define DOTERMCAP
#else
# undef DOTERMCAP
#endif
# define stricmp strcasecmp
# define strnicmp strncasecmp
#if defined(CLIENT_FLOOD)
+155 -25
View File
@@ -19,7 +19,7 @@
* $Id$
*/
#ifndef DYNCONF_H
#define DYNCONF_H
/* config level */
#define DYNCONF_CONF_VERSION "1.5"
@@ -27,10 +27,6 @@
typedef struct zNetwork aNetwork;
struct zNetwork {
long key;
long key2;
long key3;
long keycrc;
unsigned x_inah:1;
char *x_ircnetwork;
char *x_ircnet005;
@@ -56,13 +52,6 @@ struct ChMode {
long extmodes;
char *extparams[EXTCMODETABLESZ];
#endif
#ifdef NEWCHFLOODPROT
ChanFloodProt floodprot;
#else
unsigned short msgs;
unsigned short per;
unsigned char kmode;
#endif
};
typedef struct _OperStat {
@@ -74,9 +63,9 @@ typedef struct zConfiguration aConfiguration;
struct zConfiguration {
unsigned som:1;
unsigned hide_ulines:1;
unsigned flat_map:1;
unsigned allow_chatops:1;
unsigned webtv_support:1;
unsigned no_oper_hiding:1;
unsigned ident_check:1;
unsigned fail_oper_warn:1;
unsigned show_connect_info:1;
@@ -84,15 +73,16 @@ struct zConfiguration {
unsigned use_ban_version:1;
unsigned mkpasswd_for_everyone:1;
unsigned allow_part_if_shunned:1;
unsigned use_egd;
unsigned check_target_nick_bans:1;
unsigned use_egd : 1;
long host_timeout;
int host_retries;
char *name_server;
#ifdef THROTTLING
char *dns_bindip;
long throttle_period;
char throttle_count;
#endif
char *kline_address;
char *gline_address;
long conn_modes;
long oper_modes;
char *oper_snomask;
@@ -102,6 +92,7 @@ struct zConfiguration {
char *oper_only_stats;
OperStat *oper_only_stats_ext;
int maxchannelsperuser;
int maxdccallow;
int anti_spam_quit_message_time;
char *egd_path;
char *static_quit;
@@ -109,12 +100,22 @@ struct zConfiguration {
#ifdef USE_SSL
char *x_server_cert_pem;
char *x_server_key_pem;
char *x_server_cipher_list;
char *x_dh_pem;
char *trusted_ca_file;
long ssl_options;
int ssl_renegotiate_bytes;
int ssl_renegotiate_timeout;
#elif defined(_WIN32)
void *bogus1, *bogus2, *bogus3, *bogus5, *bogus8;
long bogus4;
int bogus6, bogus7;
#endif
enum UHAllowed userhost_allowed;
char *restrict_usermodes;
char *restrict_channelmodes;
char *restrict_extendedbans;
char *channel_command_prefix;
long unknown_flood_bantime;
long unknown_flood_amount;
@@ -138,32 +139,43 @@ struct zConfiguration {
long spamfilter_ban_time;
char *spamfilter_ban_reason;
char *spamfilter_virus_help_channel;
char spamfilter_vchan_deny;
SpamExcept *spamexcept;
char *spamexcept_line;
int maxbans;
int maxbanlength;
int timesynch_enabled;
int timesynch_timeout;
char *timesynch_server;
int pingpong_warning;
aNetwork network;
int nicklen;
};
#ifndef DYNCONF_C
extern aConfiguration iConf;
extern MODVAR aConfiguration iConf;
#endif
#define KLINE_ADDRESS iConf.kline_address
#define KLINE_ADDRESS iConf.kline_address
#define GLINE_ADDRESS iConf.gline_address
#define CONN_MODES iConf.conn_modes
#define OPER_MODES iConf.oper_modes
#define OPER_SNOMASK iConf.oper_snomask
#define CONNECT_SNOMASK iConf.user_snomask
#define SHOWOPERMOTD iConf.som
#define HIDE_ULINES iConf.hide_ulines
#define FLAT_MAP iConf.flat_map
#define ALLOW_CHATOPS iConf.allow_chatops
#define MAXCHANNELSPERUSER iConf.maxchannelsperuser
#define MAXDCCALLOW iConf.maxdccallow
#define WEBTV_SUPPORT iConf.webtv_support
#define NO_OPER_HIDING iConf.no_oper_hiding
#define DONT_RESOLVE iConf.dont_resolve
#define AUTO_JOIN_CHANS iConf.auto_join_chans
#define OPER_AUTO_JOIN_CHANS iConf.oper_auto_join_chans
#define HOST_TIMEOUT iConf.host_timeout
#define HOST_RETRIES iConf.host_retries
#define NAME_SERVER iConf.name_server
#define DNS_BINDIP iConf.dns_bindip
#define IDENT_CHECK iConf.ident_check
#define FAILOPER_WARN iConf.fail_oper_warn
#define SHOWCONNECTINFO iConf.show_connect_info
@@ -191,19 +203,14 @@ extern aConfiguration iConf;
#define SSL_SERVER_CERT_PEM (iConf.x_server_cert_pem ? iConf.x_server_cert_pem : "server.cert.pem")
#define SSL_SERVER_KEY_PEM (iConf.x_server_key_pem ? iConf.x_server_key_pem : "server.key.pem")
#define CLOAK_KEY1 iConf.network.key
#define CLOAK_KEY2 iConf.network.key2
#define CLOAK_KEY3 iConf.network.key3
#define CLOAK_KEYCRC iConf.network.keycrc
#define STATIC_QUIT iConf.static_quit
#define STATIC_PART iConf.static_part
#define UHOST_ALLOWED iConf.userhost_allowed
#define RESTRICT_USERMODES iConf.restrict_usermodes
#define RESTRICT_CHANNELMODES iConf.restrict_channelmodes
#ifdef THROTTLING
#define RESTRICT_EXTENDEDBANS iConf.restrict_extendedbans
#define THROTTLING_PERIOD iConf.throttle_period
#define THROTTLING_COUNT iConf.throttle_count
#endif
#define USE_BAN_VERSION iConf.use_ban_version
#define UNKNOWN_FLOOD_BANTIME iConf.unknown_flood_bantime
#define UNKNOWN_FLOOD_AMOUNT iConf.unknown_flood_amount
@@ -238,4 +245,127 @@ extern aConfiguration iConf;
#define SPAMFILTER_BAN_TIME iConf.spamfilter_ban_time
#define SPAMFILTER_BAN_REASON iConf.spamfilter_ban_reason
#define SPAMFILTER_VIRUSCHAN iConf.spamfilter_virus_help_channel
#define SPAMFILTER_VIRUSCHANDENY iConf.spamfilter_vchan_deny
#define SPAMFILTER_EXCEPT iConf.spamexcept_line
#define CHECK_TARGET_NICK_BANS iConf.check_target_nick_bans
#define MAXBANS iConf.maxbans
#define MAXBANLENGTH iConf.maxbanlength
#define TIMESYNCH iConf.timesynch_enabled
#define TIMESYNCH_TIMEOUT iConf.timesynch_timeout
#define TIMESYNCH_SERVER iConf.timesynch_server
#define PINGPONG_WARNING iConf.pingpong_warning
/* Used for "is present?" and duplicate checking */
struct SetCheck {
unsigned has_show_opermotd:1;
unsigned has_hide_ulines:1;
unsigned has_flat_map:1;
unsigned has_allow_chatops:1;
unsigned has_webtv_support:1;
unsigned has_ident_check:1;
unsigned has_fail_oper_warn:1;
unsigned has_show_connect_info:1;
unsigned has_dont_resolve:1;
unsigned has_mkpasswd_for_everyone:1;
unsigned has_allow_part_if_shunned:1;
unsigned has_ssl_egd:1;
unsigned has_ssl_server_cipher_list :1;
unsigned has_dns_timeout:1;
unsigned has_dns_retries:1;
unsigned has_dns_nameserver:1;
unsigned has_dns_bind_ip:1;
unsigned has_throttle_period:1;
unsigned has_throttle_connections:1;
unsigned has_kline_address:1;
unsigned has_gline_address:1;
unsigned has_modes_on_connect:1;
unsigned has_modes_on_oper:1;
unsigned has_snomask_on_connect:1;
unsigned has_snomask_on_oper:1;
unsigned has_auto_join:1;
unsigned has_oper_auto_join:1;
unsigned has_check_target_nick_bans:1;
unsigned has_pingpong_warning:1;
unsigned has_oper_only_stats:1;
unsigned has_maxchannelsperuser:1;
unsigned has_maxdccallow:1;
unsigned has_anti_spam_quit_message_time:1;
unsigned has_egd_path:1;
unsigned has_static_quit:1;
unsigned has_static_part:1;
#ifdef USE_SSL
unsigned has_ssl_certificate:1;
unsigned has_ssl_key:1;
unsigned has_ssl_trusted_ca_file:1;
unsigned has_ssl_options:1;
unsigned has_ssl_dh:1;
unsigned has_renegotiate_timeout : 1;
unsigned has_renegotiate_bytes : 1;
#endif
unsigned has_allow_userhost_change:1;
unsigned has_restrict_usermodes:1;
unsigned has_restrict_channelmodes:1;
unsigned has_restrict_extendedbans:1;
unsigned has_channel_command_prefix:1;
unsigned has_anti_flood_unknown_flood_bantime:1;
unsigned has_anti_flood_unknown_flood_amount:1;
unsigned has_modes_on_join:1;
#ifdef NO_FLOOD_AWAY
unsigned has_anti_flood_away_count:1;
unsigned has_anti_flood_away_period:1;
#endif
unsigned has_anti_flood_nick_flood:1;
unsigned has_ident_connect_timeout:1;
unsigned has_ident_read_timeout:1;
unsigned has_default_bantime:1;
unsigned has_who_limit:1;
unsigned has_maxbans:1;
unsigned has_maxbanlength:1;
unsigned has_silence_limit:1;
#ifdef NEWCHFLOODPROT
unsigned has_modef_default_unsettime:1;
unsigned has_modef_max_unsettime:1;
#endif
unsigned has_ban_version_tkl_time:1;
unsigned has_spamfilter_ban_time:1;
unsigned has_spamfilter_ban_reason:1;
unsigned has_spamfilter_virus_help_channel:1;
unsigned has_spamfilter_virus_help_channel_deny:1;
unsigned has_spamfilter_except:1;
unsigned has_hosts_host_on_oper_up:1;
unsigned has_network_name:1;
unsigned has_default_server:1;
unsigned has_services_server:1;
unsigned has_hosts_global:1;
unsigned has_hosts_admin:1;
unsigned has_hosts_local:1;
unsigned has_hosts_servicesadmin:1;
unsigned has_hosts_netadmin:1;
unsigned has_hosts_coadmin:1;
unsigned has_hiddenhost_prefix:1;
unsigned has_prefix_quit:1;
unsigned has_help_channel:1;
unsigned has_stats_server:1;
unsigned has_cloak_keys:1;
unsigned has_options_webtv_support:1;
unsigned has_options_hide_ulines:1;
unsigned has_options_flat_map:1;
unsigned has_options_show_opermotd:1;
unsigned has_options_identd_check:1;
unsigned has_options_fail_oper_warn:1;
unsigned has_options_dont_resolve:1;
unsigned has_options_show_connect_info:1;
unsigned has_options_mkpasswd_for_everyone:1;
unsigned has_options_allow_part_if_shunned:1;
int cgiirc_type; /* cheat :( */
unsigned has_cgiirc_hosts:1;
unsigned has_cgiirc_webpass:1;
unsigned has_nicklen:1;
};
#endif
+421 -1
View File
@@ -2,6 +2,7 @@
#define _IRCD_DOG3_FDLIST
/* $Id$ */
#ifndef NEW_IO
typedef struct fdstruct {
int entry[MAXCONNECTIONS + 2];
@@ -13,9 +14,428 @@ void delfrom_fdlist(int a, fdlist * b);
void init_fdlist(fdlist * b);
#ifndef NO_FDLIST
extern fdlist oper_fdlist;
extern MODVAR fdlist oper_fdlist;
#endif
#else /* ifndef NEW_IO */
/* Hybrid Support Headers Begin */
#include <sys/resource.h>
#ifdef RLIMIT_FDMAX
# define RLIMIT_FD_MAX RLIMIT_FDMAX
#else
# ifdef RLIMIT_NOFILE
# define RLIMIT_FD_MAX RLIMIT_NOFILE
# else
# ifdef RLIMIT_OPEN_MAX
# define RLIMIT_FD_MAX RLIMIT_OPEN_MAX
# else
# warning No file descriptor limit was found
# endif
# endif
#endif
#define COMM_SELECT_READ 1
#define COMM_SELECT_WRITE 2
/* How long can comm_select() wait for network events [milliseconds] */
#define SELECT_DELAY 500
#define LOWEST_SAFE_FD 4 /* skip stdin, stdout, stderr, and profiler */
/* Path to /dev/null */
#define PATH_DEVNULL "/dev/null"
extern const unsigned char ToUpperTab[];
#define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
/*
* NOTE: The following functions are NOT the same as strcasecmp
* and strncasecmp! These functions use the Finnish (RFC1459)
* character set. Do not replace!
*
* irccmp - case insensitive comparison of s1 and s2
*/
extern int irccmp(const char *, const char *);
typedef struct _dlink_node dlink_node;
typedef struct _dlink_list dlink_list;
struct _dlink_node
{
void *data;
dlink_node *prev;
dlink_node *next;
};
struct _dlink_list
{
dlink_node *head;
dlink_node *tail;
unsigned long length;
};
extern void dlinkAdd(void *data, dlink_node * m, dlink_list * list);
extern void dlinkAddBefore(dlink_node *b, void *data, dlink_node *m, dlink_list *list);
extern void dlinkAddTail(void *data, dlink_node *m, dlink_list *list);
extern void dlinkDelete(dlink_node *m, dlink_list *list);
extern void dlinkMoveList(dlink_list *from, dlink_list *to);
extern dlink_node *dlinkFind(dlink_list *m, void *data);
extern dlink_node *dlinkFindDelete(dlink_list *m, void *data);
#ifndef NDEBUG
void mem_frob(void *data, int len);
#else
#define mem_frob(x, y)
#endif
/* These macros are basically swiped from the linux kernel
* they are simple yet effective
*/
/*
* Walks forward of a list.
* pos is your node
* head is your list head
*/
#define DLINK_FOREACH(pos, head) for (pos = (head); pos != NULL; pos = pos->next)
/*
* Walks forward of a list safely while removing nodes
* pos is your node
* n is another list head for temporary storage
* head is your list head
*/
#define DLINK_FOREACH_SAFE(pos, n, head) for (pos = (head), n = pos ? pos->next : NULL; pos != NULL; pos = n, n = pos ? pos->next : NULL)
#define DLINK_FOREACH_PREV(pos, head) for (pos = (head); pos != NULL; pos = pos->prev)
/* Returns the list length */
#define dlink_list_length(list) (list)->length
/*
* The functions below are included for the sake of inlining
* hopefully this will speed up things just a bit
*
*/
/*
* dlink_ routines are stolen from squid, except for dlinkAddBefore,
* which is mine.
* -- adrian
*/
extern inline void dlinkAdd(void *data, dlink_node * m, dlink_list * list)
{
m->data = data;
m->prev = NULL;
m->next = list->head;
/* Assumption: If list->tail != NULL, list->head != NULL */
if (list->head != NULL)
list->head->prev = m;
else if (list->tail == NULL)
list->tail = m;
list->head = m;
list->length++;
}
extern inline void dlinkAddBefore(dlink_node *b, void *data, dlink_node *m, dlink_list *list)
{
/* Shortcut - if its the first one, call dlinkAdd only */
if (b == list->head)
dlinkAdd(data, m, list);
else {
m->data = data;
b->prev->next = m;
m->prev = b->prev;
b->prev = m;
m->next = b;
list->length++;
}
}
extern inline void dlinkAddTail(void *data, dlink_node *m, dlink_list *list)
{
m->data = data;
m->next = NULL;
m->prev = list->tail;
/* Assumption: If list->tail != NULL, list->head != NULL */
if (list->tail != NULL)
list->tail->next = m;
else if (list->head == NULL)
list->head = m;
list->tail = m;
list->length++;
}
/* Execution profiles show that this function is called the most
* often of all non-spontaneous functions. So it had better be
* efficient. */
extern inline void dlinkDelete(dlink_node *m, dlink_list *list)
{
/* Assumption: If m->next == NULL, then list->tail == m
* and: If m->prev == NULL, then list->head == m
*/
if (m->next)
m->next->prev = m->prev;
else {
assert(list->tail == m);
list->tail = m->prev;
}
if (m->prev)
m->prev->next = m->next;
else {
assert(list->head == m);
list->head = m->next;
}
/* Set this to NULL does matter */
m->next = m->prev = NULL;
list->length--;
}
/*
* dlinkFind
* inputs - list to search
* - data
* output - pointer to link or NULL if not found
* side effects - Look for ptr in the linked listed pointed to by link.
*/
extern inline dlink_node *dlinkFind(dlink_list *list, void *data)
{
dlink_node *ptr;
DLINK_FOREACH(ptr, list->head)
{
if (ptr->data == data)
return(ptr);
}
return(NULL);
}
extern inline void dlinkMoveList(dlink_list *from, dlink_list *to)
{
/* There are three cases */
/* case one, nothing in from list */
if (from->head == NULL)
return;
/* case two, nothing in to list */
/* actually if to->head is NULL and to->tail isn't, thats a bug */
if (to->head == NULL)
{
to->head = from->head;
to->tail = from->tail;
from->head = from->tail = NULL;
to->length = from->length;
from->length = 0;
return;
}
/* third case play with the links */
from->tail->next = to->head;
from->head->prev = to->head->prev;
to->head->prev = from->tail;
to->head = from->head;
from->head = from->tail = NULL;
to->length += from->length;
from->length = 0;
/* I think I got that right */
}
extern inline dlink_node *dlinkFindDelete(dlink_list *list, void *data)
{
dlink_node *m;
DLINK_FOREACH(m, list->head)
{
if (m->data == data)
{
if (m->next)
m->next->prev = m->prev;
else
{
assert(list->tail == m);
list->tail = m->prev;
}
if (m->prev)
m->prev->next = m->next;
else
{
assert(list->head == m);
list->head = m->next;
}
/* Set this to NULL does matter */
m->next = m->prev = NULL;
list->length--;
return(m);
}
}
return(NULL);
}
extern dlink_list callback_list; /* listing/debugging purposes */
typedef void *CBFUNC(va_list);
struct Callback
{
char *name;
dlink_list chain;
dlink_node node;
unsigned int called;
time_t last;
};
extern struct Callback *register_callback(const char *, CBFUNC *);
extern void *execute_callback(struct Callback *, ...);
extern struct Callback *find_callback(const char *);
extern dlink_node *install_hook(struct Callback *, CBFUNC *);
extern void uninstall_hook(struct Callback *, CBFUNC *);
extern void *pass_callback(dlink_node *, ...);
extern void stats_hooks(struct Client *);
#define is_callback_present(c) (!!dlink_list_length(&c->chain))
/* Hybrid Support Headers End */
/* tests show that about 7 fds are not registered by fdlist.c, these
* include std* descriptors + some others (by OpenSSL etc.). Note this is
* intentionally too high, we don't want to eat fds up to the last one */
#define LEAKED_FDS 10
/* how many (privileged) clients can exceed max_clients */
#define MAX_BUFFER 60
#define MAXCLIENTS_MAX (hard_fdlimit - LEAKED_FDS - MAX_BUFFER)
#define MAXCLIENTS_MIN 32
#define FD_DESC_SZ 128 /* hostlen + comment */
/* enums better then defines for debugging issue */
enum {
COMM_OK,
COMM_ERR_BIND,
COMM_ERR_DNS,
COMM_ERR_TIMEOUT,
COMM_ERR_CONNECT,
COMM_ERROR,
COMM_ERR_MAX
};
/* This is to get around the fact that some implementations have ss_len and
* others do not
*/
struct irc_ssaddr
{
struct sockaddr_storage ss;
unsigned char ss_len;
in_port_t ss_port;
};
/* For Callback functions arguments */
struct _fde;
/* Callback for completed IO events */
typedef void PF(struct _fde *, void *);
/* Callback for completed connections */
/* int fd, int status, void * */
typedef void CNCB(struct _fde *, int, void *);
typedef struct _fde {
/* New-school stuff, again pretty much ripped from squid */
/*
* Yes, this gives us only one pending read and one pending write per
* filedescriptor. Think though: when do you think we'll need more?
*/
int fd; /* So we can use the fde_t as a callback ptr */
int comm_index; /* where in the poll list we live */
int evcache; /* current fd events as set up by the underlying I/O */
char desc[FD_DESC_SZ];
PF *read_handler;
void *read_data;
PF *write_handler;
void *write_data;
PF *timeout_handler;
void *timeout_data;
time_t timeout;
PF *flush_handler;
void *flush_data;
time_t flush_timeout;
/* struct DNSQuery *dns_query; at hybrid 7.2.2 */
struct DNSReq *dns_query;
struct {
unsigned int open:1;
unsigned int is_socket:1;
#ifdef USE_SSL
unsigned int pending_read:1;
#endif
} flags;
struct {
/* We don't need the host here ? */
struct irc_ssaddr S;
struct irc_ssaddr hostaddr;
CNCB *callback;
void *data;
/* We'd also add the retry count here when we get to that -- adrian */
} connect;
#ifdef USE_SSL
SSL *ssl;
#endif
struct _fde *hnext;
} fde_t;
#define CLIENT_HEAP_SIZE 1024
#define FD_HASH_SIZE CLIENT_HEAP_SIZE
extern int number_fd;
extern int hard_fdlimit;
extern fde_t *fd_hash[];
extern fde_t *fd_next_in_loop;
extern struct Callback *fdlimit_cb;
extern void fdlist_init(void);
extern fde_t *lookup_fd(int);
extern void fd_open(fde_t *, int, int, const char *);
extern void fd_close(fde_t *);
extern void fd_dump(struct Client *);
#ifndef __GNUC__
extern void fd_note(fde_t *, const char *format, ...);
#else
extern void fd_note(fde_t *, const char *format, ...)
__attribute__((format (printf, 2, 3)));
#endif
extern void close_standard_fds(void);
extern void close_fds(fde_t *);
extern void recalc_fdlimit(void *);
#endif /* ifndef NEW_IO */
#ifndef TRUE
#define TRUE 1
+286 -188
View File
@@ -25,94 +25,92 @@
* Most of the externs and prototypes thrown in here to 'cleanup' things.
* -avalon
*/
#include "setup.h"
#ifndef NO_FDLIST
#include "fdlist.h"
#endif
extern char *extraflags;
extern int tainted;
extern MODVAR char *extraflags;
extern MODVAR int tainted;
/* for the new s_err.c */
extern char *getreply(int);
#define rpl_str(x) getreply(x)
#define err_str(x) getreply(x)
extern Member *freemember;
extern Membership *freemembership;
extern MembershipL *freemembershipL;
extern TS nextconnect, nextdnscheck, nextping;
extern aClient *client, me, *local[];
extern aChannel *channel;
extern struct stats *ircstp;
extern int bootopt;
extern time_t TSoffset;
extern MODVAR Member *freemember;
extern MODVAR Membership *freemembership;
extern MODVAR MembershipL *freemembershipL;
extern MODVAR TS nextconnect, nextdnscheck, nextping;
extern MODVAR aClient *client, me, *local[];
extern MODVAR aChannel *channel;
extern MODVAR struct stats *ircstp;
extern MODVAR int bootopt;
extern MODVAR time_t TSoffset;
/* Prototype added to force errors -- Barubary */
extern TS check_pings(TS now);
extern TS TS2ts(char *s);
extern time_t timeofday;
extern MODVAR time_t timeofday;
/* newconf */
#define get_sendq(x) ((x)->class ? (x)->class->sendq : MAXSENDQLENGTH)
#define get_sendq(x) ((x)->cclass ? (x)->cclass->sendq : MAXSENDQLENGTH)
/* get_recvq is only called in send.c for local connections */
#define get_recvq(x) ((x)->class->recvq ? (x)->class->recvq : CLIENT_FLOOD)
#define get_recvq(x) ((x)->cclass->recvq ? (x)->cclass->recvq : CLIENT_FLOOD)
#define CMD_FUNC(x) int (x) (aClient *cptr, aClient *sptr, int parc, char *parv[])
#ifndef NO_FDLIST
extern float currentrate;
extern float currentrate2; /* outgoing */
extern float highest_rate;
extern float highest_rate2;
extern int lifesux;
extern int LRV;
extern time_t LCF;
extern int currlife;
extern int HTMLOCK;
extern int noisy_htm;
extern long lastsendK, lastrecvK;
extern MODVAR float currentrate;
extern MODVAR float currentrate2; /* outgoing */
extern MODVAR float highest_rate;
extern MODVAR float highest_rate2;
extern MODVAR int lifesux;
extern MODVAR int LRV;
extern MODVAR time_t LCF;
extern MODVAR int currlife;
extern MODVAR int HTMLOCK;
extern MODVAR int noisy_htm;
extern MODVAR long lastsendK, lastrecvK;
#endif
/*
* Configuration linked lists
*/
extern ConfigItem_me *conf_me;
extern ConfigItem_class *conf_class;
extern ConfigItem_class *default_class;
extern ConfigItem_admin *conf_admin;
extern ConfigItem_admin *conf_admin_tail;
extern ConfigItem_drpass *conf_drpass;
extern ConfigItem_ulines *conf_ulines;
extern ConfigItem_tld *conf_tld;
extern ConfigItem_oper *conf_oper;
extern ConfigItem_listen *conf_listen;
extern ConfigItem_allow *conf_allow;
extern ConfigItem_except *conf_except;
extern ConfigItem_vhost *conf_vhost;
extern ConfigItem_link *conf_link;
extern ConfigItem_ban *conf_ban;
extern ConfigItem_badword *conf_badword_channel;
extern ConfigItem_badword *conf_badword_message;
extern ConfigItem_badword *conf_badword_quit;
extern ConfigItem_deny_dcc *conf_deny_dcc;
extern ConfigItem_deny_channel *conf_deny_channel;
extern ConfigItem_deny_link *conf_deny_link;
extern ConfigItem_allow_channel *conf_allow_channel;
extern ConfigItem_deny_version *conf_deny_version;
extern ConfigItem_log *conf_log;
extern ConfigItem_alias *conf_alias;
extern ConfigItem_include *conf_include;
extern ConfigItem_help *conf_help;
extern ConfigItem_offchans *conf_offchans;
extern MODVAR ConfigItem_me *conf_me;
extern MODVAR ConfigItem_class *conf_class;
extern MODVAR ConfigItem_class *default_class;
extern MODVAR ConfigItem_admin *conf_admin;
extern MODVAR ConfigItem_admin *conf_admin_tail;
extern MODVAR ConfigItem_drpass *conf_drpass;
extern MODVAR ConfigItem_ulines *conf_ulines;
extern MODVAR ConfigItem_tld *conf_tld;
extern MODVAR ConfigItem_oper *conf_oper;
extern MODVAR ConfigItem_listen *conf_listen;
extern MODVAR ConfigItem_allow *conf_allow;
extern MODVAR ConfigItem_except *conf_except;
extern MODVAR ConfigItem_vhost *conf_vhost;
extern MODVAR ConfigItem_link *conf_link;
extern MODVAR ConfigItem_ban *conf_ban;
extern MODVAR ConfigItem_badword *conf_badword_channel;
extern MODVAR ConfigItem_badword *conf_badword_message;
extern MODVAR ConfigItem_badword *conf_badword_quit;
extern MODVAR ConfigItem_deny_dcc *conf_deny_dcc;
extern MODVAR ConfigItem_deny_channel *conf_deny_channel;
extern MODVAR ConfigItem_deny_link *conf_deny_link;
extern MODVAR ConfigItem_allow_channel *conf_allow_channel;
extern MODVAR ConfigItem_allow_dcc *conf_allow_dcc;
extern MODVAR ConfigItem_deny_version *conf_deny_version;
extern MODVAR ConfigItem_log *conf_log;
extern MODVAR ConfigItem_alias *conf_alias;
extern MODVAR ConfigItem_include *conf_include;
extern MODVAR ConfigItem_help *conf_help;
extern MODVAR ConfigItem_offchans *conf_offchans;
extern int completed_connection(aClient *);
extern void clear_unknown();
extern EVENT(tkl_check_expire);
extern EVENT(e_unload_module_delayed);
#ifdef THROTTLING
extern EVENT(e_clean_out_throttling_buckets);
#endif
extern void module_loadall(int module_load);
extern long set_usermode(char *umode);
extern char *get_modestr(long umodes);
extern void tkl_stats(aClient *cptr, int type, char *para);
extern void config_error(char *format, ...) __attribute__((format(printf,1,2)));
extern int config_verbose;
extern MODVAR int config_verbose;
extern void config_progress(char *format, ...) __attribute__((format(printf,1,2)));
extern void ipport_seperate(char *string, char **ip, char **port);
ConfigItem_class *Find_class(char *name);
@@ -120,28 +118,27 @@ ConfigItem_deny_dcc *Find_deny_dcc(char *name);
ConfigItem_oper *Find_oper(char *name);
ConfigItem_listen *Find_listen(char *ipmask, int port);
ConfigItem_ulines *Find_uline(char *host);
ConfigItem_except *Find_except(char *host, short type);
ConfigItem_except *Find_except(aClient *, char *host, short type);
ConfigItem_tld *Find_tld(aClient *cptr, char *host);
ConfigItem_link *Find_link(char *username, char *hostname, char *ip, char *servername);
ConfigItem_ban *Find_ban(char *host, short type);
ConfigItem_ban *Find_banEx(char *host, short type, short type2);
ConfigItem_cgiirc *Find_cgiirc(char *username, char *hostname, char *ip, CGIIRCType type);
ConfigItem_ban *Find_ban(aClient *, char *host, short type);
ConfigItem_ban *Find_banEx(aClient *,char *host, short type, short type2);
ConfigItem_vhost *Find_vhost(char *name);
ConfigItem_deny_channel *Find_channel_allowed(char *name);
ConfigItem_alias *Find_alias(char *name);
ConfigItem_help *Find_Help(char *command);
int AllowClient(aClient *cptr, struct hostent *hp, char *sockhost, char *username);
int parse_netmask(const char *text, struct IN_ADDR *addr, int *b);
int match_ipv4(struct IN_ADDR *addr, struct IN_ADDR *mask, int b);
#ifdef INET6
int match_ipv6(struct IN_ADDR *addr, struct IN_ADDR *mask, int b);
#endif
extern struct tm motd_tm, smotd_tm;
extern Link *Servers;
int parse_netmask(const char *text, struct irc_netmask *netmask);
int match_ip(struct IN_ADDR addr, char *uhost, char *mask, struct irc_netmask *netmask);
ConfigItem_ban *Find_ban_ip(aClient *sptr);
extern MODVAR struct tm motd_tm, smotd_tm;
extern MODVAR Link *Servers;
void add_ListItem(ListStruct *, ListStruct **);
ListStruct *del_ListItem(ListStruct *, ListStruct **);
/* Remmed out for win32 compatibility.. as stated of 467leaf win32 port.. */
extern aClient *find_match_server(char *mask);
extern LoopStruct loop;
extern MODVAR LoopStruct loop;
extern int del_banid(aChannel *chptr, char *banid);
extern int del_exbanid(aChannel *chptr, char *banid);
#ifdef SHOWCONNECTINFO
@@ -155,11 +152,11 @@ extern int del_exbanid(aChannel *chptr, char *banid);
#define BREPORT_FIN_ID "NOTICE AUTH :*** Received identd response\r\n"
#define BREPORT_FAIL_ID "NOTICE AUTH :*** No ident response; username prefixed with ~\r\n"
extern char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256],
extern MODVAR char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256],
REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256],
REPORT_FAIL_ID[256];
extern int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
extern MODVAR int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
R_do_id, R_fin_id, R_fail_id;
#endif
@@ -183,12 +180,19 @@ extern int del_silence(aClient *, char *);
extern void send_user_joins(aClient *, aClient *);
extern void clean_channelname(char *);
extern int do_nick_name(char *);
extern int do_remote_nick_name(char *);
extern int can_send(aClient *, aChannel *, char *, int);
extern long get_access(aClient *, aChannel *);
extern int is_chan_op(aClient *, aChannel *);
extern int has_voice(aClient *, aChannel *);
extern int is_chanowner(aClient *, aChannel *);
#ifndef DISABLE_EXTBAN_STACKING
extern int ban_check_mask(aClient *, aChannel *, char *, int, int);
extern int extban_is_ok_nuh_extban(aClient *, aChannel *, char *, int, int, int);
extern char* extban_conv_param_nuh_extban(char *);
#endif
extern Ban *is_banned(aClient *, aChannel *, int);
extern Ban *is_banned_with_nick(aClient *, aChannel *, int, char *);
extern int parse_help(aClient *, char *, char *);
extern void ircd_log(int, char *, ...) __attribute__((format(printf,2,3)));
@@ -205,32 +209,36 @@ extern int attach_conf(aClient *, aConfItem *);
extern void inittoken();
extern void reset_help();
extern char *debugmode, *configfile, *sbrk0;
extern MODVAR char *debugmode, *configfile, *sbrk0;
extern char *getfield(char *);
extern void get_sockhost(aClient *, char *);
extern char *strerror(int);
#ifdef _WIN32
extern MODFUNC char *sock_strerror(int);
#endif
extern int dgets(int, char *, int);
extern char *inetntoa(char *);
#if !defined(HAVE_SNPRINTF) || !defined(HAVE_VSNPRINTF)
/* #ifndef _WIN32 XXX why was this?? -- Syzop. */
#ifndef HAVE_SNPRINTF
extern int snprintf (char *str, size_t count, const char *fmt, ...);
#endif
#ifndef HAVE_VSNPRINTF
extern int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
/* #endif */
#endif
#ifdef _WIN32
extern int dbufalloc, dbufblocks, debuglevel;
extern MODVAR int dbufalloc, dbufblocks, debuglevel;
#else
extern int dbufalloc, dbufblocks, debuglevel, errno, h_errno;
extern int dbufalloc, dbufblocks, debuglevel;
#endif
extern short LastSlot; /* last used index in local client array */
extern int OpenFiles; /* number of files currently open */
extern int debuglevel, portnum, debugtty, maxusersperchannel;
extern int readcalls, udpfd, resfd;
extern MODVAR short LastSlot; /* last used index in local client array */
extern MODVAR int OpenFiles; /* number of files currently open */
extern MODVAR int debuglevel, debugtty, maxusersperchannel;
extern MODVAR int readcalls, udpfd, resfd;
#ifndef NEW_IO
extern aClient *add_connection(aClient *, int);
extern int add_listener(aConfItem *);
extern void add_local_domain(char *, int);
extern int check_client(aClient *, char *);
extern int check_server(aClient *, struct hostent *, aConfItem *,
aConfItem *, int);
@@ -242,16 +250,16 @@ extern void get_my_name(aClient *, char *, int);
extern int get_sockerr(aClient *);
extern int inetport(aClient *, char *, int);
extern void init_sys();
extern void init_modef();
#ifdef NO_FDLIST
extern int read_message(time_t);
#else
extern int read_message(time_t, fdlist *);
#endif
extern void report_error(char *, aClient *);
extern void set_non_blocking(int, aClient *);
#else /* ifndef NEW_IO */
#endif /* ifndef NEW_IO */
extern int setup_ping();
extern void start_auth(aClient *);
@@ -260,15 +268,12 @@ extern void send_authports(aClient *);
extern void restart(char *);
extern void send_channel_modes(aClient *, aChannel *);
extern void server_reboot(char *);
extern void terminate(), write_pidfile();
extern void *MyMallocEx(size_t size);
extern int advanced_check(char *userhost, int ipstat);
extern int send_queued(aClient *);
/* i know this is naughty but :P --stskeeps */
extern void send_channel_modes_sjoin(aClient *cptr, aChannel *chptr);
extern void send_channel_modes_sjoin3(aClient *cptr, aChannel *chptr);
extern void sendto_locfailops(char *pattern, ...) __attribute__((format(printf,1,2)));
extern void sendto_connectnotice(char *nick, anUser *user, aClient *sptr, int disconnect, char *comment);
extern void sendto_serv_butone_nickcmd(aClient *one, aClient *sptr, char *nick, int hopcount,
@@ -310,22 +315,16 @@ extern void sendto_opers(char *, ...) __attribute__((format(printf,1,2)));
extern void sendto_umode(int, char *, ...) __attribute__((format(printf,2,3)));
extern void sendto_umode_raw(int, char *, ...) __attribute__((format(printf,2,3)));
extern void sendto_snomask(int snomask, char *pattern, ...) __attribute__((format(printf,2,3)));
extern void sendto_snomask_global(int snomask, char *pattern, ...) __attribute__((format(printf,2,3)));
extern void sendto_snomask_normal(int snomask, char *pattern, ...) __attribute__((format(printf,2,3)));
extern void sendto_snomask_normal_global(int snomask, char *pattern, ...) __attribute__((format(printf,2,3)));
extern void sendnotice(aClient *to, char *pattern, ...) __attribute__((format(printf,2,3)));
extern int writecalls, writeb[];
extern MODVAR int writecalls, writeb[];
extern int deliver_it(aClient *, char *, int);
extern int check_for_chan_flood(aClient *cptr, aClient *sptr, aChannel *chptr);
extern int check_for_target_limit(aClient *sptr, void *target, const char *name);
extern char *stripbadwords_message(char *str, int *);
extern char *stripbadwords_channel(char *str, int *);
extern char *stripbadwords_quit(char *str, int *);
extern char *stripbadwords(char *, ConfigItem_badword *, int *);
extern unsigned char *StripColors(unsigned char *);
extern const char *StripControlCodes(unsigned char *text);
extern char *canonize(char *buffer);
extern int webtv_parse(aClient *sptr, char *string);
extern ConfigItem_deny_dcc *dcc_isforbidden(aClient *cptr, aClient *sptr, aClient *target, char *filename);
extern int check_registered(aClient *);
extern int check_registered_user(aClient *);
extern ConfigItem_deny_dcc *dcc_isforbidden(aClient *sptr, char *filename);
extern ConfigItem_deny_dcc *dcc_isdiscouraged(aClient *sptr, char *filename);
extern char *get_client_name(aClient *, int);
extern char *get_client_host(aClient *);
extern char *myctime(time_t), *date(time_t);
@@ -333,6 +332,7 @@ extern int exit_client(aClient *, aClient *, aClient *, char *);
extern void initstats(), tstats(aClient *, char *);
extern char *check_string(char *);
extern char *make_nick_user_host(char *, char *, char *);
extern inline char *make_nick_user_host_r(char *namebuf, char *nick, char *name, char *host);
extern char *make_user_host(char *, char *);
extern int parse(aClient *, char *, char *);
extern int do_numeric(int, aClient *, aClient *, int, char **);
@@ -340,8 +340,6 @@ extern int hunt_server(aClient *, aClient *, char *, int, int, char **);
extern int hunt_server_token(aClient *, aClient *, char *, char *, char *, int, int, char **);
extern int hunt_server_token_quiet(aClient *, aClient *, char *, char *, char *, int, int, char **);
extern aClient *next_client(aClient *, char *);
extern int m_umode(aClient *, aClient *, int, char **);
extern int m_names(aClient *, aClient *, int, char **);
extern int m_server_estab(aClient *);
extern void umode_init(void);
extern long umode_get(char, int, int (*)(aClient *, int));
@@ -358,14 +356,12 @@ extern void send_umode_out(aClient *, aClient *, long);
extern void free_client(aClient *);
extern void free_link(Link *);
extern void free_ban(Ban *);
extern void free_class(aClass *);
extern void free_user(anUser *, aClient *);
extern int find_str_match_link(Link *, char *);
extern void free_str_list(Link *);
extern Link *make_link();
extern Ban *make_ban();
extern anUser *make_user(aClient *);
extern aClass *make_class();
extern aServer *make_server();
extern aClient *make_client(aClient *, aClient *);
extern Link *find_user_link(Link *, aClient *);
@@ -379,7 +375,7 @@ extern struct hostent *get_res(char *);
extern struct hostent *gethost_byaddr(char *, Link *);
extern struct hostent *gethost_byname(char *, Link *);
extern void flush_cache();
extern int init_resolver(int);
extern void init_resolver(int firsttime);
extern time_t timeout_query_list(time_t);
extern time_t expire_cache(time_t);
extern void del_queries(char *);
@@ -391,7 +387,7 @@ extern int add_to_client_hash_table(char *, aClient *);
extern int del_from_client_hash_table(char *, aClient *);
extern int add_to_channel_hash_table(char *, aChannel *);
extern int del_from_channel_hash_table(char *, aChannel *);
extern int add_to_watch_hash_table(char *, aClient *);
extern int add_to_watch_hash_table(char *, aClient *, int);
extern int del_from_watch_hash_table(char *, aClient *);
extern int hash_check_watch(aClient *, int);
extern int hash_del_watch_list(aClient *);
@@ -410,52 +406,57 @@ extern time_t atime(char *xtime);
/* Mode externs
*/
extern long UMODE_INVISIBLE; /* 0x0001 makes user invisible */
extern long UMODE_OPER; /* 0x0002 Operator */
extern long UMODE_WALLOP; /* 0x0004 send wallops to them */
extern long UMODE_FAILOP; /* 0x0008 Shows some global messages */
extern long UMODE_HELPOP; /* 0x0010 Help system operator */
extern long UMODE_REGNICK; /* 0x0020 Nick set by services as registered */
extern long UMODE_SADMIN; /* 0x0040 Services Admin */
extern long UMODE_ADMIN; /* 0x0080 Admin */
extern long UMODE_SERVNOTICE;/* 0x0100 server notices such as kill */
extern long UMODE_LOCOP; /* 0x0200 Local operator -- SRB */
extern long UMODE_RGSTRONLY; /* 0x0400 Only reg nick message */
extern long UMODE_WEBTV; /* 0x0800 WebTV Client */
extern long UMODE_SERVICES; /* 0x4000 services */
extern long UMODE_HIDE; /* 0x8000 Hide from Nukes */
extern long UMODE_NETADMIN; /* 0x10000 Network Admin */
extern long UMODE_COADMIN; /* 0x80000 Co Admin */
extern long UMODE_WHOIS; /* 0x100000 gets notice on /whois */
extern long UMODE_KIX; /* 0x200000 usermode +q */
extern long UMODE_BOT; /* 0x400000 User is a bot */
extern long UMODE_SECURE; /* 0x800000 User is a secure connect */
extern long UMODE_VICTIM; /* 0x8000000 Intentional Victim */
extern long UMODE_DEAF; /* 0x10000000 Deaf */
extern long UMODE_HIDEOPER; /* 0x20000000 Hide oper mode */
extern long UMODE_SETHOST; /* 0x40000000 used sethost */
extern long UMODE_STRIPBADWORDS; /* 0x80000000 */
extern long UMODE_HIDEWHOIS; /* hides channels in /whois */
extern long UMODE_NOCTCP; /* blocks all ctcp (except dcc and action) */
extern long AllUmodes, SendUmodes;
extern MODVAR long UMODE_INVISIBLE; /* 0x0001 makes user invisible */
extern MODVAR long UMODE_OPER; /* 0x0002 Operator */
extern MODVAR long UMODE_WALLOP; /* 0x0004 send wallops to them */
extern MODVAR long UMODE_FAILOP; /* 0x0008 Shows some global messages */
extern MODVAR long UMODE_HELPOP; /* 0x0010 Help system operator */
extern MODVAR long UMODE_REGNICK; /* 0x0020 Nick set by services as registered */
extern MODVAR long UMODE_SADMIN; /* 0x0040 Services Admin */
extern MODVAR long UMODE_ADMIN; /* 0x0080 Admin */
extern MODVAR long UMODE_SERVNOTICE;/* 0x0100 server notices such as kill */
extern MODVAR long UMODE_LOCOP; /* 0x0200 Local operator -- SRB */
extern MODVAR long UMODE_RGSTRONLY; /* 0x0400 Only reg nick message */
extern MODVAR long UMODE_WEBTV; /* 0x0800 WebTV Client */
extern MODVAR long UMODE_SERVICES; /* 0x4000 services */
extern MODVAR long UMODE_HIDE; /* 0x8000 Hide from Nukes */
extern MODVAR long UMODE_NETADMIN; /* 0x10000 Network Admin */
extern MODVAR long UMODE_COADMIN; /* 0x80000 Co Admin */
extern MODVAR long UMODE_WHOIS; /* 0x100000 gets notice on /whois */
extern MODVAR long UMODE_KIX; /* 0x200000 usermode +q */
extern MODVAR long UMODE_BOT; /* 0x400000 User is a bot */
extern MODVAR long UMODE_SECURE; /* 0x800000 User is a secure connect */
extern MODVAR long UMODE_VICTIM; /* 0x8000000 Intentional Victim */
extern MODVAR long UMODE_DEAF; /* 0x10000000 Deaf */
extern MODVAR long UMODE_HIDEOPER; /* 0x20000000 Hide oper mode */
extern MODVAR long UMODE_SETHOST; /* 0x40000000 used sethost */
extern MODVAR long UMODE_STRIPBADWORDS; /* 0x80000000 */
extern MODVAR long UMODE_HIDEWHOIS; /* hides channels in /whois */
extern MODVAR long UMODE_NOCTCP; /* blocks all ctcp (except dcc and action) */
extern MODVAR long AllUmodes, SendUmodes;
extern long SNO_KILLS;
extern long SNO_CLIENT;
extern long SNO_FLOOD;
extern long SNO_FCLIENT;
extern long SNO_JUNK;
extern long SNO_VHOST;
extern long SNO_EYES;
extern long SNO_TKL;
extern long SNO_NICKCHANGE;
extern long SNO_FNICKCHANGE;
extern long SNO_QLINE;
extern long SNO_SNOTICE;
extern long SNO_SPAMF;
extern MODVAR long SNO_KILLS;
extern MODVAR long SNO_CLIENT;
extern MODVAR long SNO_FLOOD;
extern MODVAR long SNO_FCLIENT;
extern MODVAR long SNO_JUNK;
extern MODVAR long SNO_VHOST;
extern MODVAR long SNO_EYES;
extern MODVAR long SNO_TKL;
extern MODVAR long SNO_NICKCHANGE;
extern MODVAR long SNO_FNICKCHANGE;
extern MODVAR long SNO_QLINE;
extern MODVAR long SNO_SNOTICE;
extern MODVAR long SNO_SPAMF;
extern MODVAR long SNO_OPER;
#ifdef EXTCMODE
/* Extended chanmodes... */
extern Cmode_t EXTMODE_NONOTICE;
extern MODVAR Cmode_t EXTMODE_NONOTICE;
#ifdef STRIPBADWORDS
extern MODVAR Cmode_t EXTMODE_STRIPBADWORDS;
#endif
extern MODVAR Cmode_t EXTMODE_JOINTHROTTLE;
#endif
#ifndef HAVE_STRLCPY
@@ -474,8 +475,8 @@ extern int dopacket(aClient *, char *, int);
extern void debug(int, char *, ...);
#if defined(DEBUGMODE)
extern void send_usage(aClient *, char *);
extern void send_listinfo(aClient *, char *);
extern void count_memory(aClient *, char *);
extern int checkprotoflags(aClient *, int, char *, int);
#endif
#ifdef INET6
@@ -495,8 +496,8 @@ char *Inet_ia2pNB(struct IN_ADDR *ia, int compressed);
/*
* CommandHash -Stskeeps
*/
extern aCommand *CommandHash[256];
extern aCommand *TokenHash[256];
extern MODVAR aCommand *CommandHash[256];
extern MODVAR aCommand *TokenHash[256];
extern void init_CommandHash(void);
extern aCommand *add_Command_backend(char *cmd, int (*func)(), unsigned char parameters, unsigned char token, int flags);
extern void add_Command(char *cmd, char *token, int (*func)(), unsigned char parameters);
@@ -538,14 +539,9 @@ extern aClient *find_server_b64_or_real(char *name);
extern aClient *find_server_by_base64(char *b64);
extern int is_chanownprotop(aClient *cptr, aChannel *chptr);
extern int is_skochanop(aClient *cptr, aChannel *chptr);
extern char *make_virthost(char *curr, char *new, int mode);
extern char *make_virthost(aClient *sptr, char *curr, char *newhost, int mode);
extern int channel_canjoin(aClient *sptr, char *name);
extern char *collapse(char *pattern);
extern void send_list(aClient *cptr, int numsend);
extern int find_tkline_match_zap(aClient *cptr);
extern int find_shun(aClient *cptr);
extern aTKline *find_qline(aClient *cptr, char *nick, int *ishold);
extern void tkl_synch(aClient *sptr);
extern void dcc_sync(aClient *sptr);
extern void report_flines(aClient *sptr);
extern void report_network(aClient *sptr);
@@ -568,6 +564,7 @@ extern void flag_del(char ch);
extern void init_dynconf(void);
extern char *pretty_time_val(long);
extern int init_conf(char *filename, int rehash);
extern int global_test();
extern void validate_configuration(void);
extern void run_configuration(void);
extern void rehash_motdrules();
@@ -577,15 +574,17 @@ extern CMD_FUNC(m_server_remote);
extern void send_proto(aClient *, ConfigItem_link *);
extern char *xbase64enc(long i);
extern void unload_all_modules(void);
#ifndef NEW_IO
extern void flush_fdlist_connections(fdlist * listp);
extern int set_blocking(int fd);
#else /* ifndef NEW_IO */
#endif /* ifndef NEW_IO */
extern void set_sock_opts(int fd, aClient *cptr);
extern void iCstrip(char *line);
extern time_t rfc2time(char *s);
extern char *rfctime(time_t t, char *buf);
extern void *MyMallocEx(size_t size);
#ifdef USE_SSL
extern char *ssl_get_cipher(SSL *ssl);
extern MODFUNC char *ssl_get_cipher(SSL *ssl);
#endif
extern long config_checkval(char *value, unsigned short flags);
extern void config_status(char *format, ...) __attribute__((format(printf,1,2)));
@@ -593,35 +592,32 @@ extern void init_random();
extern u_char getrandom8();
extern u_int16_t getrandom16();
extern u_int32_t getrandom32();
extern char trouble_info[1024];
extern MODVAR char trouble_info[1024];
#define EVENT_DRUGS BASE_VERSION
extern void rejoin_doparts(aClient *sptr);
extern void rejoin_dojoinandmode(aClient *sptr);
extern void rejoin_doparts(aClient *sptr, char did_parts[]);
extern void rejoin_dojoinandmode(aClient *sptr, char did_parts[]);
extern void ident_failed(aClient *cptr);
extern char extchmstr[4][64];
extern char extbanstr[EXTBANTABLESZ+1];
extern MODVAR char extchmstr[4][64];
extern MODVAR char extbanstr[EXTBANTABLESZ+1];
#ifdef EXTCMODE
extern int extcmode_default_requirechop(aClient *, aChannel *, char *, int, int);
extern int extcmode_default_requirehalfop(aClient *, aChannel *, char *, int, int);
extern Cmode_t extcmode_get(Cmode *);
extern void extcmode_init(void);
extern CmodeParam *extcmode_get_struct(CmodeParam *, char);
extern void *extcmode_get_struct(aChannel *, char);
extern void make_extcmodestr();
extern CmodeParam *extcmode_duplicate_paramlist(CmodeParam *);
extern void extcmode_free_paramlist(CmodeParam *);
extern void extcmode_duplicate_paramlist(void **xi, void **xo);
extern void extcmode_free_paramlist(void **ar);
#endif
extern int do_chanflood(ChanFloodProt *, int);
extern void do_chanflood_action(aChannel *, int, char *);
extern char *channel_modef_string(ChanFloodProt *);
extern void chmode_str(struct ChMode, char *, char *);
extern char *get_cptr_status(aClient *);
extern char *get_snostr(long);
#ifdef _WIN32
extern void InitDebug(void);
extern int InitwIRCD(int argc, char **);
extern void SocketLoop(void *);
#endif
extern void SocketLoop(void *);
#ifdef STATIC_LINKING
extern int l_commands_Init(ModuleInfo *);
extern int l_commands_Test(ModuleInfo *);
@@ -629,23 +625,24 @@ extern int l_commands_Load(int);
#endif
extern void sendto_chmodemucrap(aClient *, aChannel *, char *);
extern void verify_opercount(aClient *, char *);
extern int place_host_ban(aClient *sptr, int action, char *reason, long time);
extern int valid_host(char *host);
extern int count_oper_sessions(char *);
extern int file_exists(char* file);
extern char *unreal_mktemp(char *dir, char *suffix);
extern char *unreal_getpathname(char *filepath, char *path);
extern char *unreal_getfilename(char *path);
extern int unreal_copyfile(char *src, char *dest);
extern int unreal_copyfileex(char *src, char *dest, int tryhardlink);
extern time_t unreal_getfilemodtime(char *filename);
extern void unreal_setfilemodtime(char *filename, time_t mtime);
extern void DeleteTempModules(void);
extern Extban *extbaninfo;
extern MODVAR Extban *extbaninfo;
extern Extban *findmod_by_bantype(char c);
extern Extban *ExtbanAdd(Module *reserved, ExtbanInfo req);
extern void ExtbanDel(Extban *);
extern void extban_init(void);
extern char *trim_str(char *str, int len);
extern char *ban_realhost, *ban_virthost, *ban_ip;
extern void join_channel(aChannel *chptr, aClient *cptr, aClient *sptr, int flags);
extern MODVAR char *ban_realhost, *ban_virthost, *ban_ip;
extern char *unreal_checkregex(char *s, int fastsupport, int check_broadness);
extern int banact_stringtoval(char *s);
extern char *banact_valtostring(int val);
@@ -654,34 +651,135 @@ extern char banact_valtochar(int val);
extern int spamfilter_gettargets(char *s, aClient *sptr);
extern char *spamfilter_target_inttostring(int v);
extern Spamfilter *unreal_buildspamfilter(char *s);
extern int dospamfilter(aClient *sptr, char *str_in, int type, char *target);
extern char *our_strcasestr(char *haystack, char *needle);
extern int spamfilter_getconftargets(char *s);
extern void remove_oper_snomasks(aClient *sptr);
extern char *spamfilter_inttostring_long(int v);
extern int check_channelmask(aClient *, aClient *, char *);
extern aChannel *get_channel(aClient *cptr, char *chname, int flag);
extern char backupbuf[];
extern MODVAR char backupbuf[];
extern void add_invite(aClient *, aChannel *);
extern void channel_modes(aClient *, char *, char *, aChannel *);
extern char modebuf[BUFSIZE], parabuf[BUFSIZE];
extern MODVAR char modebuf[BUFSIZE], parabuf[BUFSIZE];
extern int op_can_override(aClient *sptr);
extern aClient *find_chasing(aClient *sptr, char *user, int *chasing);
extern long opermode;
extern void do_mode(aChannel *, aClient *, aClient *, int, char **, time_t, int);
extern void set_mode(aChannel *, aClient *, int, char **, u_int *,
char[MAXMODEPARAMS][MODEBUFLEN + 3], int);
extern MODVAR long opermode;
extern void add_user_to_channel(aChannel *chptr, aClient *who, int flags);
extern int add_banid(aClient *, aChannel *, char *);
extern int add_exbanid(aClient *cptr, aChannel *chptr, char *banid);
extern void sub1_from_channel(aChannel *);
extern aCtab cFlagTab[];
extern MODVAR aCtab cFlagTab[];
extern char *unreal_encodespace(char *s);
extern char *unreal_decodespace(char *s);
extern Link *helpign;
extern aMotd *rules;
extern fdlist default_fdlist, busycli_fdlist, serv_fdlist, oper_fdlist;
extern void DCCdeny_add(char *filename, char *reason, int type);
extern MODVAR Link *helpign;
extern MODVAR aMotd *rules;
#ifndef NEW_IO
extern MODVAR fdlist default_fdlist, busycli_fdlist, serv_fdlist, oper_fdlist;
#else /* ifndef NEW_IO */
#endif /* ifndef NEW_IO */
extern void DCCdeny_add(char *filename, char *reason, int type, int type2);
extern void DCCdeny_del(ConfigItem_deny_dcc *deny);
extern void dcc_wipe_services(void);
extern void reread_motdsandrules();
extern MODVAR int SVSNOOP;
extern int callbacks_check(void);
extern void callbacks_switchover(void);
extern int efunctions_check(void);
extern void efunctions_switchover(void);
extern char *encode_ip(u_char *);
extern char *decode_ip(char *);
extern void sendto_fconnectnotice(char *nick, anUser *user, aClient *sptr, int disconnect, char *comment);
extern void sendto_one_nickcmd(aClient *cptr, aClient *sptr, char *umodes);
extern int on_dccallow_list(aClient *to, aClient *from);
extern int add_dccallow(aClient *sptr, aClient *optr);
extern int del_dccallow(aClient *sptr, aClient *optr);
extern void delete_linkblock(ConfigItem_link *link_ptr);
extern void delete_classblock(ConfigItem_class *class_ptr);
extern void del_async_connects(void);
extern void make_extbanstr(void);
extern void isupport_init(void);
extern int do_cmd(aClient *cptr, aClient *sptr, char *cmd, int parc, char *parv[]);
extern void create_snomask(aClient *sptr, anUser *user, char *snomask);
extern MODVAR char *me_hash;
extern MODVAR int dontspread;
/* Efuncs */
extern MODVAR int (*do_join)(aClient *, aClient *, int, char **);
extern MODVAR void (*join_channel)(aChannel *chptr, aClient *cptr, aClient *sptr, int flags);
extern MODVAR int (*can_join)(aClient *cptr, aClient *sptr, aChannel *chptr, char *key, char *link, char *parv[]);
extern MODVAR void (*do_mode)(aChannel *chptr, aClient *cptr, aClient *sptr, int parc, char *parv[], time_t sendts, int samode);
extern MODVAR void (*set_mode)(aChannel *chptr, aClient *cptr, int parc, char *parv[], u_int *pcount,
char pvar[MAXMODEPARAMS][MODEBUFLEN + 3], int bounce);
extern MODVAR int (*m_umode)(aClient *, aClient *, int, char **);
extern MODVAR int (*register_user)(aClient *cptr, aClient *sptr, char *nick, char *username, char *umode, char *virthost, char *ip);
extern MODVAR int (*tkl_hash)(unsigned int c);
extern MODVAR char (*tkl_typetochar)(int type);
extern MODVAR aTKline *(*tkl_add_line)(int type, char *usermask, char *hostmask, char *reason, char *setby,
TS expire_at, TS set_at, TS spamf_tkl_duration, char *spamf_tkl_reason);
extern MODVAR aTKline *(*tkl_del_line)(aTKline *tkl);
extern MODVAR void (*tkl_check_local_remove_shun)(aTKline *tmp);
extern MODVAR aTKline *(*tkl_expire)(aTKline * tmp);
extern MODVAR EVENT((*tkl_check_expire));
extern MODVAR int (*find_tkline_match)(aClient *cptr, int xx);
extern MODVAR int (*find_shun)(aClient *cptr);
extern MODVAR int (*find_spamfilter_user)(aClient *sptr, int flags);
extern MODVAR aTKline *(*find_qline)(aClient *cptr, char *nick, int *ishold);
extern MODVAR int (*find_tkline_match_zap)(aClient *cptr);
extern MODVAR int (*find_tkline_match_zap_ex)(aClient *cptr, aTKline **rettk);
extern MODVAR void (*tkl_stats)(aClient *cptr, int type, char *para);
extern MODVAR void (*tkl_synch)(aClient *sptr);
extern MODVAR int (*m_tkl)(aClient *cptr, aClient *sptr, int parc, char *parv[]);
extern MODVAR int (*place_host_ban)(aClient *sptr, int action, char *reason, long duration);
extern MODVAR int (*dospamfilter)(aClient *sptr, char *str_in, int type, char *target, int flags, aTKline **rettk);
extern MODVAR int (*dospamfilter_viruschan)(aClient *sptr, aTKline *tk, int type);
extern MODVAR void (*send_list)(aClient *cptr, int numsend);
extern MODVAR char *(*stripbadwords)(char *str, ConfigItem_badword *start_bw, int *blocked);
extern MODVAR unsigned char *(*StripColors)(unsigned char *text);
extern MODVAR const char *(*StripControlCodes)(unsigned char *text);
extern MODVAR void (*spamfilter_build_user_string)(char *buf, char *nick, aClient *acptr);
extern MODVAR int (*is_silenced)(aClient *sptr, aClient *acptr);
/* /Efuncs */
extern MODVAR aMotd *opermotd, *svsmotd, *motd, *botmotd, *smotd;
extern MODVAR int max_connection_count;
extern int add_listmode(Ban **list, aClient *cptr, aChannel *chptr, char *banid);
extern int del_listmode(Ban **list, aChannel *chptr, char *banid);
extern int Halfop_mode(long mode);
extern char *clean_ban_mask(char *, int, aClient *);
extern int find_invex(aChannel *chptr, aClient *sptr);
extern void DoMD5(unsigned char *mdout, unsigned char *src, unsigned long n);
#ifdef JOINTHROTTLE
aJFlood *cmodej_addentry(aClient *cptr, aChannel *chptr);
void cmodej_delentry(aJFlood *e);
void cmodej_deluserentries(aClient *cptr);
void cmodej_delchannelentries(aChannel *chptr);
#endif
extern void charsys_reset(void);
extern void charsys_addmultibyterange(char s1, char e1, char s2, char e2);
extern void charsys_addallowed(char *s);
extern void charsys_reset(void);
extern MODVAR char langsinuse[4096];
extern MODVAR aTKline *tklines[TKLISTLEN];
extern char *cmdname_by_spamftarget(int target);
extern int isipv6(struct IN_ADDR *addr);
extern void inet4_to_inet6(const void *src_in, void *dst_in);
extern void unrealdns_delreq_bycptr(aClient *cptr);
extern void inet6_to_inet4(const void *src, void *dst);
extern void sendtxtnumeric(aClient *to, char *pattern, ...) __attribute__((format(printf,2,3)));;
extern void unrealdns_gethostbyname_link(char *name, ConfigItem_link *conf);
extern void unrealdns_delasyncconnects(void);
extern int is_autojoin_chan(char *chname);
extern void unreal_free_hostent(struct hostent *he);
extern int match_esc(const char *mask, const char *name);
extern int iplist_onlist(IPList *iplist, char *ip);
extern struct hostent *unreal_create_hostent(char *name, struct IN_ADDR *addr);
extern char *unreal_time_synch_error(void);
extern int unreal_time_synch(int timeout);
extern int extban_is_banned_helper(char *buf);
extern char *getcloak(aClient *sptr);
extern unsigned char param_to_slot_mapping[256];
extern char *cm_getparameter(aChannel *chptr, char mode);
extern void cm_putparameter(aChannel *chptr, char mode, char *str);
extern void cm_freeparameter(aChannel *chptr, char mode);
extern char *cm_getparameter_ex(void **p, char mode);
extern void cm_putparameter_ex(void **p, char mode, char *str);
extern void cm_freeparameter_ex(void **p, char mode, char *str);
extern void kick_insecure_users(aChannel *);
extern void free_motd(aMotd *m);
-2
View File
@@ -63,9 +63,7 @@ typedef struct hashentry {
/*
* Throttling
*/
#ifdef THROTTLING
#define THROTTLING_HASH_SIZE 1019 /* prime number */
#endif
#define NullChn ((aChannel *)0)
+30
View File
@@ -30,6 +30,9 @@
#define __u_l unsigned long
#endif
extern int inet_pton(int af, const char *src, void *dst);
extern const char *inet_ntop(int af, const void *src, char *dst, size_t cnt);
#ifdef __STDC__
# ifndef _WIN32
extern __u_l inet_addr(char *);
@@ -54,3 +57,30 @@ extern __u_l inet_network();
extern __u_l inet_lnaof();
#endif
#undef __u_l
#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
#ifdef SOCKADDR_IN_HAS_LEN /* BSD style sockaddr_storage for BSD style
sockaddr_in */
struct sockaddr_storage {
unsigned char ss_len;
sa_family_t ss_family;
char __ss_pad1[((sizeof(int64_t)) - sizeof(unsigned char) -
sizeof(sa_family_t) )];
int64_t __ss_align;
char __ss_pad2[(128 - sizeof(unsigned char) - sizeof(sa_family_t) -
((sizeof(int64_t)) - sizeof(unsigned char) -
sizeof(sa_family_t)) - (sizeof(int64_t)))];
};
#else /* Linux style for everything else (for now) */
struct sockaddr_storage
{
sa_family_t ss_family;
u_int32_t __ss_align;
char __ss_padding[(128 - (2 * sizeof (u_int32_t)))];
};
#endif /* SOCKADDR_IN_HAS_LEN */
#endif /* HAVE_STRUCT_SOCKADDR_STORAGE */
#ifndef INADDR_NONE
#define INADDR_NONE 0xffffffff
#endif
+37
View File
@@ -0,0 +1,37 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/macros.h
* Copyright (c) 2004 Dominick Meglio & The UnrealIRCd Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
#include "setup.h"
/* Calculate the size of an array */
#define ARRAY_SIZEOF(x) (sizeof((x))/sizeof((x)[0]))
/* Allocate a dynamic local variable */
#if defined(HAVE_C99_VARLEN_ARRAY)
#define DYN_LOCAL(type, name, size) type name[size]
#define DYN_FREE(name)
#elif defined(HAVE_ALLOCA)
#define DYN_LOCAL(type, name, size) type *name = (size ? alloca(size) : NULL)
#define DYN_FREE(name)
#else
#define DYN_LOCAL(type, name, size) type *name = (size ? malloc(size) : NULL)
#define DYN_FREE(name) (name ? free(name) : 0)
#endif
+28
View File
@@ -0,0 +1,28 @@
/*
* This is an OpenSSL-compatible implementation of the RSA Data Security,
* Inc. MD5 Message-Digest Algorithm.
*
* Written by Solar Designer <solar@openwall.com> in 2001, and placed in
* the public domain. See md5.c for more information.
*/
#if defined(USE_SSL)
#include <openssl/md5.h>
#elif !defined(_MD5_H)
#define _MD5_H
/* Any 32-bit or wider unsigned integer data type will do */
typedef unsigned long MD5_u32plus;
typedef struct {
MD5_u32plus lo, hi;
MD5_u32plus a, b, c, d;
unsigned char buffer[64];
MD5_u32plus block[16];
} MD5_CTX;
extern void MD5_Init(MD5_CTX *ctx);
extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size);
extern void MD5_Final(unsigned char *result, MD5_CTX *ctx);
#endif
+240 -69
View File
@@ -21,40 +21,51 @@
#ifndef MODULES_H
#define MODULES_H
#include "types.h"
#define MOD_VERSION "3.2-b5-1"
#define MOD_WE_SUPPORT "3.2-b5*"
#define MAXCUSTOMHOOKS 30
#define MAXHOOKTYPES 70
#define MAXHOOKTYPES 150
#define MAXCALLBACKS 30
#define MAXEFUNCTIONS 100
#if defined(_WIN32)
#define DLLFUNC _declspec(dllexport)
#define irc_dlopen(x,y) LoadLibrary(x)
#define irc_dlclose FreeLibrary
#define irc_dlsym(x,y,z) z = (void *)GetProcAddress(x,y)
#undef irc_dlerror
#define MOD_EXTENSION "dll"
#define DLLFUNC _declspec(dllexport)
#define irc_dlopen(x,y) LoadLibrary(x)
#define irc_dlclose FreeLibrary
#define irc_dlsym(x,y,z) z = (void *)GetProcAddress(x,y)
#define irc_dlerror our_dlerror
#elif defined(HPUX)
#define irc_dlopen(x,y) shl_load(x,y,0L)
#define irc_dlsym(x,y,z) shl_findsym(x,y,z)
#define irc_dlclose shl_unload
#define irc_dlerror() strerror(errno)
#define MOD_EXTENSION "so"
#define irc_dlopen(x,y) shl_load(x,y,0L)
#define irc_dlsym(x,y,z) shl_findsym(x,y,z)
#define irc_dlclose shl_unload
#define irc_dlerror() strerror(errno)
#else
#define irc_dlopen dlopen
#define irc_dlclose dlclose
#if defined(UNDERSCORE)
#define irc_dlsym(x,y,z) z = obsd_dlsym(x,y)
#else
#define irc_dlsym(x,y,z) z = dlsym(x,y)
#endif
#define irc_dlerror dlerror
#define DLLFUNC
#define MOD_EXTENSION "so"
#define irc_dlopen dlopen
#define irc_dlclose dlclose
#if defined(UNDERSCORE)
#define irc_dlsym(x,y,z) z = obsd_dlsym(x,y)
#else
#define irc_dlsym(x,y,z) z = dlsym(x,y)
#endif
#define irc_dlerror dlerror
#define DLLFUNC
#endif
#define EVENT(x) void (x) (void *data)
/* Casts to int, void, void *, and char * function pointers */
#define TO_INTFUNC(x) (int (*)())(x)
#define TO_VOIDFUNC(x) (void (*)())(x)
#define TO_PVOIDFUNC(x) (void *(*)())(x)
#define TO_PCHARFUNC(x) (char *(*)())(x)
typedef struct _mod_symboltable Mod_SymbolDepTable;
typedef struct _event Event;
typedef struct _eventinfo EventInfo;
typedef struct _irchook Hook;
typedef struct _hooktype Hooktype;
typedef struct _irccallback Callback;
typedef struct _ircefunction Efunction;
/*
* Module header that every module must include, with the name of
@@ -87,15 +98,18 @@ typedef struct {
} ModuleInfo;
#define MOBJ_EVENT 0x0001
#define MOBJ_HOOK 0x0002
#define MOBJ_COMMAND 0x0004
#define MOBJ_HOOKTYPE 0x0008
#define MOBJ_VERSIONFLAG 0x0010
#define MOBJ_SNOMASK 0x0020
#define MOBJ_UMODE 0x0040
#define MOBJ_CMDOVERRIDE 0x0080
#define MOBJ_EXTBAN 0x0100
#define MOBJ_EVENT 0x0001
#define MOBJ_HOOK 0x0002
#define MOBJ_COMMAND 0x0004
#define MOBJ_HOOKTYPE 0x0008
#define MOBJ_VERSIONFLAG 0x0010
#define MOBJ_SNOMASK 0x0020
#define MOBJ_UMODE 0x0040
#define MOBJ_CMDOVERRIDE 0x0080
#define MOBJ_EXTBAN 0x0100
#define MOBJ_CALLBACK 0x0200
#define MOBJ_ISUPPORT 0x0400
#define MOBJ_EFUNCTION 0x0800
typedef struct {
long mode;
@@ -121,6 +135,7 @@ typedef struct {
#define EXSJ_SAME 0 /* Parameters are the same */
#define EXSJ_WEWON 1 /* We won! w00t */
#define EXSJ_THEYWON 2 /* They won :( */
#define EXSJ_MERGE 3 /* Merging of modes.. neither won nor lost (merged params are in 'our' on return) */
/* return values for EXCHK_ACCESS*: */
#define EX_DENY 0 /* Disallowed, except in case of operoverride */
@@ -135,13 +150,6 @@ typedef struct {
*/
typedef unsigned long Cmode_t;
#define EXTCM_PAR_HEADER struct _CmodeParam *prev, *next; char flag;
typedef struct _CmodeParam {
EXTCM_PAR_HEADER
/** other fields are placed after this header in your own paramstruct */
} CmodeParam;
typedef struct {
/** mode character (like 'Z') */
char flag;
@@ -167,36 +175,40 @@ typedef struct {
/** Store parameter in memory for channel.
* aExtCMtableParam *: the list (usually chptr->mode.extmodeparams).
* char *: the parameter.
* return value: the head of the list, RTFS if you wonder why.
* RETURNS: nothing! ;p
* design notes: only alloc a new paramstruct if you need to, search for
* any current one first (like in case of mode +y 5 and then +y 6 later without -y).
*/
CmodeParam * (*put_param)(CmodeParam *, char *);
void *(*put_param)(void *, char *);
/** Get readable string version" of the stored parameter.
* aExtCMtableParam *: the list (usually chptr->mode.extmodeparams).
* void *: the param data
* return value: a pointer to the string (temp. storage)
*/
char * (*get_param)(CmodeParam *);
char * (*get_param)(void *);
/** Convert input parameter to output.
* Like +l "1aaa" becomes "1".
* char *: the input parameter.
* aClient *: the client that the mode request came from:
* 1. Can be NULL (eg: if called for set::modes-on-join
* 2. Probably only used in rare cases, see also next remark
* 3. ERRORS SHOULD NOT BE SENT BY conv_param BUT BY is_ok!
* return value: pointer to output string (temp. storage)
*/
char * (*conv_param)(char *);
char * (*conv_param)(char *, aClient *);
/** free and remove parameter from list.
* aExtCMtableParam *: the list (usually chptr->mode.extmodeparams).
*/
void (*free_param)(CmodeParam *);
void (*free_param)(void *);
/** duplicate a struct and return a pointer to duplicate.
* This is usually just a malloc + memcpy.
* aExtCMtableParam *: source struct itself (no list).
* return value: pointer to newly allocated struct.
*/
CmodeParam * (*dup_struct)(CmodeParam *);
void * (*dup_struct)(void *);
/** Compares 2 parameters and decides who wins the sjoin fight.
* When syncing channel modes (m_sjoin) a parameter conflict may occur, things like
@@ -207,20 +219,43 @@ typedef struct {
* aExtCMtableParam *: our parameter
* aExtCMtableParam *: their parameter
*/
int (*sjoin_check)(aChannel *, CmodeParam *, CmodeParam *);
int (*sjoin_check)(aChannel *, void *, void *);
/* Slot#.. Can be used instead of GETPARAMSLOT() */
int slot;
} Cmode;
typedef struct {
char flag;
int paracount;
int (*is_ok)(aClient *,aChannel *, char *para, int, int);
CmodeParam * (*put_param)(CmodeParam *, char *);
char * (*get_param)(CmodeParam *);
char * (*conv_param)(char *);
void (*free_param)(CmodeParam *);
CmodeParam * (*dup_struct)(CmodeParam *);
int (*sjoin_check)(aChannel *, CmodeParam *, CmodeParam *);
void * (*put_param)(void *, char *);
char * (*get_param)(void *);
char * (*conv_param)(char *, aClient *);
void (*free_param)(void *);
void * (*dup_struct)(void *);
int (*sjoin_check)(aChannel *, void *, void *);
} CmodeInfo;
/* Get a slot# for a param.. eg... GETPARAMSLOT('k') ;p */
#define GETPARAMSLOT(x) param_to_slot_mapping[x]
/* Get a cmode handler by slot.. for example for [dont use this]: GETPARAMHANDLERBYSLOT(5)->get_param(chptr) */
#define GETPARAMHANDLERBYSLOT(slotid) ParamTable[slotid]
/* Same as GETPARAMHANDLERBYSLOT but then by letter.. like [dont use this]: GETPARAMHANDLERBYSLOT('k')->get_param(chptr) */
#define GETPARAMHANDLERBYLETTER(x) ParamTable[GETPARAMSLOT(x)]
/* Get paramter data struct.. for like: ((aModejEntry *)GETPARASTRUCT(chptr, 'j'))->t */
#define GETPARASTRUCT(mychptr, mychar) chptr->mode.extmodeparams[GETPARAMSLOT(mychar)]
#define GETPARASTRUCTEX(v, mychar) v[GETPARAMSLOT(mychar)]
#define CMP_GETSLOT(x) GETPARAMSLOT(x)
#define CMP_GETHANDLERBYSLOT(x) GETPARAMHANDLERBYSLOT(x)
#define CMP_GETHANDLERBYLETTER(x) GETPARAMHANDLERBYLETTER(x)
#define CMP_GETSTRUCT(x,y) GETPARASTRUCT(x,y)
#endif
/*** Extended bans ***/
@@ -234,12 +269,17 @@ typedef struct {
#define EXTBANTABLESZ 32
typedef enum ExtbanOptions { EXTBOPT_CHSVSMODE=0x1 } ExtbanOptions;
typedef struct {
/** extbans module */
Module *owner;
/** extended ban character */
char flag;
/** extban options */
ExtbanOptions options;
/** access checking [optional].
* aClient *: the client
* aChannel *: the channel
@@ -274,8 +314,9 @@ typedef struct {
typedef struct {
char flag;
ExtbanOptions options;
int (*is_ok)(aClient *, aChannel *, char *para, int, int, int);
char * (*conv_param)(char *);
char * (*conv_param)(char *);
int (*is_banned)(aClient *, aChannel *, char *, int);
} ExtbanInfo;
@@ -291,6 +332,13 @@ typedef struct _versionflag {
ModuleChild *parents;
} Versionflag;
typedef struct _isupport {
struct _isupport *prev, *next;
char *token;
char *value;
Module *owner;
} Isupport;
typedef struct _ModuleObject {
struct _ModuleObject *prev, *next;
short type;
@@ -304,6 +352,9 @@ typedef struct _ModuleObject {
Umode *umode;
Cmdoverride *cmdoverride;
Extban *extban;
Callback *callback;
Efunction *efunction;
Isupport *isupport;
} object;
} ModuleObject;
@@ -318,6 +369,39 @@ struct _irchook {
Module *owner;
};
struct _irccallback {
Callback *prev, *next;
short type;
union {
int (*intfunc)();
void (*voidfunc)();
char *(*pcharfunc)();
} func;
Module *owner;
char willberemoved; /* will be removed on next rehash? (eg the 'old'/'current' one) */
};
/* Definition of an efunction: a MANDATORY Extern Function (in a module),
* for things like do_join, join_channel, etc.
* The difference between callbacks and efunctions are:
* - efunctions are mandatory, while callbacks can be optional (depends!)
* - efunctions are ment for internal usage, so 3rd party modules are not allowed
* to add them.
* - all efunctions are declared as function pointers in modules.c
*/
struct _ircefunction {
Efunction *prev, *next;
short type;
union {
int (*intfunc)();
void (*voidfunc)();
void *(*pvoidfunc)();
char *(*pcharfunc)();
} func;
Module *owner;
char willberemoved; /* will be removed on next rehash? (eg the 'old'/'current' one) */
};
struct _hooktype {
short id;
char *string;
@@ -356,7 +440,8 @@ struct _Module
unsigned char options;
unsigned char errorcode;
char *tmp_file;
unsigned char compilecheck; /* feel free to rename this mess, but mod->flags sucks :[. */
unsigned long mod_sys_version;
unsigned int compiler_version;
};
/*
* Symbol table
@@ -425,8 +510,10 @@ void EventStatus(aClient *sptr);
void SetupEvents(void);
void LockEventSystem(void);
void UnlockEventSystem(void);
extern Hook *Hooks[MAXHOOKTYPES];
extern Hooktype Hooktypes[MAXCUSTOMHOOKS];
extern MODVAR Hook *Hooks[MAXHOOKTYPES];
extern MODVAR Hooktype Hooktypes[MAXCUSTOMHOOKS];
extern MODVAR Callback *Callbacks[MAXCALLBACKS], *RCallbacks[MAXCALLBACKS];
extern MODVAR Efunction *Efunctions[MAXEFUNCTIONS];
void Module_Init(void);
char *Module_Create(char *path);
@@ -445,6 +532,11 @@ void *obsd_dlsym(void *handle, char *symbol);
Versionflag *VersionflagAdd(Module *module, char flag);
void VersionflagDel(Versionflag *vflag, Module *module);
Isupport *IsupportAdd(Module *module, const char *token, const char *value);
void IsupportSetValue(Isupport *isupport, const char *value);
void IsupportDel(Isupport *isupport);
Isupport *IsupportFind(const char *token);
#define add_Hook(hooktype, func) HookAddMain(NULL, hooktype, func, NULL, NULL)
#define HookAdd(hooktype, func) HookAddMain(NULL, hooktype, func, NULL, NULL)
#define HookAddEx(module, hooktype, func) HookAddMain(module, hooktype, func, NULL, NULL)
@@ -455,6 +547,7 @@ void VersionflagDel(Versionflag *vflag, Module *module);
#define add_HookX(hooktype, func1, func2, func3) HookAddMain(NULL, hooktype, func1, func2, func3)
Hook *HookAddMain(Module *module, int hooktype, int (*intfunc)(), void (*voidfunc)(), char *(*pcharfunc)());
Hook *HookAddCfg(Module *module, int hooktype, int (*intfunc)(ConfigFile *cf, ConfigEntry *ce, int type, int *errs));
Hook *HookDel(Hook *hook);
Hooktype *HooktypeAdd(Module *module, char *string, int *type);
@@ -492,7 +585,26 @@ void HooktypeDel(Hooktype *hooktype, Module *module);
#define RunHook6(hooktype,a,b,c,d,e,f) do { Hook *h; for (h = Hooks[hooktype]; h; h = h->next) (*(h->func.intfunc))(a,b,c,d,e,f); } while(0)
#define RunHook7(hooktype,a,b,c,d,e,f,g) do { Hook *h; for (h = Hooks[hooktype]; h; h = h->next) (*(h->func.intfunc))(a,b,c,d,e,f,g); } while(0)
Command *CommandAdd(Module *module, char *cmd, char *tok, int (*func)(), unsigned char params, int flags);
#define CallbackAdd(cbtype, func) CallbackAddMain(NULL, cbtype, func, NULL, NULL)
#define CallbackAddEx(module, cbtype, func) CallbackAddMain(module, cbtype, func, NULL, NULL)
#define CallbackAddVoid(cbtype, func) CallbackAddMain(NULL, cbtype, NULL, func, NULL)
#define CallbackAddVoidEx(module, cbtype, func) CallbackAddMain(module, cbtype, NULL, func, NULL)
#define CallbackAddPChar(cbtype, func) CallbackAddMain(NULL, cbtype, NULL, NULL, func)
#define CallbackAddPCharEx(module, cbtype, func) CallbackAddMain(module, cbtype, NULL, NULL, func)
extern Callback *CallbackAddMain(Module *module, int cbtype, int (*intfunc)(), void (*voidfunc)(), char *(*pcharfunc)());
extern Callback *CallbackDel(Callback *cb);
#define EfunctionAdd(module, cbtype, func) EfunctionAddMain(module, cbtype, func, NULL, NULL, NULL)
#define EfunctionAddVoid(module, cbtype, func) EfunctionAddMain(module, cbtype, NULL, func, NULL, NULL)
#define EfunctionAddPVoid(module, cbtype, func) EfunctionAddMain(module, cbtype, NULL, NULL, func, NULL)
#define EfunctionAddPChar(module, cbtype, func) EfunctionAddMain(module, cbtype, NULL, NULL, NULL, func)
extern Efunction *EfunctionAddMain(Module *module, int eftype, int (*intfunc)(), void (*voidfunc)(), void *(*pvoidfunc)(), char *(*pcharfunc)());
extern Efunction *EfunctionDel(Efunction *cb);
Command *CommandAdd(Module *module, char *cmd, char *tok, int (*func)(aClient*, aClient*, int, char**), unsigned char params, int flags);
Command *CommandAdd_Alias(Module *module, char *cmd, char *tok, int (*func)(aClient*, aClient*, int, char**, char *sentcmd), unsigned char params, int flags);
void CommandDel(Command *command);
int CommandExists(char *name);
Cmdoverride *CmdoverrideAdd(Module *module, char *cmd, iFP function);
@@ -539,12 +651,69 @@ int CallCmdoverride(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, ch
#define HOOKTYPE_UMODE_CHANGE 36
#define HOOKTYPE_TOPIC 37
#define HOOKTYPE_REHASH_COMPLETE 38
#define HOOKTYPE_TKL_ADD 39
#define HOOKTYPE_TKL_DEL 40
#define HOOKTYPE_LOCAL_KILL 41
#define HOOKTYPE_LOG 42
#define HOOKTYPE_REMOTE_JOIN 43
#define HOOKTYPE_REMOTE_PART 44
#define HOOKTYPE_REMOTE_KICK 45
#define HOOKTYPE_LOCAL_SPAMFILTER 46
#define HOOKTYPE_SILENCED 47
#define HOOKTYPE_CAN_JOIN 48
#define HOOKTYPE_CAN_SEND 49
#define HOOKTYPE_CLEANUP_CLIENT 50
#define HOOKTYPE_CLEANUP_USER 51
#define HOOKTYPE_CLEANUP_USER2 52
#define HOOKTYPE_PRE_CHANMSG 53
#define HOOKTYPE_KNOCK 54
#define HOOKTYPE_MODECHAR_FIXME 55
#define HOOKTYPE_CAN_KICK 56
/* Hook return values */
#define HOOK_CONTINUE 0
#define HOOK_ALLOW -1
#define HOOK_DENY 1
/* Callback types */
#define CALLBACKTYPE_CLOAK 1
#define CALLBACKTYPE_CLOAKKEYCSUM 2
#define CALLBACKTYPE_CLOAK_EX 3
/* Efunction types */
#define EFUNC_DO_JOIN 1
#define EFUNC_JOIN_CHANNEL 2
#define EFUNC_CAN_JOIN 3
#define EFUNC_DO_MODE 4
#define EFUNC_SET_MODE 5
#define EFUNC_M_UMODE 6
#define EFUNC_REGISTER_USER 7
#define EFUNC_TKL_HASH 8
#define EFUNC_TKL_TYPETOCHAR 9
#define EFUNC_TKL_ADD_LINE 10
#define EFUNC_TKL_DEL_LINE 11
#define EFUNC_TKL_CHECK_LOCAL_REMOVE_SHUN 12
#define EFUNC_TKL_EXPIRE 13
#define EFUNC_TKL_CHECK_EXPIRE 14
#define EFUNC_FIND_TKLINE_MATCH 15
#define EFUNC_FIND_SHUN 16
#define EFUNC_FIND_SPAMFILTER_USER 17
#define EFUNC_FIND_QLINE 18
#define EFUNC_FIND_TKLINE_MATCH_ZAP 19
#define EFUNC_TKL_STATS 20
#define EFUNC_TKL_SYNCH 21
#define EFUNC_M_TKL 22
#define EFUNC_PLACE_HOST_BAN 23
#define EFUNC_DOSPAMFILTER 24
#define EFUNC_DOSPAMFILTER_VIRUSCHAN 25
#define EFUNC_FIND_TKLINE_MATCH_ZAP_EX 26
#define EFUNC_SEND_LIST 27
#define EFUNC_STRIPBADWORDS 28
#define EFUNC_STRIPCOLORS 29
#define EFUNC_STRIPCONTROLCODES 30
#define EFUNC_SPAMFILTER_BUILD_USER_STRING 31
#define EFUNC_IS_SILENCED 32
/* Module flags */
#define MODFLAG_NONE 0x0000
#define MODFLAG_LOADED 0x0001 /* Fully loaded */
@@ -563,25 +732,27 @@ int CallCmdoverride(Cmdoverride *ovr, aClient *cptr, aClient *sptr, int parc, ch
#define CONFIG_EXCEPT 4
#define CONFIG_DENY 5
#define CONFIG_ALLOW 6
#define CONFIG_CLOAKKEYS 7
#ifdef DYNAMIC_LINKING
#define MOD_HEADER(name) Mod_Header
#define MOD_TEST(name) Mod_Test
#define MOD_INIT(name) Mod_Init
#define MOD_LOAD(name) Mod_Load
#define MOD_UNLOAD(name) Mod_Unload
#define MOD_HEADER(name) Mod_Header
#define MOD_TEST(name) Mod_Test
#define MOD_INIT(name) Mod_Init
#define MOD_LOAD(name) Mod_Load
#define MOD_UNLOAD(name) Mod_Unload
#else
#define MOD_HEADER(name) name##_Header
#define MOD_TEST(name) name##_Test
#define MOD_INIT(name) name##_Init
#define MOD_LOAD(name) name##_Load
#define MOD_UNLOAD(name) name##_Unload
#define MOD_HEADER(name) name##_Header
#define MOD_TEST(name) name##_Test
#define MOD_INIT(name) name##_Init
#define MOD_LOAD(name) name##_Load
#define MOD_UNLOAD(name) name##_Unload
#endif
#define CLOAK_KEYCRC RCallbacks[CALLBACKTYPE_CLOAKKEYCSUM]->func.pcharfunc()
#ifdef DYNAMIC_LINKING
/* ugly alert!!!! */
#include "version.h"
char Mod_Version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH5 PATCH6 PATCH7 PATCH8 PATCH9;
#include "modversion.h"
#endif
#endif
+104
View File
@@ -0,0 +1,104 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/modversion.h
* (C) 2004-2005 Bram Matthys and The UnrealIRCd Team
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
#include "version.h"
/* What all this is for? Well, it's simple...
* Example: When someone compiles a module with zip support, but the
* core was not compiled with zip support, then the module will read
* things incorrect in the struct because the module sees an extra
* field half-way the struct but in the core that field does not exist,
* hence all data is shifted 4 bytes causing all kinds of odd crashes,
* memory corruption, and weird problems.
* This is an attempt to prevent this a bit, but there are a lot more
* options that cause binary incompatability (eg: changing nicklen),
* we just take the most common ones...
*
* NOTE: On win32 we allow ssl and zip inconsistencies because we
* explicitly use "padding" in the structs: we add a useless
* placeholder so everything is still aligned correctly.
* In the process of doing so, we waste several bytes per-user,
* but this prevents (most) binary incompatability problems
* making it easier for module coders to ship dll's.
*/
#if defined(USE_SSL) && !defined(_WIN32)
#define MYTOKEN_SSL "/SSL"
#else
#define MYTOKEN_SSL ""
#endif
#if defined(ZIP_LINKS) && !defined(_WIN32)
#define MYTOKEN_ZIP "/ZIP"
#else
#define MYTOKEN_ZIP ""
#endif
#if defined(NOSPOOF)
#define MYTOKEN_NOSPOOF "/NOSPF"
#else
#define MYTOKEN_NOSPOOF ""
#endif
#if !defined(EXTCMODE)
#define MYTOKEN_EXTCMODE "/NOEXTC"
#else
#define MYTOKEN_EXTCMODE ""
#endif
#if !defined(JOINTHROTTLE)
#define MYTOKEN_JOINTHROTTLE "/NOJTHR"
#else
#define MYTOKEN_JOINTHROTTLE ""
#endif
#if !defined(NO_FLOOD_AWAY)
#define MYTOKEN_NOFLDAWAY "/NONFA"
#else
#define MYTOKEN_NOFLDAWAY ""
#endif
#if !defined(NEWCHFLOODPROT)
#define MYTOKEN_NEWCHF "/NOCHF"
#else
#define MYTOKEN_NEWCHF ""
#endif
#ifdef INET6
#define MYTOKEN_INET6 "/IPV6"
#else
#define MYTOKEN_INET6 ""
#endif
#ifdef __GNUC__
#if defined(__GNUC_PATCHLEVEL__)
#define GCCVER ((__GNUC__ << 16) + (__GNUC_MINOR__ << 8) + __GNUC_PATCHLEVEL__)
#else
#define GCCVER ((__GNUC__ << 16) + (__GNUC_MINOR__ << 8))
#endif
#else
#define GCCVER 0
#endif
#ifdef UNREALCORE
char our_mod_version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_NOSPOOF MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6;
unsigned int our_compiler_version = GCCVER;
#else
DLLFUNC char Mod_Version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \
MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_NOSPOOF MYTOKEN_EXTCMODE MYTOKEN_JOINTHROTTLE \
MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6;
DLLFUNC unsigned int compiler_version = GCCVER;
#endif
+2 -12
View File
@@ -239,7 +239,6 @@
#define MSG_TSCTL "TSCTL"
#define TOK_TSCTL "AW"
#define MSG_SVSJOIN "SVSJOIN"
#define TOK_SVSJOIN "BR"
#define MSG_SAJOIN "SAJOIN"
#define TOK_SAJOIN "AX"
#define MSG_SVSPART "SVSPART"
@@ -300,23 +299,14 @@
#define MAXPARA 15
extern int m_join(), m_part(), m_mode();
extern int m_nick(), m_error();
extern int m_error();
extern int m_dns();
extern int m_tkl();
extern int m_motd(), m_user();
extern int m_info(), m_summon();
extern int m_users(), m_version();
extern int m_names();
extern int m_lusers(), m_umode();
extern int m_motd();
extern int m_service(), m_watch();
extern int m_dalinfo();
extern int m_credits();
extern int m_license();
extern int m_botmotd();
extern int m_opermotd();
extern int m_module(), m_alias(), m_tkl(), m_opermotd();
extern int m_module(), m_alias();
extern int m_rehash(), m_die(), m_restart();
#endif
+33 -4
View File
@@ -33,11 +33,11 @@
#define RPL_YOURHOST 002
#define RPL_CREATED 003
#define RPL_MYINFO 004
#define RPL_PROTOCTL 005
#define RPL_ISUPPORT 005
#define RPL_REDIR 10
#define RPL_REMOTEPROTOCTL 105
#define RPL_REMOTEISUPPORT 105
/*
* Errors are in the range from 400-599 currently and are grouped by what
@@ -84,6 +84,7 @@
#define ERR_SUMMONDISABLED 445
#define ERR_USERSDISABLED 446
#define ERR_NONICKCHANGE 447
#define ERR_FORBIDDENCHANNEL 448
#define ERR_NOTREGISTERED 451
@@ -127,6 +128,9 @@
#define ERR_NOOPERHOST 491
#define ERR_NOCTCP 492
#define ERR_CHANOWNPRIVNEEDED 499
#define ERR_TOOMANYJOINS 500
#define ERR_UMODEUNKNOWNFLAG 501
#define ERR_USERSDONTMATCH 502
@@ -134,6 +138,9 @@
#define ERR_TOOMANYWATCH 512
#define ERR_NEEDPONG 513
#define ERR_TOOMANYDCC 514
#define ERR_DISABLED 517
#define ERR_NOINVITE 518
#define ERR_ADMONLY 519
#define ERR_OPERONLY 520
@@ -178,8 +185,12 @@
#define RPL_TOPIC 332
#define RPL_TOPICWHOTIME 333
#define RPL_INVITELIST 336
#define RPL_ENDOFINVITELIST 337
#define RPL_LISTSYNTAX 334
#define RPL_WHOISBOT 335
#define RPL_USERIP 340
#define RPL_INVITING 341
#define RPL_SUMMONING 342
@@ -189,8 +200,8 @@
#define RPL_ENDOFWHO 315
#define RPL_NAMREPLY 353
#define RPL_ENDOFNAMES 366
#define RPL_INVITELIST 346
#define RPL_ENDOFINVITELIST 347
#define RPL_INVEXLIST 346
#define RPL_ENDOFINVEXLIST 347
#define RPL_EXLIST 348
#define RPL_ENDOFEXLIST 349
@@ -264,6 +275,7 @@
#define RPL_STATSVLINE 227
#define RPL_STATSBANVER 228
#define RPL_STATSSPAMF 229
#define RPL_STATSEXCEPTTKL 230
#define RPL_SERVICEINFO 231
#define RPL_RULES 232
#define RPL_SERVICE 233
@@ -305,6 +317,7 @@
#define RPL_HELPFWD 294
#define RPL_HELPIGN 295
/*
* New /MAP format.
*/
@@ -324,6 +337,8 @@
* These are also in the range 600-799.
*/
#define RPL_GONEAWAY 598
#define RPL_NOTAWAY 599
#define RPL_LOGON 600
#define RPL_LOGOFF 601
#define RPL_WATCHOFF 602
@@ -332,8 +347,22 @@
#define RPL_NOWOFF 605
#define RPL_WATCHLIST 606
#define RPL_ENDOFWATCHLIST 607
#define RPL_CLEARWATCH 608
#define RPL_NOWISAWAY 609
#define RPL_DCCSTATUS 617
#define RPL_DCCLIST 618
#define RPL_ENDOFDCCLIST 619
#define RPL_DCCINFO 620
#define RPL_DUMPING 640
#define RPL_DUMPRPL 641
#define RPL_EODUMP 642
#define RPL_SPAMCMDFWD 659
#define RPL_WHOISSECURE 671
#define ERR_CANNOTDOCOMMAND 972
#define ERR_CANNOTCHANGECHANMODE 974
#define ERR_NUMERICERR 999
-7
View File
@@ -26,9 +26,6 @@
int sendmodeto_one(aClient *cptr, char *from, char *name, char *mode, char *param, TS creationtime);
void make_cmodestr(void);
/* lusers.c */
void init_ircstats(void);
/* match.c */
char *collapse(char *pattern);
@@ -55,10 +52,6 @@ EVENT(loop_event);
/* support.c */
char *my_itoa(int i);
/* s_kline.c */
int find_tkline_match(aClient *cptr, int xx);
extern EVENT(tkl_check_expire);
/* s_serv.c */
void load_tunefile(void);
extern EVENT(save_tunefile);
+74 -66
View File
@@ -1,74 +1,82 @@
/*
* ircd/res_def.h (C)opyright 1992 Darren Reed.
/* OMG... OMG! WHAT AN INCLUDE HORROR !!! */
#undef strcasecmp
#undef strncasecmp
#ifdef WIN32
#include <win32/ares/setup.h>
#endif
#include <ares.h>
#include <ares_version.h>
#undef strcasecmp
#undef strncasecmp
#ifndef GOT_STRCASECMP
#define strcasecmp mycmp
#define strncasecmp myncmp
#endif
typedef enum {
DNSREQ_CLIENT = 1,
DNSREQ_LINKCONF = 2,
DNSREQ_CONNECT = 3
} DNSReqType;
typedef struct _dnsreq DNSReq;
/* Depending on the request type, some fields are filled in:
* cptr: DNSREQ_CLIENT, DNSREQ_CONNECT
* link: DNSREQ_LINKCONF, DNSREQ_CONNECT
*/
#define RES_INITLIST 1
#define RES_CALLINIT 2
#define RES_INITSOCK 4
#define RES_INITDEBG 8
#define RES_INITCACH 16
#define MAXPACKET 1024
#define MAXALIASES 35
#define MAXADDRS 35
#define AR_TTL 300 /* minimum TTL in seconds for dns cache entries */
struct hent {
char *h_name; /* official name of host */
char *h_aliases[MAXALIASES]; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
/* list of addresses from name server */
struct IN_ADDR h_addr_list[MAXADDRS];
#define h_addr h_addr_list[0] /* address, for backward compatiblity */
struct _dnsreq {
DNSReq *prev, *next;
char *name; /**< Name being resolved (only for DNSREQ_LINKCONF and DNSREQ_CONNECT) */
char ipv6; /**< Resolving for ipv6 or ipv4? */
DNSReqType type; /**< DNS Request type (DNSREQ_*) */
aClient *cptr; /**< Client the request is for, NULL if client died OR unavailable */
ConfigItem_link *linkblock; /**< Linkblock */
};
typedef struct reslist {
int id;
int sent; /* number of requests sent */
int srch;
time_t ttl;
char type;
char retries; /* retry counter */
char sends; /* number of sends (>1 means resent) */
char resend; /* send flag. 0 == dont resend */
time_t sentat;
time_t timeout;
struct IN_ADDR addr;
char *name;
struct reslist *next;
Link cinfo;
struct hent he;
} ResRQ;
typedef struct _dnscache DNSCache;
typedef struct cache {
time_t expireat;
time_t ttl;
struct hostent he;
struct cache *hname_next, *hnum_next, *list_next;
} aCache;
struct _dnscache {
DNSCache *prev, *next; /**< Previous and next in linked list */
DNSCache *hprev, *hnext; /**< Previous and next in hash list */
char *name; /**< The hostname */
struct IN_ADDR addr; /**< Stored IP address */
time_t expires; /**< When record expires */
};
typedef struct cachetable {
aCache *num_list;
aCache *name_list;
} CacheTable;
typedef struct _dnsstats DNSStats;
#define ARES_CACSIZE 101
struct _dnsstats {
unsigned int cache_hits;
unsigned int cache_misses;
unsigned int cache_adds;
};
#define MAXCACHED 81
#ifdef _WIN32
typedef unsigned short u_int16_t;
#endif
extern struct __res_state ircd_res;
extern int ircd_res_init();
extern u_int ircd_res_randomid();
extern u_int16_t ircd_getshort(const u_char *msgp);
extern u_int32_t ircd_getlong(const u_char *msgp);
extern void ircd__putshort(register u_int16_t s, register u_char *msgp);
extern void ircd__putlong(register u_int32_t l,register u_char *msgp);
extern int ircd_dn_expand(const u_char *msg, const u_char *eom, const u_char *src, char *dst, int dstsiz);
extern int __ircd_dn_skipname(const u_char *ptr, const u_char *eom);
extern int ircd_dn_comp(const char *src, u_char *dst, int dstsiz, u_char **dnptrs, u_char **lastdnptr);
extern int ircd_res_mkquery(int op, const char *dname, int class, int type, const u_char *data,
int datalen, const u_char *newrr_in, u_char *buf, int buflen);
/** Time to keep cache records. */
#define DNSCACHE_TTL 600
/** Size of the hash table (prime!).
* Consumes <this>*4 on ia32 and <this>*4 on 64 bit
* 241 seems a good bet.. which ~1k on ia32 and ~2k on ia64.
*/
#define DNS_HASH_SIZE 241
/** Max # of entries we want in our cache.
* This:
* a) prevents us from using too much memory, and
* b) prevents us from keeping useless cache records
*
* A dnscache item is roughly ~80 bytes in size (slightly more on x86),
* so 241*80=~20k, which seems reasonable ;).
*/
#define DNS_MAX_ENTRIES DNS_HASH_SIZE
extern ares_channel resolver_channel;
extern void init_resolver(int);
struct hostent *unrealdns_doclient(aClient *cptr);
+39 -15
View File
@@ -183,12 +183,6 @@
/* Define if you have crypt */
#undef HAVE_CRYPT
/* Local hostname of the server */
#undef DOMAINNAME
/* The OS name and version of the server */
#undef MYOSNAME
/* The default permissions for configuration files */
#undef DEFAULT_PERMISSIONS
@@ -225,18 +219,30 @@
/* Define if you want IPv6 enabled */
#undef INET6
/* Define if you want modes shown in /list */
#undef LIST_SHOW_MODES
/* Define if you want nick!user@host shown for the topic setter */
#undef TOPIC_NICK_IS_NUHOST
/* Define if you want users to be notified when their shun is removed */
#undef SHUN_NOTICES
/* Define if you want OperOverride disabled */
#undef NO_OPEROVERRIDE
/* Define if you want opers to have to use /invite to join +s/+p channels */
#undef OPEROVERRIDE_VERIFY
/* Define if you want to disable /set* and /chg* */
#undef DISABLE_USERMOD
/* Define to disable extended ban stacking (~q:~c:#chan, etc) */
#undef DISABLE_STACKED_EXTBANS
/* Define if your system prepends an underscore to symbols */
#undef UNDERSCORE
/* Define if you have gethostbyname_r with 3 parameters */
#undef HAVE_GETHOSTBYNAME_R_3
/* Define if you have gethostbyname_r with 5 parameters */
#undef HAVE_GETHOSTBYNAME_R_5
/* Define if you have gethostbyname_r with 6 parameters */
#undef HAVE_GETHOSTBYNAME_R_6
/* Define if rlim_t is long long */
#undef LONG_LONG_RLIM_T
@@ -254,3 +260,21 @@
/* Define if you have strlncat */
#undef HAVE_STRLNCAT
/* Define if you have inet_pton */
#undef HAVE_INET_PTON
/* Define if you have inet_ntop */
#undef HAVE_INET_NTOP
/* Define if you have a compiler with C99 variable length array support */
#undef HAVE_C99_VARLEN_ARRAY
/* Define if you have alloca.h */
#undef HAVE_ALLOCA_H
/* Define if you have alloca */
#undef HAVE_ALLOCA
/* Define to 1 if your system has no in6addr_any. */
#undef NO_IN6ADDR_ANY
+1 -1
View File
@@ -30,7 +30,7 @@ struct SynchList {
aSynchList *next, *prev;
};
aSynchList *SJSynchList = NULL;
MODVAR aSynchList *SJSynchList = NULL;
aSynchList *make_synchlist()
{
-3
View File
@@ -23,9 +23,6 @@
* $Id$
*
* $Log$
* Revision 1.1.1.1.6.1.2.1 2000/07/14 20:22:57 stskeeps
* +- Indentation and more SJ3 fixes
*
* Revision 1.1.1.1.6.1 2000/05/28 08:55:24 cmunk
* Import of Unreal3.1-beta3
*
+265 -122
View File
@@ -37,6 +37,8 @@
#include <openssl/err.h>
#include <openssl/evp.h>
#include <openssl/rand.h>
#include <openssl/md5.h>
#include <openssl/ripemd.h>
#endif
#include "common.h"
#include "sys.h"
@@ -50,6 +52,7 @@
#ifdef STDDEFH
# include <stddef.h>
#endif
#include "md5.h"
#ifdef HAVE_SYSLOG
# include <syslog.h>
@@ -62,15 +65,19 @@
#endif
#include "auth.h"
#ifndef _WIN32
#include "tre/regex.h"
#include "pcreposix.h"
#else
#include "win32/regex.h"
#endif
#include "channel.h"
#if defined(_WIN32) && !defined(NOSPOOF)
#error "Compiling win32 without nospoof is VERY insecure and NOT supported"
#endif
extern int sendanyways;
extern MODVAR int sendanyways;
typedef struct aloopStruct LoopStruct;
@@ -98,9 +105,11 @@ typedef struct _configitem_listen ConfigItem_listen;
typedef struct _configitem_allow ConfigItem_allow;
typedef struct _configflag_allow ConfigFlag_allow;
typedef struct _configitem_allow_channel ConfigItem_allow_channel;
typedef struct _configitem_allow_dcc ConfigItem_allow_dcc;
typedef struct _configitem_vhost ConfigItem_vhost;
typedef struct _configitem_except ConfigItem_except;
typedef struct _configitem_link ConfigItem_link;
typedef struct _configitem_cgiirc ConfigItem_cgiirc;
typedef struct _configitem_ban ConfigItem_ban;
typedef struct _configitem_badword ConfigItem_badword;
typedef struct _configitem_deny_dcc ConfigItem_deny_dcc;
@@ -129,17 +138,16 @@ typedef struct Server aServer;
typedef struct SLink Link;
typedef struct SBan Ban;
typedef struct SMode Mode;
typedef struct SChanFloodProt ChanFloodProt;
typedef struct SRemoveFld RemoveFld;
typedef struct ListOptions LOpts;
typedef struct FloodOpt aFloodOpt;
typedef struct MotdItem aMotd;
typedef struct trecord aTrecord;
typedef struct Command aCommand;
typedef struct IRCCommand aCommand;
typedef struct _cmdoverride Cmdoverride;
typedef struct SMember Member;
typedef struct SMembership Membership;
typedef struct SMembershipL MembershipL;
typedef struct JFlood aJFlood;
#ifdef ZIP_LINKS
typedef struct Zdata aZdata;
@@ -150,7 +158,6 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#endif
#ifndef VMSP
#include "class.h"
#include "dbuf.h" /* THIS REALLY SHOULDN'T BE HERE!!! --msa */
#endif
@@ -162,14 +169,12 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define REALLEN 50
#define TOPICLEN 307
#define CHANNELLEN 32
#define PASSWDLEN 32 /* orig. 20, changed to 32 for nickpasswords */
#define PASSWDLEN 48 /* was 20, then 32, now 48. */
#define KEYLEN 23
#define LINKLEN 32
#define BUFSIZE 512 /* WARNING: *DONT* CHANGE THIS!!!! */
#define MAXRECIPIENTS 20
#define MAXKILLS 20
#define MAXBANS 60
#define MAXBANLENGTH 1024
#define MAXSILELENGTH NICKLEN+USERLEN+HOSTLEN+10
#define UMODETABLESZ (sizeof(long) * 8)
/*
@@ -183,7 +188,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
/* NOTE: this must be down here so the stuff from struct.h IT uses works */
#include "whowas.h"
/* Loggin types */
/* Logging types */
#define LOG_ERROR 0x0001
#define LOG_KILL 0x0002
#define LOG_TKL 0x0004
@@ -194,6 +199,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define LOG_SACMDS 0x0080
#define LOG_CHGCMDS 0x0100
#define LOG_OVERRIDE 0x0200
#define LOG_SPAMFILTER 0x0400
/*
@@ -259,6 +265,8 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define SetClient(x) ((x)->status = STAT_CLIENT)
#define SetLog(x) ((x)->status = STAT_LOG)
#define IsSynched(x) (x->serv->flags.synced)
/* opt.. */
#define OPT_SJOIN 0x0001
#define OPT_NOT_SJOIN 0x0002
@@ -276,13 +284,17 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OPT_NOT_VHP 0x2000
#define OPT_TKLEXT 0x4000
#define OPT_NOT_TKLEXT 0x8000
#define OPT_NICKIP 0x10000
#define OPT_NOT_NICKIP 0x20000
#define OPT_CLK 0x10000
#define OPT_NOT_CLK 0x20000
/* client->flags (32 bits): 28 used, 4 free */
#define FLAGS_PINGSENT 0x0001 /* Unreplied ping sent */
#define FLAGS_DEADSOCKET 0x0002 /* Local socket is dead--Exiting soon */
#define FLAGS_KILLED 0x0004 /* Prevents "QUIT" from being sent for this */
#define FLAGS_BLOCKED 0x0008 /* socket is in a blocked condition */
#define FLAGS_UNOCCUP1 0x0010 /* [FREE] */
#define FLAGS_OUTGOING 0x0010 /* outgoing connection, do not touch cptr->listener->clients */
#define FLAGS_CLOSING 0x0020 /* set when closing to suppress errors */
#define FLAGS_LISTEN 0x0040 /* used to mark clients which we listen() on */
#define FLAGS_CHKACCESS 0x0080 /* ok to check clients access if set */
@@ -293,7 +305,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define FLAGS_GOTID 0x1000 /* successful ident lookup achieved */
#define FLAGS_DOID 0x2000 /* I-lines say must use ident return */
#define FLAGS_NONL 0x4000 /* No \n in buffer */
#define FLAGS_TS8 0x8000 /* Why do you want to know? */
#define FLAGS_CGIIRC 0x8000 /* CGI IRC host: flag set = ip/host data has been filled in already */
#define FLAGS_ULINE 0x10000 /* User/server is considered U-lined */
#define FLAGS_SQUIT 0x20000 /* Server has been /squit by an oper */
#define FLAGS_PROTOCTL 0x40000 /* Received a PROTOCTL message */
@@ -305,14 +317,14 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#ifdef ZIP_LINKS
#define FLAGS_ZIP 0x1000000
#endif
#define FLAGS_UNOCCUP2 0x2000000 /* [FREE] */
#define FLAGS_DCCNOTICE 0x2000000 /* Has the user seen a notice on how to use DCCALLOW already? */
#define FLAGS_SHUNNED 0x4000000
#define FLAGS_VIRUS 0x8000000 /* tagged by spamfilter */
#ifdef USE_SSL
#define FLAGS_SSL 0x10000000
#endif
#define FLAGS_UNOCCUP4 0x20000000 /* [FREE] */
#define FLAGS_DCCBLOCK 0x40000000
#define FLAGS_NOFAKELAG 0x20000000 /* Exception from fake lag */
#define FLAGS_DCCBLOCK 0x40000000 /* Block all DCC send requests */
#define FLAGS_MAP 0x80000000 /* Show this entry in /map */
/* Dec 26th, 1997 - added flags2 when I ran out of room in flags -DuffJ */
@@ -321,7 +333,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
* -DuffJ
*/
#define SNO_DEFOPER "+kscfvGq"
#define SNO_DEFOPER "+kscfvGqo"
#define SNO_DEFUSER "+ks"
#define SEND_UMODES (SendUmodes)
@@ -343,7 +355,10 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define PROTO_VHP 0x0400 /* Send hostnames in NICKv2 even if not sethosted */
#define PROTO_SJB64 0x0800
#define PROTO_TKLEXT 0x1000 /* TKL extension: 10 parameters instead of 8 (3.2RC2) */
/* note: client->proto is currently a 'short' (max is 0x8000) */
#define PROTO_NICKIP 0x2000 /* Send IP addresses in the NICK command */
#define PROTO_NAMESX 0x4000 /* Send all rights in NAMES output */
#define PROTO_CLK 0x8000 /* Send cloaked host in the NICK command (regardless of +x/-x) */
#define PROTO_UHNAMES 0x10000 /* Send n!u@h in NAMES */
/*
* flags macros.
@@ -386,16 +401,17 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define IsDead(x) ((x)->flags & FLAGS_DEADSOCKET)
#define GotProtoctl(x) ((x)->flags & FLAGS_PROTOCTL)
#define IsBlocked(x) ((x)->flags & FLAGS_BLOCKED)
#define IsOutgoing(x) ((x)->flags & FLAGS_OUTGOING)
#define GotNetInfo(x) ((x)->flags & FLAGS_NETINFO)
#define SetNetInfo(x) ((x)->flags |= FLAGS_NETINFO)
#define IsCGIIRC(x) ((x)->flags & FLAGS_CGIIRC)
#define IsShunned(x) ((x)->flags & FLAGS_SHUNNED)
#define SetShunned(x) ((x)->flags |= FLAGS_SHUNNED)
#define ClearShunned(x) ((x)->flags &= ~FLAGS_SHUNNED)
#define IsVirus(x) ((x)->flags & FLAGS_VIRUS)
#define SetVirus(x) ((x)->flags |= FLAGS_VIRUS)
#define ClearVirus(x) ((x)->flags |= FLAGS_VIRUS)
#define ClearVirus(x) ((x)->flags &= ~FLAGS_VIRUS)
#ifdef USE_SSL
#define IsSecure(x) ((x)->flags & FLAGS_SSL)
#else
@@ -410,10 +426,16 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define IsZipStart(x) (0)
#endif
/* Fake lag exception */
#define IsNoFakeLag(x) ((x)->flags & FLAGS_NOFAKELAG)
#define SetNoFakeLag(x) ((x)->flags |= FLAGS_NOFAKELAG)
#define ClearNoFakeLag(x) ((x)->flags &= ~FLAGS_NOFAKELAG)
#define IsHybNotice(x) ((x)->flags & FLAGS_HYBNOTICE)
#define SetHybNotice(x) ((x)->flags |= FLAGS_HYBNOTICE)
#define ClearHybNotice(x) ((x)->flags &= ~FLAGS_HYBNOTICE)
#define IsHidden(x) ((x)->umodes & UMODE_HIDE)
#define IsSetHost(x) ((x)->umodes & UMODE_SETHOST)
#define IsHideOper(x) ((x)->umodes & UMODE_HIDEOPER)
#ifdef USE_SSL
#define IsSSL(x) IsSecure(x)
@@ -425,6 +447,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#endif
#define GetHost(x) (IsHidden(x) ? (x)->user->virthost : (x)->user->realhost)
#define GetIP(x) ((x->user && x->user->ip_str) ? x->user->ip_str : (MyConnect(x) ? Inet_ia2p(&x->ip) : NULL))
#define SetKillsF(x) ((x)->user->snomask |= SNO_KILLS)
#define SetClientF(x) ((x)->user->snomask |= SNO_CLIENT)
@@ -443,8 +466,12 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define DoingDNS(x) ((x)->flags & FLAGS_DOINGDNS)
#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS); Debug((DEBUG_DEBUG, "SetAccess(%s)", (x)->name))
#define SetBlocked(x) ((x)->flags |= FLAGS_BLOCKED)
#define SetOutgoing(x) do { x->flags |= FLAGS_OUTGOING; } while(0)
#define SetCGIIRC(x) do { x->flags |= FLAGS_CGIIRC; } while(0)
#define DoingAuth(x) ((x)->flags & FLAGS_AUTH)
#define NoNewLine(x) ((x)->flags & FLAGS_NONL)
#define IsDCCNotice(x) ((x)->flags & FLAGS_DCCNOTICE)
#define SetDCCNotice(x) do { x->flags |= FLAGS_DCCNOTICE; } while(0)
#define SetRegNick(x) ((x)->umodes & UMODE_REGNICK)
#define SetHidden(x) ((x)->umodes |= UMODE_HIDE)
#define SetHideOper(x) ((x)->umodes |= UMODE_HIDEOPER)
@@ -478,17 +505,27 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
/*
* ProtoCtl options
*/
#define DontSendQuit(x) ((x)->proto & PROTO_NOQUIT)
#define IsToken(x) ((x)->proto & PROTO_TOKEN)
#define SupportSJOIN(x) ((x)->proto & PROTO_SJOIN)
#define SupportNICKv2(x) ((x)->proto & PROTO_NICKv2)
#define SupportSJOIN2(x) ((x)->proto & PROTO_SJOIN2)
#define SupportUMODE2(x) ((x)->proto & PROTO_UMODE2)
#define SupportNS(x) ((x)->proto & PROTO_NS)
#define SupportVL(x) ((x)->proto & PROTO_VL)
#define SupportSJ3(x) ((x)->proto & PROTO_SJ3)
#define SupportVHP(x) ((x)->proto & PROTO_VHP)
#define SupportTKLEXT(x) ((x)->proto & PROTO_TKLEXT)
#ifndef DEBUGMODE
#define CHECKPROTO(x,y) ((x)->proto & y)
#else
#define CHECKPROTO(x,y) (checkprotoflags(x, y, __FILE__, __LINE__))
#endif
#define DontSendQuit(x) (CHECKPROTO(x, PROTO_NOQUIT))
#define IsToken(x) (CHECKPROTO(x, PROTO_TOKEN))
#define SupportSJOIN(x) (CHECKPROTO(x, PROTO_SJOIN))
#define SupportNICKv2(x) (CHECKPROTO(x, PROTO_NICKv2))
#define SupportNICKIP(x) (CHECKPROTO(x, PROTO_NICKIP))
#define SupportSJOIN2(x) (CHECKPROTO(x, PROTO_SJOIN2))
#define SupportUMODE2(x) (CHECKPROTO(x, PROTO_UMODE2))
#define SupportNS(x) (CHECKPROTO(x, PROTO_NS))
#define SupportVL(x) (CHECKPROTO(x, PROTO_VL))
#define SupportSJ3(x) (CHECKPROTO(x, PROTO_SJ3))
#define SupportVHP(x) (CHECKPROTO(x, PROTO_VHP))
#define SupportTKLEXT(x) (CHECKPROTO(x, PROTO_TKLEXT))
#define SupportNAMESX(x) (CHECKPROTO(x, PROTO_NAMESX))
#define SupportCLK(x) (CHECKPROTO(x, PROTO_CLK))
#define SupportUHNAMES(x) (CHECKPROTO(x, PROTO_UHNAMES))
#define SetSJOIN(x) ((x)->proto |= PROTO_SJOIN)
#define SetNoQuit(x) ((x)->proto |= PROTO_NOQUIT)
@@ -501,6 +538,9 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define SetSJ3(x) ((x)->proto |= PROTO_SJ3)
#define SetVHP(x) ((x)->proto |= PROTO_VHP)
#define SetTKLEXT(x) ((x)->proto |= PROTO_TKLEXT)
#define SetNAMESX(x) ((x)->proto |= PROTO_NAMESX)
#define SetCLK(x) ((x)->proto |= PROTO_CLK)
#define SetUHNAMES(x) ((x)->proto |= PROTO_UHNAMES)
#define ClearSJOIN(x) ((x)->proto &= ~PROTO_SJOIN)
#define ClearNoQuit(x) ((x)->proto &= ~PROTO_NOQUIT)
@@ -532,6 +572,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OFLAG_LNOTICE 0x00004000 /* Oper can send local serv notices */
#define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */
#define OFLAG_ADMIN 0x00010000 /* Admin */
/* 0x00020000 is free, previously addline */
#define OFLAG_ZLINE 0x00080000 /* Oper can use /zline and /unzline */
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
#define OFLAG_COADMIN 0x00800000 /* co admin gets +C */
@@ -544,7 +585,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OFLAG_UMODEQ 0x80000000 /* can set +q */
#define OFLAG_LOCAL (OFLAG_REHASH|OFLAG_HELPOP|OFLAG_GLOBOP|OFLAG_WALLOP|OFLAG_LOCOP|OFLAG_LROUTE|OFLAG_LKILL|OFLAG_KLINE|OFLAG_UNKLINE|OFLAG_LNOTICE)
#define OFLAG_GLOBAL (OFLAG_LOCAL|OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE)
#define OFLAG_ISGLOBAL (OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE)
#define OFLAG_ISGLOBAL (OFLAG_GROUTE|OFLAG_GKILL|OFLAG_GNOTICE|OFLAG_TKL|OFLAG_GZL|OFLAG_OVERRIDE)
#define OFLAG_NADMIN (OFLAG_NETADMIN | OFLAG_SADMIN | OFLAG_ADMIN | OFLAG_GLOBAL | OFLAG_UMODEQ | OFLAG_DCCDENY)
#define OFLAG_ADMIN_ (OFLAG_ADMIN | OFLAG_GLOBAL | OFLAG_DCCDENY)
#define OFLAG_COADMIN_ (OFLAG_COADMIN | OFLAG_GLOBAL | OFLAG_DCCDENY)
@@ -576,6 +617,11 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OPIsNetAdmin(x) ((x)->oflag & OFLAG_NETADMIN)
#define OPIsCoAdmin(x) ((x)->oflag & OFLAG_COADMIN)
#define OPIsWhois(x) ((x)->oflag & OFLAG_WHOIS)
#ifdef SHOW_SECRET
#define OPCanSeeSecret(x) IsAnOper(x)
#else
#define OPCanSeeSecret(x) IsNetAdmin(x)
#endif
#define OPSetRehash(x) ((x)->oflag |= OFLAG_REHASH)
#define OPSetDie(x) ((x)->oflag |= OFLAG_DIE)
@@ -633,12 +679,23 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define DEBUG_MALLOC 9 /* malloc/free calls */
#define DEBUG_LIST 10 /* debug list use */
/*
* defines for curses in client
*/
#define DUMMY_TERM 0
#define CURSES_TERM 1
#define TERMCAP_TERM 2
/* blah */
#define IsSkoAdmin(sptr) (IsAdmin(sptr) || IsNetAdmin(sptr) || IsSAdmin(sptr))
/* Dcc deny types (see src/s_extra.c) */
#define DCCDENY_HARD 0
#define DCCDENY_SOFT 1
/* Linked list dcc flags */
#define DCC_LINK_ME 1 /* My dcc allow */
#define DCC_LINK_REMOTE 2 /* I need to remove dccallows from these clients when I die */
struct irc_netmask
{
short int type;
struct IN_ADDR mask;
short int bits;
};
struct FloodOpt {
unsigned short nmsg;
@@ -653,7 +710,9 @@ struct MotdItem {
struct aloopStruct {
unsigned do_garbage_collect : 1;
unsigned ircd_booted : 1;
unsigned do_bancheck : 1;
unsigned do_bancheck : 1; /* perform *line bancheck? */
unsigned do_bancheck_spamf_user : 1; /* perform 'user' spamfilter bancheck */
unsigned do_bancheck_spamf_away : 1; /* perform 'away' spamfilter bancheck */
unsigned ircd_rehashing : 1;
unsigned tainted : 1;
aClient *rehash_save_cptr, *rehash_save_sptr;
@@ -684,12 +743,14 @@ struct User {
Membership *channel; /* chain of channel pointer blocks */
Link *invited; /* chain of invite pointer blocks */
Link *silence; /* chain of silence pointer blocks */
Link *dccallow; /* chain of dccallowed entries */
char *away; /* pointer to away message */
u_int32_t servicestamp; /* Services' time stamp variable */
signed char refcnt; /* Number of times this block is referenced */
unsigned short joined; /* number of channels joined */
char username[USERLEN + 1];
char realhost[HOSTLEN + 1];
char cloakedhost[HOSTLEN + 1]; /* cloaked host (masked host for caching). NOT NECESSARILY THE SAME AS virthost. */
char *virthost;
char *server;
char *swhois; /* special whois thing */
@@ -699,6 +760,7 @@ struct User {
#ifdef LIST_DEBUG
aClient *bcptr;
#endif
char *ip_str; /* The IP in string form */
char *operlogin; /* Only used if person is/was opered, used for oper::maxlogins */
struct {
time_t nick_t;
@@ -708,6 +770,10 @@ struct User {
unsigned char away_c; /* number of times away has been set */
#endif
} flood;
#ifdef JOINTHROTTLE
aJFlood *jflood;
#endif
TS lastaway;
};
struct Server {
@@ -735,6 +801,7 @@ struct Server {
#define M_ALIAS 0x0020
#define M_RESETIDLE 0x0040
#define M_VIRUS 0x0080
#define M_ANNOUNCE 0x0100
/* tkl:
@@ -758,6 +825,12 @@ struct Server {
#define SPAMF_PART 0x0010 /* P */
#define SPAMF_QUIT 0x0020 /* q */
#define SPAMF_DCC 0x0040 /* d */
#define SPAMF_USER 0x0080 /* u */
#define SPAMF_AWAY 0x0100 /* a */
#define SPAMF_TOPIC 0x0200 /* t */
/* Other flags only for function calls: */
#define SPAMFLAG_NOWARN 0x0001
struct _spamfilter {
unsigned short action; /* see BAN_ACT* */
@@ -770,7 +843,10 @@ struct t_kline {
aTKline *prev, *next;
int type;
unsigned short subtype; /* subtype (currently spamfilter only), see SPAMF_* */
Spamfilter *spamf;
union {
Spamfilter *spamf;
struct irc_netmask *netmask;
} ptr;
char usermask[USERLEN + 3];
char *hostmask, *reason, *setby;
TS expire_at, set_at;
@@ -794,19 +870,19 @@ typedef struct ircstatsx {
int global_max; /* global max */
} ircstats;
extern ircstats IRCstats;
extern MODVAR ircstats IRCstats;
#include "modules.h"
extern Umode *Usermode_Table;
extern short Usermode_highest;
extern MODVAR Umode *Usermode_Table;
extern MODVAR short Usermode_highest;
extern Snomask *Snomask_Table;
extern short Snomask_highest;
extern MODVAR Snomask *Snomask_Table;
extern MODVAR short Snomask_highest;
#ifdef EXTCMODE
extern Cmode *Channelmode_Table;
extern unsigned short Channelmode_highest;
extern MODVAR Cmode *Channelmode_Table;
extern MODVAR unsigned short Channelmode_highest;
#endif
extern Umode *UmodeAdd(Module *module, char ch, int options, int (*allowed)(aClient *sptr, int what), long *mode);
@@ -820,12 +896,15 @@ extern Cmode *CmodeAdd(Module *reserved, CmodeInfo req, Cmode_t *mode);
extern void CmodeDel(Cmode *cmode);
#endif
typedef struct {
unsigned short num;
unsigned short t;
} aModejEntry;
#define LISTENER_NORMAL 0x000001
#define LISTENER_CLIENTSONLY 0x000002
#define LISTENER_SERVERSONLY 0x000004
#define LISTENER_REMOTEADMIN 0x000008
#define LISTENER_JAVACLIENT 0x000010
#define LISTENER_MASK 0x000020
#define LISTENER_SSL 0x000040
#define LISTENER_BOUND 0x000080
@@ -879,15 +958,19 @@ struct Client {
#ifdef NOSPOOF
u_int32_t nospoof; /* Anti-spoofing random number */
#endif
short proto; /* ProtoCtl options */
int proto; /* ProtoCtl options */
long sendM; /* Statistics: protocol messages send */
long sendK; /* Statistics: total k-bytes send */
long receiveM; /* Statistics: protocol messages received */
#ifdef ZIP_LINKS
struct Zdata *zip; /* zip data */
#elif defined(_WIN32)
void *zip_NOTUSED; /* (win32 binary compatability) */
#endif
#ifdef USE_SSL
SSL *ssl;
#elif defined(_WIN32)
void *ssl_NOTUSED; /* (win32 binary compatability) */
#endif
#ifndef NO_FDLIST
long lastrecvM; /* to check for activity --Mika */
@@ -897,7 +980,7 @@ struct Client {
u_short sendB; /* counters to count upto 1-k lots of bytes */
u_short receiveB; /* sent and received. */
aClient *listener;
ConfigItem_class *class; /* Configuration record associated */
ConfigItem_class *cclass; /* Configuration record associated */
int authfd; /* fd for rfc931 authentication */
short slot; /* my offset in the local fd table */
struct IN_ADDR ip; /* keep real ip# too */
@@ -991,6 +1074,7 @@ struct _configflag_tld
#define BAN_ACT_BLOCK 8
#define BAN_ACT_DCCBLOCK 9
#define BAN_ACT_VIRUSCHAN 10
#define BAN_ACT_WARN 11
#define CRULE_ALL 0
@@ -1016,12 +1100,20 @@ struct _configitem_admin {
ConfigFlag flag;
char *line;
};
#ifdef FAKELAG_CONFIGURABLE
#define CLASS_OPT_NOFAKELAG 0x1
#endif
#define CLASS_OPT_NOTARGETLAG 0x2
struct _configitem_class {
ConfigItem *prev, *next;
ConfigFlag flag;
char *name;
int pingfreq, connfreq, maxclients, sendq, recvq, clients;
int xrefcount; /* EXTRA reference count, 'clients' also acts as a reference count but
* link blocks also refer to classes so a 2nd ref. count was needed.
*/
unsigned int options;
};
struct _configflag_allow {
@@ -1029,6 +1121,7 @@ struct _configflag_allow {
unsigned useip :1;
unsigned ssl :1;
unsigned nopasscont :1;
unsigned wrongpasscont :1;
};
struct _configitem_allow {
@@ -1038,7 +1131,8 @@ struct _configitem_allow {
anAuthStruct *auth;
unsigned short maxperip;
int port;
ConfigItem_class *class;
ConfigItem_class *cclass;
struct irc_netmask *netmask;
ConfigFlag_allow flags;
};
@@ -1047,8 +1141,9 @@ struct _configitem_oper {
ConfigFlag flag;
char *name, *swhois, *snomask;
anAuthStruct *auth;
ConfigItem_class *class;
ConfigItem_class *cclass;
ConfigItem *from;
unsigned long modes;
long oflags;
int maxlogins;
};
@@ -1057,6 +1152,7 @@ struct _configitem_oper_from {
ConfigItem *prev, *next;
ConfigFlag flag;
char *name;
struct irc_netmask *netmask;
};
struct _configitem_drpass {
@@ -1076,9 +1172,10 @@ struct _configitem_ulines {
struct _configitem_tld {
ConfigItem *prev, *next;
ConfigFlag_tld flag;
char *mask, *motd_file, *rules_file, *smotd_file, *channel;
char *mask, *motd_file, *rules_file, *smotd_file;
char *botmotd_file, *opermotd_file, *channel;
struct tm motd_tm, smotd_tm;
aMotd *rules, *motd, *smotd;
aMotd *rules, *motd, *smotd, *botmotd, *opermotd;
u_short options;
};
@@ -1107,41 +1204,60 @@ struct _configitem_link {
u_short port, options;
unsigned char leafdepth;
int refcount;
ConfigItem_class *class;
ConfigItem_class *cclass;
struct IN_ADDR ipnum;
time_t hold;
#ifdef USE_SSL
char *ciphers;
#elif defined(_WIN32)
void *ciphers_NOTUSED;
#endif
#ifdef ZIP_LINKS
int compression_level;
#endif
};
typedef enum {
CGIIRC_PASS=1, CGIIRC_WEBIRC=2
} CGIIRCType;
struct _configitem_cgiirc {
ConfigItem *prev, *next;
ConfigFlag flag;
CGIIRCType type;
char *username;
char *hostname;
anAuthStruct *auth;
};
struct _configitem_except {
ConfigItem *prev, *next;
ConfigFlag_except flag;
int type;
char *mask;
struct irc_netmask *netmask;
};
struct _configitem_ban {
ConfigItem *prev, *next;
ConfigFlag_ban flag;
char *mask, *reason;
struct IN_ADDR netmask;
int bits;
short masktype;
struct irc_netmask *netmask;
unsigned short action;
};
#ifdef FAST_BADWORD_REPLACE
typedef struct _iplist IPList;
struct _iplist {
IPList *prev, *next;
char *mask;
/* struct irc_netmask *netmask; */
};
#define BADW_TYPE_INVALID 0x0
#define BADW_TYPE_FAST 0x1
#define BADW_TYPE_FAST_L 0x2
#define BADW_TYPE_FAST_R 0x4
#define BADW_TYPE_REGEX 0x8
#endif
#define BADWORD_REPLACE 1
#define BADWORD_BLOCK 2
@@ -1150,9 +1266,7 @@ struct _configitem_badword {
ConfigItem *prev, *next;
ConfigFlag flag;
char *word, *replace;
#ifdef FAST_BADWORD_REPLACE
unsigned short type;
#endif
char action;
regex_t expr;
};
@@ -1188,12 +1302,19 @@ struct _configitem_allow_channel {
char *channel;
};
struct _configitem_allow_dcc {
ConfigItem *prev, *next;
ConfigFlag_ban flag;
char *filename;
};
struct _configitem_log {
ConfigItem *prev, *next;
ConfigFlag flag;
char *file;
long maxsize;
int flags;
int logfd;
};
struct _configitem_unknown {
@@ -1211,24 +1332,25 @@ struct _configitem_unknown_ext {
ConfigEntry *ce_entries;
};
#define ALIAS_SERVICES 1
#define ALIAS_STATS 2
#define ALIAS_NORMAL 3
#define ALIAS_COMMAND 4
typedef enum {
ALIAS_SERVICES=1, ALIAS_STATS, ALIAS_NORMAL, ALIAS_COMMAND, ALIAS_CHANNEL, ALIAS_REAL
} AliasType;
struct _configitem_alias {
ConfigItem *prev, *next;
ConfigFlag flag;
ConfigItem_alias_format *format;
char *alias, *nick;
short type;
AliasType type;
unsigned int spamfilter:1;
};
struct _configitem_alias_format {
ConfigItem *prev, *next;
ConfigFlag flag;
char *nick;
short type;
AliasType type;
char *format, *parameters;
regex_t expr;
};
@@ -1245,6 +1367,7 @@ struct _configitem_include {
#ifdef USE_LIBCURL
char *url;
char *errorbuf;
char *bind_ip;
#endif
};
@@ -1330,36 +1453,22 @@ struct ListOptions {
#define NUMFLD 6 /* 6 flood types */
struct SRemoveFld {
struct SRemoveFld *prev, *next;
aChannel *chptr;
char m; /* mode to be removed */
time_t when; /* scheduled at */
};
struct SChanFloodProt {
unsigned short per; /* setting: per <XX> seconds */
time_t t[NUMFLD]; /* runtime: timers */
unsigned short c[NUMFLD]; /* runtime: counters */
unsigned short l[NUMFLD]; /* setting: limit */
unsigned char a[NUMFLD]; /* setting: action */
unsigned char r[NUMFLD]; /* setting: remove-after <this> minutes */
unsigned long timer_flags; /* if a "-m timer" is running this is & MODE_MODERATED etc.. */
};
/* Number of maximum paramter modes to allow.
* Don't set it unnecessarily high.. we only use k, l, L, j and f at the moment. (FIXME)
*/
#define MAXPARAMMODES 12
/* mode structure for channels */
struct SMode {
long mode;
#ifdef EXTCMODE
Cmode_t extmode;
CmodeParam *extmodeparam;
void *extmodeparams[MAXPARAMMODES+1];
#endif
int limit;
char key[KEYLEN + 1];
char link[LINKLEN + 1];
#ifdef NEWCHFLOODPROT
ChanFloodProt *floodprot;
#else
#if 0
/* x:y */
unsigned short msgs; /* x */
unsigned short per; /* y */
@@ -1415,6 +1524,10 @@ struct Channel {
Link *invites;
Ban *banlist;
Ban *exlist; /* exceptions */
Ban *invexlist; /* invite list */
#ifdef JOINTHROTTLE
aJFlood *jflood;
#endif
char chname[1];
};
@@ -1479,8 +1592,9 @@ struct liststruct {
#define CHFL_BAN 0x0020 /* ban channel flag */
#define CHFL_CHANOWNER 0x0040 /* channel owner */
#define CHFL_CHANPROT 0x0080 /* chan op protection */
#define CHFL_HALFOP 0x0100 /* halfop */
#define CHFL_EXCEPT 0x0200 /* phase this out ? +e */
#define CHFL_HALFOP 0x0100 /* halfop */
#define CHFL_EXCEPT 0x0200 /* phase this out ? +e */
#define CHFL_INVEX 0x0400 /* invite exception */
#define CHFL_OVERLAP (CHFL_CHANOWNER|CHFL_CHANPROT|CHFL_CHANOP|CHFL_VOICE|CHFL_HALFOP)
@@ -1489,33 +1603,29 @@ struct liststruct {
#define MODE_CHANOP CHFL_CHANOP
#define MODE_VOICE CHFL_VOICE
#define MODE_PRIVATE 0x0004
#define MODE_SECRET 0x0008
#define MODE_SECRET 0x0008
#define MODE_MODERATED 0x0010
#define MODE_TOPICLIMIT 0x0020
#define MODE_CHANOWNER 0x0040
#define MODE_CHANPROT 0x0080
#define MODE_HALFOP 0x0100
#define MODE_EXCEPT 0x0200
#define MODE_BAN 0x0400
#define MODE_HALFOP 0x0100
#define MODE_EXCEPT 0x0200
#define MODE_BAN 0x0400
#define MODE_INVITEONLY 0x0800
#define MODE_NOPRIVMSGS 0x1000
#define MODE_KEY 0x2000
#define MODE_LIMIT 0x4000
#define MODE_RGSTR 0x8000
#define MODE_RGSTRONLY 0x10000
#define MODE_LINK 0x20000
#define MODE_KEY 0x2000
#define MODE_LIMIT 0x4000
#define MODE_RGSTR 0x8000
#define MODE_RGSTRONLY 0x10000
#define MODE_LINK 0x20000
#define MODE_NOCOLOR 0x40000
#define MODE_OPERONLY 0x80000
#define MODE_ADMONLY 0x100000
#define MODE_NOKICKS 0x200000
#define MODE_STRIP 0x400000
#define MODE_NOKNOCK 0x800000
#define MODE_NOINVITE 0x1000000
#define MODE_FLOODLIMIT 0x2000000
#define MODE_MODREG 0x4000000
#ifdef STRIPBADWORDS
#define MODE_STRIPBADWORDS 0x8000000
#endif
#define MODE_INVEX 0x8000000
#define MODE_NOCTCP 0x10000000
#define MODE_AUDITORIUM 0x20000000
#define MODE_ONLYSECURE 0x40000000
@@ -1525,7 +1635,7 @@ struct liststruct {
/*
* mode flags which take another parameter (With PARAmeterS)
*/
#define MODE_WPARAS (MODE_HALFOP|MODE_CHANOP|MODE_VOICE|MODE_CHANOWNER|MODE_CHANPROT|MODE_BAN|MODE_KEY|MODE_LINK|MODE_LIMIT|MODE_EXCEPT)
#define MODE_WPARAS (MODE_HALFOP|MODE_CHANOP|MODE_VOICE|MODE_CHANOWNER|MODE_CHANPROT|MODE_BAN|MODE_KEY|MODE_LINK|MODE_LIMIT|MODE_EXCEPT|MODE_INVEX)
/*
* Undefined here, these are used in conjunction with the above modes in
* the source.
@@ -1553,14 +1663,15 @@ struct liststruct {
#define BadPtr(x) (!(x) || (*(x) == '\0'))
#define isvalid(c) (((c) >= 'A' && (c) <= '~') || isdigit(c) || (c) == '-')
/** Is valid character in nick? [not for external usage, use do_check_nickname instead!] */
#define isvalid(c) (char_atribs[(u_char)(c)]&ALLOWN)
/* remote fds are set to -256, else its a local fd (a local fd
* can get -1 or -2 in case it has been closed). -- Syzop
*/
#define MyConnect(x) ((x)->fd != -256)
#define MyClient(x) (MyConnect(x) && IsClient(x))
#define MyOper(x) (MyConnect(x) && IsOper(x))
#define MyOper(x) (MyConnect(x) && IsAnOper(x))
#ifdef CLEAN_COMPILE
#define TStime() (time(NULL) + TSoffset)
@@ -1607,20 +1718,23 @@ struct liststruct {
/* misc variable externs */
extern char *version, *infotext[], *dalinfotext[], *unrealcredits[];
extern char *generation, *creation;
extern char *gnulicense[];
extern MODVAR char *version, *infotext[], *dalinfotext[], *unrealcredits[];
extern MODVAR char *generation, *creation;
extern MODVAR char *gnulicense[];
/* misc defines */
#define FLUSH_BUFFER -2
#define COMMA ","
#define PARTFMT ":%s PART %s"
#define PARTFMT2 ":%s PART %s :%s"
#ifdef USE_SSL
#include "ssl.h"
#endif
#define EVENT_HASHES EVENT_DRUGS
#include "events.h"
struct Command {
struct IRCCommand {
aCommand *prev, *next;
char *cmd;
int (*func) ();
@@ -1629,7 +1743,7 @@ struct Command {
unsigned parameters : 5;
unsigned long bytes;
Module *owner;
aCommand *friend; /* cmd if token, token if cmd */
aCommand *partner; /* cmd if token, token if cmd */
Cmdoverride *overriders;
Cmdoverride *overridetail;
#ifdef DEBUGMODE
@@ -1645,8 +1759,6 @@ struct _cmdoverride {
int (*func)();
};
#ifdef THROTTLING
struct ThrottlingBucket
{
struct ThrottlingBucket *prev, *next;
@@ -1662,24 +1774,55 @@ typedef struct {
unsigned parameters : 1;
} aCtab;
#ifdef JOINTHROTTLE
/** A jointhrottle item, this is a double linked list.
* prev_u Previous entry of user
* next_u Next entry of user
* prev_c Previous entry of channel
* next_c Next entry of channel
* chptr The channel this entry applies to
* cptr The user this entry applies to
* firstjoin Timestamp of "first join" (since last timer reset)
* numjoin Number of joins since that period
* CLARIFICATION:
* Why a double linked list? Well, the following operations need to be performed:
* - if user quits, entry must be removed
* - if channel is destroyed, entry must be removed
* (and of course, more, but these are the most important ones affecting this decision)
* While it would be possible to have a linked list only by user (for example),
* that would mean that upon channel destroy ALL entries would have to be searched
* trough, which might mean for example 800*8=6400 entries in a peak situation
* (such as after a server restart and hundreds of clients connecting&joining).
* For obvious reasons, that would be a very bad idea :).
* So this costs us 2 pointers (8b on ia32) per entry, but in case of channel destroy
* it means we only have for example 20 entries to scan trough rather than 2000.
* Worth the extra memory :). -- Syzop
* Note that in normal situations it won't be that bad since we will try to
* regulary free up some entries.
*/
struct JFlood {
aJFlood *prev_u, *next_u;
aJFlood *prev_c, *next_c;
aChannel *chptr;
aClient *cptr;
time_t firstjoin;
unsigned short numjoins;
};
#endif
void init_throttling_hash();
int hash_throttling(struct IN_ADDR *in);
struct ThrottlingBucket *find_throttling_bucket(struct IN_ADDR *in);
void add_throttling_bucket(struct IN_ADDR *in);
void del_throttling_bucket(struct ThrottlingBucket *bucket);
int throttle_can_connect(struct IN_ADDR *in);
#endif
int throttle_can_connect(aClient *, struct IN_ADDR *in);
#define VERIFY_OPERCOUNT(clnt,tag) { if (IRCstats.operators < 0) verify_opercount(clnt,tag); } while(0)
#define MARK_AS_OFFICIAL_MODULE(modinf) do { if (modinf && modinf->handle) ModuleSetOptions(modinfo->handle, MOD_OPT_OFFICIAL); } while(0)
#ifdef PREFIX_AQ
#define CHANOPPFX "~&@"
#else
#define CHANOPPFX "@"
#endif
/* old.. please don't use anymore */
#define CHANOPPFX "@"
/* used for is_banned type field: */
#define BANCHK_JOIN 0 /* checking if a ban forbids the person from joining */
+25 -4
View File
@@ -21,6 +21,25 @@
#ifndef __sys_include__
#define __sys_include__
/* alloca stuff */
#ifdef _WIN32
# include <malloc.h>
# define alloca _alloca
#else /* _WIN32 */
# ifdef HAVE_ALLOCA
# if defined(_AIX) && !defined(__GNUC__)
#pragma alloca
# endif /* _AIX */
# if defined(HAVE_ALLOCA_H)
# include <alloca.h>
# endif /* HAVE_ALLOCA_H */
# if defined(__GNUC__) && !defined(HAVE_ALLOCA_H) && !defined(alloca)
# define alloca __builtin_alloca
# endif /* __GNUC__ */
# endif /* HAVE_ALLOCA */
#endif /* !_WIN32 */
#ifdef ISC202
#include <net/errno.h>
#else
@@ -124,9 +143,9 @@ typedef unsigned long u_long;
typedef unsigned int u_int;
#endif
#ifdef _WIN32
#define MYOSNAME OSName
extern char OSName[256];
#ifdef _WIN32
#define PATH_MAX MAX_PATH
#endif
#ifdef DEBUGMODE
@@ -142,6 +161,9 @@ typedef unsigned short u_int16_t;
* IPv4 or IPv6 structures?
*/
# define MYDUMMY_SIZE 128
#ifdef INET6
# define AND16(x) ((x)[0]&(x)[1]&(x)[2]&(x)[3]&(x)[4]&(x)[5]&(x)[6]&(x)[7]&(x)[8]&(x)[9]&(x)[10]&(x)[11]&(x)[12]&(x)[13]&(x)[14]&(x)[15])
@@ -160,7 +182,6 @@ typedef unsigned short u_int16_t;
//# define uint32_t __u32
// # endif
# define MYDUMMY_SIZE 128
char mydummy[MYDUMMY_SIZE];
char mydummy2[MYDUMMY_SIZE];
@@ -170,7 +191,7 @@ char mydummy2[MYDUMMY_SIZE];
# endif
# endif
# if defined(linux)
# if defined(linux) && defined(NO_IN6ADDR_ANY)
static const struct in6_addr in6addr_any = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0
};
@@ -232,7 +253,7 @@ static const struct in6_addr in6addr_any = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
#define CLOSE_SOCK(fd) closesocket(fd)
#define IOCTL(x, y, z) ioctlsocket((x), (y), (z))
#define ERRNO WSAGetLastError()
#define STRERROR(x) nt_strerror(x)
#define STRERROR(x) sock_strerror(x)
#define SET_ERRNO(x) WSASetLastError(x)
/* Error constant portability */
#define P_EMFILE WSAEMFILE
+17 -1
View File
@@ -1,5 +1,5 @@
/*
* Unreal Internet Relay Chat Daemon, src/url.c
* Unreal Internet Relay Chat Daemon, include/types.h
* (C) 2003 The UnrealIRCd Team
*
* This program is free software; you can redistribute it and/or modify
@@ -24,4 +24,20 @@ typedef void (*vFP)(); /* Void function pointer */
typedef int (*iFP)(); /* Integer function pointer */
typedef char (*cFP)(); /* char * function pointer */
#ifndef MODVAR
#if defined(MODULE_COMPILE) && defined(_WIN32)
#define MODVAR __declspec(dllimport)
#else
#define MODVAR
#endif
#endif
#ifndef MODFUNC
#ifdef _WIN32
#define MODFUNC __declspec(dllexport)
#else
#define MODFUNC
#endif
#endif
#endif
+7 -6
View File
@@ -1,11 +1,12 @@
#ifndef URL_H
#define URL_H
#include "types.h"
int url_is_valid(char *);
char *url_getfilename(char *);
char *download_file(char *, char **);
void download_file_async(char *, time_t, vFP);
void url_do_transfers_async(void);
void url_init(void);
int MODFUNC url_is_valid(char *);
char MODFUNC *url_getfilename(char *);
char MODFUNC *download_file(char *, char **, char *);
void MODFUNC download_file_async(char *, time_t, vFP, char *);
void MODFUNC url_do_transfers_async(void);
void MODFUNC url_init(void);
#endif
+27 -5
View File
@@ -23,13 +23,35 @@
#endif
/**/
#define COMPILEINFO DEBUGMODESET DEBUGSET
/*
* Version Unreal3.2
/* Version info follows, current: Unreal3.2.3
* Please be sure to update ALL fields when changing the version.
* Also don't forget to bump the protocol version every release.
*/
#define UnrealProtocol 2303
/** These UNREAL_VERSION_* macros can be used so (3rd party) modules
* can easily distinguish versions.
*/
/** The generation version number (eg: 3 for Unreal3*) */
#define UNREAL_VERSION_GENERATION 3
/** The major version number (eg: 3 for Unreal3.2*) */
#define UNREAL_VERSION_MAJOR 3
/** The minor version number (eg: 1 for Unreal3.2.1), negative numbers for unstable/alpha/beta */
#define UNREAL_VERSION_MINOR -99
/** Year + week of the year (with Monday as first day of the week).
* Can be useful if the above 3 versionids are insufficient for you (eg: you want to support CVS).
* This is updated automatically on the CVS server every Monday. so don't touch it.
*/
#define UNREAL_VERSION_TIME 200631
#define UnrealProtocol 2308
#define PATCH1 "3"
#define PATCH2 ".2"
#define PATCH3 ""
#define PATCH2 ".3"
#define PATCH3 "-willneverbereleased"
#define PATCH4 ""
#define PATCH5 ""
#define PATCH6 ""
+189
View File
@@ -0,0 +1,189 @@
/* $Id$ */
/* Copyright 1998 by the Massachusetts Institute of Technology.
*
* Permission to use, copy, modify, and distribute this
* software and its documentation for any purpose and without
* fee is hereby granted, provided that the above copyright
* notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in
* advertising or publicity pertaining to distribution of the
* software without specific, written prior permission.
* M.I.T. makes no representations about the suitability of
* this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
#ifndef ARES__H
#define ARES__H
#include <sys/types.h>
#if defined(_AIX) || defined(NETWARE)
/* HP-UX systems version 9, 10 and 11 lack sys/select.h and so does oldish
libc5-based Linux systems. Only include it on system that are known to
require it! */
#include <sys/select.h>
#endif
#if defined(WATT32)
#include <netinet/in.h>
#include <sys/socket.h>
#include <tcp.h>
#elif defined(WIN32)
#include <winsock.h>
#include <windows.h>
#else
#include <netinet/in.h>
#include <sys/socket.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif
#define ARES_SUCCESS 0
/* Server error codes (ARES_ENODATA indicates no relevant answer) */
#define ARES_ENODATA 1
#define ARES_EFORMERR 2
#define ARES_ESERVFAIL 3
#define ARES_ENOTFOUND 4
#define ARES_ENOTIMP 5
#define ARES_EREFUSED 6
/* Locally generated error codes */
#define ARES_EBADQUERY 7
#define ARES_EBADNAME 8
#define ARES_EBADFAMILY 9
#define ARES_EBADRESP 10
#define ARES_ECONNREFUSED 11
#define ARES_ETIMEOUT 12
#define ARES_EOF 13
#define ARES_EFILE 14
#define ARES_ENOMEM 15
#define ARES_EDESTRUCTION 16
#define ARES_EBADSTR 17
/* ares_getnameinfo error codes */
#define ARES_EBADFLAGS 18
/* Flag values */
#define ARES_FLAG_USEVC (1 << 0)
#define ARES_FLAG_PRIMARY (1 << 1)
#define ARES_FLAG_IGNTC (1 << 2)
#define ARES_FLAG_NORECURSE (1 << 3)
#define ARES_FLAG_STAYOPEN (1 << 4)
#define ARES_FLAG_NOSEARCH (1 << 5)
#define ARES_FLAG_NOALIASES (1 << 6)
#define ARES_FLAG_NOCHECKRESP (1 << 7)
/* Option mask values */
#define ARES_OPT_FLAGS (1 << 0)
#define ARES_OPT_TIMEOUT (1 << 1)
#define ARES_OPT_TRIES (1 << 2)
#define ARES_OPT_NDOTS (1 << 3)
#define ARES_OPT_UDP_PORT (1 << 4)
#define ARES_OPT_TCP_PORT (1 << 5)
#define ARES_OPT_SERVERS (1 << 6)
#define ARES_OPT_DOMAINS (1 << 7)
#define ARES_OPT_LOOKUPS (1 << 8)
/* Nameinfo flag values */
#define ARES_NI_NOFQDN (1 << 0)
#define ARES_NI_NUMERICHOST (1 << 1)
#define ARES_NI_NAMEREQD (1 << 2)
#define ARES_NI_NUMERICSERV (1 << 3)
#define ARES_NI_DGRAM (1 << 4)
#define ARES_NI_TCP 0
#define ARES_NI_UDP ARES_NI_DGRAM
#define ARES_NI_SCTP (1 << 5)
#define ARES_NI_DCCP (1 << 6)
#define ARES_NI_NUMERICSCOPE (1 << 7)
#define ARES_NI_LOOKUPHOST (1 << 8)
#define ARES_NI_LOOKUPSERVICE (1 << 9)
/* Reserved for future use */
#define ARES_NI_IDN (1 << 10)
#define ARES_NI_ALLOW_UNASSIGNED (1 << 11)
#define ARES_NI_USE_STD3_ASCII_RULES (1 << 12)
struct ares_options {
int flags;
int timeout;
int tries;
int ndots;
unsigned short udp_port;
unsigned short tcp_port;
struct in_addr *servers;
int nservers;
char **domains;
int ndomains;
char *lookups;
};
/** Public available config (readonly) interface for ares_get_config(). */
struct ares_config_info {
int timeout;
int tries;
int numservers;
char **servers;
};
struct hostent;
struct timeval;
struct sockaddr;
struct ares_channeldata;
typedef struct ares_channeldata *ares_channel;
typedef void (*ares_callback)(void *arg, int status, unsigned char *abuf,
int alen);
typedef void (*ares_host_callback)(void *arg, int status,
struct hostent *hostent);
typedef void (*ares_nameinfo_callback)(void *arg, int status,
char *node, char *service);
int ares_init(ares_channel *channelptr);
int ares_init_options(ares_channel *channelptr, struct ares_options *options,
int optmask);
void ares_destroy(ares_channel channel);
void ares_cancel(ares_channel channel);
void ares_send(ares_channel channel, const unsigned char *qbuf, int qlen,
ares_callback callback, void *arg);
void ares_query(ares_channel channel, const char *name, int dnsclass,
int type, ares_callback callback, void *arg);
void ares_search(ares_channel channel, const char *name, int dnsclass,
int type, ares_callback callback, void *arg);
void ares_gethostbyname(ares_channel channel, const char *name, int family,
ares_host_callback callback, void *arg);
void ares_gethostbyaddr(ares_channel channel, const void *addr, int addrlen,
int family, ares_host_callback callback, void *arg);
void ares_getnameinfo(ares_channel channel, const struct sockaddr *sa,
socklen_t salen, int flags, ares_nameinfo_callback callback,
void *arg);
int ares_fds(ares_channel channel, fd_set *read_fds, fd_set *write_fds);
struct timeval *ares_timeout(ares_channel channel, struct timeval *maxtv,
struct timeval *tv);
void ares_process(ares_channel channel, fd_set *read_fds, fd_set *write_fds);
int ares_mkquery(const char *name, int dnsclass, int type, unsigned short id,
int rd, unsigned char **buf, int *buflen);
int ares_expand_name(const unsigned char *encoded, const unsigned char *abuf,
int alen, char **s, long *enclen);
int ares_expand_string(const unsigned char *encoded, const unsigned char *abuf,
int alen, unsigned char **s, long *enclen);
int ares_parse_a_reply(const unsigned char *abuf, int alen,
struct hostent **host);
int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,
struct hostent **host);
int ares_parse_ptr_reply(const unsigned char *abuf, int alen, const void *addr,
int addrlen, int family, struct hostent **host);
void ares_free_string(void *str);
void ares_free_hostent(struct hostent *host);
const char *ares_strerror(int code);
int ares_get_config(struct ares_config_info *d, ares_channel c);
#ifdef __cplusplus
}
#endif
#endif /* ARES__H */
+17
View File
@@ -0,0 +1,17 @@
/* $Id$ */
#ifndef ARES__VERSION_H
#define ARES__VERSION_H
#define ARES_VERSION_MAJOR 1
#define ARES_VERSION_MINOR 3
#define ARES_VERSION_PATCH 0
#define ARES_VERSION ((ARES_VERSION_MAJOR<<16)|\
(ARES_VERSION_MINOR<<8)|\
(ARES_VERSION_PATCH))
#define ARES_VERSION_STR "1.3.0"
const char *ares_version(int *version);
#endif
+82
View File
@@ -0,0 +1,82 @@
#ifndef ARES_SETUP_H
#define ARES_SETUP_H
/* Copyright (C) 2004 - 2005 by Daniel Stenberg et al
*
* Permission to use, copy, modify, and distribute this software and its
* documentation for any purpose and without fee is hereby granted, provided
* that the above copyright notice appear in all copies and that both that
* copyright notice and this permission notice appear in supporting
* documentation, and that the name of M.I.T. not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. M.I.T. makes no representations about the
* suitability of this software for any purpose. It is provided "as is"
* without express or implied warranty.
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#else
/* simple work-around for now, for systems without configure support */
#define ssize_t int
#define socklen_t int
#endif
/* Recent autoconf versions define these symbols in config.h. We don't want
them (since they collide with the libcurl ones when we build
--enable-debug) so we undef them again here. */
#undef PACKAGE_STRING
#undef PACKAGE_TARNAME
#undef PACKAGE_VERSION
#undef PACKAGE_BUGREPORT
#undef PACKAGE_NAME
#undef VERSION
#undef PACKAGE
/* now typedef our socket type */
#if defined(WIN32) && !defined(WATT32)
#include <winsock.h>
typedef SOCKET ares_socket_t;
#define ARES_SOCKET_BAD INVALID_SOCKET
#else
typedef int ares_socket_t;
#define ARES_SOCKET_BAD -1
#endif
/* Assume a few thing unless they're set by configure
*/
#if !defined(HAVE_SYS_TIME_H) && !defined(_MSC_VER)
#define HAVE_SYS_TIME_H
#endif
#if !defined(HAVE_UNISTD_H) && !defined(_MSC_VER)
#define HAVE_UNISTD_H 1
#endif
#if !defined(HAVE_SYS_UIO_H) && !defined(WIN32) && !defined(MSDOS)
#define HAVE_SYS_UIO_H
#endif
#if (defined(WIN32) || defined(WATT32)) && \
!(defined(__MINGW32__) || defined(NETWARE))
/* protos for the functions we provide in windows_port.c */
int ares_strncasecmp(const char *s1, const char *s2, int n);
int ares_strcasecmp(const char *s1, const char *s2);
/* use this define magic to prevent us from adding symbol names to the library
that is a high-risk to collide with another libraries' attempts to do the
same */
#define strncasecmp(a,b,c) ares_strncasecmp(a,b,c)
#define strcasecmp(a,b) ares_strcasecmp(a,b)
#endif
/* IPv6 compatibility */
#if !defined(HAVE_AF_INET6)
#if defined(HAVE_PF_INET6)
#define AF_INET6 PF_INET6
#else
#define AF_INET6 AF_MAX+1
#endif
#endif
#endif /* ARES_SETUP_H */
+93 -34
View File
@@ -1,7 +1,7 @@
/*
regex.h - POSIX.2 compatible regexp interface and TRE extensions
Copyright (C) 2001-2003 Ville Laurikari <vl@iki.fi>.
Copyright (C) 2001-2004 Ville Laurikari <vl@iki.fi>.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 (June
@@ -27,6 +27,10 @@
#include <sys/types.h>
#endif /* HAVE_SYS_TYPES_H */
#ifdef HAVE_LIBUTF8_H
#include <libutf8.h>
#endif /* HAVE_LIBUTF8_H */
#ifdef TRE_USE_SYSTEM_REGEX_H
/* Include the system regex.h to make TRE ABI compatible with the
system regex. */
@@ -47,6 +51,17 @@ extern "C" {
typedef int reg_errcode_t;
#endif /* !HAVE_REG_ERRCODE_T */
#if !defined(REG_NOSPEC) && !defined(REG_LITERAL)
#define REG_LITERAL 0x1000
#endif
/* Extra regcomp() flags. */
#define REG_RIGHT_ASSOC (REG_LITERAL << 1)
/* Extra regexec() flags. */
#define REG_APPROX_MATCHER 0x1000
#define REG_BACKTRACKING_MATCHER (REG_APPROX_MATCHER << 1)
#else /* !TRE_USE_SYSTEM_REGEX_H */
/* If the we're not using system regex.h, we need to define the
@@ -55,7 +70,7 @@ typedef int reg_errcode_t;
typedef int regoff_t;
typedef struct {
size_t re_nsub; /* Number of parenthesized subexpressions. */
void *value; /* For internal use only. */
void *value; /* For internal use only. */
} regex_t;
typedef struct {
@@ -65,45 +80,50 @@ typedef struct {
typedef enum {
REG_OK = 0, /* No error. */
REG_OK = 0, /* No error. */
/* POSIX regcomp() return error codes. (In the order listed in the
standard.) */
REG_NOMATCH, /* No match. */
REG_BADPAT, /* Invalid regexp. */
REG_ECOLLATE, /* Unknown collating element. */
REG_ECTYPE, /* Unknown character class name. */
REG_EESCAPE, /* Trailing backslash. */
REG_ESUBREG, /* Invalid back reference. */
REG_EBRACK, /* "[]" imbalance */
REG_EPAREN, /* "\(\)" or "()" imbalance */
REG_EBRACE, /* "\{\}" or "{}" imbalance */
REG_BADBR, /* Invalid content of {} */
REG_ERANGE, /* Invalid use of range operator */
REG_ESPACE, /* Out of memory. */
standard.) */
REG_NOMATCH, /* No match. */
REG_BADPAT, /* Invalid regexp. */
REG_ECOLLATE, /* Unknown collating element. */
REG_ECTYPE, /* Unknown character class name. */
REG_EESCAPE, /* Trailing backslash. */
REG_ESUBREG, /* Invalid back reference. */
REG_EBRACK, /* "[]" imbalance */
REG_EPAREN, /* "\(\)" or "()" imbalance */
REG_EBRACE, /* "\{\}" or "{}" imbalance */
REG_BADBR, /* Invalid content of {} */
REG_ERANGE, /* Invalid use of range operator */
REG_ESPACE, /* Out of memory. */
REG_BADRPT
} reg_errcode_t;
/* POSIX regcomp() flags. */
#define REG_EXTENDED 1
#define REG_ICASE (REG_EXTENDED << 1)
#define REG_NEWLINE (REG_ICASE << 1)
#define REG_NOSUB (REG_NEWLINE << 1)
#define REG_EXTENDED 1
#define REG_ICASE (REG_EXTENDED << 1)
#define REG_NEWLINE (REG_ICASE << 1)
#define REG_NOSUB (REG_NEWLINE << 1)
/* Extra regcomp() flags. */
#define REG_BASIC 0
#define REG_LITERAL (REG_NOSUB << 1)
#define REG_BASIC 0
#define REG_LITERAL (REG_NOSUB << 1)
#define REG_RIGHT_ASSOC (REG_LITERAL << 1)
/* POSIX regexec() flags. */
#define REG_NOTBOL 1
#define REG_NOTEOL (REG_NOTBOL << 1)
/* Extra regexec() flags. */
#define REG_APPROX_MATCHER (REG_NOTEOL << 1)
#define REG_BACKTRACKING_MATCHER (REG_APPROX_MATCHER << 1)
#endif /* !TRE_USE_SYSTEM_REGEX_H */
/* REG_NOSPEC and REG_LITERAL mean the same thing. */
#if defined(REG_LITERAL)
#define REG_NOSPEC REG_LITERAL
#ifdef REG_LITERAL
#define REG_NOSPEC REG_LITERAL
#elif defined(REG_NOSPEC)
#define REG_LITERAL REG_NOSPEC
#define REG_LITERAL REG_NOSPEC
#endif /* defined(REG_NOSPEC) */
/* The maximum number of iterations in a bound expression. */
@@ -144,24 +164,24 @@ int regwnexec(const regex_t *preg, const wchar_t *string, size_t len,
/* Approximate matching parameter struct. */
typedef struct {
int cost_ins; /* Default cost of an inserted character. */
int cost_del; /* Default cost of a deleted character. */
int cost_ins; /* Default cost of an inserted character. */
int cost_del; /* Default cost of a deleted character. */
int cost_subst; /* Default cost of a substituted character. */
int max_cost; /* Maximum allowed cost of a match. */
int max_cost; /* Maximum allowed cost of a match. */
int max_ins; /* Maximum allowed number of inserts. */
int max_del; /* Maximum allowed number of deletes. */
int max_ins; /* Maximum allowed number of inserts. */
int max_del; /* Maximum allowed number of deletes. */
int max_subst; /* Maximum allowed number of substitutes. */
int max_err; /* Maximum allowed number of errors total. */
int max_err; /* Maximum allowed number of errors total. */
} regaparams_t;
/* Approximate matching result struct. */
typedef struct {
size_t nmatch; /* Length of pmatch[] array. */
regmatch_t *pmatch; /* Submatch data. */
int cost; /* Cost of the match. */
int num_ins; /* Number of inserts in the match. */
int num_del; /* Number of deletes in the match. */
int cost; /* Cost of the match. */
int num_ins; /* Number of inserts in the match. */
int num_del; /* Number of deletes in the match. */
int num_subst; /* Number of substitutes in the match. */
} regamatch_t;
@@ -183,6 +203,45 @@ int regawnexec(const regex_t *preg, const wchar_t *string, size_t len,
void regaparams_default(regaparams_t *params);
#endif /* TRE_APPROX */
#ifdef TRE_WCHAR
typedef wchar_t tre_char_t;
#else /* !TRE_WCHAR */
typedef unsigned char tre_char_t;
#endif /* !TRE_WCHAR */
typedef struct {
int (*get_next_char)(tre_char_t *c, unsigned int *pos_add, void *context);
void (*rewind)(size_t pos, void *context);
int (*compare)(size_t pos1, size_t pos2, size_t len, void *context);
void *context;
} tre_str_source;
int reguexec(const regex_t *preg, const tre_str_source *string,
size_t nmatch, regmatch_t pmatch[], int eflags);
/* Returns the version string. The returned string is static. */
char *tre_version(void);
/* Returns the value for a config parameter. The type to which `result'
must point to depends of the value of `query', see documentation for
more details. */
int tre_config(int query, void *result);
enum {
TRE_CONFIG_APPROX,
TRE_CONFIG_WCHAR,
TRE_CONFIG_MULTIBYTE,
TRE_CONFIG_SYSTEM_ABI,
TRE_CONFIG_VERSION
};
/* Returns 1 if the compiled pattern has back references, 0 if not. */
int tre_have_backrefs(const regex_t *preg);
/* Returns 1 if the compiled pattern uses approximate matching features,
0 if not. */
int tre_have_approx(const regex_t *preg);
#ifdef __cplusplus
}
#endif
+8 -2
View File
@@ -30,7 +30,6 @@
#undef SYSSYSLOGH
#define NOINDEX
#define NOBCOPY
#define NEED_STRERROR
#define NEED_STRTOKEN
#undef NEED_STRTOK
#undef NEED_INET_ADDR
@@ -43,10 +42,17 @@
#undef POSIX_SIGNALS
#undef TIMES_2
#undef GETRUSAGE_2
#define HAVE_ALLOCA
/* vc 2005 */
#if defined(_MSC_VER) && _MSC_VER >= 1400
# define HAVE_VSNPRINTF
# define HAVE_SNPRINTF
# define snprintf _snprintf
#endif
#define SPATH "."
#define DPATH "."
#define DOMAINNAME "irc.net"
#define NO_U_TYPES
#define NEED_U_INT32_T
#define PREFIX_AQ
#define LIST_SHOW_MODES
#endif
+29 -3
View File
@@ -1,5 +1,15 @@
/* tre-config.h. This file defines all compile time definitions
that are needed in `regex.h' for Win32. */
#ifndef HAVE_ALLOCA
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
#endif
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
#define HAVE_ALLOCA_H 1
/* Define to 1 if you have the <libutf8.h> header file. */
/* #undef HAVE_LIBUTF8_H */
/* Define to 1 if the system has the type `reg_errcode_t'. */
/* #undef HAVE_REG_ERRCODE_T */
@@ -16,11 +26,27 @@
/* Define to enable multibyte character set support. */
#undef TRE_MULTIBYTE
/* Define to include the system regex.h from TRE regex.h */
/* #undef TRE_USE_SYSTEM_REGEX_H */
/* Define to the absolute path to the system regex.h */
/* #undef TRE_SYSTEM_REGEX_H_PATH */
/* Define if you want TRE to use alloca() instead of malloc() when allocating
memory needed for regexec operations. */
#define TRE_USE_ALLOCA 1
/* Define to include the system regex.h from TRE regex.h */
/* #undef TRE_USE_SYSTEM_REGEX_H */
/* Define to enable wide character (wchar_t) support. */
#undef TRE_WCHAR
/* TRE version string. */
#define TRE_VERSION "0.7.2"
/* TRE version level 1. */
#define TRE_VERSION_1 0
/* TRE version level 2. */
#define TRE_VERSION_2 7
/* TRE version level 3. */
#define TRE_VERSION_3 2
+4 -4
View File
@@ -54,7 +54,7 @@ struct Zdata {
#endif /* ZIP_LINKS */
extern int zip_init(struct Client *, int);
extern void zip_free(struct Client *);
extern char *unzip_packet(struct Client *, char *, int *);
extern char *zip_buffer(struct Client *, char *, int *, int);
extern MODFUNC int zip_init(struct Client *, int);
extern MODFUNC void zip_free(struct Client *);
extern MODFUNC char *unzip_packet(struct Client *, char *, int *);
extern MODFUNC char *zip_buffer(struct Client *, char *, int *, int);
+1 -1
View File
@@ -22,7 +22,7 @@
# These values shouldn't need to be changed
# The path to the ircd binary
ircdexe="@BINDIR@"
ircdexe="@BINDIR@/ircd"
# The path to the ircd pid file
ircdname="@IRCDDIR@/ircd.pid"
+3 -8
View File
@@ -1,6 +1,6 @@
/*
* IRC - Internet Relay Chat, src/modules/%FILE%
* (C) 2004 The UnrealIRCd Team
* (C) 2005 The UnrealIRCd Team
*
* See file AUTHORS in IRC package for additional names of
* the programmers.
@@ -44,7 +44,7 @@
#include "version.h"
#endif
DLLFUNC int m_%COMMAND%(aClient *cptr, aClient *sptr, int parc, char *parv[]);
DLLFUNC CMD_FUNC(m_%COMMAND%);
#define MSG_%UCOMMAND% "%UCOMMAND%"
#define TOK_%UCOMMAND% "%TOKEN%"
@@ -60,7 +60,7 @@ ModuleHeader MOD_HEADER(m_%COMMAND%)
DLLFUNC int MOD_INIT(m_%COMMAND%)(ModuleInfo *modinfo)
{
add_Command(MSG_%UCOMMAND%, TOK_%UCOMMAND%, m_%COMMAND%, %MAXPARA%);
CommandAdd(modinfo->handle, MSG_%UCOMMAND%, TOK_%UCOMMAND%, m_%COMMAND%, %MAXPARA%, M_USER|M_SERVER);
MARK_AS_OFFICIAL_MODULE(modinfo);
return MOD_SUCCESS;
}
@@ -72,11 +72,6 @@ DLLFUNC int MOD_LOAD(m_%COMMAND%)(int module_load)
DLLFUNC int MOD_UNLOAD(m_%COMMAND%)(int module_unload)
{
if (del_Command(MSG_%UCOMMAND%, TOK_%UCOMMAND%, m_%COMMAND%) < 0)
{
sendto_realops("Failed to delete commands when unloading %s",
MOD_HEADER(m_%COMMAND%).name);
}
return MOD_SUCCESS;
}
+49 -27
View File
@@ -1,9 +1,9 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, src/lusers.c
* (C) Carsten Munk <stskeeps@tspre.org> 2000
/*
* IRC - Internet Relay Chat, src/modules/%FILE%
* (C) 2005 The UnrealIRCd Team
*
* See file AUTHORS in IRC package for additional names of
* the programmers.
* the programmers.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -19,14 +19,16 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
extern "C"
{
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "proto.h"
#include "channel.h"
#include "version.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
@@ -37,26 +39,46 @@
#endif
#include <fcntl.h>
#include "h.h"
ID_Copyright("(C) Carsten Munk 2000");
ircstats IRCstats;
#ifdef IRC_COMMENT
int clients; /* total */
int invisible; /* invisible */
int servers; /* servers */
int operators; /* operators */
int unknown; /* unknown local connections */
int channels; /* channels */
int me_clients; /* my clients */
int me_servers; /* my servers */
int me_max; /* local max */
int global_max; /* global max */
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
void init_ircstats(void)
{
bzero(&IRCstats, sizeof(IRCstats));
IRCstats.servers = 1;
}
extern "C" DLLFUNC CMD_FUNC(m_COMMAND);
#define MSG_UCOMMAND "UCOMMAND"
#define TOK_UCOMMAND "%%"
ModuleHeader MOD_HEADER(m_COMMAND)
= {
"m_COMMAND",
"$Id$",
"command /COMMAND",
"3.2-b8-1",
NULL
};
extern "C" DLLFUNC int MOD_INIT(m_COMMAND)(ModuleInfo *modinfo)
{
CommandAdd(modinfo->handle, MSG_UCOMMAND, TOK_UCOMMAND, m_COMMAND, MAXPARA, M_USER|M_SERVER);
MARK_AS_OFFICIAL_MODULE(modinfo);
return MOD_SUCCESS;
}
extern "C" DLLFUNC int MOD_LOAD(m_COMMAND)(int module_load)
{
return MOD_SUCCESS;
}
extern "C" DLLFUNC int MOD_UNLOAD(m_COMMAND)(int module_unload)
{
return MOD_SUCCESS;
}
extern "C" DLLFUNC CMD_FUNC(m_COMMAND)
{
return 0;
}
+479 -345
View File
@@ -54,11 +54,19 @@ RC=rc
#
######### END SSL ########
###### RELEASE BUILD #####
#To make a release build comment out the next line a release build
#does not contain debugging symbols and can not be used to locate
#the source of a crash or bug
DEBUG=1
###### _EXTRA_ DEBUGGING #####
# We always build releases with debugging information, since otherwise
# we cannot trace the source of a crash. Plus we do not mind the extra
# performance hit caused by not enabling super-optimization, tracing
# crashes properly is more important.
# You can choose (at your own risk) to enable EVEN MORE debugging,
# note that this causes /MDd to be used instead of /MD which can make
# libraries incompatible, plus all the other side-effects such as
# requiring a different dll we do not ship (and maybe you are not even
# allowed to ship due to license agreements), etc...
# In any case, this probably should not be used, unless debugging a
# problem locally, in which case it can be useful.
#DEBUGEXTRA=1
#
#
#### END RELEASE BUILD ###
@@ -100,74 +108,138 @@ OPENSSL_LIB=/LIBPATH:"$(OPENSSL_LIB_DIR)"
!ENDIF
!ENDIF
!IFDEF DEBUG
DBGCFLAG=/MTd /Zi
DBGLFLAG=/debug /debugtype:BOTH
!IFDEF DEBUGEXTRA
DBGCFLAG=/MDd /Zi /Od
DBGLFLAG=/debug
MODDBGCFLAG=/LDd /MDd /Zi
!ELSE
DBGCFLAG=/MT /O2 /G5
DBGCFLAG=/MD /Zi
DBGLFLAG=/debug
MODDBGCFLAG=/LDd /MD /Zi
!ENDIF
FD_SETSIZE=/D FD_SETSIZE=16384
CFLAGS=$(DBGCFLAG) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /I ./INCLUDE /Fosrc/ /nologo \
$(ZIPCFLAGS) $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D STATIC_LINKING \
/D NOSPOOF=1 /c
CFLAGS=$(DBGCFLAG) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /J /I ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo \
$(ZIPCFLAGS) $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T
LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib advapi32.lib \
dbghelp.lib oldnames.lib libcmt.lib comctl32.lib comdlg32.lib $(ZLIB_LIB) $(ZIPLIB) \
$(OPENSSL_LIB) $(SSLLIBS) $(LIBCURL_LIB) $(CURLLIB) /nodefaultlib /nologo $(DBGLFLAG) \
/out:WIRCD.EXE
dbghelp.lib oldnames.lib comctl32.lib comdlg32.lib $(ZLIB_LIB) $(ZIPLIB) \
$(OPENSSL_LIB) $(SSLLIBS) $(LIBCURL_LIB) $(CURLLIB) /def:wircd.def /implib:wircd.lib \
/nologo $(DBGLFLAG) /out:WIRCD.EXE
MODCFLAGS=$(MODDBGCFLAG) $(SSLCFLAGS) $(ZIPCFLAGS) $(CURLCFLAGS) /J /Fesrc/modules/ \
/Fosrc/modules/ /nologo $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /I ./INCLUDE /D \
DYNAMIC_LINKING /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T
MODLFLAGS=/link /def:src/modules/module.def wircd.lib $(OPENSSL_LIB) $(SSLLIBS) \
$(ZLIB_LIB) $(ZIPLIB) $(LIBCURL_LIB) $(CURLLIB)
INCLUDES=./include/struct.h ./include/config.h ./include/sys.h \
./include/common.h ./include/version.h ./include/h.h ./include/numeric.h \
./include/msg.h ./include/setup.h ./include/dynconf.h
OBJ_FILES=SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ \
EXP_OBJ_FILES=SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ \
SRC/S_CONF.OBJ SRC/FDLIST.OBJ SRC/DBUF.OBJ \
SRC/CLOAK.OBJ SRC/HASH.OBJ SRC/PARSE.OBJ SRC/IRCD.OBJ \
SRC/S_NUMERIC.OBJ SRC/WHOWAS.OBJ SRC/S_AUTH.OBJ \
SRC/HELP.OBJ SRC/S_MISC.OBJ SRC/MATCH.OBJ SRC/CRULE.OBJ \
SRC/S_DEBUG.OBJ SRC/SUPPORT.OBJ SRC/LIST.OBJ \
SRC/S_ERR.OBJ SRC/PACKET.OBJ SRC/S_BSD.OBJ \
SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/WIN32GUI.OBJ \
SRC/VERSION.OBJ SRC/RES_INIT.OBJ SRC/RES_COMP.OBJ SRC/RES_MKQUERY.OBJ SRC/RES_SKIPNAME.OBJ \
SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ SRC/LUSERS.OBJ \
SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/BADWORDS.OBJ SRC/WEBTV.OBJ SRC/RES.OBJ SRC/MODULES.OBJ \
SRC/S_SERV.OBJ SRC/S_USER.OBJ SRC/CHARSYS.OBJ \
SRC/VERSION.OBJ SRC/S_KLINE.OBJ SRC/S_EXTRA.OBJ SRC/IRCSPRINTF.OBJ \
SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/RES.OBJ SRC/MODULES.OBJ \
SRC/S_SVS.OBJ SRC/EVENTS.OBJ SRC/UMODES.OBJ SRC/AUTH.OBJ SRC/CIDR.OBJ SRC/SSL.OBJ \
SRC/SERVICE.OBJ SRC/DEBUG.OBJ SRC/RANDOM.OBJ SRC/EXTCMODES.OBJ \
SRC/EXTBANS.OBJ $(ZIPOBJ) $(CURLOBJ)
SRC/RANDOM.OBJ SRC/EXTCMODES.OBJ SRC/MD5.OBJ SRC/API-ISUPPORT.OBJ SRC/API-COMMAND.OBJ \
SRC/EXTBANS.OBJ SRC/TIMESYNCH.OBJ $(ZIPOBJ) $(CURLOBJ)
MOD_FILES=SRC/L_COMMANDS.OBJ SRC/M_CHGHOST.OBJ SRC/M_SDESC.OBJ SRC/M_SETIDENT.OBJ \
SRC/M_SETNAME.OBJ SRC/M_SETHOST.OBJ SRC/M_CHGIDENT.OBJ SRC/M_SVSMOTD.OBJ \
SRC/M_SVSNLINE.OBJ SRC/M_WHO.OBJ SRC/M_SWHOIS.OBJ SRC/M_SVSMODE.OBJ \
SRC/M_AWAY.OBJ SRC/M_SVSNOOP.OBJ SRC/M_MKPASSWD.OBJ SRC/M_SVSO.OBJ SRC/M_SVSNICK.OBJ \
SRC/M_ADMINCHAT.OBJ SRC/M_AKILL.OBJ SRC/M_CHGNAME.OBJ SRC/M_GUEST.OBJ SRC/M_HTM.OBJ \
SRC/M_LAG.OBJ SRC/M_MESSAGE.OBJ SRC/M_NACHAT.OBJ SRC/M_OPER.OBJ \
SRC/M_PINGPONG.OBJ SRC/M_QUIT.OBJ SRC/M_RAKILL.OBJ SRC/M_RPING.OBJ SRC/M_SENDUMODE.OBJ \
SRC/M_SQLINE.OBJ SRC/M_KILL.OBJ SRC/M_TSCTL.OBJ SRC/M_UNKLINE.OBJ \
SRC/M_UNSQLINE.OBJ SRC/M_UNZLINE.OBJ SRC/M_WHOIS.OBJ \
SRC/M_TKL.OBJ SRC/M_VHOST.OBJ \
SRC/M_CYCLE.OBJ SRC/M_SVSJOIN.OBJ SRC/M_SVSPART.OBJ SRC/M_SVSLUSERS.OBJ \
SRC/M_SVSWATCH.OBJ SRC/M_SVSSILENCE.OBJ SRC/M_SENDSNO.OBJ SRC/M_SVSSNO.OBJ \
SRC/M_SAJOIN.OBJ SRC/M_SAPART.OBJ SRC/M_SAMODE.OBJ SRC/M_KICK.OBJ SRC/M_TOPIC.OBJ \
SRC/M_INVITE.OBJ SRC/M_LIST.OBJ SRC/M_TIME.OBJ SRC/M_SVSKILL.OBJ SRC/M_KNOCK.OBJ \
SRC/M_UMODE2.OBJ SRC/M_SQUIT.OBJ SRC/M_PROTOCTL.OBJ SRC/M_SJOIN.OBJ SRC/M_PASS.OBJ \
SRC/M_USERHOST.OBJ SRC/M_ISON.OBJ SRC/M_SILENCE.OBJ SRC/M_ADDLINE.OBJ SRC/M_ADDMOTD.OBJ \
SRC/M_ADDOMOTD.OBJ SRC/M_WALLOPS.OBJ SRC/M_GLOBOPS.OBJ SRC/M_LOCOPS.OBJ SRC/M_CHATOPS.OBJ \
SRC/M_ADMIN.OBJ SRC/M_TRACE.OBJ SRC/M_NETINFO.OBJ SRC/M_LINKS.OBJ SRC/M_HELP.OBJ \
SRC/M_RULES.OBJ SRC/M_CLOSE.OBJ SRC/M_MAP.OBJ SRC/M_EOS.OBJ SRC/M_SERVER.OBJ \
SRC/M_STATS.OBJ SRC/M_SVSFLINE.OBJ SRC/M_DCCDENY.OBJ SRC/M_UNDCCDENY.OBJ \
SRC/M_WHOWAS.OBJ SRC/M_CONNECT.OBJ
OBJ_FILES=$(EXP_OBJ_FILES) SRC/GUI.OBJ SRC/SERVICE.OBJ SRC/DEBUG.OBJ SRC/RTF.OBJ \
SRC/EDITOR.OBJ SRC/WIN32.OBJ
ALL: CONF UNREAL.EXE WIRCD.EXE
MOD_FILES=SRC/MODULES/L_COMMANDS.C SRC/MODULES/M_CHGHOST.C SRC/MODULES/M_SDESC.C \
SRC/MODULES/M_SETIDENT.C SRC/MODULES/M_SETNAME.C SRC/MODULES/M_SETHOST.C \
SRC/MODULES/M_CHGIDENT.C SRC/MODULES/M_SVSMOTD.C SRC/MODULES/M_SVSNLINE.C \
SRC/MODULES/M_WHO.C SRC/MODULES/M_SWHOIS.C SRC/MODULES/M_SVSMODE.C SRC/MODULES/M_AWAY.C \
SRC/MODULES/M_SVSNOOP.C SRC/MODULES/M_MKPASSWD.C SRC/MODULES/M_SVSO.C \
SRC/MODULES/M_SVSNICK.C SRC/MODULES/M_ADMINCHAT.C SRC/MODULES/M_AKILL.C \
SRC/MODULES/M_CHGNAME.C SRC/MODULES/M_GUEST.C SRC/MODULES/M_HTM.C SRC/MODULES/M_LAG.C \
SRC/MODULES/M_MESSAGE.C SRC/MODULES/WEBTV.C SRC/MODULES/M_NACHAT.C SRC/MODULES/M_OPER.C \
SRC/MODULES/M_PINGPONG.C SRC/MODULES/M_QUIT.C SRC/MODULES/M_RAKILL.C SRC/MODULES/M_RPING.C \
SRC/MODULES/M_SENDUMODE.C SRC/MODULES/M_SQLINE.C SRC/MODULES/M_KILL.C \
SRC/MODULES/M_TSCTL.C SRC/MODULES/M_UNKLINE.C SRC/MODULES/M_UNSQLINE.C \
SRC/MODULES/M_UNZLINE.C SRC/MODULES/M_WHOIS.C SRC/MODULES/M_TKL.C SRC/MODULES/M_VHOST.C \
SRC/MODULES/M_CYCLE.C SRC/MODULES/M_SVSJOIN.C SRC/MODULES/M_SVSPART.C \
SRC/MODULES/M_SVSLUSERS.C SRC/MODULES/M_SVSWATCH.C SRC/MODULES/M_SVSSILENCE.C \
SRC/MODULES/M_SENDSNO.C SRC/MODULES/M_SVSSNO.C SRC/MODULES/M_SAJOIN.C \
SRC/MODULES/M_SAPART.C SRC/MODULES/M_SAMODE.C SRC/MODULES/M_KICK.C SRC/MODULES/M_TOPIC.C \
SRC/MODULES/M_INVITE.C SRC/MODULES/M_LIST.C SRC/MODULES/M_TIME.C SRC/MODULES/M_SVSKILL.C \
SRC/MODULES/M_KNOCK.C SRC/MODULES/M_UMODE2.C SRC/MODULES/M_SQUIT.C \
SRC/MODULES/M_PROTOCTL.C SRC/MODULES/M_SJOIN.C SRC/MODULES/M_PASS.C \
SRC/MODULES/M_USERHOST.C SRC/MODULES/M_ISON.C SRC/MODULES/M_SILENCE.C \
SRC/MODULES/M_ADDMOTD.C SRC/MODULES/M_ADDOMOTD.C \
SRC/MODULES/M_WALLOPS.C SRC/MODULES/M_GLOBOPS.C SRC/MODULES/M_LOCOPS.C \
SRC/MODULES/M_CHATOPS.C SRC/MODULES/M_ADMIN.C SRC/MODULES/M_TRACE.C \
SRC/MODULES/M_NETINFO.C SRC/MODULES/M_LINKS.C SRC/MODULES/M_HELP.C \
SRC/MODULES/M_RULES.C SRC/MODULES/M_CLOSE.C SRC/MODULES/M_MAP.C SRC/MODULES/M_EOS.C \
SRC/MODULES/M_SERVER.C SRC/MODULES/M_STATS.C SRC/MODULES/M_SVSFLINE.C \
SRC/MODULES/M_DCCDENY.C SRC/MODULES/M_UNDCCDENY.C SRC/MODULES/M_WHOWAS.C \
SRC/MODULES/M_CONNECT.C SRC/MODULES/M_DCCALLOW.C SRC/MODULES/M_USERIP.C \
SRC/MODULES/M_NICK.C SRC/MODULES/M_USER.C SRC/MODULES/M_MODE.C \
SRC/MODULES/M_WATCH.C SRC/MODULES/M_PART.C SRC/MODULES/M_JOIN.C \
SRC/MODULES/M_MOTD.C SRC/MODULES/M_OPERMOTD.C SRC/MODULES/M_BOTMOTD.C \
SRC/MODULES/M_LUSERS.C SRC/MODULES/M_NAMES.C SRC/MODULES/M_SVSNOLAG.C
DLL_FILES=SRC/MODULES/M_CHGHOST.DLL SRC/MODULES/M_SDESC.DLL SRC/MODULES/M_SETIDENT.DLL \
SRC/MODULES/M_SETNAME.DLL SRC/MODULES/M_SETHOST.DLL SRC/MODULES/M_CHGIDENT.DLL \
SRC/MODULES/M_SVSMOTD.DLL SRC/MODULES/M_SVSNLINE.DLL SRC/MODULES/M_WHO.DLL \
SRC/MODULES/M_SWHOIS.DLL SRC/MODULES/M_SVSMODE.DLL SRC/MODULES/M_AWAY.DLL \
SRC/MODULES/M_SVSNOOP.DLL SRC/MODULES/M_MKPASSWD.DLL SRC/MODULES/M_SVSO.DLL \
SRC/MODULES/M_SVSNICK.DLL SRC/MODULES/M_ADMINCHAT.DLL SRC/MODULES/M_AKILL.DLL \
SRC/MODULES/M_CHGNAME.DLL SRC/MODULES/M_GUEST.DLL SRC/MODULES/M_HTM.DLL \
SRC/MODULES/M_LAG.DLL SRC/MODULES/M_MESSAGE.DLL SRC/MODULES/M_NACHAT.DLL \
SRC/MODULES/M_OPER.DLL SRC/MODULES/M_PINGPONG.DLL SRC/MODULES/M_QUIT.DLL \
SRC/MODULES/M_RAKILL.DLL SRC/MODULES/M_RPING.DLL SRC/MODULES/M_SENDUMODE.DLL \
SRC/MODULES/M_SQLINE.DLL SRC/MODULES/M_KILL.DLL SRC/MODULES/M_TSCTL.DLL \
SRC/MODULES/M_UNKLINE.DLL SRC/MODULES/M_UNSQLINE.DLL SRC/MODULES/M_UNZLINE.DLL \
SRC/MODULES/M_WHOIS.DLL SRC/MODULES/M_TKL.DLL SRC/MODULES/M_VHOST.DLL \
SRC/MODULES/M_CYCLE.DLL SRC/MODULES/M_SVSJOIN.DLL SRC/MODULES/M_SVSPART.DLL \
SRC/MODULES/M_SVSLUSERS.DLL SRC/MODULES/M_SVSWATCH.DLL SRC/MODULES/M_SVSSILENCE.DLL \
SRC/MODULES/M_SENDSNO.DLL SRC/MODULES/M_SVSSNO.DLL SRC/MODULES/M_SAJOIN.DLL \
SRC/MODULES/M_SAPART.DLL SRC/MODULES/M_SAMODE.DLL SRC/MODULES/M_KICK.DLL \
SRC/MODULES/M_TOPIC.DLL SRC/MODULES/M_INVITE.DLL SRC/MODULES/M_LIST.DLL \
SRC/MODULES/M_TIME.DLL SRC/MODULES/M_SVSKILL.DLL SRC/MODULES/M_KNOCK.DLL \
SRC/MODULES/M_UMODE2.DLL SRC/MODULES/M_SQUIT.DLL SRC/MODULES/M_PROTOCTL.DLL \
SRC/MODULES/M_SJOIN.DLL SRC/MODULES/M_PASS.DLL SRC/MODULES/M_USERHOST.DLL \
SRC/MODULES/M_ISON.DLL SRC/MODULES/M_SILENCE.DLL \
SRC/MODULES/M_ADDMOTD.DLL SRC/MODULES/M_ADDOMOTD.DLL SRC/MODULES/M_WALLOPS.DLL \
SRC/MODULES/M_GLOBOPS.DLL SRC/MODULES/M_LOCOPS.DLL SRC/MODULES/M_CHATOPS.DLL \
SRC/MODULES/M_ADMIN.DLL SRC/MODULES/M_TRACE.DLL SRC/MODULES/M_NETINFO.DLL \
SRC/MODULES/M_LINKS.DLL SRC/MODULES/M_HELP.DLL SRC/MODULES/M_RULES.DLL \
SRC/MODULES/M_CLOSE.DLL SRC/MODULES/M_MAP.DLL SRC/MODULES/M_EOS.DLL \
SRC/MODULES/M_SERVER.DLL SRC/MODULES/M_STATS.DLL SRC/MODULES/M_SVSFLINE.DLL \
SRC/MODULES/M_DCCDENY.DLL SRC/MODULES/M_UNDCCDENY.DLL SRC/MODULES/M_WHOWAS.DLL \
SRC/MODULES/M_CONNECT.DLL SRC/MODULES/M_DCCALLOW.DLL SRC/MODULES/M_USERIP.DLL \
SRC/MODULES/M_NICK.DLL SRC/MODULES/M_USER.DLL SRC/MODULES/M_MODE.DLL \
SRC/MODULES/M_WATCH.DLL SRC/MODULES/M_PART.DLL SRC/MODULES/M_JOIN.DLL \
SRC/MODULES/M_MOTD.DLL SRC/MODULES/M_OPERMOTD.DLL SRC/MODULES/M_BOTMOTD.DLL \
SRC/MODULES/M_LUSERS.DLL SRC/MODULES/M_NAMES.DLL SRC/MODULES/M_SVSNOLAG.DLL \
SRC/MODULES/CLOAK.DLL
ALL: CONF UNREAL.EXE WIRCD.EXE src/modules/commands.dll MODULES
CLEAN:
-@erase src\*.obj >NUL
-@erase src\win32.res >NUL
-@erase src\version.c >NUL
-@erase src\win32\*.obj >NUL
-@erase src\modules\*.obj >NUL
-@erase src\modules\*.dll >NUL
-@erase .\*.exe >NUL
-@erase wircd.lib >NUL
-@erase src\modules\*.exp >NUL
-@erase src\modules\*.lib >NUL
-@erase src\modules\*.pdb >NUL
-@erase src\modules\*.ilk >NUL
./UNREAL.EXE: SRC/UNREAL.OBJ SRC/WIN32/UNREAL.RES
$(LINK) advapi32.lib src/unreal.obj src/win32/unreal.res
$(LINK) $(DBGLFLAG) advapi32.lib src/unreal.obj src/win32/unreal.res
CONF:
-@copy include\win32\setup.h include\setup.h >NUL
@@ -176,27 +248,23 @@ CONF:
./WIRCD.EXE: $(OBJ_FILES) $(MOD_FILES) SRC/win32/WIN32.RES
$(LINK) $(LFLAGS) $(OBJ_FILES) $(MOD_FILES) SRC/win32/WIN32.RES SRC/WIN32/TRE.LIB /MAPINFO:LINES /MAP
./WIRCD.EXE: $(OBJ_FILES) SRC/win32/WIN32.RES
$(LINK) $(LFLAGS) $(OBJ_FILES) SRC/win32/WIN32.RES SRC/WIN32/TRE.LIB SRC/WIN32/ARESLIB.LIB /MAPINFO:LINES /MAP
-@erase src\win32\win32.res
!IFNDEF DEBUG
@echo Non Debug version built
!IFNDEF DEBUGEXTRA
@echo Standard version built
!ELSE
@echo Debug version built ...
@echo Extra-Debug version built ...
!ENDIF
#Source files
src/version.obj: src/version.c
$(CC) $(CFLAGS) src/version.c
src/parse.obj: src/parse.c $(INCLUDES)
$(CC) $(CFLAGS) src/parse.c
src/badwords.obj: src/badwords.c $(INCLUDES)
$(CC) $(CFLAGS) src/badwords.c
src/webtv.obj: src/webtv.c $(INCLUDES)
$(CC) $(CFLAGS) src/webtv.c
src/socket.obj: src/socket.c $(INCLUDES)
$(CC) $(CFLAGS) src/socket.c
@@ -228,12 +296,6 @@ src/support.obj: src/support.c $(INCLUDES)
src/channel.obj: src/channel.c $(INCLUDES) ./include/channel.h
$(CC) $(CFLAGS) src/channel.c
src/class.obj: src/class.c $(INCLUDES) ./include/class.h
$(CC) $(CFLAGS) src/class.c
src/lusers.obj: src/lusers.c $(INCLUDES)
$(CC) $(CFLAGS) src/lusers.c
src/aln.obj: src/aln.c $(INCLUDES)
$(CC) $(CFLAGS) src/aln.c
@@ -246,11 +308,8 @@ src/list.obj: src/list.c $(INCLUDES)
src/res.obj: src/res.c $(INCLUDES)
$(CC) $(CFLAGS) src/res.c
src/res_mkquery.obj: src/res_mkquery.c $(INCLUDES)
$(CC) $(CFLAGS) src/res_mkquery.c
src/res_skipname.obj: src/res_skipname.c $(INCLUDES)
$(CC) $(CFLAGS) src/res_skipname.c
src/timesynch.obj: src/timesynch.c $(INCLUDES)
$(CC) $(CFLAGS) src/timesynch.c
src/s_bsd.obj: src/s_bsd.c $(INCLUDES)
$(CC) $(CFLAGS) src/s_bsd.c
@@ -286,6 +345,10 @@ src/s_user.obj: src/s_user.c $(INCLUDES) ./include/dbuf.h \
./include/channel.h ./include/whowas.h
$(CC) $(CFLAGS) src/s_user.c
src/charsys.obj: src/charsys.c $(INCLUDES) ./include/dbuf.h \
./include/channel.h ./include/whowas.h
$(CC) $(CFLAGS) src/charsys.c
src/s_extra.obj: src/s_extra.c $(INCLUDES) ./include/dbuf.h \
./include/channel.h ./include/whowas.h
$(CC) $(CFLAGS) src/s_extra.c
@@ -305,32 +368,35 @@ src/hash.obj: src/hash.c $(INCLUDES) ./include/hash.h
src/crule.obj: src/crule.c $(INCLUDES)
$(CC) $(CFLAGS) src/crule.c
src/win32gui.obj: src/win32/win32gui.c $(INCLUDES) ./include/resource.h
$(CC) $(CFLAGS) src/win32/win32gui.c
src/gui.obj: src/win32/gui.c $(INCLUDES) ./include/resource.h
$(CC) $(CFLAGS) src/win32/gui.c
src/rtf.obj: src/win32/rtf.c $(INCLUDES) ./src/win32/win32.h
$(CC) $(CFLAGS) src/win32/rtf.c
src/editor.obj: src/win32/editor.c $(INCLUDES) ./include/resource.h ./src/win32/win32.h
$(CC) $(CFLAGS) src/win32/editor.c
src/service.obj: src/win32/service.c $(INCLUDES)
$(CC) $(CFLAGS) src/win32/service.c
src/unreal.obj: src/win32/unreal.c $(INCLUDES)
$(CC) $(CFLAGS) src/win32/unreal.c
src/debug.obj: src/win32/debug.c $(INCLUDES)
$(CC) $(CFLAGS) src/win32/debug.c
src/res_comp.obj: src/res_comp.c $(INCLUDES)
$(CC) $(CFLAGS) src/res_comp.c
src/win32.obj: src/win32/win32.c $(INCLUDES)
$(CC) $(CFLAGS) src/win32/win32.c
src/res_init.obj: src/res_init.c $(INCLUDES)
$(CC) $(CFLAGS) src/res_init.c
src/unreal.obj: src/win32/unreal.c $(INCLUDES)
$(CC) $(CFLAGS) src/win32/unreal.c
src/help.obj: src/help.c $(INCLUDES)
$(CC) $(CFLAGS) src/help.c
src/modules.obj: src/modules.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules.c
$(CC) $(CFLAGS) src/modules.c
src/events.obj: src/events.c $(INCLUDES)
$(CC) $(CFLAGS) src/events.c
$(CC) $(CFLAGS) src/events.c
src/umodes.obj: src/umodes.c $(INCLUDES)
$(CC) $(CFLAGS) src/umodes.c
@@ -347,285 +413,27 @@ src/random.obj: src/random.c $(INCLUDES)
src/extcmodes.obj: src/extcmodes.c $(INCLUDES)
$(CC) $(CFLAGS) src/extcmodes.c
src/md5.obj: src/md5.c $(INCLUDES)
$(CC) $(CFLAGS) src/md5.c
src/url.obj: src/url.c $(INCLUDES) ./include/url.h
$(CC) $(CFLAGS) src/url.c
src/extbans.obj: src/extbans.c $(INCLUDES)
$(CC) $(CFLAGS) src/extbans.c
src/api-isupport.obj: src/api-isupport.c $(INCLUDES)
$(CC) $(CFLAGS) src/api-isupport.c
src/api-command.obj: src/api-command.c $(INCLUDES)
$(CC) $(CFLAGS) src/api-command.c
src/zip.obj: src/zip.c $(INCLUDES)
$(CC) $(CFLAGS) src/zip.c
src/ssl.obj: src/ssl.c $(INCLUDES)
$(CC) $(CFLAGS) src/ssl.c
src/l_commands.obj: src/modules/l_commands.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/l_commands.c
src/m_chghost.obj: src/modules/m_chghost.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_chghost.c
src/m_chgident.obj: src/modules/m_chgident.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_chgident.c
src/m_sdesc.obj: src/modules/m_sdesc.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sdesc.c
src/m_sethost.obj: src/modules/m_sethost.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sethost.c
src/m_setident.obj: src/modules/m_setident.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_setident.c
src/m_setname.obj: src/modules/m_setname.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_setname.c
src/m_svsmotd.obj: src/modules/m_svsmotd.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsmotd.c
src/m_svsmode.obj: src/modules/m_svsmode.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsmode.c
src/m_tkl.obj: src/modules/m_tkl.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_tkl.c
src/m_swhois.obj: src/modules/m_swhois.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_swhois.c
src/m_svsnline.obj: src/modules/m_svsnline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsnline.c
src/m_who.obj: src/modules/m_who.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_who.c
src/m_away.obj: src/modules/m_away.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_away.c
src/m_mkpasswd.obj: src/modules/m_mkpasswd.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_mkpasswd.c
src/m_svsnoop.obj: src/modules/m_svsnoop.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsnoop.c
src/m_svso.obj: src/modules/m_svso.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svso.c
src/m_svsnick.obj: src/modules/m_svsnick.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsnick.c
src/m_adminchat.obj: src/modules/m_adminchat.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_adminchat.c
src/m_akill.obj: src/modules/m_akill.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_akill.c
src/m_chgname.obj: src/modules/m_chgname.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_chgname.c
src/m_guest.obj: src/modules/m_guest.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_guest.c
src/m_htm.obj: src/modules/m_htm.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_htm.c
src/m_kill.obj: src/modules/m_kill.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_kill.c
src/m_lag.obj: src/modules/m_lag.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_lag.c
src/m_message.obj: src/modules/m_message.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_message.c
src/m_nachat.obj: src/modules/m_nachat.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_nachat.c
src/m_oper.obj: src/modules/m_oper.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_oper.c
src/m_pingpong.obj: src/modules/m_pingpong.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_pingpong.c
src/m_quit.obj: src/modules/m_quit.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_quit.c
src/m_rakill.obj: src/modules/m_rakill.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_rakill.c
src/m_rping.obj: src/modules/m_rping.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_rping.c
src/m_sendumode.obj: src/modules/m_sendumode.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sendumode.c
src/m_sqline.obj: src/modules/m_sqline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sqline.c
src/m_tsctl.obj: src/modules/m_tsctl.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_tsctl.c
src/m_unkline.obj: src/modules/m_unkline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_unkline.c
src/m_unsqline.obj: src/modules/m_unsqline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_unsqline.c
src/m_unzline.obj: src/modules/m_unzline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_unzline.c
src/m_whois.obj: src/modules/m_whois.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_whois.c
src/m_vhost.obj: src/modules/m_vhost.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_vhost.c
src/m_cycle.obj: src/modules/m_cycle.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_cycle.c
src/m_svsjoin.obj: src/modules/m_svsjoin.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsjoin.c
src/m_svspart.obj: src/modules/m_svspart.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svspart.c
src/m_svslusers.obj: src/modules/m_svslusers.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svslusers.c
src/m_svswatch.obj: src/modules/m_svswatch.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svswatch.c
src/m_svssilence.obj: src/modules/m_svssilence.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svssilence.c
src/m_sendsno.obj: src/modules/m_sendsno.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sendsno.c
src/m_svssno.obj: src/modules/m_svssno.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svssno.c
src/m_sajoin.obj: src/modules/m_sajoin.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sajoin.c
src/m_sapart.obj: src/modules/m_sapart.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sapart.c
src/m_samode.obj: src/modules/m_samode.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_samode.c
src/m_kick.obj: src/modules/m_kick.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_kick.c
src/m_topic.obj: src/modules/m_topic.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_topic.c
src/m_invite.obj: src/modules/m_invite.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_invite.c
src/m_list.obj: src/modules/m_list.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_list.c
src/m_time.obj: src/modules/m_time.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_time.c
src/m_svskill.obj: src/modules/m_svskill.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svskill.c
src/m_sjoin.obj: src/modules/m_sjoin.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_sjoin.c
src/m_pass.obj: src/modules/m_pass.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_pass.c
src/m_userhost.obj: src/modules/m_userhost.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_userhost.c
src/m_ison.obj: src/modules/m_ison.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_ison.c
src/m_silence.obj: src/modules/m_silence.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_silence.c
src/m_knock.obj: src/modules/m_knock.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_knock.c
src/m_umode2.obj: src/modules/m_umode2.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_umode2.c
src/m_squit.obj: src/modules/m_squit.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_squit.c
src/m_protoctl.obj: src/modules/m_protoctl.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_protoctl.c
src/m_addline.obj: src/modules/m_addline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_addline.c
src/m_addmotd.obj: src/modules/m_addmotd.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_addmotd.c
src/m_addomotd.obj: src/modules/m_addomotd.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_addomotd.c
src/m_wallops.obj: src/modules/m_wallops.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_wallops.c
src/m_admin.obj: src/modules/m_admin.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_admin.c
src/m_globops.obj: src/modules/m_globops.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_globops.c
src/m_locops.obj: src/modules/m_locops.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_locops.c
src/m_chatops.obj: src/modules/m_chatops.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_chatops.c
src/m_trace.obj: src/modules/m_trace.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_trace.c
src/m_netinfo.obj: src/modules/m_netinfo.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_netinfo.c
src/m_links.obj: src/modules/m_links.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_links.c
src/m_help.obj: src/modules/m_help.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_help.c
src/m_rules.obj: src/modules/m_rules.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_rules.c
src/m_close.obj: src/modules/m_close.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_close.c
src/m_map.obj: src/modules/m_map.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_map.c
src/m_eos.obj: src/modules/m_eos.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_eos.c
src/m_server.obj: src/modules/m_server.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_server.c
src/m_stats.obj: src/modules/m_stats.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_stats.c
src/m_svsfline.obj: src/modules/m_svsfline.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_svsfline.c
src/m_dccdeny.obj: src/modules/m_dccdeny.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_dccdeny.c
src/m_undccdeny.obj: src/modules/m_undccdeny.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_undccdeny.c
src/m_whowas.obj: src/modules/m_whowas.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_whowas.c
src/m_connect.obj: src/modules/m_connect.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/m_connect.c
src/win32/win32.res: src/win32/win32gui.rc
$(RC) /l 0x409 /fosrc/win32/win32.res /i ./include /i ./src \
/d NDEBUG src/win32/win32gui.rc
@@ -634,6 +442,332 @@ src/win32/unreal.res: src/win32/unreal.rc
$(RC) /l 0x409 /fosrc/win32/unreal.res /i ./include /i ./src \
/d NDEBUG src/win32/unreal.rc
################# Modules #################
CUSTOMMODULE: src/modules/$(MODULEFILE).c
$(CC) $(MODCFLAGS) src/modules/$(MODULEFILE).c $(MODLFLAGS) \
/OUT:src/modules/$(MODULEFILE).dll $(EXLIBS)
SYMBOLFILE:
$(CC) src/win32/def-clean.c
dlltool --output-def wircd.def.in --export-all-symbols $(EXP_OBJ_FILES)
def-clean wircd.def.in wircd.def
MODULES: $(DLL_FILES)
src/modules/commands.dll: $(MOD_FILES) $(INCLUDES)
$(CC) $(MODDBGCFLAG) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /nologo \
$(SSLCFLAGS) $(ZIPCFLAGS) $(CURLCFLAGS) /Fosrc/modules/ \
/I ./INCLUDE /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE \
/D _USE_32BIT_TIME_T $(MOD_FILES) \
$(MODLFLAGS) src/win32/tre.lib /OUT:src/modules/commands.dll
src/modules/m_chghost.dll: src/modules/m_chghost.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_chghost.c $(MODLFLAGS)
src/modules/m_chgident.dll: src/modules/m_chgident.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_chgident.c $(MODLFLAGS)
src/modules/m_sdesc.dll: src/modules/m_sdesc.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sdesc.c $(MODLFLAGS)
src/modules/m_sethost.dll: src/modules/m_sethost.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sethost.c $(MODLFLAGS)
src/modules/m_setident.dll: src/modules/m_setident.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_setident.c $(MODLFLAGS)
src/modules/m_setname.dll: src/modules/m_setname.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_setname.c $(MODLFLAGS)
src/modules/m_svsmotd.dll: src/modules/m_svsmotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsmotd.c $(MODLFLAGS)
src/modules/m_svsmode.dll: src/modules/m_svsmode.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsmode.c $(MODLFLAGS)
src/modules/m_tkl.dll: src/modules/m_tkl.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_tkl.c $(MODLFLAGS) src/win32/tre.lib
src/modules/m_swhois.dll: src/modules/m_swhois.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_swhois.c $(MODLFLAGS)
src/modules/m_svsnline.dll: src/modules/m_svsnline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsnline.c $(MODLFLAGS)
src/modules/m_who.dll: src/modules/m_who.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_who.c $(MODLFLAGS)
src/modules/m_away.dll: src/modules/m_away.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_away.c $(MODLFLAGS)
src/modules/m_mkpasswd.dll: src/modules/m_mkpasswd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_mkpasswd.c $(MODLFLAGS)
src/modules/m_svsnoop.dll: src/modules/m_svsnoop.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsnoop.c $(MODLFLAGS)
src/modules/m_svso.dll: src/modules/m_svso.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svso.c $(MODLFLAGS)
src/modules/m_svsnick.dll: src/modules/m_svsnick.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsnick.c $(MODLFLAGS)
src/modules/m_adminchat.dll: src/modules/m_adminchat.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_adminchat.c $(MODLFLAGS)
src/modules/m_akill.dll: src/modules/m_akill.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_akill.c $(MODLFLAGS)
src/modules/m_chgname.dll: src/modules/m_chgname.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_chgname.c $(MODLFLAGS)
src/modules/m_guest.dll: src/modules/m_guest.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_guest.c $(MODLFLAGS)
src/modules/m_htm.dll: src/modules/m_htm.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_htm.c $(MODLFLAGS)
src/modules/m_kill.dll: src/modules/m_kill.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_kill.c $(MODLFLAGS)
src/modules/m_lag.dll: src/modules/m_lag.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_lag.c $(MODLFLAGS)
src/modules/m_message.dll: src/modules/m_message.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_message.c src/modules/webtv.c $(MODLFLAGS) src/win32/tre.lib
src/modules/m_nachat.dll: src/modules/m_nachat.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_nachat.c $(MODLFLAGS)
src/modules/m_oper.dll: src/modules/m_oper.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_oper.c $(MODLFLAGS)
src/modules/m_pingpong.dll: src/modules/m_pingpong.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_pingpong.c $(MODLFLAGS)
src/modules/m_quit.dll: src/modules/m_quit.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_quit.c $(MODLFLAGS)
src/modules/m_rakill.dll: src/modules/m_rakill.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_rakill.c $(MODLFLAGS)
src/modules/m_rping.dll: src/modules/m_rping.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_rping.c $(MODLFLAGS)
src/modules/m_sendumode.dll: src/modules/m_sendumode.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sendumode.c $(MODLFLAGS)
src/modules/m_sqline.dll: src/modules/m_sqline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sqline.c $(MODLFLAGS)
src/modules/m_tsctl.dll: src/modules/m_tsctl.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_tsctl.c $(MODLFLAGS)
src/modules/m_unkline.dll: src/modules/m_unkline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_unkline.c $(MODLFLAGS)
src/modules/m_unsqline.dll: src/modules/m_unsqline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_unsqline.c $(MODLFLAGS)
src/modules/m_unzline.dll: src/modules/m_unzline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_unzline.c $(MODLFLAGS)
src/modules/m_whois.dll: src/modules/m_whois.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_whois.c $(MODLFLAGS)
src/modules/m_vhost.dll: src/modules/m_vhost.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_vhost.c $(MODLFLAGS)
src/modules/m_cycle.dll: src/modules/m_cycle.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_cycle.c $(MODLFLAGS)
src/modules/m_svsjoin.dll: src/modules/m_svsjoin.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsjoin.c $(MODLFLAGS)
src/modules/m_svspart.dll: src/modules/m_svspart.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svspart.c $(MODLFLAGS)
src/modules/m_svslusers.dll: src/modules/m_svslusers.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svslusers.c $(MODLFLAGS)
src/modules/m_svswatch.dll: src/modules/m_svswatch.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svswatch.c $(MODLFLAGS)
src/modules/m_svssilence.dll: src/modules/m_svssilence.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svssilence.c $(MODLFLAGS)
src/modules/m_sendsno.dll: src/modules/m_sendsno.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sendsno.c $(MODLFLAGS)
src/modules/m_svssno.dll: src/modules/m_svssno.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svssno.c $(MODLFLAGS)
src/modules/m_sajoin.dll: src/modules/m_sajoin.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sajoin.c $(MODLFLAGS)
src/modules/m_sapart.dll: src/modules/m_sapart.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sapart.c $(MODLFLAGS)
src/modules/m_samode.dll: src/modules/m_samode.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_samode.c $(MODLFLAGS)
src/modules/m_kick.dll: src/modules/m_kick.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_kick.c $(MODLFLAGS)
src/modules/m_topic.dll: src/modules/m_topic.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_topic.c $(MODLFLAGS)
src/modules/m_invite.dll: src/modules/m_invite.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_invite.c $(MODLFLAGS)
src/modules/m_list.dll: src/modules/m_list.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_list.c $(MODLFLAGS)
src/modules/m_time.dll: src/modules/m_time.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_time.c $(MODLFLAGS)
src/modules/m_svskill.dll: src/modules/m_svskill.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svskill.c $(MODLFLAGS)
src/modules/m_sjoin.dll: src/modules/m_sjoin.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_sjoin.c $(MODLFLAGS)
src/modules/m_pass.dll: src/modules/m_pass.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_pass.c $(MODLFLAGS)
src/modules/m_userhost.dll: src/modules/m_userhost.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_userhost.c $(MODLFLAGS)
src/modules/m_ison.dll: src/modules/m_ison.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_ison.c $(MODLFLAGS)
src/modules/m_silence.dll: src/modules/m_silence.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_silence.c $(MODLFLAGS)
src/modules/m_knock.dll: src/modules/m_knock.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_knock.c $(MODLFLAGS)
src/modules/m_umode2.dll: src/modules/m_umode2.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_umode2.c $(MODLFLAGS)
src/modules/m_squit.dll: src/modules/m_squit.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_squit.c $(MODLFLAGS)
src/modules/m_protoctl.dll: src/modules/m_protoctl.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_protoctl.c $(MODLFLAGS)
src/modules/m_addmotd.dll: src/modules/m_addmotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_addmotd.c $(MODLFLAGS)
src/modules/m_addomotd.dll: src/modules/m_addomotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_addomotd.c $(MODLFLAGS)
src/modules/m_wallops.dll: src/modules/m_wallops.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_wallops.c $(MODLFLAGS)
src/modules/m_admin.dll: src/modules/m_admin.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_admin.c $(MODLFLAGS)
src/modules/m_globops.dll: src/modules/m_globops.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_globops.c $(MODLFLAGS)
src/modules/m_locops.dll: src/modules/m_locops.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_locops.c $(MODLFLAGS)
src/modules/m_chatops.dll: src/modules/m_chatops.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_chatops.c $(MODLFLAGS)
src/modules/m_trace.dll: src/modules/m_trace.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_trace.c $(MODLFLAGS)
src/modules/m_netinfo.dll: src/modules/m_netinfo.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_netinfo.c $(MODLFLAGS)
src/modules/m_links.dll: src/modules/m_links.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_links.c $(MODLFLAGS)
src/modules/m_help.dll: src/modules/m_help.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_help.c $(MODLFLAGS)
src/modules/m_rules.dll: src/modules/m_rules.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_rules.c $(MODLFLAGS)
src/modules/m_close.dll: src/modules/m_close.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_close.c $(MODLFLAGS)
src/modules/m_map.dll: src/modules/m_map.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_map.c $(MODLFLAGS)
src/modules/m_eos.dll: src/modules/m_eos.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_eos.c $(MODLFLAGS)
src/modules/m_server.dll: src/modules/m_server.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_server.c $(MODLFLAGS)
src/modules/m_stats.dll: src/modules/m_stats.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_stats.c $(MODLFLAGS)
src/modules/m_svsfline.dll: src/modules/m_svsfline.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsfline.c $(MODLFLAGS)
src/modules/m_dccdeny.dll: src/modules/m_dccdeny.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_dccdeny.c $(MODLFLAGS)
src/modules/m_undccdeny.dll: src/modules/m_undccdeny.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_undccdeny.c $(MODLFLAGS)
src/modules/m_whowas.dll: src/modules/m_whowas.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_whowas.c $(MODLFLAGS)
src/modules/m_connect.dll: src/modules/m_connect.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_connect.c $(MODLFLAGS)
src/modules/m_dccallow.dll: src/modules/m_dccallow.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_dccallow.c $(MODLFLAGS)
src/modules/m_userip.dll: src/modules/m_userip.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_userip.c $(MODLFLAGS)
src/modules/m_nick.dll: src/modules/m_nick.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_nick.c $(MODLFLAGS)
src/modules/m_user.dll: src/modules/m_user.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_user.c $(MODLFLAGS)
src/modules/m_mode.dll: src/modules/m_mode.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_mode.c $(MODLFLAGS)
src/modules/m_watch.dll: src/modules/m_watch.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_watch.c $(MODLFLAGS)
src/modules/m_part.dll: src/modules/m_part.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_part.c $(MODLFLAGS)
src/modules/m_join.dll: src/modules/m_join.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_join.c $(MODLFLAGS)
src/modules/m_motd.dll: src/modules/m_motd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_motd.c $(MODLFLAGS)
src/modules/m_opermotd.dll: src/modules/m_opermotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_opermotd.c $(MODLFLAGS)
src/modules/m_botmotd.dll: src/modules/m_botmotd.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_botmotd.c $(MODLFLAGS)
src/modules/m_lusers.dll: src/modules/m_lusers.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_lusers.c $(MODLFLAGS)
src/modules/m_names.dll: src/modules/m_names.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_names.c $(MODLFLAGS)
src/modules/cloak.dll: src/modules/cloak.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/cloak.c $(MODLFLAGS)
src/modules/m_svsnolag.dll: src/modules/m_svsnolag.c $(INCLUDES)
$(CC) $(MODCFLAGS) src/modules/m_svsnolag.c $(MODLFLAGS)
dummy:
-28
View File
@@ -1,28 +0,0 @@
/*
* AwesomeChristians Chat Network (irc.awesomechristians.com) Network Configuration File
* --------------------------------------------------
* Added-at: 31 December 2001 15:25
* Author: ChildLikeFaith
* Email: childlikefaith@awesomechristians.com
* -----------------------------------------
*/
set {
network-name "AwesomeChristians Chat Network";
default-server "irc.awesomechristians.com";
services-server "services.awesomechristians.com";
stats-server "services.awesomechristians.com";
help-channel "#operhelp";
hiddenhost-prefix "awesome";
prefix-quit "Quit:";
hosts {
local "ircop.awesomechristians.net";
global "ircop.awesomechristians.net";
coadmin "co.admin.awesomechristians.net";
admin "admin.awesomechristians.net";
servicesadmin "services.admin.awesomechristians.net";
netadmin "network.admin.awesomechristians.net";
host-on-oper-up "on";
};
};
-23
View File
@@ -1,23 +0,0 @@
/*
* AXEnet (irc.axenet.org) Network Configuration File
* --------------------------------------------------
*/
set {
network-name "Axenet";
default-server "irc.axenet.org";
services-server "services.axenet.org";
stats-server "stats.axenet.org";
help-channel "#axenethelp";
hiddenhost-prefix "axe";
prefix-quit "Quit:";
hosts {
local "locop.axenet.org";
global "ircop.axenet.org";
coadmin "coadmin.axenet.org";
admin "admin.axenet.org";
servicesadmin "csop.axenet.org";
netadmin "netadmin.axenet.org";
host-on-oper-up "on";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Bunker7.net Network Configuration File
* -----------------------------------------
* Added-at: 17 August 1999 12:34 CT
* Author: Rogue
* E-Mail: rogue@bunker7.net
* $Id$
*-----------------------------------------
*/
set {
network-name "bunker7";
default-server "irc.bunker7.net";
services-server "services.bunker7.net";
stats-server "stats.bunker7.net";
help-channel "#bunker7";
hiddenhost-prefix "bunker7";
prefix-quit "Quit:";
hosts {
local "local.bunker7.net";
global "global.bunker7.net";
coadmin "coadmin.bunker7.net";
admin "admin.bunker7.net";
servicesadmin "sadm.bunker7.net";
netadmin "netadmin.bunker7.net";
host-on-oper-up "off";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* BuRnNET (irc.burncycl.net) Network Configuration File
* --------------------------------------------------
* Added-at: 03 April 2001 03:31
* Author: BuRnCycL
* Email: burncycl@burncycl.net
* -----------------------------------------
*/
set {
network-name "BuRnNET";
default-server "irc.burncycl.net";
services-server "services.burncycl.net";
stats-server "stats.burncycl.net";
help-channel "#help";
hiddenhost-prefix "hide";
prefix-quit "Quit:";
hosts {
local "locop.burncycl.net";
global "oper.burncycl.net";
coadmin "coadmin.burncycl.net";
admin "admin.burncycl.net";
servicesadmin "csop.burncycl.net";
netadmin "netadmin.burncycl.net";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* CaboNet (irc.cabonet.org) Network Configuration File
* --------------------------------------------------
* Added-at: 03 February 2001 15:38
* Author: Nandin
* Email: nandin@cabonet.org
* -----------------------------------------
*/
set {
network-name "CaboNet";
default-server "irc.cabonet.org";
services-server "services.cabonet.org";
stats-server "stats.cabonet.org";
help-channel "#cabonet";
hiddenhost-prefix "cnet";
prefix-quit "Quit:";
hosts {
local "local.cabonet.org";
global "oper.cabonet.org";
coadmin "coadmin.cabonet.org";
admin "admin.cabonet.org";
servicesadmin "csop.cabonet.org";
netadmin "netadmin.cabonet.org";
host-on-oper-up "on";
};
};
-25
View File
@@ -1,25 +0,0 @@
/*
* Added-at: 25 november 2000 17:35 GMT
* Author: Highlander (J.S. Morrison)
* E-Mail: highlander@chatcrap.com
* $Id$
*/
set {
network-name "ChatCrap";
default-server "irc.chatcrap.com";
services-server "services.cabonet.org";
stats-server "stats.chatcrap.com";
help-channel "#operhelp";
hiddenhost-prefix "chatcrap";
prefix-quit "Quit:";
hosts {
local "locop.chatcrap.com";
global "ircop.chatcrap.com";
coadmin "coadmin.chatcrap.com";
admin "admin.chatcrap.com";
servicesadmin "serviceop.chatcrap.com";
netadmin "netadmin.chatcrap.com";
host-on-oper-up "on";
};
};
-27
View File
@@ -1,27 +0,0 @@
/*
* ChatUniverse (irc.chatuniverse.net) Network Configuration File
* --------------------------------------------------
* Added-at: 16 March 2001 13:02
* Author: PeTrArChY
* Email: bradbury@rebeldev.net
* -----------------------------------------
*/
set {
network-name "ChatUniverse";
default-server "irc.chatuniverse.net";
services-server "services.chatuniverse.net";
stats-server "stats.chatuniverse.net";
help-channel "#chatuniverse";
hiddenhost-prefix "CU";
prefix-quit "Quit:";
hosts {
local "locop.chatuniverse.net";
global "oper.chatuniverse.net";
coadmin "coadmin.chatuniverse.net";
admin "admin.chatuniverse.net";
servicesadmin "csop.chatuniverse.net";
netadmin "netadmin.chatuniverse.net";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* CTCP Networks (irc.ctcp.net) Network Configuration File
*
* Added-at: 12 February 2002 19:54
* Author: Mark
* Email: mark@ctcp.net
*/
set {
network-name "CTCP Networks";
default-server "irc.ctcp.net";
services-server "services.ctcp.net";
stats-server "stats.ctcp.net";
help-channel "#opers";
hiddenhost-prefix "ctcp";
hosts {
local "locop.ctcp.net";
global "oper.ctcp.net";
coadmin "coadmin.ctcp.net";
admin "admin.ctcp.net";
servicesadmin "csop.ctcp.net";
netadmin "netadmin.ctcp.net";
host-on-oper-up yes;
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* Dark Kaos Network (irc.darkkaos.net) Network Configuration File
*
* Added-at: 04 February 2002 03:15
* Author: ka0t1c_m4n
* Email: drk_kaos@yahoo.com
*/
set {
network-name "Dark Kaos Network";
default-server "irc.darkkaos.net";
services-server "services.darkkaos.net";
stats-server "stats.darkkaos.net";
help-channel "#help";
hiddenhost-prefix "hide";
hosts {
local "localop.darkkaos.net";
global "would.u.like.to.be.me.com";
coadmin "ircop.darkkaos.net";
admin "i.hate.terr.oists.net";
servicesadmin "Csop.darkkaos.net";
netadmin "netadmin.darkkaos.net";
host-on-oper-up yes;
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "DigitalIRC.Net";
default-server "irc.digitalirc.net";
services-server "Services.DigitalIRC.Net";
stats-server "Statistics.DigitalIRC.com";
help-channel "#Digitalirc";
hiddenhost-prefix "NN";
prefix-quit "Quit:";
hosts {
local "LocOper.DigitalIRC.Net";
global "Oper.DigitalIRC.Net";
coadmin "NetAdmin.DigitalIRC.Net";
admin "Admin.DigitalIRC.Net";
servicesadmin "ServicesOp.DigitalIRC.Net";
netadmin "NetAdmin.DigitalIRC.Net";
host-on-oper-up "off";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* Discussioni.Org (IRC.Discussioni.Org) Network Configuration File
*
* Added-at: 17 January 2002 22:39
* Author: Jollino
* Email: jollino@discussioni.org
*/
set {
network-name "Discussioni.Org";
default-server "IRC.Discussioni.Org";
services-server "Services.Discussioni.Org";
stats-server "Stats.Discussioni.Org";
help-channel "#help";
hiddenhost-prefix "DISCUSSIONI";
hosts {
local "LocOp.Discussioni.Org";
global "Oper.Discussioni.Org";
coadmin "Co-Admin.Discussioni.Org";
admin "Admin.Discussioni.Org";
servicesadmin "ServOper.Discussioni.Org";
netadmin "NetAdmin.Discussioni.Org";
host-on-oper-up yes;
};
};
-18
View File
@@ -1,18 +0,0 @@
set {
network-name "DragonWings";
default-server "irc.dragonwings.org";
services-server "saturn.dragonwings.org";
stats-server "stats.dragonwings.org";
help-channel "#DragonWings";
hiddenhost-prefix "dw";
prefix-quit "Quit:";
hosts {
local "locop.dragonwings.org";
global "ircop.dragonwings.org";
coadmin "coadmin.dragonwings.org";
admin "admin.dragonwings.org";
servicesadmin "serviceop.dragonwings.org";
netadmin "netadmin.dragonwings.org";
host-on-oper-up "off";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* GamesCafe (irc.gamerscafe.net) Network Configuration File
*
* Added-at: 22 August 2001 01:17
* Author: Osiris
* Email: daniel@linux.ws
*/
set {
network-name "GamesCafe";
default-server "irc.gamerscafe.net";
services-server "Services.GamersCafe.Net";
stats-server "Services.GamersCafe.Net";
help-channel "#GamersCafe";
hiddenhost-prefix "GC";
hosts {
local "localoper.gamerscafe.net";
global "oper.gamerscafe.net";
coadmin "coadmin.gamerscafe.net";
admin "admin.gamerscafe.net";
servicesadmin "csop.gamerscafe.net";
netadmin "network-admin.gamerscafe.net";
host-on-oper yes;
};
};
-23
View File
@@ -1,23 +0,0 @@
/*
* German-Elite (irc.german-elite.net) Network Configuration File
* -----------------------------------------
*/
set {
network-name "German-Elite";
default-server "irc.german-elite.net";
services-server "services.german-elite.net";
stats-server "stats.german-elite.net";
help-channel "#german-elite";
hiddenhost-prefix "GE";
prefix-quit "Quit:";
hosts {
local "locop.german-elite.net";
global "ircop.german-elite.net";
coadmin "coadmin.german-elite.net";
admin "admin.german-elite.net";
servicesadmin "csop.german-elite.net";
netadmin "netadmin.german-elite.net";
host-on-oper-up "on";
};
};

Some files were not shown because too many files have changed in this diff Show More