1
0
mirror of https://github.com/unrealircd/unrealircd.git synced 2026-06-27 00:36:38 +02:00

1330 Commits

Author SHA1 Message Date
cvs2hg f5f78ca725 fixup commit for branch 'firestorm' 2001-12-14 14:29:22 +00:00
stskeeps e881a256f4 +- Some scan unloading stuff 2001-12-14 14:29:21 +00:00
stskeeps 5171e9e08a +- Made "Module already loaded" a non fatal error (funny msg on rehash)
+- Fixed typical codemastr "Let's delete this from a list we haven't even
+  added it to yet *giggles and twirls around*" bug, do to with config_set_unknown
+- Fixed events bug, added recoded scan module, got a lot of stuff to fix so
+  far. Problems, unloading, (delay), tkl doesn't always sweep it all,
2001-12-13 21:59:37 +00:00
codemastr 2b2f767ca5 Added more HP-UX code 2001-12-12 21:19:30 +00:00
codemastr c4a8e970d3 Module v3 changes 2001-12-11 23:02:58 +00:00
griever 4e32d3a5dc Corrected credits, moved the #ifdef for NO_FDLIST 2001-12-11 21:24:18 +00:00
codemastr ccaa0f444b .. 2001-12-11 20:48:00 +00:00
codemastr c2420f2eee ... 2001-12-11 20:45:45 +00:00
codemastr eb4eb7a8c6 ... 2001-12-11 20:38:17 +00:00
codemastr b15292c980 Removed umode +T and oflags fue 2001-12-11 20:37:30 +00:00
griever 37f6ff3a10 Reflects m_oper recode and tkl oflags 2001-12-11 03:39:56 +00:00
griever 7689d54b8e +T is on its deathbed, expect it to be gone soon
m_oper mostly recoded
Various oflags now silently ignored by m_oper although kept in the oflags
var.
expect TEChat, the T oflag, and hosts::techadmin to be removed shortly
2001-12-11 02:37:32 +00:00
codemastr 0171967e18 Moved the mkpasswd program into the ./unreal script 2001-12-10 22:02:47 +00:00
stskeeps db82fc23b5 +- Module v3 bugfixes. cause: codemastr lack find n replace skill 2001-12-10 14:35:15 +00:00
codemastr 39562944c3 ... 2001-12-10 00:30:00 +00:00
codemastr 28af208a1b More module v3 fixes 2001-12-10 00:26:38 +00:00
codemastr 3b52789751 More module v3 fixes 2001-12-09 23:47:46 +00:00
codemastr 3d564a403f Fixed some more module v3 problems and upgrade all modules 2001-12-09 20:19:35 +00:00
stskeeps 26dff4eeba +- Small v3 fix with no dependency problem 2001-12-09 16:40:03 +00:00
codemastr 38588ba0b5 Fixed a win32 module v3 bug 2001-12-09 16:38:31 +00:00
stskeeps 07adb99680 +- Added module v3 code. Needs testing, and NO MODULES DOES NOT COMPILE 2001-12-09 10:44:11 +00:00
codemastr 89caaab24c Added HOOKTYPE_SERVER_CONNECT and HOOKTYPE_SERVER_QUIT 2001-12-05 23:02:33 +00:00
codemastr 573328e4e1 Added snomask +q for Q:line notices 2001-12-04 20:13:03 +00:00
codemastr 19c649fb90 snomask changes 2001-12-03 22:42:53 +00:00
griever 923624c784 Bug that caused m_oper to core randomly if oper was -x 2001-12-03 01:17:53 +00:00
griever 44be34875f Changelog.. 2001-12-02 20:51:49 +00:00
griever 1612ed7411 added can_gkline and can_gzline (for soon-to-come gzline module), old
flags are t and Z. Someone change docs accordingly
2001-12-02 20:45:17 +00:00
codemastr e872aa28a9 Converted a bunch of structures to use ListStruct 2001-12-02 17:57:24 +00:00
stskeeps abea394dc6 ---------------------------------------------------------------------- 2001-12-02 14:50:58 +00:00
stskeeps 528d82b219 +- Added ssl-pubkey auth method (parameter = pem file for public key) 2001-12-02 14:39:59 +00:00
codemastr 6d9cef9f03 ... 2001-12-02 02:06:54 +00:00
codemastr eb38fa93a3 Added cidr.c and ssl.c to the win32 makefile 2001-12-02 01:47:17 +00:00
stskeeps d7889e777e moo 2001-12-01 23:55:30 +00:00
griever fd638b155b *gets smacked by sts* 2001-11-29 21:12:06 +00:00
griever 503bf841fb *gets smacked by sts* 2001-11-29 21:00:20 +00:00
griever 69647bba3b Argh, no newline notices getting annoying now 2001-11-29 04:51:23 +00:00
griever b4bfa43e5b Added list of ppl I would like to thank :D 2001-11-29 04:49:43 +00:00
griever 67059bd3ae Changed the way ipv4 IPs are cloaked, you now need to crack all three
cloak keys to break ipv4 IPs. ip6 ips and hostnames are too ambiguous to
be susceptable.

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

Modified Files:
 Tag: devel
 	include/config.h src/channel.c
2001-11-28 03:43:58 +00:00
codemastr 1780862cfc Added some functions for generic linked list modifications 2001-11-26 19:37:41 +00:00
codemastr 9d26bac09f ... 2001-11-26 15:56:44 +00:00
codemastr 0d2753331a ... 2001-11-26 15:50:04 +00:00
codemastr dcd9969537 Started some work on CIDR support (added some functions from hybrid7) 2001-11-26 15:40:43 +00:00
codemastr 5eea2a9daf ... 2001-11-26 15:39:13 +00:00
codemastr 893f67668f Fixed a FSU Pthreads bug on Slackware (thanks to Frank Mueller) 2001-11-24 00:34:26 +00:00
codemastr e43ac717cd Added host54.net to /credits 2001-11-22 16:18:58 +00:00
griever 9fdf9cd9e9 Typo fixes &stuff 2001-11-22 05:47:26 +00:00
codemastr e57336c9c7 Changed some function names 2001-11-19 20:30:30 +00:00
codemastr 28b8a0ef9b Fixed a minor events issue 2001-11-18 22:28:01 +00:00
codemastr 0a7e518e6f Redid the event system to be more accurate 2001-11-18 22:13:04 +00:00
stskeeps 62b2de07a7 +- Made delayed module unloading possible, make a int mod_delay() adding
+  an event, for e_unload_module_delayed
2001-11-17 14:54:32 +00:00
stskeeps 535aa4456a +- Made Events do thread locking (so we can do funny things and kill small
+  furry animals in the attempt for the perfect scanning module) .. yes, this
+  is drunken coding
2001-11-16 21:47:35 +00:00
codemastr abedc78b8b Fixed a make install problem and added some Auth support 2001-11-15 22:29:23 +00:00
stskeeps 197378a364 . 2001-11-15 22:00:37 +00:00
stskeeps c980e53fad . 2001-11-15 21:48:44 +00:00
stskeeps e9123b12db +- Added new auth.c API and a lot of different crap .. will document later 2001-11-15 20:26:52 +00:00
stskeeps 4f18b48a57 +- Fixed password crash bug, found by \dev\NULL-Z-[Zap] 2001-11-15 15:13:13 +00:00
griever 6bb18c87e5 Removed the three lines of code (!!) that caused the SSL freeze-on-connect
bug, gonna fix that error handling.
2001-11-14 20:28:13 +00:00
griever ca70706ad6 <----- Head coder 2001-11-14 20:16:49 +00:00
codemastr f6a3b1f399 Fixed the last of the font and editor-cutting-text bugs (hopefully) 2001-11-13 22:21:48 +00:00
codemastr 1a1a4ebd65 Fixed a codemastr(TM) drunk-coding win32 bug 2001-11-13 19:38:15 +00:00
codemastr aed84e3bf0 Win32 editor changes 2001-11-13 00:40:19 +00:00
codemastr 706c911fc3 Win32 GUI changes 2001-11-11 21:14:02 +00:00
codemastr 621793b491 ... 2001-11-11 00:36:24 +00:00
codemastr 0693a8dd27 Added the ability to edit tld {} files from the win32 editor 2001-11-11 00:34:24 +00:00
codemastr 5e14382326 Added hscroll to the win32 editor if it is needed 2001-11-10 23:45:31 +00:00
codemastr 4b8042603a Fixed a win32 bug where pasting text into the editor would use the wrong font 2001-11-10 20:55:11 +00:00
codemastr ab9db56291 Added support for PS_STRINGS and pstat 2001-11-10 18:13:05 +00:00
codemastr 2a595d3a87 ./unreal updates 2001-11-10 17:37:08 +00:00
codemastr 670c9ee653 Made the /kline hostmask checker work like the G:line checker, (it was too easy to K:line *@*) 2001-11-09 22:17:24 +00:00
codemastr c83f79a44a Fixed a bug that made the G:line host checker ignore ? 2001-11-09 19:32:03 +00:00
stskeeps e2ef04d112 +- VERSION M_SERVER fix by skold
+- Fixed connecting with IPv6
+- Ident requests now orgin with the listener that the user connected on
+- More IPv6 fixes, DNS resolving actually works now too.. (crackhead IRCnet
+  coding)
+- Webserver caching fix
2001-11-08 16:40:34 +00:00
codemastr 327f15d17c Fixed a win32 typo 2001-11-07 21:35:11 +00:00
stskeeps 0b01bc3852 Linux IPv6 Fixes 2001-11-07 13:48:42 +00:00
stskeeps 2c6726c95d .. 2001-11-07 13:29:06 +00:00
stskeeps 053cbcaae4 gr 2001-11-07 13:27:49 +00:00
stskeeps f8756691a5 . 2001-11-07 13:26:37 +00:00
stskeeps 2a55293bcc , 2001-11-07 13:25:54 +00:00
codemastr 2d21f6055d Added aliases/auspice.conf, and added a /register command to aliases/aliases.conf 2001-11-05 22:02:22 +00:00
codemastr afebe1568a Changed the setproctitle check to also check in -lutil (some OSes have it there) 2001-11-05 21:38:27 +00:00
stskeeps be48165fb6 +- Added some setproctitle(.., me.name) for extra l33tness :P~ 2001-11-05 21:30:23 +00:00
codemastr b960288402 Added autoconf check for setproctitle 2001-11-05 21:26:50 +00:00
codemastr cad8d53264 - Made ./unreal generated by configure to make sure it has the correct path of the exe 2001-11-05 20:47:39 +00:00
stskeeps 44a48a2dc0 +- IPv6 fixes for IP_OPTIONS (disables under IPv6, i mean .. IRC multicast.
+  WTF?)
2001-11-05 15:06:13 +00:00
stskeeps cca85ebe57 +- IPv6 fixes to make dual ipv4/ipv6 work 2001-11-05 14:33:18 +00:00
stskeeps 8e2cc100ce +- IPv6 fixes to Inet_si2p & Inet_si2pB 2001-11-05 14:11:36 +00:00
codemastr d11cc14a12 Fixed a bug where the win32 help dialog links were plain text 2001-11-05 00:07:10 +00:00
codemastr 29b7ea7ee8 Added make install and ./unreal utility 2001-11-04 22:09:30 +00:00
codemastr 9c49d0d3b1 ... 2001-11-04 20:12:38 +00:00
codemastr 8382e074e1 Fixed a win32 bug where the editor would cut off text 2001-11-04 17:55:10 +00:00
codemastr 49cf99c68a Updated module dependancies to allow a module to load the module containing the symbol 2001-11-01 20:57:19 +00:00
codemastr a5e31d042d Fixed a typo in makenet 2001-10-29 21:29:44 +00:00
codemastr 56fee9b881 Made some nameser.h changes to work win win32 2001-10-28 16:47:07 +00:00
cvs2hg a5d191e5ac fixup commit for tag 'unreal3_2_beta4' 2001-10-28 16:18:49 +00:00
stskeeps b9d034d6bd +- Preperation for beta4 2001-10-28 16:18:48 +00:00
stskeeps 9a97f7e249 +- Made the missing commands error a little more.. tardfriendly 2001-10-28 16:11:47 +00:00
codemastr d537da4058 Fixed a snomask bug found by Rob 2001-10-28 15:55:31 +00:00
stskeeps 58d81ad35f +- Fixed a DEBUGMODE problem with umodes.c 2001-10-27 13:18:49 +00:00
codemastr 6e17ab11f1 Fixed a nickserv password bug found and fixed by Mathieu 2001-10-23 21:25:34 +00:00
codemastr 0f2be18a1f Added M_RESETIDLE to fix a /privmsg bug 2001-10-17 20:04:23 +00:00
codemastr 22d5b9bee8 Changed the size of umodestring 2001-10-16 19:06:07 +00:00
stskeeps 6b10bee66d +- Made umode_delete(flag, mode); 2001-10-16 17:09:51 +00:00
codemastr 493697bbdf Added new umode system to the win32 makefile 2001-10-16 00:03:01 +00:00
stskeeps 66d3c85d23 +- Added umodes.c, long val = get_umode('c'); 2001-10-15 23:01:31 +00:00
stskeeps 3f9849b5fd +- Added a hell lot of DNS debugging code, and fixed the BIGENDIAN problem
+  with resolver. Thanks to dawn and Trash.net for shell on a sparc
2001-10-14 21:54:25 +00:00
codemastr 85ce15ddf7 Added a utility to auto create version.c for win32. 2001-10-14 19:49:48 +00:00
codemastr 7a9b14634b Removed tokens for /users, /summon, and /samode 2001-10-13 23:19:40 +00:00
codemastr 6b9b8a6da9 Fixed the Win32 Z:line bug 2001-10-13 19:32:05 +00:00
codemastr 7193f9615f Hopefully fixed the weird Z:line bug on win32? 2001-10-13 17:05:18 +00:00
codemastr e516af9535 Fixed a win32 bug where the http scanner didn't get loaded 2001-10-13 16:48:23 +00:00
stskeeps 9fc7398b87 +- Fixed codemastr-on-crack bug regarding oflag 2001-10-11 16:53:52 +00:00
cvs2hg 4e2a05f99a fixup commit for tag 'unreal3_2_beta3' 2001-10-08 17:29:47 +00:00
stskeeps 8b6e1d7166 Bugreport stuff 2001-10-08 17:29:46 +00:00
codemastr 19c8f1b7dc Final changes to prepare for beta3 2001-10-08 17:24:56 +00:00
codemastr 74d080b3fc Fixed a typo in config.h 2001-10-08 17:11:16 +00:00
codemastr 6bad7c8dfa Added headers to all the new modules 2001-10-08 17:06:32 +00:00
codemastr a274714cfa Made changes so the new modules compile on win32 2001-10-07 21:54:14 +00:00
stskeeps 79b4805745 +- Added in Fish's patches
+- Added bitching when you lack needed IRC commands
+- Removed REMGLINE
2001-10-07 20:28:15 +00:00
codemastr a05ec38409 updated makefile.win32 with all the new modules 2001-10-07 16:50:08 +00:00
stskeeps f9a92827ae +- Fixed a /who bug, found by IXpfah 2001-10-07 10:28:06 +00:00
stskeeps 2ac54ecc8b *** empty log message *** 2001-10-07 08:56:11 +00:00
codemastr f331b6919e Added aliases/ which contains aliases for popular services, and made makeconf load scan_http.so 2001-10-07 00:07:24 +00:00
codemastr 8bfbd374c3 Added some stuff that should fix the bug in Windows when including files in other directories 2001-10-05 23:21:04 +00:00
codemastr 3c9327788e Fixed a bug where /userhost would report oper status regardless of +H 2001-10-05 20:02:29 +00:00
codemastr 029c43afd1 Made the http scanner work on win32 2001-10-02 22:01:39 +00:00
codemastr 3b5b9db44f Fixed a win32 bug in scan.c 2001-10-02 21:52:02 +00:00
codemastr d24030d129 Made some changes to allow Unreal to compile on win32 2001-10-01 19:53:13 +00:00
stskeeps 3c633f425b +- Made port default to 6667 when options autoconnect in link {} 2001-10-01 13:24:11 +00:00
stskeeps 0d1a1e42d0 .. 2001-10-01 13:08:35 +00:00
stskeeps b571a80006 +- Made Link denied error a little more descriptive 2001-09-27 14:42:48 +00:00
stskeeps e38b645d11 . 2001-09-17 13:17:36 +00:00
stskeeps 8d3f493976 +- Fixed a #undef INET6 bug 2001-09-17 12:59:42 +00:00
stskeeps 1e438f3560 + fixing a IPv6 bug
+- Made Inet_si2p (sin to presensation), fixing the "*", bug, some debugging
+  fixes, fixed a lot of IPv6 bugs, hopefully - thanks to JK for borrowing
+  his box
2001-09-09 20:09:59 +00:00
stskeeps ee9f9d9af0 +- Removed bsd.c and made socket.c, moving signal stuff to ircd.c, possible
+  fixing a IPv6 bug
2001-09-09 09:43:56 +00:00
stskeeps a19ea15bd6 +- Fixed a IPv6 bindip problem 2001-09-07 12:22:31 +00:00
stskeeps 4ece596b39 +- Some more VFS/PHTML fixes, it actually works now, thanks to butter 2001-09-06 16:24:07 +00:00
stskeeps 09c6afc43e +- modulize documentation, some web server fixes, preparation for uabr 2001-09-06 13:54:31 +00:00
codemastr 5c86649f70 win32 makefile changes 2001-09-02 23:58:09 +00:00
codemastr 82ae1cbf63 Moved /svso and /svsnick to modules 2001-09-02 23:39:16 +00:00
codemastr 6a7e82d048 Made the config file a bit more sturdy 2001-09-02 20:16:10 +00:00
codemastr 3a815c775f Fixed a typo in the win32 makefile 2001-09-02 17:05:40 +00:00
codemastr 87b4e4e268 Updated updconf.c to use except scan 2001-09-02 16:21:38 +00:00
stskeeps 43e77f77bf +- HTTPd VFS fixes 2001-09-01 14:33:07 +00:00
stskeeps 614e22400a +- Made except socks become except scan, and made it actually WORK, and some
+  bugreport fixes
2001-09-01 13:27:17 +00:00
codemastr e04c12a2ea Win32 Cleanup 2001-08-31 21:23:11 +00:00
codemastr e4eec40d91 Removed some missed win32 debug code 2001-08-30 23:40:53 +00:00
stskeeps 1e1e1cdbb6 +- Added a bug reporting tool (still alpha) 2001-08-29 20:05:02 +00:00
codemastr aa98a583be Added the ability to add aliases like /identify 2001-08-29 19:28:52 +00:00
codemastr 0385ce8152 Module additions 2001-08-24 22:17:26 +00:00
codemastr 5cd4cb01f8 Fixed a log::maxsize bug where it would screw up when the file didn't exist 2001-08-24 20:44:33 +00:00
codemastr 2386f8d835 log::maxsize now supports 1MB, etc 2001-08-24 00:58:20 +00:00
codemastr 37e54912c3 Fixed a possible /oper bug 2001-08-23 23:39:53 +00:00
codemastr e7695b3920 Fixed a oper host bug 2001-08-23 23:24:31 +00:00
codemastr d365f0d165 Cleaned up /oper a lot 2001-08-23 20:20:59 +00:00
codemastr d8ba78a6c1 Added a bunch more webtv support, send PRIVMSG instead of NOTICE if +V 2001-08-23 17:44:46 +00:00
codemastr 08caa076ed aClient memory cleanups 2001-08-22 20:02:19 +00:00
codemastr d26b59a9e2 Started work on usermode +V 2001-08-22 16:59:03 +00:00
stskeeps a8f79f88db +- Added support for nested comments in the configuration file (by chasm)
+- Added chasm to /info
2001-08-22 13:06:06 +00:00
codemastr d5b5fa710c Moved SHOWCONNECTINFO define to set::options::show-connect-info 2001-08-21 18:23:43 +00:00
codemastr f24eba8c0d Fixed another alias {} bug 2001-08-20 20:09:37 +00:00
codemastr 823e638f0c Moved FAILOPER_WARN define to set::options::fail-oper-warn 2001-08-20 19:08:59 +00:00
codemastr 461d65148b Added bahamut usermode +R 2001-08-20 16:29:37 +00:00
codemastr ceb76ae6da Fixed another alias {} bug 2001-08-19 22:36:13 +00:00
codemastr 85a0944914 Fixed a bug in alias {} found by RaYmAn 2001-08-19 22:02:26 +00:00
codemastr 9417c9af8e Added alias {} to doc/example.conf 2001-08-19 21:30:27 +00:00
stskeeps 816b24afa5 +- Fixed some credits, recoded httpd (still in progress)
+- Disabled #undef PROPER_CORE
2001-08-19 20:16:18 +00:00
codemastr e7a8ad621e Added config directive alias for dynamic services commands, ex /nickserv 2001-08-19 17:45:57 +00:00
codemastr 07c95cff3f /mode cleanups 2001-08-18 19:11:03 +00:00
codemastr f8697288ec Fixed up http proxy scan and added SOCKS5 scanner 2001-08-17 17:29:42 +00:00
codemastr effda4c445 Fixed a /gline crash bug 2001-08-17 16:26:44 +00:00
stskeeps 769a2e42e3 +- Added scan_http, scans on 80, 3128, 8080 in a threaded manner 2001-08-12 15:07:04 +00:00
stskeeps 27c1195bac +- Some httpd stuff and a #define CHROOTDIR problem found by Zhadum 2001-08-12 11:54:34 +00:00
codemastr ffdf227cbc Fixed a win32 bug that caused crashes in the editor 2001-08-08 21:13:33 +00:00
codemastr 145cc3f7d3 Fixed a win2000 bug causing a crash 2001-08-08 19:31:58 +00:00
codemastr 5b6c60798e Removed some win32 stuff 2001-08-08 16:04:22 +00:00
cvs2hg 4fc33756f4 fixup commit for tag 'unreal3_2_beta2' 2001-08-07 17:12:30 +00:00
stskeeps 8e4abdfd2a +- Preparation for beta2 2001-08-07 17:12:29 +00:00
stskeeps 4ee2331d5c .. 2001-08-07 17:10:17 +00:00
stskeeps 44443c260c +- /who fixes regarding +I +H and crap 2001-08-07 16:39:53 +00:00
codemastr 9c41b1d76d Fixed a bug where operflag eyes didn't work 2001-08-07 16:01:46 +00:00
stskeeps 041f0f910f +- /who fix
+- Another /who fix, what crashed it I assume - helped by narf to find this
2001-08-07 15:19:37 +00:00
stskeeps 0e2ac061b8 +- Fixed vhost bug that forgot to add a \0 in the end of the string
+- /who fix
\ No newline at end of file
2001-08-07 12:29:23 +00:00
codemastr f766d70414 Fixed a umode2 bug that crashed the server 2001-08-06 17:28:29 +00:00
stskeeps 8665f36abc +- Fixed a SNOMASK problem found by Arantis 2001-08-06 15:02:07 +00:00
stskeeps 62939b2033 +- /who fix .. removed nick matching functionality.. 2001-08-06 09:51:10 +00:00
stskeeps ec7b2bc247 *** empty log message *** 2001-08-06 09:20:43 +00:00
stskeeps b1714abad9 . 2001-08-06 07:24:49 +00:00
codemastr 74bad8673a release notes changes 2001-08-05 23:41:33 +00:00
stskeeps 667d52199d +- Using bahamut /who now, this needs some testing.. 2001-08-05 23:38:17 +00:00
codemastr 409f1a95ab Fixed a major snomask bug found by narf 2001-08-05 23:08:59 +00:00
stskeeps ce54560b19 +- Docs prepare 2001-08-05 17:50:38 +00:00
codemastr 21d6293f4c Updated documentation 2001-08-05 17:37:28 +00:00
codemastr fb4525ab19 Fixed an oper-only-stats bug 2001-08-05 17:24:12 +00:00
stskeeps c64debf500 +- Fixed bug with SSL, detected properly and fixed by Chawmp 2001-08-05 16:43:13 +00:00
codemastr 871948d23a Added config check to determine the order to specify the ssl libraries 2001-08-04 18:28:37 +00:00
codemastr 90d9c1df8c Implimented snomask 2001-08-04 17:17:54 +00:00
stskeeps e158540a37 +- Fixed some more IPv6 stuff in httpd 2001-08-04 14:01:46 +00:00
stskeeps decae969ee +- Fixed a codemastr-on-crack /version bug, and fixed some IPv6 stuff in
+  scan*
2001-08-04 13:52:04 +00:00
codemastr bdeda461ed Added log::maxsize 2001-08-03 17:10:40 +00:00
stskeeps 9e3151a79e . 2001-08-03 14:24:49 +00:00
stskeeps d8eb70490a +- Fixed Osiris's example.conf
+- Fixed IPv6 bindip error found by Madkiss
2001-08-03 13:05:06 +00:00
stskeeps 9a089dd8bf . 2001-08-03 06:09:11 +00:00
stskeeps 3b4fe7b347 . 2001-08-03 06:06:53 +00:00
stskeeps a4c2faf453 +- Fixed Osiris's broken example.conf 2001-08-03 06:06:16 +00:00
codemastr c1edf8265f Fixed a win32 bug where /restart didn't remove the tray icon 2001-08-02 20:11:58 +00:00
codemastr 87296d9c89 Fixed some typos in s_conf.c 2001-08-02 19:46:14 +00:00
codemastr a6d3abb12f fixed some config stuff and added more network files 2001-08-02 00:36:35 +00:00
stskeeps 7ce43de8f7 +- Fixed bindip problem with it not being made 2001-08-01 19:53:53 +00:00
codemastr 739139d71e Fixed some config issues and added /stats r to stats help 2001-08-01 19:42:38 +00:00
codemastr 8c39ccec5e made the config recognize several values for a yes/no option 2001-08-01 18:06:34 +00:00
codemastr 082c2bfb1c Added set::anti-spam-quit-message-time idea from hybrid7 2001-08-01 17:01:59 +00:00
codemastr 1af13d4588 added set::oper-only-stats 2001-08-01 00:22:13 +00:00
codemastr 30039008df Removed some obsolete code 2001-07-31 21:29:32 +00:00
codemastr a2e17ca2fe Made the Win32 version report the actual OS to opers in /version rather than just say 'Win32' 2001-07-31 21:09:56 +00:00
stskeeps ff8bc65911 +- Fixed fence post marker overwrite in /vhost, found and fixed by tgf 2001-07-31 21:07:27 +00:00
codemastr 943436a1de Rewrote Addit, hopefully it fixes the SJOIN problems? 2001-07-31 17:39:41 +00:00
codemastr 64962b0ce7 Fixed a typo in the win32 makefile 2001-07-31 17:07:35 +00:00
codemastr e1167a2b2e Various win32 fixes and /restart cleanup 2001-07-31 17:00:45 +00:00
codemastr b0536af4e9 Fixed a possible restart/die bug 2001-07-31 16:37:11 +00:00
codemastr af87d2c18b Added more network files 2001-07-30 16:52:30 +00:00
stskeeps 5067013a80 +- Added tgf's patches for these bugs:
+   * if you dont have a rules file and do "rehash -motd" then the server
+   segfaults.
+   * setgid has to be called before setuid... cos if you change to a non-priv
+      uid first then you are not allowed to setgid!
+
+
2001-07-30 16:50:46 +00:00
stskeeps d7baf33ec3 +- Fixed SVSMODE compile error 2001-07-30 13:04:48 +00:00
codemastr e3a23bdbd1 Added SVSMODE # -e 2001-07-29 22:07:54 +00:00
codemastr ed9ead415c Added wildcard support to include and loadmodule in win32 2001-07-29 21:10:43 +00:00
codemastr 664f148366 Fixed a bug affecting /oper and /vhost caused by IP checking 2001-07-29 16:33:14 +00:00
codemastr 9861da3f1e added more network files 2001-07-28 17:40:53 +00:00
stskeeps 3d8f9eea24 +- Fixed SQLINE bug, FINALLY. (forgot to set type ..oops..) 2001-07-28 17:32:19 +00:00
codemastr 16d16095c7 Added 2 more network files 2001-07-28 01:03:27 +00:00
codemastr 9317a83683 Made a bunch of config errors non fatal 2001-07-28 00:51:35 +00:00
codemastr 7a5cd21953 SVSMODE # flags added 2001-07-27 20:45:39 +00:00
codemastr ae2b0cdf8b Added SVSMODE #channel -b nick to remove matching bans 2001-07-27 17:28:54 +00:00
codemastr d4af2c0207 Made my_itoa use _itoa on win32 2001-07-26 16:23:14 +00:00
codemastr 887f71760c Win32 code cleanup 2001-07-25 16:42:19 +00:00
stskeeps 682d1f26f8 . 2001-07-25 14:35:20 +00:00
codemastr bd3d626cdb network file updates 2001-07-25 00:26:50 +00:00
stskeeps 72512f54db +- More SQLINE fixes.. does it work now? 2001-07-24 22:13:33 +00:00
stskeeps 5132528ca4 sqline 2001-07-24 17:11:59 +00:00
stskeeps 96b14ad6c5 +- Fixed SQLINE problem 2001-07-24 16:58:56 +00:00
codemastr 2ca9d3d6d7 Removed all the obsolete network files 2001-07-23 20:54:41 +00:00
stskeeps b919813837 +- Made CR compatilbity actually work, it autojoins now :) 2001-07-23 18:19:52 +00:00
codemastr ce8eec12ab Fixed a /rehash -motd bug 2001-07-22 16:02:01 +00:00
codemastr c50086fc3c Fixed a scan_socks bug under win32 2001-07-21 16:04:37 +00:00
codemastr 1686954b28 Fixed a win32 bug dealing with the new RTF parser 2001-07-20 21:10:31 +00:00
codemastr aeb3aad5fe added a 3d edge to the color selector in win32 2001-07-20 17:29:37 +00:00
stskeeps 6e98479aae . 2001-07-20 16:37:23 +00:00
stskeeps 9d88337a9b scan_socks stuff 2001-07-20 16:33:53 +00:00
codemastr 37f97c5b49 Fixed a bug in the win32 status dialog 2001-07-20 16:31:23 +00:00
stskeeps 699f22a0fb . 2001-07-20 16:26:34 +00:00
codemastr 023032c213 Fixed a bug in the new editor 2001-07-19 21:25:57 +00:00
codemastr c0bb81d1ca Major changes to the win32 editor 2001-07-19 17:37:58 +00:00
stskeeps e102ce8603 +- Added in Ossie's example.conf v2 2001-07-18 07:57:33 +00:00
stskeeps 4756c12519 +- Patched in zogg's scan_socks patch, second edition 2001-07-18 05:34:46 +00:00
stskeeps fa37709af6 +- Added correct uptime to web interface 2001-07-17 21:37:47 +00:00
stskeeps ae4eb55dac +- Fixed some flaws in httpd, that made it break unmercifully 2001-07-17 21:20:42 +00:00
stskeeps 8d0bcef963 +- Minor bugfix in scan_socks, + some comments 2001-07-17 08:45:08 +00:00
codemastr a424c8063a Fixed a /sapart bug 2001-07-16 20:34:54 +00:00
codemastr 7b515e04a5 Added a patch by Zogg to fix a socks scanner problem 2001-07-16 20:24:14 +00:00
codemastr c5c3b2081d made options to make /stats K and /stats G oper only 2001-07-16 18:03:59 +00:00
codemastr 9378291b21 ... 2001-07-16 17:53:00 +00:00
codemastr acf66442e8 Various bug fixes 2001-07-16 17:51:18 +00:00
stskeeps c4d4754511 +- Fixed possible bug with allowing :'s in +k/+L ..
+- Added a credit
2001-07-16 07:41:35 +00:00
codemastr 3fa29a16e5 Various fixes 2001-07-16 00:59:34 +00:00
stskeeps 9406e963de . 2001-07-15 20:51:57 +00:00
codemastr 26f91d1c7e Some gcc 3.0 fixes and other stuff 2001-07-15 20:43:50 +00:00
stskeeps 83c0a3738d +- Fixed struct IN_ADDR problems on some OS'es 2001-07-15 18:40:13 +00:00
stskeeps 5393853cac +- Fixed -nexus.nexusirc.org- *** Notice -- Trying to send [:Alzirr WALLOPS
+  :test bug, found by Alzirr
2001-07-15 18:38:07 +00:00
stskeeps 43b56373c4 +- Fixed *** nick has quit (no Days come, days go), by defaulting to "Quit: " 2001-07-15 18:32:02 +00:00
stskeeps e6df04d821 +- Fixed some CHINESE_NICK stuff 2001-07-15 18:23:45 +00:00
stskeeps 1b285c492f *** empty log message *** 2001-07-15 17:49:53 +00:00
codemastr 202a064904 ... 2001-07-15 17:18:35 +00:00
codemastr 42cbdce0bd Few little bug fixes 2001-07-15 17:13:56 +00:00
stskeeps 52dbb6c0dc . 2001-07-15 10:27:35 +00:00
stskeeps c53bee2244 +- Commited the web server prototype made by Stskeeps, web design by WildChild
+- Ripped out the old DF watch system, using bahamut's now
2001-07-15 10:25:59 +00:00
stskeeps a4b63af2e1 +- Commited the web server prototype made by Stskeeps, web design by WildChild 2001-07-14 21:04:16 +00:00
stskeeps 9b6a674d9c +- Various preparitions for beta1 2001-07-13 20:47:44 +00:00
stskeeps 748c2830c0 +- Changed version to -beta1 2001-07-13 19:55:02 +00:00
stskeeps b66d4a8b0d +- Documentation bug fix 2001-07-13 19:40:04 +00:00
stskeeps 8de27cef2a +- Documentation (example.conf from Osiris) 2001-07-13 19:32:28 +00:00
stskeeps 40f7f0b104 +- Removed the redefining stuff in s_conf.c 2001-07-13 17:18:30 +00:00
stskeeps c8c5ff9571 . 2001-07-13 12:39:21 +00:00
stskeeps ae3ac9012d . 2001-07-13 12:10:43 +00:00
stskeeps 7de9d2d6a6 ... 2001-07-13 11:42:40 +00:00
stskeeps 351a8b48ec . 2001-07-13 11:19:44 +00:00
stskeeps 29ad0e8ff0 +- Fixed u_intXX_t problem 2001-07-13 10:59:15 +00:00
stskeeps 3c7ce7454d +- Fixed some possible points of confusion with hash.c regarding unsigned int
+  & signed int
2001-07-13 08:38:14 +00:00
stskeeps 519a8f893e +- Fixed problem with MAXCONNECTIONS when no parameters given in ./configure 2001-07-12 22:36:19 +00:00
stskeeps ce66aaad96 +- Fixed a validate_conf problem found by Janos
+- Fixed some minor invalid numeric stuff
2001-07-12 18:11:25 +00:00
codemastr 1b5e8d03c2 Fixed a ban bug where temp bans were not cleared on rehash 2001-07-12 17:20:23 +00:00
stskeeps dc1a1f4be0 +- Minor SJOIN fix .. 2001-07-10 11:14:12 +00:00
stskeeps c6e8b4b28b +- Added possiblity to add parameters to configure in Config 2001-07-10 09:52:44 +00:00
stskeeps 510a8fb9c2 . 2001-07-09 22:36:20 +00:00
stskeeps bd1a3ecf55 . 2001-07-09 22:36:19 +00:00
stskeeps 463aa1532c . 2001-07-09 22:34:02 +00:00
stskeeps 962be3514c . 2001-07-09 22:30:12 +00:00
stskeeps ab60bb826c . 2001-07-09 22:08:39 +00:00
stskeeps fd558d0675 +- Some configure.in fixes to pthread stuff 2001-07-09 21:18:10 +00:00
stskeeps 409d1f248a . 2001-07-08 20:23:21 +00:00
stskeeps 295a4468f7 +- Made badword fix found by eternal/Jsmj
+- Changed pthread process check to pthread_join on proposal and idea by
+  codemastr
2001-07-08 20:08:30 +00:00
stskeeps 6b9a544188 . 2001-07-08 16:24:41 +00:00
stskeeps 4d24208f23 *** empty log message *** 2001-07-08 16:19:01 +00:00
stskeeps 883d888620 . 2001-07-08 15:43:38 +00:00
stskeeps 9e0b621890 . 2001-07-08 14:55:33 +00:00
stskeeps 3bb6eb48bb +- Made badword fix found by eternal/Jsmj 2001-07-08 14:53:51 +00:00
stskeeps 137df47190 +- Fixed a documentation bug in unrealircd.conf.txt, made config_error
+  actually bitch when loop.ircd_booted
2001-07-07 08:12:21 +00:00
stskeeps c2d74a527a +- Fixed some rant stuff 2001-07-06 15:32:03 +00:00
stskeeps ad3de916c8 +- Fixed so we compile without symbols in win32 .. 2001-07-05 18:11:35 +00:00
codemastr 2a921e28a7 Fixed a little scan.so bug 2001-07-05 17:41:44 +00:00
stskeeps cfd4e898d8 . 2001-07-05 16:53:02 +00:00
stskeeps 41246edb24 - Made scan_socks & scan work under win32. Only bug is a \1 IP in /quote scan (?) 2001-07-05 16:36:14 +00:00
stskeeps 615936938b Made win32 work 2001-07-04 14:10:08 +00:00
codemastr dd7b98a4c2 Fixed an SVSFLINE bug when removing an unknown dccdeny 2001-07-03 22:10:26 +00:00
codemastr 55becdc356 various fixes 2001-07-03 21:38:37 +00:00
codemastr 80c9185de9 Updated m_template.c to use module version 2 2001-07-03 16:53:59 +00:00
stskeeps 33c6693da0 . 2001-07-03 14:39:25 +00:00
stskeeps 477df429d3 +- Made a /scan fix, and fixed some version numbers found by Morbid 2001-07-03 14:20:45 +00:00
codemastr 0a5b46f054 Win32 fixes 2001-07-02 22:47:00 +00:00
stskeeps 50d86c6013 *** empty log message *** 2001-07-02 20:36:19 +00:00
codemastr b22821ec55 Removed a bunch of unused code 2001-07-02 20:32:53 +00:00
codemastr f585e79a0b ... 2001-07-02 20:24:12 +00:00
stskeeps 8d2bbbab95 +- Fixed some IsToken / sendto_serv_butone screwups, actually think they're
+  codemastr(TM) coding
2001-07-02 19:17:53 +00:00
stskeeps 62a39b24d7 +- Minor cosmetic fixes, and SVSNLINE (ban realname).
+   SVSNLINE + reason_why_moo :realname mask - Add global ban realname
+    ('_' is converted into spaces)
+   SVSNLINE - :realname mask             - Remove global ban realname
+   SVSNLINE *                            - Wipes all global ban realname
+- Fixed FIXME dcc_deny_wipe_services
+
+
\ No newline at end of file
2001-07-02 18:31:42 +00:00
codemastr 29a0ae1871 removed a few missed userload.h references 2001-07-02 17:59:29 +00:00
codemastr f3e02b9ada Removed include/userload.h (not used) 2001-07-02 16:30:06 +00:00
codemastr 63b3220971 Updated the stats help list for newconf 2001-07-02 16:21:24 +00:00
stskeeps e9f47d1271 . 2001-07-02 09:17:50 +00:00
stskeeps d3aef18d3e . 2001-07-02 08:26:25 +00:00
stskeeps e01cf0f3f4 +- Random cosmetic fixes 2001-07-02 08:24:04 +00:00
codemastr 9f19792b95 fixed some misc rh7 warnings 2001-07-02 00:57:57 +00:00
stskeeps ad7a03644c +- /htm fix by Griever 2001-07-01 23:14:14 +00:00
stskeeps b3ec92858a *** empty log message *** 2001-07-01 22:34:31 +00:00
stskeeps 2fe7e4986f +- Some /info stuff, updated docs, .CHANGES.NEW, .RELEASENOTES 2001-07-01 22:32:44 +00:00
stskeeps af397fa6c2 . 2001-07-01 20:11:08 +00:00
codemastr c36797d8f1 Fixed a scan bug on rehash 2001-07-01 19:44:49 +00:00
stskeeps 514a1026eb +- Added some thread debugging, and fixed a SVS2MODE bug 2001-07-01 10:14:46 +00:00
stskeeps 189242d07c . 2001-06-30 16:26:22 +00:00
stskeeps e6fd53f363 . 2001-06-30 12:06:23 +00:00
stskeeps 5795f3c489 +- Fixed some minor mod_load troubles, and made it go a little more sensible
+  regarding retarded rehashes
2001-06-29 23:28:18 +00:00
codemastr 0053fe0b8a Made a minor message change to ./Setup 2001-06-29 21:47:35 +00:00
codemastr e959419e4a Rewrote updconf to actually work 2001-06-29 21:44:06 +00:00
stskeeps 52fd41449e - Fixed a pthread_join 2001-06-29 18:44:29 +00:00
codemastr 6d3b664922 Updated thread porting code to support more functions 2001-06-29 18:38:11 +00:00
stskeeps 5357d536a1 +- Moved blackhole into scan.c and removed blackhole.c, and fixed some
+  blackhole bugs.
2001-06-29 18:37:33 +00:00
codemastr 89ac1c8723 fixed a module bug 2001-06-29 15:02:54 +00:00
codemastr 09e4767c45 module changes 2001-06-29 14:57:21 +00:00
codemastr c2e3552039 Made unreal call all the mod_unload's when it shuts down 2001-06-29 14:03:16 +00:00
stskeeps f2bd92c9ad +- Made version.c depend on ../Changes 2001-06-29 09:48:05 +00:00
stskeeps de306fc395 +- Commited the +k fix to +L 2001-06-29 09:04:40 +00:00
stskeeps 7680ec834a -- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
+- Fixed autoconf/Makefile screwup caused by codemastr
+- Fixed a problem with IPv6 always enabled (could you check this fix, code?)
 - Fixed a bug allowing channek keys to have spaces
 - Cleaned up some thread porting code
 - Added a new versioning system to allow easy tracking of bugs
+- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
 - Fixed makeconf
+- Changed the way modules work. We're now at MOD_VERSION 2
+- Changed ALL MODULES to version 2
2001-06-28 20:30:54 +00:00
codemastr a499f98271 fixed makeconf 2001-06-27 21:40:59 +00:00
codemastr dfb1942aba added a new versioning system to help track bugs 2001-06-27 20:53:47 +00:00
codemastr 91c6e584e6 cleaned up some thread porting code a bit 2001-06-27 17:16:39 +00:00
codemastr 794500dbc5 Fixed a bug allowing channel keys to have spaces 2001-06-27 15:44:52 +00:00
codemastr 2c9232113e Made glob() used GLOB_LIMIT on OpenBSD 2.9 to try and stop DoSing 2001-06-27 15:38:10 +00:00
codemastr d276e9a197 added IPv6 support to ./Config 2001-06-27 00:35:42 +00:00
codemastr 16e06cb6a0 Added the ability to use file globs in loadmodule and include 2001-06-26 23:45:56 +00:00
codemastr e03c23820a added configure check for glob.h 2001-06-26 23:44:59 +00:00
codemastr 95d1575c54 removed some remnants of umode +b 2001-06-26 19:57:49 +00:00
codemastr 2fe33658f3 cleaned up mod_depend a bit to look nicer 2001-06-26 17:08:54 +00:00
stskeeps 724f829a0e +- Added in Griever's SJOIN fix 2001-06-26 09:27:44 +00:00
stskeeps 0246583fe1 +- Added mod_depend checking, see scan_socks.c for example 2001-06-25 23:34:15 +00:00
codemastr e604a72114 Fixed /stats to work fully with newconf 2001-06-25 20:13:37 +00:00
codemastr 740084b6d9 Fixed a bug where configure would pick both -ldescrypt and -lcrypt 2001-06-25 19:58:21 +00:00
codemastr df21d67573 moved swhois and svsmotd to modules 2001-06-24 21:03:08 +00:00
codemastr a3e375745c moved svsmode and svs2mode to m_svsmode.so 2001-06-24 20:36:05 +00:00
codemastr d30a4f619c Added a little utility to make converting an m_* command to a module easier 2001-06-24 19:55:35 +00:00
codemastr 3b0d162573 too lazy to write a real message 2001-06-24 19:40:56 +00:00
codemastr 3aa24503f5 Fixed a rehash bug dealing with stderr 2001-06-24 17:12:31 +00:00
codemastr 3e656cf43e ... 2001-06-23 20:14:46 +00:00
codemastr 793a447df1 ... 2001-06-23 20:14:45 +00:00
codemastr c88e6392c0 ... 2001-06-23 20:12:37 +00:00
codemastr 412b6fdec3 ... 2001-06-23 20:10:42 +00:00
codemastr 9952f21f5b Made Unreal use FSU Pthreads if the system has 'broken' pthreads 2001-06-23 20:08:16 +00:00
stskeeps 2f9a35ed6f +- Some more INET6 fixes 2001-06-23 13:57:14 +00:00
stskeeps 6eb059436b +- Taking some more Config changes 2001-06-22 22:10:27 +00:00
stskeeps c85f59cfe3 . 2001-06-22 21:51:44 +00:00
stskeeps 432f632839 . 2001-06-22 21:46:05 +00:00
stskeeps d2ea4937ed blah 2001-06-22 21:43:37 +00:00
stskeeps 6cf10d76c9 . 2001-06-22 21:33:01 +00:00
stskeeps 323f7f67be +- Fixed a configure.in error with IRCDLOBS 2001-06-22 21:29:01 +00:00
stskeeps 776fa42cf7 +- Some more more configure.in fixes, regarding -export-dynamic, and buffer
+  pools, and some illegal if test $var = othervar
2001-06-22 21:10:13 +00:00
stskeeps 12eabdba06 +- Some more configure.in fixes, and made ./Config -q & -quick (do not ask
+  questions, just run with data in config.settings)
2001-06-22 20:53:00 +00:00
stskeeps 266b0bb33f +- Moved config/ to autoconf/
+- Some fixes to configure.in that seemly got deleted?
2001-06-22 18:10:26 +00:00
stskeeps 432b8296f4 +- Moved config/ to autoconf/ 2001-06-22 17:17:11 +00:00
stskeeps 82f62f84be OpenBSD bug fixes 2001-06-21 21:02:12 +00:00
codemastr 5ceda9a5ac *** empty log message *** 2001-06-20 17:48:03 +00:00
codemastr 7f62aab7d3 Fixed a few configure problems with sunos and amiga 2001-06-20 16:55:35 +00:00
codemastr cc4596cf7e Fixed the keywalk bug reported by BaTmAn 2001-06-19 16:15:43 +00:00
stskeeps d269e1a8a1 +- Made CRYPTOIRCD get cached in config.cache
+- Fixed generation of certs, moved from configure.in to Config
+- Fixed lack of -lssl
2001-06-19 16:09:48 +00:00
codemastr a46aa2a4bb Config changes 2001-06-19 15:46:24 +00:00
stskeeps 5b7168d1e1 +- Minor fixes to Config, a license, etc 2001-06-19 15:26:08 +00:00
codemastr 82c52cb2a9 rewrote Config to be more of an interface than a standalone config utility 2001-06-19 01:03:21 +00:00
codemastr de215877c1 fixed a typo in configure 2001-06-19 00:28:38 +00:00
stskeeps ee1c51020b +- Config fixes, settings.h and Makefile.dist are now dead. RIP. 2001-06-18 20:55:48 +00:00
codemastr f40ec73cbb ... 2001-06-18 20:21:57 +00:00
codemastr aa5ee8b79f added ./configure (autoconf generated configure script 2001-06-18 17:19:35 +00:00
codemastr e28fe9d777 Added numeric 005 NETWORK= token support 2001-06-17 17:03:13 +00:00
stskeeps 00ed3759bb +- Fixed some scan-socks and blackhole fuckups 2001-06-17 17:02:09 +00:00
codemastr ca95bdbbed Fixed a quarantine bug(?) 2001-06-16 15:18:44 +00:00
stskeeps 63170bd946 +- Removed the old SOCKS check code. 2001-06-16 10:36:08 +00:00
stskeeps 0abf279a66 +- Fixed a codemastr screwup in quarantine code 2001-06-15 21:06:10 +00:00
stskeeps a0538911d4 \ No newline at end of file
+- Made blackhole.so work
+- Fixed a set_non_blocking bug
2001-06-14 15:31:42 +00:00
stskeeps 901bcc8a41 +- Made blackhole.so work 2001-06-13 14:13:32 +00:00
codemastr fe9735bd4e Added link::options::quarantine 2001-06-11 15:21:08 +00:00
codemastr 3196657cd4 removed agent.c updated win32 makefile 2001-06-11 14:44:13 +00:00
codemastr b18a357202 rm 2001-06-11 14:43:54 +00:00
codemastr 49030ee0dd Added hook HOOKTYPE_PRE_LOCAL_CONNECT 2001-06-11 14:39:08 +00:00
codemastr f5fa79afac added numeric 105 in /version 2001-06-11 14:18:40 +00:00
stskeeps 78520f8cd0 +- Fixed double dependicies bug.. stupid dlsym 2001-06-10 21:57:39 +00:00
codemastr 8db346ed62 Added some pthread checking support 2001-06-10 20:43:47 +00:00
stskeeps 29b19f988b +- Minor src/Makefile screwup fix 2001-06-10 20:42:38 +00:00
codemastr 8e4f620f7d Allowed capturing of unknown set {} variables by modules (conf_unknown_set) 2001-06-10 20:24:23 +00:00
stskeeps 8f28d5f0d5 +- Fixed /quote sethost : and /quote setident : exploit, found by ac1d, fixed
+  by Griever
2001-06-10 19:50:24 +00:00
cvs2hg 2186d042ca fixup commit for tag 'unreal3_2_12june' 2001-06-09 19:56:22 +00:00
stskeeps 5dfe97a9c6 +- Fixed up scan_dummy.c 2001-06-09 19:56:21 +00:00
stskeeps 3aebacf774 +- Fixed some scan_socks problems - this needs a good hand with 2001-06-09 19:06:42 +00:00
codemastr 26a828bf41 Unknown ban * {}, except * {}, deny * {}, allow * {} are accessible to modules 2001-06-09 17:05:12 +00:00
stskeeps fecfd72417 +- Fixed problem with u_int32_t servicesstamps, with SVSMODE and SVS2MODE,
+  found by Andrew Church
\ No newline at end of file
2001-06-09 15:30:01 +00:00
codemastr d9941457ad Added hooks to allow you to add config blocks 2001-06-08 16:55:53 +00:00
codemastr 6ba33745e2 win32 thread change 2001-06-07 18:19:34 +00:00
codemastr e889beec33 Updated the win32 thread code (maybe it will work now?) 2001-06-07 17:43:32 +00:00
stskeeps d043dc3187 - Fixed codemastr's broken millitime patch (sys/timeb.h)
- Added scan_socks.c, added and moved some stuff to
  include/modules/scan.h (the dir too)
- Converted threads to IRC*Thread by codemastr.
2001-06-07 16:22:32 +00:00
codemastr 63a3ef308d Made match() a little bit faster 2001-06-06 20:05:16 +00:00
codemastr 870119644d Made militime() just as accurate on win32 as on linux 2001-06-05 21:10:21 +00:00
stskeeps 66235b4610 minor fix 2001-06-04 18:34:26 +00:00
codemastr a3b000358e ... 2001-06-04 18:31:14 +00:00
stskeeps ddcdba2e86 - Fixed bug with changing nicks 2001-06-04 11:45:46 +00:00
stskeeps ad0e3539da - Changed how hooks work, making them support voidfuncs
- Added src/modules/scan.c and src/modules/scan_dummy.c
2001-06-04 10:17:16 +00:00
codemastr 66638d66c4 ... 2001-06-03 23:05:33 +00:00
codemastr 5e482c1059 ... 2001-06-03 23:01:24 +00:00
codemastr 740eac2273 fixed a win32 bug 2001-06-03 22:46:31 +00:00
codemastr 595f52c11c made Unreal reload its tray icon if explorer restarts 2001-06-03 15:13:03 +00:00
codemastr 4ba5ad7885 fixed a /stats c = crash bug 2001-06-01 22:49:32 +00:00
codemastr 40f3c69ed5 Made Unreal run correctly on OpenBSD 2001-05-28 14:49:48 +00:00
codemastr b872ad1912 Made a popup menu for the tray icon to contain the same 'buttons' as the GUI does 2001-05-27 20:04:34 +00:00
stskeeps 0b46646765 - Fixed /whois problem, maybe introduced some others?
- Removed send_out_svsmode, not in use and broken too
- Made Config say Unreal3.2
2001-05-27 19:56:19 +00:00
stskeeps 7cd4856373 +- Made newconf state unknown directives (found by Madkiss)
+- Small s_socks.c bugfix possible causing indetectable socks
2001-05-27 13:11:58 +00:00
stskeeps 68eb489f36 +- Made validate_configuration check for !conf_listen 2001-05-27 10:02:31 +00:00
stskeeps bacf06d3eb +- Merged McSkaf's hostname patch, debug patch, s_misc patch 2001-05-26 19:27:14 +00:00
stskeeps 886549cf13 - Made slot arrangement be different. 2001-05-26 18:08:38 +00:00
codemastr 97a11dbea9 Made the Status Dialog update its values every 5 seconds 2001-05-26 15:55:08 +00:00
codemastr b8b748a940 Added McSkaf's rehash patch 2001-05-26 15:40:09 +00:00
codemastr 5b66562e97 updated win32 makefile 2001-05-26 15:05:44 +00:00
stskeeps 57bee58436 +- Made possible speedup of fdlist checking in s_bsd.c 2001-05-26 13:19:48 +00:00
stskeeps 52cd1f5d03 +- Added some numeric checking in m_server* 2001-05-26 08:23:38 +00:00
stskeeps 08f25ead4e - Possible fixed fdlist problem with default_fdlist 2001-05-26 08:03:58 +00:00
codemastr 4a81ab873d Commited McSkaf's tab patch for win32 2001-05-25 21:18:56 +00:00
stskeeps 37f47c0980 +- Fixed minor socksfd problem in read_message
+- Fixed identd problem
2001-05-25 17:08:26 +00:00
stskeeps dd8b77b9ec - Fixed problem with addto_fdlist(cptr->fd) caused by slotpatch 2001-05-25 16:30:35 +00:00
codemastr 35655afdea minor win32 bug fix 2001-05-24 21:04:21 +00:00
stskeeps 2cf513ae54 +- Fixed listener problem, reported by McSkaf 2001-05-24 19:52:44 +00:00
stskeeps f8f8d25f59 possible listener problem..? 2001-05-24 19:49:54 +00:00
stskeeps 7b9c24590a . 2001-05-24 17:53:01 +00:00
stskeeps 23609410e1 Fixed a problem with slots and /trace 2001-05-24 17:52:04 +00:00
stskeeps 737f07a9fe fixed problem with Debugmode unde win32 2001-05-24 16:06:29 +00:00
stskeeps ffe3bb5cba . 2001-05-24 15:57:04 +00:00
stskeeps b2dbb8d42e winlocal stuff 2001-05-24 15:56:24 +00:00
stskeeps a7f0efe61f +- More winlocal fixes, and a +f bugfix 2001-05-24 15:17:28 +00:00
codemastr d46957d5d6 color rtf patch 2001-05-20 16:25:36 +00:00
stskeeps f74c738cdf . 2001-05-20 15:57:43 +00:00
stskeeps 4cc7b2eb68 winlocalpatches 2001-05-20 08:02:09 +00:00
stskeeps 9b85197ec2 . 2001-05-19 20:41:06 +00:00
stskeeps ab3adfc4ce - Made /die not show admins IP (fixed by Stskeeps after his users nuked him..) 2001-05-19 19:57:52 +00:00
stskeeps 767acc2d61 . 2001-05-19 16:38:13 +00:00
stskeeps 4481b8565e . 2001-05-19 09:46:45 +00:00
stskeeps 581ecab7f8 . 2001-05-19 07:46:37 +00:00
stskeeps b3a6a5d8bc . 2001-05-19 06:28:23 +00:00
stskeeps c5c6be51ce +- Applied McSkaf's winlocal patch II, only changed Debug() and removed
+  DEBUGMODE from config.h. Still cores, but we might be closer to a
+  solution. Broken code, do not use devel right now
2001-05-17 18:44:04 +00:00
stskeeps 39844754a5 .
K
2001-05-17 16:58:06 +00:00
stskeeps 0ce4be7780 . 2001-05-16 19:29:53 +00:00
stskeeps e72d0ff6a5 no message 2001-05-16 19:02:54 +00:00
stskeeps 9d9b27fbcb - Fixed the loop, made htmcalc more clean 2001-05-16 14:43:21 +00:00
stskeeps 6f7214ba2a . 2001-05-15 13:46:59 +00:00
stskeeps 0c6e023e07 . 2001-05-15 12:07:03 +00:00
stskeeps 2da8a5fd52 converted htmcalc/lcf to events 2001-05-15 12:02:39 +00:00
stskeeps 746f5b8420 . 2001-05-14 17:25:51 +00:00
stskeeps d9eea90de4 . 2001-05-14 16:53:48 +00:00
stskeeps aa7a1485d0 events code 2001-05-14 16:52:17 +00:00
codemastr 7d55e31da0 added code to make the config parser attempt to keep going rather than die 2001-05-13 20:42:20 +00:00
stskeeps 49ad7cb797 . 2001-05-13 19:43:18 +00:00
codemastr a245aa8369 removed ce_vardatanum, wasted CPU and memory 2001-05-13 18:03:43 +00:00
codemastr 25041b0074 Made the topic for a +s channel hidden from non-members 2001-05-12 16:44:34 +00:00
stskeeps 82af929628 . 2001-05-12 14:45:46 +00:00
stskeeps 94a9919ff2 +- Fixed the 100% cpu problem, again, HTM is screwed now though? 2001-05-12 13:42:10 +00:00
stskeeps d33d0292e2 +- Fixed the problems with 100% cpu, hopefully 2001-05-11 21:20:17 +00:00
codemastr bbf83caae0 ... 2001-05-09 19:48:08 +00:00
codemastr 43dbfc5707 added McSkaf's richedit patch to support reverse 2001-05-09 19:44:38 +00:00
stskeeps 27dd306e33 . 2001-05-07 18:59:21 +00:00
stskeeps bcf384f074 . 2001-05-07 18:42:24 +00:00
stskeeps b75e14a07d . 2001-05-07 18:39:55 +00:00
stskeeps 689c63f382 . 2001-05-07 14:28:45 +00:00
stskeeps 2b343609ee +- Changed all TStime() to use timeofday - CPU SAVE
+- Removed userload.c & userload.h
2001-05-07 14:24:11 +00:00
codemastr 7b393920b5 win32 richedit changes 2001-05-06 23:50:30 +00:00
codemastr 0c5f482cae Removed some win32 stuff that accidentily got committed 2001-05-06 20:24:16 +00:00
codemastr 7565597137 win32 richedit support added 2001-05-06 20:21:19 +00:00
stskeeps c402f50c43 +- Added doc/unrealircd.conf.txt (by devdev), doc/services-install-guide
+  (zyrol, edited a bit by stskeeps)
2001-05-06 17:08:31 +00:00
stskeeps 18479eb145 +- Fixed-fixed listen format troubles, larne++
+- Possible fixed some +d bug(s)
2001-05-05 19:52:54 +00:00
stskeeps 8c6bce17a3 +- Fixed-fixed listen format troubles, larne++ 2001-05-05 19:34:45 +00:00
stskeeps 5f306b09f0 +- Fixed some compilation error with IPv6 2001-05-05 16:42:27 +00:00
stskeeps 452d931de2 +- Made listen format able to do:
+     listen [ip]:port, for IPv6 - listen [3fff:ff::1]:6667
2001-05-05 15:55:01 +00:00
stskeeps 7cc288c293 . 2001-05-05 15:33:31 +00:00
stskeeps 60b5126fea +- Made chghost/chgident able to do :'s 2001-05-05 15:29:03 +00:00
stskeeps 312c90fb02 +- Made a crazed out IPv6 cloaking 2001-05-05 14:56:38 +00:00
stskeeps 7dfcb698c4 +- Made you able to bind to specific IPv6 IPs (we don't have FFFF::*
+  functionality yet)
2001-05-05 14:28:15 +00:00
stskeeps 183ac0af7d +- Made IPv6 compile atleast, and work. Current problems:
+  * Cannot bind to a specific IP
+  * IPv6 cloaking doesn't work
2001-05-05 14:16:32 +00:00
stskeeps 1d3488dbdd +- Fixed doc error in s_conf.c 2001-05-05 12:05:15 +00:00
codemastr 4d027ee4fd Added an xchat based color striper (faster and more accurate) 2001-05-04 20:29:32 +00:00
stskeeps 145c25e249 +- Had to revert McSkaf's winlocal.patch, caused too many crashes. I believe
+there is a better way to do this ..
2001-05-02 16:35:49 +00:00
stskeeps 09a50a286d blah 2001-05-02 09:22:08 +00:00
stskeeps 4d5d474bbd +- Removed SJOIN/SJOIN2 support in SJOIN
+- Fixed a +f bug, found by NiQuiL
+- Applied McSkaf's winlocal.patch, seems to work ok, fixed some problems
+  though in unix/win32 (cptr->fd can be -3. Should fix some READ ERRORS as
+  well. McSkaf, do me a favour and remove all of the C++ comments in the
+  source (//) or modify them to /* */
2001-05-01 15:03:07 +00:00
stskeeps 9f8c142981 Removed SJOIN/SJOIN2 support 2001-04-30 17:17:56 +00:00
stskeeps d0f426eafb +- Fixed RTLD_NOW problem with openbsd 2001-04-29 20:31:58 +00:00
codemastr a1689d32e8 fixed a bug causing Found your hostname (cached) to be displayed twice 2001-04-28 19:20:28 +00:00
stskeeps 4c5fa91707 +- Possible fixed a buggie in +f 2001-04-28 18:51:21 +00:00
codemastr d8917f301f added keyboard shortcuts to the win32 config and about popup menus 2001-04-28 16:09:16 +00:00
codemastr bb01af2f8b win32 and numeric 005 changes 2001-04-28 16:03:27 +00:00
stskeeps 94516c12f9 +- Applied s_debug.c/config.h patch from McSkaf, makes DEBUGMODE under
+  win32 working again - fixed some errors in the unix part of it.
2001-04-28 07:22:32 +00:00
stskeeps 9590301027 +- Applied res.c.patch from McSkaf, fixes win32 GPF, but fixed mising HE(ocp) 2001-04-28 07:16:58 +00:00
stskeeps 97e7c471e2 +- Brought 005 up-to-date with spefication - added CHANMODES= support 2001-04-27 20:26:30 +00:00
codemastr fe33eabc47 Win32 fixes 2001-04-25 21:21:33 +00:00
codemastr 684e6dbc4d ixed a win32 bug found by RaYmAn causing the tray icon not to be displayed sometimes 2001-04-24 20:03:41 +00:00
codemastr 63dd767e2b win32 stuff 2001-04-24 19:50:28 +00:00
codemastr 83485c7464 removed newdns 2001-04-23 19:45:53 +00:00
stskeeps 8d9c41d457 +- Fixed possible crash with /quote dns l 2001-04-22 13:32:05 +00:00
stskeeps 48c02f74a9 +- Fixed minor problem with mod_load code 2001-04-22 08:38:39 +00:00
stskeeps bdcc9dd9d2 +- Added method mod_load in dummy example and made it work. mod_load() is executed
+  when server is ready
2001-04-21 19:49:54 +00:00
stskeeps 695ab4d2eb +- Fixed possible crash bug imposed by too many users per ip in AllowClient -found and fixed by McSkaf
+- Made IP Mismatches getting sent to UMODE_JUNK instead
2001-04-21 18:14:40 +00:00
codemastr 5423bf8a94 Win32 changes 2001-04-21 17:06:07 +00:00
codemastr a4220227ba Fixed a /stats Z bug reported by RaYmAn 2001-04-21 00:34:43 +00:00
codemastr 9625b4cd1c Win32 changes 2001-04-20 23:55:45 +00:00
codemastr bfdd6a67d6 newconf cleanup 2001-04-19 00:03:28 +00:00
codemastr d7fdd5c5a3 Made the resolver work in win32 2001-04-18 19:35:41 +00:00
stskeeps cae1a304ba -- Fixed a claok bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
+- Fixed a cloak bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
+- Fixed some cloak bugs, and applied +x crypto to hostnames as well
2001-04-18 17:36:59 +00:00
codemastr f5bf9b603e fixes 2001-04-18 17:32:02 +00:00
stskeeps 5142675522 +- Removed doc/ADD-TO-IRCRC, doc/INSTALL, doc/Manual, doc/Operators,
+  doc/irc.1, doc/ircd.8, doc/server-compile-guide
2001-04-18 13:17:26 +00:00
stskeeps 815dbb9183 +- Fixed do_dns_async problem with new res.c 2001-04-18 07:47:41 +00:00
codemastr 32daea058a Fixed a ban realname {} bug that _may_ have something to do with the negative user count bug 2001-04-16 21:00:14 +00:00
codemastr 4f1778a08b removed __P 2001-04-16 15:36:30 +00:00
codemastr 4298b01b5e fixed ircd_log to work in win32 2001-04-16 00:18:59 +00:00
codemastr 62ce071c41 added /rehash -all patch by NiQuiL 2001-04-16 00:01:38 +00:00
stskeeps cf288e063f res.c: ircsprintf fixes 2001-04-16 00:00:21 +00:00
stskeeps 3cfb547bdd *** empty log message *** 2001-04-15 23:55:49 +00:00
stskeeps 843f20448e *** empty log message *** 2001-04-15 23:35:23 +00:00
stskeeps f5d797a8f1 +- Added irc2.10.3's resolver. Fixes debian-woody-libresolv problems..
+  Still some fixes to be done
2001-04-15 20:32:05 +00:00
codemastr aa7815af65 ... 2001-04-15 15:55:42 +00:00
stskeeps 6a9aa19856 +- Fixed DEBUGMODE problem, found by someone .. 2001-04-14 16:05:18 +00:00
stskeeps 7d53af10f1 . 2001-04-14 10:18:07 +00:00
stskeeps 6491094450 test 2001-04-14 10:17:54 +00:00
stskeeps 431217b50d +- Added unitedirc.network -NiQuiL 2001-04-14 07:46:21 +00:00
stskeeps 980aab93bd +- When IRCOps are breaking into chans with invite only (+i) or
+  key-protection (+k) a eyes-notice is sent like it is on banwalk. -NiQuiL
+
2001-04-14 07:35:30 +00:00
codemastr dea4e0f9b8 recoded ircd_log a bit 2001-04-13 22:38:37 +00:00
codemastr 155a99b69e ... 2001-04-13 22:34:25 +00:00
codemastr 71f285d8b0 win32 changes and other stuff 2001-04-13 22:32:07 +00:00
stskeeps 8a03462ce2 +- #define HELP_WHO for the "did a /who 0 o" 2001-04-13 20:46:22 +00:00
stskeeps d0819ec012 +- Possible FD leak in ircd_log, caused by some codemastr coding(TM) 2001-04-13 19:46:32 +00:00
codemastr 0db56907f8 Added a cloaking fix based on a fix by Zogg 2001-04-13 15:09:03 +00:00
stskeeps 331b07909b . 2001-04-13 09:25:43 +00:00
stskeeps a82570f0a3 +- Fixed up some codemastr(TM) coding regarding M_* 2001-04-13 09:07:28 +00:00
stskeeps 754c11ce62 +- added temporary define #define OLD_CLOAK 2001-04-13 08:57:36 +00:00
codemastr f300280ec1 logging changes 2001-04-12 19:36:10 +00:00
codemastr dad396b0ca Cosmetic cleanup of /info 2001-04-12 16:34:08 +00:00
codemastr f64d767a77 Implimented IRCNet style server redirection 2001-04-12 16:18:43 +00:00
codemastr 715e8893e2 Added sajoin/sapart error message patch by NiQuiL 2001-04-12 15:34:22 +00:00
codemastr 8de146c6e2 newconf changes in an attempt to make our config as compatible as possible with other configs 2001-04-11 18:30:53 +00:00
stskeeps a385e32c8b +- Fixed a NETINFO parameter problem - solves the new NETINFO format 2001-04-11 08:42:50 +00:00
stskeeps 9b5142a14d +- Found a way to do +x IPv4 cloaking right.
+- Added set::cloak-keys { longvalue; longvalue; longvalue; }; for the cipher
2001-04-11 01:52:12 +00:00
codemastr 220d739c8d Possibly fixed the vhost crashing bug, with much help from IpAddress 2001-04-08 23:06:55 +00:00
codemastr 32dd11ca68 Made it so /stats C doesn't show the user@host of servers to non-opers 2001-04-08 22:25:50 +00:00
codemastr d26077a352 Readded timestamp to log, accidentily got removed 2001-04-08 19:42:52 +00:00
stskeeps f4a558c0b2 +- Make users that send a forbidden file get auto blocked from sending other
+  files. sptr->flags & FLAGS_DCCBLOCKED.
2001-04-07 20:57:17 +00:00
stskeeps 789231e481 +- Added M_NOLAG.
+- Added new CRC32-hex-based IPv4 and hostname cloaking form
2001-04-07 13:34:25 +00:00
codemastr 9691037d36 fixed user@ vhost problem 2001-04-03 19:53:25 +00:00
stskeeps 87fb55c207 . 2001-04-02 17:32:32 +00:00
codemastr 260fcc7525 added ability to add a username to spoof in vhost {}, also fixed a vhost bug 2001-04-01 23:16:02 +00:00
codemastr 589d1dafb4 Fixed a bug where the IRCd didn't validate hosts specified in a vhost {} 2001-04-01 19:27:23 +00:00
codemastr 38d57f15f0 made duoble loaded motd/rules only be cached once 2001-04-01 18:35:49 +00:00
codemastr d1baf13ae4 tld::channel added 2001-04-01 17:54:34 +00:00
codemastr f0ccf16b61 If no oper::flags are found, default to locop 2001-04-01 15:22:33 +00:00
stskeeps f922820f5d +- Fixed a problem with SDESC module token being wrong - Found by eternal 2001-04-01 15:13:46 +00:00
stskeeps 56effd6149 +- Fixed a problem with users opping servers.. Found by Morbid 2001-04-01 11:55:40 +00:00
stskeeps 78cfb2fb10 . 2001-04-01 11:42:44 +00:00
stskeeps 4d7f9dde8b . 2001-04-01 11:37:35 +00:00
stskeeps 6ff6286e4c . 2001-04-01 11:34:42 +00:00
stskeeps 9436198b96 . 2001-04-01 11:11:58 +00:00
stskeeps e99c73b217 +- Made /kick not core on users kicking servers. (WTF?) 2001-04-01 11:07:13 +00:00
stskeeps 3fcc2115cb +- Made static linking a little more possible (for -pg) 2001-04-01 09:40:48 +00:00
stskeeps 607157c0e0 +- Moved /sdesc, /setident to modules.
+- allow { } now supports encrypted passwords -Syzop
2001-03-31 20:26:14 +00:00
stskeeps 7bc6a45cf8 +- Fixed a double definition (double m_chghost and m_chghost.so) 2001-03-31 20:03:17 +00:00
codemastr 16ee430dd4 reverted a change 2001-03-29 20:37:29 +00:00
stskeeps 19386125a6 +- Added a donation credit 2001-03-29 14:54:09 +00:00
codemastr d3738ff6d6 added oper::swhois 2001-03-28 21:10:16 +00:00
codemastr c0a30f631d Made a security measure to stop people from reading the ircd.conf 2001-03-28 00:41:06 +00:00
codemastr d00e7536df Removed PROTO() 2001-03-27 21:30:59 +00:00
codemastr aa6fa83b5f fixed a log {} bug 2001-03-25 18:50:29 +00:00
codemastr 5193c47f72 ixed a globops bug that required it to have a : 2001-03-25 18:32:52 +00:00
stskeeps 0312737c61 +- Reverted Demigurus's select() speedup patch, did speedup, but it
+  also caused a good bit of CPU.
2001-03-25 17:17:55 +00:00
codemastr b7858491fe Removed the old /rehash flags 2001-03-25 16:49:53 +00:00
stskeeps 0d85f1b98d +- Made MyMalloc be MyMallocEx in codemastr's log {} code. Fixes junk pointer
+  problem - discovered by sts/Morbid
2001-03-24 11:05:12 +00:00
stskeeps 659140348d +- Added #define HOOKTYPE_LOCAL_NICKCHANGE 2001-03-24 07:55:50 +00:00
codemastr 43e19f52a6 log system fix 2001-03-21 21:27:34 +00:00
codemastr 464e787aac added a new logging system using log {} 2001-03-21 20:42:15 +00:00
stskeeps a3a445dc77 +- Added Hooks, only one working now is HOOKTYPE_LOCAL_QUIT 2001-03-21 18:14:43 +00:00
stskeeps 555089ce9e +- Removed networks/unrealircd.conf 2001-03-19 06:05:28 +00:00
codemastr 0ce7799961 command hash changes 2001-03-19 00:09:42 +00:00
stskeeps c5c1b8e3e1 +- Modified command hashing system to Sts's belief of how eggs should be
+  made. (quick, dirty and fcked up)
+
2001-03-18 21:28:04 +00:00
codemastr 2ff27c366f Command hash changes 2001-03-18 20:34:59 +00:00
codemastr 3251251be9 moved m_setname to a .so 2001-03-18 17:42:09 +00:00
stskeeps 26c45f50fd +- Changed license of m_dummy.c (dummy module, skeleton), so people can do
+  closed source modules.
2001-03-18 13:07:00 +00:00
stskeeps 089067fbda +- Moved m_chgident to an .so 2001-03-17 21:47:22 +00:00
stskeeps fe7b258bfb - all of the module files to the new format.
+  all of the networks files to the new format.
+- Fixed a bug with RAKILL and UNSQLINE not working
2001-03-17 18:56:50 +00:00
stskeeps edfca03e28 +- Modified an old Unreal3.1.1 to be network file converter, and converted
+  all of the module files to the new format.
2001-03-17 16:22:40 +00:00
stskeeps c181a20492 +- Put out m_chghost, m_sethost in modules, remade Makefile structure and
+  added src/modules
+
+
2001-03-17 14:12:24 +00:00
stskeeps e1b5d6fae0 +- Added module_sym("functionname"), for modules, like, sajoin might want to
+  do fp_m_join = module_sym("m_join");
2001-03-15 21:02:00 +00:00
stskeeps 67cdd867fd +- Made conf2 able to load empty files as well 2001-03-14 13:07:27 +00:00
codemastr 5e535f848d updated the badword configs to use newconf 2001-03-13 22:23:49 +00:00
stskeeps 1c23055cd7 +- Made chmode +z only settable by umode +z users or U:lines or services. 2001-03-13 15:05:35 +00:00
stskeeps 634312f47d +- Added unknown connection flood protection (settable in config.h) 2001-03-13 11:46:23 +00:00
codemastr 9fc54cdaed reverted a previous change 2001-03-12 20:37:21 +00:00
codemastr 5750cea757 Win32 Changes 2001-03-11 19:36:49 +00:00
stskeeps bd983ef189 +- Fixed bug with double module unloading, bug found by RaYmAn 2001-03-11 13:21:35 +00:00
stskeeps 110f099802 +- Started on commands.so making, works good atm -on req of codemastr,
+  both as m_module.so and commands.so :) - long live dynamiclinking
2001-03-11 13:08:53 +00:00
stskeeps c84da7d03c +- Reintroduced "fake lag". Flood algoritm works this way:
+   Make next check for parsing be
+   (1 + (length of command+parameters / 60)
2001-03-11 06:42:19 +00:00
stskeeps 6d2a2e1bf9 +- Added loadmodule "filename.so"; and made the modules
+  unable to get loaded twice with same name.
2001-03-10 21:04:25 +00:00
stskeeps f41c3bf679 +- Added Modules, using dlopen() and LoadLibrary for *nix/win32.
+- Added /module load <path.to.so>, /module status (list modules),
+  /module unload <modulename>
2001-03-10 11:58:04 +00:00
stskeeps 797b6c6f21 +- Added /cycle #channels, suggested by ^loki^ 2001-03-09 12:40:11 +00:00
stskeeps d7700539c6 +- Added #define KILL_LOGGING, by otherguy 2001-03-09 10:15:48 +00:00
stskeeps 9251234b2d +- Added "get_host" old 'H' O:flag 2001-03-07 19:42:50 +00:00
stskeeps 0e77f08921 +- Made ./Setup not do dynamic configuration any more
+- Changed reference in Setup from ircd.conf to unrealircd.conf (cosmetic)
+- Changed output of updconf from ircd.conf.new to unrealircd.conf.new
+- Changed the output of makeconf from ircd.conf to unrealircd.conf
+- Renamed hostmask to hostname like it should be in makeconf - IpAddress
2001-03-07 17:04:37 +00:00
stskeeps 49152c8bcd +- Fixed ssl_client_handshake bug reported by IpAddress 2001-03-07 16:19:49 +00:00
stskeeps 65ab75c9a8 +- Made makeconf use "ban nick" instead of "ban nickname" 2001-03-07 07:49:19 +00:00
angel11 42f43eeb00 Fixed a bug in makeconf, make whois not return chans for services. 2001-03-06 21:27:06 +00:00
stskeeps 8b3c0d8b56 +- Made MembershipL->flood get bzero on out delegation
+- Made IRCd not crash on /kick from servers
2001-03-06 02:45:24 +00:00
codemastr 10dd29fb7a Removed stskeeps's lazy add_CommandX (tm) code 2001-03-05 17:19:09 +00:00
codemastr e5b6533dcd Rewrote makeconf and makenet to use newconf (added some new features to makeconf as well) 2001-03-04 17:52:37 +00:00
stskeeps e852d93134 +- Made del_Command(). 2001-03-03 13:34:10 +00:00
stskeeps 15b1aa89f8 . 2001-03-02 20:11:09 +00:00
codemastr bf9dc43e5a Removed a lot of vars and stuff from the old config, also made some cleanups to reduce source size 2001-03-02 18:53:04 +00:00
codemastr ee1d50c4e2 Added option to use old style oper flags 2001-03-02 18:09:11 +00:00
codemastr 9063b91570 Updated most of /stats S for newconf 2001-03-02 15:06:53 +00:00
stskeeps edfd90f235 +- Made NAME_SERVER (set::dns::nameserver work). The IRCd no longer
+  uses /etc/resolv.conf as reference.
2001-03-02 14:58:37 +00:00
stskeeps 6164ba8175 +- Moved dynconf stuff from s_svs.c to s_conf.c, on popular request 2001-03-02 14:22:30 +00:00
stskeeps e3fbff915b . 2001-03-02 14:00:30 +00:00
stskeeps f75f80584e . 2001-03-02 12:20:43 +00:00
stskeeps 2d7436eea0 Made modes-on-connect work 2001-03-02 12:20:26 +00:00
stskeeps f106d3b39b Made /who work correctly 2001-03-02 11:48:54 +00:00
codemastr 1dc79accfc added a bunch of /stats flags 2001-03-02 00:55:57 +00:00
stskeeps 247a3235ef +- Overwrote s_conf.c with s_conf2.c, and removed s_conf2.c. Viva la Conf2! 2001-03-01 21:31:55 +00:00
stskeeps 59f0c6a7be +- Fixed a config_load win32 problem, found by Zogg, fixed by Stskeeps/codemastr 2001-03-01 21:29:44 +00:00
codemastr 03253db9b2 Fixed a deny version {} bug (oops) 2001-03-01 21:22:32 +00:00
codemastr 815db2ad4a added deny version, and made deny link rehash 2001-03-01 21:13:58 +00:00
stskeeps 3eff8614eb +- Removed dynconf.c, from the old dynconf 2001-03-01 20:39:41 +00:00
stskeeps 516731d14d +- Removed class.c, from the old conf 2001-03-01 20:31:03 +00:00
stskeeps 02f1d1a27a +- Made /stats C show flags correctly 2001-03-01 06:15:24 +00:00
stskeeps 259c4bcf66 +- Made DNS cache list show a notice to other ops 2001-03-01 06:13:45 +00:00
stskeeps d1139c251c +- Made autoconnect msgs only go to +os 2001-02-28 20:43:27 +00:00
stskeeps d10da5cf81 . 2001-02-28 18:29:08 +00:00
stskeeps 55458495fb +- Fixed the 9-month old win32 DNS bug, caused by Stskeeps's incidential
+  delete
2001-02-28 18:23:31 +00:00
stskeeps 54c46720f7 +- Somehow is_halfop and co got called when a server set a mode .., added
+  IsServer check (auto-return 1)
+
2001-02-28 17:24:38 +00:00
stskeeps 155374409d +- Added Member and Membership and made the IRCd support this. Using
+  "freelinks", todo: garbage collection
+- Added find_member_link and find_membership_link. Made Floodopt only
+  get allocated for local users. Removed aFloodOpt in Link,
+- Made a speedup in is_halfop (dumb code)
2001-02-28 16:24:37 +00:00
stskeeps 2ed9fead6d -- Fixed one of codemastr's wonderful coding bugs. *slap slap slap*
+- Fixed windows CRLF problem in conf2, reported by Zogg
2001-02-27 19:40:52 +00:00
stskeeps 09fc76ed53 +- Fixed one of codemastr's wonderful coding bugs. *slap slap slap* 2001-02-27 11:42:55 +00:00
stskeeps 98477e867e . 2001-02-27 11:22:37 +00:00
stskeeps 412390883c +- Removed msgtab part of parse, removed the bigass hashtable msgtab,
+  removed inittoken, made command initalization happen in init_CommandHash
+- Adapted /stats M to it. Removed /helpop ?commands temporary. Confirming
+  hashtable works.
2001-02-27 11:03:19 +00:00
stskeeps e010cbde23 +- Added CommandHash optimation .. this is not done 100% yet. uses msgtab as
+  reference
2001-02-27 08:56:06 +00:00
codemastr 878f3ddba8 sped up some channel stuff using bahamut style user searching 2001-02-25 17:30:43 +00:00
codemastr 82e2407bd3 made crule.c faster 2001-02-25 16:57:23 +00:00
stskeeps 7dbe724aff +- Removed return_servers() and made servers be called Servers, and be a
+  global variable. Done on request on Great Master codemastr.
2001-02-25 16:41:13 +00:00
stskeeps 8cc77bb669 +- Recoded check_pings, with bits used from bahamut-ircd/hybrid-ircd, credits
+  to lucas.
2001-02-25 10:36:41 +00:00
stskeeps 170a1dff0e +- Made admin {} get rehashed
+- Got /stats x to work again
2001-02-25 09:03:22 +00:00
codemastr 038830c0b2 added deny link {} 2001-02-25 00:57:12 +00:00
stskeeps 0ced6ab45b +- Made connfreq unable to less than 10 2001-02-24 20:15:29 +00:00
codemastr e9b9c0e775 various code cleanups 2001-02-24 18:27:50 +00:00
codemastr f656a02b76 various cleanups 2001-02-24 16:22:26 +00:00
stskeeps df04217164 . 2001-02-24 15:06:00 +00:00
stskeeps ace1eb1e1a todo stuff 2001-02-24 15:02:26 +00:00
stskeeps c5ed0fe9c1 +- Made autoconnect work again :>. Changes in behavouir: It connects more at
+  a time now. You need autoconnect flag in options.
2001-02-24 14:56:15 +00:00
stskeeps eed841e642 +- Made link { options { work OK again. Had a dead loop as well 2001-02-24 13:36:52 +00:00
stskeeps 9ac6d4cb65 +- Killed ircdupstr and called it ircstrdup 2001-02-24 13:09:50 +00:00
stskeeps 40f1dd6da6 +- Added deny channel { channel "channelmask"; reason "why"; }; and
+        allow channel { channel "channelmask"; };. Replaces chrestrict
+- Made those above get rehashed
2001-02-24 13:03:26 +00:00
codemastr 0ce4ac5bc0 dynamic motd changes 2001-02-23 22:01:59 +00:00
codemastr 3211a39f6b replaced a few strlen()s with sizeof()s should make the IRCd start a bit faster 2001-02-23 17:30:39 +00:00
stskeeps 97de7c6e41 +- Fixed a missing " in validate_conf 2001-02-23 15:42:08 +00:00
stskeeps 57f89e0678 . 2001-02-21 17:29:21 +00:00
stskeeps ff1b08ef51 +- Fixed a /kline and /unkline buffer overflow, reported by [-Th3Dud3-]
+- Fixed a crash in /stats k regarding temporary K:lines
2001-02-21 16:00:43 +00:00
stskeeps 64ee360a69 . 2001-02-19 18:44:20 +00:00
stskeeps 3bc852a76c +- Added a notice on connect for SSL users with key length 2001-02-19 18:26:29 +00:00
stskeeps b7b2155573 +- Some small SSL fixes .. 2001-02-19 18:13:53 +00:00
codemastr a28500faae If an invalid ban or except is found, it is removed 2001-02-19 17:21:42 +00:00
codemastr b53a38c15c newconf changes 2001-02-19 17:11:17 +00:00
codemastr eb6d81e199 ade it so the IRCd can survive with certain set {} errors (uses defaults) 2001-02-18 16:39:54 +00:00
stskeeps e56b347bb1 . 2001-02-18 16:04:57 +00:00
codemastr 2d455fee85 bunch of changes 2001-02-18 16:03:34 +00:00
stskeeps 691bbfc48a +- Made deny_dcc get rehashed 2001-02-18 11:59:27 +00:00
stskeeps d121a7a9ad +- Finished up deny dcc {}.
+   TODOs: dcc_del_wild_match doesn't work. dcc_wipe_services() either
2001-02-18 09:57:49 +00:00
stskeeps 556ae0ef20 *** empty log message *** 2001-02-16 20:36:52 +00:00
stskeeps 44be7a34a2 +- Finished up validate_conf() 2001-02-16 20:27:15 +00:00
stskeeps 05362ec33f .. 2001-02-14 22:38:47 +00:00
stskeeps 1f7cb4c186 +- Fixed a problem with +x
+- Made CPATH be unrealircd.conf and init_conf2 use configfile instead
+- Disabled calls to dynconf
+- Added validate_conf, added dynconf checking, me, admin, class, oper
+  testing
+- Added config_progress() Fixed temporary stuff
+  with conf_link
 - Made tld {} get rehashed
2001-02-14 20:51:21 +00:00
codemastr 8247b2cc5f Made tld {} get rehashed 2001-02-14 20:47:47 +00:00
stskeeps e0588102ac +- Fixed temporary stuf with conf_link 2001-02-14 11:34:11 +00:00
stskeeps a3d4c1af6e +- Added /stats P on listener info (oper-only)
+- listener temporary stuff works now
2001-02-14 09:17:31 +00:00
stskeeps 254326670a +- Added some MALLOCD (mini debug malloc by stskeeps..)
+- Removed some C++ comments
+- Made close_listeners work correctly again
+- Removed some old check_* mammut code
+- Fixed a bunch of possible bugs in newconf
+- Added sendto_realops logging of config errors
+- Made /rehash work .. sortof. Fixed some crash bugs
2001-02-13 23:14:27 +00:00
stskeeps 884d79e08a +- Fixed a problem with cptr->class counting for servers 2001-02-06 20:34:18 +00:00
codemastr bc1dc6f2ab Made a bunch of /stats flags work with newconf 2001-02-06 20:29:48 +00:00
stskeeps 80f5de56d8 . 2001-02-06 20:16:30 +00:00
stskeeps 22b891a845 +- Fixed negative timestamps problem (crash) 2001-02-06 19:30:36 +00:00
stskeeps cacd6bf213 +- Fixed check_pings problem (crash) 2001-02-05 05:07:43 +00:00
stskeeps 77653accda . 2001-02-04 22:06:16 +00:00
stskeeps 5237c6748b .. 2001-02-04 19:24:33 +00:00
stskeeps 1effeee7a8 +- Fixed a spread server bug 2001-02-04 17:16:39 +00:00
stskeeps 554fa520a0 +- Fixed a refcount bug 2001-02-04 14:46:39 +00:00
stskeeps 5098716479 . 2001-02-04 14:22:48 +00:00
stskeeps 822885b367 +- Fixed some protocol error in server_synch
+- Made listener code work good ..
+- Made reference counts work again
+- Started some rehash work
+- Made full class work on servers too
2001-02-04 14:20:35 +00:00
stskeeps b263907bd8 +- Classes keep reference counts now, and moving classes (oper) works good
+  too.
+- Added /trace class search results (class->clients)
2001-02-03 19:07:21 +00:00
stskeeps 9a05dd20cb +- ban server {} works the original way it was intended to now 2001-02-03 08:26:24 +00:00
stskeeps 9e216fe7fa +- Fixed a little problem with SERVER servername :info crashing the ircd
+  Long live the Floridan way of counting
2001-02-03 07:32:45 +00:00
stskeeps 8893ac57bc +- Made /sqline /unsqline work again.
+- Made SQLINE synching work with newconf
2001-02-02 23:20:47 +00:00
stskeeps 9e871d56aa +- Made /trace work again properly with class names 2001-02-02 20:27:17 +00:00
stskeeps 1280c7d67e +- Made /kline work again, with newconf 2001-02-02 20:04:41 +00:00
stskeeps 1c631472b6 random crap 2001-02-01 20:58:45 +00:00
stskeeps e4627153f6 +- Made /stats C work and /stats H. Intregrated into one.
+- Made /zline, /unzline work.
+- Added CONF_BAN_TYPE_TEMPORARY
+- Fixed a ban ip {} bug in check_pings
+- Removed some waste of oldconf
+- Moved advanced_check to s_svs.c
2001-02-01 19:32:48 +00:00
stskeeps ce3707734d +- Fixed a check_pings problem with usernames
+- ban ip {} works 100% now
2001-02-01 16:34:24 +00:00
stskeeps 7f7bbd3d21 + FIX: *@* detection
+- Fixed a check_pings problem with usernames
2001-02-01 16:21:00 +00:00
stskeeps 54ae54eb4f +- Made /rakill and /akill work again :). Added banflag.type2 2001-02-01 16:19:44 +00:00
stskeeps 30e0ce476c +- Made /svso work again, moved it to same place as svsnoop. 2001-02-01 14:58:24 +00:00
stskeeps 6a1c7c65e5 +- Made /svsnoop "work" again, moved it to s_svs.c (and made that file too) 2001-02-01 14:48:55 +00:00
stskeeps 76ccc05b2c +- /connect works now :), TODO: D:d lines, V:line needs fixing, badly
+  says "Unknown location" atm on uplink
+- Took out MyMalloc & co, direct to malloc/realloc/free now. Crashed in
+  DEBUGMODE
+- Added ConfigItem_link->ipnum
+- Fixed a compile bug with DEBUGMODE
+- Changed a load of old aConfItem crap .., FIX: ConfigItem_link->options
+- Fixed a /connect bug
2001-02-01 08:05:11 +00:00
stskeeps 4c075f6462 +- Fixed check_pings (check_kills) code, so G:lines & ban nick/ip/realname
+  works again
2001-01-31 14:04:55 +00:00
codemastr 5a1114985c vhosts now use newconf 2001-01-30 21:58:20 +00:00
codemastr 82134302a9 some updconf stuff read changes 2001-01-29 22:50:57 +00:00
stskeeps cf2207747a +- Made allow { maxperip }; work, the old ONE password thing, just better 2001-01-29 20:59:26 +00:00
stskeeps f343bc0ba1 . 2001-01-29 20:40:53 +00:00
stskeeps cbbbce0b01 +- Made allow {} passwords work (AllowClient) - TODO: I:line encryptions 2001-01-29 20:39:38 +00:00
codemastr 903f505103 updconf now makes use of from {} in oper {} to eliminate duplicate O:lines 2001-01-28 22:45:30 +00:00
codemastr b4c84801f5 Added the first (sorta) working version of the config converter 2001-01-28 19:20:01 +00:00
codemastr 384a09aceb Made ban nick {} work 2001-01-28 19:03:38 +00:00
stskeeps 52080301a2 +- Fixed a minor problem with ban {} and oper {} 2001-01-28 18:40:31 +00:00
stskeeps 34c792a5e2 +- Made /oper work with newconf (come get us now bastards!)
+- Made +c show class names in connect
2001-01-28 17:59:46 +00:00
codemastr 581274a4c8 Made /setname and /chgname use ban realname {} 2001-01-28 16:11:32 +00:00
stskeeps bbc3980277 +- Made get_sendq be a macro
+- Added find_ban, AllowClient() (old attach_Iline)
+- Temporary disabled /svsnoop, /akill, /sqline /unsqline, /kline, /unkline
+  /zline, /rakill, /unzline and /svso
+- chkconf is not being built anymore
+- Ripped out s_conf.c with the roots.
+- Ripped out add_listener
+- Disabled a lot of stuff that needs to adapt to conf2
+- Made allow {} work
+- Changed allow {} to do user@host instead of user item
+- Took out my_name_for_link
+- Temporary disabled D:d lines/SQLines/Qlines
+- Fixed some /connect stuff
+- Disabled rehash temporary
+- Made ban user/ban realname work (s_unreal.c needs to be modified)
+- Added Zogg to credits
+- NOTE: Unreal-devel is handicapped right now, code in progress, do not use
2001-01-28 12:10:06 +00:00
codemastr 191d22dd40 various fixes 2001-01-21 23:15:09 +00:00
codemastr 42a9e91f1b Made vhost {} use from {} for hosts 2001-01-21 19:04:36 +00:00
codemastr 8228a15f14 Added set {} (unrealircd.conf/network file replacement) 2001-01-21 18:18:17 +00:00
stskeeps 189ee2de56 +- Recoded m_server(YES!) -stskeeps
+- Fixed a #undef USE_SSL problem found by codemastr.. caused by
+  Sts(TM)coding
2001-01-21 06:31:30 +00:00
stskeeps 2db92a77ad +- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline,
+  removing a lot of my_name_for_link crap, indented s_serv.c
+- Recoded m_server(YES!) -stskeeps
2001-01-20 21:26:54 +00:00
codemastr 1881d7a7c2 chmodes +GcSm affect /part now 2001-01-20 17:10:23 +00:00
codemastr b1306a3040 Updated match() to have some optimizations from bahamut 2001-01-19 21:10:41 +00:00
codemastr 002f47c434 rehash cleanups and other cleanups 2001-01-19 16:35:01 +00:00
stskeeps de14d4f6de +- Fixed bug with /whois showing +S user channels (ChanServ) 2001-01-17 20:59:27 +00:00
codemastr 4affd16dc5 tld {} changes 2001-01-14 18:03:39 +00:00
codemastr 4dd8eb2731 Implimented except socks {} and tld {} 2001-01-14 01:16:39 +00:00
codemastr dfa4d7c325 Removed the old chmode +x = +c and +I = +V support 2001-01-13 17:20:41 +00:00
codemastr a12cf0a9fc SVSMODE/SVS2MODE fixes 2001-01-12 23:16:45 +00:00
codemastr 33ce3ce8a9 +f changes 2001-01-12 22:52:34 +00:00
codemastr 7a0de228fc Fixed a shun bug 2001-01-09 23:26:10 +00:00
stskeeps 50beda9644 . 2001-01-09 19:07:25 +00:00
stskeeps cc4a5273db . 2001-01-09 10:25:34 +00:00
stskeeps 64931ec2cb . 2001-01-07 16:37:46 +00:00
codemastr 30e1580504 Fixed a G:line bug reported by ROXnet 2001-01-06 18:29:10 +00:00
stskeeps 45828bdf33 . 2001-01-06 10:51:30 +00:00
codemastr 9e88d95c35 made drpass be used in place of X:line 2001-01-06 00:55:06 +00:00
codemastr 6a02c2b900 made ulines load from the new config 2001-01-05 23:02:08 +00:00
stskeeps dbddc21399 +- Added listen {} runtime-configuration code work :))
+- Removed unrealircd.conf from stock
2001-01-05 22:37:13 +00:00
codemastr b75e6e6668 Made /admin use the new config 2001-01-05 19:50:22 +00:00
stskeeps 1ecdb3714c . 2001-01-04 22:02:04 +00:00
stskeeps 9c22ba475e +- Merged in sts-laptop branch 2001-01-04 21:54:09 +00:00
stskeeps b4493dae82 *** empty log message *** 2001-01-04 21:42:41 +00:00
codemastr 428a4c5d94 ... 2001-01-03 22:26:54 +00:00
codemastr 8335a9efca cron changes 2000-12-30 18:01:48 +00:00
codemastr 800401f0cc ... 2000-12-30 17:58:32 +00:00
codemastr bc8fe3cda1 ... 2000-12-30 17:57:54 +00:00
codemastr 989d31db7a ... 2000-12-30 17:57:04 +00:00
codemastr 449c223d5d Fixed a serious bug 2000-12-28 02:15:45 +00:00
codemastr 5a46eab842 ... 2000-12-28 01:47:35 +00:00
codemastr 1a59f08f8c Fixed a ircd.tune bug 2000-12-27 22:05:38 +00:00
codemastr 97cc8fe0b3 Fixed a STATS_ONLYOPER bug 2000-12-27 21:48:27 +00:00
stskeeps 02424859a2 . 2000-12-27 18:57:33 +00:00
codemastr 77b43b023f added the except parser 2000-12-27 18:26:21 +00:00
codemastr 697779c545 fixed a chg*/set* and sdesc bug 2000-12-27 15:45:41 +00:00
codemastr b899d5f1f6 ... 2000-12-26 15:49:37 +00:00
stskeeps 19f40d067c +- Added TODO in top of s_conf2.c 2000-12-26 12:59:25 +00:00
stskeeps 95599d4f69 +- Finished _conf_allow 2000-12-26 12:45:12 +00:00
stskeeps 3d42025e70 +- Finished _conf_listen 2000-12-26 12:04:13 +00:00
stskeeps cf209ac0f8 . 2000-12-25 23:43:29 +00:00
stskeeps bfe9ce19f8 +- A report_configuration code (showoff) 2000-12-25 23:07:15 +00:00
stskeeps 021dbadcb2 +- Finished _conf_oper 2000-12-25 22:25:55 +00:00
stskeeps 5e1a7560f4 . 2000-12-25 20:47:53 +00:00
codemastr 14060a44dd Added tld to the config code 2000-12-25 20:40:56 +00:00
stskeeps 8a526e56ef . 2000-12-25 19:59:21 +00:00
stskeeps 5e009543c0 .. 2000-12-25 19:53:32 +00:00
codemastr c521050ad8 made config2 use strerror to report errors rather than the numeric 2000-12-25 19:52:38 +00:00
angel11 61d9748dc0 Fixed s_user.c so umode N and T cannot coexist 2000-12-25 19:43:11 +00:00
stskeeps e9bde25600 +- Removed parser builtin directive include, and replaced it with our own 2000-12-25 18:46:53 +00:00
stskeeps 2a40af2bff . 2000-12-25 16:41:18 +00:00
stskeeps 263eebc9b3 . 2000-12-25 16:34:59 +00:00
stskeeps 3411fb0724 +- Some more config2 code 2000-12-25 10:43:42 +00:00
codemastr 481856ecde added drpass to the config code 2000-12-24 22:15:08 +00:00
stskeeps 8ae2344c43 . 2000-12-24 21:59:50 +00:00
codemastr 4d7e1dc8be ... 2000-12-24 21:53:43 +00:00
stskeeps dfffd4b238 +- Some more newconf code 2000-12-24 21:52:33 +00:00
stskeeps 8837f3540e +- Some more _conf_class code 2000-12-24 18:12:41 +00:00
codemastr d455d37f59 *** empty log message *** 2000-12-24 18:04:11 +00:00
codemastr 7464b80219 /stats changes 2000-12-24 18:00:41 +00:00
codemastr 24318b579f fixed a missing : on numeric 379 2000-12-24 16:52:27 +00:00
stskeeps a99d4497df . 2000-12-24 16:34:12 +00:00
stskeeps 6751ce7349 +- Added some a bit functional _conf_class code 2000-12-24 16:09:28 +00:00
stskeeps 7b44111745 +- Added the next part of the new config parser, and some even more 2000-12-24 15:37:57 +00:00
stskeeps f3c5f6f6c8 +- Added the next part of the new config parser 2000-12-24 13:31:33 +00:00
stskeeps e24f9f0844 +- Added first part of the new config parser, s_conf2.c 2000-12-23 23:21:10 +00:00
stskeeps 2edbe91580 . 2000-12-23 12:57:33 +00:00
stskeeps 9e68fd3ac0 *** empty log message *** 2000-12-23 12:55:46 +00:00
stskeeps dc7eca4b5d + Stskeeps> +j? but yes, there's a bug there 2000-12-21 10:16:52 +00:00
codemastr 749014625a *** empty log message *** 2000-12-20 22:07:49 +00:00
codemastr 313ec95dcd Fixed a bug where you would receive a double notice on /who 0 o 2000-12-20 17:47:02 +00:00
codemastr 4d8e57d51d topci fixes 2000-12-20 17:36:29 +00:00
codemastr 6bc1965492 ... 2000-12-20 17:17:04 +00:00
stskeeps d17cbcc9b5 +- Added in devdev's INSTALL replacement
- Made it so you don't get a +W notice if you /who or /whois yourself reported by Ron885
 - You can no longer specify an *@unrealircd.com/org, or unreal-*@lists.sourceforge.net email
   as your KLINE_ADDRESS (the "Why am I K:lined?" messages got too annoying)
+- Removed some irc.flirt.org references.
2000-12-20 15:18:56 +00:00
codemastr 5ad018cce7 ... 2000-12-19 22:33:33 +00:00
codemastr a69ec1a95b Made it so you don't get a +W notice if you /who or /whois yourself 2000-12-19 22:21:50 +00:00
stskeeps de447b9495 +- Fixed some more points of ->passwd bugs 2000-12-17 20:51:40 +00:00
stskeeps f855bb7dab + m_server_estab, reported and fixed by Kanzen_Greiver 2000-12-17 20:45:36 +00:00
codemastr 65aa3e7a6e Modified rehash flags to use strnicmp rather than match 2000-12-17 18:35:31 +00:00
stskeeps 96bda8f5dc . 2000-12-17 11:58:05 +00:00
codemastr 4429a4ba7e removed a redundant include of time.h 2000-12-15 22:25:32 +00:00
stskeeps 3d0bf74200 +- Fixed permission problem with SSL .pem files (was o+r) 2000-12-15 16:44:23 +00:00
stskeeps 44d7308718 . 2000-12-14 20:41:03 +00:00
stskeeps 9dbfd6251d *** empty log message *** 2000-12-14 17:01:15 +00:00
cvs2hg d46d93cfa5 fixup commit for tag 'unreal3_1_1_stable' 2000-12-14 16:07:33 +00:00
cvs2hg 8350bc861c fixup commit for tag 'unreal3_1_1_darkshades' 2000-12-14 16:07:32 +00:00
stskeeps 4dc498b9fb . 2000-12-14 16:07:31 +00:00
stskeeps 54ba7c7ed2 *** empty log message *** 2000-12-14 16:06:37 +00:00
stskeeps d173324c0d . 2000-12-13 22:15:19 +00:00
stskeeps 799daac44d +[ Unreal4.0 ]
+- Fixed a _serious_ bug in SERVER command, reported by Valen, Forester,
+  M0rpheus and JK.
2000-12-13 22:13:20 +00:00
stskeeps 1cd81ae077 *** empty log message *** 2000-12-13 16:00:04 +00:00
stskeeps 749a4340ca .. 2000-12-13 15:12:45 +00:00
stskeeps 20c0e8d733 *** empty log message *** 2000-12-13 13:12:49 +00:00
stskeeps 4bebd2cb31 *** empty log message *** 2000-12-12 21:44:02 +00:00
codemastr da4333aecf ... 2000-12-12 21:42:03 +00:00
stskeeps c8b1de7cdb . 2000-12-12 21:37:25 +00:00
stskeeps ba924cb7bc +- Made more openssl binary detection using 'which'
+- Added message when trying to join a +z channel
+- New segmentation fault code by Kanzen_Greiver
2000-12-09 15:12:23 +00:00
codemastr 0a58f33c27 fixed a reverse DNS exploit 2000-12-07 21:08:29 +00:00
stskeeps bbaa0b0416 *** empty log message *** 2000-12-05 10:36:00 +00:00
stskeeps d42ae2b5b8 +- Fixed restart bug, reported by RaYmAn 2000-12-03 19:03:38 +00:00
stskeeps b140153d57 +- Some few fixes from CodeM and Barubary:
+  - Fixed /whois to show users for opers when not in the channel.
+  - Fixed /whois to allow only global eyes opers to see user modes.
+  - Fixed /whois to not show idle times of global opers to anyone except
+    another global oper or services.
+  - Fixed /who to show users for opers when not in the channel.
2000-12-03 13:40:11 +00:00
stskeeps cd5548cab8 +- Fixed P:line bug, caused by codemastr(tm) coding, (masskills), reported by
+  sidv@sid-kitty-land.org
2000-12-03 13:13:27 +00:00
stskeeps ceb8171657 +- Fixed a bug in sendto_channel_prefix_tok reported by Strider@ChatCircuit 2000-12-03 11:53:41 +00:00
stskeeps 2d4846bfd6 +- Fixed a chinese nick thing, thanks to miCro and RexHsu
+- Fixed a typo in config.h
2000-12-02 15:36:17 +00:00
stskeeps 25291cc457 +- Fixed a chinese nick thing, thanks to miCro and RexHsu 2000-12-02 15:33:09 +00:00
stskeeps f8a112aa07 +- Fixed a SJOIN bug, i think, thanks to Web 2000-12-02 11:44:57 +00:00
stskeeps 38bcec9991 +[fixes]
+- Fixed a +d bug (it didnt send ` prefixes)
2000-12-02 08:45:12 +00:00
stskeeps 367dfb5d3b . 2000-12-01 22:05:03 +00:00
stskeeps cd69044366 . 2000-12-01 21:10:13 +00:00
stskeeps 5747fda912 . 2000-12-01 20:52:59 +00:00
stskeeps 94927f5a7a . 2000-12-01 19:57:01 +00:00
stskeeps f634ce269b +- SSL error change to sendto_umode(UMODE_JUNK)
+- Fixed a hash error
2000-12-01 19:55:53 +00:00
stskeeps 6fa75f2e9e . 2000-12-01 18:16:34 +00:00
stskeeps 9b14745e47 . 2000-12-01 16:56:03 +00:00
stskeeps 606967c718 +- SSL error change to sendto_umode(UMODE_JUNK) 2000-12-01 16:45:34 +00:00
angel11 3985a7ceed Accidently changed ircd.c =P, fixing 2000-12-01 15:53:52 +00:00
angel11 62cf839f2e Fixed axenet network file 2000-12-01 15:49:04 +00:00
stskeeps f0e2d2cb61 +- Config change in SSL.h detection part 2000-12-01 15:43:28 +00:00
stskeeps 6d64f0b505 + thanks to RexHsu and Aim
+- Fixed up CHINESE_NICK and JAPANESE_NICK, suggested by Aim, see
+  include/config.h
2000-12-01 13:59:05 +00:00
stskeeps d2d806697b +- #define CHINESE_NICK will make you able to use chinese nicks
+  thanks to RexHsu and Aim
2000-12-01 12:13:03 +00:00
stskeeps ae0dcf2bbf +- Fixed compile error found by Headbang 2000-12-01 11:57:35 +00:00
stskeeps cb0cbda5ed +- Changed CONNECTTIMEOUT to 30sec
+- Changed some _more_ credits
2000-12-01 11:49:36 +00:00
stskeeps 5d04afc6c2 +- Added infofield in /stats L for clients/listeners
+- Fixed a blocking socket thing
+- Fixed up /stats L bug
2000-12-01 11:31:23 +00:00
stskeeps 9955724ef9 +- Added infofield in /stats L for clients/listeners 2000-12-01 11:19:11 +00:00
stskeeps 052bcc180d +- Fixed a real bad /whois bug, reported by BiGi
+- Fixed a problem with /sajoin .. atleast possible
2000-12-01 09:49:20 +00:00
stskeeps b791a8eae9 . 2000-12-01 05:36:42 +00:00
stskeeps 143a7b6566 . 2000-12-01 04:45:33 +00:00
stskeeps fc2bf10e3a +- Fixed a real bad /whois bug, reported by BiGi 2000-11-30 18:24:44 +00:00
stskeeps 290495c0ad . 2000-11-30 18:06:31 +00:00
stskeeps 07a6922d5c . 2000-11-30 18:04:43 +00:00
stskeeps 59a23b3ce6 . 2000-11-30 18:03:06 +00:00
stskeeps df07c7f133 . 2000-11-30 18:01:41 +00:00
stskeeps 17932efad0 . 2000-11-30 17:59:09 +00:00
stskeeps 82a657a63e +- Fixed a /whois bug, reported by BiGi 2000-11-30 17:56:53 +00:00
stskeeps 12c9891916 . 2000-11-30 17:53:30 +00:00
stskeeps 9511d161c6 . 2000-11-30 17:08:06 +00:00
stskeeps 1e39df2cb8 . 2000-11-30 16:50:35 +00:00
stskeeps 6cdc422490 *** empty log message *** 2000-11-30 16:49:22 +00:00
stskeeps d6247b9a19 +- Added some credits 2000-11-30 16:45:17 +00:00
stskeeps a896d4f71d +- Added hatblade's files 2000-11-30 16:39:29 +00:00
stskeeps ef7c0d6672 . 2000-11-30 13:31:06 +00:00
stskeeps 7adf05ab64 +- Added SICI information, Donation information, fixed a ./Config problem
+  overwriting certs ..
2000-11-30 13:16:00 +00:00
stskeeps 4eda3e1752 +- Fixed a typo in ssl.c 2000-11-30 11:19:54 +00:00
stskeeps d7a342fed1 +- If a +r user is /who'ed, it shows a "r" in flags field. Suggested by
+  Mirar.
2000-11-30 07:16:41 +00:00
stskeeps 8894015354 +- Fixed overflow in SJOIN
+- Added SMO *, all users
2000-11-29 21:03:41 +00:00
stskeeps 9019f35565 +- Fixed some /whois channels code, which may break +I /whois 2000-11-28 07:19:05 +00:00
codemastr 92cdd762c4 added code to makenet to stop fake submissions 2000-11-26 20:33:43 +00:00
stskeeps 8dce2d175c +- Removed "on network" in /whois oper 2000-11-26 10:31:10 +00:00
codemastr 2b78d45287 fixed a /map bug where U:lines were showed when HIDE_ULINES was set 2000-11-25 20:45:38 +00:00
stskeeps fd6eed4477 . 2000-11-25 13:43:48 +00:00
codemastr 7461b22a16 updated docs 2000-11-24 18:07:30 +00:00
codemastr 0588f18cbb ... 2000-11-24 16:41:59 +00:00
stskeeps b318e6a66a +- Added some network files and even more network files
+- Fixed some copyright stuff in ssl.c
+- Fixed a /map problem
2000-11-24 15:05:18 +00:00
stskeeps 4e26bd1379 . 2000-11-24 06:13:51 +00:00
codemastr dba0d3b7c0 added more network files 2000-11-24 01:24:44 +00:00
codemastr 9159c377de added some network files 2000-11-23 21:08:02 +00:00
stskeeps 4712fe781c +- Added some more support for some even more SJB64 stuff 2000-11-23 19:37:16 +00:00
codemastr d0f4a514d4 added some SJB64 stuff 2000-11-23 19:25:12 +00:00
codemastr 6c59c5b733 removed CRYPTOIRCD 2000-11-23 19:08:02 +00:00
stskeeps 8c96800c80 +- Removed last point of confusion in ALN/NS 2000-11-23 18:52:57 +00:00
stskeeps 7df008ead4 +- Changed some stuff with SSL, you may want to seperate server.pem into
+  server.key.pem and server.cert.pem (or "rm Makefile" and "./Config")
+- Fixed a couple of SJOIN/Link problems detected by Curt|s
2000-11-22 20:38:00 +00:00
codemastr 7b068178a1 fixed a mass G:line bug in /rehash 2000-11-22 19:34:14 +00:00
stskeeps e4a1669632 . 2000-11-22 15:15:47 +00:00
stskeeps bba7e664b6 +- Added so /gline and /shun accepts time periods in 1d2h3s etc. a recode of
+  some potvin stuff
+- Added so blocking is only effective when SSL_connect()'ing
2000-11-22 12:25:28 +00:00
stskeeps 108639b960 +- Fixed cutoff server infos in synch 2000-11-22 07:14:03 +00:00
stskeeps 7a3d7c8b7f +- Added OPT target OPT_SJB64 and OPT_NOT_SJB64
+- Made SSL server<->server work, using __blocking__ sockets (this is only
+  in connect moment thou) -stskeeps
+- Removed 1.0 msg/s when not in HTM
2000-11-21 21:46:19 +00:00
stskeeps 32f0e3f871 *** empty log message *** 2000-11-21 19:39:54 +00:00
stskeeps 678ac0f7cf +- Added SJOIN (SJ3 only) instead of JOIN/MODE in /join and discovered a bug in
+  SJOIN code, that if the line doesnt have a " " appeneded, it wont take the
+  last users or first for that sake. Hopefully patched SJ3 code for it
+- Added OPT target OPT_SJB64 and OPT_NOT_SJB64
2000-11-21 18:42:45 +00:00
stskeeps f6a0415148 +- Fixed-fixed-fixed the U:line branching thing made by codemastr
+- Fixed a G: line-turn-into Z:line problem, reported by eYe-Man
2000-11-21 16:33:58 +00:00
stskeeps 0505a1ff50 +- Removed remapping fds, and did a severe select() speedup, suggested by
+  Demiurgus. Should speed CPU a lot
2000-11-19 22:22:43 +00:00
codemastr 5b515b86b4 updated some messages 2000-11-19 20:37:50 +00:00
stskeeps af8b08775d +- Fixed-fixed-fixed the \r\n bug and removed some useless cpu wasting code 2000-11-19 20:29:43 +00:00
stskeeps ae3936aca5 +- Fixed \r\n bug, hopefully
+- made SSL use same cert client/server
+- Fixed help.c bug reported by Curt|s
+- Different fixes, unreal.tspre.org -> unrealircd.com
2000-11-19 19:45:02 +00:00
stskeeps 3a5e5ee45a +- Fixed the masskill bug, hopefully. Was a delimiter/number array bug in
+  find_server_b64_or_real, causing negative base64 to be accepted (bad).
+  value 1-256 will never be able to be in two letters (a server name)
2000-11-19 18:26:20 +00:00
stskeeps e6b2159245 +- Fixed the "Bad file descriptor" bug in SSL. This bugfix may be a bit risky
+  as it is manipulating BIO fds. The reason openssl freaked at this, was
+  that when a fd is closed, we change fds from 4 to 3 etc, in other words,
+  we renumber fds. SSL didn't know this and if you would call SSL_set_fd it
+  would close the connection/crash. Added SSL_change_fd() to change the FD
+  directly through BIO_set_fd.
2000-11-19 18:05:03 +00:00
codemastr 4639a2b229 Replaced +I with +V in an error message 2000-11-17 00:18:16 +00:00
stskeeps 648677c637 +- Fixed +d (deaf) so it works again
+- Fixed a SJOIN3<->services problem
2000-11-16 09:02:54 +00:00
codemastr 0c9f2aa846 Removed some leftovers from the &channel code (which fixed a minor bug as well) 2000-11-15 23:33:14 +00:00
codemastr ef3397baf6 TODO updated 2000-11-12 22:15:16 +00:00
stskeeps 293125eb84 +- #define STATSWRITING will make ircd write ircd.stats every 4 seconds,
+  idea/sortof by WaveRide
+    Format of ircd.stats:
+       <global users>
+       <global invisible users>
+       <global servers>
+       <irc operators>
+       <unknown connections>
+       <local clients>
+       <local servers>
+       <local max clients>
+       <global max clients>
2000-11-12 17:57:05 +00:00
stskeeps 7e8ecc7dac +- Fixed NO_OPEROVERRIDE bug reported by otherguy 2000-11-12 15:04:33 +00:00
stskeeps 7debfeb86a . 2000-11-10 21:05:54 +00:00
stskeeps 02582580dd +- Added /botserv /bs command, patch by ATHnet.de 2000-11-10 21:01:11 +00:00
drbin 50d67017fc removing accidental commit 2000-11-10 20:37:22 +00:00
stskeeps 5b6dbb1e54 fixes 2000-11-10 14:34:34 +00:00
stskeeps 98c6c668ae . 2000-11-07 14:47:50 +00:00
stskeeps 9dfc0828f9 . 2000-11-07 14:41:38 +00:00
stskeeps 5a93d1a5e9 +- Fixed the masskill bug with replacing "Server Exists" code.. i removed it
+  accidentialy last time
2000-11-07 05:51:14 +00:00
codemastr f97882d2bb fixed some bugs 2000-11-05 20:29:54 +00:00
stskeeps 41e02c72a0 +- Fixed compile error with SSL 2000-11-05 19:36:11 +00:00
stskeeps e64c18860f . 2000-11-05 18:15:55 +00:00
codemastr 6510adeb23 memory clean ups 2000-11-04 19:02:24 +00:00
stskeeps f954969f7d +- Possible fixed a internal server list bug 2000-11-02 17:14:47 +00:00
stskeeps fea8930bb2 +- Autodetects /usr/sbin/openssl now, thanks trinity
+- Fixes a missing : in SJOIN
2000-11-01 06:13:54 +00:00
codemastr d51af6f8b5 tokenized PING and PONG 2000-10-30 21:47:54 +00:00
stskeeps 6d9e619b26 +- Possible fixed some b64 bugs 2000-10-30 15:46:44 +00:00
stskeeps 2fd3104391 . 2000-10-29 18:48:15 +00:00
stskeeps bea668a89f +- Probably fixed the hash bug, again. 2000-10-29 18:19:44 +00:00
codemastr c2de53cf85 Fixed the /list showing only 64 channels bug 2000-10-29 18:02:59 +00:00
stskeeps d0404fd0e8 +- Added TS2ts (supporting the SJB64 stuff), and fixed the !0 timestamp bug 2000-10-29 17:25:08 +00:00
stskeeps 4fb309fbde -- Fixed a wierd channel message bug
+- Fixed a wierd channel message bug ||
+- Fixed a bug where non-NS servers would crash when linking
2000-10-29 16:08:20 +00:00
stskeeps e50d397e93 . 2000-10-29 12:22:19 +00:00
stskeeps 8735a0f6bf . 2000-10-29 12:17:49 +00:00
stskeeps b6e61e1302 +- Fixed bug where duplicate numerics could occur
+- Fixed the hashing bug (thank you ROXnet ...)
2000-10-29 10:57:18 +00:00
stskeeps 2353bd2011 . 2000-10-29 10:40:31 +00:00
stskeeps 56dc3a3e1d . 2000-10-29 09:17:19 +00:00
stskeeps 856282da07 +- Fixed a linking bug (where did that come from) 2000-10-29 08:14:43 +00:00
stskeeps cdea0263ac +- Fixed the /list bug, reported by many people 2000-10-28 22:40:28 +00:00
stskeeps 4400b32055 +- Added some fixes on the SJB64 crashing bug, and added tokenization in
+  channel messsages (yahooooo!)
2000-10-28 20:57:24 +00:00
codemastr 714c97b006 Added chmode +N - no nick changes 2000-10-28 19:04:09 +00:00
codemastr 2c5abc8c2d removed sendto_helpops 2000-10-28 17:07:51 +00:00
stskeeps 00b464154b +- Fixed the SJB64 bugs that misplaced users 2000-10-28 15:42:27 +00:00
codemastr e534e67628 made use of ircsprintf in more places 2000-10-27 22:28:41 +00:00
codemastr 10bc9a408b made IsULine take 1 param 2000-10-27 20:50:58 +00:00
codemastr 8a95221fae various fixes 2000-10-26 22:12:47 +00:00
stskeeps 71bdc5c08d +- Added protoctl SJB64, which adds B64-9 timestamps to many timestamping
+  operations
+- Added ircsprintf %B (base64-9^10) with ! as prefix, and %b (no prefix)
2000-10-26 17:09:35 +00:00
stskeeps 857b3c3a84 +[Unreal3.1.1-Darkshades]
+- Fixed a warning in CENSOR_QUIT
+- Fixed the G:Line user wrongly matching (ip-alike addys didnt check user)
2000-10-26 16:01:32 +00:00
stskeeps 7eb9d0e71a +- Made find_server_b64_or_real be a little faster, possible fixing bug
+- Made /stats s checking check for sanity or insanity (ignore them for 0
+  numerics)
+- Fixed SJOIN (mp2parv) bug, that caused insane desynchs
+- Changed Cannot find server message to be to sendto_realops
+- Fixed a warning in CENSOR_QUIT
2000-10-26 13:50:44 +00:00
stskeeps f4fde73489 . 2000-10-25 18:32:45 +00:00
stskeeps 14bb1968ba Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.258
diff -u -r1.1.1.1.2.1.2.1.2.258 Changes
--- Changes	2000/10/22 17:51:31	1.1.1.1.2.1.2.1.2.258
+++ Changes	2000/10/25 18:26:37
@@ -638,3 +638,5 @@
 - Merged in changes from TEMPcvs branch
 - Fixed a /UNSQLINE para problem, found by Joe
 - #define SHOW_SECRET now allows all ircops to see +s channels in /whois.  If not defined, only net/tech admins can.
+- Added #define CENSOR_QUIT, for WaveRide
+- Fixed hashing bug that caused the server to crash on exit
2000-10-25 18:26:40 +00:00
angel11 ee31dd9fa0 Changed the way +s channels show up in /whois 2000-10-22 17:51:31 +00:00
stskeeps 30be1fa550 +- Fixed a /UNSQLINE para problem, found by Joe 2000-10-22 06:35:50 +00:00
stskeeps aa0ac19e18 +- Changed ./Config to detect SSL better, and generate certificates properly
+- Removed some annoying logging in ssl.c
+- Merged in changes from TEMPcvs branch
2000-10-21 06:56:22 +00:00
stskeeps 8c481239de +- Made SHOWCONNECTNOTICES work properly again, also with SSL 2000-10-07 18:51:36 +00:00
codemastr 8297e30cd4 .. 2000-10-07 18:28:19 +00:00
codemastr 0983f82c08 Added some P:line flags 2000-10-07 18:08:08 +00:00
stskeeps 554f1a0c15 +- Added SSL connections, open ports with P:ip:s:*:port to make them SSL
+  ports, made after hq.alert.sk's implementation
2000-10-07 06:34:33 +00:00
stskeeps e94bf80328 SSL support for UnrealIRCD! 2000-10-07 06:33:42 +00:00
stskeeps 5b3b13772b *** empty log message *** 2000-10-04 18:22:07 +00:00
stskeeps 32122c7018 .. 2000-09-17 15:24:01 +00:00
drbin a1b617b6d0 *** empty log message *** 2000-09-17 15:19:54 +00:00
drbin a46f14412d Fixed Bug in Win32 New DNS system ... bloody pointers and locking 2000-09-17 15:18:05 +00:00
drbin 0f2dd2ef18 NewDNS System 2000-09-17 11:43:36 +00:00
cvs2hg bfb98ee28f fixup commit for tag 'unreal3_1_sf' 2000-09-17 10:11:43 +00:00
stskeeps b0c04f4b43 . 2000-09-17 10:11:42 +00:00
stskeeps 362ec0b08d +- Fixed the passwd NICK problem 2000-09-16 19:39:33 +00:00
stskeeps b3fc0f5d6b +- FIXED "BUG" caused by NEWDNS *shrug* 2000-09-16 18:21:29 +00:00
drbin 40075204f0 NewDNS 2000-09-15 20:42:06 +00:00
drbin 9de62da6f3 NewDNS syetem 2000-09-15 20:32:19 +00:00
drbin 98047de919 New DNS UPDATE 2000-09-15 20:16:11 +00:00
stskeeps 29b4c9c983 +- Possible fixed the SJOIN kick bug (mode +Q), servers can now always kick 2000-09-10 18:08:39 +00:00
stskeeps 5392dd8acf +- Fixed /mode # + bug reported by PhatNet/Mind 2000-09-09 20:34:16 +00:00
codemastr 8f561e9337 added LIST_SHOW_MODES to list chmodes in /list 2000-09-09 19:21:47 +00:00
codemastr 6a356f7e2d fixed -Wall warnings 2000-09-08 21:58:11 +00:00
codemastr 978dd4071e Major changes to the way +I works 2000-09-07 21:10:40 +00:00
angel11 72cd2b5e99 Fixed two files that got screwed up in commit (my bad) 2000-09-04 20:18:25 +00:00
angel11 0fdef4f961 Away msgs no longer in whowas 2000-09-04 20:06:12 +00:00
codemastr 73e45d7537 fixed some +K bugs 2000-09-04 19:39:19 +00:00
stskeeps 493ba9981f +- Modified and fixed the NOTICE bug totally, with some waste of the nospoof
+  system
2000-09-03 18:16:25 +00:00
stskeeps cd4349598d +- Fixed a wierd NOTICE bug 2000-09-03 16:54:16 +00:00
stskeeps 537a91666e +- Fixed some REAL dumb find_server_quick bugs 2000-09-03 16:35:30 +00:00
drbin b6dee3fd9d *** empty log message *** 2000-09-02 21:48:28 +00:00
drbin 6cbcc627cf *** empty log message *** 2000-09-02 21:32:59 +00:00
drbin 2bb36dd76c *** empty log message *** 2000-09-02 20:58:40 +00:00
drbin e486efb289 *** empty log message *** 2000-09-02 20:48:41 +00:00
drbin 5c0151f976 Simple Usage Docs for wircd 2000-09-02 20:39:30 +00:00
drbin c5b7e0c1e7 *** empty log message *** 2000-09-02 20:24:33 +00:00
drbin 88c77ce89e *** empty log message *** 2000-09-02 20:16:31 +00:00
codemastr e85a37b814 removed /users and all utmp calls 2000-09-02 17:37:35 +00:00
codemastr a7ee96c3ce fixed a bug when running the ircd with -h 2000-09-02 16:32:28 +00:00
drbin 377d9554d3 Fixed previous thing again 2000-09-02 16:03:15 +00:00
drbin ea41e25761 fixed "if (sptr->passwd[0])" causing win32 fault 2000-09-02 15:50:07 +00:00
stskeeps f564867259 . 2000-09-02 11:34:35 +00:00
stskeeps 23438196eb Fixed a NOTICE bug 2000-09-02 07:52:18 +00:00
stskeeps 55a0b03f03 . 2000-09-02 07:48:52 +00:00
codemastr e68c66b260 ... 2000-09-01 21:09:21 +00:00
codemastr 7cbbef2e36 Made aClient->passwd dynamically allocated 2000-09-01 20:52:00 +00:00
codemastr ecdce7061b Made cached MOTDs dynamically allocated 2000-09-01 20:13:55 +00:00
codemastr 87ca77c48e made some updates to ./update 2000-09-01 15:49:31 +00:00
codemastr cca7cffb93 Fixed some morew -Wall warnings 2000-09-01 14:28:17 +00:00
codemastr bb4f0e3393 fixed some -Wall warnings, and removed all unused vars 2000-08-31 22:05:34 +00:00
stskeeps d83fb7d37f + - Added WHOIS command (working) to IRCbot-
+- Fixed a fun doublechar token problem (the AA unknown command)
2000-08-26 19:26:02 +00:00
stskeeps c07a9207ca +- Added IRCd bot (raw commands) and the IRC bot, webtv.c 2000-08-26 19:05:09 +00:00
stskeeps 7cde16eac1 +- Added IRCd bot (raw commands) and the IRC bot, webtv.c 2000-08-26 15:52:44 +00:00
stskeeps e03c9bdf42 +- Fixed another SJOIN problem, but not the exact one i was looking for 2000-08-26 14:24:22 +00:00
stskeeps 582e6b9f30 +- Removed SUMMON totally 2000-08-25 19:39:54 +00:00
stskeeps ad8a1bf785 +- More memory cleanups, changed aClient->refcnt to a signed char,
+  aClient->hopcount to unsigned char
+- Changed aChannel->mode.msgs & .per to unsigned short, and changed
+  .kmode to unsigned char
+- Changed aChannel->users to unsigned short (max 65536 users per channel)
+  and FloodOpt->nmsg to an unsigned short
2000-08-25 19:30:41 +00:00
codemastr 3e6f1fce93 more memory cleanups 2000-08-25 19:20:54 +00:00
codemastr 18dde16b11 memory cleanups 2000-08-25 18:40:09 +00:00
stskeeps d3cfcdc6b0 - Removed the ERR_NOTONCHANNEL message in numeric.c =P 2000-08-25 17:52:44 +00:00
stskeeps cccda143b1 Last part of fix 2000-08-25 17:32:24 +00:00
stskeeps 649b5d812e -
+- Fixed the G:line bugs, i hope - moved tkl_sweep into a loopstruct
2000-08-25 17:29:24 +00:00
stskeeps e3339d4003 eek 2000-08-25 16:20:41 +00:00
stskeeps 1786f8f03b same as above 2000-08-25 16:18:57 +00:00
stskeeps c28527ade3 . 2000-08-25 16:18:11 +00:00
stskeeps 90f0809b44 . 2000-08-25 15:41:37 +00:00
stskeeps dc5f3390bc . 2000-08-22 15:40:28 +00:00
stskeeps 25760a38f1 . 2000-08-22 15:40:27 +00:00
stskeeps 18c669cf47 .. 2000-08-22 15:30:56 +00:00
cvs2hg ae21e16beb fixup commit for tag 'unreal3_1_plus' 2000-08-20 11:58:24 +00:00
stskeeps 623f6a44a0 . 2000-08-20 11:58:23 +00:00
stskeeps 4981573f80 +- Fixed /server so it doesnt support SERVER name :info anymore.. 2000-08-20 08:21:46 +00:00
stskeeps cb5de25f7e . 2000-08-20 08:04:39 +00:00
stskeeps ae1a133435 +- Made /kick for opers only be possible for netadmin/techadmin 2000-08-20 08:03:13 +00:00
stskeeps fc1a6c313b +- Fixed ban merging/similar bug in SJOIN 2000-08-19 17:48:58 +00:00
stskeeps 601d97dd93 +- Fixed some problems/typos/notlookingsogood (TM) bugs, in the tkl code 2000-08-19 17:44:44 +00:00
codemastr b69361e947 fixed a typo in /vhost 2000-08-19 17:25:38 +00:00
stskeeps c064f9d5e9 +- Removed INV_TRACK 2000-08-19 15:09:38 +00:00
stskeeps fe866e500b . 2000-08-19 15:06:57 +00:00
stskeeps 0bb293925d +- Made vhost strip too long vhosts 2000-08-19 14:40:42 +00:00
stskeeps fe95cb9a1f + and dynconf, chrestrict 2000-08-19 14:28:23 +00:00
stskeeps cd277778a3 . 2000-08-19 13:59:45 +00:00
stskeeps 7bc10582c5 +- Added some portability stuff 2000-08-19 13:49:35 +00:00
stskeeps b93a3e9e93 Checkmate 2000-08-19 13:36:02 +00:00
stskeeps 06a6b4c07f Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.201
diff -u -r1.1.1.1.2.1.2.1.2.201 Changes
--- Changes	2000/08/18 19:04:02	1.1.1.1.2.1.2.1.2.201
+++ Changes	2000/08/19 10:08:57
@@ -560,3 +560,4 @@
 - Added IRIX support (does it work?)
 - Fixed crypter so it actually functions (Makefile now sets mode 700) and
   it encrypts X and N lines too.
+- Fixed empty mode sends in register_user, reported by Bagge
2000-08-19 10:08:58 +00:00
angel11 34b46855a2 Fixed crypter 2000-08-18 19:04:02 +00:00
codemastr 65393c21ca *** empty log message *** 2000-08-18 16:44:35 +00:00
codemastr 0c9fd1139c added IRIX support (does it work?) 2000-08-18 16:44:06 +00:00
codemastr d5da9ddb9e fixed a +h bug 2000-08-18 16:14:24 +00:00
stskeeps 70873bcf00 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.197
diff -u -r1.1.1.1.2.1.2.1.2.197 Changes
--- Changes	2000/08/17 19:27:59	1.1.1.1.2.1.2.1.2.197
+++ Changes	2000/08/18 16:02:24
@@ -555,3 +555,4 @@
   badwords :P, does not work in channels
 - Removed the old GLINE system, TKL is now standard.
 - Added INV_TRACK define, we want people testing this.
+- Fixed the -1 usercount bug, found by codemastr, fixed by Stskeeps
2000-08-18 16:02:25 +00:00
stskeeps a3ec5a5fb8 +- Removed the old GLINE system, TKL is now standard.
+- Added INV_TRACK define, we want people testing this.
2000-08-17 19:28:00 +00:00
stskeeps c0f596fbb7 + badwords :P, does not work in channels
+- Removed the old GLINE system, TKL is now standard.
\ No newline at end of file
2000-08-16 16:51:55 +00:00
stskeeps 4ae6cd2bf4 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.194
diff -u -r1.1.1.1.2.1.2.1.2.194 Changes
--- Changes	2000/08/13 19:03:33	1.1.1.1.2.1.2.1.2.194
+++ Changes	2000/08/15 19:42:31
@@ -550,3 +550,6 @@
 - Fixed a bug with mkpasswd on OpenBSD
 - Added desynch +e warning, and updated ./update enough ...
 - Updated update to work better, and that you can use lynx instead of wget
+- Added #undef SHUN_NOTICES, to add notices for users who are shunned
+- Fixed bug with U:Lines should be able to privmsg/notice and recieve
+  badwords :P, does not work in channels
\ No newline at end of file
2000-08-15 19:42:32 +00:00
codemastr 242d9ab45d ... 2000-08-14 18:47:12 +00:00
stskeeps a4d4b20b2c Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.193
diff -u -r1.1.1.1.2.1.2.1.2.193 Changes
--- Changes	2000/08/13 17:28:30	1.1.1.1.2.1.2.1.2.193
+++ Changes	2000/08/13 19:03:33
@@ -548,4 +548,5 @@
   problem
 - Hopefully fixed the +x problem
 - Fixed a bug with mkpasswd on OpenBSD
-- Added desynch +e warning, and updated ./update enough ...
\ No newline at end of file
+- Added desynch +e warning, and updated ./update enough ...
+- Updated update to work better, and that you can use lynx instead of wget
2000-08-13 19:03:33 +00:00
stskeeps d42135097a . 2000-08-13 18:34:04 +00:00
stskeeps 9c4d0c511a . 2000-08-13 17:28:30 +00:00
stskeeps 85790c8442 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.191
diff -u -r1.1.1.1.2.1.2.1.2.191 Changes
--- Changes	2000/08/13 16:09:57	1.1.1.1.2.1.2.1.2.191
+++ Changes	2000/08/13 17:24:47
@@ -548,3 +548,4 @@
   problem
 - Hopefully fixed the +x problem
 - Fixed a bug with mkpasswd on OpenBSD
+- Added desynch +e warning, and updated ./update enough ..
\ No newline at end of file
2000-08-13 17:24:48 +00:00
codemastr c0c478112f Fixed a bug with mkpasswd on OpenBSD 2000-08-13 16:09:58 +00:00
cvs2hg 5406e9fa99 fixup commit for tag 'unreal3_1_fixpack1' 2000-08-13 15:29:15 +00:00
stskeeps 030b9c8291 cvs diff -u Changes 2000-08-13 15:29:14 +00:00
stskeeps 4493453545 . 2000-08-13 15:03:06 +00:00
stskeeps df0a433709 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.187
diff -u -r1.1.1.1.2.1.2.1.2.187 Changes
--- Changes	2000/08/11 19:31:50	1.1.1.1.2.1.2.1.2.187
+++ Changes	2000/08/13 14:39:47
@@ -543,3 +543,4 @@
 - Added Dianora's /userhost
 - Recoded /links using NS
 - Recoded /map a bit using NS, and added usercounts to Server struct
+- Some crazy time_t -> TS stuff, will save us some time in 2038
2000-08-13 14:39:49 +00:00
stskeeps 6c3bbf0009 *** empty log message *** 2000-08-11 19:34:45 +00:00
stskeeps bf7a3d3133 +- Recoded /map a bit using NS, and added usercounts to Server struct 2000-08-11 19:31:51 +00:00
stskeeps fb602a74e4 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.185
diff -u -r1.1.1.1.2.1.2.1.2.185 Changes
--- Changes	2000/08/11 18:01:14	1.1.1.1.2.1.2.1.2.185
+++ Changes	2000/08/11 18:34:57
@@ -541,3 +541,4 @@
 - Fixed a STRIPBADWORDS bug
 - Fixed a BotMOTD bug
 - Added Dianora's /userhost
+- Recoded /links using NS
2000-08-11 18:34:58 +00:00
stskeeps 040d480e99 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.184
diff -u -r1.1.1.1.2.1.2.1.2.184 Changes
--- Changes	2000/08/08 22:29:15	1.1.1.1.2.1.2.1.2.184
+++ Changes	2000/08/11 18:01:13
@@ -540,3 +540,4 @@
 - Fixed a PART bug
 - Fixed a STRIPBADWORDS bug
 - Fixed a BotMOTD bug
+- Added Dianora's /userhost
2000-08-11 18:01:15 +00:00
codemastr c90d13174d fixed a botmotd bug 2000-08-08 22:29:16 +00:00
codemastr 97e41a7e42 various fixes 2000-08-08 17:22:36 +00:00
stskeeps 7b6582bdcc . 2000-08-08 04:48:46 +00:00
stskeeps 5fde2907f5 *** empty log message *** 2000-08-07 17:48:06 +00:00
cvs2hg 71ce47a71b fixup commit for tag 'unreal3_1_final' 2000-08-07 17:21:49 +00:00
cvs2hg 98b483ee88 fixup commit for tag 'unreal3_1' 2000-08-07 17:21:48 +00:00
stskeeps 4ee74b07e3 *** empty log message *** 2000-08-07 17:21:47 +00:00
stskeeps d33f4a8120 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.179
diff -u -r1.1.1.1.2.1.2.1.2.179 Changes
--- Changes	2000/08/07 16:16:14	1.1.1.1.2.1.2.1.2.179
+++ Changes	2000/08/07 16:56:17
@@ -530,3 +530,4 @@
   Config, and all the things we want them to read/do to compile the IRCd
 - Updated PREFIX Client Protoctl
 - Added ^MrMike^'s command list, this one will be updated
+- Removed ID_CVS, hopefully fixing some bastard stuff
2000-08-07 16:56:31 +00:00
stskeeps b7920658e4 *** empty log message *** 2000-08-07 16:16:58 +00:00
stskeeps 135b4d9d87 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.178
diff -u -r1.1.1.1.2.1.2.1.2.178 Changes
--- Changes	2000/08/07 16:08:24	1.1.1.1.2.1.2.1.2.178
+++ Changes	2000/08/07 16:16:14
@@ -529,3 +529,4 @@
 - Added script ./Setup which makes the user forced through Unreal.nfo, FAQ,
   Config, and all the things we want them to read/do to compile the IRCd
 - Updated PREFIX Client Protoctl
+- Added ^MrMike^'s command list, this one will be updated
2000-08-07 16:16:15 +00:00
codemastr 8af8d17d52 fixed PREFIX= 2000-08-07 16:08:24 +00:00
stskeeps d11a065d37 *** empty log message *** 2000-08-07 16:05:37 +00:00
stskeeps 771dee3a5f *** empty log message *** 2000-08-07 15:50:44 +00:00
stskeeps ea519e2a6d . 2000-08-07 15:12:10 +00:00
stskeeps 9ddffa08ea *** empty log message *** 2000-08-07 15:11:11 +00:00
stskeeps 1e7c36aac0 +- Added script ./Setup which makes the user forced through Unreal.nfo, FAQ,
+  Config, and all the things we want them to read/do to compile the IRCd
2000-08-07 15:09:06 +00:00
stskeeps 3de653cbf2 . 2000-08-07 15:03:10 +00:00
stskeeps 4a08c9ba70 *** empty log message *** 2000-08-07 14:52:24 +00:00
stskeeps b750382333 . 2000-08-07 12:49:22 +00:00
stskeeps 98eb86460b . 2000-08-06 15:22:44 +00:00
stskeeps 3026350806 +- Made find_server_quick a prototype, and made some work more quicker as
+  well
2000-08-06 13:29:46 +00:00
stskeeps da3100e642 +- Changed some find_server(name, NULL) to find_server_quick to speed up
+  lookup of servers
2000-08-06 13:21:52 +00:00
stskeeps 6c1cefed98 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.171
diff -u -r1.1.1.1.2.1.2.1.2.171 Changes
--- Changes	2000/08/06 08:25:18	1.1.1.1.2.1.2.1.2.171
+++ Changes	2000/08/06 13:01:54
@@ -518,3 +518,5 @@
 - Updated ./ircd to also say to look at ircd.log
 - Fixed a SQLINE synch bug
 - Added command line option -F to prevent the ircd to fork out
+- Fixed the f*cken TKL bug
+- Fixed a netsplit bug
2000-08-06 13:01:56 +00:00
stskeeps 6f7b608fac Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.170
diff -u -r1.1.1.1.2.1.2.1.2.170 Changes
--- Changes	2000/08/06 08:06:36	1.1.1.1.2.1.2.1.2.170
+++ Changes	2000/08/06 08:24:08
@@ -517,3 +517,4 @@
   the ircd logs it to ircd.log and dies
 - Updated ./ircd to also say to look at ircd.log
 - Fixed a SQLINE synch bug
+- Added command line option -F to prevent the ircd to fork out
2000-08-06 08:25:18 +00:00
stskeeps 081d14d3e9 +- Fixed a SQLINE synch bug 2000-08-06 08:06:37 +00:00
codemastr 1b47753c0f made a check to see if the server name has a . in it if not, die 2000-08-04 20:16:12 +00:00
codemastr 1ebe25c025 made /knock without a reason work and some /knock clean ups 2000-08-04 19:32:00 +00:00
stskeeps 13790b01e3 *** empty log message *** 2000-08-04 12:14:24 +00:00
stskeeps 004f9222a1 *** empty log message *** 2000-08-03 11:07:46 +00:00
stskeeps c3e053033c +- Fixed a SJ3 bug with ban syncing to SJ2 servers 2000-08-03 10:56:02 +00:00
angel11 5561c155de Opers now see +s channels in /whois 2000-08-02 20:32:07 +00:00
codemastr 33c6e5c93b /chghost bug fix 2000-08-02 18:52:10 +00:00
stskeeps b7ee74ec97 +- Disabled anything with time in /list options temporary, causes bugs 2000-08-02 17:45:14 +00:00
codemastr 58f7ef9ca8 fixed a little typo in umode 2000-08-02 17:37:32 +00:00
codemastr 7f96ccb01e more +u fixes 2000-08-02 17:27:09 +00:00
codemastr 7666ceab87 fixed the ulimit core size failed bug 2000-08-02 17:11:39 +00:00
stskeeps e7c69eca78 +- Possible fixed the lopts bug (which i didnt))
+- Fixed a egcs problem in Config, the strtok bug
2000-08-02 15:59:03 +00:00
stskeeps d69bcc41fa *** empty log message *** 2000-08-02 15:46:15 +00:00
stskeeps 4d616cf680 +- Fixed the +lL (+Ll) bug, will first be fixed 100% when all is 3.1 2000-08-02 15:11:11 +00:00
stskeeps dc1eb8bddf Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.156
diff -u -r1.1.1.1.2.1.2.1.2.156 Changes
--- Changes	2000/08/01 17:27:52	1.1.1.1.2.1.2.1.2.156
+++ Changes	2000/08/02 14:55:29
@@ -496,3 +496,5 @@
 - Added sendto_chanops_butone because of codemastr's laziness
 - Fixed a few +u bugs
 - Fixed a +I bug (yes another one)
+- Changed channel.c so that when an opped non +q/+a Oper kicks a user who
+  is +q/+a it invokes an OperKick (patch by llthangel)
2000-08-02 14:55:33 +00:00
codemastr c9e4ba4c98 fixed a few +u bugs and a +I bug 2000-08-01 17:27:53 +00:00
stskeeps c1c1aa2909 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.154
diff -u -r1.1.1.1.2.1.2.1.2.154 Changes
--- Changes	2000/08/01 16:30:15	1.1.1.1.2.1.2.1.2.154
+++ Changes	2000/08/01 16:34:06
@@ -493,3 +493,4 @@
 - Fixed SVS2MODE bug with illegal modes
 - Fixed /notice @%+ bug, where it didnt work at all
 - Fixed a small chmode +u bug
+- Added sendto_chanops_butone because of codemastr's laziness
2000-08-01 16:34:07 +00:00
codemastr 6f9606b331 fixed a small +u bug 2000-08-01 16:30:16 +00:00
stskeeps 345f51b684 -- Fixed SVS2MODE bug with illegal modes
\ No newline at end of file
+(rc2)
+- Fixed SVS2MODE bug with illegal modes
+- Fixed /notice @%+ bug, where it didnt work at all
2000-08-01 16:11:28 +00:00
stskeeps d885489c48 +- Fixed SVS2MODE bug with illegal modes
\ No newline at end of file
2000-08-01 15:54:53 +00:00
cvs2hg 4659dab89c fixup commit for tag 'unreal3_1_rc2' 2000-08-01 10:10:27 +00:00
stskeeps 760dc8dab8 .CVS: ---------------------------------------------------------------------- 2000-08-01 10:10:26 +00:00
stskeeps 5133d62d3c +- Changed channel.c so when you kick someone as halfop it doesn't show as an
+  OperKick (unless you kick an op) (reported by ^Fanta, patch by llthangel)
2000-08-01 06:11:39 +00:00
stskeeps eded88dd61 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.149
diff -u -r1.1.1.1.2.1.2.1.2.149 Changes
--- Changes	2000/07/29 13:34:20	1.1.1.1.2.1.2.1.2.149
+++ Changes	2000/07/31 18:13:34
@@ -486,3 +486,4 @@
 - Fixed a problem in SVS2MODE not displaying mode changes, and well known
   why
 - Recoded SVSNOOP, but the IRCd doesn't get it at all??
+- added llthangel to credits
2000-07-31 18:13:35 +00:00
stskeeps bfb2ce7bce . 2000-07-29 18:10:48 +00:00
stskeeps 6854c9a063 *** empty log message *** 2000-07-29 13:42:37 +00:00
stskeeps 25077eadc1 +- Recoded SVSNOOP, but the IRCd doesn't get it at all?? 2000-07-29 13:34:21 +00:00
stskeeps 3f41561390 +- Introduced NS in SQLINE..
+- Fixed a problem in SVS2MODE not displaying mode changes, and well known
+  why
2000-07-29 13:02:31 +00:00
stskeeps e1499ca0ed +- Introduced NS in SQLINE.. 2000-07-29 12:37:28 +00:00
stskeeps b61f000488 +- Fixed a problem in synch using acptr->name as info line 2000-07-29 12:16:25 +00:00
stskeeps 3ae66ae4e0 +- NS introduction in sendto_serv_butone_token
+- Fixed Q:lined nick NickServ from <unregistered> on Nickname Server message
2000-07-29 11:36:43 +00:00
stskeeps 51a5fa808e *** empty log message *** 2000-07-29 08:27:21 +00:00
stskeeps 236f8ed033 +- NS introduction in sendto_serv_butone_token 2000-07-29 08:08:46 +00:00
codemastr a977359d9f fixed a _small_ memory over use 2000-07-28 20:02:52 +00:00
stskeeps 6426522201 +- Removed UPING UDP socket. Only resfd opens a udp fd now 2000-07-28 19:25:30 +00:00
stskeeps 47ddee28a4 +- Changed find_server_quick to work with masks too .. 2000-07-28 19:19:21 +00:00
stskeeps 249edda423 +- Added llthangel's whoisfix.patch, Makes sure +hv users show up as
+  %#channel instead of +#channel. Bug report by ^Fanta.
2000-07-28 19:10:26 +00:00
stskeeps bde554aaf9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.138
diff -u -r1.1.1.1.2.1.2.1.2.138 Changes
--- Changes	2000/07/26 10:46:10	1.1.1.1.2.1.2.1.2.138
+++ Changes	2000/07/28 18:57:30
@@ -472,5 +472,5 @@
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
 - Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
-- NS part 1
-- SJ3 fixes
+- SJ3 fixes, loop fix
+- Added NS, new generation ALN.
2000-07-28 18:57:41 +00:00
stskeeps 9ec9cba9d9 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.137
diff -u -r1.1.1.1.2.1.2.1.2.137 Changes
--- Changes	2000/07/25 15:37:52	1.1.1.1.2.1.2.1.2.137
+++ Changes	2000/07/26 10:46:07
@@ -472,4 +472,5 @@
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
 - Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
-- NS part 1
\ No newline at end of file
+- NS part 1
+- SJ3 fixes
2000-07-26 10:46:10 +00:00
stskeeps f046832f10 Indentation. 2000-07-25 17:43:58 +00:00
stskeeps a055d59f9c indentiation 2000-07-25 15:41:55 +00:00
stskeeps a41b0b5bbb . 2000-07-25 15:37:54 +00:00
stskeeps bf7aad741d . 2000-07-25 14:12:42 +00:00
stskeeps cb74571261 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.135
diff -u -r1.1.1.1.2.1.2.1.2.135 Changes
--- Changes	2000/07/24 21:41:30	1.1.1.1.2.1.2.1.2.135
+++ Changes	2000/07/25 09:35:40
@@ -471,3 +471,4 @@
 - Removed a SJ3 debug msg
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
 - Changed to ircu/hybrid6/unreal mix of numeric 005
+- Fixed a SJ3 Fake Direction loopbug (kills on nick collisions)
2000-07-25 09:35:43 +00:00
stskeeps 993180689a Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.134
diff -u -r1.1.1.1.2.1.2.1.2.134 Changes
--- Changes	2000/07/24 19:33:42	1.1.1.1.2.1.2.1.2.134
+++ Changes	2000/07/24 21:41:27
@@ -470,3 +470,4 @@
 - Added base64 encoding instead, for ALN v2 (NS)
 - Removed a SJ3 debug msg
 - Removed SVSMODE +l support, and fixed servicestamp and +d support
+- Changed to ircu/hybrid6/unreal mix of numeric 005
2000-07-24 21:41:33 +00:00
codemastr aecec0e171 . 2000-07-24 20:07:01 +00:00
stskeeps 52a5b1b038 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.133
diff -u -r1.1.1.1.2.1.2.1.2.133 Changes
--- Changes	2000/07/24 19:16:10	1.1.1.1.2.1.2.1.2.133
+++ Changes	2000/07/24 19:33:40
@@ -469,3 +469,4 @@
 - Removed ALN, and the ALN system.
 - Added base64 encoding instead, for ALN v2 (NS)
 - Removed a SJ3 debug msg
+- Removed SVSMODE +l support, and fixed servicestamp and +d support
2000-07-24 19:33:43 +00:00
stskeeps 9b181f575f Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.132
diff -u -r1.1.1.1.2.1.2.1.2.132 Changes
--- Changes	2000/07/24 18:58:13	1.1.1.1.2.1.2.1.2.132
+++ Changes	2000/07/24 19:16:08
@@ -468,3 +468,4 @@
 - Added /infoserv (you can stop bugging us now skold ;P)
 - Removed ALN, and the ALN system.
 - Added base64 encoding instead, for ALN v2 (NS)
+- Removed a SJ3 debug msg
2000-07-24 19:16:10 +00:00
stskeeps 7a9cade496 @@ -466,3 +466,5 @@
- SJ3 fixes. Let's hope this works (f*cken hell..)
 - Fixed a V:line bug
 - Added /infoserv (you can stop bugging us now skold ;P)
+- Removed ALN, and the ALN system.
+- Added base64 encoding instead, for ALN v2 (NS)
2000-07-24 18:58:18 +00:00
codemastr 009e5353e7 added /infoserv 2000-07-23 18:34:14 +00:00
stskeeps 2988283c76 . 2000-07-22 18:28:42 +00:00
stskeeps 7f3125a0e2 . 2000-07-22 17:31:22 +00:00
codemastr 07353dcf4b Fixed a V:line bug 2000-07-22 16:14:32 +00:00
stskeeps 110e114d90 +- SJ3 fixes. Let's hope this works (f*cken hell..) 2000-07-21 18:50:15 +00:00
stskeeps 8abce466d6 SJ3 fix 2000-07-17 21:06:16 +00:00
codemastr 6054bfabd2 fixed a +L bug and Config typo 2000-07-17 16:45:04 +00:00
stskeeps b1416fc0c0 . 2000-07-17 15:20:58 +00:00
stskeeps 160d1600a6 . 2000-07-17 10:11:26 +00:00
stskeeps 0ba15e3965 *** empty log message *** 2000-07-17 07:31:05 +00:00
stskeeps 5fe68141ad +- Fixed the pesky hostname bug 2000-07-17 07:04:03 +00:00
stskeeps df0815f9bd . 2000-07-16 20:32:39 +00:00
stskeeps 10ad7e34f5 . 2000-07-16 19:42:09 +00:00
stskeeps fcfb9aa3d2 . 2000-07-16 19:01:28 +00:00
codemastr b47a9f53cc added networks/shatstation.network 2000-07-16 19:00:25 +00:00
stskeeps 8617d1ba4c . 2000-07-16 18:55:11 +00:00
codemastr 9bccd6046d added networks/linuxsquare.network 2000-07-16 18:54:23 +00:00
stskeeps 1c8ea8df8c . 2000-07-16 18:49:03 +00:00
stskeeps 3f4174bb96 FUckeup stuff etc, but lets hope it works 2000-07-16 18:48:00 +00:00
codemastr d1839df783 fixed a +I bug 2000-07-16 16:58:17 +00:00
stskeeps 9390a647ed . 2000-07-16 13:39:18 +00:00
stskeeps 3856856120 . 2000-07-16 13:29:08 +00:00
stskeeps 587defb54e .
kd
2000-07-16 13:11:01 +00:00
stskeeps 047a43253c .
k
2000-07-16 13:07:18 +00:00
stskeeps f1c9feb8f7 . 2000-07-16 12:31:56 +00:00
stskeeps 81ce6d38a2 .
kxkx
2000-07-16 11:15:33 +00:00
stskeeps b57669903d .kd 2000-07-16 11:02:59 +00:00
stskeeps 0a7b6dfc3a .
k
: ----------------------------------------------------------------------
2000-07-16 10:31:38 +00:00
stskeeps 56663f23e1 . 2000-07-16 10:25:53 +00:00
stskeeps 0af5d85de7 . 2000-07-16 10:22:12 +00:00
stskeeps 5e9f767c86 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.116
diff -u -r1.1.1.1.2.1.2.1.2.116 Changes
--- Changes	2000/07/16 10:07:14	1.1.1.1.2.1.2.1.2.116
+++ Changes	2000/07/16 10:17:26
@@ -449,8 +449,5 @@
 - Made it so you can remove a protoctl by putting a - in front
 - Fixed a bug in summon
 - Added protection against webproxies
-- SJ3 part 2/3 and a VL fix
-- Indentation and more SJ3 fixes
 - Fixed TKL?
-- 3/4 SJ3 fix
-- Last part SJ3
+- Added SJ3, removed the old
2000-07-16 10:17:32 +00:00
stskeeps 515945254c fixed synching 2000-07-16 10:13:01 +00:00
stskeeps 9d966aa4d0 +- Last part SJ3 2000-07-16 10:07:14 +00:00
stskeeps bf26a46b15 . 2000-07-16 08:59:02 +00:00
stskeeps 6124a68fde +- 3/4 SJ3 fix 2000-07-16 08:58:48 +00:00
codemastr 65118165d6 Fixed the TKL bug? 2000-07-15 23:56:57 +00:00
stskeeps 2e461cba19 +- Indentation and more SJ3 fixes 2000-07-14 20:22:59 +00:00
stskeeps b89bcd31d9 +- SJ3 part 2/3 and a VL fix 2000-07-14 14:47:40 +00:00
codemastr a78d71ee8b *** empty log message *** 2000-07-09 18:47:25 +00:00
stskeeps 9e7138ace5 +- Added protection against webproxies 2000-07-09 18:44:33 +00:00
codemastr 50a94daec7 fixed a bug in summon 2000-07-09 18:13:53 +00:00
codemastr 401c3918af added ability to remove a protoctl flag 2000-07-07 19:36:12 +00:00
stskeeps eb842353cc +- Tokenized nick->nick PRIVMSG and NOTICE
\ No newline at end of file
2000-07-07 12:14:51 +00:00
stskeeps 6c67a4a6b1 +- Fixed some host revealing nick collision stuff 2000-07-07 09:35:35 +00:00
codemastr 3a385f679b added networks/staticedge.network 2000-07-06 18:11:16 +00:00
codemastr 30b6a30fc5 added networks/makenet 2000-07-06 18:05:03 +00:00
stskeeps 6dd738d91c - Fixed a /rehash -garbage bug reported by Curt|s 2000-07-06 17:13:45 +00:00
stskeeps 61b2e99257 - Added a #define capability to config.h (DISABLE_USERMOD),
disables /sethost, /setident, /chgname, /chghost, /chgident
2000-07-06 08:10:20 +00:00
stskeeps 84d8b082c2 +- Added regex portablity and checks in Config 2000-07-05 22:20:41 +00:00
stskeeps fc26ef3e44 +- Fixed a msg.h location problem ..
+- Added secure connections and openssl tracing to Config
2000-07-05 16:55:14 +00:00
stskeeps 32eaeaaf36 +- Fixed a msg.h location problem ..
\ No newline at end of file
2000-07-05 16:25:39 +00:00
stskeeps 8de5089b84 Index: Changes
===================================================================
RCS file: /home/cmunk/ircsystems/cvsroot/unreal/Changes,v
retrieving revision 1.1.1.1.2.1.2.1.2.97
diff -u -r1.1.1.1.2.1.2.1.2.97 Changes
--- Changes	2000/07/05 15:11:43	1.1.1.1.2.1.2.1.2.97
+++ Changes	2000/07/05 16:25:14
@@ -436,3 +436,4 @@
 - Added VHP protoctl, (not in use in the synch). This makes virthost field
   in NICKv2 use the real virthost even if its +t. (Thanks to SL7)
 - Added support for the CR Java Chat auto join feature
+- Fixed a msg.h location problem ..
\ No newline at end of file
2000-07-05 16:25:19 +00:00
codemastr 3d7b0b6a0b added support for the CR Java Chat autojoin feature 2000-07-05 15:11:43 +00:00
stskeeps 04e9baae17 - Removed any trace of MD5, we use random() for nospoof now, this fixed a
license problem too
- Removed NOSPOOF_SEED01 and 02
- Added VHP protoctl, (not in use in the synch). This makes virthost field
  in NICKv2 use the real virthost even if its +t. (Thanks to SL7)
2000-07-05 13:05:34 +00:00
stskeeps 8a93ea7376 +- Fixed a sendto_serv_butone_token problem 2000-07-04 18:21:41 +00:00
stskeeps fa2a2c2234 - Added doc/crypto.doc describing the encrypted irc protocol 2000-07-04 11:25:37 +00:00
stskeeps 36154d7b10 - Added so stuff like Lost connection to, (report_error) only goes to realops
- Added some more descriptive error messages
2000-07-03 19:25:07 +00:00
stskeeps 5fcadbef9b .
k
2000-07-03 17:25:51 +00:00
codemastr ce9e5c4c84 Added OpenBSD 2.x support 2000-07-02 19:53:31 +00:00
codemastr d6fe0776a2 Fully added V:lines 2000-07-02 00:41:12 +00:00
stskeeps d5fd9a6ce9 +- Fixed some aligning in the VL PROTOCTL
+- Fixed some fucked up passwd stuff again ..
2000-07-01 12:59:00 +00:00
stskeeps 32fc008943 +- Fixed some aligning in the VL PROTOCTL 2000-07-01 10:50:56 +00:00
stskeeps 78545d38dc +- Fixed a crash problem on /quit or /squit 2000-06-30 20:51:03 +00:00
stskeeps 620c7e403d +- Fixed so that in +c it shows if a user is connected securely
+- Backported the passwd stuff, not needed.
2000-06-30 20:28:00 +00:00
codemastr 8ba0a10294 some V:line stuff 2000-06-30 16:33:03 +00:00
codemastr 8b0a1de92f added fclose() calls to vhost, dccdeny, and chrestrict confs 2000-06-29 18:18:37 +00:00
stskeeps b776a4d148 +- Fixed a ->passwd bug caused by codemastr.. 2000-06-29 12:23:26 +00:00
stskeeps a0dcb79a3a +- Added some more crypto stuff
+    - /crypto <algoritm> <keyfile laying in keys/> <parameters>
2000-06-28 20:54:49 +00:00
stskeeps 63e1fa2418 . 2000-06-28 19:45:39 +00:00
stskeeps f2d364aa8a +- Fixed crypto stuff 100% :)) 2000-06-28 19:37:17 +00:00
codemastr 9eeb7a2fc4 made K:line and n:line checking faster 2000-06-28 19:23:17 +00:00
codemastr 7144188368 made a major is_banned speed up 2000-06-28 17:11:55 +00:00
codemastr 2525edca20 removed list_channels 2000-06-28 16:56:21 +00:00
codemastr 279842d017 now can request topic without being a member, and removed topic , support 2000-06-28 16:15:58 +00:00
stskeeps 62323727a8 . 2000-06-27 20:22:33 +00:00
codemastr 645a04aec3 added option to encrypt restart/die passwords 2000-06-27 16:26:05 +00:00
codemastr b8f0063629 added encrypted I:line support 2000-06-27 15:45:41 +00:00
stskeeps 07104d2d7d . 2000-06-27 15:42:38 +00:00
stskeeps 68aba326e1 . 2000-06-27 13:22:57 +00:00
stskeeps 9b0f6b2a9c +- Some more crypto stuff, will work on the new engine tommorow 2000-06-26 21:41:00 +00:00
codemastr 384b7357cd fixed a typo in /stats z 2000-06-25 16:37:41 +00:00
stskeeps 4c039afe84 +- Added Blowfish encryption ability (SetSecure()), will extend to more
+  better encryption
Requires OpenSSL/blowfish
2000-06-25 14:35:24 +00:00
stskeeps 4e96e013ac +- Removed some odd Clone stuff(?) 2000-06-25 08:39:50 +00:00
stskeeps 62fe14251b +- Broken INETD support removed 2000-06-24 21:04:26 +00:00
stskeeps f7acfa8736 . 2000-06-24 20:57:30 +00:00
stskeeps 0a5bb85f2c - Removed IsService() 2000-06-24 20:45:48 +00:00
codemastr 0423078b67 *** empty log message *** 2000-06-24 18:54:11 +00:00
stskeeps 1e250927a2 - Fixed /setname desynch 2000-06-24 18:33:46 +00:00
codemastr 711ffb5c62 ... 2000-06-24 18:29:56 +00:00
stskeeps 2265903961 - Fixed last R_LINE stuff (check_time_interval) 2000-06-24 18:20:58 +00:00
codemastr 65cdea5cfe redid s_err.c to be faster (based on bahamut) 2000-06-24 18:14:26 +00:00
codemastr e3234d5671 *** empty log message *** 2000-06-24 15:19:36 +00:00
codemastr 4dd196bbc6 made /msg irc always work, cleanups, made it so all servers behind a U:lined server are U:lined 2000-06-23 21:32:25 +00:00
codemastr 0b85e10148 added networks/seveneagle.network 2000-06-23 18:37:52 +00:00
codemastr a35dd03e50 *** empty log message *** 2000-06-23 18:30:03 +00:00
stskeeps 4a1cded0fd - Made IRCII_KLUDGE disappear :P
- Fixed SENDQ_ALWAYS to be mainstream define (as always)
2000-06-23 18:24:12 +00:00
stskeeps 5c87943196 - Made IRCII_KLUDGE disappear :P 2000-06-23 18:19:49 +00:00
stskeeps f09b334e86 Missed one thing 2000-06-23 18:18:06 +00:00
stskeeps 985561c522 - Removed DISALLOW_MIXED_CASE and IGNORE_FIRST_CHAR, waste of space
- Made IDLE_FROM_MSG stock define
2000-06-23 18:17:10 +00:00
stskeeps 0b7c79b488 k- Removed aHush, not in use 2000-06-23 18:09:29 +00:00
stskeeps b3d8eb3104 - Fixed a wrongly outputted message (in hash collision detect) 2000-06-23 18:07:25 +00:00
stskeeps b6cb4e3661 - Made operkick be part of NO_OPEROVERRIDE
- Made admins unable to be shunned
- Made some socket errors which normally only showed up in DEBUGMODE, show
  up in ircd.log as well
2000-06-22 13:48:16 +00:00
stskeeps 031a342e60 Made operkick be part of OperOverride 2000-06-21 18:05:21 +00:00
stskeeps 023d869ffd - Small fix with ./Config showing incorrect path of stddef.h 2000-06-20 18:05:43 +00:00
stskeeps 4dcaaec5a3 - Fixed a bug in badwords not loading words correctly, and upped word limit
to 50
2000-06-20 08:15:13 +00:00
codemastr 614587cb7c fixed a chgident overflow 2000-06-19 20:49:27 +00:00
stskeeps 1d750653ab . 2000-06-19 16:21:32 +00:00
cvs2hg a278e31c9f fixup commit for tag 'unreal3_1_rc1' 2000-06-19 09:32:53 +00:00
stskeeps 39a02452d2 . 2000-06-19 09:32:52 +00:00
stskeeps 2016740b47 Stamp. 2000-06-18 10:22:40 +00:00
stskeeps 84c8525bc7 . 2000-06-18 10:21:45 +00:00
stskeeps 4feb893c3f - Made so auditorium mode shows users to @'s 2000-06-18 10:12:41 +00:00
stskeeps a30af17cb8 - Fixed ./Config showing freebsd 3.0 in freebsd 4
- Made so badwords.*.conf accepts # comments
- Added some default default badwords.message.conf and badwords.channel.conf
2000-06-18 10:10:34 +00:00
stskeeps 1d41fae3ca - Fixed /shun showing "1970" to permanently shunned users
- Fixed ./Config showing freebsd 3.0 in freebsd 4
2000-06-17 11:51:34 +00:00
stskeeps a31694c45a - Made /addline write to correct place when you use -f
- Made /zline not memory corrupt/crash, bad df bug
- Fixed a counting bug with unknown connections, very hopefully
- Fixed /htm giving wrong response when /htm to 1
2000-06-17 10:51:35 +00:00
drbin bb015165bc added ircsprintf.h to #include so that DEBUGMODE works !!! 2000-06-16 20:15:44 +00:00
drbin da53d2f0bf Added DEBUGMODE support in ircsprintf.h 2000-06-16 20:08:11 +00:00
drbin a80e94f246 Added DEBUG=1 support in win32 makefile 2000-06-16 19:40:18 +00:00
stskeeps a34dd526f2 - Added config.h setting to disable oper overrides, NO_OPEROVERRIDE 2000-06-16 17:08:10 +00:00
stskeeps 38a9332ce1 - Fixed a +L bug, (3.1 only) where any op could set +L
- Added channel mode +u, "Auditorium". Makes /names and /who #channel only
  show @'s
2000-06-16 17:07:21 +00:00
codemastr 956939e79b made perm TKLs allowed by using 0 as the time 2000-06-15 22:39:14 +00:00
drbin 227a0375e7 Updating to include aln.c 2000-06-15 20:43:36 +00:00
drbin 8afe521a85 *** empty log message *** 2000-06-15 20:06:50 +00:00
drbin a1e3d57d9e Fixed /Shun and /Gline Conflict .... (= != ==) 2000-06-15 20:01:09 +00:00
stskeeps c3dcf78497 Some bashing 2000-06-15 10:22:38 +00:00
stskeeps 3edeb401a7 Allow /shunned users to use /pong now 2000-06-14 17:25:42 +00:00
stskeeps f267677ce5 Poll() stuff 2000-06-11 13:05:36 +00:00
stskeeps c3773ecd9f - /shun accepts nick in add mode now (adds *@host) 2000-06-10 13:52:42 +00:00
stskeeps 51f84140fc - /close doesnt reveal realhost anymore 2000-06-10 13:39:43 +00:00
stskeeps b88cec9d5f bah 2000-06-10 10:45:01 +00:00
stskeeps e6b7e409ce . 2000-06-07 20:09:46 +00:00
stskeeps 422dbf746f - Made all ircops able to use +F (totally this time)
kd
2000-06-07 19:30:41 +00:00
stskeeps 7e3d2d8ea7 Made all IRCops able to use +F 2000-06-07 14:14:49 +00:00
stskeeps 12d99c8026 - Fixed the double +cF notice on local connections exiting, ugly hack
- Removed the last traces of unix sockets, flag 0x10 free now
2000-06-06 20:01:17 +00:00
stskeeps a75432c9ca In ./Config it runs a test program saying how many socket()s you can open 2000-06-06 12:48:10 +00:00
stskeeps bc87b99853 Small testing stuff 2000-06-06 12:39:08 +00:00
stskeeps c2d9acd82e sendto_serv_butone_token_opt 2000-06-04 14:51:38 +00:00
stskeeps afcea0d1ec Fixed the NickServ sets mode +creep SVS2MODE bug 2000-06-04 12:24:20 +00:00
stskeeps 0a2e7468d0 - Fixed a crash problem in register_user and most likely fixed the "strange
vhost" thing, (was a dumb bug, mising ircsprintf)
2000-06-04 09:14:48 +00:00
stskeeps d725dd805d . 2000-06-03 20:31:29 +00:00
stskeeps c8ac2db9f8 .. 2000-06-03 20:25:52 +00:00
stskeeps f1b988d04b Bah! 2000-06-03 20:23:12 +00:00
stskeeps e24344bde1 .. 2000-06-03 20:20:58 +00:00
stskeeps 565266a205 Access list stuff 2000-06-03 20:13:13 +00:00
stskeeps d76006aea2 .. 2000-06-03 20:11:50 +00:00
stskeeps 36b89e78bc . 2000-06-03 19:42:49 +00:00
stskeeps 4c499f8417 Test.. 2000-06-03 19:37:00 +00:00
stskeeps 989a5462d8 .. 2000-06-03 16:38:07 +00:00
stskeeps 4ffba555f3 Took out sequent/dynix support 2000-06-02 18:48:00 +00:00
stskeeps 34d0a3591d Test .. 2000-06-02 14:59:48 +00:00
stskeeps 01a0cbe628 !¤¤%!%1 2000-06-02 11:43:09 +00:00
stskeeps f2a31c5e21 possible res fix 2000-06-02 11:28:26 +00:00
stskeeps 7a78d5afff .. 2000-06-02 11:25:43 +00:00
stskeeps c2d59695ed Took out nick did a userhost on you and minimized hash table size so it went
0.6% memory down.adjust hash.h U_MAX if that is needed for performance
2000-06-02 11:25:00 +00:00
stskeeps 546af36469 - /stats s is now avail only for opers in mainstream 2000-06-02 10:48:49 +00:00
stskeeps b7b6e232ce .. 2000-06-01 20:51:05 +00:00
stskeeps b7d9439bdc - NETINFO protocol 0 is accepted as valid protocool (for services etc) 2000-06-01 14:20:57 +00:00
stskeeps a1cc97be8d Various fixes, and versioned up to RC1 2000-05-31 13:51:32 +00:00
stskeeps 0b3d4164fe - Made SVSO (ofcourse) IRCstats.operators--;
- Another IRCstats.unknown fix. Hope this works (hacked from undernet code)
2000-05-31 13:43:17 +00:00
stskeeps d7231c1801 Made /close reset IRCstats.unknown 2000-05-31 13:10:28 +00:00
codemastr 017bd482f1 *** empty log message *** 2000-05-30 21:46:13 +00:00
stskeeps c763583d33 First patch of ZIP_LINKS 2000-05-30 19:58:50 +00:00
stskeeps 48f9384a82 First part of 2000-05-30 19:58:27 +00:00
codemastr 2f8f56c191 *** empty log message *** 2000-05-29 19:21:03 +00:00
codemastr c53039ed41 *** empty log message *** 2000-05-29 15:48:45 +00:00
stskeeps adced2cf58 Made MODE_X and the family show mode changes, and made STRIPBADWORDS
standard
2000-05-29 15:09:01 +00:00
stskeeps 4dc224d3ff - A little anti-0 fix in channel.c 2000-05-29 14:47:54 +00:00
stskeeps c66be9025d Removed bsdinstall, isnt needed 2000-05-29 10:23:27 +00:00
stskeeps 588614da96 Removed a CVS_ID from whowas.c 2000-05-29 10:22:15 +00:00
stskeeps a59c66fd49 Added /shun 2000-05-29 10:17:13 +00:00
stskeeps 651ec98abc Fixed codemastr fucking up "ircd" 2000-05-29 07:25:26 +00:00
codemastr 59337acc04 fixed /stats C not showing N:lines 2000-05-28 21:53:09 +00:00
stskeeps 769f767b05 A compile fix.. 2000-05-28 17:35:42 +00:00
stskeeps 19a1e80ba8 Did a hack on ALN 2000-05-28 17:32:31 +00:00
stskeeps 58d92222ae Fixes in Unreal.nfo 2000-05-28 16:06:54 +00:00
stskeeps 5b22717119 Made the Own-protection just reduce the class maxli instead of bitching..
(class.c, s_user.c)
2000-05-28 16:03:08 +00:00
stskeeps 1f747eb73a Added rapta to beta tester credits 2000-05-28 15:49:29 +00:00
stskeeps 4f33019ee9 test of new cvs 2000-05-28 14:30:38 +00:00
cmunk 36e9700f16 Some win32 fixes done by Drbin 2000-05-28 09:01:26 +00:00
cvs2hg 843b580a40 fixup commit for branch 'devel' 2000-05-28 08:56:23 +00:00
cmunk 5d21b18d82 ... 2000-05-28 08:56:21 +00:00
cmunk 0d30ef8540 Import of Unreal3.1-beta3 2000-05-28 08:55:44 +00:00
cvs2hg e33b064e3d fixup commit for branch 'beta' 2000-05-28 08:48:51 +00:00
cmunk ef4e2489ce Addition of Unreal3.1-beta3 2000-05-28 08:45:09 +00:00
cvs2hg df5beefe8d fixup commit for branch 'beta' 2000-02-28 22:45:48 +00:00
cvs2hg e392d4f078 fixup commit for branch 'stable' 2000-02-28 22:45:47 +00:00
cmunk f110f47e65 Import of Unreal3.0 (STABLE) 2000-02-28 22:45:44 +00:00
335 changed files with 97604 additions and 897 deletions
+19
View File
@@ -0,0 +1,19 @@
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _ | | | | | / | | / _ |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Configuration Program
for Unreal3.2-Selene(beta2)
This program will help you to compile your IRC server, and ask you
questions regarding the compile-time settings of it during the process.
regarding the setup of it, during the process.
If you have problems regarding the setup & compile, read Unreal.nfo to get
more information on where to get help. Please, before running this setup,
read the documentation in the "doc" folder.
+35
View File
@@ -0,0 +1,35 @@
Configuration rant, by Stskeeps
--------------------------------
Right.. so you think you are done now, you can boot your IRCd and be happy,
and it just works. No, you still got a lot to do. You need to read all of
the documentation through. Would you even have made it this far without
makeconf?.
Well, today, people think they can be 3 months on IRC, and be ready to run
an IRC daemon. I hate to say this, but I don't think so.
If you cannot read an IRC help file, or understand what stuff like "desynch",
"masskill", "k-line", or what "mode # +l 5" means - or you got no experince
in the UNIX field at all, like, you MUST know how to invoke a editor in a
shell, or to unzip a file. If you don't know/can do these things, I suggest
you stop trying to set this up, and go read on some UNIX tutorials, and IRC
tutorials. It takes a LOT of work to run a IRC server good.
I mean. I sit on the #unreal-support support channel each day, and I see
countless questions about stuff that IS IN the documentation. Numerous
people don't even bother to look at the config files (CONFIG_FILE_STOP
problem).
You need to look at the documentation now. You need to see how to "include"
other configuration files. You need to know how to work out how to use
doc/example.settings. I can only tell you, if you ask for support, and it
is for errors that you could solve by reading the first lines of a document,
then you'll be firmly ignored. I'm sorry, we cannot help your laziness.
Anyhow, good luck with setting this up. Hope you understand what I am saying
here. You will learn a lot more reading, than just ignoring what we are
saying.
--Stskeeps
+8
View File
@@ -0,0 +1,8 @@
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
| UnrealIRCD Custom Create Network Configuration|
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
| |
| This will not be too hard, just follow the |
| instructions, and answer the questions... |
| |
|=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=|
+86
View File
@@ -0,0 +1,86 @@
Unreal3.2-Selene (BETA4) RELEASE NOTES
======================================
I M P O R T A N T R E A D I N G
* 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
a new configuration format that integrates all the former config files,
ircd.conf, vhost.conf, chrestrict.conf, unrealircd.conf, into to one new
unrealircd.conf (what the ircd.conf is called now). See doc/ for more
information on the configuration format
* We have introduced a new cloaking algoritm (+x), which makes it
incompatible with Unreal3.1.1 - these can however still link, but the
hostname will look different. This is made of three big numbers,
configured in the config file - and these MUST be the same on all servers
on the network. Keep these numbers secret, and the cloaking algorithm is
uncrackable (within 55 years, that is)
* We use autoconf to help with compiliation, and this should make us able
to a lot more platform (we have even ported to BeOS).
* We require a pthreads library for the SOCKS scan now - and this is now
done in the background (no more waiting!).
* The IRCd is now modularized, and you load modules with the loadmodule
command. You will most likely want to add these lines:
loadmodule "src/modules/commands.so";
loadmodule "src/modules/scan.so";
loadmodule "src/modules/scan_socks.so";
loadmodule "src/modules/scan_http.so";
If you would like to code a module, doc/ will contain a module guide,
and we got an example module in src/modules/m_dummy.c.
* We have some IPv6 support, and there are some minor bugs in it.
* The documentation is NOT yet 100% complete
* We have added snomask (similar to ircu), basically this allowed us to remove several modes. Modes +cfFkje
are gone, but don't worry, you can still use them. They are now added like this:
/mode yournick +s +cF
You set the flags in the second parameter of the mode command for a mode change +s, setting -s with no
parameters removes all your snomask. You can remove a specific snomask by doing:
/mode yournick -s -c
The current snomasks are:
c - local connects
F - far connects
f - flood notices
k - kill notices
e - 'eyes' notices
j - 'junk' notices
v - vhost notices
G - gline/shun notices
It shouldn't be too hard to figure out, just play around with it a bit :)
* /who needs testing it was recoded and may contain bugs
* We have added alias {} which allows you to dynamically create commands such as /nickserv
Read example.conf for more information on how to create your own. To use standard ones include
one of the following files
aliases/ircservices.conf (IRCServices, Daylight)
aliases/epona.conf (Epona)
aliases/generic.conf (Magick, Sirius, Wrecked)
aliases/operstats.conf (OperStats)
aliases/genericstats.conf (GeoStats, NeoStats)
* You can now use an IP in the oper::from and vhost::from fields even if the host resolves
* Added an http proxy scanner (scan_http.so)
* 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
ADDRESSES:
* coders@lists.unrealircd.org and bugs@lists.unrealircd.org
+20
View File
@@ -0,0 +1,20 @@
|-------------------------------------------------------------------------|
| Congratulations on your new SSL self-signed certificate for your IRCd. |
| However, wouldn't it be better that you get your certifcate signed by |
| 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 |
| 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 |
---------------------------------------------------------------------------
+17
View File
@@ -0,0 +1,17 @@
_ _ _ ___________ _____ _
| | | | | |_ _| ___ \/ __ \ | |
| | | |_ __ _ __ ___ __ _| | | | | |_/ /| / \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | | / | | / _` |
| |_| | | | | | | __/ (_| | |_| |_| |\ \ | \__/\ (_| |
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
Update Script v2.0
What download program do you want to use?
-----------------------------------------
Type "wget" for wget
Type "lynx" for lynx
>
+77
View File
@@ -0,0 +1,77 @@
#
# UnrealIRCd Bug Reporting Script
# Copyright (c) 2001, The UnrealIRCd Team
# All rights reserved
#
# Redistribution and use in source and binary forms, with or without modification, are permitted
# provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this list of conditions
# and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, this list of conditions
# and the following disclaimer in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of the The UnrealIRCd Team nor the names of its contributors may be used
# to endorse or promote products derived from this software without specific prior written permission.
# * The source code may not be redistributed for a fee or in closed source
# programs, without expressed oral consent by the UnrealIRCd Team, however
# for operating systems where binary distribution is required, if URL
# is passed with the package to get the full source
# * No warranty is given unless stated so by the The UnrealIRCd Team
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
# FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# First we define some nice settings and some nice functions
set print pretty on
# dumplist <linked list> <structure format>
define dumplist
echo Dumping linked list $arg0 in format $arg1\n
set $p = $arg0
while $p
print *($arg1 *) $p
set $p = $p->next
end
end
# dumparray <name> <size>
define dumparray
echo Dumping array $arg0 size $arg1\n
set $p = 0
while $p < $arg1
if $arg0[$p]
print *$arg0[$p]
end
set $p = $p + 1
end
end
echo Full backtrace:\n
echo ---------------\n
echo \n
bt full
echo \n
echo Backup parse() buffer:\n
echo ----------------------\n
echo \n
print backupbuf
echo \n
echo me output:\n
echo ----------------------\n
print me
echo \n
echo IRCstats:\n
echo ----------------------\n
print IRCstats
echo \n
echo Modules:\n
echo ----------------------\n
dumparray Modules 50
quit
+6
View File
@@ -0,0 +1,6 @@
ircdcron/ircd.cron
ircdcron/ircdchk
src/modules/Makefile
src/ssl.rnd
src/win32/devel/StackTrace.lib
src/win32/gnu_regex.lib
Vendored
+52
View File
@@ -0,0 +1,52 @@
--leave-preprocessor-space
--dont-break-procedure-type
--no-space-after-function-call-names
--brace-indent0
--indent-level8
-ip8
--dont-line-up-parentheses
--continuation-indentation4
--case-indentation2
--no-space-after-casts
--blank-lines-after-procedures
--no-blank-lines-after-declarations
--braces-on-struct-decl-line
--paren-indentation0
--case-brace-indentation0
--line-length80
--declaration-indentation5
-T size_t
-T aClass
-T TS
-T aClient
-T aServer
-T anUser
-T aChannel
-T Mode
-T aConfItem
-T aMessage
-T aMessageTree
-T aGline
-T aListingArgs
-T snomask_t
-T n_short
-T n_long
-T n_time
-T u_char
-T u_short
-T u_long
-T u_int
-T dbuf
-T dbufbuf
-T aHashEntry
-T Link
-T Dlink
-T VOIDSIG
-T aHostent
-T ResRQ
-T aCache
-T CacheTable
-T cainfo
-T reinfo
-T RETSIGTYPE
-T OPT_TYPE
+2
View File
@@ -0,0 +1,2 @@
List of helpers in the alpha/beta phase:
* Headbang, Alpha/beta tester
+993
View File
@@ -0,0 +1,993 @@
/*
* UnrealIRCd Changes File - (C) Carsten Munk 1999-2000 &
* The UnrealIRCd Team
*
* $Id$
*
* 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.
*
*/
[ Unreal3.2-Selene ]
- Fixed a _serious_ bug in SERVER command, reported by Valen, Forrester,
M0rpheus, JK, and Hiten.
- Fixed /botserv problem
- Fixed permission problem with SSL .pem files (was o+r)
- Removed a redundant time.h include reported by trippin
- Modified rehash flags to use strnicmp rather than match (faster)
- Fixed some points of confusion of possible cptr->passwd bug in
m_server_estab, reported and fixed by Kanzen_Greiver
- Fixed some more points of ->passwd bugs
- Added in devdev's INSTALL replacement
- Made it so you don't get a +W notice if you /who or /whois yourself reported by Ron885
- You can no longer specify an *@unrealircd.com/org, or unreal-*@lists.sourceforge.net email
as your KLINE_ADDRESS (the "Why am I K:lined?" messages got too annoying)
- Removed some irc.flirt.org references.
- Made it so if a channel is +O or +A and you are not +O or +A and not in the channel, you can not
/topic #channel same for +b if not +o or on the channel. Suggested by Sysop_Mars
- Fixed a bug where you would receive a double notice when someone does a /who 0 o
- Added first part of the new config parser, s_conf2.c
- Added the next part of the new config parser, and some even more
- Fixed a missing : on numeric 379 found by script0r
- Added some a bit functional _conf_class code
- Some more _conf_class code
- Typing /stats or /stats invalid-flag will return a list of valid flags
- You no longer receive a /stats +e notice when no flag is specified, or an invalid flag is specified
- Some more newconf code, and some more
- Added drpass (X:line) to the config code
- Some more config2 code
- Removed parser builtin directive include, and replaced it with our own
- The config2 now uses strerror() to display an error, rather than the numeric
- Fixed s_user.c so umode N and T cannot coexist
- Added tld (T:line) to the config code
- Finished _conf_oper
- A report_configuration code (showoff)
- Finished _conf_listen
- Finished _conf_allow
- Added TODO in top of s_conf2.c
- Fixed a bug reported by S7 that affected chg* and set* as well as sdesc
- Started work on the except parser
- Wierdoe parse things
- Made except parser use a specialized _configflag_except instead of wasting
a byte.
- Changed version to "Unreal3.2-Selene" (Selene = female character in a
comic mag i found at my grandmas :P)
- Finished _conf_vhost
- Made _conf_listen understand listen <port> {}
- Finished _conf_link
- Added some _conf_link validity and added ->class option (forgot it)
- Made ircd.c use the newconf with me.* setup. Uses the first and the best
as listener
- Finished _conf_ban (try and attack us now idiots!)
- Made "No response from", use GLOBOPS instead of GNOTICE.
Fixes TODO Bugfixes Thu Dec 14 2000 Priority 10 added by Stskeeps
- Fixed telnet close server thing, fixes Wed 20 Dec 2000 priority 9,
added by codemastr
- Fixed /whois shows what channels +S are in.
Closes stskeeps/Dec30-2000-10-Bugfixes =======
- Fixed a STATS_ONLYOPER bug
- Fixed a ircd.tune bug (the file may not write if it didn't exist)
- Fixed a serious bug reported by Kanzen_Griever
- Merged in sts-laptop branch
- Made /admin use the new config (had to modify some newconf stuff to make a backwards copy
of the list as well)
- Made U:lines loaded from the newconf, also made /stats U read the U:lines from the newconf
- Added listen {} runtime-configuration code work :))
- Removed unrealircd.conf from the stock
- X:line was replaced with drpass {} in /restart and /die (will make them faster as well)
- Made +u do a auditorium/star chat feature, suggested by |Martin|=======
- Fixed a G:line bug that would allow certain masks to be interpreted as *@*
- Fixed the same bug in shun that affected G:line
- Made +f faster by replacing 2 strchr()s and a strrchr() with a if () inside an existing loop
- Fixed a +f bug reported by Enstyne
- Fixed a SVSMODE/SVS2MODE bug that could cause an incorrect +i and +o count, reported by CaliMonk
- Fixed another SVS2MODE bug that would make it send an empty MODE change
- Removed the old chmode +x = +c and +I = +V support (3.x use +cV and 2.1.7 is obsolete)
- Implimented except socks {} and tld {}
- Removed the old read_tlines code and made /stats t show tld {} blocks
- Fixed bug with /whois showing +S user channels (ChanServ)
- Made /mode (umode change) only send 1 unknown mode msg, forgot who suggested this one
- Made /rehash -motd/rules use tld {}
- Heavily recoded /rehash (removed a ton of coding)
- Updated match() to have some optimizations from bahamut
- +GScm now affect /part msgs (requested by SegFault and others)
- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline,
removing a lot of my_name_for_link crap, indented s_serv.c
- Recoded m_server(YES!) -stskeeps
- Fixed a +S bug reported by script0r
- Fixed a #undef USE_SSL problem found by codemastr.. caused by
Sts(TM)coding
- Added set {} (unrealircd.conf/network file replacement)
- Made vhost {} use from {} for hosts
- Fixed some stskeeps-drunk-coding stuff in m_server
- Fixed a typo "receive" not "recieve"
- Made SVSNICK check if a nick is valid
- Made get_sendq be a macro
- Added find_ban, AllowClient() (old attach_Iline)
- Temporary disabled /svsnoop, /akill, /sqline /unsqline, /kline, /unkline
/zline, /rakill, /unzline and /svso
- chkconf is not being built anymore
- Ripped out s_conf.c with the roots.
- Ripped out add_listener
- Disabled a lot of stuff that needs to adapt to conf2
- Made allow {} work
- Changed allow {} to do user@host instead of user item
- Took out my_name_for_link
- Temporary disabled D:d lines/SQLines/Qlines
- Fixed some /connect stuff
- Disabled rehash temporary
- Made ban user/ban realname work (s_unreal.c needs to be modified)
- Added Zogg to credits
- NOTE: Unreal-devel is handicapped right now, code in progress, do not use
- Did a little speed up on Find_ban
- Made /setname and /chgname use ban realname {}
- Made /oper work with newconf (come get us now bastards!)
- Made +c show class names in connect
- Fixed a minor problem with ban {} and oper {}
- Made ban nick {} work
- Added the first (sorta) working version of the config converter
- updconf now makes use of from {} in oper {} to eliminate duplicate O:lines
- Made allow {} passwords work (AllowClient) - TODO: I:line encryptions
- Made allow { maxperip }; work, the old ONE password thing, just better
- Added a hack to updconf so ONE sets maxperip to 1 and made another hack
-I IPMASK:HOSTMASK:IPs,... to allow you to specify an ipmax. ex.
-I *@205.188.*:*@*.aol.com:10,*@*:*@*:100 that will allow 10 on your aol.com allow,
and 100 on your *@* allow
- /vhost uses newconf
- Removed old vhost.conf code
- Fixed check_pings (check_kills) code, so G:lines & ban nick/ip/realname
works again
- /connect works now :), TODO: D:d lines, V:line needs fixing, badly
says "Unknown location" atm on uplink
- Took out MyMalloc & co, direct to malloc/realloc/free now. Crashed in
DEBUGMODE
- Added ConfigItem_link->ipnum
- Fixed a compile bug with DEBUGMODE
- Changed a load of old aConfItem crap .., FIX: ConfigItem_link->options
- Fixed a /connect bug
- Made /svsnoop "work" again, moved it to s_svs.c (and made that file too)
- Made /svso work again, moved it to same place as svsnoop.
- Made /rakill and /akill work again :). Added banflag.type2
FIX: *@* detection
- Fixed a check_pings problem with usernames
- ban ip {} works 100% now
- Made /stats C work and /stats H. Intregrated into one.
- Made /zline, /unzline work.
- Added CONF_BAN_TYPE_TEMPORARY
- Fixed a ban ip {} bug in check_pings
- Removed some waste of oldconf
- Moved advanced_check to s_svs.c
- Made /kline work again, with newconf
- Made /trace work again properly with class names
- Made /sqline /unsqline work again.
- Made SQLINE synching work with newconf
- Fixed a little problem with SERVER servername :info crashing the ircd
Long live the Floridan way of counting
- ban server {} works the original way it was intended to now
- Classes keep reference counts now, and moving classes (oper) works good
too.
- Added /trace class search results (class->clients)
- Fixed some protocol error in server_synch
- Made listener code work good ..
- Made reference counts work again
- Started some rehash work
- Made full class work on servers too
- Fixed a refcount bug
- Fixed a spread server bug
- Some more rehash stuff
- Fixed check_pings problem (crash)
- Fixed negative timestamps problem (crash)
- Fixed a problem with cptr->class counting for servers
- Made a bunch of /stats flags work with newconf
- Added some MALLOCD (mini debug malloc by stskeeps..)
- Removed some C++ comments
- Made close_listeners work correctly again
- Removed some old check_* mammut code
- Fixed a bunch of possible bugs in newconf
- Added sendto_realops logging of config errors
- Made /rehash work .. sortof. Fixed some crash bugs
- Added /stats P on listener info (oper-only)
- listener temporary stuff works now
- Fixed temporary stuf with conf_link
- Fixed a problem with +x
- Made CPATH be unrealircd.conf and init_conf2 use configfile instead
- Disabled calls to dynconf
- Added validate_conf, added dynconf checking, me, admin, class, oper
testing
- Added config_progress() Fixed temporary stuff
with conf_link
- Made tld {} get rehashed
- Made listen/allow get validated
- Finished up validate_conf()
- Made badwords be in newconf (you can now specify a replace word for each word)
- Made vhosts and badwords rehash
- Fixed a bug in the rehash code
- Made it so set::auto-join and set::oper-auto-join can be excluded to mean no auto join
- Changed prefix_quit to prefix-quit (all others use - not _)
- Fixed a minor bug causing a mode without any flags to be sent
- Finished up deny dcc {}.
TODOs: dcc_del_wild_match doesn't work. dcc_wipe_services() either
- Made deny_dcc get rehashed
- Made it so the IRCd can survive with certain set {} errors (uses defaults)
- stats-server and services-server are no longer required (missing = disabled services aliases)
- socks set {} options are now optional. Defaults are used if missing
- If an invalid ban or except is found, it is removed
- Some small SSL fixes ..
- Added a notice on connect for SSL users with key length
- Fixed a /kline and /unkline buffer overflow, reported by [-Th3Dud3-]
- Fixed a crash in /stats k regarding temporary K:lines
- Fixed a missing " in validate_conf
- Replaced a few strlen()s with sizeof(), should make the IRCd start a bit faster
- Fixed a svsmotd bug (from 3.1) prevented adding lines to the svsmotd
- Recoded some dynamic motd stuff. Now uses 1 function.
- Removed an unused var from the old T:line code
- Removed a redundant check in SVSKILL
- Removed some old code from LUSERS (it was moved due to IRCStats but some leftovers remained)
- Added deny channel { channel "channelmask"; reason "why"; }; and
allow channel { channel "channelmask"; };. Replaces chrestrict
- Made those above get rehashed
- Killed ircdupstr and called it ircstrdup
- Made link { options { work OK again. Had a dead loop as well
- Made autoconnect work again :>. Changes in behavouir: It connects more at
a time now. You need autoconnect flag in options.
- Minor OpenBSD support cleanup
- bsd.c, channel.c, s_svs.c, s_unreal.c, s_kline.c, and s_extra.c now use ANSI
standards for naming function params
- Made connfreq unable to less than 10
- Added deny link { mask "servermask"; rule "connectionrule"; type all/auto; }; (equivilant of D/dlines)
- Made admin {} get rehashed
- Got /stats x to work again
- Recoded check_pings, with bits used from bahamut-ircd/hybrid-ircd, credits
to lucas.
- Removed return_servers() and made servers be called Servers, and be a
global variable. Done on request on Great Master codemastr.
- Made crule.c use the server list rather than the whole client list for checking (faster)
- Sped up some channel stuff a lot using a bahamut type user search
- Added CommandHash optimation .. this is not done 100% yet. uses msgtab as
reference
- Removed msgtab part of parse, removed the bigass hashtable msgtab,
removed inittoken, made command initalization happen in init_CommandHash
- Adapted /stats M to it. Removed /helpop ?commands temporary. Confirming
hashtable works.
- Fixed windows CRLF problem in conf2, reported by Zogg
- Added Member and Membership and made the IRCd support this. Using
"freelinks", todo: garbage collection
- Added find_member_link and find_membership_link. Made Floodopt only
get allocated for local users. Removed aFloodOpt in Link,
- Made a speedup in is_halfop (dumb code)
- Somehow is_halfop and co got called when a server set a mode .., added
IsServer check (auto-return 1)
- Fixed the 9-month old win32 DNS bug, caused by Stskeeps's incidential
delete. Found by Zogg and CVSweb
- Made autoconnect msgs only go to +os
- Made DNS cache list show a notice to other ops
- Made /stats C show flags correctly
- Added deny version {}
- Made deny link {} rehash
- Removed class.c, from the old conf
- Removed dynconf.c, from the old dynconf
- Fixed a deny version {} bug (oops)
- Fixed a config_load win32 problem, found by Zogg, fixed by Stskeeps/codemastr
- Overwrote s_conf.c with s_conf2.c, and removed s_conf2.c. Viva la Conf2!
- Added /stats I, Y, b, d, D, v
- /who now got its right behavoiur regarding masks, bug found by Zogg
(acptr is not cptr)
- Made set::modes-on-connect work :) (strip out MODE_X and stuff plz?)
- Moved dynconf stuff from s_svs.c to s_conf.c, on popular request
- Made NAME_SERVER (set::dns::nameserver work). The IRCd no longer
uses /etc/resolv.conf as reference.
- Updated most of /stats S for newconf
- You can now specify oper flags using the old method:
(new method) flags { flags here }; (old method) flags flags_here;
- Removed a lot of vars and stuff from the old config, also made some cleanups to reduce source size
- Made del_Command().
- Rewrote makeconf and makenet to use newconf (added some new features to makeconf as well)
- Made MembershipL->flood get bzero on out delegation
- Removed stskeeps's lazy add_CommandX (tm) code
- Made IRCd not crash on /kick from servers
- Fixed a typo in makeconf
- Made /whois not return channels for services
- Made makeconf use "ban nick" instead of "ban nickname"
- Fixed ssl_client_handshake bug reported by IpAddress
- Made ./Setup not do dynamic configuration any more
- Changed reference in Setup from ircd.conf to unrealircd.conf (cosmetic)
- Changed output of updconf from ircd.conf.new to unrealircd.conf.new
- Changed the output of makeconf from ircd.conf to unrealircd.conf
- Renamed hostmask to hostname like it should be in makeconf - IpAddress
- Added "get_host" old 'H' O:flag
- Added #define KILL_LOGGING, by otherguy
- Added /cycle #channels, suggested by ^loki^
- Added Modules, using dlopen() and LoadLibrary for *nix/win32.
- Added /module load <path.to.so>, /module status (list modules),
/module unload <modulename>
- Added loadmodule "filename.so"; and made the modules
unable to get loaded twice with same name.
- Reintroduced "fake lag". Flood algoritm works this way:
Make next check for parsing be
(1 + (length of command+parameters / 60)
- Started on commands.so making, works good atm -on req of codemastr,
both as m_module.so and commands.so :) - long live dynamiclinking
- Fixed bug with double module unloading, bug found by RaYmAn
- Win32 Changes
- Had to convert the connect messages back to strlen() because of a bug found by Bagge
working on a way to make it better though
- Added unknown connection flood protection (settable in config.h)
- Made chmode +z only settable by umode +z users or U:lines or services.
- Updated badwords.channel.conf and badwords.message.conf to use newconf (requires an include in
the config file)
- Made conf2 able to load empty files as well, with warnings
- Added module_sym("functionname"), for modules, like, sajoin might want to
do fp_m_join = module_sym("m_join");
- Put out m_chghost, m_sethost in modules, remade Makefile structure and
added src/modules
- Modified an old Unreal3.1.1 to be network file converter, and converted
all of the networks files to the new format.
- Fixed a bug with RAKILL and UNSQLINE not working
- Moved m_chgident to an .so
- Changed license of m_dummy.c (dummy module, skeleton), so people can do
closed source modules.
- Moved m_setname to a .so
- Started work on the new improved command hashing system
- Modified command hashing system to Sts's belief of how eggs should be
made. (quick, dirty and fcked up)
- Fixed a bunch of bugs in the command hash system caused by sts:
- You can't send numerics to servers
- Using ERR_NOPRIVLEDGES (says you aren't oper)
- Disabled commands allowed by unregistered users from registered users
- Removed networks/unrealircd.conf
- Implimented new logging system using log {} (if you leave it out it reverts to the old ircd.log)
- Added Hooks, only one working now is HOOKTYPE_LOCAL_QUIT
- Added log flag kline (accidentily forgot it)
- Added #define HOOKTYPE_LOCAL_NICKCHANGE
- Made MyMalloc be MyMallocEx in codemastr's log {} code. Fixes junk pointer
problem - discovered by sts/Morbid
- Removed the old /rehash flags, reported by Morbid
- Reverted Demigurus's select() speedup patch, did speedup, but it
also caused a good bit of CPU.
- Fixed a globops bug that required it to have a : found by ROXnet
- Removed KILL_LOGGING replaced by log {}, found by Morbid
- Removed PROTO() and general h.h/proto.h cleanups (made source 3.14K smaller)
- Implimented a system using chmod() at startup to try and keep the config file from being read
by people who shouldn't have access. (set through ./Config)
- Added oper::swhois idea by Robertsog (NOTE: since this is done before the mode change, a U:Line changing
the SWHOIS after you /oper will override this)
- Added a donation credit
- Reverted a change
- Fixed a double definition (double m_chghost and m_chghost.so)
- Moved /sdesc, /setident to modules.
- allow { } now supports encrypted passwords -Syzop
- Made static linking a little more possible
- Made /kick not core on users kicking servers. (WTF?)
- Fixed a problem with users opping servers.. Found by Morbid
- Fixed a problem with SDESC module token being wrong - Found by eternal
- If no oper flags are found, default to locop (suggested by devdev)
- Added tld::channel so you can make people join a channel based on hostmask
- Made it so a motd or rules loaded in 2 seperate tld {} is only read into memory once (may need debugging?)
- Fixed a bug where the IRCd didn't validate hosts specified in a vhost {}
- Added the ability to specify a username to spoof in a vhost {} instead of vhost "host.name";
you can vhost "user@host.name"; (suggested by IpAddress)
- Fixed a bug where you could use an infinitely large host in a vhost {} (now limited to HOSTLEN)
- Fixed improper old username being displayed reported by IpAddress
- Added M_NOLAG.
- Added new CRC32-hex-based IPv4 and hostname cloaking form
- Make users that send a forbidden file get auto blocked from sending other
files. sptr->flags & FLAGS_DCCBLOCKED.
- Readded timestamp to log, accidentily got removed
- Made it so /stats C doesn't show the user@host of servers to non-opers
- Possibly fixed the vhost crashing bug, with much help from IpAddress
- Found a way to do +x IPv4 cloaking right.
- Added set::cloak-keys { longvalue; longvalue; longvalue; }; for the cipher
- Fixed a NETINFO parameter problem - solves the new NETINFO format
- Made a little hack to newconf to allow varname=value; to try and keep it some what similar
to the new config files of other IRCds. NOTE: the = is completely optional, it is allowed
but not required
- # comments can be used anywhere in a line now (just like // comments) for compatibility with other
IRCds
- Added sajoin/sapart error message patch by NiQuiL (modified slightly by codemastr)
- Implimented IRCNet style server redirection, based on the hybrid-7 code. Some clients will connect
to the specified server automatically, others will require you to do it manually.
- Made /info use @unrealircd.com emails instead of @tspre.org
- Removed FNAME_OPERLOG and replaced it with log {} flag oper
- Removed OWNLOGON (did nothing?)
- Replaced FNAME_USERLOG with log {} flag connects (logs user connects and disconnects)
- added temporary define #define OLD_CLOAK
- Fixed up some codemastr(TM) coding regarding M_*
- Implimented a cloak fix based on code by Zogg (just used a #define ircabs rather than abs())
- Expanded the chmod() security fix to files added via include filename;
- Possible FD leak in ircd_log, caused by some codemastr coding(TM)
- #define HELP_WHO for the "did a /who 0 o"
- Added a new Win32 GUI does it work, no one knows
- Rewrote the ircd_log function a bit to fix the FD bug better, not sure wtf I was smoking
when I wrote the last one :P
- When IRCOps are breaking into chans with invite only (+i) or
key-protection (+k) a eyes-notice is sent like it is on banwalk. -NiQuiL
- Added unitedirc.network -NiQuiL
- Removed a , in NiQuiL's banwalk message
- Fixed DEBUGMODE problem, found by someone ..
- Don't know why but m_file.so was in the modules makefile, removed
- Added irc2.10.3's resolver. Fixes debian-woody-libresolv problems..
Still some fixes to be done
- More res.c fixes ..
- Final res.c fixes
- Added /rehash -all patch by NiQuiL
- res.c: fixed ircsprintf problems
- Fixed ircd_log to work in windows
- Removed __P, windows doesn't like it, and only old compilers need it
- Fixed a ban realname {} bug that _may_ have something to do with the negative user count bug
- Fixed do_dns_async problem with new res.c
- Removed doc/ADD-TO-IRCRC, doc/INSTALL, doc/Manual, doc/Operators,
doc/irc.1, doc/ircd.8, doc/server-compile-guide
- Made it so Invitewalk and Keywalk don't show for U:lines
- Fixed a cloak bug caused by stskeeps(tm) "not knowing how to use << and >> coding"
- Fixed some cloak bugs, and applied +x crypto to hostnames as well
- Changed some non-error messages in newconf from config_status to config_progress
- Added a way for newconf to report its errors in windows using a "Config Error" dialog
- Fixed the /stats Z bug reported by RaYmAn
- Added missing resource.h defineand missing +1 in MyMalloc of win_log reported by McSkaf
Seemed to work without the +1 but added it just to be safe.
- Fixed possible crash bug imposed by too many users per ip in AllowClient -found and fixed by McSkaf
- Made IP Mismatches getting sent to UMODE_JUNK instead
- Added method mod_load in dummy example and made it work. mod_load() is executed
when server is ready
- Fixed minor problem with mod_load code
- Fixed possible crash with /quote dns l
- Removed newdns
- Fixed a memory bug in win32 code found and fixed by McSkaf, and fixed a typo
- Fixed a win32 bug found by RaYmAn causing the tray icon not to be displayed sometimes
- Fixed a bunch of Win32 bugs reported and fixed by McSkaf
- Made the IRCd delete its tray icon in win32 on SIGSEGV
- Brought 005 up-to-date with spefication - added CHANMODES= support
- Applied res.c.patch from McSkaf, fixes win32 GPF, but fixed mising HE(ocp)
- Applied s_debug.c/config.h patch from McSkaf, makes DEBUGMODE under
win32 working again - fixed some errors in the unix part of it.
- Made the rehash button work in Win32
- Fixed up some CHANMODES= support and added WALLCHOPS support
- Added keyboard shortcuts to the win32 config and about popup menus
- Possible fixed a buggie in +f
- Fixed a bug causing Found your hostname (cached) to be displayed 2 times
- Fixed RTLD_NOW problem with openbsd
- Removed SJOIN/SJOIN2 support in SJOIN
- Fixed a +f bug, found by NiQuiL
- Applied McSkaf's winlocal.patch, seems to work ok, fixed some problems
though in unix/win32 (cptr->fd can be -3. Should fix some READ ERRORS as
well.
- Some Open(aaaaaaaaaaargh)BSD patches, most stubborn compiler i've ever
seen. gmtime warning still there
- Had to revert McSkaf's winlocal.patch, caused too many crashes. I believe
there is a better way to do this ..
- Added a new StripColors heavily based on the one from xchat by Peter Zelezny
- Fixed doc error in s_conf.c
- Made IPv6 compile atleast, and work. Current problems:
- Made you able to bind to specific IPv6 IPs (we don't have FFFF::*
functionality yet)
- Made a crazed out IPv6 cloaking
- Made chghost/chgident able to do :'s
- Finished up IPv6 - Kudos to bball/NiQuiL (shells), perian/bunda/larne
(testing)
- Made listen format able to do:
listen [ip]:port, for IPv6 - listen [3fff:ff::1]:6667
- Fixed some compilation error with IPv6
- Fixed-fixed listen format troubles, larne++
- Possible fixed some +d bug(s)
- Added doc/unrealircd.conf.txt (by devdev), doc/services-install-guide
(zyrol, edited a bit by stskeeps)
- Added richedit 1.0 support so Credits,License, etc show the bold and underline formats in win32
code by codemastr with help from McSkaf (still needs work to support reverse and color)
- Added code so the rich edit _should_ work with any version of the richedit dll
- Changed all TStime() to use timeofday - CPU SAVE
- Removed userload.c & userload.h
- Added McSkaf's patch for the richedit to be able to support reverse codes
- Fixed the problems with 100% cpu, hopefully
- Fixed the 100% cpu problem, again, HTM is screwed now though?
- Got /stats O working
- Made the topic for a +s channel hidden from non-members (reported by Bagge)
- Removed ce_vardatanum (wasted CPU and memory)
- Added code to make the config parser try and stay alive when an error is encountered
- Added events code and converted some stuff to events
- Converted htmcalc/lcf to events
- Fixed /stats L bug found by larne
- Fixed the loop, made htmcalc more clean
- Applied McSkaf's winlocal patch II, only changed Debug() and removed
DEBUGMODE from config.h. Still cores, but we might be closer to a
solution. Broken code, do not use devel right now
- Fixed to winlocal by McSkaf
- More fixes
- Made /die not show admins IP (fixed by Stskeeps after his users nuked him..)
- Added McSkaf's mIRC color parse patch
- More winlocal fixes, and a +f bugfix
- Added HOOKTYPE_LOCAL_CONNECT (aClient *)
- Fixed DEBUGMODE under win32
- Fixed /trace problem with slots (idea from ircu2.10.01+winnt)
- Fixed listener problem, reported by McSkaf
- Minor Win32 bug fix
- Fixed problem with addto_fdlist(cptr->fd) caused by slotpatch
- Fixed minor socksfd problem in read_message
- Fixed identd problem
- Commited McSkaf's tab patch for win32
- Possible fixed fdlist problem with default_fdlist
- Added some numeric checking in m_server*
- Made possible speedup of fdlist checking in s_bsd.c
- Updated makefile.win32 for events.c
- Added McSkaf's rehash patch
- Made the Status Dialog update its values every 5 seconds
- Made slot arrangement be different.
- Merged McSkaf's hostname patch, debug patch, s_misc patch
- Made validate_configuration check for !conf_listen
- Made newconf state unknown directives (found by Madkiss)
- Small s_socks.c bugfix possible causing indetectable socks
- Fixed /whois problem, maybe introduced some others?
- Removed send_out_svsmode, not in use and broken too
- Made Config say Unreal3.2
- Made a popup menu for the tray icon to contain the same 'buttons' as the GUI does
- Made Unreal run correctly on OpenBSD (thanks to PFAK for the shell)
- Fixed with bug with ircd not -r'ing users on nick switch
- Fixed the /stats C = crash if it is a leaf bug found by BaTmAn
- Added a patch by McSkaf to make Unreal reload its tray icon if explorer restarts
- Fixed a win32 bug found by eternal
- Fixed yet another win32 bug (I think I should test before I commit ;P)
- Changed how hooks work, making them support voidfuncs
- Added src/modules/scan.c and src/modules/scan_dummy.c
- Made militime() just as accurate on win32 as on linux
- Made match() a little bit faster
- Fixed codemastr's broken millitime patch (sys/timeb.h)
- Added scan_socks.c, added and moved some stuff to
include/modules/scan.h (the dir too)
- Converted threads to IRC*Thread by codemastr.
- Updated the win32 thread code (maybe it will work now?)
- One last final change for the win32 thread stuff, but at least it works now :)
- Added hooks to allow you to add config directives
- HOOKTYPE_CONFIG_UNKNOWN sent after config parsing, look in conf_unknown for all the
blocks the config parser didn't understand
- HOOKTYPE_REHASH sent when a rehash is being done
Note: if you parse a block in conf_unknown make sure to del_ConfigItem it from the list
or Unreal will return an unknown directive error for it.
- Fixed problem with u_int32_t servicesstamps, with SVSMODE and SVS2MODE,
found by Andrew Church
- Unknown ban * {}, except * {}, deny * {}, allow * {} are accessible to modules
- Fixed some scan_socks problems - this needs a good hand with
- Fixed up scan_dummy.c
- Fixed /quote sethost : and /quote setident : exploit, found by ac1d, fixed
by Griever
- Allowed capturing of unknown set {} variables by modules
- Minor src/Makefile screwup fix
- Added some pthread checking support
- Fixed double dependicies bug.. stupid dlsym
- Added /version using numeric 105 for remove clients to show protoctl (idea from hybrid)
- Added HOOKTYPE_PRE_LOCAL_CONNECT to allow banning before connection. If the module parsing
this hook returns >0 the register_user exits
- Removed src/agent.c (empty file)
- Removed src/userload.obj from the win32 makefile
- Added link::options::quarantine suggested by DumbFish
- Made blackhole.so work
- Fixed a set_non_blocking bug
- Fixed a codemastr screwup in quarantine code
- Removed the old SOCKS check code.
- Fixed a quarantine bug
- Added NETWORK= numeric 005 token for mIRC 5.91
- Fixed some scan-socks and blackhole fuckups
- Added ./configure, autoconf generated configure script, (still need to update ./Config)
- Config fixes, settings.h and Makefile.dist are now dead. RIP.
- Fixed a typo in configure
- Rewrote Config, it is now perfectly suited for an autoconf interface rather than a standalone config
- Minor fixes to Config, a license, etc
- Made changes to Config (removed a few unnecessary loops)
- Made CRYPTOIRCD get cached in config.cache
- Fixed generation of certs, moved from configure.in to Config
- Fixed lack of -lssl
- Fixed the keywalk bug reported by BaTmAn (?)
- Fixed a few configure problems with sunos and amiga
- Fixed an OpenBSD bug reported by perian
- Moved config/ to autoconf/
- Some fixes to configure.in that seemly got deleted?
- Some more configure.in fixes, and made ./Config -q & -quick (do not ask
questions, just run with data in config.settings)
- Some more more configure.in fixes, regarding -export-dynamic, and buffer
pools, and some illegal if test $var = othervar
- Fixed a configure.in error with IRCDLOBS
- Taking some more Config changes
- Some more INET6 fixes
- Made Unreal use FSU Pthreads if the pthreads on the system will show multiple copies of Unreal in ps
- Fixed a /rehash bug dealing with echoing to stderr
- Added MAXCONNECTIONS to configure
- Added a little utility to make converting an m_* command to a module easier
- Moved m_svsmode and m_svs2mode to m_svsmode.so and updated modulize a bit
- Moved m_swhois and m_svsmotd to modules
- Fixed a bug where configure would pick both -ldescrypt and -lcrypt
- Fixed /stats to work fully with newconf
- Added mod_depend checking, see scan_socks.c for example
- Added in Griever's SJOIN fix
- Made mod_depend a bit cleaner to use
- Removed some remnants of umode +b
- Added configure check for glob.h
- Added the ability to use file globs in loadmodule and include (only if your system has glob)
- Added ./Config option to enable IPv6 (and made a configure check to make sure we can)
- Fixed autoconf/Makefile screwup caused by codemastr
- Fixed a problem with IPv6 always enabled (could you check this fix, code?)
- Fixed a bug allowing channek keys to have spaces
- Cleaned up some thread porting code
- Added a new versioning system to allow easy tracking of bugs
- Made glob() use GLOB_LIMIT on OpenBSD 2.9 to help prevent a DoS
- Fixed makeconf
- Changed the way modules work. We're now at MOD_VERSION 2
- Changed ALL MODULES to version 2
- Commited the +k fix to +L
- Made version.c depend on ../Changes
- Made the ircd call mod_unload when it shuts down
- Made use of the new module_load parameter in mod_init, and made commands.so use mod_load
- Fixed a module bug where loading == unloading
- Moved blackhole into scan.c and removed blackhole.c, and fixed some
blackhole bugs.
- Updated thread porting code to support more functions
- Fixed a pthread_join
- Rewrote updconf a bit, should work flawlessly now (?)
- Made a minor message change to ./Setup
- Fixed some minor mod_load troubles, and made it go a little more sensible
regarding retarded rehashes
- Added some thread debugging, and fixed a SVS2MODE bug
- Fixed a major scan bug caused by stskeeps(TM) lazy-coding
- Hmm .. minor s_bsd.c read_message fix
- Some /info stuff, updated docs, .CHANGES.NEW, .RELEASENOTES
- /htm fix by Griever
- Fixed a bunch of warnings reported by Red Hat 7
- Random cosmetic fixes
- Updated the stats help list for newconf
- Removed include/userload.h (not used)
- Removed a few missed userload.h references
- Minor cosmetic fixes, and SVSNLINE (ban realname).
SVSNLINE + reason_why_moo :realname mask - Add global ban realname
('_' is converted into spaces)
SVSNLINE - :realname mask - Remove global ban realname
SVSNLINE * - Wipes all global ban realname
- Fixed FIXME dcc_deny_wipe_services
- Fixed some IsToken / sendto_serv_butone screwups - Stskeeps(TM) coding
- Actually added m_svsnline.c
- Removed a bunch of unused coding
- Win32 fixes
- Made a /scan fix, and fixed some version numbers found by Morbid
- Updated m_template.c to use module version 2
- Removed a // comment in src/ircd.c
- Fixed a bunch of updconf bugs reported by DarkSypher
- Fixed an SVSFLINE bug when removing an unknown dccdeny
- Made win32 compile and work ..
- Made scan_socks & scan work under win32. Only bug is a \1 IP in /quote scan (?)
- Added set { blackhole "insideip:port" { "outsideip"; }; }; (useful if
being behind firewall)
- Fixed a little scan.so bug
- Fixed so we compile without symbols in win32 ..
- Fixed some rant stuff
- Fixed a documentation bug in unrealircd.conf.txt, made config_error
actually bitch when loop.ircd_booted
- Made badword fix found by eternal/Jsmj
- Changed pthread process check to pthread_join on proposal and idea by
codemastr
- Some configure.in fixes to pthread stuff
- Added possiblity to add parameters to configure in Config
- Minor SJOIN fix ..
- Fixed a ban {} bug where temporary bans were not cleared on rehash
- Fixed a validate_conf problem found by Janos
- Fixed some minor invalid numeric stuff
- Fixed problem with MAXCONNECTIONS when no parameters given in ./configure
- Fixed some possible points of confusion with hash.c regarding unsigned int
& signed int
- Fixed u_intXX_t problem
- Removed the redefining stuff in s_conf.c
- Documentation (example.conf from Osiris)
- Documentation bug fix
- Changed version to -beta1
- Various preparitions for beta1
- Commited the web server prototype made by Stskeeps, web design by WildChild
- Ripped out the old DF watch system, using bahamut's now
- Fixed some CHINESE_NICK stuff
- Fixed an sdesc bug reported by Alzirr
- Fixed a little gcc 3.0 bug with Unreal
- Fixed *** nick has quit (no Days come, days go), by defaulting to "Quit: "
- Fixed -nexus.nexusirc.org- *** Notice -- Trying to send [:Alzirr WALLOPS
:test bug, found by Alzirr
- Fixed struct IN_ADDR problems on some OS'es
- Fixed some more gcc 3.0 problems and made FSU pthreads a bit easier to install
- Fixed some updconf bugs reported by Joe
- Fixed a bug where 'fake direction' messages were sent to non-ops reported by Janos
- Made it so unreal searches harder for SSL headers and libraries
- Fixed possible bug with allowing :'s in +k/+L ..
- Added a credit
- Fixed a typo in /stats and a /chatops bug found by Cas
- Made oper {} (and vhost {}) allow you to enter an IP even if your host resolves by request of Cas
- Added set::options:show-klines and set::options::show-tkl to make /stats G and /stats K oper only
- Added a patch by Zogg to fix a socks scanner problem
- Fixed a /sapart bug found by SubZero
- Minor bugfix in scan_socks, + some comments
- Fixed some flaws in httpd, that made it break unmercifully
- Added correct uptime to web interface
- Patched in zogg's scan_socks patch, second edition
- Added in Ossie's example.conf v2
- Major changes to the win32 editor
- Fixed a bug in the new editor, hopefully now it works flawlessly (?)
- Fixed a bug in the win32 status dialog causing it to get screwed up, found by Auspice
- Fixed a scan_socks problem under win32
- Added a 3d border to the color selector in the win32 editor
- Fixed a win32 bug dealing with the new RTF parser
- Fixed a scan_socks problem under win32
- Fixed a MOTD rehash bug found by fryo
- Made CR compatilbity actually work, it autojoins now :)
- Started updating network files (remove all the obsolete ones)
- Fixed SQLINE problem
- Added doc/coding-guidelines
- Readded header info to network files which was lost in the update
- Updated a few network files that managed to slip by the update process
- Updated networks/networks.ndx and alphabetized it and added all network files submitted in 3.2 format
(didn't feel like converting right now ;P)
- Win32 code cleanup
- Made my_itoa use _itoa on win32
- Implimented SVSMODE #channel -b nick to remove all matching bans against a nick, idea from bahamut
- Added SVSMODE #channel -b to remove all bans
- Added SVSMODE #channel -qaohv to remove all users of that respective level, and made all the # SVSMODE
flags work in SVS2MODE
- Made a bunch of config errors non fatal
- Added 2 more network files (yea, I'm slow)
- Fixed SQLINE bug, FINALLY. (forgot to set type ..oops..)
- Added more network files...
- Fixed a bug affecting /oper and /vhost caused by IP checking
- Added wildcard support to include and loadmodule in win32
- Added SVSMODE # -e to work just like -b
- Fixed SVSMODE compile error
- Added tgf's patches for these bugs:
* if you dont have a rules file and do "rehash -motd" then the server
segfaults.
* setgid has to be called before setuid... cos if you change to a non-priv
uid first then you are not allowed to setgid!
- Added more network files
- Fixed a possible restart/die bug
- Fixed a bug where /die didn't do anything on win32 reported by Gilou
- Fixed a bug where /restart didn't send out notices on win32
- Made /restart call mod_unload for all modules
- Fixed a typo in the win32 makefile
- Rewrote Addit, hopefully it fixes the SJOIN problems?
- Fixed fence post marker overwrite in /vhost, found and fixed by tgf
- Made the Win32 version report the actual OS to opers in /version rather than just say 'Win32'
- Removed some obsolete code
- Added set::oper-only-stats which allows you to set any/all stats as oper only (* = all). Code is kind of
ugly since some flags are case insensitive and C == H but it works and seems pretty fast.
- Added set::anti-spam-quit-message-time idea from hybrid7
- Made the config smarter, for yes/no options yes/true/on/1 = yes no/false/off/0 = no
- Made Unreal be able to recover from a bunch of config errors
- Added stats flag r to the stats help list
- Fixed bindip problem with it not being made
- Made even more config errors recoverable
- Added more network files
- Fixed some typos in s_conf.c
- Fixed a win32 bug where /restart didn't remove the tray icon, reported by PHANTOm and Gilou
- Fixed Osiris's example.conf
- Fixed IPv6 bindip error found by Madkiss
- Added log::maxsize, when this size is reached the log is cleared and started over again
- Fixed a codemastr-on-crack /version bug, and fixed some IPv6 stuff in
scan*
- Fixed some more IPv6 stuff in httpd
- Implimented snomask (similar to IRCu) and moved several usermodes to it
- Added a config check to detect what order we should specify the SSL libraries in
- Fixed bug with SSL, detected properly and fixed by Chawmp
- Fixed an oper-only-stats bug
- Updated some documentation to prepar for release
- Docs prepare
- Fixed a major snomask bug found by narf
- Using bahamut /who now, this needs some testing.
- HCN fix
- /who fix .. removed nick matching functionality..
- Fixed a SNOMASK problem found by Arantis
- Fixed a umode2 bug that crashed the server
- Fixed vhost bug that forgot to add a \0 in the end of the string
- /who fix
- Another /who fix, what crashed it I assume - helped by narf to find this
- Fixed a bug were operflag eyes didn't work
- /who fixes regarding +I +H and crap
- Preparation for beta2
- Fixed sts on crack win32 code
- Fixed a win2000 bug causing Unreal to crash on the credits dialog, thanks to llthangel and WildChild for
helping fix the bug
- Fixed a win32 bug that can cause unexpected crashes while using the editor
- Some httpd stuff and a #define CHROOTDIR problem found by Zhadum
- Added scan_http, scans on 80, 3128, 8080 in a threaded manner
- Fixed a /gline crash bug found by DemOnBaBy
- Http proxy scanner cleanup
- Added SOCKS5 detection based on code in Epona
- Cleaned up /mode a bit
- Cleaned up command parsing a bit (faster)
- Added config directive alias for services/bot aliases
- Fixed some credits, recoded httpd (still in progress)
- Disabled #undef PROPER_CORE
- Added alias {} to doc/example.conf
- Fixed a bug in alias {} found by RaYmAn
- Fixed another alias {} bug
- Added Bahamut usermode +R (only accept private messages from +r users)
- Moved FAILOPER_WARN define to set::options::fail-oper-warn
- Fixed an alias {} bug found by James-Bond
- Moved SHOWCONNECTINFO define to set::options::show-connect-info
- Added support for nested comments in the configuration file (by chasm)
- Added chasm to /info
- Started work on usermode +V (WebTV mode)
- Some aClient cleanups to reduce memory usage
- Made a bunch of messages check +V and if +V use PRIVMSG instead of NOTICE
- Cleaned up NOSPOOF code a bit
- Cleaned up /oper (a lot)
- Fixed a bug where the /oper recode broke oper host masking (found by James-Bond)
- Fixed something that could cause a possible bug in /oper ?
- log::maxsize can now be entered in the format 1MB, 1MegaByte, 1MByte, etc (KB,MB,GB,TB are the only sizes
recognized)
- Fixed a bug where log::maxsize would say it started a new log file if the log file didn't exist
- Converted /mkpasswd, /away, and /svsnoop to modules
- Added the ability to add aliases like /identify (complex, so see example.conf for samples)
- Added a bug reporting tool (still alpha)
- Removed some win32 debug code that was left, reported by TheEggMan
- Win32 cleanup
- Made except socks become except scan, and made it actually WORK, and some
bugreport fixes
- HTTPd VFS fixes
- Modified updconf to reflect the except socks -> except scan change
- Fixed a typo in the win32 makefile
- Made the config a bit more sturdy (would have done more, but got boring :P)
- Moved /svso and /svsnick to modules
- Updated the win32 makefile
- modulize documentation, some web server fixes, preparation for uabr
- Some more VFS/PHTML fixes, it actually works now, thanks to butter
- Fixed a IPv6 bindip problem
- Removed bsd.c and made socket.c, moving signal stuff to ircd.c, possible
fixing a IPv6 bug
- Made Inet_si2p (sin to presensation), fixing the "*", bug, some debugging
fixes, fixed a lot of IPv6 bugs, hopefully - thanks to JK for borrowing
his box
- Fixed a #undef INET6 bug
- Made Link denied error a little more descriptive
- Various coding regardign bugreport
- Made port default to 6667 when options autoconnect in link {}
- Made some changes to allow Unreal to compile on win32
- Fixed a scan.c bug on win32
- Made the http scanner work on win32
- Fixed a bug where /userhost would report oper status regardless of +H
- Added some stuff that should fix the bug in Windows when including files in other directories
- Added aliases/ which contains config files for aliases to some popular IRC services (more will be added)
- Made makeconf load scan_http.so
- Fixed a /who bug, found by IXpfah
- Updated makefile.win32 for all the new modules
- Added in Fish's patches
- Added bitching when you lack needed IRC commands
- Removed REMGLINE
- Fixed a typo in the win32 makefile
- Really removed remgline (since sts didn't really do it)
- Made changes so the new modules compile on win32
- Added headers to all the new modules
- Fixed a typo in config.h
- Final changes to prepare for beta3
- Fixed some bugreport stuff
- Fixed codemastr-on-crack bug regarding oflag
- Fixed a win32 bug where the http scanner didn't get loaded
- Hopefully fixed the weird Z:line bug on win32?
- Fixed the Z:line bug (caused by stskeeps-on-crack coding) reported by Power2All
- Removed the tokens for /users, /summon, and /samode (these never come from a server so they don't need
it)
- Added a utility to auto create version.c for win32. It's the worst coding I've ever done, but it works :P
- Added a hell lot of DNS debugging code, and fixed the BIGENDIAN problem
with resolver. Thanks to dawn and Trash.net for shell on a sparc
- Added umodes.c, long val = get_umode('c');
- Added new umode system to win32 makefile
- Made umode_delete(flag, mode);
- made the umodestring variable smaller to conserve memory
- Added M_RESETIDLE to fix a /privmsg bug
- Fixed a bug with nickserv passwords found and fixed by Mathieu
- Fixed a DEBUGMODE problem with umodes.c
- Fixed a snomask bug found by Rob
- Made the missing commands error a little more.. tardfriendly
- Preperation for beta4
- Made some nameser.h changes to work win win32
- Fixed a typo in makenet found by 'Eternal Bliss'
- Updated module dependancies to allow a module to load the module containing the symbol
- Fixed a win32 bug where the editor would cut off text, reported by Inter
- Added make install to copy files for you when you install unreal
- Replaced killircd, ircd, and rehash with ./unreal start|stop|rehash
- Fixed a bug where the win32 help dialog links were plain text
- IPv6 fixes to Inet_si2p & Inet_si2pB
- IPv6 fixes to make dual ipv4/ipv6 work
- IPv6 fixes for IP_OPTIONS (disables under IPv6, i mean .. IRC multicast.
WTF?)
- Made ./unreal generated by configure to make sure it has the correct path of the exe
- Added autoconf check for setproctitle
- Added some setproctitle(.., me.name) for extra l33tness :P~
- Changed the setproctitle check to also check in -lutil (some OSes have it there)
- Added aliases/auspice.conf, and added a /register command to aliases/aliases.conf
- Fixed a win32 typo in the .rc
- VERSION M_SERVER fix by skold
- Fixed connecting with IPv6
- Ident requests now orgin with the listener that the user connected on
- More IPv6 fixes, DNS resolving actually works now too.. (crackhead IRCnet
coding)
- Webserver caching fix
- A little bug fix that prevented the G:line hostmask checker from checking ?
- Made the /kline hostmask checker work like the G:line checker, (it was too easy to K:line *@*)
- Fixed a bug where ./unreal rehash would kill the IRCd instead of rehashing :P
- Made ./unreal restart (to restart Unreal) and made the pid file location more accurate
- Added support for PS_STRINGS and pstat to change the progrma name (couldn't test since I don't have an OS
that uses them)
- Fixed a win32 bug where pasting text into the editor would not
show up in the correct font
- Added hscroll bars to the win32 editor (if needed)
- The win32 editor now allows you to edit files included via tld {} (probably needs testing)
- Made the win32 editor allow you to edit include "" files
- Recoded the win32 rehash button to be much better
- Recoded the way the editor menu works (hopefully this is much
better?)
- Added the ability to create new files via the win32 editor
- Fixed a win32 editor bug caused by me being drunk or something :P
- Fixed the last of the font and editor-cutting-text bugs (hopefully)
- Commented out three lines of code that were causing SSL to freeze on
/connect, TODO: code in new SSL error handling (Griever)
- Fixed password crash bug, found by \dev\NULL-Z-[Zap]
- Added new auth.c API and a lot of different crap .. will document later
- Made make install copy modules (oops)
- Added configure code to get the Auth crypt working
- Made Events do thread locking (so we can do funny things and kill small
furry animals in the attempt for the perfect scanning module) .. yes, this
is drunken coding
- Made delayed module unloading possible, make a int mod_delay() adding
an event, for e_unload_module_delayed
- Updated makefile.win32 for the Auth system
- Redid the event system somewhat
- Fixed a little event issue involving data types.
- Changed the name of the hook functions from add_Hook, del_Hook,
add_HookX, del_HookX to HookAdd, HookDel, HookAddEx, HookDelEx
so the names are more standard.
- Added host54.net to /credits
- Fixed a FSU Pthreads bug that caused it not to work on Slackware (help from Frank Mueller)
- Started some work on CIDR support (added some functions from hybrid7)
- Added some functions for generic linked list modifications
- Slightly improved +x v2 algo, win32 releases should be compiled with
this improvement OFF, at least until 3.2 final. COMPAT_BETA4_KEYS makes
it compat w/ beta4 and pre.
- Made checking for redundant bans both ways an ifdef, off by default.
Note that undefing this might SLIGHTLY break compat w/ beta4 and pre
- Added "griever would like to thank" section to /credits
- Auth/SSL fixes, list.c fix, code: could you add auth.c and ssl.c to
makefile.win32?. If SSL is enabled, we can use MD5, SHA1, and crypt()
even on win32
- Added ssl.c and cidr.c to the win32 makefile
- Added ssl-pubkey auth method (parameter = pem file for public key)
- Converted tkl, events, commands, hooks, and all config structs to ListStruct
- can_gkline/t and can_gzline/Z flags added, docs not modded yet
- Added snomask +n (nick change notices) I personally hate it, but people wanted it...
- Added oper::snomask to allow you to specify a default snomask for an oper
- Added snomask +q (Qline notice), triggered when a nick is being denied from a user due to
a Q:line.
- Added HOOKTYPE_SERVER_CONNECT and HOOKTYPE_SERVER_QUIT for when servers connect and
disconnect respectively
- Added module v3 code. Needs testing, and NO MODULES DOES NOT COMPILE
- Fixed a win32 movude v3 bug
- Small v3 fix with no dependency problem
- Fixed some more module v3 problems and upgrade all modules
- Fixed a ton of module v3 problems (cause: Stskeeps is an idiot)
- Yes, even more module v3 bugfixes
- Module v3 bugfixes. cause: codemastr lack find n replace skill
- Moved the mkpasswd program into ./unreal mkpasswd <method> <password>
- Recoded m_oper almost completely, note that the fceT flags are ignored
now (you still get them, they just dont do shit). Remove them for me
please, as well as the +T usermode. I haven't tested this completely but
I see nowhere a bug could happen.
- Removed umode +T (useless) and the fue oflags since
oper::snomask supercedes them.
- Fixed another module v3 bug caused by Stskeeps drunkeness
- Started adding HP-UX module support (Not enough added where it actually works yet)
- Added some more HP-UX code
- Made "Module already loaded" a non fatal error (funny msg on rehash)
- Fixed typical codemastr "Let's delete this from a list we haven't even
added it to yet *giggles and twirls around*" bug, do to with config_set_unknown
- Fixed events bug, added recoded scan module, got a lot of stuff to fix so
far. Problems, unloading, (delay), tkl doesn't always sweep it all,
- Some scan unloading stuff
+1751
View File
File diff suppressed because it is too large Load Diff
Executable
+482
View File
@@ -0,0 +1,482 @@
#!/bin/sh
#
# Config script for UnrealIRCd
# (C) 2001 The UnrealIRCd Team
#
# This configure script is free software; the UnrealIRCd Team gives
# unlimited permission to copy, distribute and modify as long as the
# copyright headers stay intact
#
#
# Rewritten completely to be an interface to autoconf by codemastr
# This was inspired by the config by Michael Graff (explorer@flame.org)
# but was written from scratch
# In order to be faster than the old Config, this assumes that all information
# in the cache file is valid and therefore doesn't check it, so if you messed with
# default values thats your problem :P
RUN_CONFIGURE () {
ARG=""
if [ "$NOSPOOF" = "1" ] ; then
ARG="$ARG--enable-nospoof "
fi
if [ -n "$HUB" ] ; then
ARG="$ARG--enable-hub "
fi
if [ "$CRYPTOIRCD" = "1" ] ; then
ARG="$ARG--enable-ssl "
fi
if [ "$INET6" = "1" ] ; then
ARG="$ARG--enable-inet6 "
fi
ARG="$ARG--with-listen=$LISTEN_SIZE "
ARG="$ARG--with-dpath=$DPATH "
ARG="$ARG--with-spath=$SPATH "
ARG="$ARG--with-nick-history=$NICKNAMEHISTORYLENGTH "
ARG="$ARG--with-sendq=$MAXSENDQLENGTH "
ARG="$ARG--with-bufferpool=$BUFFERPOOL "
ARG="$ARG--with-hostname=$DOMAINNAME "
ARG="$ARG--with-permissions=$DEFPERM "
ARG="$ARG--with-fd-setsize=$MAXCONNECTIONS "
ARG="$ARG--enable-dynamic-linking "
ARG="$ARG $EXTRAPARA "
CONF="./configure $ARG"
echo $CONF
$CONF
if [ "$CRYPTOIRCD" = "1" ] ; then
if [ ! -f server.req.pem ]; then
export OPENSSLPATH
make pem
cat .SICI
read cc
else
echo "SSL certificate already existing, no need to regenerate"
fi
fi
}
c=""
n=""
NOSPOOF=""
DPATH="`pwd`"
SPATH="`pwd`/src/ircd"
HUB="1"
DOMAINNAME=`hostname`
DEFPERM="0600"
CRYPTOIRCD=""
LISTEN_SIZE="5"
NICKNAMEHISTORYLENGTH="2000"
MAXSENDQLENGTH="3000000"
BUFFERPOOL="9"
MAXCONNECTIONS="1024"
INET6=""
EXTRAPARA=""
if [ "`eval echo -n 'a'`" = "-n a" ] ; then
c="\c"
else
n="-n"
fi
#parse arguments
NOCACHE=""
NOINTRO=""
if [ "$1" = "--help" ] ; then
echo "Config utility for UnrealIRCd"
echo "-----------------------------"
echo "Syntax: ./Config [options]"
echo "-nocache Ignore settings saved in config.settings"
echo "-nointro Skip intro (release notes, etc)"
echo "-quick Skip questions, go straight to configure"
echo "-C Clean ./configure cache"
exit 0
fi
if [ "$1" = "-nocache" -o "$2" = "-nocache" ] ; then
NOCACHE="1"
fi
if [ "$1" = "-nointro" -o "$2" = "-nointro" ] ; then
NOINTRO="1"
fi
if [ -f "config.settings" -a -z "$NOCACHE" ] ; then
. config.settings
fi
if [ "$1" = "-C" -o "$2" = "-C" ] ; then
rm -f config.cache
fi
if [ "$1" = "-quick" -o "$1" = "-q" -o "$2" = "-quick" ] ; then
echo "running quick config"
RUN_CONFIGURE
exit 0
fi
clear
if [ -f ".CHANGES.NEW" -a -z "$NOINTRO" ] ; then
more .CHANGES.NEW
echo $n "[Enter to continue]"
read cc
clear
fi
if [ -f ".RELEASE.NOTES" -a -z "$NOINTRO" ] ; then
more .RELEASE.NOTES
echo $n "[Enter to continue]"
read cc
clear
fi
TEST=""
while [ -z "$TEST" ] ; do
if [ "$NOSPOOF" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Many older operating systems have an insecure TCP/IP stack"
echo "which may be vulnerable to IP spoofing attacks, if you run"
echo "an operating system that is vulnerable to such attacks"
echo "enable this option. If you aren't sure if your OS is vulnerable"
echo "you should still enable it."
echo ""
echo "Do you have an insecure operating system and therefore want to"
echo "use the server anti-spoof protection?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
NOSPOOF="1"
;;
[Nn]*)
NOSPOOF=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST="$DPATH"
echo ""
echo "What directory are all the server configuration files in?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
DPATH=$TEST
else
DPATH=$cc
fi
TEST="$SPATH"
echo ""
echo "What is the path to the ircd binary including the name of the binary?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
SPATH=$TEST
else
SPATH=$cc
fi
TEST=""
while [ -z "$TEST" ] ; do
if [ "$HUB" = "1" ] ; then
TEST="Hub"
else
TEST="Leaf"
fi
echo ""
echo "Would you like to compile as a hub or as a leaf?"
echo "Type Hub to select hub and Leaf to select leaf."
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Hh]*)
HUB="1"
;;
[Ll]*)
HUB=""
;;
*)
echo ""
echo "You must enter either Hub or Leaf"
TEST=""
;;
esac
done
TEST="$DOMAINNAME"
echo ""
echo "What is the hostname of the server running your IRCd?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
DOMAINNAME=$TEST
else
DOMAINNAME=$cc
fi
TEST=""
while [ -z "$TEST" ] ; do
TEST="$DEFPERM"
echo ""
echo "What should the default permissions for your configuration files be? (Set this to 0 to disable)"
echo "It is strongly recommended that you use 0600 to prevent unwanted reading of the file"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
DEFPERM=$TEST
break
fi
case "$cc" in
[0-9]*)
DEFPERM="$cc"
;;
*)
echo ""
echo "You must enter a number"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$CRYPTOIRCD" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to support SSL (Secure Sockets Layer) connections?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
CRYPTOIRCD="1"
;;
[Nn]*)
CRYPTOIRCD=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
if [ "$INET6" = "1" ] ; then
TEST="Yes"
else
TEST="No"
fi
echo ""
echo "Do you want to enable IPv6 support?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
cc=$TEST
fi
case "$cc" in
[Yy]*)
INET6="1"
;;
[Nn]*)
INET6=""
;;
*)
echo ""
echo "You must enter either Yes or No"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
TEST="$LISTEN_SIZE"
echo ""
echo "What listen() backlog value do you wish to use? Some older servers"
echo "have problems with more than 5, others work fine with many more."
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
LISTEN_SIZE=$TEST
break
fi
case "$cc" in
[1-9]*)
LISTEN_SIZE="$cc"
;;
*)
echo ""
echo "You must enter a number"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
TEST="$NICKNAMEHISTORYLENGTH"
echo ""
echo "How far back do you want to keep the nickname history?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
NICKNAMEHISTORYLENGTH=$TEST
break
fi
case "$cc" in
[1-9]*)
NICKNAMEHISTORYLENGTH="$cc"
;;
*)
echo ""
echo "You must enter a number"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
TEST="$MAXSENDQLENGTH"
echo ""
echo "What is the maximum sendq length you wish to have?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
MAXSENDQLENGTH=$TEST
break
fi
case "$cc" in
[1-9][0-9][0-9][0-9]*)
MAXSENDQLENGTH="$cc"
;;
*)
echo ""
echo "You must enter a number greater than or equal to 1000"
TEST=""
;;
esac
done
TEST=""
while [ -z "$TEST" ] ; do
TEST="$BUFFERPOOL"
echo ""
echo "How many buffer pools would you like?"
echo "This number will be multiplied by MAXSENDQLENGTH."
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
BUFFERPOOL=$TEST
break
fi
case "$cc" in
[1-9]*)
BUFFERPOOL="$cc"
;;
*)
echo ""
echo "You must enter a number"
TEST=""
;;
esac
done
echo ""
TEST=""
while [ -z "$TEST" ] ; do
TEST="$MAXCONNECTIONS"
echo ""
echo "How many file descriptors (or sockets) can the IRCd use?"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
MAXCONNECTIONS=$TEST
break
fi
case "$cc" in
[1-9][0-9][0-9]*)
MAXCONNECTIONS="$cc"
;;
*)
echo ""
echo "You must to enter a number greater than or equal to 100"
TEST=""
;;
esac
done
echo ""
echo "Would you like any more parameters to configure?"
echo "Write them here:"
echo $n "[]-> $c"
read EXTRAPARA
rm -f config.settings
cat > config.settings << __EOF__
#
NOSPOOF="$NOSPOOF"
DPATH="$DPATH"
SPATH="$SPATH"
CRYPT_OPER_PASSWORD="$CRYPT_OPER_PASSWORD"
CRYPT_LINK_PASSWORD="$CRYPT_LINK_PASSWORD"
CRYPT_ILINE_PASSWORD="$CRYPT_ILINE_PASSWORD"
CRYPT_XLINE_PASSWORD="$CRYPT_XLINE_PASSWORD"
INET6="$INET6"
LISTEN_SIZE="$LISTEN_SIZE"
MAXSENDQLENGTH="$MAXSENDQLENGTH"
BUFFERPOOL="$BUFFERPOOL"
MAXCONNECTIONS="$MAXCONNECTIONS"
NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH"
HUB="$HUB"
DOMAINNAME="$DOMAINNAME"
DEFPERM="$DEFPERM"
CRYPTOIRCD="$CRYPTOIRCD"
EXTRAPARA="$EXTRAPARA"
__EOF__
RUN_CONFIGURE
cat << __EOF__
_______________________________________________________________________
| |
| UnrealIRCd Compile-Time Config |
|_______________________________________________________________________|
|_______________________________________________________________________|
| |
| Now all you have to do is type 'make' and let it compile. When that's |
| done, you will receive other instructions on what to do next. |
| |
|_______________________________________________________________________|
|_______________________________________________________________________|
| - The UnrealIRCd Team - |
| |
| * Stskeeps stskeeps@unrealircd.com |
| * codemastr codemastr@unrealircd.com |
|_______________________________________________________________________|
__EOF__
+19
View File
@@ -0,0 +1,19 @@
Send donations to:
------------------
UnrealIRCd Project
C/O Carsten Munk
P.O.Box 52
7400 Herning
Denmark
(if you want to that is .. it will just make us a little more able to code
even more on this project. You will get in /credits if you do so).
Payment preferred (if money, is western union) - contact me on email
regarding other methods
-- Stskeeps
[ $Id$ ]
+99
View File
@@ -0,0 +1,99 @@
###############################################################################
#### Unreal IRC Unix Daemon Installation Guide ####
#### UnrealIRCD ver 3.1.1 ####
#### unreal-dev@lists.sourceforge.com ####
#### http://www.unrealircd.com/ ####
###############################################################################
#### Unpackaging the IRCD ####
#### ####
#### 1) gzip -d Unreal3.1.1.tar.gz ####
#### ####
#### 2) tar xvf Unreal3.1.1.tar ####
#### ####
#### 3) cd Unreal3.1.1/ ####
###############################################################################
#### Compiling the IRCD ####
#### ####
#### 1) Supported Operating Systems ####
#### ####
#### 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 ####
#### 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) ####
#### cc: SC4.0 18 Oct 1995 C 4.0 ####
#### Digital Unix 3.2 gcc 2.7-96q3 (Cygnus) ####
#### Linux 2.0.24 gcc 2.7.2.1 ####
#### PUX 9.01 gcc 2.6.3 ####
#### HPUX 10.01 gcc 2.7-96q3 (Cygnus) ####
#### Linux PPC (iMac) ####
#### AmigaOS 3.0 GCC egcs-2.91.66 (compile with -D_AMIGA) ####
#### Windows NT/95 MSVC++ 4.0 ####
#### Linux Mandrake Read FAQ ####
#### Linux 2.3.x gcc 2.95.2 glibc 2.1.3 ####
#### ####
#### 2) DO NOT edit the MakeFile or any of the files to configure your ####
#### IRCd. The newest releases of Unreal only require you to run: ####
#### ####
#### ./Config ####
#### ####
#### 2a) Windows users: please read WIN32 ####
#### ####
#### 3) When in ./Config put in the best answers to your knowledge. ####
#### This is all pretty self explanatory. We suggest, to advoid ####
#### problems later on, put the DPATH and SPATH as the default. ####
#### (When it asks where the config files and binarys will be). ####
#### Also, when it asks for max file connections, the default is ####
#### 1024, but above it you will see what your true limit is. ####
#### Please put the maxfd number in or else your IRCD will not ####
#### start at all and you will have to re-compile. ####
#### ####
#### 4) make ####
#### This will compile your server based on you settings chosen in ####
#### ./Config ####
#### ####
#### 4a) Hopefully, the server will compile without incident. If it ####
#### 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 ####
#### ####
#### 4b) make install - IS NOT NEEDED ####
#### ####
###############################################################################
#### Configuring the Server ####
#### ####
#### 1) ./makeconf ####
#### This executable has been created to help with your ircd.conf ####
#### creation process. It walks you through the steps and makes the ####
#### file for you. Note: If you want to edit your ircd.conf you ####
#### should only need to: edit ircd.conf. If you ./makeconf again ####
#### it will delete the old ircd.conf and re-write a new one. ####
#### ####
###############################################################################
#### Starting the Server ####
#### ####
#### 1) Make sure you're in the top level Unreal3.1.1 directory.. ####
#### ####
#### 2) ./ircd ####
#### ####
#### 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 ####
#### ####
#### 4) /server yourserverip or domainname ####
#### ####
###############################################################################
#### Updating the IRCD ####
#### ####
#### 1) ./update ####
#### Newer releases of Unreal allow the use of ./update which logs ####
#### into the Unreal server and allows you to pick a new version to ####
#### to upgrade to. ####
#### ####
###############################################################################
+340
View File
@@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
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 2 of the License, 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
+240
View File
@@ -0,0 +1,240 @@
#/************************************************************************
#* IRC - Internet Relay Chat, Makefile
#* Copyright (C) 1990, Jarkko Oikarinen
#*
#* This program is free software; you can redistribute it and/or modify
#* it under the terms of the GNU General Public License as published by
#* the Free Software Foundation; either version 1, or (at your option)
#* any later version.
#*
#* This program is distributed in the hope that it will be useful,
#* but WITHOUT ANY WARRANTY; without even the implied warranty of
#* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
#* GNU General Public License for more details.
#*
#* You should have received a copy of the GNU General Public License
#* along with this program; if not, write to the Free Software
#* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#*
#* $Id$
#*/
CC=@CC@
INCLUDEDIR=../include
NETWORKSDIR=
FROMDOS=/home/cmunk/bin/4dos
# [CHANGEME]
# Default flags:
# Change XCFLAGS if you don't like what Config puts there. Same with
# IRCDLIBS.
#
# If you are configuring by hand, try "-O -g" for XCFLAGS, and leave
# IRCDLIBS blank. If that fails, try recomendations below.
#
#XCFLAGS=-O -g -export-dynamic -pthread -DSCAN_API=1
IRCDLIBS=@IRCDLIBS@
CRYPTOLIB=@CRYPTOLIB@
OPENSSLINCLUDES=
XCFLAGS=@CFLAGS@
#
# use the following on MIPS:
#CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
# For Irix 4.x (SGI), use the following:
#CFLAGS= -g -cckr -I$(INCLUDEDIR)
#
# on NEXT use:
#CFLAGS=-bsd -I$(INCLUDEDIR)
#on NeXT other than 2.0:
#IRCDLIBS=-lsys_s
#
# AIX 370 flags
#CFLAGS=-D_BSD -Hxa -I$(INCLUDEDIR)
#IRCDLIBS=-lbsd
#
# Dynix/ptx V2.0.x
#CFLAGS= -I$(INCLUDEDIR) -O -Xo
#IRCDLIBS= -lsocket -linet -lnsl -lseq
#
# Dynix/ptx V1.x.x
#IRCDLIBS= -lsocket -linet -lnsl -lseq
#
#use the following on SUN OS without nameserver libraries inside libc
#IRCDLIBS=-lresolv
#
# Solaris 2
#IRCDLIBS=-lsocket -lnsl -lresolv -L/usr/ucblib -R/usr/ucblib -lgen
#
# ESIX
#CFLAGS=-O -I$(INCLUDEDIR) -I/usr/ucbinclude
#IRCDLIBS=-L/usr/ucblib -L/usr/lib -lsocket -lucb -lns -lnsl
#
# LDFLAGS - flags to send the loader (ld). SunOS users may want to add
# -Bstatic here.
#
#LDFLAGS=-Bstatic
#
#Dell SVR4
#CC=gcc
#CFLAGS= -I$(INCLUDEDIR) -O2
#IRCDLIBS=-lsocket -lnsl -lucb
# [CHANGEME]
# IRCDMODE is the mode you want the binary to be.
# The 4 at the front is important (allows for setuidness)
#
# WARNING: if you are making ircd SUID or SGID, check config.h to make sure
# you are not defining CMDLINE_CONFIG
IRCDMODE = 711
# [CHANGEME]
# IRCDDIR must be the same as DPATH in include/config.h
#
IRCDDIR=@IRCDDIR@
#
# If your system is lacking regex, uncomment this line
#
#REGEX=../extras/regex/regex.o
REGEX=@REGEX@
# [CHANGEME]
# If you get a link-time error dealing with strtoul, comment out
# this line.
# STRTOUL= strtoul.o
STRTOUL=@STRTOUL@
# [CHANGEME]
# If you get crashes around a specific number of clients, and that client
# load comes close or a little over the system-defined value of FD_SETSIZE,
# override it here and see what happens.
FD_SETSIZE=@FD_SETSIZE@
# Where is your openssl binary
OPENSSLPATH=@OPENSSLPATH@
CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) $(FD_SETSIZE)
SHELL=/bin/sh
SUBDIRS=src
BINDIR=@BINDIR@
INSTALL=@INSTALL@
RM=@RM@
CP=@CP@
TOUCH=@TOUCH@
RES=
all: build
MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
'LDFLAGS=${LDFLAGS}' 'IRCDMODE=${IRCDMODE}' \
'RES=${RES}' 'BINDIR=${BINDIR}' 'INSTALL=${INSTALL}' \
'INCLUDEDIR=${INCLUDEDIR}' 'IRCDDIR=${IRCDDIR}' \
'RM=${RM}' 'CP=${CP}' 'TOUCH=${TOUCH}' \
'SHELL=${SHELL}' 'STRTOUL=${STRTOUL}' \
'CRYPTOLIB=${CRYPTOLIB}' 'REGEX=${REGEX}' \
'CRYPTOINCLUDES=${CRYPTOINCLUDES}'
server:
build:
-@if [ ! -f include/setup.h ] ; then \
echo "Hmm...doesn't look like you've run Config..."; \
echo "Doing so now."; \
sh Config; \
fi
@for i in $(SUBDIRS); do \
echo "Building $$i";\
( 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 '| |'
@echo '| If you really like UnrealIRCd, and would like to |'
@echo '| make a donation, please read the Donation file in|'
@echo '| this archive. :) |'
@echo '| |'
@echo '| Thanks for using Unreal IRCd! If you are in need |'
@echo '| for any kind of help regarding the IRCd please |'
@echo '| read the Unreal.nfo file. |'
@echo '|__________________________________________________|'
clean:
$(RM) -f *~ \#* core *.orig include/*.orig
@for i in $(SUBDIRS); do \
echo "Cleaning $$i";\
( cd $$i; ${MAKE} ${MAKEARGS} clean; ) \
done
-@if [ -f include/setup.h ] ; then \
echo "To really restart installation, remove include/setup.h" ; \
fi
cleandir: clean
rm -rf include/networks.h include/setup.h Makefile Settings
makex:
chmod +x Config newnet ircd ircdcron/ircdchk killircd
chmod +x makeconf rehash ircdreg
fromdos: cleandir
$(FROMDOS) -dv *
$(FROMDOS) -dv src/*
$(FROMDOS) -dv include/*
$(FROMDOS) -dv doc/*
$(FROMDOS) -dv crypt/*
$(FROMDOS) -dv ircdcron/*
makedist: makex
echo "Stamping.."
stamp: makedist
echo "/* Auto created release stamping */" > include/stamp.h
echo "#define RELEASEID2 \"`date +%s`\"" >> include/stamp.h
echo "#define RELEASESTUFF \"`hostname`\"" >> include/stamp.h
echo "" >> include/stamp.h
depend:
@for i in $(SUBDIRS); do \
echo "Making dependencies in $$i";\
( cd $$i; ${MAKE} ${MAKEARGS} depend; ) \
done
install: all
$(INSTALL) -m 0700 -d $(IRCDDIR)
$(INSTALL) -m 0700 src/ircd $(BINDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/*.network $(IRCDDIR)/networks
$(INSTALL) -m 0700 networks/makenet $(IRCDDIR)/networks
$(INSTALL) -m 0600 networks/networks.ndx $(IRCDDIR)/networks
$(INSTALL) -m 0700 -d $(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 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 0700 bugreport makeconf unreal $(IRCDDIR)
$(INSTALL) -m 0700 -d $(IRCDDIR)/modules
$(INSTALL) -m 0700 src/modules/*.so $(IRCDDIR)/modules
pem: src/ssl.cnf
@echo "Generating certificate request .. "
$(OPENSSLPATH) req -new \
-config src/ssl.cnf -out server.req.pem \
-keyout server.key.pem -nodes
@echo "Generating self-signed certificate .. "
$(OPENSSLPATH) req -x509 -days 365 -in server.req.pem \
-key server.key.pem -out server.cert.pem
@echo "Generating fingerprint .."
$(OPENSSLPATH) x509 -subject -dates -fingerprint -noout \
-in server.cert.pem
@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!."
+23
View File
@@ -0,0 +1,23 @@
Unreal IRCD Win32 Version
-=-=-=-=-=-=-=-=-=-=-=-=-
Ok, in order to save time, and my nerves i am writing this short readme, and eventually an FAQ (after people ask questions) =)
This is information on how to run the win32 version, it does not say, and WILL not say how to use an ircd, as that is sufficiently docuimented in the docs !!!!
you will NEED to modify/create an ircd.conf, follow the documentation for that.
Right, thats almost it( that i can think of), but what happens if the server Crashes ???
----------------------------------------------------------------------------------------
ok i Have now coded the first bit of usefull (for me) code that dumps the stack to a dialog box, WHAT EVER YOU DO you must do the following:
1. Copy and paste EVERYTHING in that dialog box, and send it to me in an e-mail
2. Include in that e-mail EVERYTHING that happened in the lead up to the crash
i hope thats SIMPLE to follow, but it will help me soo much !!!!!
DrBin (Dave)
drbin@tspre.org
+15
View File
@@ -0,0 +1,15 @@
Some notes to remember:
-----------------------
* Don't EVER try to link it to incompatible IRCds (this does not
include services). It is *INCOMPATIBLE*. Please HEED this warning!!!
* If you need any help you can email me at stskeeps@tspre.org
* Please read the Changes file about release notes
* Bugs? Read Unreal.nfo
* Unreal IRCd is not meant to be a simple IRCd, rather an advanced
IRCd, please read the documentation before asking questions
[ $Id$ ]
Executable
+35
View File
@@ -0,0 +1,35 @@
#!/bin/sh
clear
echo "Starting up UnrealIRCd Setup"
echo ""
echo "Press enter to proceed to setup..."
read cc
more -d Unreal.nfo
echo "Press enter to proceed to FAQ..."
read cc
more -d doc/faq
echo "Press enter to proceed to configuration..."
read cc
if [ "$1" != "-noconfig" ] ; then
./Config
fi
echo "Press enter to proceed to compiling..."
read cc
make
echo "Press enter to proceed to unrealircd.conf making..."
read cc
./makeconf
echo "Press enter to proceed to network configuration..."
read cc
clear
echo "Do you want to use one of these network files, or make your own?"
cd networks
ls *.network
echo "[Type "no" if you want to make your own]"
read cc
if [ "$cc" == "no" ] ; then
./makenet
fi
echo "Now just edit your unrealircd.conf and you should be ready to run"
echo "UnrealIRCd with ./ircd"
+77
View File
@@ -0,0 +1,77 @@
===============================================
= UnrealIRCd v3.2-Selene (beta1) =
===============================================
Was brought to you by:
The core team:
==============
* Stskeeps <stskeeps@tspre.org>
* codemastr <codemastr@unrealircd.com>
Coders team:
============
* McSkaf <mcskaf@unrealircd.org>
* Griever <griever@unrealircd.org>
* Zogg <zogg@unrealircd.org>
* NiQuiL <niquil@unrealircd.org>
* assyrian <assyrian@unrealircd.org>
In former versions:
* DrBin <drbin@unrealircd.com>
* llthangel <llthangel@unrealircd.org>
Precenses on the Internet:
* http://www.unrealircd.com
CVS:
To get anonymous access: (read only)
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot login"
press enter when asked for password
and to get latest stable:
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r stable -d Unreal-stable unreal"
latest beta:
"cvs -d :pserver:anonymous@cvs.ircsystems.net:/home/cmunk/ircsystems/cvsroot checkout -r beta -d Unreal-beta unreal"
* To get support
================
* IRC: /server irc.ircsystems.net 6667 - /join #unreal-support
[Note: Please be patient after asking questions, we may do other stuff
or we're away. Don't repeat questions, we heard you first time,
READ THE TOPIC before you ask anything. We do this on a free
base so we are volunteeringly helping you, but we are humans
like you, and we got to have peace at times as well.]
* Mailing list: supporters@lists.unrealircd.org (for support)
* READ doc/faq BEFORE ASKING QUESTIONS!
* Want to discuss, chat, etc?
=============================
* IRC: /server irc.ircsystems.net 6667 - /join #UnrealIRCd
* Got a bug to report?
======================
* If the server crashes and dumps core do this:
* Go into the Unreal directory and type this:
gdb src/ircd core.filename
where core.filename is the filename in the dumping core message
if it loads gdb, (not saying "command not found" etc), type "bt" in
the program (type "quit" to get out again)
The output coming out there please mail it to
coders@lists.unrealircd.org , along with OS type,
what "uname -a" says, any clues what it is, if you did anything etc
etc. Please keep the core dump files if we ask you to mail us them
if needed
* If you experince any wierdnesses (that doesnt crash the server)
please mail coders@lists.unrealircd.org with any clues on what
you did, what you experinced etc.
* Got a suggestion?
===================
* Mail it to coders@lists.unrealircd.org :) or catch one from
the Unreal team online on IRC:)
+37
View File
@@ -0,0 +1,37 @@
/* Standard Aliases */
alias identify {
format "^#" {
alias chanserv;
parameters "IDENTIFY %1-";
};
format "^[^#]" {
alias nickserv;
parameters "IDENTIFY %1-";
};
type command;
};
alias services {
format "^#" {
alias chanserv;
parameters "%1-";
};
format "^[^#]" {
alias nickserv;
parameters "%1-";
};
type command;
};
alias register {
format "^#" {
alias chanserv;
parameters "REGISTER %1-";
};
format "^[^#]" {
alias nickserv;
parameters "REGISTER %1-";
};
type command;
};
+16
View File
@@ -0,0 +1,16 @@
/* Auspice Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias rootserv { type services; };
alias rs { nick rootserv; type services; };
include "aliases/aliases.conf";
+16
View File
@@ -0,0 +1,16 @@
/* Epona Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias botserv { type services; };
alias bs { nick botserv; type services; };
include "aliases/aliases.conf";
+14
View File
@@ -0,0 +1,14 @@
/* Generic Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
include "aliases/aliases.conf";
+4
View File
@@ -0,0 +1,4 @@
/* Generic StatServ Aliases */
alias statserv { type stats; };
alias ss { nick statserv; type stats; };
+17
View File
@@ -0,0 +1,17 @@
/* IRCServices Aliases */
alias nickserv { type services; };
alias ns { nick nickserv; type services; };
alias chanserv { type services; };
alias cs { nick chanserv; type services; };
alias memoserv { type services; };
alias ms { nick memoserv; type services; };
alias operserv { type services; };
alias os { nick operserv; type services; };
alias helpserv { type services; };
alias hs { nick helpserv; type services; };
alias irciihelp { type services; };
alias statserv { type services; };
alias ss { nick statserv; type services; };
include "aliases/aliases.conf";
+6
View File
@@ -0,0 +1,6 @@
/* OperStats Aliases */
operserv { type stats; };
os { nick operserv; type stats; };
statserv { type stats; };
ss { nick statserv; type stats; };
+3
View File
@@ -0,0 +1,3 @@
all:
@autoconf
cp configure ..
+342
View File
@@ -0,0 +1,342 @@
dnl aclocal.m4 generated automatically by aclocal 1.4-p4
dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
dnl This program is distributed in the hope that it will be useful,
dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
dnl PARTICULAR PURPOSE.
dnl Macro: unet_CHECK_TYPE_SIZES
dnl
dnl Check the size of several types and define a valid int16_t and int32_t.
dnl
AC_DEFUN(unreal_CHECK_TYPE_SIZES,
[dnl Check type sizes
AC_CHECK_SIZEOF(short)
AC_CHECK_SIZEOF(int)
AC_CHECK_SIZEOF(long)
if test "$ac_cv_sizeof_int" = 2 ; then
AC_CHECK_TYPE(int16_t, int)
AC_CHECK_TYPE(u_int16_t, unsigned int)
elif test "$ac_cv_sizeof_short" = 2 ; then
AC_CHECK_TYPE(int16_t, short)
AC_CHECK_TYPE(u_int16_t, unsigned short)
else
AC_MSG_ERROR([Cannot find a type with size of 16 bits])
fi
if test "$ac_cv_sizeof_int" = 4 ; then
AC_CHECK_TYPE(int32_t, int)
AC_CHECK_TYPE(u_int32_t, unsigned int)
elif test "$ac_cv_sizeof_short" = 4 ; then
AC_CHECK_TYPE(int32_t, short)
AC_CHECK_TYPE(u_int32_t, unsigned short)
elif test "$ac_cv_sizeof_long" = 4 ; then
AC_CHECK_TYPE(int32_t, long)
AC_CHECK_TYPE(u_int32_t, unsigned long)
else
AC_MSG_ERROR([Cannot find a type with size of 32 bits])
fi])
dnl @synopsis ACX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
dnl
dnl This macro figures out how to build C programs using POSIX
dnl threads. It sets the PTHREAD_LIBS output variable to the threads
dnl library and linker flags, and the PTHREAD_CFLAGS output variable
dnl to any special C compiler flags that are needed. (The user can also
dnl force certain compiler flags/libs to be tested by setting these
dnl environment variables.)
dnl
dnl Also sets PTHREAD_CC to any special C compiler that is needed for
dnl multi-threaded programs (defaults to the value of CC otherwise).
dnl (This is necessary on AIX to use the special cc_r compiler alias.)
dnl
dnl If you are only building threads programs, you may wish to
dnl use these variables in your default LIBS, CFLAGS, and CC:
dnl
dnl LIBS="$PTHREAD_LIBS $LIBS"
dnl CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
dnl CC="$PTHREAD_CC"
dnl
dnl In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute
dnl constant has a nonstandard name, defines PTHREAD_CREATE_JOINABLE
dnl to that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX).
dnl
dnl ACTION-IF-FOUND is a list of shell commands to run if a threads
dnl library is found, and ACTION-IF-NOT-FOUND is a list of commands
dnl to run it if it is not found. If ACTION-IF-FOUND is not specified,
dnl the default action will define HAVE_PTHREAD.
dnl
dnl Please let the authors know if this macro fails on any platform,
dnl or if you have any other suggestions or comments. This macro was
dnl based on work by SGJ on autoconf scripts for FFTW (www.fftw.org)
dnl (with help from M. Frigo), as well as ac_pthread and hb_pthread
dnl macros posted by AFC to the autoconf macro repository. We are also
dnl grateful for the helpful feedback of numerous users.
dnl
dnl @version $Id$
dnl @author Steven G. Johnson <stevenj@alum.mit.edu> and Alejandro Forero Cuervo <bachue@bachue.com>
dnl This has been recoded a lot. It now fully supports caching and is a bit faster
AC_DEFUN([ACX_PTHREAD], [
AC_CANONICAL_HOST
acx_pthread_ok=no
# First, check if the POSIX threads header, pthread.h, is available.
# If it isn't, don't bother looking for the threads libraries.
AC_CHECK_HEADER(pthread.h, , acx_pthread_ok=noheader)
# We must check for the threads library under a number of different
# names; the ordering is very important because some systems
# (e.g. DEC) have both -lpthread and -lpthreads, where one of the
# libraries is broken (non-POSIX).
# Create a list of thread flags to try. Items starting with a "-" are
# C compiler flags, and other items are library names, except for "none"
# which indicates that we try without any flags at all.
acx_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt"
# The ordering *is* (sometimes) important. Some notes on the
# individual items follow:
# pthreads: AIX (must check this before -lpthread)
# none: in case threads are in libc; should be tried before -Kthread and
# other compiler flags to prevent continual compiler warnings
# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h)
# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able)
# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread)
# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads)
# -pthreads: Solaris/gcc
# -mthreads: Mingw32/gcc, Lynx/gcc
# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it
# doesn't hurt to check since this sometimes defines pthreads too;
# also defines -D_REENTRANT)
# pthread: Linux, etcetera
# --thread-safe: KAI C++
case "${host_cpu}-${host_os}" in
*solaris*)
# On Solaris (at least, for some versions), libc contains stubbed
# (non-functional) versions of the pthreads routines, so link-based
# tests will erroneously succeed. (We need to link with -pthread or
# -lpthread.) (The stubs are missing pthread_cleanup_push, or rather
# a function called by this macro, so we could check for that, but
# who knows whether they'll stub that too in a future libc.) So,
# we'll just look for -pthreads and -lpthread first:
acx_pthread_flags="-pthread -pthreads pthread -mt $acx_pthread_flags"
;;
esac
result=none
if test "$acx_pthread_ok" = "no"; then
AC_CACHE_CHECK(what flags pthreads needs,ac_cv_pthreadflag,[
for flag in $acx_pthread_flags; do
case $flag in
none)
result="none"
;;
-*)
PTHREAD_CFLAGS="$flag"
result="$flag"
;;
*)
PTHREAD_LIBS="-l$flag"
result="-l$flag"
;;
esac
save_LIBS="$LIBS"
save_CFLAGS="$CFLAGS"
LIBS="$PTHREAD_LIBS $LIBS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
# Check for various functions. We must include pthread.h,
# since some functions may be macros. (On the Sequent, we
# need a special flag -Kthread to make this header compile.)
# We check for pthread_join because it is in -lpthread on IRIX
# while pthread_create is in libc. We check for pthread_attr_init
# due to DEC craziness with -lpthreads. We check for
# pthread_cleanup_push because it is one of the few pthread
# functions on Solaris that doesn't have a non-functional libc stub.
# We try pthread_create on general principles.
AC_TRY_LINK([#include <pthread.h>],
[pthread_t th; pthread_join(th, 0);
pthread_attr_init(0); pthread_cleanup_push(0, 0);
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
[acx_pthread_ok=yes])
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
if test "$acx_pthread_ok" = "yes"; then
dnl AC_MSG_RESULT($result)
ac_cv_pthreadflag=$result
break;
fi
PTHREAD_LIBS=""
PTHREAD_CFLAGS=""
done
fi
])
case $ac_cv_pthreadflag in
none)
;;
-l*)
PTHREAD_LIBS=$ac_cv_pthreadflag
;;
*)
PTHREAD_CFLAGS=$ac_cv_pthreadflag
;;
esac
# Various other checks:
if test "x$ac_cv_pthreadflag"!=x; then
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
# Detect AIX lossage: threads are created detached by default
# and the JOINABLE attribute has a nonstandard name (UNDETACHED).
AC_CACHE_CHECK([for joinable pthread attribute],ac_cv_pthreadjoin,[
AC_TRY_LINK([#include <pthread.h>],
[int attr=PTHREAD_CREATE_JOINABLE;],
ac_cv_pthreadjoin=PTHREAD_CREATE_JOINABLE, ac_cv_pthreadjoin=unknown)
if test "$ac_cv_pthreadjoin" = "unknown"; then
AC_TRY_LINK([#include <pthread.h>],
[int attr=PTHREAD_CREATE_UNDETACHED;],
ac_cv_pthreadjoin=PTHREAD_CREATE_UNDETACHED, ac_cv_pthreadjoin=unknown)
fi
])
if test "$ac_cv_pthreadjoin" != "PTHREAD_CREATE_JOINABLE"; then
AC_DEFINE(PTHREAD_CREATE_JOINABLE, $ac_cv_pthreadjoin,
[Define to the necessary symbol if this constant
uses a non-standard name on your system.])
fi
if test "$ac_cv_pthreadjoin" = "unknown"; then
AC_MSG_WARN([we do not know how to create joinable pthreads])
fi
AC_CACHE_CHECK([if more special flags are required for pthreads],ac_cv_pthreadspecial,[
ac_cv_pthreadspecial=no
case "${host_cpu}-${host_os}" in
*-aix* | *-freebsd*) ac_cv_pthreadspecial="-D_THREAD_SAFE";;
*solaris* | alpha*-osf*) ac_cv_pthreadspecial="-D_REENTRANT";;
esac
])
if test "$ac_cv_pthreadspecial" != "no"; then
PTHREAD_CFLAGS="$ac_cv_pthreadspecial $PTHREAD_CFLAGS"
fi
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
# More AIX lossage: must compile with cc_r
AC_CHECK_PROG(PTHREAD_CC, cc_r, cc_r, ${CC})
else
PTHREAD_CC="$CC"
fi
if test "x$ac_cv_pthreadflag"!=x; then
AC_CACHE_CHECK(if pthreads uses one thread per process, ac_cv_thread_multi, [
save_LIBS="$LIBS"
LIBS="$PTHREAD_LIBS $LIBS"
save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
AC_TRY_RUN([
#include <pthread.h>
int pid;
int mypid = -1;
pthread_mutex_t mutex;
void testthreads(void *p)
{
pthread_mutex_lock(&mutex);
mypid = getpid();
pthread_mutex_unlock(&mutex);
pthread_exit(NULL);
}
int main() {
int i;
pthread_t thread;
pthread_attr_t attrs;
pid = getpid();
pthread_attr_init(&attrs);
pthread_mutex_init(&mutex, NULL);
pthread_mutex_lock(&mutex);
pthread_create(&thread, &attrs, (void*)testthreads, NULL);
pthread_mutex_unlock(&mutex);
sleep(2);
pthread_mutex_lock(&mutex);
if (mypid == pid)
exit(0);
else
exit(1);
}
],ac_cv_thread_multi=no, ac_cv_thread_multi=yes)
LIBS="$save_LIBS"
CFLAGS="$save_CFLAGS"
])
if test "$USESTDTHREAD" != "1"; then
if test "$ac_cv_thread_multi" = "yes"; then
AC_MSG_RESULT(Ok we'll install FSU Pthreads)
cd extras
if [[ -f "pthreads.tar.gz" ]] ; then
gunzip -fd pthreads.tar.gz
fi
tar xf pthreads.tar
cd threads/src
rm -f Makefile
case "${host_cpu}-${host_os}" in
*-freebsd*)
cp Makefile.FreeBSD Makefile
make
;;
*-linux*)
cp Makefile.Linux Makefile
make
;;
*-solaris2*)
cp Makefile.Solaris Makefile
make
;;
*)
./configure
;;
esac
cd ../../../
if test "$ac_cv_pthreadspecial" != no; then
PTHREAD_CFLAGS="-I=../extras/threads/include $ac_cv_pthreadspecial"
else
PTHREAD_CFLAGS="-I=../extras/threads/include"
fi
PTHREAD_LIBS="../extras/threads/lib/libgthreads.a ../extras/threads/lib/libmalloc.a"
fi
fi
fi
AC_SUBST(PTHREAD_LIBS)
AC_SUBST(PTHREAD_CFLAGS)
AC_SUBST(PTHREAD_CC)
# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
if test x"$acx_pthread_ok" = xyes; then
ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1])
:
else
acx_pthread_ok=no
$2
fi
])dnl ACX_PTHREAD
+352
View File
@@ -0,0 +1,352 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/ircd.c)
AC_CONFIG_HEADER(include/setup.h)
AC_PROG_CC
if test "$ac_cv_prog_gcc" = "yes"; then
AC_CACHE_CHECK(if you have gcc 3.0 or higher, ac_cv_gcc3, [
if test -z "`gcc -v 2>&1 |grep 'gcc version 3.'`"; then
ac_cv_gcc3="no"
else
ac_cv_gcc3="yes"
fi
])
if test "$ac_cv_gcc3" = "yes"; then
CFLAGS="$CFLAGS -Wnone"
fi
fi
AC_PATH_PROG(RM,rm)
AC_PATH_PROG(CP,cp)
AC_PATH_PROG(TOUCH,touch)
AC_PATH_PROG(OPENSSLPATH,openssl)
AC_PATH_PROG(INSTALL,install)
dnl Checks for libraries.
AC_CHECK_LIB(descrypt, crypt, [AC_DEFINE(HAVE_CRYPT) IRCDLIBS="$IRCDLIBS-ldescrypt " MKPASSWDLIBS="-ldescrypt"],
AC_CHECK_LIB(crypt, crypt,[ AC_DEFINE(HAVE_CRYPT) IRCDLIBS="$IRCDLIBS-lcrypt " MKPASSWDLIBS="-lcrypt"]))
AC_CHECK_LIB(socket, socket,IRCDLIBS="$IRCDLIBS-lsocket ")
AC_CHECK_LIB(nsl, inet_ntoa,IRCDLIBS="$IRCDLIBS-lnsl ")
AC_SUBST(IRCDLIBS)
AC_SUBST(MKPASSWDLIBS)
AC_DEFUN(AC_INSTALL_REGEX,
[
AC_MSG_RESULT(Ok we'll install regex)
cd extras/regex
./configure
make
cd ../..
REGEX="../extras/regex/regex.o"
])
openssl=no
AC_DEFUN(AC_ENABLE_SSL,
[
if test "$openssl" = "yes"; then
AC_DEFINE(USE_SSL)
AC_CACHE_CHECK(what order we should supply the SSL libraries in, ac_cv_ssl_libs, [
save_libs="$LIBS"
LIBS="$LIBS -lssl -lcrypto -lssl"
AC_TRY_LINK([#include <openssl/ssl.h>], [
SSL_write(NULL, NULL, NULL);
], ac_cv_ssl_libs="-lssl -lcrypto -lssl" LIBS="$save_libs", ac_cv_ssl_libs="-lssl -lcrypto -lssl" LIBS="$save_libs")])
CRYPTOLIB="$ac_cv_ssl_libs"
CFLAGS="$CFLAGS -I/usr/local/include -I/usr/local/ssl/include -L/usr/local/lib -L/usr/local/ssl/lib"
else
AC_WARN(SSL support could not be enabled because openssl/ssl.h could not be found)
fi
])
dnl module checking based on Hyb7's module checking code
AC_DEFUN(AC_ENABLE_DYN,
[
AC_CHECK_FUNC(dlopen,, AC_CHECK_LIB(dl, dlopen,IRCDLIBS="$IRCDLIBS-ldl",AC_MSG_WARN(Dynamic linking is not enabled because dlopen was not found) AC_DEFINE(STATIC_LINKING)))
hold_cflags=$CFLAGS
CFLAGS="$CFLAGS -export-dynamic"
AC_CACHE_CHECK(if we need the -export-dynamic flag, ac_cv_export_dynamic, [
AC_TRY_LINK(, [int i];, ac_cv_export_dynamic=yes, ac_cv_export_dynamic=no)])
if test "$ac_cv_export_dynamic" = "no"; then
CFLAGS=$hold_cflags
fi
AC_CACHE_CHECK(for compiler option to produce PIC,ac_cv_pic,[
if test "$ac_cv_prog_gcc" = "yes"; then
ac_cv_pic="-fPIC -DPIC -shared"
else
case `uname -s` in
SunOS*[)]
ac_cv_pic="-KPIC -DPIC -G"
;;
esac
fi
])
MODULEFLAGS=$ac_cv_pic
AC_DEFINE(DYNAMIC_LINKING)
])
AC_DEFUN(AC_ENABLE_INET6,[
AC_CACHE_CHECK(if your system has IPv6 support, ac_cv_ip6, [
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
int main() {
if (socket(AF_INET6, SOCK_STREAM, 0) < 0)
exit(1);
exit(0);
}
], ac_cv_ip6=yes, ac_cv_ip6=no)
])
if test "$ac_cv_ip6" = "no"; then
AC_MSG_WARN(Your system does not support IPv6 so it will not be enabled)
else
AC_DEFINE(INET6)
fi
])
AC_CHECK_HEADER(sys/param.h,AC_DEFINE(PARAMH))
AC_CHECK_HEADER(stdlib.h,AC_DEFINE(STDLIBH))
AC_CHECK_HEADER(stddef.h,AC_DEFINE(STDDEFH))
AC_CHECK_HEADER(sys/syslog.h,AC_DEFINE(SYSSYSLOGH))
AC_CHECK_HEADER(unistd.h,AC_DEFINE(UNISTDH))
AC_CHECK_HEADER(string.h,AC_DEFINE(STRINGH))
AC_CHECK_HEADER(strings.h,AC_DEFINE(STRINGSH))
AC_CHECK_HEADER(regex.h,AC_DEFINE(HAVE_REGEX),AC_INSTALL_REGEX)
AC_CHECK_HEADER(openssl/ssl.h,openssl=yes)
AC_CHECK_HEADER(malloc.h,AC_DEFINE(MALLOCH,<malloc.h>))
AC_CHECK_HEADER(sys/rusage.h,AC_DEFINE(RUSAGEH))
AC_CHECK_HEADER(glob.h,AC_DEFINE(GLOBH))
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_SIZE_T
AC_HEADER_TIME
AC_STRUCT_TM
AC_TYPE_UID_T
unreal_CHECK_TYPE_SIZES
AC_CACHE_CHECK(what kind of nonblocking sockets you have, ac_cv_nonblocking,[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/file.h>
#include <signal.h>
alarmed() {
exit(1);
}
int main() {
#ifdef O_NONBLOCK
char b[12], x[32];
int f, l = sizeof(x);
f = socket(AF_INET, SOCK_DGRAM, 0);
if (f >= 0 && !(fcntl(f, F_SETFL, O_NONBLOCK))) {
signal(SIGALRM, alarmed);
alarm(3);
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
alarm(0);
exit(0);
}
#endif
exit(1);
}
],ac_cv_nonblocking=O_NONBLOCK,[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/file.h>
#include <signal.h>
alarmed() {
exit(0);
}
int main() {
#ifdef O_NDELAY
char b[12], x[32];
int f, l = sizeof(x);
f = socket(AF_INET, SOCK_DGRAM, 0);
if (f >= 0 && !(fcntl(f, F_SETFL, O_NDELAY))) {
signal(SIGALRM, alarmed);
alarm(3);
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
alarm(0);
exit(0);
}
#endif
exit(1);
}],ac_cv_nonblocking=O_NDELAY,[
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/socket.h>
#include <fcntl.h>
#include <sys/ioctl.h>
#include <sys/file.h>
#include <signal.h>
alarmed() {
exit(1);
}
int main() {
#ifdef FIONBIO
char b[12], x[32];
int f, l = sizeof(x);
f = socket(AF_INET, SOCK_DGRAM, 0);
if (f >= 0 && !(fcntl(f, F_SETFL, FIONBIO))) {
signal(SIGALRM, alarmed);
alarm(3);
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
alarm(0);
exit(0);
}
#endif
exit(1);
], ac_cv_nonblocking=FIONBIO,ac_cv_nonblocking=none)])])])
if test "$ac_cv_nonblocking" = "O_NONBLOCK"; then
AC_DEFINE(NBLOCK_POSIX)
elif test "$ac_cv_nonblocking" = "O_NDELAY"; then
AC_DEFINE(NBLOCK_BSD)
elif test "$ac_cv_nonblocking" = "FIONBIO"; then
AC_DEFINE(NBLOCK_SYSV)
fi
dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_SETPGRP
AC_FUNC_SETVBUF_REVERSED
AC_CACHE_CHECK(if we can set the core size to unlimited, ac_cv_force_core,[
AC_TRY_RUN([
#include <sys/time.h>
#include <sys/resource.h>
#include <unistd.h>
int main() {
struct rlimit corelim;
corelim.rlim_cur = corelim.rlim_max = RLIM_INFINITY;
if (setrlimit(RLIMIT_CORE, &corelim))
exit(1);
exit(0);
}
],ac_cv_force_core=yes,ac_cv_force_core=no)
])
if test "$ac_cv_force_core" = "yes"; then
AC_DEFINE(FORCE_CORE)
fi
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(gettimeofday,AC_DEFINE(GETTIMEOFDAY),[AC_CHECK_FUNCS(lrand48,AC_DEFINE(LRADN48))])
AC_CHECK_FUNCS(getrusage,AC_DEFINE(GETRUSAGE_2),[AC_CHECK_FUNCS(times,AC_DEFINE(TIMES_2))])
AC_CHECK_FUNCS(setproctitle,AC_DEFINE(HAVE_SETPROCTITLE),[
AC_CHECK_LIB(util,setproctitle,AC_DEFINE(HAVE_SETPROCTITLE) IRCDLIBS="$IRCDLIBS-lutil",[
AC_EGREP_HEADER([#define.*PS_STRINGS.*],sys/exec.h,AC_DEFINE(HAVE_PSSTRINGS),[
AC_CHECK_FUNCS(pstat,AC_DEFINE(HAVE_PSTAT))
])
])
])
AC_CACHE_CHECK(what type of signals you have, ac_cv_sigtype, [
AC_TRY_RUN([
#include <signal.h>
int main() {
sigaction(SIGTERM, (struct sigaction *)0L, (struct sigaction *)0L);
}
], ac_cv_sigtype=POSIX, [
AC_TRY_RUN([
#include <signal.h>
int calls = 0;
void handler()
{
if (calls)
return;
calls++;
kill(getpid(), SIGTERM);
sleep(1);
}
int main() {
signal(SIGTERM, handler);
kill(getpid(), SIGTERM);
exit(0);
}
], ac_cv_sigtype=BSD,ac_cv_sigtype=SYSV)])])
if test "$ac_cv_sigtype" = "POSIX"; then
AC_DEFINE(POSIX_SIGNALS)
elif test "$ac_cv_sigtype" = "BSD"; then
AC_DEFINE(BSD_RELIABLE_SIGNALS)
else
AC_DEFINE(SYSV_UNRELIABLE_SIGNALS)
fi
AC_CHECK_FUNCS(strtoken,,AC_DEFINE(NEED_STRTOKEN))
AC_CHECK_FUNCS(strtok,,AC_DEFINE(NEED_STRTOK))
AC_CHECK_FUNCS(strerror,,AC_DEFINE(NEED_STRERROR))
AC_CHECK_FUNCS(index,,AC_DEFINE(NOINDEX))
AC_CHECK_FUNCS(strtoul,,STRTOUL="strtoul.o")
AC_CHECK_FUNCS(bcopy,,AC_DEFINE(NEED_BCOPY))
AC_CHECK_FUNCS(bcmp,,AC_DEFINE(NEED_BCMP))
AC_CHECK_FUNCS(bzero,,AC_DEFINE(NEED_BZERO))
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_SUBST(REGEX)
AC_SUBST(STRTOUL)
AC_SUBST(CRYPTOLIB)
AC_SUBST(MODULEFLAGS)
AC_ARG_WITH(listen, [ --with-listen=backlog Specify the listen backlog value],
AC_DEFINE_UNQUOTED(LISTEN_SIZE,$withval),AC_DEFINE(LISTEN_SIZE,5))
AC_ARG_WITH(nick-history, [ --with-nick-history=length Specify the length of the nickname history],
AC_DEFINE_UNQUOTED(NICKNAMEHISTORYLENGTH,$withval), AC_DEFINE(NICKNAMEHISTORYLENGTH,2000))
AC_ARG_WITH(sendq, [ --with-sendq=maxsendq Specify the max sendq for the server],
AC_DEFINE_UNQUOTED(MAXSENDQLENGTH,$withval),AC_DEFINE(MAXSENDQLENGTH,3000000))
AC_ARG_WITH(bufferpool, [ --with-bufferpool=size Specify the size of the buffer pool],
AC_DEFINE_UNQUOTED(BUFFERPOOL,[($withval * MAXSENDQLENGTH)]),AC_DEFINE(BUFFERPOOL,[(9 * MAXSENDQLENGTH)]))
AC_ARG_WITH(hostname, [ --with-hostname=host Specify the local hostname of the server], AC_DEFINE_UNQUOTED(DOMAINNAME,"$withval"),AC_DEFINE_UNQUOTED(DOMAINNAME,"`hostname`"))
AC_DEFINE_UNQUOTED(MYOSNAME,"`uname -a`")
AC_ARG_WITH(permissions, [ --with-permissions=permissions Specify the default permissions for
configuration files], AC_DEFINE_UNQUOTED(DEFAULT_PERMISSIONS,$withval), AC_DEFINE(DEFAULT_PERMISSIONS, 0600))
AC_ARG_WITH(dpath, [ --with-dpath=path Specify the path where configuration files are stored],
AC_DEFINE_UNQUOTED(DPATH, "$withval") IRCDDIR="$withval", AC_DEFINE_UNQUOTED(DPATH,"`pwd`") IRCDDIR="`pwd`")
AC_ARG_WITH(fd-setsize, [ --with-fd-setsize=size Specify the max file descriptors to use],
ac_fd=$withval, ac_fd=1024)
AC_DEFINE_UNQUOTED(MAXCONNECTIONS, $ac_fd)
AC_ARG_WITH(spath, [ --with-spath Specify the location of the executable],
AC_DEFINE_UNQUOTED(SPATH,"$withval") BINDIR="$withval",AC_DEFINE_UNQUOTED(SPATH,"`pwd`/src/ircd") BINDIR="`pwd`/src/ircd")
AC_ARG_ENABLE(nospoof, [ --enable-nospoof Enable spoofing protection], AC_DEFINE(NOSPOOF))
AC_ARG_ENABLE(hub, [ --enable-hub Compile as a hub server], AC_DEFINE(HUB))
AC_ARG_ENABLE(ssl, [ --enable-ssl Enable client and server SSL connections ], AC_ENABLE_SSL)
AC_ARG_ENABLE(dynamic-linking, [ --enable-dynamic-linking Make the IRCd dynamically link shared objects rather than statically ], AC_ENABLE_DYN, AC_DEFINE(STATIC_LINKING))
AC_ARG_ENABLE(inet6, [ --enable-inet6 Make the IRCd support IPv6 ], AC_ENABLE_INET6)
AC_ARG_ENABLE(standardthreads, [ --enable-standardthreads Use standard threads ], USESTDTHREAD="1")
AC_SUBST(IRCDDIR)
AC_SUBST(BINDIR)
ACX_PTHREAD
CC="$PTHREAD_CC"
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
IRCDLIBS="$IRCDLIBS $PTHREAD_LIBS"
AC_MSG_CHECKING(if FD_SETSIZE is large enough to allow $ac_fd file descriptors)
AC_TRY_RUN([
#include <sys/types.h>
#include <sys/time.h>
int main() {
if (FD_SETSIZE >= $ac_fd)
exit(0);
exit(1);
}
], AC_MSG_RESULT(yes), FD_SETSIZE="-DFD_SETSIZE=$ac_fd" AC_MSG_RESULT(no))
AC_SUBST(FD_SETSIZE)
case "${host_cpu}-${host_os}" in
SunOS*5.*)
CFLAGS="$CFLAGS -DSOL20"
;;
*solaris*)
CFLAGS="$CFLAGS -D_SOLARIS"
IRCDLIBS="$IRCDLIBS -lresolv "
;;
*AmigaOS*68020*)
CFLAGS="$CFLAGS -D_AMIGA -m68020"
;;
*AmigaOS*68030*)
CFLAGS="$CFLAGS -D_AMIGA -m68030"
;;
*AmigaOS*68040*)
CFLAGS="$CFLAGS -D_AMIGA -m68040"
;;
*AmigaOS*68060*)
CFLAGS="$CFLAGS -D_AMIGA -m68060"
;;
esac
AC_OUTPUT(Makefile src/modules/Makefile unreal)
chmod 0700 unreal
+53
View File
@@ -0,0 +1,53 @@
/*
Unreal Internet Relay Chat Daemon
Copyright (C) Carsten V. Munk 2000
NOTE: Those words are not meant to insult you (the user)
but is meant to be a list of words so that the +G channel/user mode
will work properly. You can easily modify this file at your will.
If you got words to add to this file, please mail badwords@tspre.org
This is some filling space, scroll down to see the words
*/
badword channel { word "pussy"; };
badword channel { word "fuck"; };
badword channel { word "whore"; };
badword channel { word "slut"; };
badword channel { word "shit"; };
badword channel { word "asshole"; };
badword channel { word "bitch"; };
badword channel { word "cunt"; };
badword channel { word "vagina"; };
badword channel { word "penis"; };
badword channel { word "jackass"; };
badword channel { word "*fucker*"; };
badword channel { word "faggot"; };
badword channel { word "fag"; };
badword channel { word "horny"; };
badword channel { word "gay"; };
badword channel { word "dickhead"; };
badword channel { word "sonuvabitch"; };
badword channel { word "*fuck*"; };
badword channel { word "boobs"; };
badword channel { word "tits"; };
+53
View File
@@ -0,0 +1,53 @@
/*
Unreal Internet Relay Chat Daemon
Copyright (C) Carsten V. Munk 2000
NOTE: Those words are not meant to insult you (the user)
but is meant to be a list of words so that the +G channel/user mode
will work properly. You can easily modify this file at your will.
If you got words to add to this file, please mail badword messages@tspre.org
This is some filling space, scroll down to see the words
*/
badword message { word "pussy"; };
badword message { word "fuck"; };
badword message { word "whore"; };
badword message { word "slut"; };
badword message { word "shit"; };
badword message { word "asshole"; };
badword message { word "bitch"; };
badword message { word "cunt"; };
badword message { word "vagina"; };
badword message { word "penis"; };
badword message { word "jackass"; };
badword message { word "*fucker*"; };
badword message { word "faggot"; };
badword message { word "fag"; };
badword message { word "horny"; };
badword message { word "gay"; };
badword message { word "dickhead"; };
badword message { word "sonuvabitch"; };
badword message { word "*fuck*"; };
badword message { word "boobs"; };
badword message { word "tits"; };
Executable
+25
View File
@@ -0,0 +1,25 @@
#!/bin/sh
DATE=`date +%Y%m%d-%H%M%S`
HOSTNAME=`hostname`
USERNAME=`whoami`
BUGREPORT=bugreport.$HOSTNAME.$USERNAME.$DATE.txt
echo "UnrealIRCd Bug Report" > $BUGREPORT
echo "---------------------" >> $BUGREPORT
echo "" >> $BUGREPORT
echo "Made at `date`">> $BUGREPORT
echo "`src/ircd -v`" >> $BUGREPORT
echo "Operating system:" >> $BUGREPORT
ls -l *core* >> $BUGREPORT
uname -a >> $BUGREPORT
gdb -x .bugreport.gdb src/ircd *core* >> $BUGREPORT 2>&1
cat |sendmail -t << __EOF__&
To: bugs-unreal@tspre.org
From: autobugreport@unrealircd.com
Subject: Bug report - $BUGREPORT
`cat $BUGREPORT`
.
__EOF__
+1360
View File
File diff suppressed because it is too large Load Diff
Vendored
+1375
View File
File diff suppressed because it is too large Load Diff
Vendored Executable
+5445
View File
File diff suppressed because it is too large Load Diff
-26
View File
@@ -1,26 +0,0 @@
ALN, Alphanumeric System
(C) Stskeeps 2000
ALN is a quick hack to short down usage of bandwidth-using servernames
in prefixes, NICK commands, etc etc. It replaces the name with a
1 or 2 byte prefix in a system, look at src/aln.c for the prefix
types/values. It will be an PROTOCTL, and used in NICK messages and so on,
and introduce a new prefix server<->server called |server. The value of the
server is calculated by a hash value, the scache system, so that the server
can lookup with a new scache function, scache_find_by_hash(int i). The
question of it will conflict in similar-hash server names, is a wonder to me
:P, we will find out, but scache will fail at same time then.
Examples:
& Medb 4 957458466 ~Medb bservice.org D2 0 +iwrx *
:BotService Bot - bservice.org - Owner: terri{J}
where D2 is the hash value of oxygen.phrozen.org (/stats s on a
#define DEVELOP server). irc.flirt.org has hash 96 (ALN code AX) for
instance.
@D2 GLOBOPS :message
will be a message from server with hash D2, found find-by-hash(256)
-48
View File
@@ -1,48 +0,0 @@
From cmunk@draconic.fyremoon.net Wed Apr 5 18:09:55 2000
Date: Wed, 5 Apr 2000 18:07:55 +0100 (BST)
From: "The Nightwalker (Stskeeps)" <cmunk@draconic.fyremoon.net>
To: unreal-dev@lists.sourceforge.net
Subject: [Unreal-dev] P:Lines
Some stuff i got ideas about.. stripping the IP and port from the M:Line
and enforcing the main port to be in a M:line
M:irc.fyremoon.net:*:Forever is gonna start tonight:*
P:ip:flags:password1,password2,password3:port
| | | \- port to bind to
| | |
| | \- Commaseperated lists of accepted passwords
| | * if none
| |
| \--- C = Allow clients
| S = Allow servers
| R = ONLY allow our remote admin connections
| (may only be on a P:line of its own)
| J = Clients that connect here are counted as Java(Confroomhack)
| * = CS
|
\--- IP to bind to, * = INADDR_ANY (all interfaces)
Will make P:Lines more efficent
---------------------------------------------------------------------
Carsten V. Munk - The Nightwalker, known on IRC as Stskeeps or techie
* ICQ: 16465977 - E-Mail: stskeeps@tspre.org
* Author of UnrealIRCd (http://unreal.tspre.org)
* Technical Admin @ irc.roxnet.org, server admin of irc.fyremoon.net
"To understand a program you must become both the machine and the program."
----------------------------------------------------------------------
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CC d- s: a--- C+++ UL P L++ E-- W++ N+ o-- K- w--- O- M V-- PS+ PE- Y+
PGP t+ 5 X R- tv- b+ DI++ D++ G e-- h! r z**
------END GEEK CODE BLOCK------
_______________________________________________
Unreal-dev mailing list
Unreal-dev@lists.sourceforge.net
http://lists.sourceforge.net/mailman/listinfo/unreal-dev
+142
View File
@@ -0,0 +1,142 @@
/************************************************************************
* IRC - Internet Relay Chat, doc/AUTHORS
* Copyright (C) 1990
*
* AUTHORS FILE:
* This file attempts to remember all contributors to the IRC
* developement. Names can be only added this file, no name
* should never be removed. This file must be included into all
* distributions of IRC and derived works.
*
* 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.
*/
IRC was conceived of and written by Jarkko Oikarinen <jto@tolsun.oulu.fi>.
IRC was originally written in University of Oulu, Computing Center.
Jan 1991 - IRC 2.6 jto@tolsun.oulu.fi
- Multiple Channels and protocol changes
Contributions were made by a cast of dozens, including the following:
Markku Jarvinen <mta@tut.fi>: Emacs-like editing facility for the client
Kimmo Suominen <kim@kannel.lut.fi>: HP-UX port
Jeff Trim <jtrim@orion.cair.du.edu>: enhancements and advice
Vijay Subramaniam <vijay@lll-winken.llnl.gov>: advice and ruthless publicity
Karl Kleinpaste <karl@cis.ohio-state.edu>: user's manual
Greg Lindahl <gl8f@virginia.edu>: AUTOMATON code, the Wumpus GM automaton,
myriad bug fixes
Bill Wisner <wisner@hayes.fai.alaska.edu>: numerous bug fixes and code
enhancements
Tom Davis <conslt16@zeus.unl.edu> and Tim Russell <russell@zeus.unl.edu>:
VMS modifications
Markku Savela <msa@tel4.tel.vtt.fi>: advice, support, and being the
incentive to do some of our *own* coding. :)
Tom Hopkins <hoppie@buengf.bu.edu>: bug fixes, quarantine lines,
consolidation of various patches.
Christopher Davis <ckd@cs.bu.edu>: EFnet/Anet gateway coding,
many automata ;), documentation fixing.
Helen Rose <hrose@cs.bu.edu>: documentation updating, and fixing.
Tom Hinds <rocker@bucsf.bu.edu>: emacs client updating.
Tim Miller <cerebus@bu-pub.bu.edu>: various server and client-breaking
features.
Darren Reed <avalon@coombs.anu.edu.au>: various bug fixes and enhancements.
Introduced nickname and channelname hash tables into the server.
The version 2.2 release was coordinated by Mike Bolotski
<mikeb@salmon.ee.ubc.ca>.
The version 2.4 release was coordinated by Markku Savela and
Chelsea Ashley Dyerman
The version 2.5.2 release was coordinated by Christopher Davis, Helen Rose,
and Tom Hopkins.
The versions 2.6.2, 2.7 and 2.8 releases were coordinated by Darren Reed.
Contributions for the 2.8 release from the following people:
Matthew Green <phone@coombs.anu.edu.au>
Chuck Kane <ckane@ece.uiuc.edu>
Matt Lyle <matt@oc.com>
Vesa Ruokonen <ruokonen@lut.fi>
Markku Savela <Markku.Savela@vtt.fi> / April 1990
Fixed various bugs in 2.2PL1 release server (2.2msa.4) and changed
sockets to use non-blocking mode (2.2msa.9). [I have absolutely
nothing to do with clients :-]
Chelsea Ashley Dyerman <chelsea@earth.cchem.berkeley.edu> / April 1990
Rewrote the Makefiles, restructuring of source tree. Added libIrcd.a to
the Makefile macros, numerous reformatting of server text messages, and
added mkversion.sh to keep track of compilation statistics. Numerous
bug fixes and enhancements, and co-coordinator of the 2.4 release.
Jarle Lyngaas (nmijl@alf.uib.no) added Note functions to ircd.
Armin Gruner <gruner@informatik.tu-muenchen.de> / May, June 1990:
* Patched KILL-line feature for ircd.conf, works now.
Enhancement: Time intervals can be specified in passwd-field.
Result: KILL-Line is only active during these intervals
* Patched PRIVMSG handling, now OPER can specify masks for sending
private messages, advantage: msg to all at a specified server or host.
* Little tests on irc 2.5 alpha, fixed some little typos in client code.
Change: common/debug.c has been moved to ircd/s_debug.c, and a
irc/c_debug.c has been created, for the benefit that wrong server msg
are displayed if client does not recognize them. (strange, if a server
sends an 'unknown command', isn't it?)
Tom Hopkins <hoppie@buengf.bu.edu> / September, October 1990:
* Patched msa's K lines for servers (Q lines).
* Consolidated several patches, including Stealth's logging patch.
* Fixed several minor bugs.
* Has done lots of other stuff that I can't seem to remember, but he
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.. :/
Thanks go to those persons not mentioned here who have added their advice,
opinions, and code to IRC.
Various modifications, bugreports, cleanups and testing by:
Hugo Calendar <hugo@ucscb.ucsc.edu>
Bo Adler <adler@csvax.cs.caltech.edu>
Michael Sandrof <ms5n+@andrew.cmu.edu>
Jon Solomon <jsol@cs.bu.edu>
Jan Peterson <jlp@hamblin.math.byu.edu>
Nathan Glasser <nathan@brokaw.lcs.mit.edu>
Helen Rose <hrose@eff.org>
Mike Pelletier <stealth@caen.engin.umich.edu>
Basalat Ali Raja <gwydion@tavi.rice.edu>
Eric P. Scott <eps@toaster.sfsu.edu>
Dan Goodwin <fornax@wpi.wpi.edu>
Noah Friedman <friedman@ai.mit.edu>
[ $Id$ ]
+128
View File
@@ -0,0 +1,128 @@
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
@@ -0,0 +1,16 @@
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
@@ -0,0 +1,34 @@
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
@@ -0,0 +1,41 @@
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$ ]
+86
View File
@@ -0,0 +1,86 @@
/************************************************************************
* IRC - Internet Relay Chat, doc/etiquette
* Copyright (C) 1990, Lea Viljanen and Ari Husa
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
HOW TO BEHAVE ON IRC
Authors: Lea Viljanen (LadyBug) viljanen@kreeta.helsinki.fi
Ari Husa (luru) so-luru@tolsun.oulu.fi
1) Language
The most widely understood and spoken language on IRC is English.
However! As IRC is used in many different countries, English is by
no means the only language. If you want to speak some other language
than English (for example with your friends), go to a separate channel
and set the topic (with /topic) to indicate that. For example
/topic Finnish only!
would mean that this channel would be reserved for Finnish discussion.
On the other hand, you should check the topic (with /list command)
before you move to a channel to see if there are any restrictions about
language.
On a channel not restricted by /topic, please speak a language
everybody can understand. If you want to do otherwise, change channels
and set the topic accordingly.
2) Hello/Goodbye
It's not necessary to greet everybody on a channel personally.
Usually one "Hello" or equivalent is enough. And don't expect everybody
to greet you back. On a channel with 20 people that would mean one
screenful of hellos. It's sensible not to greet, in order not to be rude
to the rest of the channel. If you must say hello, do it with a private /msg.
The same applies to goodbyes.
3) Discussion
When you come to a new channel it's advised you to listen
for a while to get an impression of what's discussed. Please feel free
to join in, but do not try to force your topic into the discussion
if that doesn't come naturally.
4) {}|[]\
IRC has quite a lot of people from Scandinavian countries,
the above characters are letters in their alphabet. This
has been explained on IRC about a thousand and one times, so
read the following, do not ask it on IRC:
{ is an A with 2 dots over it
} is an A with a small circle above it
| is either an O with 2 dots over it or an O with a dash (/) through it
[, ], and \ are the preceding three letters in upper case.
There are a lot of people from Japan as well, who use Kanji characters
which may look quite exotic as well. As I don't know Kanji I don't
even try to explain any of the characters.
5) ATTENTION!
Remember, people on IRC form their opinions about you only by
your actions, writings and comments on IRC. So think before you type.
Do not "dump" to a channel or user (send large amounts of unwanted
information). This is likely to get you /kicked off the channel or
/killed off from irc. Dumping causes network 'burbs', connections going
down because servers cannot handle the large amount of traffic any more.
File diff suppressed because it is too large Load Diff
+41
View File
@@ -0,0 +1,41 @@
Some minor rules about patches & modifications to UnrealIRCd
1. When making a change, always add a small description in Changes, in the
BOTTOM
2. If new files are made, it must contain proper copyright headers,
and a $Id$ somewhere.
3. /*
* These kind of comments
*/
NOT
// These kind of comments
4. if (something == 1)
{
moo; /* comment */
/* This does what what what */
cow(go(moo));
}
NOT
if (something == 1) {
}
5. Do not touch version.c.SH or version.h, unless you are a head coder
if you need a credit in, contact us
6. Patches are submitted to coders@lists.unrealircd.org,
using "cvs diff -u > patchname". A submision must contain description of
what it does, etc.
7. Protocol changes must be discussed before making patches for it.
8. We do NOT rip people off. If we use other people's code, it MUST be
properly credited.
+334
View File
@@ -0,0 +1,334 @@
Written by ^MrMike^ (mike@sector001.org) for the UnrealIRCd
Modified by codemastr to include a few other commands
(note, this file will be updated in CVS asap)
PRIVMSG
- Used to send a message to a person or a channel
Syntax: MSG <nick>,<nick2>,<nick3>,<nick4> <text>
Example: PRIVMSG Stskeeps :Hello. Unreal is a very good ircd.
Example: PRIVMSG Stskeeps,codemastr,DrBin :Hello Unreal Coding Team
NOTICE
- Mainly used for one-time communication or for the results of a command.
Syntax: NOTICE <nick>,<nick2>,<nick3>,<nick4> <text>
Example: NOTICE codemastr :Hi. How are you?
Example: NOTICE codemastr,Stskeeps :Hi codemastr and Stskeeps.
MODE
- Used to change the mode of a channel or a user. You can only change modes for channel you are an Operator or Half-Op on. Also, you can only changes user modes for yourself.
Syntax: MODE <channel/user> <mode>
Example: MODE #UnrealIRCD +tn
Example: MODE #UnrealIRCD +ootn codemastr Stskeeps
NICK
- Changes your "online identity" on a server. All those in the channel you are in will be alerted of your nickname change.
Syntax: NICK <new nickname>
Example: NICK |codemastr|
JOIN
- Used to enter one or more channels on an IRC server. All occupants of the channel will be notified of your arrival.
Syntax: JOIN <chan>,<chan2>,<chan3>
Example: JOIN #UnrealIRCD
Example: JOIN #UnrealIRCD,#OperHelp
PING
- Determines the amount of lag (time it takes for a response to reach a person and come back) between yourself and someone else.
Syntax: PING <user>
Example: PING Stskeeps
WHOIS
- Shows information about the user in question, such as their "name", channels they are currently in, their hostmask, etc.
Syntax: WHOIS <user>
Example: WHOIS DrBin
ISON
- Used to determine of a certain user or users are currently on the IRC server based upon their nickname.
Syntax: ISON <user> <user2> <user3> <user4>
Example: ISON Stskeeps DrBin codemastr NickServ ChanServ OperServ MemoServ
USER
- Used during registration to server (i.e. during inital connection sequence.)
PART
- Used to part (or leave) a channel you currently occupy. All those in the channel will be notified of your departure.
Syntax: PART <chan>,<chan2>,<chan3>,<chan4>
Example: PART #UnrealIRCD
Example: PART #UnrealIRCD,#OperHelp
QUIT
- Disconnects you from the IRC server. Those in the channels you occupy will be notified of your departure. If you do not specify a reason, your nickname becomes the reason.
Syntax: QUIT <reason>
Example: QUIT Leaving!
USERHOST
- Returns the userhost of the user in question. Usually used by scripts or bots to retrieve userhost information.
Syntax: USERHOST <nickname>
Example: USERHOST codemastr
SVSNICK
- Can only be used by a U:Lined server (i.e. services). Changes the nickname of the user in question.
Syntax: SVSNICK <nickname> <new nickname> :<timestamp>
Example: SVSNICK Stskeeps Techie :963086432
SVSMODE
- Can only be used by a U:Lined server (i.e. services). Changes the mode of the channel or user in question.
Syntax: SVSMODE <channel/user> :<mode>
Example: SVSMODE #UnrealIRCD :+o Stskeeps
Example: SVSMODE codemastr :+i
LUSERS
- Provides local and global user information (such as current and maximum user count).
Syntax: LUSERS <server>
CHANSERV
- Will send a secure message to ChanServ. Similar to /msg ChanServ, but more secure. May not work if server is configured improperly.
TOPIC
- Sets/Changes the topic of the channel in question, or just display the current topic.
Syntax: TOPIC <channel>
Syntax: TOPIC <channel> <topic>
Example: TOPIC #operhelp
Example: TOPIC #UnrealIRCD Welcome to the Unreal IRCD Home Channel.
INVITE
- Sends a user an invitation to join a perticular channel. You must be an operator on the channel in order to invite a user into it.
Syntax: INVITE <user> <channel>
Example: INVITE codemastr #OperHelp
KICK
- Removes a user from a channel. Can only be used by Operators or Half-Ops. If no reason is specified, your nickname becomes the reason.
Syntax: KICK <channel> <user> <reason>
WALLOPS
- Sends a "message" to all those with the umode +w. Only IRCops can send wallops, while anyone can view them.
Syntax: WALLOPS <message>
KILL
- Forcefully disconnects a user from an IRC Sever. Can only be used by IRCops.
Syntax: KILL <user> <reason>
Example: KILL Clone5 Cloning is not allowed
AWAY
- Sets your online status to "away".
Syntax: AWAY <reason> (AWAY without a reason will unset you away)
Example: AWAY Walking the dog...
SQUIT
- Disconnects an IRC Server from the network
Syntax: SQUIT <server>
Example: SQUIT leaf.*
WHO
- Searches user information (-i users only) for supplied information. IRCops are a ble to search +i users.
Syntax: WHO <search>
Example: WHO *.aol.com
WHOWAS
- Retrieves previous 'WHOIS' information for users no longer connected to the server.
Syntax: WHOWAS <nickname>
Example: WHOWAS Stskeeps
LIST
- Provides a complete listing of all channels on the network. If a search string is specified, it will only show those matching the search string.
Syntax: LIST <search string>
Example: LIST
Example: LIST *ircd*
NAMES
- Provides a list of users on the specified channel.
Syntax: NAMES <channel>
Example: NAMES #help
OPER
- Attempts to give a user IRCop status.
Syntax: OPER <uid> <pass>
Example: OPER codemastr codeit
CONNECT
- Links another IRC server to the one you are currently on. Remote connections are also possible.
Syntax: CONNECT <server>
Syntax: <CONNECT> <hub> <port> <leaf>
Example: CONNECT leaf.*
Example: CONNECT hub.* 6667 leaf.*
VERSION
- Provides version information of the IRCD software in usage.
Syntax: VERSION
STATS
- Provides certain statistical information about the server (for example, u will provide uptime information).
Syntax: STATS <letter>
Example: STATS u
LINKS
- Lists all of the servers currently linked to the network.
Syntax: LINKS
ADMIN
- Provides administrative information regarding the server.
Syntax: ADMIN <server>
SAMODE
- Allowed a services administrator to change the mode on a channel, without having operator status.
Syntax: SAMODE <channel> <mode>
Example: SAMODE #UnrealIRCD +m
SVSKILL
- Can only be used by a U:Lined server. Forcefully disconnects a user from the network.
Syntax: SVSKILL <user> <reason>
Example: SVSKILL codemastr Goodbye
SVSNOOP
- Can only be used by a U:Lined server. Enabled or disables whether Global IRCop functions exist on the server in question or not.
Syntax: SVSNOOP <server> <+/->
Example: SVSNOOP leaf.* -
MOTD
- Displays the Message of the Day.
Syntax: MOTD
Syntax: MOTD <server>
KLINE
- "Bans" a hostmask from connection to the IRC server.
Syntax: KLINE <hostmask> <reason>
Example: KLINE *@*.aol.com Abuse
UNKLINE
- Removes a k:line from the server.
Syntax: UNKLINE <hostmask>
Example: UNKLINE *@*.aol.com
ZLINE
- Disables all access to the IRC server from a specified IP.
Syntax: ZLINE <ip>
Example: ZLINE 127.0.0.1
UNZLINE
- Removes a currently active z:Line.
Syntax: UNZLINE <ip>
Example: ZLINE 127.0.0.1
GLOBOPS
- Sends a global "message" to all IRCops. Only viewable by IRCops (unlike WallOps, which can be viewed by normal users).
Syntax: GLOBOPS <message>
Example: GLOBOPS Going to be akilling those clones...
CHATOPS
- GLOBOPS is usually reserved for important network information. Therefore, for Oper Chat, CHATOPS was invented. IRCops with the +c flag enabled will be able to send/receive CHATOPS messages.
Syntax: CHATOPS <message>
Example: CHATOPS How's everyone doing today?
LOCOPS
- Similar to GLOBOPS, except only received by those IRCops local to your server.
Syntax: LOCOPS <message>
Example: LOCOPS Going to be adding a temp k:line for that user...
REHASH
- Prompts the server to reread its configuration file (ircd.conf). Will also remove any temporarly lines (i.e. k:line).
Syntax: REHASH
RESTART
- Kills and restarts the irc daemon, disconnecting all users currently on that server.
Syntax: RESTART
Syntax: RESTART <password>
DIE
- Kills the irc daemon, disconnecting all users currently on that server.
Syntax: DIE
Syntax: DIE <password>
RULES
- Reads the rules.conf file and sends the contents to the user.
Syntax: RULES
MAP
- Provides a "network map" of the IRC network. Mainly used for routing purposes.
Syntax: MAP
DALINFO
- Original DALnet ircd credits.
Syntax: DALINFO
MKPASSWD
- Used for generating an encrypted password. Mainly used for encrypted O:Line passwords.
Syntax: MKPASSWD <password>
Example: MKPASSWD codeit
ADDLINE
- Adds a line to the server's ircd.conf file. After added, you must REHASH the server for it to take affect.
Syntax: ADDLINE <line>
Example: ADDLINE C:127.0.0.1:server.dal.net:linking:7325:50
TECHAT
- Similar to CHATOPS, but only Technical Admins are able to send/receive messages on this "channel".
Syntax: TECHAT <message>
Example: TECHAT What do you think of the new routing map?
NACHAT
- Similar to CHATOPS (and TECHAT), but only Network Admins are able to send/recieve messages.
Syntax: NACHAT <message>
Example: NACHAT Linking a new server in a couple minutes...
KNOCK
- For channels which are invite only, you can "knock" on the channel to request an invite.
Syntax: KNOCK <channel> <message>
Example: KNOCK #secret_chan I'm an op, let me in!
CREDITS
- Credits for Unreal IRCD.
Syntax: CREDITS
LICENSE
- GPL information.
Syntax: LICENSE
SVSJOIN
- Forces a user to join a channel. Can only be used by a U:Lined server.
Syntax: SVSJOIN <nick> <channel>
Example: SVSJOIN codemastr #jail
SAJOIN
- Forces a user to join a channel. Can only be used by a Services Admin.
Syntax: SAJOIN <nick> <channel>
Example: SAJOIN Stskeeps #OperHelp
SVSPART
- Forces a user to leave a channel. Can only be used by a U:Lined server.
Syntax: SVSPART <nick> <channel>
Example: SVSPART codemastr #jail
SAPART
- Forces a user to leave a channel. Can only be used by a Services Admin.
Syntax: SAPART <nick> <channel>
Example: SAPART Stskeeps #OperHelp
SETHOST
- Changes the hostname of yourself. Only available to IRCops.
Syntax: SETHOST <host>
Example: SETHOST coder.tspre.org
SETIDENT
- Changes the ident of yourself. Only available to IRCops.
Syntax: SETIDENT <ident>
Example: SETIDENT coder
SETNAME
- Changes the "IRC Name" (or "Real Name") of yourself. Available to everyone.
Syntax: SETNAME <name>
Example: SETNAME Unreal Coding Team Member
CHGHOST
- Changes the hostname of a user currently on the IRC network. Only available to IRCops.
Syntax: CHGHOST <nick> <host>
Example: CHGHOST codemastr coder.tspre.org
CHGIDENT
- Changes the ident of a user currently on the IRC network. Only available to IRCops.
Syntax: CHGIDENT <nick> <ident>
Example: CHGIDENT codemastr coder
CHGNAME
- Changes the "IRC Name" (or "Real Name") of a user currently on the IRC network. Only available to IRCops.
Syntax: CHGNAME <nick> <name>
Example: CHGNAME codemastr Unreal Coding Team Member
+1762
View File
File diff suppressed because it is too large Load Diff
+723
View File
@@ -0,0 +1,723 @@
/*
* example.conf by Daniel Hawton AKA Osiris (osiris@unrealircd.org) Last
* updated 2. August 2001
*
* Works for Unreal3.2 and up
*
* Okay guys. This is the new example.conf. Its look is much like C++, kinda.
* Anyway it is time to go over this. It's hard to pick up at first, but
* with some pratice and reading you'll understand.
*
* NOTE: All lines, except the opening { line, end in an ;, including the
* closing } line. The IRCd will ignore commented lines.
*/
/* Type of comments */
#Comment type 1 (Shell type)
// Comment type 2(C++ style)
/* Comment type 3 (C Style) */
#those lines are ignored by the ircd.
/*
* NEW: me {}
* OLD: M:Line
* me {} defines the name, description and unreal server numeric for
* this server. Syntax is as follows:
* me {
* name "server.name";
* info "Server Description";
* numeric (server numeric*);
* };
* If linking, this numeric may not be used by any other server on the network.
*/
me
{
name "irc.foonet.com";
info "FooNet Server";
numeric 1;
};
/*
* NEW: admin {}
* OLD: A:Line Admin gives information on the server admin. you
* may put as many lines under admin { as you wish.
* Syntax is as follows:
* admin {
* "first line";
* "second line";
* [etc]
* };
*/
admin {
"Bob Smith";
"bob";
"widely@used.name";
};
/*
* NEW: class {}
* OLD: Y:line (old was confusing)
* These define settings for classes. A class is a group setting for
* connections. Example, server connections, instead of going to a client's
* class, you direct it to the server class. Syntax is as follows
* class (class name)
* {
* pingfreq (how often to ping a user/server in seconds);
* maxclients (how many connections for this class);
* sendq (maximum send queue from a connection);
* };
*/
class clients
{
pingfreq 90;
maxclients 500;
sendq 100000;
};
class servers
{
pingfreq 90;
maxclients 10; /* Max servers we can have linked at a time */
sendq 1000000;
connfreq 100; /* How many seconds between each connection attempt */
};
/*
* NEW: allow {}
* OLD: I:Line
* This defines allowing of connections...
* Basically for clients, it allows them to connect so you can have some
* control and/or set a password.
* Syntax is as follows:
* allow {
* ip (ip mask to allow);
* hostname (host mask);
* class (class to send them to [see class {}]);
* password "(password)"; (optional)
* maxperip (how many connections per ip); (optional)
* };
*/
allow {
ip *;
hostname *;
class clients;
maxperip 5;
};
/* Passworded allow line */
allow {
ip *@*;
hostname *@*.passworded.ugly.people;
class clients;
password "f00Ness";
maxperip 1;
};
/*
* NEW: allow channel {}
* OLD: chrestrict
* Allows a user to join a channel...
* like an except from deny channel.
* Syntax:
* allow channel {
* channel "channel name";
* };
*/
allow channel {
channel "#WarezSucks";
};
/*
* NEW: oper {}
* OLD: O:Line
* Defines an IRC Operator
* IRC operators are there to keep sanity to the server and usually keep it
* maintained and connected to the network.
* The syntax is as follows:
* oper (login) {
* class (class to put them in, if different from I, moves them to new
* class);
* from {
* userhost (ident@host);
* userhost (ident@host);
* };
* flags
* {
* (flags here*);
* };
* OR
* flags "old type flags, like OAaRD";
* };
*/
/* OLD OPER FLAG | NEW FLAG NAME
O global
o local
a services-admin
A admin
r can_rehash
e eyes
D can_die
R can_restart
h helpop
w can_wallops
g can_globops
c can_localroute
L can_globalroute
k can_localkill
K can_globalkill
b can_kline
Z can_gzline
t can_gkline
B can_unkline
n can_localnotice
G can_globalnotice
N netadmin
T techadmin
C coadmin
u get_umodec
f get_umodef
z can_zline
W get_umodew
^ can_stealth
H get_host
*/
/*
Note: get_umodec get_umodef techadmin and eyes
are no longer used and will probably be removed
soon
*/
oper bobsmith {
class clients;
from {
userhost bob@smithco.com;
};
password "f00";
flags
{
netadmin;
global;
};
};
/*
* NEW: listen {}
* OLD: P:Line
* This defines a port for the ircd to bind to, to
* allow users/servers to connect to the server.
* Syntax is as follows:
* listen (ip number):(port number)
* {
* options {
* (options here);
* };
* };
* or for a plain
* listen: listen (ip):(port);
*
* NOTICE: for ipv6 ips (3ffe:b80:2:51d::2 etc), use listen [ip]:port;
*
* That works also.
*/
/* Options for listen:
OLD | NEW
S serversonly
C clientsonly
J java
s ssl
* standard
*/
listen *:6601
{
options
{
ssl;
clientsonly;
};
};
listen *:8067;
listen *:6667;
/*
* NEW: link {}
* OLD: C/N:Lines
* This defines an okay for a server connection.
* NOTE: BOTH SERVERS NEED A LINK {} SETTING TO CONNECT PROPERLY!
* Syntax is as follows:
* link (server name)
* {
* username (username, * works too);
* hostname (ip number/hostmask);
* bind-ip (What IP to bind to when connecting, or *);
* port (port to connect to, if any);
* 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)";
* class (class to direct servers into);
* options {
* (options here*);
* };
* };
*/
/*
options:
OLD | NEW
S ssl
Z zip
N/A autoconnect
N/A quarantine
*/
link hub.mynet.com
{
username *;
hostname 1.2.3.4;
bind-ip *;
port 7029;
hub *;
password-connect "LiNk";
password-receive "LiNk";
class servers;
options {
autoconnect;
ssl;
zip;
};
};
/*
*
* NEW: ulines {}
* OLD: U:Line
* Lets these server's clients do pretty much anything.
* Syntax is as follows:
* ulines {
* (server to uline);
* (server to uline);
* };
* You may put as many servers in there as you like.
*/
ulines {
services.roxnet.org;
stats.roxnet.org;
};
/*
* NEW: drpass {}
* OLD: X:Line
* This defines the passwords for /die and /restart.
* Syntax is as follows:
* drpass {
* restart "(password for restarting)";
* die "(password for die)";
* };
*/
drpass {
restart "I-love-to-restart";
die "die-you-stupid";
};
/*
* NEW: log {} OLD: N/A Tells the ircd where and what to log(s). You can have
* as many as you wish.
*
* FLAGS: errors, kills, tkl, connects, server-connects, kline, oper
*
* NOTICE: Right now, SEGV messages are *always* sent to ircd.log. codemastr is
* working on a way to redirect the messages to this log file. *
* Syntax:
* log "log file"
* {
* flags
* {
* flag;
* flag;
* etc..
* };
* };
*/
log "ircd.log" {
/* Delete the log file and start a new one when it reaches 2MB, leave this out to always use the
same log */
maxsize 2097152;
flags {
oper;
kline;
connects;
server-connects;
kills;
errors;
};
};
/*
* NEW: alias {}
* OLD: N/A
* This allows you to set command aliases such as /nickserv, /chanserv etc
* FLAGS: services, stats, normal
*
* Syntax:
* alias "name" {
* nick "points to";
* type aliastype;
* };
*/
// This points the command /nickserv to the user NickServ who is connected to the set::services-name server
/*alias NickServ {
nick "NickServ";
type services;
};*/
// If you want the command to point to the same nick as the command, you can leave the nick entry out
//alias ChanServ { type services; };
// Points the /statserv command to the user StatServ on the set::stats-name server
//alias StatServ { type stats; };
// Points the /superbot command to the user SuperBot
//alias SuperBot { type normal; };
/* Standard aliases */
alias NickServ { type services; };
alias ChanServ { type services; };
alias OperServ { type services; };
alias HelpServ { type services; };
alias StatServ { type stats; };
/*
* NEW: alias {}
* OLD: N/A
* This allows you to set command aliases such as /identify, /services, etc
*
* Syntax:
* alias "name" {
* format "format string" {
* alias "points to";
* parameters "parameters to send";
* };
* type command;
* };
*/
/* This is shown seperately because even though it has teh same name as the previous directive, it is very
* different in syntax, although it provides a similar function and relys on the standard aliases to work.
*/
/*
alias "identify" {
format "^#" {
alias "chanserv";
parameters "IDENTIFY %1-";
};
format "^[^#]" {
alias "nickserv";
parameters "IDENTIFY %1-";
};
type command;
};
*/
/* The alias::format directive is a regular expression. The first format matches the /identify command when
* the first character is a #. It then passes this along to the chanserv alias with the parameters IDENTIFY
* %1-. The second format matches then /identify command when the first character is not a #. It then
* passes the command to the nickserv alias with parameters IDENTIFY %1-.
*/
/* The alias::format::parameters is similar to scripting languages. %N (where N is a number) represents a
* parameter sent to the command (in this case /identify). If you specify %N- it means all parameters from
* N until the last parameter in the string.
*/
/* Standard aliases */
alias "services" {
format "^#" {
alias "chanserv";
parameters "%1-";
};
format "^[^#]" {
alias "nickserv";
parameters "%1-";
};
type command;
};
alias "identify" {
format "^#" {
alias "chanserv";
parameters "IDENTIFY %1-";
};
format "^[^#]" {
alias "nickserv";
parameters "IDENTIFY %1-";
};
type command;
};
/*
* NEW: tld {}
* OLD: T:Line
* This sets a different motd and rules files
* depending on the clients hostmask.
* Syntax is as follows:
* tld {
* mask (ident@host);
* motd "(motd file)";
* rules "(rules file)";
* };
*/
tld {
mask *@*.fr;
motd "ircd.motd.fr";
rules "ircd.rules.fr";
};
/*
* NEW: ban nick {}
* OLD: Q:Line
* Bans a nickname, so it can't be used.
* Syntax is as follows:
* ban nick {
* mask "(nick to ban)";
* reason "(reason)";
* };
*/
ban nick {
mask "*C*h*a*n*S*e*r*v*";
reason "Reserved for Services";
};
/*
* NEW: ban ip {}
* OLD: Z:Line
* Bans an ip from connecting to the network.
* Syntax:
* ban ip { mask (ip number/hostmask); reason "(reason)"; };
*/
ban ip {
mask 195.86.232.81;
reason "Delinked server";
};
/*
* NEW: ban server {}
* OLD: Server Q:Line
* Disables a server from connecting to you.
* Syntax is as follows:
* ban server {
* mask "(server name)";
* reason "(reason to give)";
* };
*/
ban server {
mask eris.berkeley.edu;
reason "Get out of here.";
};
/*
* NEW: ban user {}
* OLD: K:Line
* This makes it so a user from a certain mask can't connect
* to your server.
* Syntax:
* ban user { mask (hostmask/ip number); reason "(reason)"; };
*/
ban user {
mask *tirc@*.saturn.bbn.com;
reason "Idiot";
};
/*
* NEW: ban realname {}
* OLD: n:Line
* This bans a certain realname from being used.
* Syntax:
* ban realname {
* mask "(real name)";
* reason "(reason)";
* };
*/
ban realname {
mask "Swat Team";
reason "mIRKFORCE";
};
ban realname {
mask "sub7server";
reason "sub7";
};
/*
* NOTE FOR ALL BANS, they may be repeated for addition entries!
*
* NEW: except ban {}
* OLD: E:Line
* This makes it so you can't get banned.
* Syntax:
* except ban { mask (ident@host); };
* Repeat the except ban {} as many times
* as you want for different hosts.
*/
except ban {
/* don't ban stskeeps */
mask *stskeeps@212.*;
};
/*
* NEW: except socks {}
* OLD: e:Line
* Makes it so scan.so doesn't scan you.
*
* except scan { mask (ip number/hostmask); };
* repeat except scan {} for each ip to except.
*/
except scan {
mask 216.73.27.177;
};
/*
* NEW: deny dcc {}
* OLD: dccdeny.conf
* Use this to block dcc send's... stops
* viruses better.
* Syntax:
* deny dcc
* {
* filename "file to block (ie, *exe)";
* reason "reason";
* };
*/
deny dcc {
filename "*sub7*";
reason "Possible Sub7 Virus";
};
/*
* NEW: deny channel {}
* OLD: N/A (NEW)
* This blocks channels from being joined.
* Syntax:
* deny channel {
* channel "(channel)";
* reason "reason";
* };
*/
deny channel {
channel "*warez*";
reason "Warez is illegal";
};
/*
* NEW: vhost {}
* OLD: Vhost.conf file
* This sets a fake ip for non-opers, or
* opers too lazy to /sethost :P
* Syntax:
* vhost {
* vhost (vhost.com);
* from {
* userhost (ident@host to allow to use it);
* };
* login (login name);
* password (password);
* };
* then to use this vhost, do /vhost (login) (password) in IRC
*/
vhost {
vhost i.hate.microsefrs.com;
from {
userhost *@*.image.dk;
};
login stskeeps;
password moocowsrulemyworld;
};
/* You can include other configuration files */
/* include "klines.conf"; */
/*
* Cloak-keys must be > 10000, and random. MUST be the same all over the
* network
*
* cloak-keys { 39999; 99398; 99397; }; for example
*/
/* Network configuration */
set {
network-name "ROXnet";
default-server "irc.roxnet.org";
services-server "services.roxnet.org";
stats-server "stats.roxnet.org";
help-channel "#ROXnet";
hiddenhost-prefix "rox";
prefix-quit "no";
cloak-keys {
9666;
3333;
3330;
};
/* on-oper host */
hosts {
local "locop.roxnet.org";
global "ircop.roxnet.org";
coadmin "coadmin.roxnet.org";
admin "admin.roxnet.org";
servicesadmin "csops.roxnet.org";
techadmin "techadmin.roxnet.org"; /* depreciated */
netadmin "netadmin.roxnet.org";
host-on-oper-up "no";
};
};
/* Server specific configuration */
set {
kline-address "set.this.email";
modes-on-connect "+xw";
oper-auto-join "#opers";
dns {
nameserver 127.0.0.1;
timeout 2s;
retries 2s;
};
options {
enable-opermotd;
enable-chatops;
hide-ulines;
identd-check;
show-connect-info;
};
socks {
ban-message "Insecure SOCKS server";
quit-message "Insecure SOCKS server";
ban-time "4d";
};
maxchannelsperuser 10;
/* The minimum time a user must be connected before being allowed to use a QUIT message,
* This will hopefully help stop spam */
anti-spam-quit-message-time 10s;
/* This allows you to make certain stats oper only, use * for all stats or leave this out to allow
* all users to use any stats. */
oper-only-stats "okG";
};
/*
* Need more help ?
* 1) Read the documentation like this file
* 2) Come to irc.ircsystems.net #Unreal-Support
* 3) Mail supporters@lists.unrealircd.org
*
* Hope this helps you, -Osiris
*/
+62
View File
@@ -0,0 +1,62 @@
/*
* Example set {} block
*/
set {
/*
* This is the mail users will get shown when k-lined
*/
kline-address "mail.to.mail.to";
/*
* What modes will users get when connecting to this server
*/
modes-on-connect "+ix";
/* What channels users will autojoin */
auto-join "0";
/* What channels opers will autojoin on connect*/
oper-auto-join "0";
/* 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;
/* How long time will we wait for each attempt? */
timeout 2s;
/* How many attempts will we do */
retries 2s;
};
options {
enable-opermotd;
enable-chatops;
hide-ulines;
// webtv-support;
identd-check;
};
socks {
ban-message "Insecure SOCKS server";
quit-message "Insecure SOCKS server";
ban-time "1d";
};
/*
* How many channels each user can join
*/
maxchannelsperuser 10;
/*
* This is a new thing in Unreal3.2.
* You _need_ to make three numbers up, bigger than 100000
* These MUST be the SAME on EVERY server in your NETWORK
* If people discover these keys, it is easier for them to crack
* the +x algoritm.
*/
cloak-keys
{
0;
0;
0;
};
};
+152
View File
@@ -0,0 +1,152 @@
[ $Id$ ]
UnrealIRCd FAQ
Made by Stskeeps
This file will contain frequently asked questions about
Unreal IRCd. If you need more help email stskeeps@tspre.org
1) * I compile and everything seems fine during the compiling, but when it
comes time for the program to link, I get errors complaining about dns and
res things. What causes this?
A: You need to make sure -lresolv is included in the "extra libraries"
option of ./Config (or IRCDLIBS in top-level makefile)
2) * When I start up the IRCd it complains about something with chdir()?
A: You need to make sure the right directory is specified when you was
asked about "What directory are all the server configuration files in?"
./Config question
3) The server says like:
*** Link server1 -> server2 is now synced [secs: 30 recv: 130.4 sent: 120.0]
when I link two servers together, what does that mean?
A: That means the link is "synced" (all infodata transfered about the server).
The "secs" (30 in this example) means it took 30 seconds to do the sync
"recv: 130.4" means there was recieved 130 KiloBytes and 4 bytes.
"sent: 120.0" means there was sent 120 kilobytes from my side.
4) What is a negative TS split?
A: Every computer/server has got a time (so they can do TimeStamps) ..
When the clock on the computer is set wrong and the computer it links
upto is wrong it creates a Negative TS split (means time is lower it
actually is. How to fix this is contacting the root of the machine
and ask him to fix the time (when you made sure it's YOUR server that's
wrong)
5) What is an uProtocol ?
A: UnrealIRCd uses numbers to check if a link is compatible with itself
F.x Unreal v2.1.3 has got number 2103 while version 2.1 only has got
2100 - This means .. if the number is lower/higher than the uProtocol
the server uses, it's an incompatible link (of some reasons)
6) How does T:Lines work and what are they?
A: T:Lines is a new Unreal feature that makes it able to show different
MOTDs and RULES to people who matches a certain hostmask . Lemme show you some examples:
T:*.dk:motds/danish.motd:rules/danish.rules
T:*.fr:motds/french.motd:rules/french.rules
This will get people from Denmark to see the "Danish" MOTD and the "Danish" RULLES
and people from France to see the French ones:)
NOTE: T:Lines are read up side down so if you have a T:*:ircd.motd:ircd.rules in the bottom
it should be at the top so the other motd lines can work as well
7) Where can i download updates to Unreal?
A: Mostly you can download the newest version at
http://www.unrealircd.com
Versions may be spewed out regulary due to new features and bugs..
10) Hosts show up as (null).network.net !!
A: This is because you have forgotten to include the network file.
The correct form is (in unrealircd.conf)
Include ..........: <network file>
If this doesn't work .. seek me at irc.ircsystems.net #unrealircd
12) My IRCd which runs on a FreeBSD says something about FDs and
Max: 0 What shall I do??
A: Well it's somekinda bug but you can workaround it by removing those
lines in src/s_bsd.c: (init_sys())
<- snippet 1 ->
#ifdef RLIMIT_FD_MAX
struct rlimit limit;
int pid;
if (!getrlimit(RLIMIT_FD_MAX, &limit))
{
# ifdef pyr
if (limit.rlim_cur < MAXCONNECTIONS)
#else
if (limit.rlim_max < MAXCONNECTIONS)
# endif
{
(void)fprintf(stderr,"ircd fd table too big\n");
(void)fprintf(stderr,"Hard Limit: %d IRC max: %d\n",
limit.rlim_max, MAXCONNECTIONS);
(void)fprintf(stderr,"Fix MAXCONNECTIONS\n");
exit(-1);
}
# ifndef pyr
limit.rlim_cur = limit.rlim_max; /* make soft limit the max */
if (setrlimit(RLIMIT_FD_MAX, &limit) == -1)
{
(void)fprintf(stderr,"error setting max fd's to %d\n",
limit.rlim_cur);
exit(-1);
}
# endif
}
#endif
<-snippet 2->
#ifdef sequent
# ifndef DYNIXPTX
int fd_limit;
fd_limit = setdtablesize(MAXCONNECTIONS + 1);
if (fd_limit < MAXCONNECTIONS)
{
(void)fprintf(stderr,"ircd fd table too big\n");
(void)fprintf(stderr,"Hard Limit: %d IRC max: %d\n",
fd_limit, MAXCONNECTIONS);
(void)fprintf(stderr,"Fix MAXCONNECTIONS\n");
exit(-1);
}
# endif
#endif
13) I run debian-sparc and i get errors when compiling in match.c
What should I do?
A: If it says like this
<-snippet->
match.c: In function 'myncmp':
match.c:247: argument 'str1' doesn't match prototype
/usr/include/string.h:255: prototype declaration
match.c:247: argument 'str2' doesn't match prototype
/usr/include/string.h:255: prototype declaration
match.c:247: argument 'n' doesn't match prototype
/usr/include/string.h:255: prototype declaration
<-end of snippet>
Then go into include/setup.h and add this line:
#define GOT_STRCASECMP
14) I have my ircd linked to 3.2beta4 and lower servers and people walk
bans!!
In include/config.h, define COMPAT_BETA4_KEYS, and make sure all servers
are using the exact same cloak keys. If you are running pre-3.2 servers
along with 3.2 servers this is unavoidable.
(C) Carsten Munk 1999-2000
(C) also Finny Merrill 2001
+109
View File
@@ -0,0 +1,109 @@
RPL_PROTOCTL (RPL_ISUPPORT):
version: 2.1+ (new version: 3.1+)
This sends a numeric during client signon that lists various features that
Unreal supports. This allows client and script writers to know what features
they can use, and various parameters about the irc server. The numeric
used is '005' to try and maintain some semblance of compatibility with
DALnet which has a similar feature. The 005 numeric may be split across
multiple lines if the length exceeds 512 characters.
The format is:
:servername 005 target feature1 feature2... :are supported by this server.
:servername 005 target feature200... :are supported by this server.
features are either a word describing the feature eg: 'SILENCE', or a word
describing the feature and an equals and a list of parameters.
eg: SILENCE=15 (says that we support silence, and we support up to 15 of
them per user), or FOO=12,3 (says we support FOO with parameters 12 and 3)
for example ircu2.10.08 lists:
:test.undernet.org 005 test SILENCE=15 WHOX WALLCHOPS USERIP CPRIVMSG
CNOTICE MODES=6 MAXCHANNELS=10 MAXBANS=30 NICKLEN=9 TOPICLEN=160
KICKLEN=160
-------------------------------------------------------------------------
UnrealIRCd Supports:
:unreal.server 005 nick MAP KNOCK SAFELIST HCN WATCH=%i SILENCE=%i MODES=%i
MAXCHANNELS=%i MAXBANS=%i NICKLEN=%i TOPICLEN=%i
KICKLEN=%i CHANTYPES=# PREFIX=%s :are supported by this server
Feature "MAP"
-------------
/map shows the servers as the server percieves them, who's connected
to who in a pretty display, with number of users attached to each server
Numerics used:
RPL_MAP (006)
RPL_MAPEND (007)
Feature "KNOCK"
---------------
Command: /KNOCK #Channel :<Reason>
This command will only work if you are not a member of the channel and the
+K (No knocks) mode is not on, and the channel is not +i (and you are not
banned). This will send a notice to ops in the channel, about that the user
"knocked".
Feature "SAFELIST"
------------------
This note means that the user will not get disconnected when doing a /list,
as some IRC networks do
Feature "HCN"
-------------
This is a special feature that you activate using /protoctl +HCN,
that will cause +c notices when being oper, being in the Hybrid IRCd style
Feature "WATCH"
---------------
Parameters: How many watch entries are possible
This will ensure the server is able to do the DALnet WATCH command
Feature "SILENCE"
-----------------
Parameters: How many silence entries you can have
Version: unknown, ircu2.9.32 at least.
Silence is a server side ignore. You can /silence +hostmask or
/silence +nick, to add someone to your silence list, or use /silence
-hostmask to remove it. /silence will list your 'silence list'.
you can /silence nick, to see someone elses silence list (useful for
helping someone). Silence is preferably used as a last resort as it
tends to use server CPU time.
Syntax:
SILENCE +hostmask
SILENCE +nick
SILENCE -hostmask
SILENCE -nick
SILENCE nick
reply:
RPL_SILELIST 217
RPL_ENDOFSILELIST 218
Feature/Modifier "MODES"
------------------------
Parameters: How many modes with parameters you can use in one /mode buffer
Feature/Modifier "MAXCHANNELS"
------------------------------
Parameters: How many channels a normal user can join (opers may have
unlimited)
Feature/Modifier "MAXBANS"
+82
View File
@@ -0,0 +1,82 @@
Services Install Guide For Unreal 3.2 by zyrorl (zyrorl@unrealircd.org)
=======================================================================
last updated: 4/5/2001 (4th May 2001)
First of all you will be required to download a services package for your
network.
A few of the most popular services are:
IRCServices - http://www.ircservices.za.net/
Epona - http://www.pegsoft.net/epona/
Wrecked - http://www.wrecked.net/services/index.html
Magick - http://www.magick.tm/
Sirius - http://ircsystems.net/sirius
After you have downloaded the appropriate services package, you will have to
upload it to your shell, and untar and un-gzip the file by typing: tar -zxvf
services.x.x.tar.gz
Then you will need to enter the directory created by your services package (for
a listing type ls -a) and type ./configure . This will run the configure script
to setup your services. The script will ask you questions regarding the path
want to install your services to, where you want the services data files to be
installed to, encryption options, and the type of ircd that you are using (Most
probably Unreal). If you have previously used any other services package, it
may also ask you if you would like to convert their databases. It may also ask
you if you would like the services to dump a core file when a segmentation fault
occurs so that you can find out the cause of the problem and bug report to the
developers of the ircd services.
Then you will be required to compile your services package by typing "make" or
possibly "gmake". To install services after compiled, type "make install".
Then you will need to enter the directory that you specified for the location
for the data of the services. You will most likely see a example.conf file in
the folder. You will need to rename this file to services.conf by typing "mv
example.conf services.conf" and then you will need to edit the services.conf
file in your favourite text editor. We recommend new users use pico, to edit
the file using pico type "pico services.conf". Edit the file to your liking,
make sure you follow their recommendations in settings, and make sure you edit
the root services passwords, server to link to, password and port.
After you have configured your services you will then be required to edit your
unrealircd.conf. You will require to add server connection lines to your server
in order for services to work. All services on your network will need to have
the same U line as the server that services are linking to. A sample of the
configuration for services for unrealircd.conf is listed below:
link services.yournetwork.net {
username *;
hostname 0.0.0.0; /*Server Ip Address Or Hostmask */
bind-ip *; /* IP To Bind To When Connecting */
port 6667; /* Port Number */
password-connect "passwordsend"; /*Password To Send On Connection*/
password-receive "passwordreceive"; /* Password To Receive From
Server Connecting */
class servers;
};
Make sure you then add a u:line entry for services. All the servers on your
network will be required to have a U:line. For UnrealIRCD 3.2 the U:lines
should look something like this:
ulines {
services.yournetwork.net;
};
Servers Running UnrealIRCD 3.1.1 Darkshades or below the U:Line for the servers
should look something like this:
U:services.yournetwork.net:*:*
You will then be required to edit your unrealircd.conf's network configuration
services name line, which has to be the same name as chosen on the connection
line for your services. ie. in this case your network configuration line would
look something like:
services-name "services.yournetwork.net";
Then you will require to /rehash your ircd and then go back to your services
directory and type ./services to run services.
+271
View File
@@ -0,0 +1,271 @@
The Tao of Internet Relay Chat
Copyright (C) Ove Ruben R Olsen 1994
Version of 940110
Contributing masters: Master ScottM
-----
Something is formed by the electrons, born in the silent cable. Shaping
and growing and ungrowing. It is there yet not there. It is the source of
Internet Relay Chat. I do not know the name, thus I will call it the Tao
of Internet Relay Chat.
If the Tao is great, then the IRC is running ceaselessly. If the IRC is
great then the server is running without ever stoping. If the server is
great then the client will always be the server. The luser is then pleased
and there is Chat in the world.
The Tao of IRC squits far away and connects on returning.
-----
The genetic potential of birth, a lot to know, yet unknown.
In the begining there was nothing.
Out of nothing the Tao gave birth to tolsun.oulu.fi. tolsun gave birth to
OuluBox.
OuluBox gave birth to rmsg.
rmsg was not Tao, so MUT gave birth to IRC.
No one knows when IRC came into existance, the mighty master WiZ have it
to be at the end of the eight month in the year of the Dragon.
-----
Each channel has its purpose, however humble. Each channel is the Yin and
Yang of IRC. Each channels has it's place within the IRC.
In the beginning there was only channel 0, thus channel 0 is the soil of
IRC.
Channel 1 to channel 10 then was open as the sea. Channel 11 to 999 was the
trees and forests of IRC. Channels above 999 should not be mentioned, and
channels below 0 were unborn and contained many secrets.
This was not the right Tao, so IRC gave birth to +channels.
+channels had the yin and yang. Mode does not.
This was not the right Tao still, so IRC gave birth to #channels.
#channels have the yin and yang.
Only channel 0 is the right path to Tao, but avoid speaking on channel 0.
-----
There was a great dispute among the Broom-Walkers of the Relay. Some of them
wanted neither yin nor yang. Out of this Eris came into existance. Some of the
Broom-Walkers then created Eris Free-net.
This was the right Tao.
Kind Gentle and Boring Net was another wrong path to the Tao of Internet Relay
Chat.
Some time later there was a quantity of some lusers who wanted to be
Broom-Walkers also. The Eris Free Broom-Walkers did not agree with them,
thus a new IRC was born. This IRC is called the Undernet.
But this is not the right Tao, either.
-----
There will always be disputes among the Broom-Walkers of Internet Relay Chat.
This is the very nature of the IRC.
-----
Lusers that do not understand the Tao is always using the yang of Mode on
their channels. Lusers that do understand the Tao are always using Ignore
on their channels.
How could this not be so ?
-----
The wise sage luser is told about the Chat and uses it. The luser is told
about the IRC and is looking for it. The flock are told about the Tao and
make a fool of the IRC.
If there was no laughter, there would be no Tao.
-----
The master says:
"Without the Tao of Internet Relay Chat, life becomes meaningless."
The Relay of the old time was mysterious and sacred. We can neither imagine
its thoughts nor path; we are left but to describe.
-----
The sage luser must be aware like a frog crossing the highway.
-----
The great master Wumpus once dreamed that he was an automaton. When he awoke
he exclaimed:
"I don't know whether I am Wumpus dreaming that I am a client,
or a client dreaming that I am Wumpus!"
So was the first Automata born.
The master Nap then said:
"Any automata should not speak unless spoken to.
Any automata shall only whisper when spoken to."
Thus replied the master Gnarfer:
"The lusers shall keep in mind that a automata can be either good or
bad. Create good automata, and the IRC will hail you and you will
gain fame and fortune. Create bad automata and people will start to
hate you, and finaly you will be /KILLed to ethernal damnation"
Many lusers have fallen into the clutches of ethernal damnation. They where
not following the Tao.
-----
There once was a luser who went to #BotSex. Each day he saw the automatons.
The luser decided that he also would have such a automata.
He asked another luser for his automata. The other luser gave his automata
away.
The luser was not within the Tao, so he just started the automata. The automata
had only Yang inside so all the lusers files where deleted.
Some moons laither the same luser then had become a sage luser, and did create
his automata from the very grounds with materials found inside the IRC.
The luser was now within the Tao and his automata lived happily ever after.
-----
There once was a master who wrote automatons without the help of master Phone.
A novice luser, seeking to imitate him, began with the help of master Phone.
When the novice luser asked the master to evaluate his automata the master
replied: "What is a working automata for the master is not for the luser.
You must must BE the IRC before automating."
-----
Master BigCheese gave birth to master Troy; his duty clear. Master Troy gave
birth to master Phone, for the Tao of Irc must be eternal and must flow as the
ceaseless river of Time itself.
-----
Master Phone once said about the ircII client:
"public_msg is for a message from someone NOT on the channel
public_other is for a message on a channel that doesn't belong to
a window. public is for a message on a channel that belongs to a
window!"
Out of this raised the mighty chaos.
-----
The sage luser came to the master who wrote automata without the help of
master Phone. The sage luser asked the master who wrote automata: "Which is
easiest to make. A automata with the help of master Phone or an automata
made with the help of a language ?"
The master who wrote automata then replied:
"With the help of a language."
The sage luser was disapointed and exclaimed: "But, with master Phone you
do not need to know anything about the soil of IRC. Is not that the easiet
way ?"
"Not really" said the master who wrote automata, "when using master Phone
you are closed inside a box. For sure, it is a great box for the lusers,
but the master will need more power, thus a language is the only path to go.
With the language the master will never have to limit himself. When using
such a language the master will seek the best between the need and the
availibility."
"I see", said the sage luser.
This is the essence of Tao of IRC automatas.
-----
A client should be light and be used for communication. The spirit of a good
client is that it should be very convinient for the luser to use, but hard
for the luser who want to create automata.
There should never ever be too many functions or too few functions.
There should always be a ignore.
Without ignore the client is not within the Tao of Chating.
The client should always respond the luser with messages that will not
astnonish him too much. The server likewise. If the server does not, then it
is the clients job to explain what the server says.
A client which fails this, will be useless and cause confusion for the lusers.
The only way to correct this is to use another client or to write a new one.
-----
A luser asked the masters on #IrcHelp: "My client does not work".
The masters replied: "Upgrade your client".
The luser then wondered why the master knew. The master then told him about
the Protocol.
"Your client does not work beaucse it does not understand the server. Why
should it always work ? Only a fool would expect such. But, clients are made
by humans, and humans are not perfect. Only Tao is.
The IRC is solid. The IRC is floating, and will always be dynamic. Live with
that or /quit."
-----
The luser came to the masters of #IrcHelp, asking about the Tao of IRC within
the client.
The masters then said that the Tao of IRC always lies inside the client
regardless of how the client connects to the server.
"Is the Tao in irc ?" asked the luser.
"It so is" replied the masters of #IrcHelp.
"Is the Tao in the ircII, Kiwi, rxirc, vms, rockers and msa ?" asked the
luser.
"In all of them and in the TPC, irchat, zenirc, zircon X11-irc and even the
dos irc has the Tao" said the master quietly.
"Is the Tao in a telnet connection directly to the server ?"
The master then was quiet for a long time and said. "Please leave, such
questions are not within the Tao of IRC".
-----
The master says: "Without the Protocol of TCP the messages will not travel.
Without the client, the server is useless."
-----
There once was a luser who used the ircII client. "ircII can do anything I
ever need for using IRC" said the emacs client user, "I have /ON's, I have
assignments, I have aliasing. Why don't you use this instead of the huge
emacs client, which also has a messy screen?"
The emacs client user then replied by saying that "it is better to have a
scripting language that is the client instead of have a client that has
a scripting language." Upon hearing this, the ircII client luser fell silent.
-----
The master Wumpus said: "Time for you to leave. I did, now I'm happy."
The master Gnarfer replied: "Use, but never overuse IRC, then you will also
be happy within IRC"
-----
A luser came unto the masters of #EU-Opers and asked, "How can I be, yet not
be, a user@host within the IRC?"
The masters of #EU-Opers replied: "To be Tao is to be ones true self. To hide
ones self is not Tao, and is not IRC, you have much to learn before you shall
be at rest within the Flow of Irc. Please leave"
+432
View File
@@ -0,0 +1,432 @@
* * * * * * * * * * * * * * * * * * *
* 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>;
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)
+1062
View File
File diff suppressed because it is too large Load Diff
+311
View File
@@ -0,0 +1,311 @@
/*
** burst.c
**
** Nicolas Pioch, Dec 93
** <Nicolas.Pioch@enst.fr>
** Carsten V. Munk Nov 2000
*/
#include <sys/types.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <sys/param.h>
#include <sys/signal.h>
#include <netinet/in.h>
#include <sys/un.h>
#include <netdb.h>
#include <errno.h>
#include <arpa/inet.h>
#include <sys/ioctl.h>
#include <ctype.h>
#include <string.h>
#include <fcntl.h>
#include <stdio.h>
#ifdef POSIX
#include <sys/select.h>
#endif
#define MYBUFSIZE 2048
char *jupedservername, *uplinkservername, *jupereason;
int options;
char *password;
typedef struct aClient {
int socket;
char buffer[MYBUFSIZE+1];
int read;
int write;
} aClient;
void fatalrestart(aClient *robotptr, const char *s);
void fatal(const char *s) {
perror(s);
exit(1);
}
typedef void (*signalhandler)(int);
static void signal_catcher(int sig, int code, struct sigcontext *scp) {
fprintf(stderr, "Caught signal %d with code %d\n", sig, code);
switch(sig) {
case SIGFPE: /* Floating point exception */
case SIGILL: /* Illegal instruction */
case SIGSEGV: /* Segmentation violation */
case SIGBUS: /* Bus error */
case SIGSYS: /* Bad argument to system call */
fatal("Fatal signal received, aborting...");
break;
case SIGQUIT:
case SIGINT:
case SIGTERM: /* On se barre */
fatal("AAAAAAAAArrrrrrrrgh!");
break;
}
signal(sig, (signalhandler)signal_catcher);
}
typedef union socket_address {
struct sockaddr_un unixx;
struct sockaddr_in inet;
} socket_address;
void name_to_number(int address_family, const char *hostname, int port,
socket_address *addr, int *len2) {
u_long iaddr;
int len;
struct hostent *host;
char *inaddr;
bzero ((char *) addr, sizeof (socket_address) );
if ( address_family == AF_UNIX ) {
strcpy(addr->unixx.sun_path,hostname);
*len2=sizeof( struct sockaddr_un );
} else {
if ((hostname) && (hostname[0])) {
if (hostname[0] >= '0' && hostname[0] <= '9') {
iaddr = inet_addr(hostname);
inaddr = (char *) &iaddr;
len=sizeof(iaddr);
} else {
host=gethostbyname (hostname);
if (!host)
fatal("Unknown host");
inaddr=host->h_addr_list[0];
len=host->h_length;
}
bcopy(inaddr, (char *)&addr->inet.sin_addr, len);
}
addr->inet.sin_port=htons((u_short) port);
*len2=sizeof(struct sockaddr_in);
}
addr->inet.sin_family = address_family;
}
int read_data(aClient *robotptr) {
int nbytes;
if ((nbytes=read(robotptr->socket, &(robotptr->buffer[robotptr->write]),
(sizeof(robotptr->buffer) - robotptr->write - 1))) < 0)
fatalrestart(robotptr, "read on socket");
if (nbytes == 0) {
close(robotptr->socket);
fatalrestart(robotptr, "Connection Closed");
}
robotptr->write+=nbytes;
robotptr->buffer[robotptr->write]=0;
return(nbytes);
}
void send_data(int socketfd, const char *data, int length) {
int length2;
length2=write(socketfd, data, length);
if (length2 != length)
fprintf(stderr, "*** write truncated to %d chars...\n", length2);
}
int create_client(const char *hostname, const int hostport) {
int descript;
socket_address hostaddr;
int adlen;
/* winlocal
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) < 0)
*/
if ((descript=socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) // winlocal
fatal("socket");
name_to_number(AF_INET, hostname, hostport, &hostaddr, &adlen);
if (connect(descript, &hostaddr.inet, adlen) < 0)
fatal("connect");
return(descript);
}
void parse_line(aClient *robotptr) {
char *toparse;
toparse=(robotptr->buffer + robotptr->read);
printf("%s\n",toparse);
/* Special handling for PING messages */
if (!strncasecmp(toparse, "PING ", 5) || !strncasecmp(toparse, "8 ", 2)){
toparse=strtok(toparse, "\r\n");
toparse[1]='\0';
send_data(robotptr->socket, toparse, strlen(toparse));
return;
}
if (!strncasecmp(toparse, "AO", 2) || !strncasecmp(toparse, "NETINFO", 7))
{
if (!(options & 0x80))
exit(1);
}
}
void parse_data(aClient *robotptr) {
int next;
while((robotptr->read < robotptr->write)
&& ((robotptr->buffer[robotptr->read] == '\r')
|| (robotptr->buffer[robotptr->read] == '\n')))
robotptr->read++;
for(next=robotptr->read; next<=robotptr->write; next++) {
if ((robotptr->buffer[next] == '\r')
|| (robotptr->buffer[next] == '\n'))
break;
}
if (next<robotptr->write) {
robotptr->buffer[next]=0;
next++;
parse_line(robotptr);
robotptr->read=next;
parse_data(robotptr);
}
if (robotptr->read == robotptr->write) {
robotptr->read=robotptr->write=0;
} else {
bcopy((robotptr->buffer + robotptr->read),
(robotptr->buffer), (robotptr->write-robotptr->read));
robotptr->write-=robotptr->read;
robotptr->read=0;
}
}
void run_client(aClient *robotptr) {
fd_set mask, returnmask[3];
int selectval;
FD_ZERO(&mask);
FD_SET(robotptr->socket, &mask);
while (1) {
bcopy((char *)&mask,(char *)returnmask,sizeof(fd_set));
FD_ZERO(returnmask+1);
bcopy((char *)&mask,(char *)(returnmask+2),sizeof(fd_set));
selectval=select(FD_SETSIZE,
returnmask, returnmask+1, returnmask+2, NULL);
if (selectval) {
read_data(robotptr);
parse_data(robotptr);
}
}
}
void initialize(aClient *robotptr) {
char passphrase[MYBUFSIZE];
robotptr->socket=create_client(uplinkservername, atol(jupereason));
sprintf(passphrase,
"PROTOCTL %s %s %s %s %s %s %s %s %s\r\n",
(options & 0x1) ? "NOQUIT" : "",
(options & 0x2) ? "TOKEN" : "",
(options & 0x4) ? "NICKv2" : "",
(options & 0x8) ? "SJOIN" : "",
(options & 0x10) ? "SJOIN2" : "",
(options & 0x20) ? "UMODE2" : "",
(options & 0x40) ? "NS" : "",
(options & 0x100) ? "SJ3" : "",
(options & 0x200) ? "SJB64" : "");
write(robotptr->socket, passphrase, strlen(passphrase));
sprintf(passphrase, "PASS %s\r\nSERVER %s 1 :[Burst analysis].\r\n",
password,jupedservername);
write(robotptr->socket, passphrase, strlen(passphrase));
}
void fatalrestart(aClient *robotptr, const char *s) {
perror(s);
close(robotptr->socket);
sleep(10);
initialize(robotptr);
run_client(robotptr);
}
int main(int argc, char* argv[]) {
aClient robot;
char *p;
if (argc != 6) {
fprintf(stderr, "IRCd burst generator, by Carsten V. Munk 2000, based off jupe.c by Nicolas Pioch\n");
fprintf(stderr,
"Usage: %s <burstservername> <uplink> <port> <options> <password>\n", argv[0]);
fprintf(stderr, "Options can be a combination of these:\n");
fprintf(stderr, "1 = Enable NOQUIT 2 = Enable TOKEN\n");
fprintf(stderr, "3 = Enable NICKv2 4 = Enable SJOIN\n");
fprintf(stderr, "5 = Enable SJOIN2 6 = Enable UMODE2\n");
fprintf(stderr, "7 = Enable NS 8 = Ignore end of burst\n");
fprintf(stderr, "9 = Enable SJ3 a = Enable SJB64\n");
fatal("incorrect argument count");
exit(1);
}
jupedservername=argv[1];
uplinkservername=argv[2];
jupereason=argv[3];
password = argv[5];
p = argv[4];
for (; *p; p++)
{
if (*p == '1')
options |= 0x1;
if (*p == '2')
options |= 0x2;
if (*p == '3')
options |= 0x4;
if (*p == '4')
options |= 0x8;
if (*p == '5')
options |= 0x10;
if (*p == '6')
options |= 0x20;
if (*p == '7')
options |= 0x40;
if (*p == '8')
options |= 0x80;
if (*p == '9')
options |= 0x100;
if (*p == 'a')
options |= 0x200;
}
/* installe le signal_catcher */
signal(SIGTERM,(signalhandler)signal_catcher);
robot.read=robot.write=0;
initialize(&robot);
run_client(&robot);
exit(0);
}
+1
View File
@@ -0,0 +1 @@
...
Binary file not shown.
+98
View File
@@ -0,0 +1,98 @@
# Makefile for regex.
#
# Copyright (C) 1992, 1993 Free Software Foundation, Inc.
#
# 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 2, 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.
version = 0.12
# You can define CPPFLAGS on the command line. Aside from system-specific
# flags, you can define:
# -DREGEX_MALLOC to use malloc/realloc/free instead of alloca.
# -DDEBUG to enable the compiled pattern disassembler and execution
# tracing; code runs substantially slower.
# -DEXTRACT_MACROS to use the macros EXTRACT_* (as opposed to
# the corresponding C procedures). If not -DDEBUG, the macros
# are used.
CPPFLAGS =
# Likewise, you can override CFLAGS to optimize, use -Wall, etc.
CFLAGS = -g
# Ditto for LDFLAGS and LOADLIBES.
LDFLAGS =
LOADLIBES =
srcdir = @srcdir@
VPATH = @srcdir@
CC = @CC@
DEFS = @DEFS@
SHELL = /bin/sh
subdirs = moo
default all:: regex.o
.PHONY: default all
regex.o: regex.c regex.h
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) -c $<
clean mostlyclean::
rm -f *.o
distclean:: clean
rm -f Makefile config.status
extraclean:: distclean
rm -f patch* *~* *\#* *.orig *.rej *.bak core a.out
configure: configure.in
autoconf
config.status: configure
sh configure --no-create
Makefile: Makefile.in config.status
sh config.status
makeargs = $(MFLAGS) CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' CC='$(CC)' \
DEFS='$(DEFS)' LDFLAGS='$(LDFLAGS)' LOADLIBES='$(LOADLIBES)'
default all install \
mostlyclean clean distclean extraclean realclean \
TAGS check::
for d in $(subdirs); do (cd $$d; $(MAKE) $(makeargs) $@); done
.PHONY: install mostlyclean clean distclean extraclean realclean TAGS check
# Prevent GNU make 3 from overflowing arg limit on system V.
.NOEXPORT:
distfiles = AUTHORS ChangeLog COPYING INSTALL NEWS README \
*.in configure regex.c regex.h
distdir = regex-$(version)
distargs = version=$(version) distdir=../$(distdir)/$$d
dist: TAGS configure
@echo "Version numbers in: Makefile.in, ChangeLog, NEWS,"
@echo " regex.c, regex.h,"
@echo " and doc/xregex.texi (if modified)."
rm -rf $(distdir)
mkdir $(distdir)
ln $(distfiles) $(distdir)
for d in $(subdirs); do (cd $$d; $(MAKE) $(distargs) dist); done
tar czhf $(distdir).tar.Z $(distdir)
rm -rf $(distdir)
.PHONY: dist
+60
View File
@@ -0,0 +1,60 @@
This directory contains the GNU regex library. It is compliant with
POSIX.2, except for internationalization features.
See the file NEWS for a list of major changes in the current release.
See the file INSTALL for compilation instructions. (The only thing
installed is the documentation; regex.c is compiled into regex.o, but
not installed anywhere.)
The subdirectory `doc' contains a (programmers') manual for the library.
It's probably out-of-date. Improvements are welcome.
The subdirectory `test' contains the various tests we've written.
We know this code is not as fast as it might be. If you have specific
suggestions, profiling results, or other such useful information to
report, please do.
Emacs 18 is not going use this revised regex (but Emacs 19 will). If
you want to try it with Emacs 18, apply the patch at the end of this
file first.
Mail bug reports to bug-gnu-utils@prep.ai.mit.edu.
Please include an actual regular expression that fails (and the syntax
used to compile it); without that, there's no way to reproduce the bug,
so there's no way we can fix it. Even if you include a patch, also
include the regular expression in error; otherwise, we can't know for
sure what you're trying to fix.
Here is the patch to make this version of regex work with Emacs 18.
*** ORIG/search.c Tue Jan 8 13:04:55 1991
--- search.c Sun Jan 5 10:57:00 1992
***************
*** 25,26 ****
--- 25,28 ----
#include "commands.h"
+
+ #include <sys/types.h>
#include "regex.h"
***************
*** 477,479 ****
/* really needed. */
! && *(searchbuf.buffer) == (char) exactn /* first item is "exact match" */
&& searchbuf.buffer[1] + 2 == searchbuf.used) /*first is ONLY item */
--- 479,482 ----
/* really needed. */
! /* first item is "exact match" */
! && *(searchbuf.buffer) == (char) RE_EXACTN_VALUE
&& searchbuf.buffer[1] + 2 == searchbuf.used) /*first is ONLY item */
***************
*** 1273,1275 ****
searchbuf.allocated = 100;
! searchbuf.buffer = (char *) malloc (searchbuf.allocated);
searchbuf.fastmap = search_fastmap;
--- 1276,1278 ----
searchbuf.allocated = 100;
! searchbuf.buffer = (unsigned char *) malloc (searchbuf.allocated);
searchbuf.fastmap = search_fastmap;
Vendored Executable
+462
View File
@@ -0,0 +1,462 @@
#!/bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf.
# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
# 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 2, 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.
# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]
# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE] [TARGET]
# Ignores all args except --srcdir, --prefix, --exec-prefix, --no-create, and
# --with-PACKAGE unless this script has special code to handle it.
for arg
do
# Handle --exec-prefix with a space before the argument.
if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
# Handle --host with a space before the argument.
elif test x$next_host = xyes; then next_host=
# Handle --prefix with a space before the argument.
elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
# Handle --srcdir with a space before the argument.
elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
else
case $arg in
# For backward compatibility, also recognize exact --exec_prefix.
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
next_exec_prefix=yes ;;
-gas | --gas | --ga | --g) ;;
-host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
-host | --host | --hos | --ho | --h)
next_host=yes ;;
-nfp | --nfp | --nf) ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no)
no_create=1 ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
next_prefix=yes ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
next_srcdir=yes ;;
-with-* | --with-*)
package=`echo $arg|sed 's/-*with-//'`
# Delete all the valid chars; see if any are left.
if test -n "`echo $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then
echo "configure: $package: invalid package name" >&2; exit 1
fi
eval "with_`echo $package|sed s/-/_/g`=1" ;;
*) ;;
esac
fi
done
trap 'rm -f conftest* core; exit 1' 1 3 15
rm -f conftest*
compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
unique_file=regex.c
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
srcdirdefaulted=yes
# Try the directory containing this script, then `..'.
prog=$0
confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
test "X$confdir" = "X$prog" && confdir=.
srcdir=$confdir
if test ! -r $srcdir/$unique_file; then
srcdir=..
fi
fi
if test ! -r $srcdir/$unique_file; then
if test x$srcdirdefaulted = xyes; then
echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
else
echo "configure: Can not find sources in \`${srcdir}'." 1>&2
fi
exit 1
fi
# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
# But we can't avoid them for `..', to make subdirectories work.
case $srcdir in
.|/*|~*) ;;
*) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
esac
if test -z "$CC"; then
echo checking for gcc
saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/gcc; then
CC="gcc"
break
fi
done
IFS="$saveifs"
fi
test -z "$CC" && CC="cc"
# Find out if we are using GNU C, under whatever name.
cat > conftest.c <<EOF
#ifdef __GNUC__
yes
#endif
EOF
${CC-cc} -E conftest.c > conftest.out 2>&1
if egrep yes conftest.out >/dev/null 2>&1; then
GCC=1 # For later tests.
fi
rm -f conftest*
# Make sure to not get the incompatible SysV /etc/install and
# /usr/sbin/install, which might be in PATH before a BSD-like install,
# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
# or the AFS install, which mishandles nonexistent args. (Sigh.)
if test -z "$INSTALL"; then
echo checking for install
saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
case $dir in
/etc|/usr/sbin|/usr/etc|/usr/afsws/bin) ;;
*)
if test -f $dir/install; then
if grep dspmsg $dir/install >/dev/null 2>&1; then
: # AIX
else
INSTALL="$dir/install -c"
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
break
fi
fi
;;
esac
done
IFS="$saveifs"
fi
INSTALL=${INSTALL-cp}
INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
echo checking for AIX
echo checking how to run the C preprocessor
if test -z "$CPP"; then
CPP='${CC-cc} -E'
cat > conftest.c <<EOF
#include <stdio.h>
EOF
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
if test -z "$err"; then
:
else
CPP=/lib/cpp
fi
rm -f conftest*
fi
cat > conftest.c <<EOF
#ifdef _AIX
yes
#endif
EOF
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
if egrep "yes" conftest.out >/dev/null 2>&1; then
DEFS="$DEFS -D_ALL_SOURCE=1"
fi
rm -f conftest*
echo checking for DYNIX/ptx libseq
cat > conftest.c <<EOF
#if defined(_SEQUENT_)
yes
#endif
EOF
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
if egrep "yes" conftest.out >/dev/null 2>&1; then
SEQUENT=1
fi
rm -f conftest*
test -n "$SEQUENT" && test -f /usr/lib/libseq.a &&
LIBS="$LIBS -lseq"
echo checking for POSIXized ISC
if test -d /etc/conf/kconfig.d &&
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
then
ISC=1 # If later tests want to check for ISC.
DEFS="$DEFS -D_POSIX_SOURCE=1"
if test -n "$GCC"; then
CC="$CC -posix"
else
CC="$CC -Xp"
fi
fi
echo checking for minix/config.h
cat > conftest.c <<EOF
#include <minix/config.h>
EOF
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
if test -z "$err"; then
MINIX=1
fi
rm -f conftest*
# The Minix shell can't assign to the same variable on the same line!
if test -n "$MINIX"; then
DEFS="$DEFS -D_POSIX_SOURCE=1"
DEFS="$DEFS -D_POSIX_1_SOURCE=2"
DEFS="$DEFS -D_MINIX=1"
fi
echo checking for ANSI C header files
cat > conftest.c <<EOF
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <float.h>
EOF
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
if test -z "$err"; then
# SunOS string.h does not declare mem*, contrary to ANSI.
echo '#include <string.h>' > conftest.c
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
if egrep "memchr" conftest.out >/dev/null 2>&1; then
# SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
cat > conftest.c <<EOF
#include <ctype.h>
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
#define XOR(e,f) (((e) && !(f)) || (!(e) && (f)))
int main () { int i; for (i = 0; i < 256; i++)
if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
exit (0); }
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
DEFS="$DEFS -DSTDC_HEADERS=1"
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
for hdr in string.h
do
trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
echo checking for ${hdr}
cat > conftest.c <<EOF
#include <${hdr}>
EOF
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
if test -z "$err"; then
DEFS="$DEFS -D${trhdr}=1"
fi
rm -f conftest*
done
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
# for constant arguments. Useless!
echo checking for working alloca.h
cat > conftest.c <<EOF
#include <alloca.h>
main() { exit(0); }
t() { char *p = alloca(2 * sizeof(int)); }
EOF
if eval $compile; then
DEFS="$DEFS -DHAVE_ALLOCA_H=1"
fi
rm -f conftest*
decl="#ifdef __GNUC__
#define alloca __builtin_alloca
#else
#if HAVE_ALLOCA_H
#include <alloca.h>
#else
#ifdef _AIX
#pragma alloca
#else
char *alloca ();
#endif
#endif
#endif
"
echo checking for alloca
cat > conftest.c <<EOF
$decl
main() { exit(0); }
t() { char *p = (char *) alloca(1); }
EOF
if eval $compile; then
:
else
alloca_missing=1
fi
rm -f conftest*
if test -n "$alloca_missing"; then
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
# that cause trouble. Some versions do not even contain alloca or
# contain a buggy version. If you still want to use their alloca,
# use ar to extract alloca.o from them instead of compiling alloca.c.
ALLOCA=alloca.o
fi
prog='/* Ultrix mips cc rejects this. */
typedef int charset[2]; const charset x;
/* SunOS 4.1.1 cc rejects this. */
char const *const *p;
char **p2;
/* HPUX 7.0 cc rejects these. */
++p;
p2 = (char const* const*) p;'
echo checking for working const
cat > conftest.c <<EOF
main() { exit(0); }
t() { $prog }
EOF
if eval $compile; then
:
else
DEFS="$DEFS -Dconst="
fi
rm -f conftest*
if test -z "$prefix"
then
echo checking for gcc to derive installation directory prefix
saveifs="$IFS"; IFS="$IFS:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test $dir != . && test -f $dir/gcc; then
# Not all systems have dirname.
prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
break
fi
done
IFS="$saveifs"
fi
if test -n "$prefix"; then
test -z "$exec_prefix" && exec_prefix='${prefix}'
prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"
fi
if test -n "$exec_prefix"; then
prsub="$prsub
s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%\
exec_prefix\\1=\\2$exec_prefix%"
fi
trap 'rm -f config.status; exit 1' 1 3 15
echo creating config.status
rm -f config.status
cat > config.status <<EOF
#!/bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null`:
#
# $0 $*
for arg
do
case "\$arg" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
exec /bin/sh $0 $* ;;
*) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
esac
done
trap 'rm -f Makefile; exit 1' 1 3 15
CC='$CC'
INSTALL='$INSTALL'
INSTALL_PROGRAM='$INSTALL_PROGRAM'
INSTALL_DATA='$INSTALL_DATA'
CPP='$CPP'
ALLOCA='$ALLOCA'
LIBS='$LIBS'
srcdir='$srcdir'
DEFS='$DEFS'
prefix='$prefix'
exec_prefix='$exec_prefix'
prsub='$prsub'
EOF
cat >> config.status <<\EOF
top_srcdir=$srcdir
for file in .. Makefile; do if [ "x$file" != "x.." ]; then
srcdir=$top_srcdir
# Remove last slash and all that follows it. Not all systems have dirname.
dir=`echo $file|sed 's%/[^/][^/]*$%%'`
if test "$dir" != "$file"; then
test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
test ! -d $dir && mkdir $dir
fi
echo creating $file
rm -f $file
echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
sed -e "
$prsub
s%@CC@%$CC%g
s%@INSTALL@%$INSTALL%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@CPP@%$CPP%g
s%@ALLOCA@%$ALLOCA%g
s%@LIBS@%$LIBS%g
s%@srcdir@%$srcdir%g
s%@DEFS@%$DEFS%
" $top_srcdir/${file}.in >> $file
fi; done
exit 0
EOF
chmod +x config.status
test -n "$no_create" || ./config.status
+23
View File
@@ -0,0 +1,23 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(regex.c)
AC_PROG_CC
AC_PROG_INSTALL
dnl I'm not sure if AC_AIX and AC_DYNIX_SEQ are really necessary. The
dnl Autoconf documentation isn't specific about which BSD functions they
dnl provide.
AC_AIX
AC_DYNIX_SEQ
AC_ISC_POSIX
AC_MINIX
AC_STDC_HEADERS
AC_HAVE_HEADERS(string.h)
AC_ALLOCA
AC_CONST
AC_PREFIX(gcc)
AC_OUTPUT(Makefile doc/Makefile test/Makefile)
+4
View File
@@ -0,0 +1,4 @@
clean:
default:
all:
echo "."
+4948
View File
File diff suppressed because it is too large Load Diff
+490
View File
@@ -0,0 +1,490 @@
/* Definitions for data structures and routines for the regular
expression library, version 0.12.
Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
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 2, 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. */
#ifndef __REGEXP_LIBRARY_H__
#define __REGEXP_LIBRARY_H__
/* POSIX says that <sys/types.h> must be included (by the caller) before
<regex.h>. */
#ifdef VMS
/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
should be there. */
#include <stddef.h>
#endif
/* The following bits are used to determine the regexp syntax we
recognize. The set/not-set meanings are chosen so that Emacs syntax
remains the value 0. The bits are given in alphabetical order, and
the definitions shifted by one from the previous bit; thus, when we
add or remove a bit, only one other definition need change. */
typedef unsigned reg_syntax_t;
/* If this bit is not set, then \ inside a bracket expression is literal.
If set, then such a \ quotes the following character. */
#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
/* If this bit is not set, then + and ? are operators, and \+ and \? are
literals.
If set, then \+ and \? are operators and + and ? are literals. */
#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
/* If this bit is set, then character classes are supported. They are:
[:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
[:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
If not set, then character classes are not supported. */
#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
/* If this bit is set, then ^ and $ are always anchors (outside bracket
expressions, of course).
If this bit is not set, then it depends:
^ is an anchor if it is at the beginning of a regular
expression or after an open-group or an alternation operator;
$ is an anchor if it is at the end of a regular expression, or
before a close-group or an alternation operator.
This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
POSIX draft 11.2 says that * etc. in leading positions is undefined.
We already implemented a previous draft which made those constructs
invalid, though, so we haven't changed the code back. */
#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
/* If this bit is set, then special characters are always special
regardless of where they are in the pattern.
If this bit is not set, then special characters are special only in
some contexts; otherwise they are ordinary. Specifically,
* + ? and intervals are only special when not after the beginning,
open-group, or alternation operator. */
#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
/* If this bit is set, then *, +, ?, and { cannot be first in an re or
immediately after an alternation or begin-group operator. */
#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
/* If this bit is set, then . matches newline.
If not set, then it doesn't. */
#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
/* If this bit is set, then . doesn't match NUL.
If not set, then it does. */
#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
/* If this bit is set, nonmatching lists [^...] do not match newline.
If not set, they do. */
#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
/* If this bit is set, either \{...\} or {...} defines an
interval, depending on RE_NO_BK_BRACES.
If not set, \{, \}, {, and } are literals. */
#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
/* If this bit is set, +, ? and | aren't recognized as operators.
If not set, they are. */
#define RE_LIMITED_OPS (RE_INTERVALS << 1)
/* If this bit is set, newline is an alternation operator.
If not set, newline is literal. */
#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
/* If this bit is set, then `{...}' defines an interval, and \{ and \}
are literals.
If not set, then `\{...\}' defines an interval. */
#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
/* If this bit is set, (...) defines a group, and \( and \) are literals.
If not set, \(...\) defines a group, and ( and ) are literals. */
#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
/* If this bit is set, then \<digit> matches <digit>.
If not set, then \<digit> is a back-reference. */
#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
/* If this bit is set, then | is an alternation operator, and \| is literal.
If not set, then \| is an alternation operator, and | is literal. */
#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
/* If this bit is set, then an ending range point collating higher
than the starting range point, as in [z-a], is invalid.
If not set, then when ending range point collates higher than the
starting range point, the range is ignored. */
#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
/* If this bit is set, then an unmatched ) is ordinary.
If not set, then an unmatched ) is invalid. */
#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
/* This global variable defines the particular regexp syntax to use (for
some interfaces). When a regexp is compiled, the syntax used is
stored in the pattern buffer, so changing this does not affect
already-compiled regexps. */
extern reg_syntax_t re_syntax_options;
/* Define combinations of the above bits for the standard possibilities.
(The [[[ comments delimit what gets put into the Texinfo file, so
don't delete them!) */
/* [[[begin syntaxes]]] */
#define RE_SYNTAX_EMACS 0
#define RE_SYNTAX_AWK \
(RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
| RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
| RE_UNMATCHED_RIGHT_PAREN_ORD)
#define RE_SYNTAX_POSIX_AWK \
(RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
#define RE_SYNTAX_GREP \
(RE_BK_PLUS_QM | RE_CHAR_CLASSES \
| RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
| RE_NEWLINE_ALT)
#define RE_SYNTAX_EGREP \
(RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
| RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
| RE_NEWLINE_ALT | RE_NO_BK_PARENS \
| RE_NO_BK_VBAR)
#define RE_SYNTAX_POSIX_EGREP \
(RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
/* Syntax bits common to both basic and extended POSIX regex syntax. */
#define _RE_SYNTAX_POSIX_COMMON \
(RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
| RE_INTERVALS | RE_NO_EMPTY_RANGES)
#define RE_SYNTAX_POSIX_BASIC \
(_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
isn't minimal, since other operators, such as \`, aren't disabled. */
#define RE_SYNTAX_POSIX_MINIMAL_BASIC \
(_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
#define RE_SYNTAX_POSIX_EXTENDED \
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
| RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
| RE_NO_BK_PARENS | RE_NO_BK_VBAR \
| RE_UNMATCHED_RIGHT_PAREN_ORD)
/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
| RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
| RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
/* [[[end syntaxes]]] */
/* Maximum number of duplicates an interval can allow. Some systems
(erroneously) define this in other header files, but we want our
value, so remove any previous define. */
#ifdef RE_DUP_MAX
#undef RE_DUP_MAX
#endif
#define RE_DUP_MAX ((1 << 15) - 1)
/* POSIX `cflags' bits (i.e., information for `regcomp'). */
/* If this bit is set, then use extended regular expression syntax.
If not set, then use basic regular expression syntax. */
#define REG_EXTENDED 1
/* If this bit is set, then ignore case when matching.
If not set, then case is significant. */
#define REG_ICASE (REG_EXTENDED << 1)
/* If this bit is set, then anchors do not match at newline
characters in the string.
If not set, then anchors do match at newlines. */
#define REG_NEWLINE (REG_ICASE << 1)
/* If this bit is set, then report only success or fail in regexec.
If not set, then returns differ between not matching and errors. */
#define REG_NOSUB (REG_NEWLINE << 1)
/* POSIX `eflags' bits (i.e., information for regexec). */
/* If this bit is set, then the beginning-of-line operator doesn't match
the beginning of the string (presumably because it's not the
beginning of a line).
If not set, then the beginning-of-line operator does match the
beginning of the string. */
#define REG_NOTBOL 1
/* Like REG_NOTBOL, except for the end-of-line. */
#define REG_NOTEOL (1 << 1)
/* If any error codes are removed, changed, or added, update the
`re_error_msg' table in regex.c. */
typedef enum
{
REG_NOERROR = 0, /* Success. */
REG_NOMATCH, /* Didn't find a match (for regexec). */
/* POSIX regcomp return error codes. (In the order listed in the
standard.) */
REG_BADPAT, /* Invalid pattern. */
REG_ECOLLATE, /* Not implemented. */
REG_ECTYPE, /* Invalid character class name. */
REG_EESCAPE, /* Trailing backslash. */
REG_ESUBREG, /* Invalid back reference. */
REG_EBRACK, /* Unmatched left bracket. */
REG_EPAREN, /* Parenthesis imbalance. */
REG_EBRACE, /* Unmatched \{. */
REG_BADBR, /* Invalid contents of \{\}. */
REG_ERANGE, /* Invalid range end. */
REG_ESPACE, /* Ran out of memory. */
REG_BADRPT, /* No preceding re for repetition op. */
/* Error codes we've added. */
REG_EEND, /* Premature end. */
REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
} reg_errcode_t;
/* This data structure represents a compiled pattern. Before calling
the pattern compiler, the fields `buffer', `allocated', `fastmap',
`translate', and `no_sub' can be set. After the pattern has been
compiled, the `re_nsub' field is available. All other fields are
private to the regex routines. */
struct re_pattern_buffer
{
/* [[[begin pattern_buffer]]] */
/* Space that holds the compiled pattern. It is declared as
`unsigned char *' because its elements are
sometimes used as array indexes. */
unsigned char *buffer;
/* Number of bytes to which `buffer' points. */
unsigned long allocated;
/* Number of bytes actually used in `buffer'. */
unsigned long used;
/* Syntax setting with which the pattern was compiled. */
reg_syntax_t syntax;
/* Pointer to a fastmap, if any, otherwise zero. re_search uses
the fastmap, if there is one, to skip over impossible
starting points for matches. */
char *fastmap;
/* Either a translate table to apply to all characters before
comparing them, or zero for no translation. The translation
is applied to a pattern when it is compiled and to a string
when it is matched. */
char *translate;
/* Number of subexpressions found by the compiler. */
size_t re_nsub;
/* Zero if this pattern cannot match the empty string, one else.
Well, in truth it's used only in `re_search_2', to see
whether or not we should use the fastmap, so we don't set
this absolutely perfectly; see `re_compile_fastmap' (the
`duplicate' case). */
unsigned can_be_null : 1;
/* If REGS_UNALLOCATED, allocate space in the `regs' structure
for `max (RE_NREGS, re_nsub + 1)' groups.
If REGS_REALLOCATE, reallocate space if necessary.
If REGS_FIXED, use what's there. */
#define REGS_UNALLOCATED 0
#define REGS_REALLOCATE 1
#define REGS_FIXED 2
unsigned regs_allocated : 2;
/* Set to zero when `regex_compile' compiles a pattern; set to one
by `re_compile_fastmap' if it updates the fastmap. */
unsigned fastmap_accurate : 1;
/* If set, `re_match_2' does not return information about
subexpressions. */
unsigned no_sub : 1;
/* If set, a beginning-of-line anchor doesn't match at the
beginning of the string. */
unsigned not_bol : 1;
/* Similarly for an end-of-line anchor. */
unsigned not_eol : 1;
/* If true, an anchor at a newline matches. */
unsigned newline_anchor : 1;
/* [[[end pattern_buffer]]] */
};
typedef struct re_pattern_buffer regex_t;
/* search.c (search_buffer) in Emacs needs this one opcode value. It is
defined both in `regex.c' and here. */
#define RE_EXACTN_VALUE 1
/* Type for byte offsets within the string. POSIX mandates this. */
typedef int regoff_t;
/* This is the structure we store register match data in. See
regex.texinfo for a full description of what registers match. */
struct re_registers
{
unsigned num_regs;
regoff_t *start;
regoff_t *end;
};
/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
`re_match_2' returns information about at least this many registers
the first time a `regs' structure is passed. */
#ifndef RE_NREGS
#define RE_NREGS 30
#endif
/* POSIX specification for registers. Aside from the different names than
`re_registers', POSIX uses an array of structures, instead of a
structure of arrays. */
typedef struct
{
regoff_t rm_so; /* Byte offset from string's start to substring's start. */
regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
} regmatch_t;
/* Declarations for routines. */
/* To avoid duplicating every routine declaration -- once with a
prototype (if we are ANSI), and once without (if we aren't) -- we
use the following macro to declare argument types. This
unfortunately clutters up the declarations a bit, but I think it's
worth it. */
#if __STDC__
#define _RE_ARGS(args) args
#else /* not __STDC__ */
#define _RE_ARGS(args) ()
#endif /* not __STDC__ */
/* Sets the current default syntax to SYNTAX, and return the old syntax.
You can also simply assign to the `re_syntax_options' variable. */
extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
/* Compile the regular expression PATTERN, with length LENGTH
and syntax given by the global `re_syntax_options', into the buffer
BUFFER. Return NULL if successful, and an error string if not. */
extern const char *re_compile_pattern
_RE_ARGS ((const char *pattern, int length,
struct re_pattern_buffer *buffer));
/* Compile a fastmap for the compiled pattern in BUFFER; used to
accelerate searches. Return 0 if successful and -2 if was an
internal error. */
extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
/* Search in the string STRING (with length LENGTH) for the pattern
compiled into BUFFER. Start searching at position START, for RANGE
characters. Return the starting position of the match, -1 for no
match, or -2 for an internal error. Also return register
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
extern int re_search
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
int length, int start, int range, struct re_registers *regs));
/* Like `re_search', but search in the concatenation of STRING1 and
STRING2. Also, stop searching at index START + STOP. */
extern int re_search_2
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
int length1, const char *string2, int length2,
int start, int range, struct re_registers *regs, int stop));
/* Like `re_search', but return how many characters in STRING the regexp
in BUFFER matched, starting at position START. */
extern int re_match
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
int length, int start, struct re_registers *regs));
/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
extern int re_match_2
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
int length1, const char *string2, int length2,
int start, struct re_registers *regs, int stop));
/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
ENDS. Subsequent matches using BUFFER and REGS will use this memory
for recording register information. STARTS and ENDS must be
allocated with malloc, and must each be at least `NUM_REGS * sizeof
(regoff_t)' bytes long.
If NUM_REGS == 0, then subsequent matches should allocate their own
register data.
Unless this function is called, the first search or match using
PATTERN_BUFFER will allocate its own register data, without
freeing the old data. */
extern void re_set_registers
_RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
unsigned num_regs, regoff_t *starts, regoff_t *ends));
/* 4.2 bsd compatibility. */
extern char *re_comp _RE_ARGS ((const char *));
extern int re_exec _RE_ARGS ((const char *));
/* POSIX compatibility. */
extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags));
extern int regexec
_RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch,
regmatch_t pmatch[], int eflags));
extern size_t regerror
_RE_ARGS ((int errcode, const regex_t *preg, char *errbuf,
size_t errbuf_size));
extern void regfree _RE_ARGS ((regex_t *preg));
#endif /* not __REGEXP_LIBRARY_H__ */
/*
Local variables:
make-backup-files: t
version-control: t
trim-versions-without-asking: nil
End:
*/
+12
View File
@@ -0,0 +1,12 @@
all: client server
client:
gcc -o tsp-client tsp-client.c sscript.c
server:
gcc -o tsp-server-run tsp-server-run.c
gcc -o tsp-skin socker.c
clean:
rm -f *~
rm -f tsp-server-run tsp-client tsp-skin
+26
View File
@@ -0,0 +1,26 @@
how to use tsp-client:
first make it "make"
then run it like this:
$ ./tsp-client <tsp server> <port>
do this a couple of times
if the answers come within 1 second count its right
then take the most common time difference count and do in UnrealIRCd like
this:
/quote tsctl offset + <difference count>
then your server is time synched
current tsp servers online:
server port
-----------------------------
irc.flirt.org 6100
if you want to make your own TSP server (must be a box using NTP)
run ./tsp-server, it will then start running on port 6100
+40
View File
@@ -0,0 +1,40 @@
Socket Script C library
-----------------------
Home page:
http://www.linsupport.com
This is a simple library that provides usefull functions for C
networking applications. It's based on the Socket Script scripting
language, but meant for C programmers. These functions are really
shortcuts to C functions, meant to make their use simple.
This can create a static lib: libsscript.a
To compile:
make
Then to install it:
make install
(C) Copyright 1998-2000 Patrick Lambert <drow@post.com>
This library is under the LGPL license which means:
1- You can copy and use this program freely.
2- You may not claim that you wrote it.
3- If you want to include parts of this software in your own product,
you can do so if that product stays under free software and if all
copyright notices in source and documentation, as well as the no warranty
comment, remains.
4- This program is distributed without ANY WARRANTY, without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.
+149
View File
@@ -0,0 +1,149 @@
/*
SOCKER Socket redirector version 0.1
Patrick Doyle Oct 1998
Based on tserver by Michael Johnson and Erik Troan
Puts a normal stdin & stdout based program up on a port
as a server process. Each connection spawns a new copy
of the program.
Please notify me of any changes to this code tha you
subsequently redistribute. I can be contacted at
patrick@minotaursoftware.com.
Also, please leave my name and those of Michael Johnson
and Erik Troan at the top of this file.
*/
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <signal.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <sys/wait.h>
#define ZOMBIE /* Causes zombies to be collected. Only works under Linux. */
#define debug printf
#undef debug
void debug(char *format, ...){}
int sock = -1;
void die(char *msg){
perror(msg);
exit(1);
}
void handle_sig(int signum){
if(signum == SIGCHLD){
/* Collect exit statuses. Prevent zombies. */
int status;
while(0 < waitpid(-1, &status, WNOHANG));
}else{
fprintf(stderr, "\nSocker exiting normally.\n");
close(sock);
exit(0);
}
}
#define asizeof(x) (sizeof(x)/sizeof(x[0]))
void setup_sig_handler(){
int sa_num;
static int sigs[] = {
SIGHUP, SIGINT, SIGQUIT, SIGXCPU, SIGXFSZ, SIGTERM
# ifdef ZOMBIE
, SIGCHLD
# endif
};
static struct sigaction sig_actions[asizeof(sigs)];
debug("Starting setup_sig_handler\n");
memset(sig_actions, 0, sizeof(sig_actions));
sig_actions[0].sa_handler = handle_sig;
sigemptyset(&(sig_actions[0].sa_mask));
for(sa_num=1; sa_num < asizeof(sigs); sa_num++){
memcpy(sig_actions+sa_num, sig_actions, sizeof(sig_actions[0]));
}
for(sa_num=0; sa_num < asizeof(sigs); sa_num++){
if(sigaction(sigs[sa_num], sig_actions+sa_num, NULL))
die("sigaction");
}
# ifdef ZOMBIE
siginterrupt(SIGCHLD, 0); /* Don't let SIGCHLD interrupt socket calls */
# endif
debug("Ending setup_sig_handler\n");
}
int main(int argc, char *argv[]) {
struct sockaddr_in address;
int conn, i, portnum;
size_t addrLength = sizeof(struct sockaddr_in);
fprintf(stderr, "SOCKER Socket Redirector Patrick Doyle Oct 1998\n");
if (argc < 3 || !(portnum = atoi(argv[1]))){
fprintf(stderr, "Usage: socker {port_num} {command}\n");
fprintf(stderr, "Waits for TCP connections on the given port, and then\n");
fprintf(stderr, "spawns a new process executing {command} for each connection.\n");
fprintf(stderr, "Exit status: 0=caught signal and exited; 1=error\n");
exit(1);
}
if ((sock = socket(PF_INET, SOCK_STREAM, 0)) < 0)
die("socket");
debug("Calling setup_sig_handler\n");
setup_sig_handler();
/* Let the kernel reuse the socket address. This lets us run
twice in a row, without waiting for the (ip, port) tuple
to time out. */
i = 1;
setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (void*)&i, i);
address.sin_family = AF_INET;
address.sin_port = htons(portnum);
memset(&address.sin_addr, 0, sizeof(address.sin_addr));
if (bind(sock, (struct sockaddr *) &address, sizeof(address)))
die("bind");
if (listen(sock, 5))
die("listen");
while ((conn = accept(sock, (struct sockaddr *) &address, &addrLength)) >= 0) {
if(fork()){ /* Parent; loop back to accept another */
close(conn);
}else{ /* Child; exec given command line */
close(sock);
/* Redirect stdin & stdout to socket */
if(0 != dup2(conn, 0) || 1 != dup2(conn, 1))
die("dup2 redirection");
/* Turn off buffering */
/* Note: this seems to have no effect beyond execvp */
setbuf(stdin, 0);
setbuf(stdout, 0);
setbuf(stderr, 0);
/* Execute command */
execvp(argv[2], argv+2);
/* Error if we get here */
fprintf(stderr, "execvp failed. Please make sure that '%s' refers to a valid program.\n", argv[2]);
_exit(1)/*
man fork says _exit should be called to prevent parent from
being corrupted.
*/;
}
}
if (conn < 0)
die("accept");
/* Shouldn't get here */
close(sock);
return 2;
}
+115
View File
@@ -0,0 +1,115 @@
Socket Script Library 2.0
-------------------------
Here are the functions and errno code numbers returned by some of SScript's
functions:
errno:
SSCRIPT_SOCKET_FAILED 10
SSCRIPT_BIND_FAILED 11
SSCRIPT_GETSOCKETNAME_FAILED 12
SSCRIPT_FLAGS_FAILED 13
SSCRIPT_CONNECT_FAILED 20
SSCRIPT_UDPSEND_FAILED 31
SSCRIPT_UDPRECEIVE_FAILED 32
SSCRIPT_READ_FAILED 33
The following are the SScript functions available in this library.
They return either a string, an int or void. If an error occurs, it returns
NULL (in case of a string) or -1 (in case of an int) and sets errno to
the right error code (see above). Note that since each connection is
associated with a socket number (sockfd), it is possible to make
multiple connections.
- char *sscript_lindex(char *input_string, int word_number);
Get <word_number> from <input_string>. Returns the requested word.
- char *sscript_lrange(char *input_string, int starting_at);
Return everything after <starting_at> in <input_string>.
- int sscript_connect(char *server, int port, char *virtual);
Connect to <server> at port <port>, binding to virtual address
<virtual>. If no binding is required, use NULL. Returns the socket
number.
- int sscript_server(int port);
Initialize a server socket. Returns the socket number.
- int sscript_wait_clients(int sockfd, int port, int forking);
Listen to port <port> and wait for clients. This function is a
blocking function. It will stay there untill it gets a client, and when
it does, it will create a child and return its associated socket number.
The child will go in the background if <forking> is set to 1
(required for multithreading). This returns the child' sockfd.
- char *sscript_get_remote_ip();
This function returns the IP that connected to a server-oriented program.
- void sscript_disconnect(int sockfd);
Diconnects the connection pointed by <sockfd>.
- void sscript_dump(int sockfd, char *filename);
Dumps the content of <filename> to the connection pointed by <sockfd>.
- void sscript_ping(char *hostname);
Sends a TCP ping (echo to port 7) to <hostname>. This is a blocking
function and only returns if the ping worked.
- int sscript_test(char *hostname, int port);
This tests if port <port> from <hostname> is open. Returns 0 if it is.
- char *sscript_version();
Returns the current library version.
- char *sscript_read(int sockfd, int chop);
Read from the connection pointed by <sockfd> and clear the last
char if <chop> is set to 1.
- void sscript_write(int sockfd, char *string);
Write <string> to the connection pointed by <sockfd>.
- int sscript_udp_send(char *hostname, int port, char *msg);
Send an UDP packet to <hostname> at port <port> containing the message <msg>
- char *sscript_udp_listen(int port);
Listen for UDP packets on port <port>. Available to root only.
- char *sscript_icmp_detect();
Listen for ICMP messages and return the type (see ICMP.types) and the IP
that sent one. Available to root only.
- char *sscript_resolve_host(char *hostname);
Resolve <hostname> into an IP.
- char *sscript_resolve_ip(char *ip);
Resolve <ip> into an hostname.
- char *sscript_get_localhost();
Get the local hostname.
- void sscript_binary_send(int sockfd, char *filename);
This function sends a binary file.
- void sscript_binary_get(int sockfd);
This function receives a binary file.
- char *sscript_login_to_passwd(char *login)
This function converts a login name to its crypted password.
- char *sscript_uid_to_login(long uid)
This function finds the login name for the UID provided.
- int sscript_sokstat(char *option, int sockfd)
This will give the settings for the currently open socket sockfd. Option
is what you want the setting of and can be sendbuf, recvbuf, error or type.
- char *sscript_time_read(int sockfd, int time);
This function reads from sockfd for time secs, and then returns what it
read, or "timeout".
- void sscript_redir(int sockfd1, int sockfd2);
This function will redirect packets from sockfd1 to sockfd2, and the
other way around.
- void sscript_nodelay(int sockfd);
Set the socket in non-blocking mode.
+509
View File
@@ -0,0 +1,509 @@
/*
* SScript - See the sscript.doc
* (C) 1998 Drow <drow@wildstar.net>
* http://devplanet.fastethernet.net
*/
#include "sscript.h"
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <netinet/in.h>
#include <net/if.h>
#include <strings.h>
#include <sys/file.h>
#include <signal.h>
#include <unistd.h>
#include <netdb.h>
#include <arpa/inet.h>
#ifndef FNDELAY
#define FNDELAY O_NONBLOCK
#endif
#ifdef POSIX
#include <pwd.h>
#include <sys/utsname.h>
#endif
char global_var[9][1024]; /* need to find why gcc outputs warns without this */
char remoteIP[30];
char *sscript_lindex(char *input_string, int word_number)
{
char *tokens[1024];
static char tmpstring[1024];
int i;
strncpy(tmpstring,input_string,1024);
(char *)tokens[i=0] = (char *)strtok(tmpstring, " ");
while (((char *)tokens[++i] = (char *)strtok(NULL, " ")));
tokens[i] = NULL;
return(tokens[word_number]);
}
int sscript_connect(char *server, int port, char *virtual)
{
struct sockaddr_in address;
struct sockaddr_in la;
int len, sockfd;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd<1)
{
errno = SSCRIPT_SOCKET_FAILED;
return -1;
}
address.sin_family = AF_INET;
address.sin_addr.s_addr = inet_addr(server);
address.sin_port = htons(port);
len = sizeof(address);
if(virtual!=NULL)
{
la.sin_family = AF_INET;
la.sin_addr.s_addr = inet_addr(virtual);
la.sin_port = 0;
bind(sockfd, (struct sockaddr *)&la, sizeof(la));
}
if(connect(sockfd, (struct sockaddr *)&address, len)<0)
{
errno = SSCRIPT_CONNECT_FAILED;
return -1;
}
return sockfd;
}
int sscript_server(int port)
{
int sockfd2, listen_len;
struct sockaddr_in listen_addr;
sockfd2 = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd2<1)
{
errno = SSCRIPT_SOCKET_FAILED;
return -1;
}
listen_addr.sin_family = AF_INET;
listen_addr.sin_addr.s_addr = htonl(INADDR_ANY);
listen_addr.sin_port = htons(port);
listen_len = sizeof(listen_addr);
if(bind(sockfd2, (struct sockaddr *)&listen_addr, listen_len))
{
errno = SSCRIPT_BIND_FAILED;
return -1;
}
return sockfd2;
}
int sscript_wait_clients(int sockfd2, int port, int forking)
{
int sockfd=(int)NULL,len,from_len,pid;
struct sockaddr_in address;
struct sockaddr_in from_addr;
struct sockaddr_in listen_addr;
listen_addr.sin_family = AF_INET;
listen_addr.sin_addr.s_addr = htonl(INADDR_ANY);
listen_addr.sin_port = htons(port);
len = sizeof(address);
listen(sockfd2, 5);
for(;;)
{
if(forking) if(sockfd!=(int)NULL) close(sockfd);
sockfd = accept(sockfd2, (struct sockaddr *)&address, &len);
if(forking) if((pid=fork())) break;
}
from_len=sizeof(from_addr);
memset(&from_addr, 0, sizeof(from_addr));
if(getpeername(sockfd, (struct sockaddr *)&from_addr,&from_len) < 0)
{
strcpy(remoteIP,"unknown");
}
else
{
strcpy(remoteIP,inet_ntoa(from_addr.sin_addr));
}
return sockfd;
}
char *sscript_get_remote_ip()
{
return remoteIP;
}
void sscript_disconnect(int sockfd)
{
shutdown(sockfd,2);
close(sockfd);
}
void sscript_dump(int sockfd, char *filename)
{
char temp[1024]="";
FILE *fpa;
fpa=fopen(filename,"r");
if(fpa==NULL) return;
while(fgets(temp,1024,fpa)!=NULL)
write(sockfd, temp, strlen(temp));
fclose(fpa);
}
void sscript_ping(char *hostname)
{
struct sockaddr_in other_addr;
int sockfd, result;
char temp[255];
sockfd=socket(AF_INET, SOCK_STREAM, 0);
if(sockfd<0)
{
errno = SSCRIPT_SOCKET_FAILED;
return;
}
other_addr.sin_family = AF_INET;
other_addr.sin_addr.s_addr = inet_addr(hostname);
other_addr.sin_port = htons(7);
connect(sockfd, (struct sockaddr*) &other_addr,sizeof(other_addr));
result=write(sockfd,"ping\n",strlen("ping\n"));
result=read(sockfd,temp,result);
close(sockfd);
}
int sscript_test(char *hostname, int port)
{
int sockfd;
struct sockaddr_in other_addr;
if((sockfd=socket(AF_INET, SOCK_STREAM, 0))<0)
{
errno = SSCRIPT_SOCKET_FAILED;
return -1;
}
other_addr.sin_family = AF_INET;
other_addr.sin_addr.s_addr = inet_addr(hostname);
other_addr.sin_port = htons(port);
if(connect(sockfd, (struct sockaddr*)&other_addr,sizeof(other_addr))==-1)
{
errno = SSCRIPT_CONNECT_FAILED;
close(sockfd);
return -1;
}
close(sockfd);
return 0;
}
char *sscript_version()
{
return ABOUT;
}
char *sscript_read(int sockfd, int chop)
{
int i, result;
char inchar;
char string[1024];
bzero(string,1024);
strcpy(string,"");
for(i=0;(result=read(sockfd,&inchar,1))!='\0';i++)
{
string[i]=inchar;
if(inchar=='\n') break;
}
if (chop) string[i-1]=' ';
strcpy(global_var[0],string);
return global_var[0];
}
void sscript_write(int sockfd, char *string)
{
write(sockfd, string, strlen(string));
}
int sscript_compare(char *case1, char *case2)
{
return (strcmp(case1,case2));
}
char *sscript_lrange(char *input_string, int starting_at)
{
char *tokens[555];
static char tmpstring[512]="";
int i;
char out_string[512]="";
strcpy(out_string,"");
if(input_string==NULL) {
strcpy(out_string," ");
strcat(out_string,NULL);
strcpy(global_var[1],out_string);
return global_var[1]; }
strcpy(tmpstring,input_string);
(char *)tokens[i=0] = (char *)strtok(tmpstring, " ");
while(((char *)tokens[++i] = (char *)strtok(NULL, " ")));
tokens[i] = NULL;
i++;
if(i<starting_at) return (int)NULL;
while(tokens[starting_at] != NULL)
{
strcat(out_string,tokens[starting_at]);
strcat(out_string, " ");
starting_at++;
}
strcpy(global_var[2],out_string);
return global_var[2];
}
int sscript_udp_send(char *hostname, int port, char *msg)
{
int udpsock;
struct sockaddr_in udpaddr;
udpsock = socket(AF_INET, SOCK_DGRAM, 0);
if(udpsock<0)
{
errno = SSCRIPT_SOCKET_FAILED;
return -1;
}
udpaddr.sin_family = AF_INET;
udpaddr.sin_port = htons(port);
udpaddr.sin_addr.s_addr = inet_addr(hostname);
if(sendto(udpsock,msg,sizeof(msg),0,(struct sockaddr *)&udpaddr,sizeof(udpaddr))<0)
{
errno = SSCRIPT_UDPSEND_FAILED;
return -1;
}
return 0;
}
char *sscript_udp_listen(int port)
{
int udpsock,len;
struct sockaddr_in udpaddr, from;
char msg[255];
udpsock = socket(AF_INET, SOCK_DGRAM, 0);
if(udpsock<0)
{
errno = SSCRIPT_SOCKET_FAILED;
return (char *)NULL;
}
udpaddr.sin_family = AF_INET;
udpaddr.sin_addr.s_addr = INADDR_ANY;
udpaddr.sin_port = htons(port);
if(bind(udpsock,(struct sockaddr *)&udpaddr,sizeof(udpaddr))<0)
{
errno = SSCRIPT_BIND_FAILED;
close(udpsock);
return (char *)NULL;
}
len = sizeof(from);
if(recvfrom(udpsock,msg,sizeof(msg),0,(struct sockaddr *)&from,&len)<0)
{
errno = SSCRIPT_UDPRECEIVE_FAILED;
close(udpsock);
return (char *)NULL;
}
close(udpsock);
strcpy(global_var[3],msg);
return global_var[3];
}
char *sscript_icmp_detect()
{
int icmpsock,len,result,type;
struct sockaddr_in icmpaddr;
char readbuf[1024]="";
char msg[255];
if((icmpsock=socket(AF_INET, SOCK_RAW, IPPROTO_ICMP))<0)
{
errno = SSCRIPT_SOCKET_FAILED;
return (char *)NULL;
}
icmpaddr.sin_family = AF_INET;
icmpaddr.sin_addr.s_addr = INADDR_ANY;
icmpaddr.sin_port = 0;
if(bind(icmpsock,(struct sockaddr *)&icmpaddr,sizeof(icmpaddr))<0)
{
errno = SSCRIPT_BIND_FAILED;
close(icmpsock);
return (char *)NULL;
}
len=sizeof(icmpaddr);
if(getsockname(icmpsock,(struct sockaddr *)&icmpaddr,&len)<0)
{
errno = SSCRIPT_GETSOCKETNAME_FAILED;
close(icmpsock);
return (char *)NULL;
}
if((result=read(icmpsock,readbuf,sizeof(readbuf)))<0)
{
errno = SSCRIPT_READ_FAILED;
close(icmpsock);
return (char *)NULL;
}
type=readbuf[20] & 0xff;
sprintf(msg,"%d %d.%d.%d.%d ",type,readbuf[12]&0xff,readbuf[13]&0xff,readbuf[14]&0xff,readbuf[15]&0xff);
close(icmpsock);
strcpy(global_var[4],msg);
return global_var[4];
}
char *sscript_resolve_host(char *hostname)
{
struct hostent *hp;
struct sockaddr_in from;
char result[255];
memset(&from, 0, sizeof(struct sockaddr_in));
from.sin_family = AF_INET;
hp=gethostbyname(hostname);
if(hp==NULL) strcpy(result,"unknown");
else
{
memcpy(&from.sin_addr,hp->h_addr,hp->h_length);
strcpy(result,inet_ntoa(from.sin_addr));
}
strcpy(global_var[5],result);
return global_var[5];
}
char *sscript_resolve_ip(char *ip)
{
struct hostent *hp;
struct sockaddr_in from;
char result[255];
from.sin_family = AF_INET;
from.sin_addr.s_addr = inet_addr(ip);
hp=gethostbyaddr((char *)&from.sin_addr, sizeof(struct in_addr),from.sin_family);
if(hp==NULL) strcpy(result,"unknown");
else strcpy(result,(char *)hp->h_name);;
strcpy(global_var[6],result);
return global_var[6];
}
char *sscript_get_localhost()
{
char result[255];
gethostname(result,sizeof(result));
strcpy(global_var[7],result);
return global_var[7];
}
void sscript_binary_send(int sockfd, char *string)
{
char temp4[255], temp2[255];
int cnt;
FILE *fpa;
sprintf(temp4,"uuencode %s %s > %s/.temp.uue 2>/dev/null",string,string,TMP_DIR);
system(temp4);
sprintf(temp2,"%s/.temp.uue",TMP_DIR);
fpa=fopen(temp2,"r");
if(fpa==NULL || fileno(fpa)<0) return;
else {
while((cnt = read(fileno(fpa), temp4, 250))>0)
write(sockfd, temp4, cnt);
if(fpa!=NULL) fclose(fpa);
sprintf(temp4,"rm -f %s/.temp.uue",TMP_DIR);
system(temp4);
}
}
void sscript_binary_get(int sockfd)
{
char temp2[255], temp4[255], inchar, inall[1024];
FILE *fpa;
int i;
sprintf(temp2,"%s/.temp.uue",TMP_DIR);
fpa=fopen(temp2,"w");
if(fpa==NULL || fileno(fpa)<0) return;
while(strcasecmp(inall,"end\n"))
{
bzero(inall, 1024);
for(i=0;read(sockfd,&inchar,1)!='\0';i++)
{
inall[i]=inchar;
if(inchar=='\n') break;
}
fputs(inall,fpa);
}
if(fpa!=NULL) fclose(fpa);
sprintf(temp4,"uudecode %s/.temp.uue",TMP_DIR);
system(temp4);
sprintf(temp4,"rm -f %s/.temp.uue",TMP_DIR);
system(temp4);
}
char *sscript_login_to_passwd(char *login)
{
#ifdef POSIX
struct passwd *pw;
pw = getpwnam(login);
if(pw!=NULL) return pw->pw_passwd;
#endif
return (char *)NULL;
}
char *sscript_uid_to_login(long my_uid)
{
#ifdef POSIX
struct passwd *pw;
pw = getpwuid(my_uid);
if(pw!=NULL) return pw->pw_name;
#endif
return (char *)NULL;
}
int sscript_sokstat(char *option, int sockfd)
{
int optlen=sizeof(int),optval=1;
if(!strcasecmp(option,"sendbuf")) getsockopt(sockfd, SOL_SOCKET, SO_SNDBUF, (char *)&optval, &optlen);
else if(!strcasecmp(option,"recvbuf")) getsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, (char *)&optval, &optlen);
else if(!strcasecmp(option,"error")) getsockopt(sockfd, SOL_SOCKET, SO_ERROR, (char *)&optval, &optlen);
else if(!strcasecmp(option,"type")) getsockopt(sockfd, SOL_SOCKET, SO_TYPE, (char *)&optval, &optlen);
else optval=-1;
return optval;
}
char *sscript_time_read(int sockfd, int time_sec)
{
struct timeval timeout;
int max_fd;
fd_set readfs, newfs;
timeout.tv_sec=time_sec;
timeout.tv_usec=0;
FD_ZERO(&readfs);
FD_SET(sockfd, &readfs);
max_fd = sockfd;
memcpy(&newfs, &readfs, sizeof(readfs));
select(max_fd+1, &newfs, NULL, NULL, &timeout);
if(FD_ISSET (sockfd, &newfs))
{
read(sockfd, global_var[8], sizeof(global_var[8]));
return(global_var[8]);
}
return("timeout");
}
void sscript_redir(int sockfd, int rsck)
{
char buf[4096];
fd_set readfs, newfs;
int max_fd, len;
FD_ZERO(&readfs);
FD_SET(sockfd, &readfs);
FD_SET(rsck, &readfs);
if(sockfd>rsck) max_fd = sockfd;
else max_fd = rsck;
while(1) {
memcpy(&newfs, &readfs, sizeof(readfs));
select(max_fd+1, &newfs, NULL, NULL, NULL);
if(FD_ISSET(sockfd, &newfs))
{
if((len=read(sockfd, buf, sizeof(buf)))<1) break;
if(write(rsck, buf, len)!=len) break;
}
if(FD_ISSET(rsck, &newfs))
{
if((len=read(rsck, buf, sizeof(buf)))<1) break;
if(write(sockfd, buf, len)!=len) break;
}
}
}
void sscript_nodelay(int sockfd)
{
int i;
if(( i = fcntl(sockfd, F_GETFL, 0)) == -1);
else if (fcntl(sockfd, F_SETFL, i | FNDELAY) == -1);
}
+45
View File
@@ -0,0 +1,45 @@
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#define SSCRIPT_SOCKET_FAILED 10
#define SSCRIPT_BIND_FAILED 11
#define SSCRIPT_GETSOCKETNAME_FAILED 12
#define SSCRIPT_FLAGS_FAILED 13
#define SSCRIPT_CONNECT_FAILED 20
#define SSCRIPT_UDPSEND_FAILED 31
#define SSCRIPT_UDPRECEIVE_FAILED 32
#define SSCRIPT_READ_FAILED 33
#define ABOUT "Socket Script library 2.0 by Patrick Lambert (drow@post.com)"
#define POSIX
#define TMP_DIR "."
char *sscript_lindex(char *input_string, int word_number);
int sscript_connect(char *server, int port, char *virtual);
int sscript_server(int port);
int sscript_wait_clients(int sockfd2, int port, int forking);
char *sscript_get_remote_ip();
void sscript_disconnect(int sockfd);
void sscript_dump(int sockfd, char *filename);
void sscript_ping(char *hostname);
int sscript_test(char *hostname, int port);
char *sscript_version();
char *sscript_read(int sockfd, int chop);
void sscript_write(int sockfd, char *string);
int sscript_compare(char *case1, char *case2);
char *sscript_lrange(char *input_string, int starting_at);
int sscript_udp_send(char *hostname, int port, char *msg);
char *sscript_udp_listen(int port);
char *sscript_icmp_detect();
char *sscript_resolve_host(char *hostname);
char *sscript_resolve_ip(char *ip);
char *sscript_get_localhost();
void sscript_binary_send(int sockfd, char *string);
void sscript_binary_get(int sockfd);
char *sscript_login_to_passwd(char *login);
char *sscript_uid_to_login(long my_uid);
int sscript_sokstat(char *option, int sockfd);
char *sscript_time_read(int sockfd, int time_sec);
void sscript_redir(int sockfd, int rsck);
void sscript_nodelay(int sockfd);
+39
View File
@@ -0,0 +1,39 @@
/* compile with: gcc -lsscript -o example example.c */
#include <stdio.h>
#include <errno.h>
#include <time.h>
main(int argc, char *argv[])
{
/* initializing variables */
char result[255]=".";
char *p;
int port = atoi(argv[2]);
int sockfd=0,i;
time_t t,d;
/* connect somewhere */
printf("Connecting to %s:%i .. \n", argv[1], port);
/* call to sscript_connect to connect to the server */
sockfd=sscript_connect(sscript_resolve_host(argv[1]),port,NULL);
/* if it returns -1, then print the error code */
if(sockfd<1)
{
printf("An error occured: %d\n",errno);
exit(1);
}
/* call to sscript_read and copy the result in 'result' */
p = (char *)sscript_time_read(sockfd,5);
if (p)
{
strcpy(result,p);
t = atol(result);
d = t - time(NULL);
printf("TS difference from timeserver is %li (%li)\n", d, t);
}
/* print the result */
/* disconnects */
sscript_disconnect(sockfd);
}
+2
View File
@@ -0,0 +1,2 @@
#!/bin/sh
./tsp-skin 6100 ./tsp-server-run &
+3
View File
@@ -0,0 +1,3 @@
main() {
printf("%li", time(0));
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 56 B

+124
View File
@@ -0,0 +1,124 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>
$ TITLE
</title>
<style type="text/css" media="screen">
BODY {
scrollbar-base-color : Black;
scrollbar-3d-light-color : #D3D3D3;
scrollbar-dark-shadow-color : #D3D3D3;
scrollbar-shadow-color : #D3D3D3;
scrollbar-highlight-color : #D3D3D3;
scrollbar-arrow-color : Black;
scrollbar-face-color : #D3D3D3;
background-color : #FFFFFF;
font-size : 8pt;
font-family : "Trebuchet MS", Arial, Tahoma;
}
.text, INPUT {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 12px;
}
.status {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 10px;
}
.title {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 15pt;
}
.button {
font-family : Tahoma;
border : 1px solid #C8C8C8;
font-size : 11px;
cursor : hand;
background-color : #E5E5E5;
}
#background { position: absolute; z-index: 0; top: 0px; left: 0px; width: 650px; height: 450px; visibility: visible }
#content { position: absolute; top: 77px; left: 133px; width: 399px; height: 283px; visibility: visible }
#unrealIRCdLink { font-size: 8pt; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; top: 432px; left: 0px; width: 650px; height: 16px; visibility: visible; }
#icon { z-index: 1; font-size: 8pt; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; top: 13px; left: 22px; width: 72px; height: 73px; visibility: visible; scrollbar-3d-light-color: #D3D3D3; scrollbar-arrow-color: Black; scrollbar-base-color: Black; scrollbar-dark-shadow-color: #D3D3D3; scrollbar-face-color: #D3D3D3; scrollbar-highlight-color: #D3D3D3; scrollbar-shadow-color: #D3D3D3 }
#button1img { z-index: 3; position: absolute; top: 150px; left: 11px; width: 111px; height: 23px; }
#button1text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 150px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button1bg { z-index: 1; position: absolute; top: 150px; left: 11px; width: 111px; height: 23px; }
#button2img { z-index: 3; position: absolute; top: 180px; left: 11px; width: 111px; height: 23px; }
#button2text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 180px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button2bg { z-index: 1; position: absolute; top: 180px; left: 11px; width: 111px; height: 23px; }
#button3img { z-index: 3; position: absolute; top: 210px; left: 11px; width: 111px; height: 23px; }
#button3text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 210px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button3bg { z-index: 1; position: absolute; top: 210px; left: 11px; width: 111px; height: 23px; }
#button4img { z-index: 3; position: absolute; top: 240px; left: 11px; width: 111px; height: 23px; }
#button4text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 240px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button4bg { z-index: 1; position: absolute; top: 240px; left: 11px; width: 111px; height: 23px; }
#button5img { z-index: 3; position: absolute; top: 270px; left: 11px; width: 111px; height: 23px; }
#button5text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 270px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button5bg { z-index: 1; position: absolute; top: 270px; left: 11px; width: 111px; height: 23px; }
#button6img { z-index: 3; position: absolute; top: 300px; left: 11px; width: 111px; height: 23px; }
#button6text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 300px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button6bg { z-index: 1; position: absolute; top: 300px; left: 11px; width: 111px; height: 23px; }
#button7img { z-index: 3; position: absolute; top: 330px; left: 11px; width: 111px; height: 23px; }
#button7text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 330px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button7bg { z-index: 1; position: absolute; top: 330px; left: 11px; width: 111px; height: 23px; }
#button8img { z-index: 3; position: absolute; top: 360px; left: 11px; width: 111px; height: 23px; }
#button8text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 360px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button8bg { z-index: 1; position: absolute; top: 360px; left: 11px; width: 111px; height: 23px; }
#button9img { z-index: 3; position: absolute; top: 390px; left: 11px; width: 111px; height: 23px; }
#button9text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 390px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button9bg { z-index: 1; position: absolute; top: 390px; left: 11px; width: 111px; height: 23px; }
#button10img { z-index: 3; position: absolute; top: 420px; left: 11px; width: 111px; height: 23px; }
#button10text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 420px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button10bg { z-index: 1; position: absolute; top: 420px; left: 11px; width: 111px; height: 23px; }
</style>
</head>
<body bgcolor="#ffffff" text="black" link="black" vlink="black" alink="black">
<div id="button1img"><a href="http://www.unrealircd.org" onMouseOver="document.button1.src='../sections/active.gif';" onMouseOut="document.button1.src='../sections/inactive.gif';"><img src="../sections/inactive.gif" name="button1" border="0"></a></div>
<div id="button1text" align="center"><center>Operators</center></div>
<div id="button1bg"><img src="../sections/bg.gif" border="0"></div>
<div id="button2img"><a href="http://www.unrealircd.org" onMouseOver="document.button2.src='../sections/active.gif';" onMouseOut="document.button2.src='../sections/inactive.gif';"><img src="../sections/inactive.gif" name="button2" border="0"></a></div>
<div id="button2text" align="center"><center>Other stuff</center></div>
<div id="button2bg"><img src="../sections/bg.gif" border="0"></div>
<div id="icon"><img
$ ICON
width="72" height="73" border="0"></div>
<div id="background"><img src="../back/background.jpg" width="650" border="0"></div>
<div id="unrealIRCdLink">
<table width="650" height="18" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="3"><img src="../back/line.gif" width="650"></td></tr>
<tr width="650"><td valign="middle" align="right" height="9" width="97"><a target="_blank" href="http://www.unrealircd.com/" onMouseOver="document.unreallink.src='../unrealircd.com/active.gif';" onMouseOut="document.unreallink.src='../unrealircd.com/inactive.gif';"><img src="../unrealircd.com/inactive.gif" name="unreallink" border="0"></a></td>
$ STATUSLINE
</div>
<div id="content">
<div align="left"><i><span class="title">
$ SECTION
</span></i></div>
<center><table border="0" cellpadding="20" cellspacing="0" width="470" height="250" borderColorDark="black" borderColorLight="black"><tr><td valign="top" borderColorDark="#ffffff" borderColorLight="#ffffff">
$ DATA
</td></tr></table></center>
</div>
</body>
</html>
+90
View File
@@ -0,0 +1,90 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>
$ TITLE
</title>
<style type="text/css" media="screen">
<!--
BODY {
scrollbar-base-color : Black;
scrollbar-3d-light-color : #D3D3D3;
scrollbar-dark-shadow-color : #D3D3D3;
scrollbar-shadow-color : #D3D3D3;
scrollbar-highlight-color : #D3D3D3;
scrollbar-arrow-color : Black;
scrollbar-face-color : #D3D3D3;
background-color : #FFFFFF;
font-size : 8pt;
font-family : "Trebuchet MS", Arial, Tahoma;
}
.text, INPUT {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 12px;
}
.status {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 10px;
}
.title {
font-family : "Trebuchet MS", Arial, Tahoma;
font-size : 15pt;
}
.button {
font-family : Tahoma;
border : 1px solid #C8C8C8;
font-size : 11px;
cursor : hand;
background-color : #E5E5E5;
}
#background { position: absolute; z-index: 0; top: 0px; left: 0px; width: 650px; height: 450px; visibility: visible }
#content { position: absolute; top: 77px; left: 133px; width: 399px; height: 283px; visibility: visible }
#unrealIRCdLink { font-size: 8pt; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; top: 432px; left: 0px; width: 650px; height: 16px; visibility: visible; }
#icon { z-index: 1; font-size: 8pt; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; top: 13px; left: 22px; width: 72px; height: 73px; visibility: visible; scrollbar-3d-light-color: #D3D3D3; scrollbar-arrow-color: Black; scrollbar-base-color: Black; scrollbar-dark-shadow-color: #D3D3D3; scrollbar-face-color: #D3D3D3; scrollbar-highlight-color: #D3D3D3; scrollbar-shadow-color: #D3D3D3 }
#button1img { z-index: 3; position: absolute; top: 150px; left: 11px; width: 111px; height: 23px; }
#button1text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 150px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button1bg { z-index: 1; position: absolute; top: 150px; left: 11px; width: 111px; height: 23px; }
#button2img { z-index: 3; position: absolute; top: 180px; left: 11px; width: 111px; height: 23px; }
#button2text { font-size: 10px; font-family: "Trebuchet MS", Arial, Tahoma; position: absolute; z-index: 2; top: 180px; left: 11px; width: 111px; height: 23px; padding: 1px}
#button2bg { z-index: 1; position: absolute; top: 180px; left: 11px; width: 111px; height: 23px; }
--></style>
</head>
<body bgcolor="#ffffff" text="black" link="black" vlink="black" alink="black">
<div id="button1img"><a href="http://www.unrealircd.org" onMouseOver="document.button1.src='../sections/active.gif';" onMouseOut="document.button1.src='../sections/inactive.gif';"><img src="../sections/inactive.gif" name="button1" border="0"></a></div>
<div id="button1text" align="center"><center>Operators</center></div>
<div id="button1bg"><img src="../sections/bg.gif" border="0"></div>
<div id="button2img"><a href="http://www.unrealircd.org" onMouseOver="document.button2.src='../sections/active.gif';" onMouseOut="document.button2.src='../sections/inactive.gif';"><img src="../sections/inactive.gif" name="button2" border="0"></a></div>
<div id="button2text" align="center"><center>Other stuff</center></div>
<div id="button2bg"><img src="../sections/bg.gif" border="0"></div>
<div id="icon"><img
$ ICON
width="72" height="73" border="0"></div>
<div id="background"><img src="../back/background.jpg" width="650" border="0"></div>
<div id="unrealIRCdLink">
<table width="650" height="18" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="3"><img src="../back/line.gif" width="650"></td></tr>
<tr width="650"><td valign="middle" align="right" height="9" width="97"><a target="_blank" href="http://www.unrealircd.com/" onMouseOver="document.unreallink.src='../unrealircd.com/active.gif';" onMouseOut="document.unreallink.src='../unrealircd.com/inactive.gif';"><img src="../unrealircd.com/inactive.gif" name="unreallink" border="0"></a></td>
$ STATUSLINE
<!-- statusline <td align="center" height="9" width="450"><table width="398" height="9" border="0" cellspacing="0" cellpadding="0"><tr><td valign="top" align="center"><span class="status">Status Text goes here</span></td></tr></table></td><td align="right" height="9" width="159"><img src="../back/grad.jpg"></td></tr></table> -->
</div>
<div id="content">
<div align="left"><i><span class="title">
$ SECTION
</span></i></div>
<center><table border="0" cellpadding="20" cellspacing="0" width="470" height="250" borderColorDark="black" borderColorLight="black"><tr><td valign="top" borderColorDark="#ffffff" borderColorLight="#ffffff">
$ DATA
</td></tr></table></center>
</div>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

+81
View File
@@ -0,0 +1,81 @@
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
<title>loader</title>
<csactions>
<csaction name="3093F4DA0" class="Open Window" type="onevent" val0="section/opers" val1="" val2="650" val3="450" val4="false" val5="false" val6="false" val7="false" val8="false" val9="false" val10="false">
</csactions>
<csscriptdict>
<script><!--
function CSClickReturn () {
var bAgent = window.navigator.userAgent;
var bAppName = window.navigator.appName;
if ((bAppName.indexOf("Explorer") >= 0) && (bAgent.indexOf("Mozilla/3") >= 0) && (bAgent.indexOf("Mac") >= 0))
return true; // dont follow link
else return false; // dont follow link
}
CSStopExecution = false;
function CSAction(array) {
return CSAction2(CSAct, array);
}
function CSAction2(fct, array) {
var result;
for (var i=0;i<array.length;i++) {
if(CSStopExecution) return false;
var actArray = fct[array[i]];
if(actArray == null) return false;
var tempArray = new Array;
for(var j=1;j<actArray.length;j++) {
if((actArray[j] != null) && (typeof(actArray[j]) == "object") && (actArray[j].length == 2)) {
if(actArray[j][0] == "VAR") {
tempArray[j] = CSStateArray[actArray[j][1]];
}
else {
if(actArray[j][0] == "ACT") {
tempArray[j] = CSAction(new Array(new String(actArray[j][1])));
}
else
tempArray[j] = actArray[j];
}
}
else
tempArray[j] = actArray[j];
}
result = actArray[0](tempArray);
}
return result;
}
CSAct = new Object;
function CSOpenWindow(action) {
var wf = "";
wf = wf + "width=" + action[3];
wf = wf + ",height=" + action[4];
wf = wf + ",resizable=" + (action[5] ? "yes" : "no");
wf = wf + ",scrollbars=" + (action[6] ? "yes" : "no");
wf = wf + ",menubar=" + (action[7] ? "yes" : "no");
wf = wf + ",toolbar=" + (action[8] ? "yes" : "no");
wf = wf + ",directories=" + (action[9] ? "yes" : "no");
wf = wf + ",location=" + (action[10] ? "yes" : "no");
wf = wf + ",status=" + (action[11] ? "yes" : "no");
window.open(action[1],action[2],wf);
}
// --></script>
</csscriptdict>
<csactiondict>
<script><!--
CSAct[/*CMP*/ '3093F4DA0'] = new Array(CSOpenWindow,/*URL*/ 'section/opers','',650,450,false,false,false,false,false,false,false);
// --></script>
</csactiondict>
</head>
<body bgcolor="#ffffff">
<p><br><br><br><br>
<center><a href="#" onclick="CSAction(new Array(/*CMP*/'3093F4DA0'));" csclick="3093F4DA0">Load the Configuration Console</a></center>
</body>
</html>
Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 87 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 139 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

+47
View File
@@ -0,0 +1,47 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/auth.h
* Copyright (C) 2001 Carsten V. Munk (stskeeps@tspre.org)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
typedef struct {
char *data;
short type;
} anAuthStruct;
#define AUTHTYPE_PLAINTEXT 0
#define AUTHTYPE_UNIXCRYPT 1
#define AUTHTYPE_MD5 2
#define AUTHTYPE_SHA1 3
#define AUTHTYPE_SSL_PUBKEY 4
#ifdef USE_SSL
//#define AUTHENABLE_MD5
//#define AUTHENABLE_SHA1
//#define AUTHENABLE_SSL_PUBKEY
/* OpenSSL provides a crypt() */
#ifndef AUTHENABLE_UNIXCRYPT
#define AUTHENABLE_UNIXCRYPT
#endif
#endif
+6 -4
View File
@@ -4,17 +4,19 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#ifdef HAVE_REGEX
#include <regex.h>
#else
#include "../extras/regex/regex.h"
#endif
#define MAX_MATCH 1
#define MAX_WORDLEN 64
#define MAX_WORDS 30
#define PATTERN "\\w*%s\\w*"
#define REPLACEWORD "<censored>"
char *stripbadwords(char *, int);
int loadbadwords(char *, int);
void freebadwords(void);
char *stripbadwords(char *, int);
#endif
+44
View File
@@ -0,0 +1,44 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, ircd/channel.h
* Copyright (C) 1990 Jarkko Oikarinen
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
#ifndef __channel_include__
#define __channel_include__
#define CREATE 1 /* whether a channel should be
created or just tested for existance */
#define MODEBUFLEN 200
#define NullChn ((aChannel *)0)
#define ChannelExists(n) (find_channel(n, NullChn) != NullChn)
#define IsULine(sptr) (sptr->flags & FLAGS_ULINE)
/* NOTE: Timestamps will be added to MODE-commands, so never make
* RESYNCMODES and MODEPARAMS higher than MAXPARA-3. DALnet servers
* before Dreamforge aren't safe with more than six. -Donwulff
*/
#include "msg.h"
#define MAXMODEPARAMS (MAXPARA-2) /* Maximum modes processed */
#define RESYNCMODES 12 /* Max modes per MODE in resync */
#define MODEPARAMS 6 /* Max modes from user */
#endif
+24
View File
@@ -0,0 +1,24 @@
// $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
@@ -0,0 +1,21 @@
// $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, ...);
+71
View File
@@ -0,0 +1,71 @@
/************************************************************************
* Unreal Internet Relay Chat Daemon, include/class.h
* Copyright (C) 1990 Darren Reed
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 1, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Id$
*/
#ifndef __class_include__
#define __class_include__
#ifndef PROTO
#if __STDC__
# define PROTO(x) x
#else
# define PROTO(x) ()
#endif
#endif
typedef struct Class {
int class;
int conFreq;
int pingFreq;
int maxLinks;
long maxSendq;
int links;
struct Class *next;
} aClass;
#define Class(x) ((x)->class)
#define ConFreq(x) ((x)->conFreq)
#define PingFreq(x) ((x)->pingFreq)
#define MaxLinks(x) ((x)->maxLinks)
#define MaxSendq(x) ((x)->maxSendq)
#define Links(x) ((x)->links)
#define ConfLinks(x) (Class(x)->links)
#define ConfMaxLinks(x) (Class(x)->maxLinks)
#define ConfClass(x) (Class(x)->class)
#define ConfConFreq(x) (Class(x)->conFreq)
#define ConfPingFreq(x) (Class(x)->pingFreq)
#define ConfSendq(x) (Class(x)->maxSendq)
#define FirstClass() classes
#define NextClass(x) ((x)->next)
extern aClass *classes;
extern aClass *find_class 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));
#endif /* __class_include__ */

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