1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-17 18:54:47 +02:00

300 Commits

Author SHA1 Message Date
cvs2hg 2413bc72d6 fixup commit for branch 'newio' 2002-06-17 20:45: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
232 changed files with 11187 additions and 12545 deletions
+44 -3
View File
@@ -1,9 +1,9 @@
Unreal3.2-Selene (BETA4) RELEASE NOTES
Unreal3.2-Selene (BETA10) RELEASE NOTES
======================================
I M P O R T A N T R E A D I N G
(YES, YOU WILL NEED TO READ ALL OF THIS)
* Unreal3.2-Selene 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
@@ -17,7 +17,9 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
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)
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.
* We use autoconf to help with compiliation, and this should make us able
to a lot more platform (we have even ported to BeOS).
@@ -60,6 +62,8 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
j - 'junk' notices
v - vhost notices
G - gline/shun notices
n - nick change notices
q - deny nick (Q:line) rejection notices
It shouldn't be too hard to figure out, just play around with it a bit :)
@@ -71,6 +75,7 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
aliases/ircservices.conf (IRCServices, Daylight)
aliases/epona.conf (Epona)
aliases/auspice.conf (Auspice)
aliases/generic.conf (Magick, Sirius, Wrecked)
aliases/operstats.conf (OperStats)
aliases/genericstats.conf (GeoStats, NeoStats)
@@ -79,6 +84,42 @@ Unreal3.2-Selene (BETA4) RELEASE NOTES
* Added an http proxy scanner (scan_http.so)
* Added oper::snomask to specify default oper snomask modes
* /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 "help.conf";
to your config file.
* To be able to use G:lines you must now have the can_gkline flag (or t if old style flags)
* Usermode +T (Tech Admin) has been removed, since it is 100% useless
* Added a make install to copy files to the installation location
* Removed ./ircd, ./killircd, crypt/mkpasswd, ./rehash and merged them into a new
./unreal [start|stop|rehash|mkpasswd]
for mkpasswd the format is
./unreal mkpasswd [method] [password]
* Added a new system for crypting passwords. You now do for example
password "my password" { 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.
* The old blackhole is now set::scan::endpoint and specifies an IP and port to tell
proxies to connect to.
* You can now specify a cipher list for SSL links (read doc/conf.doc for more info)
* +I is now in invisibility.so so it is easily disabled
* set::socks has been replaced by set::scan (read doc/conf.doc for more info)
* log {} syslog support added (read doc/conf.doc for more info)
* MAKE SURE YOU RERUN ./Config AND RUN make clean BEFORE USING THIS VERSION!!!
* THIS IS A BETA VERSION. THINGS MAY NOT WORK. REPORT ANY BUGS TO THESE
+8 -11
View File
@@ -4,17 +4,14 @@
| some kind of Certification Authority (CA), so your users can check that |
| they are really connected to the real server, so they feel secure? |
| |
| A initiative have been started, to help this problem, as more and more |
| An initiative has been started, to help this problem, as more and more |
| SSL-enabled IRC servers will be started in the future, and people will |
| have trouble authenticating that they are really at the right server. |
| This initiative is called SICI (Secure IRC Certification Initiative. We |
| sign your certificates for free, using the simple way of authenticating |
| you by going to your IRC server and testing if it's really you. |
| |
| You can send in your "server.req.pem" file to us at our email |
| certs@sici.ircsystems.net, with contact info on you (IRC network, nick, |
| status). We will then contact you, and check if you have provided true |
| information. If you need more information about SICI, visit our website |
| http://sici.ircsystems.net, where you can download our root certificate,|
| and read even more about this project. | Press enter to continue |
| This initiative is called OpenIRC CA - They offer you to sign |
| SSL certificates for use with your IRCd for free, |
| so your users can be sure that they can trust you and your server. |
| To get a signed certificate from them please visit the website |
| http://www.openirc-ca.eu.org |
| | Press enter to continue |
---------------------------------------------------------------------------
+352 -1
View File
@@ -1,5 +1,5 @@
/*
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2000 &
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2002 &
* The UnrealIRCd Team
*
* $Id$
@@ -991,3 +991,354 @@ seen. gmtime warning still there
- 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,
- Some scan unloading stuff
- FIXED THE GOD DAMNED WHOIS BUG THAT I REPORTED *MONTHS* AGO! -Griev
- Added a new dynamic help system that allows you to add and modify /helpop items
- Made N also give you OaA, since its what most people use it for *sigh*
- A and a give you O, set::modes-on-oper
- Made link::hubmask and link::leafmask actually work properly
- Big mods to TKL, oper commands split into module, testing
- TKL mods compile and run fine, set{} stuff to decide what funcs are
avail forthcoming
- SMO recoded but wierd because sendto_umode and sendto_snomask are wierd
- chatops actually checks if sender is an oper, why did no one notice this?
- bugs in SMO ironed out, now sends to someone with ANY of the umodes/snomasks
- Added #undef SECURECHANMSGSONLYGOTOSECURE - send only channel msgs to +z
people on +z channels
- win32 fixes
- Scan API cleanup (You don't use goto when break works just as good)
- Fixed other scanner bugs (hopefully it 100% works now?)
- Fixed a typo in s_misc.c
- Config parser fixes (bugs found by Souleh)
- Changed SERVICES-NAME warning to error
- Auth_Make fix for crypt method
- Fixed a /time GMT offset bug under Win32 reported by Dave337
- Documentation updates
- Made a few updconf changes
- Credits updates
- Added a few more network files (why do I think this job will never end?)
- CIDR IPv6 fixes, scan_* fixes
- Credits fixes
- Final release cleanups
- Updated /info
- Added back good old error reporting in ./unreal start
- Changed to beta5
- Fixed some slave work.. return MOD_SUCCESS; in all command modules..
- make install fix
- Fixed a last minute bug in win32
- Fixed a bug affecting DEFAULT_PERMISSIONS reported by ashukmin
- Fixes for ->user structures
- beta5 released
- Fixed a bug causing /map to give away Ulines
- Fixed a possible segfault in m_stats
- Bug with crypt not working for /oper fixed
- Fixed a bug where certain oflags were ignored for new-style config flags
- Actually enabled MD5, SHA1 methods when SSL was defined. (fix for drunk
coding)
- Fixed yet another Win32 editor bug affecting Windows 95/98/NT4,
found by HA|Raptor
- If host == null, don't set it (m_oper, was setting it to "eek.host.is.null.pointer")
- Small fix for #427583 mode bug
- Fixed it so /module load doesnt require you to do ./module.so if the module is in
current dir
- Fixed a freeze bug in m_htm (pthreads now uses recursive mutexes)
- Reversed freeze bug fix, _NP means NON PORTABLE
- Fixed a freeze problem with conf_deny_link
- Fixed a bug under WinXP in the editor
- Someone removed tkl and opermotd from the command hash (breaks both commands)
- Made validate_configuration be called on /rehash, reported by Mick
- Fixed a /chgname bug reported by rob where you had to prefix
the name with a : to set a realname with spaces.
- Fixed a major events bug caused by Stskeeps drunken coding
reported by Dragon974
- Added mutex.c for our mutexes
- Fixed makenet so techadmin-host is gone
- Removed set::hosts::techadmin from all network files
- 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.
- Crash in scan_http fixed, h->in instead of &h->in = bad
- Made tld::mask be user@host instead of just host
- 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
- Fix for svsnoop symdep problem
- Fixed sts's fix for svsnoop (since he failed to test his fix)
- Fixed a bug where the win32 editor would always say the file
was modified even if it wasn't
- Fixed .1081 problem, see bug #0000020 for more information about how
it REALLY should be fixed
- Fixed a typo reported by Tracer (bug #0000022)
- Made support in *nix for encrypted SSL private keys,
"make encpem" to make an encrypted server key if you already have one
- Removed some ancient debugging code (num - %s)
- Wiped out FLAGS_TS8 because I want to move ->flags into the local section and
FLAGS_TS8 had 0 purpose except setting CHFL_SERVOPOK (which did nothing)
- Fixed typo I made in previous fix causing non-compileness
- Moved some members of the Client structure to the local section, should be
a nice cutdown on memory.
- Recoded the win32 editor to use a toolbar, and added support
for XP style controls
- Made a few additional cleanups to the win32 code
- // comments are not supported by many compilers and should not be used
- Fixed a bug where teh SAJOIN/SAPART/SVSJOIN/SVSPART tokens were screwed up found by
Andy Church
- Made even more changes to the win32 editor (undo/redo buttons,
and current line number display)
- Fixed yet another serious sts bug, we have to release beta6 soon :P~
- Fixed check_for_target_limit, should be more lenient now
- Sts is going for a record here, fixed ANOTHER auth bug in the SAME function
- Added hunt_server_token (the same as hunt_server except if the
server supports tokens, the token is used)
- Added the ability to go to a specific line in the win32 editor
by clicking the current line number in the status bar
- Converted all calls to hunt_server to hunt_server_token
- Preparation for release
- Changed version to beta6 and added final cleanups
- Added the TKline, TZline, and GZline commands to the documentation
- Fixed bug in m_tkl_line causing segfaultage
- Any reason why HOOKTYPE_SERVER_QUIT was being called for clients?
- Fixed exit_client to do NOQUIT type thing for SQUITs
- Moved around a lot of aClient/anUser members, hopefully wont cause
segfaults
- Fixed res.c not managing to pass the proper type of parameter to inet_ntoa ONCE
- Lots of commands were using MAXPARA when they shouldnt have been
- passworded allow{} in example.conf doesnt match anyone anymore
- Fixed oper{} locop stuff
- Added can_gzline to doc/conf.doc
- Replaced EventModEvery with EventMod (allows broader modification)
- Maybe (but I doubt it) fixed bug #0000040 (Win32 resolver crash) reported by Kyver
- Hey everyone it's point release time... I completely screwed up check_for_target_limit
- Made the kline-address error easier to understand (must be instead of is not)
- Made a SNOMASK for the +s notices, so you arent forced into hearing them if you just
want say +k
- Fixed some return values, can't gline masks with a ! in them anymore
- ARGH
- Recoded the module system somewhat, events are now 'stable' meaning if a module doesn't unload an
event the IRCd will not crash. Also fixed a crash involving delayed unloads and cleaned up notices
- Problem with sendto_ops and !aClient->user fix
- Fixed bug in m_tkl_line and various m_line functions (was checking for wrong # of paras)
- Recoded hooks to take advantage of the module object code
- Fixed a memory leak in hooks
- Fixed a bug with module objects involving static linking
- Recoded hooks to work just like events
- Fixed a listener bug reported by Dragon974
- Removed some useless tkl code
- Fixed #0000046 regarding Module_free memory leak
- Added patch in #0000053 by |savage|, speedup in can_send
- Possible fix of #0000042 regarding duplicate scans at same time causing
one to slip through, reported by Zogg
- Fixed a win32 editor bug reported by Jens that limited text additions to 32KB
- Really fixed bug #0000011 reported by Dragon974 (listener bug)
- Added link::cipher for #define USE_SSL, use this to select
ciphers, read example.conf for more. Closes #000016. Suggested by narf
- Added a dialog interface to .pem SSL passwords. (Suggestion #0000025)
- 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
- Fixed some t.next's and replaced with codemastr method(tm)
- Fixed a t.next recode typo
- Added a ./Config check to see if gcc supports -pipe (speeds up compilation)
- Made SHOW_SECRET (allow opers to see +s chans in /whois) defined by default, suggested by Sid-V (#0000037)
- Added except tkl to allow exceptions from tklines, tzlines, shuns, glines, and gzlines, suggested by
funraiser [still need to design a way to report in /stats] (#0000044)
- Documented link::cipher and except tkl in doc/conf.doc
- Changed umode +I behavoiur to you have to be loading invisibility.so to have
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
- Cleaned up a bunch of -Wall warnings (unused variables, etc)
- -Wall cleanup cleanup with SSL AUTH problem
- Fix for /version crash, reported by RaYmAn
- Made all functions use new-style parameter lists
- Moved set::socks::ban-time to set::scan::bantime, and remove the other set::socks::* (not used)
also added set::scan::timeout to specify how long the scanner should wait for a response
before giving up
- Added HOOKTYPE_STATS - allows modules to respond to certain /stats (so far only S is supported)
- Changed some m_ functions into CMD_FUNC(m_*)
- Fixed a win32 bug with the scanner code changes
- Added a win32 menu item that lets you view log files
- Documented the net set::scan::* directives in doc/conf.doc
- Fixed a bug in the new usermode system that caused odd Unknown mode flag reporting.
- Added a shutdown confirm message box to the X button on the win32 GUI
(suggested by dimplesx #0000058
- Made the win32 version set log files to writable if they are
read only (reported by dimplesx #0000057)
- Removed useless stuff in m_oper (null ptr thing, just dont set them)
- Fixed auth.c to use random salt
- Fixed loadmodule invisibility.so: undefined symbol:
get_umode bug, reported by James-Bond, #0000060)
- 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.
- More -Wall cleanups
- Fixed hunt_server_token (use IsToken on acptr->from, not acptr)
- Unbroken Griever's broken hunt_server_token broken token fix
- Various fixes to virthost system, may fix some memory corruptions,
and potential exploits.
- 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
- 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
- Added andi's OpenBSD fix for the symbol issue with prefix _
- Added SJOIN fix so it won't accept NULL channels
- Fixed a problem with Mod_Handler being **, found by andi
- Fixed an issue with -x and /quit and whowas, found by RaYmAn
- Modified the OpenBSD fix to work for all OSes that add an _
- Fixed m_rawto.c problem found by TheDarkOne
- Possibly fixed the /who flags bug reported by sbalmos (#0000063)
- lack of time sucks. openbsd problem
- Fixed a typo in the docs found by TheEggMan
- Fixed a m_htm.c problem
- Updated supporters list in /credits
- Fixed s_conf.c so a) It uses MyMalloc b) It doesn't cast the return
from MyMalloc!
- Clean compile under -Wunused
- Clean compile under -Wformat
- Clean compile under -Wparentheses
- Clean compile under -Wall -Wno-implicit
- Fixed #undef STRIPBADWORDS problem, patch by light
- Blah blah new cloaking shit blah
- Added a patch by Syzop fixing a memory leak in StripColors
- Added a patch by Syzop fixing a +k issue using a key with a , and when using long keys
- Added a patch by Syzop to fix a MyMalloc/MyFree debugmode error
- Added yet another patch by Syzop to fix a /vhost bug when using very long args
- Added a patch by Syzop to fix a possible hash bug with /list
- Made the server pass extraflags at linking for deny version validation
- Added a patch by Syzop to fix a bug preventing +I from being used (fixes #0000073)
- Readded examples to doc/conf.doc by request of several users
- Clean compile with -Wall
- Win32 cleanup of the -Wall cleanup
- REALLY clean compile with -Wall (except for wierd TStime stuff)
- Removed all remnants of PROTO()
- Removed src/cio_main.c, src/cio_init.c, include/cio.h, include/ciofunc.h extremely old unused code
- Win32 fix with u_int16_t
- Removed my_name_for_link (unused)
- Preparation for release
- Changed to beta7
- Fixed a IPv6 problem reported by Zerwas
- Fixed -Wall warnings for TStime
- Compile fix for TS2ts
- Small release tricks
*** beta7 released ***
- Fixed a win32 editor bug where the line count didn't display right away (reported by
iDW-badSol)
- Module Insanity Recode (part 1) if the module version is 3.2-b8* we now pass a ModuleInfo struct
to Mod_Init which contains extended information. This replaces the Mod_Handle method in beta7
- Module Insanity prototype fix
- Fixed a listen::options::serversonly bug reported by swissSolaris (#0000084)
- Fixed leftovers of non- char *configfile compliance. Thanks to ace and
various other people ..
- Fixed a /mkpasswd typo and added the updated /mkpasswd syntax to doc/unrealircd.doc, both
reported by peck
- Made the command system use module objects (haven't yet converted modules to use it)
- Fix with DEBUGMODE
- Fixed a Chinese nick bug found and fixed by Xuefer
- Fix with status needed for remote clients too. Found by
Craig/FrostyCoolSlug <Craig@e-tidalwave.org>
- Fixed m_oper setting +O on globops
- 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.
*** beta8 released ***
- Added log {} syslog support (appears to work fine) [#0000099]
- Added HOOKTYPE_JOIN
- Converted all modules to 3.2-b8 format (passes ModuleInfo)
- Updated doc/conf.doc
- Fix for desynch problem with the fix in /mode system, Thanks to Luke
- One little patch for humanity, one giant step for science..
- Cosmetic fix for /setident, found by juli ..
- Implimented a dynamic hooktype system to allow modules to create their own hooktypes
- Fixed a conf_unknown bug
- Added EXLIBS= to make custommodule so a module can specify additional libraries it needs
- Changed version to beta9 and updated documentation
- Made +I once again work in win32
*** beta9 released ***
- Fixed a stupid m_oper bug
- Fixed a win32 editor bug causing a crash when you click save multiple times
- Fixed a /stats q bug where it would crash if there was an sqline with no reason, reported by toji (#0000120)
- Fixed a bug that caused locops to see client exiting but not client connecting notices while +s +c,
reported and fixed by cmx (#0000123)
- Fixed a bug reported by dimplesx where +H did not decrease the oper count (#0000129)
- Documentation bug #0000152 reported by Tony at sexnet.org fixed regarding
example.conf being wrong about set::socks
- First part of skyper's security audit patch
- Some more of skyper's security audit patch. Some of them were simply
unfair in regards to performance or blindly added strlcats/strlcpy
- Fixed some problems with skyper's patch (typos)
- Fixed a cloak problem on OSes with 64bit integers (reported by wolven)
- Updated credits
- Memory leak fixes with scanners
- Some fixes with connect(). Knowing my luck this will fuck up to hell
- Fixed another memory leak with the scanners
- Fixed some helpop typos reported by BiGi (#0000144)
- Fixed a typo in /stats ? where T/t were reversed, reported by Zer0
- Fixed a typo displaying a message to edit config.h after compiling reported by dimplesx
(#0000133)
- Fixed a bug where except ban didn't work (reported by Hercules)
- Fixed a scanner memory leak, and made some changes to make the HTTP scanner work
- Fixed a bug in the socks scanner causing it to fail
- Removed some typecasts from free calls, *hopefully* it will fix some problems
- Fixed a bug with \r\n being mistakenly parsed wrong. Thanks to John_z
- Fixed a config parser bug that would cause a crash under certain conditions. Reported by
roskecr (#0000173)
- Rewrote check_pings and the whole way banning people are handled. Do loop.do_bancheck = 1
to provoke a bans check. This possibly fixes #00001702, #0000137 and other
funny bugs.
- Fixed a number of bugs in the upper patch.
- Fixed an OpenBSD bug reported by RaYmAn, k0adh, and numerous others (#0000104)
- Credits changes
- Fixed problem in dopm (short and char should NEVER be passed to va_arg)
- Fixed HCN so it uses IP instead of sockhost.
- Changed version to beta10 and updated documentation
- Removed obsolete network files
- Added some new network files (hopefully I'll be able to get all the submissions added soon)
*** beta10 released ***
- Added a config check to see which (if any) gethostbyname_r exists (based on a macro by Caolan McNamara)
- Removed some SOCKS scanner debug code that was forgotten
- Finally REALLY fixed the scanner (note to Stskeeps: bcmp returns 0 when there IS a match)
- Added OpenIRC-CA in .SICI
- Fixed a openssl+ipv6 bug, pointed out by Aragon .. This probably breaks some other crap, but what
the heck..
- Made ident checking work on IPv6 as well
- Fixed a /stats L/l bug reported by dimplesx [#0000190]
- Fixed some typos in validate_configuration, fixed a hostilename problem when ident
checking is off
- Fixed a hostilename problem reported by Xuefer [#0000158]
- 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
- Fixed a typo in doc/example.conf that I believe is causing ident not to work
- Fixed a /stats Z bug where it didn't correctly report local clients
- Made /stats Z once again report the # of classes and memory used by classes
- Added an allow::options this fixes some problems with allow, ident is now used
unless allow::options::noident is set, also if the user matches an allow by IP rather
than by host the hostname is still used for the u@h, unless allow::options::useip is set
(idea inspired by danielek)
- Fixed a bug in the new allow system reported by danielek
- Fixed a maxperip and a maxunknownconnectionsperip bug in IPv6 reported by danielek
- Fixed another scanner bug causing the scanner to never timeout
- Fixed a module bug when there is an include between a module-config-directive and the loadmodule
- Made it so if a module fails to load it is non-fatal, reported by Adiga007 (#0000194)
- Made hosts converted to lowercase before run through hidehost() this way ABC.com is the
same as abc.com, reported by Magnet (#0000065)
- Converted the status window in the win32 GUI to a modeless dialog
- Fixed a win32 bug where the tray config menu didn't contain anything, reported by Jens (#0000127)
- Fixed a /who bug where + wasn't shown for voices, reported by Wcc (#0000202)
- Included larne's /who patch, adding a multitude of symbols? :P
- Split 005 and 105 up in order to conform to the RFC1459 limit of 15 parameters per
command
- Failsafe check (to be removed again) in s_bsd.c
- [nighthawk 2002-06-16] Added myself to s_serv.c:m_info().
- Fixed a doc/conf.doc typo reported by SciFi
- Documented the new allow::options in doc/conf.doc
- [nighthawk 2002-06-17] Rewrote m_who.c from scratch. It's slightly different,
help.conf explains exactly how.
- [nighthawk 2002-06-17] 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..
- Couple of updates to INSTALL.
+7 -10
View File
@@ -1,16 +1,16 @@
###############################################################################
#### Unreal IRC Unix Daemon Installation Guide ####
#### UnrealIRCD ver 3.1.1 ####
#### UnrealIRCD ver 3.2 ####
#### unreal-dev@lists.sourceforge.com ####
#### http://www.unrealircd.com/ ####
###############################################################################
#### Unpackaging the IRCD ####
#### ####
#### 1) gzip -d Unreal3.1.1.tar.gz ####
#### 1) gzip -d Unreal3.<version>.tar.gz ####
#### ####
#### 2) tar xvf Unreal3.1.1.tar ####
#### 2) tar xvf Unreal3.<version>.tar ####
#### ####
#### 3) cd Unreal3.1.1/ ####
#### 3) cd Unreal3.<version>/ ####
###############################################################################
#### Compiling the IRCD ####
#### ####
@@ -19,7 +19,7 @@
#### OS and Version Compiler and Version Comments ####
#### --------------- ------------------------ ------------------------ ####
#### NetBSD 1.2B gcc 2.7.2 ####
#### FreeBSD 2.1.0 gcc 2.6.3 Don't use crypt at all ####
#### FreeBSD 4.5-R gcc 2.95.3 ####
#### SunOS 4.1.4 gcc 2.7-96q1 (Cygnus) ####
#### Solaris 2.4 gcc 2.7-96q1 (Cygnus) (SunOS 5.4) ####
#### Solaris 2.5 SunWorks Pro C (SunOS 5.5.1) ####
@@ -58,7 +58,7 @@
#### does not, and you are not able to determine the error, please ####
#### email supporters@lists.unrealircd.org and hopefully someone ####
#### will be able to help you. Another suggestion is going on IRC ####
#### /server irc.ircsystems.net #UnrealIRCD ####
#### /server irc.ircsystems.net #Unreal-support ####
#### ####
#### 4b) make install - IS NOT NEEDED ####
#### ####
@@ -81,7 +81,7 @@
#### ####
#### 3) If you get the error screen, please go through and check each ####
#### point presented, if you have no luck, go on IRC ####
#### /server irc.ircsystems.net #UnrealIRCD ####
#### /server irc.ircsystems.net #Unreal-support ####
#### ####
#### 4) /server yourserverip or domainname ####
#### ####
@@ -94,6 +94,3 @@
#### to upgrade to. ####
#### ####
###############################################################################
+21 -11
View File
@@ -137,6 +137,9 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
'CRYPTOLIB=${CRYPTOLIB}' 'REGEX=${REGEX}' \
'CRYPTOINCLUDES=${CRYPTOINCLUDES}'
custommodule:
cd src; ${MAKE} ${MAKEARGS} MODULEFILE=${MODULEFILE} EXLIBS=${EXLIBS} custommodule
server:
build:
-@if [ ! -f include/setup.h ] ; then \
@@ -149,13 +152,9 @@ build:
( cd $$i; ${MAKE} ${MAKEARGS} build; ) \
done
@echo ' __________________________________________________ '
@echo '| Compile is now complete. Now you have to go do |'
@echo '| The load-time configuration - try go read the |'
@echo '| file "dynconf" using your favourite viewer or |'
@echo '| editor. The file will contain instructions on how|'
@echo '| to do the dynamic configuration :) |'
@echo '| You might want to see include/config.h to adjust |'
@echo '| some settings |'
@echo '| Compile is now complete. |'
@echo '| You should now read the documentation and learn |'
@echo '| how to configure your IRCd. |'
@echo '| |'
@echo '| If you really like UnrealIRCd, and would like to |'
@echo '| make a donation, please read the Donation file in|'
@@ -213,17 +212,17 @@ install: all
$(INSTALL) -m 0700 networks/makenet $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/networks.ndx $(IRCDDIR)/networks
$(INSTALL) -m 0700 -d $(IRCDDIR)/doc
$(INSTALL) -m 0600 doc/Authors doc/conf.doc doc/faq doc/tao.of.irc doc/coding-guidelines doc/example.conf doc/features.txt doc/unrealircd.conf.txt doc/Crule.readme doc/commands.txt doc/example.settings doc/services-install-guide doc/unrealircd.doc $(IRCDDIR)/doc
$(INSTALL) -m 0600 doc/Authors doc/conf.doc doc/faq doc/coding-guidelines doc/example.conf doc/features.txt doc/unrealircd.conf.txt doc/commands.txt doc/example.settings doc/services-install-guide doc/unrealircd.doc $(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 LICENSE Donation $(IRCDDIR)
$(INSTALL) -m 0600 badwords.*.conf help.conf LICENSE Donation $(IRCDDIR)
$(INSTALL) -m 0700 bugreport makeconf unreal $(IRCDDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/modules
$(INSTALL) -m 0700 src/modules/*.so $(IRCDDIR)/modules
pem: src/ssl.cnf
pem: src/ssl.cnf
@echo "Generating certificate request .. "
$(OPENSSLPATH) req -new \
-config src/ssl.cnf -out server.req.pem \
@@ -237,4 +236,15 @@ install: all
@echo "Setting o-rwx & g-rwx for files... "
chmod o-rwx server.req.pem server.key.pem server.cert.pem
chmod g-rwx server.req.pem server.key.pem server.cert.pem
@echo "Done!."
@echo "Done!. If you want to encrypt the private key, run"
@echo "make encpem"
encpem: server.key.pem
@echo "Encrypting server key .."
$(OPENSSLPATH) rsa -in server.key.pem -out server.key.c.pem -des3
-@if [ -f server.key.c.pem ] ; then \
echo "Replacing unencrypted with encrypted .." ; \
cp server.key.c.pem server.key.pem ; \
rm -f server.key.c.pem ; \
fi
+42
View File
@@ -339,4 +339,46 @@ fi
])dnl ACX_PTHREAD
dnl Written by Caolan McNamara <caolan@skynet.ie>, modified slightly by codemastr
AC_DEFUN(AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R,[
AC_CHECK_FUNC(gethostbyname_r)
if test "$ac_cv_func_gethostbyname_r" = "yes"; then
AC_CACHE_CHECK(how many parameters gethostbyname_r takes, ac_cv_func_which_gethostname_r, [
AC_TRY_COMPILE([#include <netdb.h>], [
char *name;
struct hostent *he;
struct hostent_data data;
(void) gethostbyname_r(name, he, &data);
],ac_cv_func_which_gethostname_r=three, [
AC_TRY_COMPILE([#include <netdb.h>], [
char *name;
struct hostent *he, *res;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &res, &h_errnop)
],ac_cv_func_which_gethostname_r=six, [
AC_TRY_COMPILE([#include <netdb.h>], [
char *name;
struct hostent *he;
char buffer[2048];
int buflen = 2048;
int h_errnop;
(void) gethostbyname_r(name, he, buffer, buflen, &h_errnop)
],ac_cv_func_which_gethostname_r=five,ac_cv_func_which_gethostname_r=no)
])
])],ac_cv_func_which_gethostname_r=no)]
if test "$ac_cv_func_which_gethostname_r" = "six"; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_6)
elif test "$ac_cv_func_which_gethostname_r" = "five"; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_5)
elif test "$ac_cv_func_which_gethostname_r" = "three"; then
AC_DEFINE(HAVE_GETHOSTBYNAME_R_3)
fi
fi
)])
+35
View File
@@ -13,6 +13,15 @@ fi
if test "$ac_cv_gcc3" = "yes"; then
CFLAGS="$CFLAGS -Wnone"
fi
AC_CACHE_CHECK(if gcc has a working -pipe, ac_cv_pipe, [
save_cflags="$CFLAGS"
CFLAGS="$CFLAGS -pipe"
AC_TRY_COMPILE(,, ac_cv_pipe="yes", ac_cv_pipe="no")
CFLAGS="$save_cflags"
])
if test "$ac_cv_pipe" = "yes"; then
CFLAGS="-pipe $CFLAGS"
fi
fi
AC_PATH_PROG(RM,rm)
@@ -78,6 +87,23 @@ case `uname -s` in
esac
fi
])
AC_CACHE_CHECK(if your system prepends an underscore on symbols,ac_cv_underscore,[
cat >uscore.c << __EOF__
int main() {
return 0;
}
__EOF__
$CC -o uscore $CFLAGS uscore.c 1>&5
if test -z "`strings -a uscore |grep '^_main$'`"; then
ac_cv_underscore=no
else
ac_cv_underscore=yes
fi
])
if test "$ac_cv_underscore" = "yes"; then
AC_DEFINE(UNDERSCORE)
fi
MODULEFLAGS=$ac_cv_pic
AC_DEFINE(DYNAMIC_LINKING)
])
@@ -208,6 +234,12 @@ dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_SETPGRP
AC_FUNC_SETVBUF_REVERSED
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_CACHE_CHECK(if we can set the core size to unlimited, ac_cv_force_core,[
AC_TRY_RUN([
#include <sys/time.h>
@@ -280,6 +312,8 @@ AC_CHECK_FUNCS(strcasecmp,AC_DEFINE(GOT_STRCASECMP))
AC_CHECK_FUNCS(inet_addr,,AC_DEFINE(NEED_INET_ADDR))
AC_CHECK_FUNCS(inet_ntoa,,AC_DEFINE(NEED_INET_NTOA))
AC_CHECK_FUNCS(inet_netof,,AC_DEFINE(NEED_INET_NETOF))
AC_CHECK_FUNCS(syslog,AC_DEFINE(HAVE_SYSLOG))
AC_CHECK_FUNCS(vsyslog,AC_DEFINE(HAVE_VSYSLOG))
AC_SUBST(REGEX)
AC_SUBST(STRTOUL)
AC_SUBST(CRYPTOLIB)
@@ -316,6 +350,7 @@ ACX_PTHREAD
CC="$PTHREAD_CC"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
IRCDLIBS="$IRCDLIBS $PTHREAD_LIBS"
AC_caolan_FUNC_WHICH_GETHOSTBYNAME_R
AC_MSG_CHECKING(if FD_SETSIZE is large enough to allow $ac_fd file descriptors)
AC_TRY_RUN([
#include <sys/types.h>
Vendored
+860 -236
View File
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -118,8 +118,12 @@ Tom Hopkins <hoppie@buengf.bu.edu> / September, October 1990:
always works on code, so he has to have done alot more than three
lines worth. :)
Carsten Munk <stskeeps@mp3fans.co.uk> / May and futher 1999:
* Made many features based on Elite.. :/
UnrealIRCd Coders
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
Thanks go to those persons not mentioned here who have added their advice,
opinions, and code to IRC.
-128
View File
@@ -1,128 +0,0 @@
SmartRoute
Rule based connects
Draft 4 - Aug 19, 1994
by Tony Vencill
Rule based connects allow an admin to specify under what conditions
a connect should not be allowed. If no rules are specified for a
given C and/or N line it will be allowed under any condition.
A rule may consist of any legal combination of the following functions
and operators.
Functions
---------
connected(targetmask) - true if a server other than that processing
the rule is connected that matches the
target mask
directcon(targetmask) - true if a server other than that processing
the rule is directly connected that matches
the target mask
via(viamask, targetmask) - true if a server other than that processing
the rule matches the target mask and is
connected via a directly connected server
that matches the via mask
directop() - true if an oper is directly connected
Unary operators
---------------
! eg: !argument - true if the argument is false
Binary operartors
-----------------
&& eg: arg1&&arg2 - true if arg1 and arg2 are both true
|| eg: arg1||arg2 - true if arg1, arg2, or both are true
Parenthesis () are allowed for grouping arguments, but if no parenthesis
are included, && will take precedence over ||, ! will take precedence
over both && and ||, and the function will be evaluated from left to
right. White space in a rule is ignored. Invalid characters in a rule
will lead to the rule being ignored.
Examples
--------
A simple example of a connect rule might be:
connected(*eu.under*)
This might be used in a US undernet server for a Europe CN pair to
insure that a second Europe link is not allowed if one US-EU link
already exists. Note that on the undernet, US server names are
city.state.us.undernet.org and Europe server names are
city.country.eu.undernet.org.
A more interesting example might be:
connected(*eu.under*) &&
( !direct(*eu.under*) || via(manhat*, *eu.under*) )
Imagine the Boston undernet server uses this rule on its Europe CN
pairs. This says that if a Europe server is already connected, a
Boston-Europe connect will not be allowed. It also says that if a
Europe server does already exist and Boston is not directly connected
to one or more Europe servers or Manhattan is, the Boston-Europe
connect will not be allowed. This has the effect of allowing multiple
US-EU links but attempting to limit these links to one server (ie:
Boston will not initiate its first Europe link if another server is
already linking Europe). This rule will also prefer to let Manhattan
handle the US-EU link by disallowing Boston-Europe links if a Europe
server is already linked to Manhattan.
A example of the remaining function, directop(), is:
connected(*eu.under*) || directop()
If this line is used on Boston for the Paderborn CN pair, it will allow
connects to Paderborn only if another Europe server is not already
connected and there is not an oper on Boston. If this rule is
overrideable (ie: is applied only to autoconnects as described below),
then it will disallow Boston autoconnects to Paderborn while a Boston
oper is online, but allow oper-initiated connects to Paderborn under any
circumstance. This directop() function could be used to invoke less
prefered routes only when an oper is not present to handle routing, or
conversly to allow use of less preferable routes only when an oper is
present to monitor their performance.
ircd.conf entries
-----------------
A rule is listed in the ircd.conf file using a D or d line (which can
be thought of as a "disallow" line). D lines will apply to all oper
and server originated connects, while d lines will apply only to
autoconnects (ie: they are overrideable by opers). The formats are:
D:targetmask::rule
d:targetmask::rule
Remember that newlines are not allowed in conf lines. Two examples
(from above) are:
D:*eu.under*::connected(*eu.under*)
d:*eu.under*::connected(*eu.under*) || directop()
Connects originating from other servers will be checked against and
matching D lines, while matching d lines will be ignored as it will not
be clear whether or not the connection attempt is oper initiated.
Checking and viewing rules
--------------------------
The chkconf program that comes with the servers has been modified to
also check your connect rules. If running in debug mode, parsing errors
will show up at debug level 8. To view rules online, "/stats d" can be
used to see all rules and "/stats D" can be used to view those rules
which affect oper initiated connects and accepts.
Processing and storage
----------------------
The rules are parsed when the conf file is read and transformed into a
more efficiently computed form, then all applicable rules are
evaluated each time a connect command is given or an autoconnect is
due. If more than one applicable rule is given, only one need
evaluate to true for the connect to be allowed (ie: the rules are ored
together). Note that conditions that exist when the connect is
initiated might differ from conditions when the link is established.
[ $Id$ ]
-16
View File
@@ -1,16 +0,0 @@
The foll. patches are NEW in 19.mu1 (besides the old patches of stats-w,
ban, topic, client connect, signon time, trace times in previous .mu
versions):
* All the modifications contained in U3.2, namely - TSpre8, silence, bquiet
* The K line comments patch.
* The operfail notification patch
* The mixed case userid reject patch
For info on these check the file README.patches
- Mmmm
[ $Id$ ]
-34
View File
@@ -1,34 +0,0 @@
For starters, not a lot is new. What is ?
* STATS o and STATS h added;
* most STATS options are no longer oper-only;
* privacy fixes to all of WHO, WHOIS, TRACE and STATS;
* more options in the ircd.conf file;
* non-debilitating DNS/ident use (DNS routines written specifically
for ircd which indludes small local cache);
* less bugs;
* easier to compile;
* heaps and heaps of new numerics;
* more problems for old clients that do stupid things;
* more numeric replies which replace old NOTICE's;
* compulsory ident checks and optional result usage;
* sendQ can now be class dependant;
* server handles client flooding better;
* for more information on changes, bug fixes during development, see
ircd/ChangeLog and common/ChangeLog
[ $Id$ ]
-41
View File
@@ -1,41 +0,0 @@
The Internet Relay Chat Program - IRC
Author: Jeff Trim, April '89
Revised: Greg Lindahl, Oct '90 (gl8f@virginia.edu)
Re-Revised: Helen Rose, March '94 (hrose@kei.com)
Have you ever wanted to talk with other computer users in other parts of
the world? Well guess what? You can! The program is called IRC and it
is networked much over North America, Europe, and Asia, Oceania, and parts
of Africa. This program is a substitution for talk(1), ytalk(1) and many
other multiple talk programs you might have read about. When you are
talking in IRC, everything you type will instantly be transmitted around
the world to other users that might be watching their terminals at the
time - they can then type something and RESPOND to your messages - and
vise versa. I should warn you that the program can be very addictive once
you begin to make friends and contacts on IRC ;-) especially when you
learn how to cuss in 14 languages.
Topics of discussion on IRC are varied, just like the topics of Usenet
newsgroups are varied. Technical and political discussions are
popular, especially when world events are in progress. IRC is also a
way to expand your horizons, as people from many countries and
cultures are on, 24 hours a day. Most conversations are in English,
but there are always channels in German, Japanese, and Finnish, and
occasionally other languages.
How To Get IRC (technical)
IRC is a fully-distributed client-server system, much like
NNTP-Usenet, with several clients availble in C and elisp. You may ftp
documentation and clients from any of the following sites:
many kinds of clients (C, elisp, X11, VMS, REXX for VM, MSDOS, Macintosh):
cs.bu.edu:/irc/clients
ftp.acsu.buffalo.edu:/pub/irc
ftp.funet.fi:/pub/unix/irc
coombs.anu.edu.au:/pub/irc
If you have any questions about IRC installation, write to hrose@kei.com.
[ $Id$ ]
File diff suppressed because it is too large Load Diff
+990 -1742
View File
File diff suppressed because it is too large Load Diff
+14 -12
View File
@@ -101,15 +101,15 @@ class servers
*/
allow {
ip *;
hostname *;
ip *@*;
hostname *@*;
class clients;
maxperip 5;
};
/* Passworded allow line */
allow {
ip *@*;
ip *@255.255.255.255;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
@@ -176,10 +176,7 @@ allow channel {
n can_localnotice
G can_globalnotice
N netadmin
T techadmin
C coadmin
u get_umodec
f get_umodef
z can_zline
W get_umodew
^ can_stealth
@@ -187,9 +184,8 @@ allow channel {
*/
/*
Note: get_umodec get_umodef techadmin and eyes
are no longer used and will probably be removed
soon
Note: netadmin gives you OaAN
admin and services-admin give you o as well
*/
oper bobsmith {
@@ -260,11 +256,16 @@ listen *:6667;
* hub (If this is a hub, * works, or servermasks it may bring in);
* [or leaf *;]
* password-connect "(pass to send)";
* password-receive "(pass we should recieve)";
* password-receive "(pass we should receive)";
* class (class to direct servers into);
* 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
* */
* ciphers "DES-CBC3-MD5";
*
* };
*/
@@ -575,7 +576,7 @@ except ban {
};
/*
* NEW: except socks {}
* NEW: except scan {}
* OLD: e:Line
* Makes it so scan.so doesn't scan you.
*
@@ -685,6 +686,7 @@ set {
set {
kline-address "set.this.email";
modes-on-connect "+xw";
modes-on-oper "+xwgs";
oper-auto-join "#opers";
dns {
nameserver 127.0.0.1;
@@ -699,7 +701,7 @@ set {
show-connect-info;
};
socks {
scan {
ban-message "Insecure SOCKS server";
quit-message "Insecure SOCKS server";
ban-time "4d";
-9
View File
@@ -15,10 +15,6 @@ set {
auto-join "0";
/* What channels opers will autojoin on connect*/
oper-auto-join "0";
/* This needs to be an unused port, that the IRCd will bind
* to, and make insecure proxies connect to.
*/
blackhole [ip]:port;
dns {
/* What IP has our DNS server got? */
nameserver 127.0.0.1;
@@ -35,11 +31,6 @@ set {
identd-check;
};
socks {
ban-message "Insecure SOCKS server";
quit-message "Insecure SOCKS server";
ban-time "1d";
};
/*
* How many channels each user can join
*/
+439 -430
View File
@@ -1,432 +1,441 @@
* * * * * * * * * * * * * * * * * * *
* Unrealircd.conf Documentation *
* http://www.unrealircd.com *
* Made for Version 3.2+ Daemon *
* by devdev *
* * * * * * * * * * * * * * * * * * *
* * * * T a b l e o f C o n t e n t s * * * *
Section 1.0 : Introduction
Section 2.0 : me{} line
2.1 : Syntax
2.2 : Variables
Section 3.0 : admin{} line
3.1 : Syntax
3.2 : Variables
Section 4.0 : class{} line
4.1 : Syntax
4.2 : Variables
Section 5.0 : allow{} line
5.1 : Syntax
5.2 : Variables
Section 6.0 : drpass{} line
6.1 : Syntax
6.2 : Variables
Section 7.0 : oper{} line
7.1 : Syntax
7.2 : Variables
7.3 : Oper Flags
7.4 : Flag Usage
Section 8.0 : listen{} line
8.1 : Syntax
8.2 : Variables
8.3 : Port Options
9.0 : link{} line
9.1 : Syntax
9.2 : Variables
9.3 : Link Options
Section 10.0 : ulines{} line
10.1 : Syntax
10.2 : Variables
Section 11.0 : tld{} line
11.1 : Syntax
11.2 : Variables
Section 12.0 : ban{} line
12.1 : ban nick{}
12.2 : ban ip{}
12.3 : ban server{}
12.4 : ban realname{}
12.5 : ban user{}
Section 13.0 : except{} line
13.1 : except ban{}
13.2 : except socks{}
Section 14.0 : vhost{} line
14.1 : Syntax
14.2 : Variables
* * * * * * * * * * * * * * * * * * * * * * * *
1.0) Introduction:
As you may have noticed, in this version of Unreal, the ircd.conf
has changed dramatically and has a new name... unrealircd.conf.
This will be a fully explanatory guide to the new unrealircd.conf
Every aspect of the new config file is explained below.
2.0) me{} (Server Information Line):
This is the same idea as the old M:line. Gives the server name,
description, and numeric. This, however, does not include the ip
of the server.
2.1) Syntax:
me {
name <server>;
info "<description>";
numeric <numeric>;
};
2.2) Variables:
<server> Server name (irc.network.com)
<description> Server description (Network Hub)
<numeric> Connection Numeric (Number 1-254)
3.0) admin{} (Administrator Line):
This is the same as the A:line. This line gives information about
the server owner/administrator including Name, nickname, and email.
This is not restricted to a number of lines. Shown at /admin
3.1) Syntax:
admin {
"<line>";
};
3.2) Variables:
<line> Text shown at /admin (Admin Name)
The "<line>"; can be repeated as many times as you wish. We suggest
placing the admins nickname and an email to reach them at.
4.0) class{} (Connection Classes Line):
These connection classes are used to define the ping freqency, maximum
amount of clients, and sendq limit for a certain class.
4.1) Syntax:
class <class name> {
connfreq <connfreq>; /*server only*/
ping freq <pingfrq>;
maxclients <maxclients>;
sendq <sendqlimit>;
};
4.2) Variables:
<class type> Name of connection class (client, server, oper)
<connfreq> Seconds between connection attempts (seconds)
<pingfrq> Ping Frequency (every x seconds) (seconds)
<maxclients> Number of maximum connections (number)
<sendqlimit> Limit for sends (number)
5.0) allow{} (Allowed Connections):
This line specifies from which hostnames/ips users can connect from and their
restrictions.
5.1) Syntax:
allow {
ip "<ip>";
hostname "<host>";
class <classname>;
password "<password>";
maxperip <max>;
};
5.2) Variables:
<ip> IP to allow connections from (1.2.3.4)
<host> Hostname to allow connections from (ident@host)
<classname> Class name to use defined above (name)
<password> Password required for connection (password)
<max> Maximum per ip address (number)
6.0) drpass{} (Die/Restart Password):
This line will defy the passwords required to restart or shutdown the irc server.
6.1) Syntax:
drpass {
die "<diepass>";
restart "<restartpass>";
};
6.2) Variables:
<diepass> Password to shutdown the server (password)
<restartpass> Password to restart the server (password)
7.0) oper{} (IRC Operator Line):
This line will define who (after suppling a login and password) will be allowed to have certain permissions
granted. Such as global kills compared to local kills, and being able to restart the server.
7.1) Syntax:
oper <login> {
class <classname>;
from {
userhost <host>;
userhost <host>
};
password "<password>";
flags {
<flag>;
<flag>;
}
};
7.2) Variables
<login> Login user name (opername)
<classname> Class the oper will connect from (class)
<host> Host the oper is allowed to op from (ident@host)
<password> Password to accompany login-name (password)
<flag> Flags to define permissions (see 7.3)
7.3) Oper Flags (old and new)
Old | New |Description
------- |---------------- |------------------------------
N | netadmin | Network Admnistrator
T | techadmin | Technical Administrator
A | admin | Server Administrator
a | sadmin | Services Operator
C | coadmin | Co Administrator
o | local | Local IRC Operator
O | global | Global IRC Operator
r | can_rehash | Is able to rehash the server
e | eyes | Can use the eyes message mode
D | can_die | Can shutdown the server (with password)
R | can_restart | Can restart the server (with password)
h | helpop | ..is available for help. Can see /helpops
g | can_globops | Can use /globops
w | can_wallops | Can use /wallops
l | locop | Can't kill remote users
c | can_localroute | Can locally /connect and /squit servers
L | can_globalroute | Can globally /connect and /squit servers
k | can_localkill | Can do local /kills
K | can_globalkill | Can do global /kills
b | can_kline | Can set a /kline
B | can_unkline | Can unset a /kline
n | can_localnotice | Can send local notices
G | can_globalnotice| Can send global notices
z | can_zline | Can set /zlines
^ | can_stealth | Is invisible to /names
7.4) Oper Flag Usage:
Usage:
flags oldflags;
[or]
flags { new flag; new flag; };
Example:
flags oN;
[or]
flags { netadmin; helpop; };
Local operators are defined by having no additional flags in the oper line or if the IRCD finsd an error in
the flags, locop will be set (default).
8.0) listen{} (Available Ports):
These line(s) define which ports the IRCd will be using. Ports that servers and clients can connect to.
8.1) Syntax:
listen <ip>:<port>;
{
options
{
<option>;
<option>;
};
};
8.2) Variables:
<ip> IP Address to bind to (1.2.3.4)
<port> Port to listen on (port)
<option> Option for the port to use (see 8.3)
8.3) Port Options
standard Normally listens on the port
ssl Port is available to accept SSL connections.
serveronly Port can only have servers connect to it (not clients)
clientsonly Port can only have clients connect to it
9.0) link{} (Connecting Servers):
This line will define what server can connect to yours.
9.1) Syntax:
link <servername>;
{
username <usermask>;
hostname <hostname>;
bind-ip <bindip>;
port <port>;
hub *; /* for connecting a hub */
leaf *; /* for connecting a leaf */
leaf-depth <leaf-depth>; /* for connecting a leaf */
password-connect "<cpassword>";
password-receive "<rpassword>";
class <class>;
rsa-auth "<keypath>";
options {
<option>;
<option>;
};
};
9.2) Variables
<servername> Server name to connect to (server.network.com)
<username> Username for authenticating connection (username)
<hostname> Hostname for authenticating connection (hostname)
<bindip> IP your server will bind to to connect (ip)
hub or leaf Place hub *; or leaf *; depending on
what type of server you're linking to
<leaf-depth> Number of servers below yours (number)
<cpassword> Password to send to the server (password)
<rpassword> Password you expect to receive (password)
<class> Class for servers (classname)
<keypath> Path use for rsa-authentication (keypath)
<option> Option used for connecting (see 9.3)
9.3) Link Options
autoconnect Automaticlly tries to connect to the server
ssl Defines you are connecting to a SSL server
zip Will make them compressed later
10.0) ulines{} (Ulined Servers):
This line will define servers that can have more control over the network. Services
require this line in order to modify channels without being irc-operators.
10.1) Syntax:
ulines {
<server>;
<server>;
};
10.2) Variables:
<server> Server to be u:lined, can be infinate (servername)
11.0) tld{} (MOTD and Rules by Domains):
This line defines which hosts will read which set of MOTDs/Rules. For instance, if you have
a bilingual network, connections from .fr can show a french MOTD and Rule file instead
of the default ircd.motd and ircd.rules
11.1) Syntax:
tld {
mask <mask>;
motd "<motd>";
rules "<rules>";
};
11.2) Variables:
<mask> Mask that will define the new set (ident@host)
<motd> Filename of the motd file (filename)
<rules> Filename of the rules file (filename)
12.0) ban{} (Bans):
This line has many parts to it and can ban different things. See the sections below
on more information on banning.
12.1) ban nick{}
This line is used for restricting the use of certain nicknames
Syntax:
ban nick {
mask "<nickname>";
reason "<reason>";
};
12.2) ban ip{}
Used for removing a entire ip from connecting.
Syntax:
ban ip { mask <ipaddress>; reason "<reason>"; };
12.3) ban server{}
Used for restrictring a server from connecting to you.
Syntax:
ban server {
mask <servername>;
reason "<reason>";
};
12.4) ban realname{}
Used to keep select individuals with certain realnames off the server.
Syntax:
ban realname {
mask "<real name>";
reason "<reason>";
};
12.5) ban user{}
This line is the same as the old K:Lines. It bans a host mask from connecting.
Syntax:
ban user { mask <ident@host>; reason "<reason>"; };
13.0) except{} (Cannot Be Banned):
Used to make sure your own IRCops dont ban you, or so you dont accidently ban an entire
nation's worth of addresses, etc.
13.1) except ban{}
This is so a realname and user cannot be banned.
Syntax:
except ban {
mask <ident@host>;
};
13.2) except socks{}
This line is used so the socks server does not ban a client.
Syntax:
except socks {
mask 216.73.27.177;
};
14.0) vhost{} (Vanity Hosts):
The vhost{} line is used so a user can change their hostname from blah.dialup.com to
a more fun hostname such as tends.to.write.some.really.evildocs.net
/vhost <login> <password>
14.1) Syntax:
vhost {
vhost <vhost>;
* * * * * * * * * * * * * * * * * * *
* Unrealircd.conf Documentation *
* http://www.unrealircd.com *
* Made for Version 3.2+ Daemon *
* by devdev *
* * * * * * * * * * * * * * * * * * *
* * * * T a b l e o f C o n t e n t s * * * *
Section 1.0 : Introduction
Section 2.0 : me{} line
2.1 : Syntax
2.2 : Variables
Section 3.0 : admin{} line
3.1 : Syntax
3.2 : Variables
Section 4.0 : class{} line
4.1 : Syntax
4.2 : Variables
Section 5.0 : allow{} line
5.1 : Syntax
5.2 : Variables
Section 6.0 : drpass{} line
6.1 : Syntax
6.2 : Variables
Section 7.0 : oper{} line
7.1 : Syntax
7.2 : Variables
7.3 : Oper Flags
7.4 : Flag Usage
Section 8.0 : listen{} line
8.1 : Syntax
8.2 : Variables
8.3 : Port Options
9.0 : link{} line
9.1 : Syntax
9.2 : Variables
9.3 : Link Options
Section 10.0 : ulines{} line
10.1 : Syntax
10.2 : Variables
Section 11.0 : tld{} line
11.1 : Syntax
11.2 : Variables
Section 12.0 : ban{} line
12.1 : ban nick{}
12.2 : ban ip{}
12.3 : ban server{}
12.4 : ban realname{}
12.5 : ban user{}
Section 13.0 : except{} line
13.1 : except ban{}
13.2 : except socks{}
Section 14.0 : vhost{} line
14.1 : Syntax
14.2 : Variables
* * * * * * * * * * * * * * * * * * * * * * * *
1.0) Introduction:
As you may have noticed, in this version of Unreal, the ircd.conf
has changed dramatically and has a new name... unrealircd.conf.
This will be a fully explanatory guide to the new unrealircd.conf
Every aspect of the new config file is explained below.
2.0) me{} (Server Information Line):
This is the same idea as the old M:line. Gives the server name,
description, and numeric. This, however, does not include the ip
of the server.
2.1) Syntax:
me {
name <server>;
info "<description>";
numeric <numeric>;
};
2.2) Variables:
<server> Server name (irc.network.com)
<description> Server description (Network Hub)
<numeric> Connection Numeric (Number 1-254)
3.0) admin{} (Administrator Line):
This is the same as the A:line. This line gives information about
the server owner/administrator including Name, nickname, and email.
This is not restricted to a number of lines. Shown at /admin
3.1) Syntax:
admin {
"<line>";
};
3.2) Variables:
<line> Text shown at /admin (Admin Name)
The "<line>"; can be repeated as many times as you wish. We suggest
placing the admins nickname and an email to reach them at.
4.0) class{} (Connection Classes Line):
These connection classes are used to define the ping freqency, maximum
amount of clients, and sendq limit for a certain class.
4.1) Syntax:
class <class name> {
connfreq <connfreq>; /*server only*/
ping freq <pingfrq>;
maxclients <maxclients>;
sendq <sendqlimit>;
};
4.2) Variables:
<class type> Name of connection class (client, server, oper)
<connfreq> Seconds between connection attempts (seconds)
<pingfrq> Ping Frequency (every x seconds) (seconds)
<maxclients> Number of maximum connections (number)
<sendqlimit> Limit for sends (number)
5.0) allow{} (Allowed Connections):
This line specifies from which hostnames/ips users can connect from and their
restrictions.
5.1) Syntax:
allow {
ip "<ip>";
hostname "<host>";
class <classname>;
password "<password>";
maxperip <max>;
redirect-server <server>;
redirect-port <port>;
};
5.2) Variables:
<ip> IP to allow connections from (1.2.3.4)
<host> Hostname to allow connections from (ident@host)
<classname> Class name to use defined above (name)
<password> Password required for connection (password)
<max> Maximum per ip address (number)
<server> server to redirect to (hostname/ip)
<port> port on server to redirect (port)
6.0) drpass{} (Die/Restart Password):
This line will defy the passwords required to restart or shutdown the irc server.
6.1) Syntax:
drpass {
die "<diepass>";
restart "<restartpass>";
};
6.2) Variables:
<diepass> Password to shutdown the server (password)
<restartpass> Password to restart the server (password)
7.0) oper{} (IRC Operator Line):
This line will define who (after suppling a login and password) will be allowed to have certain permissions
granted. Such as global kills compared to local kills, and being able to restart the server.
7.1) Syntax:
oper <login> {
class <classname>;
from {
userhost <mask>;
userhost <host>;
userhost <host>
};
login <login>;
password <password>;
};
14.2) Variables:
<vhost> Name of the vhost to use (vhost)
<mask> Allowed masks to use the vhost (ident@host)
<login> A login name to use (login)
<password> Password to supply with login (password)
password "<password>";
flags {
<flag>;
<flag>;
}
swhois <whois stuff>;
snomask <snomask>;
};
7.2) Variables
<login> Login user name (opername)
<classname> Class the oper will connect from (class)
<host> Host the oper is allowed to op from (ident@host)
<password> Password to accompany login-name (password)
<flag> Flags to define permissions (see 7.3)
<snomask> Snomask on oper (SNOMASK)
<whois stuff> Extra info in /whois (string)
7.3) Oper Flags (old and new)
Old | New |Description
------- |---------------- |------------------------------
N | netadmin | Network Admnistrator
T | techadmin | Technical Administrator
A | admin | Server Administrator
a | sadmin | Services Operator
C | coadmin | Co Administrator
o | local | Local IRC Operator
O | global | Global IRC Operator
r | can_rehash | Is able to rehash the server
D | can_die | Can shutdown the server (with password)
R | can_restart | Can restart the server (with password)
h | helpop | ..is available for help. Can see /helpops
g | can_globops | Can use /globops
w | can_wallops | Can use /wallops
l | locop | can send /locops
c | can_localroute | Can locally /connect and /squit servers
L | can_globalroute | Can globally /connect and /squit servers
k | can_localkill | Can do local /kills
K | can_globalkill | Can do global /kills
b | can_kline | Can set a /kline
B | can_unkline | Can unset a /kline
n | can_localnotice | Can send local notices
G | can_globalnotice| Can send global notices
z | can_zline | Can set /zlines
t | can_gkline | can use /gline and /shun
Z | can_gzline | can use /gzline
^ | can_stealth | Can set +I
7.4) Oper Flag Usage:
Usage:
flags oldflags;
[or]
flags { new flag; new flag; };
Example:
flags oN;
[or]
flags { netadmin; helpop; };
Local operators are defined by having no additional flags in the oper line or if the IRCD finsd an error in
the flags, locop will be set (default).
8.0) listen{} (Available Ports):
These line(s) define which ports the IRCd will be using. Ports that servers and clients can connect to.
8.1) Syntax:
listen <ip>:<port>;
{
options
{
<option>;
<option>;
};
};
8.2) Variables:
<ip> IP Address to bind to (1.2.3.4)
<port> Port to listen on (port)
<option> Option for the port to use (see 8.3)
8.3) Port Options
standard Normally listens on the port
ssl Port is available to accept SSL connections.
serveronly Port can only have servers connect to it (not clients)
clientsonly Port can only have clients connect to it
9.0) link{} (Connecting Servers):
This line will define what server can connect to yours.
9.1) Syntax:
link <servername>;
{
username <usermask>;
hostname <hostname>;
bind-ip <bindip>;
port <port>;
hub *; /* for connecting a hub */
leaf *; /* for connecting a leaf */
leaf-depth <leaf-depth>; /* for connecting a leaf */
password-connect "<cpassword>";
password-receive "<rpassword>";
class <class>;
rsa-auth "<keypath>";
options {
<option>;
<option>;
};
};
9.2) Variables
<servername> Server name to connect to (server.network.com)
<username> Username for authenticating connection (username)
<hostname> Hostname for authenticating connection (hostname)
<bindip> IP your server will bind to to connect (ip)
hub or leaf Place hub *; or leaf *; depending on
what type of server you're linking to
<leaf-depth> Number of servers below yours (number)
<cpassword> Password to send to the server (password)
<rpassword> Password you expect to receive (password)
<class> Class for servers (classname)
<keypath> Path use for rsa-authentication (keypath)
<option> Option used for connecting (see 9.3)
9.3) Link Options
autoconnect Automaticlly tries to connect to the server
ssl Defines you are connecting to a SSL server
zip Will make them compressed later
10.0) ulines{} (Ulined Servers):
This line will define servers that can have more control over the network. Services
require this line in order to modify channels without being irc-operators.
10.1) Syntax:
ulines {
<server>;
<server>;
};
10.2) Variables:
<server> Server to be u:lined, can be infinate (servername)
11.0) tld{} (MOTD and Rules by Domains):
This line defines which hosts will read which set of MOTDs/Rules. For instance, if you have
a bilingual network, connections from .fr can show a french MOTD and Rule file instead
of the default ircd.motd and ircd.rules
11.1) Syntax:
tld {
mask <mask>;
motd "<motd>";
rules "<rules>";
};
11.2) Variables:
<mask> Mask that will define the new set (ident@host)
<motd> Filename of the motd file (filename)
<rules> Filename of the rules file (filename)
12.0) ban{} (Bans):
This line has many parts to it and can ban different things. See the sections below
on more information on banning.
12.1) ban nick{}
This line is used for restricting the use of certain nicknames
Syntax:
ban nick {
mask "<nickname>";
reason "<reason>";
};
12.2) ban ip{}
Used for removing a entire ip from connecting.
Syntax:
ban ip { mask <ipaddress>; reason "<reason>"; };
12.3) ban server{}
Used for restrictring a server from connecting to you.
Syntax:
ban server {
mask <servername>;
reason "<reason>";
};
12.4) ban realname{}
Used to keep select individuals with certain realnames off the server.
Syntax:
ban realname {
mask "<real name>";
reason "<reason>";
};
12.5) ban user{}
This line is the same as the old K:Lines. It bans a host mask from connecting.
Syntax:
ban user { mask <ident@host>; reason "<reason>"; };
13.0) except{} (Cannot Be Banned):
Used to make sure your own IRCops dont ban you, or so you dont accidently ban an entire
nation's worth of addresses, etc.
13.1) except ban{}
This is so a realname and user cannot be banned.
Syntax:
except ban {
mask <ident@host>;
};
13.2) except socks{}
This line is used so the socks server does not ban a client.
Syntax:
except socks {
mask 216.73.27.177;
};
14.0) vhost{} (Vanity Hosts):
The vhost{} line is used so a user can change their hostname from blah.dialup.com to
a more fun hostname such as tends.to.write.some.really.evildocs.net
/vhost <login> <password>
14.1) Syntax:
vhost {
vhost <vhost>;
from {
userhost <mask>;
};
login <login>;
password <password>;
};
14.2) Variables:
<vhost> Name of the vhost to use (vhost)
<mask> Allowed masks to use the vhost (ident@host)
<login> A login name to use (login)
<password> Password to supply with login (password)
+47 -4
View File
@@ -648,6 +648,48 @@
Example : SHUN +foobar@aol.com 600 :Spamming (Shuns foobar@aol.com for 10 mins for Spamming)
SHUN +foobar@aol.com 1d6h :Spamming (Adds a 30 hour SHUN)
*** GZLINE Command ***
This command provides timed global Z:line. If you match a Global Z:Line you cannot
connect to ANY server on the IRC network
A time of 0 in the GZLINE makes it permanent (Never Expires).
You may also specify the time in the format 1d10h15m30s.
IRC Operator only command.
Syntax: GZLINE <user@host mask> <seconds to be banned> :<reason>
(Adds a Global Z:line for user@host)
GZLINE -<user@host mask> (Removes a Global Z:line for user@host)
Example: GZLINE *@*.dal.net 900 :Spammers (Adds a 15 min Global Z:line)
GZLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Global Z:line)
*** TKLINE Command ***
This command provides timed K:Lines. If you match a time K:Line you cannot
connect to the server until the time has expired
A time of 0 in the TKLINE makes it permanent (Never Expires).
You may also specify the time in the format 1d10h15m30s.
IRC Operator only command.
Syntax: TKLINE <user@host mask> <seconds to be banned> :<reason>
(Adds a Timed K:line for user@host)
TKLINE -<user@host mask> (Removes a Timed K:line for user@host)
Example: TKLINE *@*.dal.net 900 :Spammers (Adds a 15 min Timed K:line)
TKLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Timed K:line)
*** TZLINE Command ***
This command provides timed G:Lines. If you match a Timed Z:Line you cannot
connect to the server until the time has expired
A time of 0 in the TZLINE makes it permanent (Never Expires).
You may also specify the time in the format 1d10h15m30s.
IRC Operator only command.
Syntax: TZLINE <user@host mask> <seconds to be banned> :<reason>
(Adds a Timed Z:line for user@host)
TZLINE -<user@host mask> (Removes a Timed Z:line for user@host)
Example: TZLINE *@*.dal.net 900 :Spammers (Adds a 15 min Timed Z:line)
TZLINE *@*.dal.net 1d5h :Spammers (Adds a 29 hour Timed Z:line)
*** AKILL Command *** (Use Services AKILL Instead)
Adds an Autokill for the specific host mask. This prevents any user from that
@@ -870,10 +912,11 @@
*** MKPASSWD Command ***
This command will encrypt the string it has been given
So u can add it directly to the ircd.conf if you use
Encrypted passwords.
So u 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.
Syntax : MKPASSWD <string to be encrypted>
Syntax : MKPASSWD <method> <password>
*** TSCTL Command ***
@@ -1059,4 +1102,4 @@
H = Gets +x on oper up.
W = Gets +W on oper up.
^ = Allows to use umode +I
* = Flags AaNCTzSHW^
* = Flags AaNCTzSHW^
+1 -1
View File
@@ -139,7 +139,7 @@ int create_client(const char *hostname, const int hostport) {
/* winlocal
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) < 0)
*/
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) // winlocal
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) == -1) // winlocal
fatal("socket");
name_to_number(AF_INET, hostname, hostport, &hostaddr, &adlen);
+33 -1
View File
@@ -1 +1,33 @@
...
These are 3rd party programs modules, or unsupported modules.
Custom modules are compiled by copying them to src/modules
and running from the root directory
$ make custommodule MODULEFILE=modulename
This will produce a .so you can load. Upon load, this will show a "3" in the
/version flags, as it contains third party modules (we do not support if it
crashes because of the tainted module)
======================
Name: burst.c
Description:
Little program to test out the different aspects of the unreal protocol and
produce net.burst dumps
======================
Name: pthreads.tar.gz
Description:
FSU Pthreads, used on some systems
=======================
Name: m_rawto.c
Is a 3rd party module
Description:
Implements the RAWTO command, will allow U:lines to send raw data to
anywhere it pleases.
:uline.server RAWTO towho :what to send
+157
View File
@@ -0,0 +1,157 @@
/*
* Unreal Internet Relay Chat Daemon, m_rawto.c
* (C) 2002 Carsten V. Munk
* RAWTO Module - 3rd party
*
* 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.
*
* Use of this module will make it a 3rd party module, and will
* add to your /version thing. We DO NOT SUPPORT THIS.
*/
#include "config.h"
#include "struct.h"
#include "common.h"
#include "sys.h"
#include "numeric.h"
#include "msg.h"
#include "channel.h"
#include <time.h>
#include <sys/stat.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef _WIN32
#include <io.h>
#endif
#include <fcntl.h>
#include "h.h"
#include "proto.h"
#ifdef STRIPBADWORDS
#include "badwords.h"
#endif
#ifdef _WIN32
#include "version.h"
#endif
DLLFUNC int m_rawto(aClient *cptr, aClient *sptr, int parc, char *parv[]);
/* Place includes here */
#define MSG_RAWTO "RAWTO" /* */
#define TOK_RAWTO "3A" /* 112 */
#ifndef DYNAMIC_LINKING
ModuleHeader m_rawto_Header
#else
#define m_rawto_Header Mod_Header
ModuleHeader Mod_Header
#endif
= {
"rawto", /* Name of module */
"$Id$", /* Version */
"command /rawto", /* Short description of module */
"3.2-b5",
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(int module_load)
#else
int m_rawto_Init(int module_load)
#endif
{
/*
* We call our add_Command crap here
*/
add_Command(MSG_RAWTO, TOK_RAWTO, m_rawto, 2);
tainted++;
return MOD_SUCCESS;
}
/* Is first run when server is 100% ready */
#ifdef DYNAMIC_LINKING
DLLFUNC int Mod_Load(int module_load)
#else
int m_rawto_Load(int module_load)
#endif
{
return MOD_SUCCESS;
}
/* Called when module is unloaded */
#ifdef DYNAMIC_LINKING
DLLFUNC int Mod_Unload(int module_unload)
#else
int m_rawto_Unload(int module_unload)
#endif
{
if (del_Command(MSG_RAWTO, TOK_RAWTO, m_rawto) < 0)
{
sendto_realops("Failed to delete commands when unloading %s",
m_rawto_Header.name);
}
tainted--;
return MOD_SUCCESS;
}
/*
* m_rawto Send a raw string to anywhere
* if you are U:line
* parv[0] = sender prefix
* parv[1] = whoto
* parv[2] = string
*/
DLLFUNC int m_rawto(aClient *cptr, aClient *sptr, int parc, char *parv[])
{
aClient *acptr = NULL;
if (!IsULine(sptr))
{
sendto_one(sptr, err_str(ERR_NOPRIVILEGES), me.name, parv[0]);
return -1;
}
if (parc < 3)
{
sendto_one(sptr, err_str(ERR_NEEDMOREPARAMS),
me.name, parv[0], "RAWTO");
return -1;
}
if ((acptr = find_client(parv[1], NULL)))
{
if (MyConnect(acptr))
{
sendto_one(acptr, "%s", parv[2]);
return 0;
}
else
{
sendto_one(acptr, ":%s %s %s :%s",
parv[0], IsToken(acptr->from) ? TOK_RAWTO : MSG_RAWTO,
parv[1], parv[2]);
return 0;
}
}
return 0;
}
+1079
View File
File diff suppressed because it is too large Load Diff
Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 52 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 453 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 451 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 447 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 449 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 445 B

+4 -4
View File
@@ -30,10 +30,10 @@ typedef struct {
#define AUTHTYPE_SHA1 3
#define AUTHTYPE_SSL_PUBKEY 4
#ifdef USE_SSL
//#define AUTHENABLE_MD5
//#define AUTHENABLE_SHA1
//#define AUTHENABLE_SSL_PUBKEY
#ifdef USE_SSL
#define AUTHENABLE_MD5
#define AUTHENABLE_SHA1
#define AUTHENABLE_SSL_PUBKEY
/* OpenSSL provides a crypt() */
#ifndef AUTHENABLE_UNIXCRYPT
#define AUTHENABLE_UNIXCRYPT
-24
View File
@@ -1,24 +0,0 @@
// $Id$
#include <windows.h>
#define CIOCLASS "CioClass"
#ifndef CIO
#define CIO
typedef struct tag_CioLine {
BYTE *Data;
WORD Len;
struct tag_CioLine *Prev, *Next;
} CioLine;
typedef struct tag_CioWndInfo {
CioLine *FirstLine, *CurLine;
int Lines, Scroll;
int Width, Height, XChar, YChar, YJunk, ScrollMe;
HFONT hFont;
BYTE FR, FG, FB;
} CioWndInfo;
#endif
-21
View File
@@ -1,21 +0,0 @@
// $Id$
#include "Cio.h"
#define GWL_USER 0
#define CIO_ADDSTRING WM_USER
#define CIO_CLEAR WM_USER+1
// Cio_Init.c
BOOL Cio_Init(HINSTANCE hInstance);
// Cio_Main.c
LRESULT CALLBACK Cio_WndProc(HWND, UINT, WPARAM, LPARAM);
HWND Cio_Create(HINSTANCE hInstance, HWND hParent, DWORD Style, int X, int Y,
int W, int H);
BOOL Cio_WndCreate(HWND hWnd);
BOOL Cio_WndPaint(HWND hWnd);
BOOL Cio_WndDestroy(HWND hWnd);
BOOL Cio_WndAddString(HWND hWnd, int Len, char *Buffer);
BOOL Cio_WndSize(HWND hWnd, LPARAM lParam);
void Cio_Scroll(HWND hWnd, CioWndInfo * CWI, int Scroll);
BOOL Cio_PrintF(HWND hWnd, char *InBuf, ...);
+8 -16
View File
@@ -22,14 +22,6 @@
#ifndef __class_include__
#define __class_include__
#ifndef PROTO
#if __STDC__
# define PROTO(x) x
#else
# define PROTO(x) ()
#endif
#endif
typedef struct Class {
int class;
int conFreq;
@@ -59,13 +51,13 @@ typedef struct Class {
extern aClass *classes;
extern aClass *find_class PROTO((int));
extern int get_conf_class PROTO((aConfItem *));
extern int get_client_class PROTO((aClient *));
extern int get_client_ping PROTO((aClient *));
extern int get_con_freq PROTO((aClass *));
extern void add_class PROTO((int, int, int, int, long));
extern void check_class PROTO((void));
extern void initclass PROTO((void));
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__ */
+62 -44
View File
@@ -29,7 +29,6 @@
#include <winsock.h>
#include <process.h>
#include <io.h>
//#include "struct.h"
#endif
#include "dynconf.h"
#include "ircsprintf.h"
@@ -37,18 +36,11 @@
#ifdef PARAMH
#include <sys/param.h>
#endif
#if !defined(IN_ADDR)
#include "sys.h"
#endif
#ifndef PROTO
#if __STDC__
# define PROTO(x) x
#else
# define PROTO(x) ()
#endif
#endif
#ifdef DEVELOP_CVS
#define ID_Copyright(x) static char id_copyright[] = x
#define ID_Notes(x) static char id_notes[] = x
@@ -96,38 +88,38 @@ void free();
#define TS time_t
extern int match PROTO((char *, char *));
extern int match(char *, char *);
#define mycmp(a,b) \
( (toupper((a)[0])!=toupper((b)[0])) || smycmp((a)+1,(b)+1) )
extern int smycmp PROTO((char *, char *));
( (toupper(a[0])!=toupper(b[0])) || smycmp((a)+1,(b)+1) )
extern int smycmp(char *, char *);
#ifndef GLIBC2_x
extern int myncmp PROTO((char *, char *, int));
extern int myncmp(char *, char *, int);
#endif
#ifdef NEED_STRTOK
extern char *strtok2 PROTO((char *, char *));
extern char *strtok2(char *, char *);
#endif
#ifdef NEED_STRTOKEN
extern char *strtoken PROTO((char **, char *, char *));
extern char *strtoken(char **, char *, char *);
#endif
#ifdef NEED_INET_ADDR
extern unsigned long inet_addr PROTO((char *));
extern unsigned long inet_addr(char *);
#endif
#if defined(NEED_INET_NTOA) || defined(NEED_INET_NETOF) && !defined(_WIN32)
#include <netinet/in.h>
#endif
#ifdef NEED_INET_NTOA
extern char *inet_ntoa PROTO((struct IN_ADDR));
extern char *inet_ntoa(struct IN_ADDR);
#endif
#ifdef NEED_INET_NETOF
extern int inet_netof PROTO((struct IN_ADDR));
extern int inet_netof(struct IN_ADDR);
#endif
int global_count, max_global_count;
extern char *myctime PROTO((time_t));
extern char *strtoken PROTO((char **, char *, char *));
extern char *myctime(time_t);
extern char *strtoken(char **, char *, char *);
#define PRECISE_CHECK
@@ -138,7 +130,7 @@ extern char *strtoken PROTO((char **, char *, char *));
#define MIN(a, b) ((a) < (b) ? (a) : (b))
#endif
#define DupString(x,y) do{x=MyMalloc(strlen(y)+1);(void)strcpy(x,y);}while(0)
#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[];
@@ -148,10 +140,10 @@ extern u_char tolowertab[], touppertab[];
#ifndef USE_LOCALE
#undef tolower
#define tolower(c) (tolowertab[(c)])
#define tolower(c) (tolowertab[(u_char)(c)])
#undef toupper
#define toupper(c) (touppertab[(c)])
#define toupper(c) (touppertab[(u_char)(c)])
#undef isalpha
#undef isdigit
@@ -191,8 +183,8 @@ extern unsigned char char_atribs[];
#define islower(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) > 0x5f))
#define isupper(c) ((char_atribs[(u_char)(c)]&ALPHA) && ((u_char)(c) < 0x60))
#define isdigit(c) (char_atribs[(u_char)(c)]&DIGIT)
#define isxdigit(c) (isdigit(c) || 'a' <= (c) && (c) <= 'f' || \
'A' <= (c) && (c) <= 'F')
#define isxdigit(c) (isdigit(c) || ('a' <= (c) && (c) <= 'f') || \
('A' <= (c) && (c) <= 'F'))
#define isalnum(c) (char_atribs[(u_char)(c)]&(DIGIT|ALPHA))
#define isprint(c) (char_atribs[(u_char)(c)]&PRINT)
#define isascii(c) ((u_char)(c) >= 0 && (u_char)(c) <= 0x7f)
@@ -205,7 +197,7 @@ extern unsigned char char_atribs[];
#define MyMalloc malloc
#define MyRealloc realloc
#else
#define MyFree(x) ircd_log("%s:%i: free %02x", __FILE__, __LINE__, x); free(x)
#define MyFree(x) do {debug(DEBUG_MALLOC, "%s:%i: free %02x", __FILE__, __LINE__, x); free(x); } while(0)
#define MyMalloc(x) StsMalloc(x, __FILE__, __LINE__)
#define MyRealloc realloc
static char *StsMalloc(size_t size, char *file, long line)
@@ -213,7 +205,7 @@ static char *StsMalloc(size_t size, char *file, long line)
void *x;
x = malloc(size);
ircd_log("%s:%i: malloc %02x", file, line, x);
debug(DEBUG_MALLOC, "%s:%i: malloc %02x", file, line, x);
return x;
}
@@ -257,21 +249,49 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
" NETWORK=%s" \
" :are supported by this server"
#define PROTOCTL_PARAMETERS MAXWATCH, \
MAXSILES, \
MAXMODEPARAMS, \
MAXCHANNELSPERUSER, \
MAXBANS, \
NICKLEN, \
TOPICLEN, \
TOPICLEN, \
"#", \
"(ohv)@%+", \
"ohvbeqa", \
"k", \
"lfL", \
"psmntirRcOAQKVHGCuzN", \
ircnet005
#define PROTOCTL_CLIENT_1 \
"MAP" \
" KNOCK" \
" SAFELIST" \
" HCN" \
" MAXCHANNELS=%i" \
" MAXBANS=%i" \
" NICKLEN=%i" \
" TOPICLEN=%i" \
" KICKLEN=%i" \
" MAXTARGETS=%i" \
" :are supported by this server"
#define PROTOCTL_PARAMETERS_1 \
MAXCHANNELSPERUSER, \
MAXBANS, \
NICKLEN, \
TOPICLEN, \
TOPICLEN, \
MAXTARGETS
#define PROTOCTL_CLIENT_2 \
"WALLCHOPS" \
" WATCH=%i" \
" SILENCE=%i" \
" MODES=%i" \
" CHANTYPES=%s" \
" PREFIX=%s" \
" CHANMODES=%s,%s,%s,%s" \
" NETWORK=%s" \
" :are supported by this server"
#define PROTOCTL_PARAMETERS_2 \
MAXWATCH, \
MAXSILES, \
MAXMODEPARAMS, \
"#", \
"(ohv)@%+", \
"ohvbeqa", \
"k", \
"lfL", \
"psmntirRcOAQKVHGCuzN", \
ircnet005
/* Server-Server PROTOCTL -Stskeeps */
#define PROTOCTL_SERVER "NOQUIT" \
@@ -293,11 +313,9 @@ extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
*/
extern int DisplayString(HWND hWnd, char *InBuf, ...);
#undef strerror
// winlocal
#else
typedef int SOCKET;
#define INVALID_SOCKET -1
// winlocal
#endif
#if defined(__FreeBSD__) || defined(__APPLE__)
+12 -34
View File
@@ -86,7 +86,7 @@
* Defining this will allow all ircops to see people in +s channels
* By default, only net/tech admins can see this
*/
#undef SEE_SECRET
#define SHOW_SECRET
/*
* This allows you to see modes in /list
@@ -103,6 +103,13 @@
*/
#define PROPER_COREDUMP
/*
* If channel mode is +z, only send to secure links & people
*
*/
#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
@@ -148,6 +155,7 @@
* 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
/*
@@ -328,36 +336,6 @@
*/
#define CMDLINE_CONFIG /* allow conf-file to be specified on command line */
/*
* If you wish to have the server send 'vital' messages about server
* through syslog, define USE_SYSLOG. Only system errors and events critical
* to the server are logged although if this is defined with FNAME_USERLOG,
* syslog() is used instead of the above file. It is not recommended that
* this option is used unless you tell the system administrator beforehand
* and obtain their permission to send messages to the system log files.
*/
#ifndef _WIN32
#undef USE_SYSLOG
#endif
#ifdef USE_SYSLOG
/*
* If you use syslog above, you may want to turn some (none) of the
* spurious log messages for KILL/SQUIT off.
*/
#undef SYSLOG_KILL /* log all operator kills to syslog */
#undef SYSLOG_SQUIT /* log all remote squits for all servers to syslog */
#undef SYSLOG_CONNECT /* log remote connect messages for other all servs */
#undef SYSLOG_USERS /* send userlog stuff to syslog */
#undef SYSLOG_OPER /* log all users who successfully become an Op */
/*
* If you want to log to a different facility than DAEMON, change
* this define.
*/
#define LOG_FACILITY LOG_DAEMON
#endif /* USE_SYSLOG */
/*
* Size of the LISTEN request. Some machines handle this large
* without problem, but not all. It defaults to 5, but can be
@@ -441,7 +419,7 @@
*/
#define MAXTARGETS 20
#define TARGET_DELAY 120
#define TARGET_DELAY 15
/* STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP STOP */
@@ -616,14 +594,14 @@
#ifdef BSD_RELIABLE_SIGNALS
# if defined(SYSV_UNRELIABLE_SIGNALS) || defined(POSIX_SIGNALS)
error You stuffed up config.h signals
#defines use only one.
#define use only one.
# endif
#define HAVE_RELIABLE_SIGNALS
#endif
#ifdef SYSV_UNRELIABLE_SIGNALS
# ifdef POSIX_SIGNALS
error You stuffed up config.h signals
#defines use only one.
#define use only one.
# endif
#undef HAVE_RELIABLE_SIGNALS
#endif
+5 -13
View File
@@ -22,14 +22,6 @@
#ifndef __dbuf_include__
#define __dbuf_include__
#ifndef PROTO
#ifdef __STDC__
# define PROTO(x) x
#else
# define PROTO(x) ()
#endif /* __STDC__ */
#endif /* ! PROTO */
/*
** dbuf is a collection of functions which can be used to
** maintain a dynamic buffering of a byte stream.
@@ -76,7 +68,7 @@ typedef struct dbufbuf {
** returns > 0, if operation successfull
** < 0, if failed (due memory allocation problem)
*/
int dbuf_put PROTO((dbuf *, char *, int));
int dbuf_put(dbuf *, char *, int);
/* Dynamic buffer header */
/* Pointer to data to be stored */
/* Number of bytes to store */
@@ -96,7 +88,7 @@ int dbuf_put PROTO((dbuf *, char *, int));
** Negative return values indicate some unspecified
** error condition, rather fatal...
*/
int dbuf_get PROTO((dbuf *, char *, int));
int dbuf_get(dbuf *, char *, int);
/* Dynamic buffer header */
/* Pointer to buffer to receive the data */
/* Max amount of bytes that can be received */
@@ -125,11 +117,11 @@ int dbuf_get PROTO((dbuf *, char *, int));
** Note: delete can be used alone, there is no real binding
** between map and delete functions...
*/
char *dbuf_map PROTO((dbuf *, int *));
char *dbuf_map(dbuf *, int *);
/* Dynamic buffer header */
/* Return number of bytes accessible */
int dbuf_delete PROTO((dbuf *, int));
int dbuf_delete(dbuf *, int);
/* Dynamic buffer header */
/* Number of bytes to delete */
@@ -148,6 +140,6 @@ int dbuf_delete PROTO((dbuf *, int));
*/
#define DBufClear(dyn) dbuf_delete((dyn),DBufLength(dyn))
extern int dbuf_getmsg PROTO((dbuf *, char *, int));
extern int dbuf_getmsg(dbuf *, char *, int);
#endif /* __dbuf_include__ */
+2 -6
View File
@@ -64,14 +64,12 @@ struct zConfiguration {
char *name_server;
char *kline_address;
long conn_modes;
long oper_modes;
char *auto_join_chans;
char *oper_auto_join_chans;
char *oper_only_stats;
int socksbantime;
int maxchannelsperuser;
int anti_spam_quit_message_time;
char *socksbanmessage;
char *socksquitmessage;
aNetwork network;
};
@@ -81,6 +79,7 @@ extern aConfiguration iConf;
#define KLINE_ADDRESS iConf.kline_address
#define CONN_MODES iConf.conn_modes
#define OPER_MODES iConf.oper_modes
#define SHOWOPERMOTD iConf.som
#define HIDE_ULINES iConf.hide_ulines
#define ALLOW_CHATOPS iConf.allow_chatops
@@ -91,9 +90,6 @@ extern aConfiguration iConf;
#define OPER_AUTO_JOIN_CHANS iConf.oper_auto_join_chans
#define HOST_TIMEOUT iConf.host_timeout
#define HOST_RETRIES iConf.host_retries
#define SOCKSBANMSG iConf.socksbanmessage
#define SOCKSQUITMSG iConf.socksquitmessage
#define SOCKSBANTIME iConf.socksbantime
#define NAME_SERVER iConf.name_server
#define IDENT_CHECK iConf.ident_check
#define FAILOPER_WARN iConf.fail_oper_warn
+1 -29
View File
@@ -18,32 +18,4 @@
*
* $Id$
*/
#define EVENT(x) void (x) (void *data)
typedef struct _event Event;
struct _event {
Event *prev, *next;
char *name;
time_t every;
long howmany;
vFP event;
void *data;
time_t last;
};
Event *EventAdd(char *name, long every, long howmany,
vFP event, void *data);
Event *EventDel(Event *event);
Event *EventFind(char *name);
void EventModEvery(Event *event, long every);
void DoEvents(void);
void EventStatus(aClient *sptr);
void SetupEvents(void);
#include "modules.h"
+121 -18
View File
@@ -28,7 +28,8 @@
#ifndef NO_FDLIST
#include "fdlist.h"
#endif
extern char *extraflags;
extern int tainted;
/* for the new s_err.c */
extern char *getreply(int);
#define rpl_str(x) getreply(x)
@@ -44,12 +45,13 @@ extern struct stats *ircstp;
extern int bootopt;
extern time_t TSoffset;
/* Prototype added to force errors -- Barubary */
extern TS check_pings(TS now, int check_kills);
extern TS check_pings(TS now);
extern TS TS2ts(char *s);
extern time_t timeofday;
/* newconf */
#define get_sendq(x) ((x)->class ? (x)->class->sendq : MAXSENDQLENGTH)
#define CMD_FUNC(x) int (x) (aClient *cptr, aClient *sptr, int parc, char *parv[])
#ifndef NO_FDLIST
extern float currentrate;
@@ -75,6 +77,7 @@ extern ConfigItem_admin *conf_admin;
extern ConfigItem_admin *conf_admin_tail;
extern ConfigItem_drpass *conf_drpass;
extern ConfigItem_ulines *conf_ulines;
extern ConfigItem_ssl *conf_ssl;
extern ConfigItem_tld *conf_tld;
extern ConfigItem_oper *conf_oper;
extern ConfigItem_listen *conf_listen;
@@ -95,9 +98,17 @@ extern ConfigItem_unknown *conf_unknown;
extern ConfigItem_unknown_ext *conf_unknown_set;
extern ConfigItem_alias *conf_alias;
extern ConfigItem_include *conf_include;
extern ConfigItem_help *conf_help;
extern void clear_unknown();
extern EVENT(tkl_check_expire);
extern EVENT(e_unload_module_delayed);
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);
extern void config_error(char *format, ...);
extern void config_progress(char *format, ...);
extern void ipport_seperate(char *string, char **ip, char **port);
ConfigItem_class *Find_class(char *name);
ConfigItem_deny_dcc *Find_deny_dcc(char *name);
ConfigItem_oper *Find_oper(char *name);
@@ -111,6 +122,7 @@ ConfigItem_ban *Find_banEx(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);
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);
@@ -124,9 +136,10 @@ extern 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 int del_banid(aChannel *chptr, char *banid);
extern int del_exbanid(aChannel *chptr, char *banid);
#ifdef SHOWCONNECTINFO
@@ -149,13 +162,16 @@ extern int R_do_dns, R_fin_dns, R_fin_dnsc, R_fail_dns,
extern inline aCommand *find_Command(char *cmd, short token, int flags);
extern aCommand *find_Command_simple(char *cmd);
extern aChannel *find_channel(char *, aChannel *);
extern Membership *find_membership_link(Membership *lp, aChannel *ptr);
extern Member *find_member_link(Member *, aClient *);
extern void remove_user_from_channel(aClient *, aChannel *);
extern char *base64enc(long);
extern long base64dec(char *);
extern void add_server_to_table(aClient *);
extern void remove_server_from_tabel(aClient *);
extern void remove_server_from_table(aClient *);
extern void iNAH_host(aClient *sptr, char *host);
extern void set_snomask(aClient *sptr, char *snomask);
extern char *get_sno_str(aClient *sptr);
/* for services */
extern void del_invite(aClient *, aChannel *);
extern int del_silence(aClient *, char *);
@@ -190,6 +206,13 @@ extern char *strerror(int);
extern int dgets(int, char *, int);
extern char *inetntoa(char *);
#if !defined(HAVE_SNPRINT) || !defined(HAVE_VSNPRINTF)
#ifndef _WIN32
extern int snprintf (char *str, size_t count, const char *fmt, ...);
extern int vsnprintf (char *str, size_t count, const char *fmt, va_list arg);
#endif
#endif
#ifdef _WIN32
extern int dbufalloc, dbufblocks, debuglevel;
#else
@@ -233,9 +256,23 @@ 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, ...);
extern void sendto_connectnotice(char *nick, anUser *user, aClient *sptr);
extern void sendto_serv_butone_nickcmd(aClient *one, aClient *sptr, char *nick, int hopcount,
int lastnick, char *username, char *realhost, char *server, long servicestamp, char *info, char *umodes,
char *virthost);
extern void sendto_channels_inviso_part(aClient *user);
extern void sendto_channels_inviso_join(aClient *user);
extern void sendto_message_one(aClient *to, aClient *from, char *sender,
char *cmd, char *nick, char *msg);
extern void sendto_channelprefix_butone_tok(aClient *one, aClient *from, aChannel *chptr,
int prefix, char *cmd, char *tok, char *nick, char *text);
extern void sendto_channel_butone(aClient *, aClient *, aChannel *, char *,
...);
extern void sendto_channelops_butone(aClient *, aClient *, aChannel *,
@@ -261,14 +298,21 @@ extern void sendto_failops(char *, ...);
extern void sendto_opers(char *, ...);
extern void sendto_umode(int, char *, ...);
extern void sendto_conn_hcn(char *, ...);
extern void sendto_snomask(int snomask, char *pattern, ...);
extern 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);
extern char *stripbadwords_channel(char *str);
extern unsigned char *StripColors(unsigned char *);
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 char *get_client_name(aClient *, int);
extern char *get_client_host(aClient *);
extern char *my_name_for_link(char *, aConfItem *);
extern char *myctime(time_t), *date(time_t);
extern int exit_client(aClient *, aClient *, aClient *, char *);
extern void initstats(), tstats(aClient *, char *);
@@ -278,12 +322,14 @@ extern char *make_user_host(char *, char *);
extern int parse(aClient *, char *, char *);
extern int do_numeric(int, aClient *, aClient *, int, char **);
extern int hunt_server(aClient *, aClient *, char *, int, int, char **);
extern int hunt_server_token(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 ch);
extern int umode_delete(char ch, long val);
extern void send_umode(aClient *, aClient *, long, long, char *);
extern void send_umode_out(aClient *, aClient *, long);
@@ -307,7 +353,11 @@ extern void add_client_to_list(aClient *);
extern void checklist();
extern void remove_client_from_list(aClient *);
extern void initlists();
#ifndef _WIN32
extern struct hostent *get_res(char *);
#else
extern struct hostent *get_res(char *, long);
#endif
extern struct hostent *gethost_byaddr(char *, Link *);
extern struct hostent *gethost_byname(char *, Link *);
extern void flush_cache();
@@ -337,7 +387,7 @@ extern char *find_by_aln(char *);
extern char *convert2aln(int);
extern int convertfromaln(char *);
extern char *find_server_aln(char *);
extern atime(char *xtime);
extern time_t atime(char *xtime);
/* Mode externs
@@ -369,6 +419,15 @@ extern long UMODE_HIDEOPER; /* 0x20000000 Hide oper mode */
extern long UMODE_SETHOST; /* 0x40000000 used sethost */
extern long UMODE_STRIPBADWORDS; /* 0x80000000 */
#ifndef HAVE_STRLCPY
size_t strlcpy(char *dst, const char *src, size_t size);
#endif
#ifndef HAVE_STRLCAT
size_t strlcat(char *dst, const char *src, size_t size);
#endif
#ifndef HAVE_STRLNCAT
size_t strlncat(char *dst, const char *src, size_t size, size_t n);
#endif
extern int dopacket(aClient *, char *, int);
@@ -392,17 +451,19 @@ extern char *inetntop(int af, const void *in, char *local_dummy,
char *Inet_si2p(struct SOCKADDR_IN *sin);
char *Inet_si2pB(struct SOCKADDR_IN *sin, char *buf, int sz);
char *Inet_ia2p(struct IN_ADDR *ia);
char *Inet_ia2pNB(struct IN_ADDR *ia, int compressed);
/*
* CommandHash -Stskeeps
*/
extern aCommand *CommandHash[256];
void init_CommandHash(void);
void add_Command_backend(char *cmd, int (*func)(), unsigned char parameters, unsigned char token, int flags);
void add_Command(char *cmd, char *token, int (*func)(), unsigned char parameters);
void add_Command_to_list(aCommand *item, aCommand **list);
aCommand *del_Command_from_list(aCommand *item, aCommand **list);
int del_Command(char *cmd, char *token, int (*func)());
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);
extern void add_Command_to_list(aCommand *item, aCommand **list);
extern aCommand *del_Command_from_list(aCommand *item, aCommand **list);
extern int del_Command(char *cmd, char *token, int (*func)());
extern void add_CommandX(char *cmd, char *token, int (*func)(), unsigned char parameters, int flags);
/* CRULE */
char *crule_parse(char *);
@@ -428,6 +489,48 @@ extern anAuthStruct *Auth_ConvertConf2AuthStruct(ConfigEntry *ce);
extern void Auth_DeleteAuthStruct(anAuthStruct *as);
extern int Auth_Check(aClient *cptr, anAuthStruct *as, char *para);
extern char *Auth_Make(short type, char *para);
extern long xbase64dec(char *b64);
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 char *make_virthost(char *curr, char *new, 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 void tkl_synch(aClient *sptr);
extern void dcc_sync(aClient *sptr);
extern void report_flines(aClient *sptr);
extern void report_network(aClient *sptr);
extern void report_dynconf(aClient *sptr);
extern void count_memory(aClient *cptr, char *nick);
extern void list_scache(aClient *sptr);
extern void ns_stats(aClient *cptr);
extern char *oflagstr(long oflag);
extern int rehash(aClient *cptr, aClient *sptr, int sig);
extern int _match(char *mask, char *name);
extern void outofmemory(void);
extern unsigned long crc32(const unsigned char *s, unsigned int len);
extern int add_listener2(ConfigItem_listen *conf);
extern void link_cleanup(ConfigItem_link *link_ptr);
extern void listen_cleanup();
extern int numeric_collides(long numeric);
extern u_long cres_mem(aClient *sptr, char *nick);
extern void flag_add(char *ch);
extern void flag_del(char ch);
extern void init_dynconf(void);
extern int init_conf2(char *filename);
extern void validate_configuration(void);
extern void run_configuration(void);
extern aMotd *read_file(char *filename, aMotd **list);
CMD_FUNC(m_server_remote);
extern char *xbase64enc(long i);
extern void unload_all_modules(void);
extern void flush_fdlist_connections(fdlist * listp);
extern int set_blocking(int fd);
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);
#define EVENT_DRUGS BASE_VERSION
+3 -1
View File
@@ -33,7 +33,9 @@
#ifdef __STDC__
# ifndef _WIN32
extern __u_l inet_addr(char *);
extern char *inet_ntoa(struct IN_ADDR);
extern char *inet_ntoa(struct in_addr);
extern int inet_aton(const char *, struct in_addr *);
extern int inet_netof(struct in_addr);
# endif
extern __u_l inet_makeaddr(int, int);
extern __u_l inet_network(char *);
-11
View File
@@ -16,9 +16,6 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* This file may not be removed from the IRCd package.
* It will be a violation of copyright.
*
* $Id$
*/
@@ -27,14 +24,6 @@
*
*/
static char *Statement[] = {
" * This file may not be removed from the IRCd package.",
" * It will be a violation of copyright. This program must always",
" * stay free and not be charged for, being sold commercially or privately",
" * Only charge may be for the transport medium like one CD-ROM, floppy",
" * or other kinds.",
0
};
char *gnulicense[] = {
" \2UnrealIRCd License\2",
+121 -25
View File
@@ -18,12 +18,16 @@
*
* $Id$
*/
#ifndef MODULES_H
#define MODULES_H
#define MOD_VERSION "3.2-b5-1"
#define MOD_WE_SUPPORT "3.2-b5*"
#define MAXHOOKTYPES 20
#if defined(_WIN32) && !defined(STATIC_LINKING)
#define MAXCUSTOMHOOKS 30
#define MAXHOOKTYPES 60
typedef void (*vFP)(); /* Void function pointer */
typedef int (*iFP)(); /* Integer function pointer */
typedef char (*cFP)(); /* char * function pointer */
#if defined(_WIN32)
#define DLLFUNC _declspec(dllexport)
#define irc_dlopen(x,y) LoadLibrary(x)
#define irc_dlclose FreeLibrary
@@ -37,20 +41,22 @@
#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
#endif
typedef void (*vFP)(); /* Void function pointer */
typedef int (*iFP)(); /* Integer function pointer */
typedef char (*cFP)(); /* char * function pointer */
#define EVENT(x) void (x) (void *data)
/*
* For resolving symbols
* Look further down for definition of the structure
*/
typedef struct _mod_symboltable Mod_SymbolDepTable;
typedef struct _event Event;
typedef struct _eventinfo EventInfo;
typedef struct _irchook Hook;
typedef struct _hooktype Hooktype;
/*
* Module header that every module must include, with the name of
@@ -76,6 +82,49 @@ typedef struct _ModuleChild
Module *child; /* Aww. aint it cute? */
} ModuleChild;
typedef struct {
int size;
int module_load;
Module *handle;
} ModuleInfo;
#define MOBJ_EVENT 0x0001
#define MOBJ_HOOK 0x0002
#define MOBJ_COMMAND 0x0004
#define MOBJ_HOOKTYPE 0x0008
typedef struct _command {
struct _command *prev, *next;
aCommand *cmd, *tok;
} Command;
typedef struct _ModuleObject {
struct _ModuleObject *prev, *next;
short type;
union {
Event *event;
Hook *hook;
Command *command;
Hooktype *hooktype;
} object;
} ModuleObject;
struct _irchook {
Hook *prev, *next;
short type;
union {
int (*intfunc)();
void (*voidfunc)();
} func;
Module *owner;
};
struct _hooktype {
short id;
char *string;
ModuleChild *parents;
};
/*
* What we use to keep track internally of the modules
*/
@@ -93,9 +142,8 @@ struct _Module
#endif
unsigned char flags; /* 8-bits for flags .. */
ModuleChild *children;
ModuleObject *objects;
};
/*
* Symbol table
*/
@@ -118,9 +166,47 @@ struct _mod_symboltable
#else
#define MOD_Dep(name, container,module) {(void *)&name, (vFP *) &container}
#endif
/* Event structs */
struct _event {
Event *prev, *next;
char *name;
time_t every;
long howmany;
vFP event;
void *data;
time_t last;
Module *owner;
};
#define EMOD_EVERY 0x0001
#define EMOD_HOWMANY 0x0002
#define EMOD_NAME 0x0004
#define EMOD_EVENT 0x0008
#define EMOD_DATA 0x0010
struct _eventinfo {
int flags;
long howmany;
time_t every;
char *name;
vFP event;
void *data;
};
#define EventAdd(name, every, howmany, event, data) EventAddEx(NULL, name, every, howmany, event, data)
Event *EventAddEx(Module *, char *name, long every, long howmany,
vFP event, void *data);
Event *EventDel(Event *event);
Event *EventFind(char *name);
int EventMod(Event *event, EventInfo *mods);
void DoEvents(void);
void EventStatus(aClient *sptr);
void SetupEvents(void);
void LockEventSystem(void);
void UnlockEventSystem(void);
extern Hook *Hooks[MAXHOOKTYPES];
extern Hooktype Hooktypes[MAXCUSTOMHOOKS];
extern Hook *global_i;
void Module_Init(void);
@@ -130,28 +216,37 @@ vFP Module_Sym(char *name);
vFP Module_SymX(char *name, Module **mptr);
int Module_free(Module *mod);
#define add_Hook(hooktype, func) HookAddEx(hooktype, func, NULL)
#define del_Hook(hooktype, func) HookDelEx(hooktype, func, NULL)
#define HookAdd(hooktype, func) HookAddEx(hooktype, func, NULL)
#define HookDel(hooktype, func) HookDelEx(hooktype, func, NULL)
#ifdef __OpenBSD__
void *obsd_dlsym(void *handle, char *symbol);
#endif
#define add_HookX(hooktype, func1, func2) HookAddEx(hooktype, func1, func2)
#define del_HookX(hooktype, func1, func2) HookDelEx(hooktype, func1, func2)
#define add_Hook(hooktype, func) HookAddMain(NULL, hooktype, func, NULL)
#define HookAdd(hooktype, func) HookAddMain(NULL, hooktype, func, NULL)
#define HookAddEx(module, hooktype, func) HookAddMain(module, hooktype, func, NULL)
#define HookAddVoid(hooktype, func) HookAddMain(NULL, hooktype, NULL, func)
#define HookAddVoidEx(module, hooktype, func) HookAddMain(module, hooktype, NULL, func)
#define add_HookX(hooktype, func1, func2) HookAddMain(NULL, hooktype, func1, func2)
void HookAddEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
Hook *HookAddMain(Module *module, int hooktype, int (*intfunc)(), void (*voidfunc)());
Hook *HookDel(Hook *hook);
Hooktype *HooktypeAdd(Module *module, char *string, int *type);
void HooktypeDel(Hooktype *hooktype, Module *module);
#define RunHook0(hooktype) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next)(*(global_i->func.intfunc))()
#define RunHook(hooktype,x) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) (*(global_i->func.intfunc))(x)
#define RunHookReturn(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return
#define RunHookReturn(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return -1
#define RunHookReturnVoid(hooktype,x,ret) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) if((*(global_i->func.intfunc))(x) ret) return
#define RunHook2(hooktype,x,y) for (global_i = Hooks[hooktype]; global_i; global_i = global_i->next) (*(global_i->func.intfunc))(x,y)
Command *CommandAdd(Module *module, char *cmd, char *tok, int (*func)(), unsigned char params, int flags);
void CommandDel(Command *command);
/* Hook types */
#define HOOKTYPE_LOCAL_QUIT 1
#define HOOKTYPE_LOCAL_NICKCHANGE 2
#define HOOKTYPE_LOCAL_CONNECT 3
#define HOOKTYPE_SCAN_HOST 4 /* Taken care of in scan.c */
#define HOOKTYPE_SCAN_INFO 5 /* Taken care of in scan.c */
#define HOOKTYPE_CONFIG_UNKNOWN 6
#define HOOKTYPE_REHASH 7
@@ -160,7 +255,8 @@ void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
#define HOOKTYPE_GUEST 10
#define HOOKTYPE_SERVER_CONNECT 11
#define HOOKTYPE_SERVER_QUIT 12
#define HOOKTYPE_STATS 13
#define HOOKTYPE_LOCAL_JOIN 14
/* Module flags */
#define MODFLAG_NONE 0x0000
#define MODFLAG_LOADED 0x0001 /* (mod_load has been called and suceeded) */
@@ -169,4 +265,4 @@ void HookDelEx(int hooktype, int (*intfunc)(), void (*voidfunc)());
#define MOD_SUCCESS 0
#define MOD_FAILED -1
#define MOD_DELAY 2
#endif
+5 -1
View File
@@ -38,4 +38,8 @@ typedef struct _Scan_AddrStruct
extern EVENT(e_scannings_clean);
+7 -1
View File
@@ -61,4 +61,10 @@ char *GetHeader(HTTPd_Request *request, char *name);
void httpd_standard_header(HTTPd_Request *request, char *type);
void httpd_badrequest(HTTPd_Request *request, char *reason);
void sockprintf(HTTPd_Request *r, char *format, ...);
void httpd_sendfile(HTTPd_Request *r, char *filename);
void httpd_sendfile(HTTPd_Request *r, char *filename);
extern int parse_urlenc(HTTPd_Request *request);
extern void httpd_304_header(HTTPd_Request *request);
extern void httpd_500_header(HTTPd_Request *request, char *why);
extern void httpd_standard_headerX(HTTPd_Request *request, char *type, int extra);
+24 -29
View File
@@ -241,11 +241,11 @@
#define MSG_TSCTL "TSCTL"
#define TOK_TSCTL "AW"
#define MSG_SVSJOIN "SVSJOIN"
#define TOK_SVSJOIN "AX"
#define TOK_SVSJOIN "BR"
#define MSG_SAJOIN "SAJOIN"
#define TOK_SAJOIN "AY"
#define TOK_SAJOIN "AX"
#define MSG_SVSPART "SVSPART"
#define TOK_SVSPART "AX"
#define TOK_SVSPART "BT"
#define MSG_SAPART "SAPART"
#define TOK_SAPART "AY"
#define MSG_CHGIDENT "CHGIDENT"
@@ -292,44 +292,39 @@
#define MSG_MODULE "MODULE"
#define TOK_MODULE "BQ"
/* BR and BT are in use */
#define MAXPARA 15
extern int m_private(), m_topic(), m_join(), m_part(), m_mode(), m_svsmode();
extern int m_ping(), m_pong(), m_wallops(), m_kick(), m_svsnick();
extern int m_nick(), m_error(), m_notice(), m_samode(), m_svsnoop();
extern int m_invite(), m_quit(), m_kill(), m_svskill(), m_identify();
extern int m_akill(), m_kline(), m_unkline(), m_rakill(), m_sqline();
extern int m_zline(), m_unzline();
extern int m_gnotice(), m_goper(), m_globops(), m_locops(), m_unsqline(),
m_chatops();
extern int m_protoctl();
extern int m_motd(), m_whois(), m_user(), m_list();
extern int m_topic(), m_join(), m_part(), m_mode();
extern int m_wallops(), m_kick();
extern int m_nick(), m_error(), m_samode();
extern int m_invite(), m_svskill(), m_identify();
extern int m_chatops(), m_dns();
extern int m_gnotice(), m_goper(), m_globops(), m_locops();
extern int m_protoctl(), m_tkl();
extern int m_motd(), m_user(), m_list();
extern int m_server(), m_info(), m_links(), m_summon(), m_stats();
extern int m_users(), m_version(), m_help();
extern int m_services(), m_identify();
extern int m_squit(), m_away(), m_connect();
extern int m_oper(), m_pass(), m_trace();
extern int m_squit(), m_connect();
extern int m_pass(), m_trace();
extern int m_time(), m_names(), m_admin();
extern int m_lusers(), m_umode(), m_close();
extern int m_motd(), m_whowas(), m_silence();
extern int m_service(), m_userhost(), m_ison(), m_watch();
extern int m_service(), m_servset(), m_servlist(), m_squery();
extern int m_rehash(), m_restart(), m_die(), m_dns(), m_hash();
extern int m_gline(), m_remgline(), m_map(), m_svs2mode(), m_admins(),
m_dalinfo();
extern int m_addline(), m_rules(), m_mkpasswd();
extern int m_sethost(), m_nachat(), m_techat(), m_setident(), m_setname();
extern int m_lag(), m_sdesc(), m_knock(), m_credits();
extern int m_license(), m_chghost(), m_rping(), m_rpong();
extern int m_netinfo(), m_sendumode(), m_addmotd(), m_addomotd();
extern int m_svsmotd(), m_opermotd(), m_tsctl();
extern int m_remgline(), m_map(), m_dalinfo();
extern int m_addline(), m_rules();
extern int m_knock(),m_credits();
extern int m_license();
extern int m_netinfo(), m_addmotd(), m_addomotd();
extern int m_svsjoin(), m_sajoin(), m_svspart(), m_sapart();
extern int m_chgident(), m_swhois(), m_svso(), m_svsfline();
extern int m_tkl(), m_vhost(), m_botmotd(), m_sjoin(), m_htm();
extern int m_svsfline();
extern int m_vhost(), m_botmotd(), m_sjoin();
extern int m_umode2(), m_dccdeny(), m_undccdeny();
extern int m_chgname(), m_shun(), m_post(), m_cycle();
extern int m_module(), m_alias();
extern int m_post(), m_cycle(), m_opermotd();
extern int m_module(), m_alias(), m_tkl(), m_opermotd();
extern int m_hash(), m_rehash(), m_die(), m_restart();
#endif
-1
View File
@@ -56,7 +56,6 @@ char *my_itoa(int i);
/* s_kline.c */
int find_tkline_match(aClient *cptr, int xx);
extern EVENT(tkl_check_expire);
int tkl_sweep(void);
/* s_serv.c */
void load_tunefile(void);
+12 -1
View File
@@ -66,7 +66,18 @@ typedef struct cachetable {
#define ARES_CACSIZE 101
#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);
+16
View File
@@ -111,6 +111,12 @@
/* Define if you need bzero */
#undef NEED_BZERO
/* Define if you have syslog */
#undef HAVE_SYSLOG
/* Define if you have vsyslog */
#undef HAVE_VSYSLOG
/* Define if you want to allow SSL connections */
#undef USE_SSL
@@ -228,4 +234,14 @@
/* Define if you want IPv6 enabled */
#undef INET6
/* 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
+1 -1
View File
@@ -7,4 +7,4 @@ extern SSL_CTX * ctx;
extern SSL_METHOD *meth;
extern void init_ssl();
extern int ssl_handshake(aClient *); /* Handshake the accpeted con.*/
extern int ssl_client_handshake(aClient *); /* and the initiated con.*/
extern int ssl_client_handshake(aClient *, ConfigItem_link *); /* and the initiated con.*/
+146 -111
View File
@@ -1,4 +1,4 @@
/************************************************************************
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/struct.h
* Copyright (C) 1990 Jarkko Oikarinen and
* University of Oulu, Computing Center
@@ -40,7 +40,7 @@
# include <stddef.h>
#endif
#ifdef USE_SYSLOG
#ifdef HAVE_SYSLOG
# include <syslog.h>
# ifdef SYSSYSLOGH
# include <sys/syslog.h>
@@ -80,8 +80,10 @@ typedef struct _configitem_ulines ConfigItem_ulines;
typedef struct _configitem_tld ConfigItem_tld;
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_vhost ConfigItem_vhost;
typedef struct _configitem_ssl ConfigItem_ssl;
typedef struct _configitem_except ConfigItem_except;
typedef struct _configitem_link ConfigItem_link;
typedef struct _configitem_ban ConfigItem_ban;
@@ -96,6 +98,7 @@ typedef struct _configitem_unknown_ext ConfigItem_unknown_ext;
typedef struct _configitem_alias ConfigItem_alias;
typedef struct _configitem_alias_format ConfigItem_alias_format;
typedef struct _configitem_include ConfigItem_include;
typedef struct _configitem_help ConfigItem_help;
typedef struct liststruct ListStruct;
typedef struct Watch aWatch;
@@ -114,7 +117,6 @@ typedef struct Command aCommand;
typedef struct SMember Member;
typedef struct SMembership Membership;
typedef struct SMembershipL MembershipL;
typedef struct _irchook Hook;
#ifdef NEED_U_INT32_T
typedef unsigned int u_int32_t; /* XXX Hope this works! */
@@ -283,9 +285,12 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define SNO_TKL 0x0080
#define SNO_NICKCHANGE 0x0100
#define SNO_QLINE 0x0200
#define SNO_SNOTICE 0x0400
#define SNO_DEFOPER "+kcfvGq"
#define SNO_DEFUSER "+k"
#define SNO_DEFOPER "+kscfvGq"
#define SNO_DEFUSER "+ks"
#define SNO_NONOPERS (SNO_KILLS | SNO_SNOTICE)
#define SEND_UMODES (UMODE_INVISIBLE|UMODE_OPER|UMODE_WALLOP|UMODE_FAILOP|UMODE_HELPOP|UMODE_RGSTRONLY|UMODE_REGNICK|UMODE_SADMIN|UMODE_NETADMIN|UMODE_COADMIN|UMODE_ADMIN|UMODE_SERVICES|UMODE_HIDE|UMODE_WHOIS|UMODE_KIX|UMODE_BOT|UMODE_SECURE|UMODE_HIDING|UMODE_DEAF|UMODE_VICTIM|UMODE_HIDEOPER|UMODE_SETHOST|UMODE_STRIPBADWORDS|UMODE_WEBTV)
#define ALL_UMODES (SEND_UMODES|UMODE_SERVNOTICE|UMODE_LOCOP|UMODE_SERVICES)
@@ -339,9 +344,9 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define IsPerson(x) ((x)->user && IsClient(x))
#define IsPrivileged(x) (IsAnOper(x) || IsServer(x))
#define SendWallops(x) (!IsMe(x) && ((x)->umodes & UMODE_WALLOP))
#define SendServNotice(x) ((x)->umodes & UMODE_SERVNOTICE)
#define SendServNotice(x) (((x)->user) && ((x)->user->snomask & SNO_SNOTICE))
#define IsListening(x) ((x)->flags & FLAGS_LISTEN)
#define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS)
// #define DoAccess(x) ((x)->flags & FLAGS_CHKACCESS)
#define IsLocal(x) ((x)->flags & FLAGS_LOCAL)
#define IsDead(x) ((x)->flags & FLAGS_DEADSOCKET)
#define GotProtoctl(x) ((x)->flags & FLAGS_PROTOCTL)
@@ -386,7 +391,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define SetWallops(x) ((x)->umodes |= UMODE_WALLOP)
#define SetDNS(x) ((x)->flags |= FLAGS_DOINGDNS)
#define DoingDNS(x) ((x)->flags & FLAGS_DOINGDNS)
#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS)
#define SetAccess(x) ((x)->flags |= FLAGS_CHKACCESS); Debug((DEBUG_DEBUG, "SetAccess(%s)", (x)->name))
#define SetBlocked(x) ((x)->flags |= FLAGS_BLOCKED)
#define DoingAuth(x) ((x)->flags & FLAGS_AUTH)
#define NoNewLine(x) ((x)->flags & FLAGS_NONL)
@@ -470,7 +475,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */
#define OFLAG_ADMIN 0x00010000 /* Admin */
#define OFLAG_ZLINE 0x00080000 /* Oper can use /zline and /unzline */
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
#define OFLAG_NETADMIN 0x00200000 /* netadmin gets +N */
#define OFLAG_COADMIN 0x00800000 /* co admin gets +C */
#define OFLAG_SADMIN 0x01000000 /* services admin gets +a */
#define OFLAG_WHOIS 0x02000000 /* gets auto +W on oper up */
@@ -482,74 +487,76 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */
#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_NADMIN (OFLAG_NETADMIN | OFLAG_SADMIN | OFLAG_ADMIN | OFLAG_GLOBAL)
#define OFLAG_ADMIN_ (OFLAG_ADMIN | OFLAG_GLOBAL)
#define OFLAG_SADMIN_ (OFLAG_SADMIN | OFLAG_GLOBAL)
#define OPCanTKL(x) ((x)->oflag & OFLAG_TKL)
#define OPCanGZL(x) ((x)->oflag & OFLAG_GZL)
#define OPCanZline(x) ((x)->oflag & OFLAG_ZLINE)
#define OPCanRehash(x) ((x)->oflag & OFLAG_REHASH)
#define OPCanDie(x) ((x)->oflag & OFLAG_DIE)
#define OPCanRestart(x) ((x)->oflag & OFLAG_RESTART)
#define OPCanHelpOp(x) ((x)->oflag & OFLAG_HELPOP)
#define OPCanGlobOps(x) ((x)->oflag & OFLAG_GLOBOP)
#define OPCanWallOps(x) ((x)->oflag & OFLAG_WALLOP)
#define OPCanLocOps(x) ((x)->oflag & OFLAG_LOCOP)
#define OPCanLRoute(x) ((x)->oflag & OFLAG_LROUTE)
#define OPCanGRoute(x) ((x)->oflag & OFLAG_GROUTE)
#define OPCanLKill(x) ((x)->oflag & OFLAG_LKILL)
#define OPCanGKill(x) ((x)->oflag & OFLAG_GKILL)
#define OPCanKline(x) ((x)->oflag & OFLAG_KLINE)
#define OPCanUnKline(x) ((x)->oflag & OFLAG_UNKLINE)
#define OPCanLNotice(x) ((x)->oflag & OFLAG_LNOTICE)
#define OPCanGNotice(x) ((x)->oflag & OFLAG_GNOTICE)
#define OPIsAdmin(x) ((x)->oflag & OFLAG_ADMIN)
#define OPIsSAdmin(x) ((x)->oflag & OFLAG_SADMIN)
#define OPIsNetAdmin(x) ((x)->oflag & OFLAG_NETADMIN)
#define OPIsCoAdmin(x) ((x)->oflag & OFLAG_COADMIN)
#define OPIsWhois(x) ((x)->oflag & OFLAG_WHOIS)
#define OPCanTKL(x) ((x)->user->oflag & OFLAG_TKL)
#define OPCanGZL(x) ((x)->user->oflag & OFLAG_GZL)
#define OPCanZline(x) ((x)->user->oflag & OFLAG_ZLINE)
#define OPCanRehash(x) ((x)->user->oflag & OFLAG_REHASH)
#define OPCanDie(x) ((x)->user->oflag & OFLAG_DIE)
#define OPCanRestart(x) ((x)->user->oflag & OFLAG_RESTART)
#define OPCanHelpOp(x) ((x)->user->oflag & OFLAG_HELPOP)
#define OPCanGlobOps(x) ((x)->user->oflag & OFLAG_GLOBOP)
#define OPCanWallOps(x) ((x)->user->oflag & OFLAG_WALLOP)
#define OPCanLocOps(x) ((x)->user->oflag & OFLAG_LOCOP)
#define OPCanLRoute(x) ((x)->user->oflag & OFLAG_LROUTE)
#define OPCanGRoute(x) ((x)->user->oflag & OFLAG_GROUTE)
#define OPCanLKill(x) ((x)->user->oflag & OFLAG_LKILL)
#define OPCanGKill(x) ((x)->user->oflag & OFLAG_GKILL)
#define OPCanKline(x) ((x)->user->oflag & OFLAG_KLINE)
#define OPCanUnKline(x) ((x)->user->oflag & OFLAG_UNKLINE)
#define OPCanLNotice(x) ((x)->user->oflag & OFLAG_LNOTICE)
#define OPCanGNotice(x) ((x)->user->oflag & OFLAG_GNOTICE)
#define OPIsAdmin(x) ((x)->user->oflag & OFLAG_ADMIN)
#define OPIsSAdmin(x) ((x)->user->oflag & OFLAG_SADMIN)
#define OPIsNetAdmin(x) ((x)->user->oflag & OFLAG_NETADMIN)
#define OPIsCoAdmin(x) ((x)->user->oflag & OFLAG_COADMIN)
#define OPIsWhois(x) ((x)->user->oflag & OFLAG_WHOIS)
#define OPSetRehash(x) ((x)->user->oflag |= OFLAG_REHASH)
#define OPSetDie(x) ((x)->user->oflag |= OFLAG_DIE)
#define OPSetRestart(x) ((x)->user->oflag |= OFLAG_RESTART)
#define OPSetHelpOp(x) ((x)->user->oflag |= OFLAG_HELPOP)
#define OPSetGlobOps(x) ((x)->user->oflag |= OFLAG_GLOBOP)
#define OPSetWallOps(x) ((x)->user->oflag |= OFLAG_WALLOP)
#define OPSetLocOps(x) ((x)->user->oflag |= OFLAG_LOCOP)
#define OPSetLRoute(x) ((x)->user->oflag |= OFLAG_LROUTE)
#define OPSetGRoute(x) ((x)->user->oflag |= OFLAG_GROUTE)
#define OPSetLKill(x) ((x)->user->oflag |= OFLAG_LKILL)
#define OPSetGKill(x) ((x)->user->oflag |= OFLAG_GKILL)
#define OPSetKline(x) ((x)->user->oflag |= OFLAG_KLINE)
#define OPSetUnKline(x) ((x)->user->oflag |= OFLAG_UNKLINE)
#define OPSetLNotice(x) ((x)->user->oflag |= OFLAG_LNOTICE)
#define OPSetGNotice(x) ((x)->user->oflag |= OFLAG_GNOTICE)
#define OPSSetAdmin(x) ((x)->user->oflag |= OFLAG_ADMIN)
#define OPSSetSAdmin(x) ((x)->user->oflag |= OFLAG_SADMIN)
#define OPSSetNetAdmin(x) ((x)->user->oflag |= OFLAG_NETADMIN)
#define OPSSetCoAdmin(x) ((x)->user->oflag |= OFLAG_COADMIN)
#define OPSetZLine(x) ((x)->user->oflag |= OFLAG_ZLINE)
#define OPSetWhois(x) ((x)->user->oflag |= OFLAG_WHOIS)
#define OPClearRehash(x) ((x)->user->oflag &= ~OFLAG_REHASH)
#define OPClearDie(x) ((x)->user->oflag &= ~OFLAG_DIE)
#define OPClearRestart(x) ((x)->user->oflag &= ~OFLAG_RESTART)
#define OPClearHelpOp(x) ((x)->user->oflag &= ~OFLAG_HELPOP)
#define OPClearGlobOps(x) ((x)->user->oflag &= ~OFLAG_GLOBOP)
#define OPClearWallOps(x) ((x)->user->oflag &= ~OFLAG_WALLOP)
#define OPClearLocOps(x) ((x)->user->oflag &= ~OFLAG_LOCOP)
#define OPClearLRoute(x) ((x)->user->oflag &= ~OFLAG_LROUTE)
#define OPClearGRoute(x) ((x)->user->oflag &= ~OFLAG_GROUTE)
#define OPClearLKill(x) ((x)->user->oflag &= ~OFLAG_LKILL)
#define OPClearGKill(x) ((x)->user->oflag &= ~OFLAG_GKILL)
#define OPClearKline(x) ((x)->user->oflag &= ~OFLAG_KLINE)
#define OPClearUnKline(x) ((x)->user->oflag &= ~OFLAG_UNKLINE)
#define OPClearLNotice(x) ((x)->user->oflag &= ~OFLAG_LNOTICE)
#define OPClearGNotice(x) ((x)->user->oflag &= ~OFLAG_GNOTICE)
#define OPClearAdmin(x) ((x)->user->oflag &= ~OFLAG_ADMIN)
#define OPClearSAdmin(x) ((x)->user->oflag &= ~OFLAG_SADMIN)
#define OPClearNetAdmin(x) ((x)->user->oflag &= ~OFLAG_NETADMIN)
#define OPClearCoAdmin(x) ((x)->user->oflag &= ~OFLAG_COADMIN)
#define OPClearZLine(x) ((x)->user->oflag &= ~OFLAG_ZLINE)
#define OPClearWhois(x) ((x)->user->oflag &= ~OFLAG_WHOIS)
#define OPSetRehash(x) ((x)->oflag |= OFLAG_REHASH)
#define OPSetDie(x) ((x)->oflag |= OFLAG_DIE)
#define OPSetRestart(x) ((x)->oflag |= OFLAG_RESTART)
#define OPSetHelpOp(x) ((x)->oflag |= OFLAG_HELPOP)
#define OPSetGlobOps(x) ((x)->oflag |= OFLAG_GLOBOP)
#define OPSetWallOps(x) ((x)->oflag |= OFLAG_WALLOP)
#define OPSetLocOps(x) ((x)->oflag |= OFLAG_LOCOP)
#define OPSetLRoute(x) ((x)->oflag |= OFLAG_LROUTE)
#define OPSetGRoute(x) ((x)->oflag |= OFLAG_GROUTE)
#define OPSetLKill(x) ((x)->oflag |= OFLAG_LKILL)
#define OPSetGKill(x) ((x)->oflag |= OFLAG_GKILL)
#define OPSetKline(x) ((x)->oflag |= OFLAG_KLINE)
#define OPSetUnKline(x) ((x)->oflag |= OFLAG_UNKLINE)
#define OPSetLNotice(x) ((x)->oflag |= OFLAG_LNOTICE)
#define OPSetGNotice(x) ((x)->oflag |= OFLAG_GNOTICE)
#define OPSSetAdmin(x) ((x)->oflag |= OFLAG_ADMIN)
#define OPSSetSAdmin(x) ((x)->oflag |= OFLAG_SADMIN)
#define OPSSetNetAdmin(x) ((x)->oflag |= OFLAG_NETADMIN)
#define OPSSetCoAdmin(x) ((x)->oflag |= OFLAG_COADMIN)
#define OPSetZLine(x) ((x)->oflag |= OFLAG_ZLINE)
#define OPSetWhois(x) ((x)->oflag |= OFLAG_WHOIS)
#define OPClearRehash(x) ((x)->oflag &= ~OFLAG_REHASH)
#define OPClearDie(x) ((x)->oflag &= ~OFLAG_DIE)
#define OPClearRestart(x) ((x)->oflag &= ~OFLAG_RESTART)
#define OPClearHelpOp(x) ((x)->oflag &= ~OFLAG_HELPOP)
#define OPClearGlobOps(x) ((x)->oflag &= ~OFLAG_GLOBOP)
#define OPClearWallOps(x) ((x)->oflag &= ~OFLAG_WALLOP)
#define OPClearLocOps(x) ((x)->oflag &= ~OFLAG_LOCOP)
#define OPClearLRoute(x) ((x)->oflag &= ~OFLAG_LROUTE)
#define OPClearGRoute(x) ((x)->oflag &= ~OFLAG_GROUTE)
#define OPClearLKill(x) ((x)->oflag &= ~OFLAG_LKILL)
#define OPClearGKill(x) ((x)->oflag &= ~OFLAG_GKILL)
#define OPClearKline(x) ((x)->oflag &= ~OFLAG_KLINE)
#define OPClearUnKline(x) ((x)->oflag &= ~OFLAG_UNKLINE)
#define OPClearLNotice(x) ((x)->oflag &= ~OFLAG_LNOTICE)
#define OPClearGNotice(x) ((x)->oflag &= ~OFLAG_GNOTICE)
#define OPClearAdmin(x) ((x)->oflag &= ~OFLAG_ADMIN)
#define OPClearSAdmin(x) ((x)->oflag &= ~OFLAG_SADMIN)
#define OPClearNetAdmin(x) ((x)->oflag &= ~OFLAG_NETADMIN)
#define OPClearCoAdmin(x) ((x)->oflag &= ~OFLAG_COADMIN)
#define OPClearZLine(x) ((x)->oflag &= ~OFLAG_ZLINE)
#define OPClearWhois(x) ((x)->oflag &= ~OFLAG_WHOIS)
/*
* defined debugging levels
*/
@@ -583,8 +590,8 @@ struct MotdItem {
struct aloopStruct {
unsigned do_garbage_collect : 1;
unsigned do_tkl_sweep : 1;
unsigned ircd_booted : 1;
unsigned do_bancheck : 1;
};
typedef struct Whowas {
@@ -608,15 +615,11 @@ typedef struct Whowas {
* Client structures
*/
struct User {
struct User *nextu;
Membership *channel; /* chain of channel pointer blocks */
Link *invited; /* chain of invite pointer blocks */
Link *silence; /* chain of silence pointer blocks */
char *away; /* pointer to away message */
TS last;
TS nexttarget; /* Time until a change in targets is allowed */
u_int32_t servicestamp; /* Services' time stamp variable */
long oflag; /* Operator access flags -Cabal95 */
signed char refcnt; /* Number of times this block is referenced */
unsigned short joined; /* number of channels joined */
char username[USERLEN + 1];
@@ -624,7 +627,6 @@ struct User {
char *virthost;
char *server;
char *swhois; /* special whois thing */
aClient *serv;
LOpts *lopt; /* Saved /list options */
aWhowas *whowas;
int snomask;
@@ -655,20 +657,6 @@ struct Server {
#define M_ALIAS 0x0020
#define M_RESETIDLE 0x0040
struct Command {
aCommand *prev, *next;
char *cmd;
int (*func) ();
int flags;
unsigned int count;
unsigned parameters : 5;
unsigned token : 1;
unsigned long bytes;
#ifdef DEBUGMODE
unsigned long lticks;
unsigned long rticks;
#endif
};
/* tkl:
@@ -732,22 +720,17 @@ struct Client {
struct Client *next, *prev, *hnext;
anUser *user; /* ...defined, if this is a User */
aServer *serv; /* ...defined, if this is a server */
TS lasttime; /* ...should be only LOCAL clients? --msa */
TS firsttime; /* time client was created */
TS since; /* last time we parsed something */
TS lastnick; /* TimeStamp on nick */
TS nextnick; /* Time the next nick change will be allowed */
u_char targets[MAXTARGETS]; /* Hash values of current targets */
long flags; /* client flags */
long umodes; /* client usermodes */
aClient *from; /* == self, if Local Client, *NEVER* NULL! */
int fd; /* >= 0, for local clients */
unsigned char hopcount; /* number of servers to this 0 = local */
short status; /* Client type */
char name[HOSTLEN + 1]; /* Unique name of the client, nick or host */
char username[USERLEN + 1]; /* username here now for auth stuff */
char info[REALLEN + 1]; /* Free form additional client information */
aClient *srvptr; /* Server introducing this. May be &me */
short status; /* client type */
/*
** The following fields are allocated only for local clients
** (directly connected to *this* server with a socket.
@@ -756,6 +739,16 @@ struct Client {
** these fields, if (from != self).
*/
int count; /* Amount of data in buffer */
#if 1
int oflag; /* oper access flags (removed from anUser for mem considerations) */
TS since; /* time they will next be allowed to send something */
TS firsttime; /* Time it was created */
TS lasttime; /* last time any message was received */
TS last; /* last time a RESETIDLE message was received */
TS nexttarget; /* next time that a new target will be allowed (msg/notice/invite) */
TS nextnick; /* Time the next nick change will be allowed */
u_char targets[MAXTARGETS]; /* hash values of targets */
#endif
char buffer[BUFSIZE]; /* Incoming message buffer */
short lastsq; /* # of 2k blocks when sendqueued called last */
dbuf sendQ; /* Outgoing message queue--if socket full */
@@ -835,7 +828,7 @@ struct _configflag
struct _configflag_except
{
unsigned temporary : 1;
unsigned type : 1;
unsigned type : 2;
};
struct _configflag_ban
@@ -865,6 +858,9 @@ struct _configflag_tld
#define CRULE_ALL 0
#define CRULE_AUTO 1
#define CONF_EXCEPT_SCAN 0
#define CONF_EXCEPT_BAN 1
#define CONF_EXCEPT_TKL 2
struct _configitem {
@@ -890,6 +886,11 @@ struct _configitem_class {
int pingfreq, connfreq, maxclients, sendq, clients;
};
struct _configflag_allow {
unsigned noident :1;
unsigned useip :1;
};
struct _configitem_allow {
ConfigItem *prev, *next;
ConfigFlag flag;
@@ -898,6 +899,7 @@ struct _configitem_allow {
short maxperip;
int port;
ConfigItem_class *class;
ConfigFlag_allow flags;
};
struct _configitem_oper {
@@ -941,6 +943,14 @@ struct _configitem_listen {
char *ip;
int port;
long options, clients;
ConfigItem_ssl *ssl;
};
struct _configitem_ssl {
char *cert;
char *key;
char *ca;
char *cipher;
};
struct _configitem_vhost {
@@ -962,11 +972,15 @@ struct _configitem_link {
ConfigItem_class *class;
struct IN_ADDR ipnum;
time_t hold;
#ifdef USE_SSL
char *ciphers;
#endif
};
struct _configitem_except {
ConfigItem *prev, *next;
ConfigFlag_except flag;
int type;
char *mask;
};
@@ -1065,14 +1079,11 @@ struct _configitem_include {
char *file;
};
struct _irchook {
Hook *prev, *next;
struct _configitem_help {
ConfigItem *prev, *next;
ConfigFlag flag;
union
{
int (*intfunc)();
void (*voidfunc)();
} func;
char *command;
aMotd *text;
};
#define HM_HOST 1
@@ -1111,10 +1122,15 @@ struct stats {
unsigned int is_loc; /* local connections made */
};
typedef struct _MemoryInfo {
unsigned int classes;
unsigned long classesmem;
} MemoryInfo;
struct ListOptions {
LOpts *next;
Link *yeslist, *nolist;
int starthash;
unsigned int starthash;
short int showall;
unsigned short usermin;
int usermax;
@@ -1333,7 +1349,11 @@ struct liststruct {
#define MyClient(x) (MyConnect(x) && IsClient(x))
#define MyOper(x) (MyConnect(x) && IsOper(x))
#define TStime() (timeofday == 0 ? (timeofday = time(NULL) + TSoffset) : timeofday)
#ifdef CLEAN_COMPILE
#define TStime() (time(NULL) + TSoffset)
#else
#define TStime() (0, timeofday == 0 ? (timeofday = time(NULL) + TSoffset) : timeofday)
#endif
/* Lifted somewhat from Undernet code --Rak */
@@ -1388,6 +1408,21 @@ extern char *gnulicense[];
#define EVENT_HASHES EVENT_DRUGS
#include "modules.h"
#include "events.h"
struct Command {
aCommand *prev, *next;
char *cmd;
int (*func) ();
int flags;
unsigned int count;
unsigned parameters : 5;
unsigned token : 1;
unsigned long bytes;
Module *owner;
#ifdef DEBUGMODE
unsigned long lticks;
unsigned long rticks;
#endif
};
#endif /* __struct_include__ */
+2 -2
View File
@@ -69,8 +69,8 @@
#define index strchr
#define rindex strrchr
/*
extern char *index PROTO((char *, char));
extern char *rindex PROTO((char *, char));
extern char *index(char *, char);
extern char *rindex(char *, char);
*/
#endif
#ifdef NOBCOPY
+4 -4
View File
@@ -33,10 +33,9 @@
#endif
#if !defined(_WIN32) || defined(USE_PTHREADS)
#include <pthread.h>
typedef pthread_attr_t THREAD_ATTR;
typedef pthread_t THREAD;
typedef pthread_mutex_t MUTEX;
#define IRCCreateThread(thread, attr, start, arg) TDebug(CreateThread); pthread_attr_init(&attr); pthread_create(&thread, &attr, (void*)start, arg)
#define IRCCreateThread(thread, start, arg) TDebug(CreateThread); pthread_create(&thread, NULL, (void*)start, arg)
#define IRCMutexLock(mutex) TDebug(MutexLock); pthread_mutex_lock(&mutex)
#define IRCMutexTryLock(mutex) TDebug(MutexTryLock); pthread_mutex_trylock(&mutex);
#define IRCMutexUnlock(mutex) TDebug(MutexUnlcok); pthread_mutex_unlock(&mutex)
@@ -44,14 +43,14 @@ typedef pthread_mutex_t MUTEX;
#define IRCMutexDestroy(mutex) TDebug(MutexDestroy); pthread_mutex_destroy(&mutex)
#define IRCJoinThread(thread,return) TDebug(JoinThread); pthread_join(thread, return)
#define IRCExitThread(value) TDebug(ExitThread); pthread_exit(value)
#define IRCDetachThread(value) TDebug(DetachThread); pthread_detach(value);
#define IRCTerminateThread(thread, value) pthread_cancel(&thread)
#define IRCThreadSelf() pthread_self()
#define IRCThreadEqual(thread1, thread2) pthread_equal(thread1,thread2)
#else
typedef short THREAD_ATTR; /* Not needed but makes porting easier */
typedef unsigned long THREAD;
typedef HANDLE MUTEX;
#define IRCCreateThread(thread, attr, start, arg) thread = _beginthread((void *)start, 0, arg)
#define IRCCreateThread(thread, start, arg) thread = _beginthread((void *)start, 0, arg)
#define IRCMutexLock(mutex) WaitForSingleObject(mutex, INFINITE)
#define IRCMutexTryLock(mutex) WaitForSingleObject(mutex, 0)
#define IRCMutexUnlock(mutex) ReleaseMutex(mutex)
@@ -62,6 +61,7 @@ typedef HANDLE MUTEX;
#define IRCTerminateThread(thread, value) TerminateThread((HANDLE)thread, value)
#define IRCThreadSelf() GetCurrentThread()
#define IRCThreadEqual(thread1, thread2) thread1 == thread2 ? 1 : 0
#define IRCDetachThread(value) ;
#endif
#endif
+1 -5
View File
@@ -31,16 +31,12 @@
#define PATCH1 "3"
#define PATCH2 ".2"
#define PATCH3 "-Selene"
#define PATCH4 "[beta4]"
#define PATCH4 "[beta10]"
#define PATCH5 ""
#define PATCH6 ""
#define PATCH7 ""
#define PATCH8 COMPILEINFO
#ifdef _WIN32
#define PATCH9 "+win32"
#else
#define PATCH9 ""
#endif
/* release header */
#define Rh BASE_VERSION
#define VERSIONONLY PATCH1 PATCH2 PATCH3 PATCH4 PATCH5 PATCH6 PATCH7
+1 -1
View File
@@ -530,7 +530,7 @@ ban nick { mask "Status"; reason "Bug in mIRC"; };
*/
include "badwords.channel.conf";
include "badwords.message.conf";
include "help.conf";
/*
* Some modules;
*/
+8 -1
View File
@@ -44,7 +44,7 @@ MOD_FILES=SRC/L_COMMANDS.OBJ SRC/M_CHGHOST.OBJ SRC/M_SDESC.OBJ SRC/M_SETIDENT.OB
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_ZLINE.OBJ \
SRC/SCAN.OBJ SRC/SCAN_SOCKS.OBJ SRC/SCAN_HTTP.OBJ
SRC/SCAN.OBJ SRC/SCAN_SOCKS.OBJ SRC/SCAN_HTTP.OBJ SRC/M_TKL.OBJ SRC/INVISIBILITY.OBJ
ALL: CONF WIRCD.EXE
@@ -245,6 +245,10 @@ src/m_svsmotd.obj: src/modules/m_svsmotd.c $(INCLUDES)
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
@@ -350,6 +354,9 @@ src/scan_socks.obj: src/modules/scan_socks.c $(INCLUDES)
src/scan_http.obj: src/modules/scan_http.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/scan_http.c
src/invisibility.obj: src/modules/invisibility.c $(INCLUDES)
$(CC) $(CFLAGS) src/modules/invisibility.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
-28
View File
@@ -1,28 +0,0 @@
/*
* Action-IRC (Irc.Action-IRC.Net) Network Configuration File
* --------------------------------------------------
* Added-at: 20 February 2001 19:59
* Author: bLaDe
* Email: bLaDe@action-irc.net
* -----------------------------------------
*/
set {
network-name "Action-IRC";
default-server "Irc.Action-IRC.Net";
services-server "Services.Action-IRC.Net";
stats-server "Stats.Action-IRC.Net";
help-channel "#Action-Desk";
hiddenhost-prefix "Action-IRC";
prefix-quit "Quit:";
hosts {
local "LocOp.Action-IRC.Net";
global "Oper.Action-IRC.Net";
coadmin "CoAdmin.Action-IRC.Net";
admin "Admin.Action-IRC.Net";
servicesadmin "CSOp.Action-IRC.Net";
techadmin "TechAdmin.Action-IRC.Net";
netadmin "NetAdmin.Action-IRC.Net";
host-on-oper-up "off";
};
};
+28
View File
@@ -0,0 +1,28 @@
/*
* 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";
};
};
-1
View File
@@ -17,7 +17,6 @@ set {
coadmin "coadmin.axenet.org";
admin "admin.axenet.org";
servicesadmin "csop.axenet.org";
techadmin "techadmin.axenet.org";
netadmin "netadmin.axenet.org";
host-on-oper-up "on";
};
-28
View File
@@ -1,28 +0,0 @@
/*
* BitchX (irc.BitchX.cl) Network Configuration File
* --------------------------------------------------
* Added-at: 11 June 2001 15:23
* Author: skier
* Email: admin@BitchX.cl
* -----------------------------------------
*/
set {
network-name "BitchX";
default-server "irc.BitchX.cl";
services-server "services.BitchX.cl";
stats-server "stats.BitchX.cl";
help-channel "#linux";
hiddenhost-prefix "bx.owns.you-";
prefix-quit "Quit:";
hosts {
local "locop.BitchX.cl";
global "Oper.BitchX.cl";
coadmin "coadmin.BitchX.cl";
admin "Admin.BitchX.cl";
servicesadmin "cops.BitchX.cl";
techadmin "techadmin.BitchX.cl";
netadmin "NETWORK-ADMINISTARTOR.BitchX.cl";
host-on-oper-up "on";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Blind-Irc (irc.Blind-Irc.com) Network Configuration File
* --------------------------------------------------
* Added-at: 04 February 2001 19:23
* Author: Blind_lemon
* Email: Blind_Lemon@blind-irc.com
* -----------------------------------------
*/
set {
network-name "Blind-Irc";
default-server "irc.Blind-Irc.com";
services-server "Services.Blind-Irc.com";
stats-server "Blind-Irc.Stats.com";
help-channel "#help";
hiddenhost-prefix "~~NO_PEEKING~~";
prefix-quit "Quit:";
hosts {
local "Blind-Irc.Locop.com";
global "Blind-Irc.Oper.com";
coadmin "Blind-Irc.Co.Admin.com";
admin "Blind-Irc.Admin.com";
servicesadmin "Blind-Irc.Csop.com";
techadmin "Blind-Irc.Tech.com";
netadmin "Blind-Irc.NetAdmin.com";
host-on-oper-up "on";
};
};
-1
View File
@@ -22,7 +22,6 @@ set {
coadmin "coadmin.bunker7.net";
admin "admin.bunker7.net";
servicesadmin "sadm.bunker7.net";
techadmin "techadmin.bunker7.net";
netadmin "netadmin.bunker7.net";
host-on-oper-up "off";
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "coadmin.burncycl.net";
admin "admin.burncycl.net";
servicesadmin "csop.burncycl.net";
techadmin "techadmin.burncycl.net";
netadmin "netadmin.burncycl.net";
host-on-oper-up "on";
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "coadmin.cabonet.org";
admin "admin.cabonet.org";
servicesadmin "csop.cabonet.org";
techadmin "techadmin.cabonet.org";
netadmin "netadmin.cabonet.org";
host-on-oper-up "on";
};
-19
View File
@@ -1,19 +0,0 @@
set {
network-name "CC2";
default-server "irc.cc2.org";
services-server "services.cc2.org";
stats-server "stats.ircnet.org";
help-channel "#help";
hiddenhost-prefix "user";
prefix-quit "Quit:";
hosts {
local "locop.cc2.org";
global "ircop.cc2.org";
coadmin "coadmin.cc2.org";
admin "admin.cc2.org";
servicesadmin "services.cc2.org";
techadmin "technician.cc2.org";
netadmin "netadmin.cc2.org";
host-on-oper-up "on";
};
};
-1
View File
@@ -19,7 +19,6 @@ set {
coadmin "coadmin.chatcrap.com";
admin "admin.chatcrap.com";
servicesadmin "serviceop.chatcrap.com";
techadmin "techadmin.chatcrap.com";
netadmin "netadmin.chatcrap.com";
host-on-oper-up "on";
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "coadmin.chatuniverse.net";
admin "admin.chatuniverse.net";
servicesadmin "csop.chatuniverse.net";
techadmin "techadmin.chatuniverse.net";
netadmin "netadmin.chatuniverse.net";
host-on-oper-up "on";
};
+26
View File
@@ -0,0 +1,26 @@
/*
* 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;
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* CynicNet (irc.cynicnet.org) Network Configuration File
* --------------------------------------------------
* Added-at: 29 March 2001 01:02
* Author: MaTRiX
* Email: admin@cynicnet.org
* -----------------------------------------
*/
set {
network-name "CynicNet";
default-server "irc.cynicnet.org";
services-server "services.cynicnet.org";
stats-server "stats.cynicnet.org";
help-channel "#help";
hiddenhost-prefix "CynicNet";
prefix-quit "Quit:";
hosts {
local "Locop.CynicNet.org";
global "Oper.CynicNet.org";
coadmin "Coadmin.CynicNet.org";
admin "Admin.CynicNet.org";
servicesadmin "CSOP.CynicNet.org";
techadmin "Techadmin.CynicNet.org";
netadmin "Netadmin.CynicNet.org";
host-on-oper-up "on";
};
};
-26
View File
@@ -1,26 +0,0 @@
/*
* Dark Core Networks (irc.dark-core.net) Network Configuration File
*
* Added-at: 15 July 2001 03:28
* Author: evilbunny
* Email: evilbunny@dark-core.net
*/
set {
network-name "Dark Core Networks";
default-server "irc.dark-core.net";
services-server "services.dark-core.net";
stats-server "stats.dark-core.net";
help-channel "#darkcore";
hiddenhost-prefix "DCN";
hosts {
local "locop.dark-core.net";
global "oper.dark-core.net";
coadmin "coadmin.dark-core.net";
admin "admin.dark-core.net";
servicesadmin "csop.dark-core.net";
techadmin "techadmin.dark-core.net";
netadmin "netadmin.dark-core.net";
host-on-oper yes;
};
};
-19
View File
@@ -1,19 +0,0 @@
set {
network-name "Darkfyre";
default-server "irc.darkfyre.net";
services-server "Services.Darkfyre.Net";
stats-server "Stats.Darkfyre.Net";
help-channel "#help";
hiddenhost-prefix "darkfyre";
prefix-quit "Quit:";
hosts {
local "LocalOp.Darkfyre.Net";
global "IRCop.Darkfyre.Net";
coadmin "CoAdmin.Darkfyre.Net";
admin "Admin.Darkfyre.Net";
servicesadmin "CSop.Darkfyre.Net";
techadmin "TechAdmin.Darkfyre.Net";
netadmin "NetAdmin.Darkfyre.Net";
host-on-oper-up "on";
};
};
+26
View File
@@ -0,0 +1,26 @@
/*
* 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;
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Darkwar (irc.darkwar.net) Network Configuration File
* --------------------------------------------------
* Added-at: 22 October 2000 19:40
* Author: stryker
* Email: stryker@darkwar.net
* -----------------------------------------
*/
set {
network-name "Darkwar";
default-server "irc.darkwar.net";
services-server "services.darkwar.net";
stats-server "stats.darkwar.net";
help-channel "#darkwar";
hiddenhost-prefix "hide";
prefix-quit "Quit:";
hosts {
local "locop.darkwar.net";
global "oper.darkwar.net";
coadmin "coadmin.darkwar.net";
admin "admin.darkwar.net";
servicesadmin "csop.darkwar.net";
techadmin "techadmin.darkwar.net";
netadmin "netadmin.darkwar.net";
host-on-oper-up "on";
};
};
-1
View File
@@ -12,7 +12,6 @@ set {
coadmin "NetAdmin.DigitalIRC.Net";
admin "Admin.DigitalIRC.Net";
servicesadmin "ServicesOp.DigitalIRC.Net";
techadmin "Tech.DigitalIRC.Net";
netadmin "NetAdmin.DigitalIRC.Net";
host-on-oper-up "off";
};
+26
View File
@@ -0,0 +1,26 @@
/*
* 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;
};
};
-1
View File
@@ -12,7 +12,6 @@ set {
coadmin "coadmin.dragonwings.org";
admin "admin.dragonwings.org";
servicesadmin "serviceop.dragonwings.org";
techadmin "techadmin.dragonwings.org";
netadmin "netadmin.dragonwings.org";
host-on-oper-up "off";
};
-19
View File
@@ -1,19 +0,0 @@
set {
network-name "FireIRC";
default-server "irc.FireIRC.Net";
services-server "services.FireIRC.Net";
stats-server "stats.FireIRC.Net";
help-channel "#Services";
hiddenhost-prefix "FireIRC";
prefix-quit "Quit:";
hosts {
local "localOP.FireIRC.Net";
global "ircOP.FireIRC.Net";
coadmin "CoADMIN.FireIRC.Net";
admin "Admin.FireIRC.Net";
servicesadmin "serviceOP.FireIRC.Net";
techadmin "TechAdmin.FireIRC.Net";
netadmin "NetADMIN.FireIRC.Net";
host-on-oper-up "off";
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* FriendlyIRC (irc.friendlyirc.net) Network Configuration File
* --------------------------------------------------
* Added-at: 13 January 2001 18:19
* Author: Shukie
* Email: shukuwolf@glacierwinds.com
* -----------------------------------------
*/
set {
network-name "FriendlyIRC";
default-server "irc.friendlyirc.net";
services-server "services.friendlyirc.net";
stats-server "stats.friendlyirc.net";
help-channel "#HelpDesk";
hiddenhost-prefix "FriendlyIRC";
prefix-quit "Quit:";
hosts {
local "locop.friendlyirc.net";
global "oper.friendlyirc.net";
coadmin "coadmin.friendlyirc.net";
admin "admin.friendlyirc.net";
servicesadmin "csop.friendlyirc.net";
techadmin "techadmin.friendlyirc.net";
netadmin "netadmin.friendlyirc.net";
host-on-oper-up "on";
};
};
+26
View File
@@ -0,0 +1,26 @@
/*
* 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;
};
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Gerid.Net (pi.gerid.net) Network Configuration File
* --------------------------------------------------
* Added-at: 31 January 2001 13:22
* Author: Pi
* Email: support@gerid.net
* -----------------------------------------
*/
set {
network-name "Gerid.Net";
default-server "pi.gerid.net";
services-server "services.gerid.net";
stats-server "stats.gerid.net";
help-channel "#help";
hiddenhost-prefix "gerid";
prefix-quit "Quit:";
hosts {
local "localized.killing.spr.ee";
global "is.a.bad.motherfucker.org";
coadmin "helps.kill.your.ass";
admin "owns.you";
servicesadmin "will.kill.your.ass";
techadmin "will.detached.your.ass";
netadmin "will.crucify.you";
host-on-oper-up "on";
};
};
-1
View File
@@ -17,7 +17,6 @@ set {
coadmin "coadmin.german-elite.net";
admin "admin.german-elite.net";
servicesadmin "csop.german-elite.net";
techadmin "techadmin.german-elite.net";
netadmin "netadmin.german-elite.net";
host-on-oper-up "on";
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "CoAdmin.Global-IRC.de";
admin "ServerAdmin.Global-IRC.de";
servicesadmin "ServiceAdmin.Global-IRC.de";
techadmin "TechAdmin.Global-IRC.de";
netadmin "NetworkAdmin.Global-IRC.de";
host-on-oper-up "on";
};
-1
View File
@@ -22,7 +22,6 @@ set {
coadmin "coadmin.global-irc.net";
admin "admin.global-irc.net";
servicesadmin "serviceop.global-irc.net";
techadmin "techadmin.global-irc.net";
netadmin "netadmin.global-irc.net";
host-on-oper-up "off";
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "CoAdmin.AsiaCom.GlobalChat.ca";
admin "Admin.AsiaCom.GlobalChat.ca";
servicesadmin "Csop.AsiaCom.GlobalChat.ca";
techadmin "TechAdmin.AsiaCom.GlobalChat.ca";
netadmin "NetAdmin.AsiaCom.GlobalChat.ca";
host-on-oper-up "on";
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Globo (irc.globo.ircweb.com.br) Network Configuration File
* --------------------------------------------------
* Added-at: 23 maio 2001 05:02
* Author: Titan
* Email: globo@ircweb.com.br
* -----------------------------------------
*/
set {
network-name "Globo";
default-server "irc.globo.ircweb.com.br";
services-server "services.globo.com.br";
stats-server "stats.globo.com.br";
help-channel "#ajuda";
hiddenhost-prefix "hide";
prefix-quit "Quit:";
hosts {
local "locop.globo.com.br";
global "oper.globo.com.br";
coadmin "coadmin.globo.com.br";
admin "admin.globo.com.br";
servicesadmin "csop.globo.com.br";
techadmin "techadmin.globo.com.br";
netadmin "netadmin.globo.com.br";
host-on-oper-up "on";
};
};
+26
View File
@@ -0,0 +1,26 @@
/*
* IceChat (irc.icechat.net) Network Configuration File
*
* Added-at: 19 February 2002 16:55
* Author: Rosco
* Email: pssystem@home.com
*/
set {
network-name "IceChat";
default-server "irc.icechat.net";
services-server "services.icechat.net";
stats-server "stats.icechat.net";
help-channel "#help";
hiddenhost-prefix "00";
hosts {
local "locop.icechat.net";
global "oper.icechat.net";
coadmin "coadmin.icechat.net";
admin "admin.icechat.net";
servicesadmin "csop.icechat.net";
netadmin "netadmin.icechat.net";
host-on-oper-up yes;
};
};
-1
View File
@@ -12,7 +12,6 @@ set {
coadmin "IRCop-CoAdmin.Infinity-IRC.org";
admin "IRCop-Admin.Infinity-IRC.org";
servicesadmin "IRCop-ServiceAdmin.Infinity-IRC.org";
techadmin "IRCop-TechAdmin.Infinity-IRC.org";
netadmin "IRCop-NetAdmin.Infinity-IRC.org";
host-on-oper-up "on";
};
-28
View File
@@ -1,28 +0,0 @@
/*
* IRCLatino (irc.redperu.com) Network Configuration File
* --------------------------------------------------
* Added-at: 30 May 2001 22:09
* Author: Tek
* Email: aleph@w-link.net
* -----------------------------------------
*/
set {
network-name "IRCLatino";
default-server "irc.redperu.com";
services-server "services.united-irc.net";
stats-server "stats.irclatino.org";
help-channel "#Services";
hiddenhost-prefix "IRCLatino";
prefix-quit "Quit:";
hosts {
local "Local-operator.irclatino.org";
global "irc-operator.irclatino.org";
coadmin "Co-Admin.irclatino.org";
admin "server-admin.irclatino.org";
servicesadmin "services-operator.irclatino.org";
techadmin "TechAdmin.irclatino.org";
netadmin "NetAdmin.irclatino.org";
host-on-oper-up "on";
};
};
+29
View File
@@ -0,0 +1,29 @@
/*
* ROXnet (irc.rox.za.net) Network Configuration File
* --------------------------------------------------
* Added-at: 14 July 1999 00:00 GMT
* Author: Stskeeps (Carsten Munk)
* E-Mail: stskeeps@roxnet.org
* $Id$
* -----------------------------------------
*/
set {
network-name "IRCsystems";
default-server "irc.ircsystems.net";
services-server "services.ircsystems.net";
stats-server "stats.ircsystems.net";
help-channel "#IRCsystems";
hiddenhost-prefix "rox";
prefix-quit "Quit:";
hosts {
local "locop.ircsystems.net";
global "ircop.ircsystems.net";
coadmin "coadmin.ircsystems.net";
admin "admin.ircsystems.net";
servicesadmin "csops.ircsystems.net";
techadmin "techadmin.ircsystems.net";
netadmin "netadmin.ircsystems.net";
host-on-oper-up "off";
};
};
-1
View File
@@ -21,7 +21,6 @@ set {
coadmin "coadmin.isno.net";
admin "admin.isno.net";
servicesadmin "csop.isno.net";
techadmin "techadmin.isno.net";
netadmin "netadmin.isno.net";
host-on-oper-up "off";
};
-28
View File
@@ -1,28 +0,0 @@
/*
* IsraelNet (irc.israel.net) Network Configuration File
* --------------------------------------------------
* Added-at: 14 September 2000 14:39
* Author: Web
* Email: dors@Nonstop.net.il
* -----------------------------------------
*/
set {
network-name "IsraelNet";
default-server "irc.israel.net";
services-server "services.israel.net";
stats-server "stats.israel.net";
help-channel "#OperHelp";
hiddenhost-prefix "israel";
prefix-quit "Quit:";
hosts {
local "LocOP.Israel.Net";
global "Oper.Israel.Net";
coadmin "CoAdmin.Israel.Net";
admin "Admin.Israel.Net";
servicesadmin "CSop.Israel.Net";
techadmin "TechAdmin.Israel.Net";
netadmin "NetAdmin.Israel.Net";
host-on-oper-up "on";
};
};
+26
View File
@@ -0,0 +1,26 @@
/*
* l33t-irc.com (irc.l33t-irc.com) Network Configuration File
*
* Added-at: 04 January 2002 15:46
* Author: [LW]FlOwBiE
* Email: flowbie@l33t-irc.com
*/
set {
network-name "l33t-irc.com";
default-server "irc.l33t-irc.com";
services-server "services.l33t-irc.com";
stats-server "stats.l33t-irc.com";
help-channel "#l33t-irc.com";
hiddenhost-prefix "l33t-irc.com";
hosts {
local "local.l33t-irc.com";
global "l33t-irc";
coadmin "coadmin.l33t-irc.com";
admin "admin.l33t-irc.com";
servicesadmin "servicesadmin.l33t-irc.com";
netadmin "netadmin.l33t-irc.com";
host-on-oper no;
};
};
-1
View File
@@ -19,7 +19,6 @@ set {
coadmin "coadmin.lcirc.net";
admin "admin.lcirc.net";
servicesadmin "csop.lcirc.net";
techadmin "techadmin.lcirc.net";
netadmin "netadmin.lcirc.net";
host-on-oper no;
};
-28
View File
@@ -1,28 +0,0 @@
/*
* Lostchat (irc.lostchat.net) Network Configuration File
* --------------------------------------------------
* Added-at: 22 February 2001 20:47
* Author: cerberus
* Email: cerberus@storm-services.net
* -----------------------------------------
*/
set {
network-name "Lostchat";
default-server "irc.lostchat.net";
services-server "services.lostchat.net";
stats-server "stats.mynet.org";
help-channel "#lostchat";
hiddenhost-prefix "lostchat";
prefix-quit "Quit:";
hosts {
local "locop.lostchat.net";
global "oper.lostchat.net";
coadmin "coadmin.lostchat.net";
admin "admin.lostchat.net";
servicesadmin "csop.lostchat.net";
techadmin "techadmin.lostchat.net";
netadmin "netadmin.lostchat.net";
host-on-oper-up "on";
};
};
+8 -8
View File
@@ -21,7 +21,7 @@ ADMIN_HOST="admin.mynet.org"
LOCOP_HOST="locop.mynet.org"
CSOP_HOST="csop.mynet.org"
NETADMIN_HOST="netadmin.mynet.org"
TECHADMIN_HOST="techadmin.mynet.org"
#TECHADMIN_HOST="techadmin.mynet.org"
COADMIN_HOST="coadmin.mynet.org"
HIDDEN_HOST="hide"
NETDOMAIN="mynet.org"
@@ -156,13 +156,13 @@ if [ ! -z $cc ]; then
COADMIN_HOST="$cc"
fi
echo ""
echo "What is the virtual host techadmins will get when they oper up?"
echo $n "[$TECHADMIN_HOST] -> $c"
read cc
if [ ! -z $cc ]; then
TECHADMIN_HOST="$cc"
fi
#echo ""
#echo "What is the virtual host techadmins will get when they oper up?"
#echo $n "[$TECHADMIN_HOST] -> $c"
#read cc
#if [ ! -z $cc ]; then
# TECHADMIN_HOST="$cc"
#fi
echo ""
echo "What is the virtual host netadmins will get when they oper up?"
-28
View File
@@ -1,28 +0,0 @@
/*
* MaxatNet (irc.maxat.net) Network Configuration File
* --------------------------------------------------
* Added-at: 12 January 2001 23:35
* Author: Leo
* Email: anders-ove@anders-ove.net
* -----------------------------------------
*/
set {
network-name "MaxatNet";
default-server "irc.maxat.net";
services-server "services.maxat.net";
stats-server "stats.maxat.net";
help-channel "#help";
hiddenhost-prefix "hide";
prefix-quit "Quit:";
hosts {
local "locop.hub.no.maxat.net";
global "oper.hub.no.maxat.net";
coadmin "coadmin.hub.no.maxat.net";
admin "admin.hub.no.maxat.net";
servicesadmin "csop.hub.no.maxat.net";
techadmin "techadmin.hub.no.maxat.net";
netadmin "netadmin.hub.no.maxat.net";
host-on-oper-up "off";
};
};
+8 -27
View File
@@ -6,52 +6,33 @@
* of these networks.
*/
networks/action-irc.network ......: Action-IRC (http://www.action-irc.net)
networks/awesomechristians.network: Awesome Christians Chat Network (http://www.awesomechristians.com)
networks/axenet.network ..........: AXEnet (http://www.axenet.org)
networks/bitchx.network ..........: BitchX (http://www.bitchx.cl)
networks/blind-irc.network .......: Blind-Irc (http://www.blind-irc.com)
networks/bunker7.network .........: Bunker7 (http://www.bunker7.net)
networks/burnnet.network .........: BuRnNET (http://www.burncycl.net)
networks/cabonet.network .........: CaboNet (http://www.cabonet.org)
networks/cc2.network .............: CC2 (http://www.cc2.org)
networks/chatcrap.network ........: ChatCrap (http://www.chatcrap.com)
networks/chatuniverse.network ....: ChatUniverse (http://www.chatuniverse.net)
networks/cynicnet.network ........: CynicNet (http://www.cynicnet.org)
networks/dark-core.network .......: Dark Core Networks
networks/darkfyre.network ........: Darkfyre (http://www.darkfyre.net)
networks/darkwar.network .........: Darkwar (http://www.darkwar.net)
networks/ctcp.network ............: CTCP Networks (http://www.ctcp.net)
networks/darkkaos.network ........: Dark Kaos Network (http://www.darkkaos.net)
networks/digitalirc.network ......: DigitalIRC (http://www.digitalirc.net)
networks/discussioni.network .....: Discussioni.org (http://www.discussioni.org)
networks/dragonwings.network .....: DragonWings (http://www.dragonwings.org)
networks/fireirc.network .........: FireIRC (http://www.fireirc.net)
networks/friendlyirc.network .....: FriendlyIRC (http://www.friendlyirc.net)
networks/geridnet.network ........: Gerid.Net (http://www.gerid.net)
networks/gamescafe.network .......: GamesCafe (http://www.gamerscafe.net)
networks/german-elite.network ....: German-Elite (http://www.german-elite.net)
networks/german-global-irc.network: German Global IRC (http://www.global-irc.de)
networks/globalchat.network ......: GlobalChat (http://www.globalchat.ca)
networks/global-irc.network ......: Global-IRC (http://www.global-irc.net)
networks/globo.network ...........: Globo
networks/icechat.network .........: IceChat (http://www.icechat.net)
networks/infinity.network ........: Infinity-IRC.org (http://www.infinity-irc.org)
networks/irclatino.network .......: IRCLatino (http://www.irclatino.org)
networks/isno.network ............: Isno (http://www.isno.net)
networks/israelnet.network .......: IsraelNet (http://www.israel.net)
networks/l33t-irc.network ........: L33T-IRC (http://www.l33t-irc.com)
networks/lcirc.network ...........: LCIrc (http://www.lcirc.net)
networks/lostchat.network ........: Lostchat (http://www.lostchat.net)
networks/maxatnet.network ........: MaxatNet
networks/phatnet.network .........: PhatNet (http://www.phat-net.de)
networks/outsiderz.network .......: Outsiderz (http://www.outsiderz.com)
networks/phazenet.network ........: PhazeNet (http://www.phazenet.com)
networks/pheernet.network ........: PheerNet (http://www.pheernet.org)
networks/roxnet.network ..........: ROXnet (http://www.roxnet.org)
networks/shallomchat.network .....: ShallomChat (http://www.shallomchat.org)
networks/solargalaxy.network .....: SolarGalaxy (http://www.solargalaxy.net)
netwrosk/spamnet.network .........: SpamNet (http://www.spamnet.org)
networks/spin.network ............: SpiN (http://www.spinempire.com)
networks/stormdancing.network ....: StormDancing (http://www.stormdancing.net)
networks/thainet.network .........: Thai IRC Network
networks/tspre.network ...........: TSpre (http://www.tspre.org)
networks/unitedirc.network .......: UnitedIRC (http://www.unitedirc.com)
networks/unitedirc-org.network ...: Unitedirc (http://www.unitedirc.org)
networks/united-irc.network ......: united-irc
networks/uzaynet.network .........: UzayNet (http://www.uzaynet.nu)
networks/wazzza.network ..........: wazZza (http://www.wazzza.org)
networks/x-irc.network ...........: x-irc (http://www.x-irc.net)
networks/zirc.network ............: ZiRC (http://www.zirc.org)

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