Share

Hybrid2 IRC Services

File Release Notes and Changelog

Release Name: Hybserv 1.4.6

Notes:
Release Notes for HybServ 1.4.6
======= ===== === ======= =====

 Two optional directives were added to settings.conf so you
can keep track of your jupes and glines more efficiently.
"GlineFile" and "JupeFile" specify two separate files in
which glines and jupes will be stored in.
 A new feature was also added to hybserv.conf - the
.include directive. This allows you to organize your
configuration lines more efficiently by including
other files which may contain configuration lines. The
example hybserv.conf explains more fully.


Changes: HybServ Change Log 1.4.6 06/18/1999 - added command "clearstats" to StatServ (admins only) - bug fix in GetChanUser() routine (found by Kryten <euro.kryten@btinternet.com>) - added GlineFile/JupeFile directives to settings.conf (suggested by Nathan Mehl <memory@blank.org>) - bug fix in OperServ's "unjupe" and "ungline" commands - added .include directive to hybserv.conf (suggested by Ryan <socfam@hotmail.com>) - "a" and "o" flags in O: lines no longer include the jupe, "j", flag automatically - you must include a "j" flag yourself to give jupe privileges (requested by Ryan <socfam@hotmail.com>) - added a few bandaids which were causing compile warnings on OpenBSD - bug fix in OperServ's "omode" command (found by aeon <aeon@darkscape.cx>) 1.4.5 06/03/1999 - added a somewhat Big Brotherish command to NickServ: "flag" - for admins to play with (/msg NickServ help flag) - added a neato lag detector to StatServ - check out RELEASENOTES-1.4.5 (LagDetect/MaxPing directives added to settings.conf). Also: added command "refresh" to StatServ to manually update lag information (admins only). - bug fix in ChanServ forbid handling - bug fix where services would not correctly respond to a server ping request if it was from a client - bug fix in OperServ "part" command - added command "SET GUARD" to ChanServ - user requested Note: this feature is only effective when configured with #define HYBRID_ONLY (/msg ChanServ help set guard) - ChanServ now automatically sets "NoExpire" for channels registered by an operator or higher - ChanServ now displays "NoExpire" as a channel option in an "info" output - added MaxClonesWarning to settings.conf - fixed a few bugs in ChanServ's SET SECURE handling (found by metalman <jimmyo@fastrans.net>) - cleaned up list.c and server.c a bit - added hybrid-6 +e (ban exception) support, and added option "-exmatch" to OperServ's "channel" command - bug fix where ChanServ would deop all non-autoops that were previously opped the moment someone new joined the channel 1.4.4 05/09/1999 - bug fix in cs_CheckJoin() which could cause ChanServ to quit flood the network if it was trying to send an entry message to itself - bug fix in ChanServ topic handling - introduced in 1.4.3 (found by Neph|l|m <adel@cybercable.fr>) 1.4.3 05/09/1999 - topics can now be cleared through SET TOPIC - (/msg ChanServ help set topic) - bug fix involving ChanServ SET TOPIC and HYBRID_ONLY - added a minor security check to bin/cleandb - optimized top level Makefile a bit - bug fix in ChanServ's ENTRYMSG handling (found by Ryan <ryanduarte@hotmail.com>) - "ReloadDbsOnHup" is now disabled by default in settings.conf - added C/N line examples to the README file 1.4.2 05/03/1999 - made script bin/cleandb to cleanup the backup directory by removing backups that are a month or more old - bug fix in rehashing settings.conf - bug fix in "fuckover" where if the client was able to withstand the flood for 20 seconds, it would incorrectly issue a "Flood successful" message to the partyline - found and fixed memory leak in database reloads - bug fix where a database reload could incorrectly make a nickname identified - you can now customize each service nick's ident in settings.conf (see ...ServNick section) (suggested by John-Work <irc@alleged.com>) - added option "RestrictRegister" to settings.conf - added two helpful command line programs: "shownicks" and "showchans" - they are installed as hard links to the hybserv binary (./show{nicks,chans} -h for more information) 1.4.1 04/18/1999 - added "NonStarChars" to settings.conf (suggested by XShadow <castro@usmatrix.net>) - added some neat options to OperServ's "channel" command (/msg OperServ help channel) - implemented a system of backing up database files - check out "BackupFreq" in settings.conf - "rehash" now rehashes settings.conf - should have put this in 1.4.0 =/ - added #define HYBRID_ONLY to config.h, so ChanServ does not join registered channels anymore - please be aware that this will work only on a 100% hybrid network (this was suggested by holobyte a long time ago (-:) 1.4.0 04/16/1999 - New feature: linked nicknames - so you can have different aliases for the same nickname, and have all of them share the same access list, set options, memos, etc. See settings.conf for "LinkedNicknames" and "MaxLinks" Administrator command "showlinks" added to NickServ accordingly (/msg NickServ help {link|unlink|showlinks}) (/msg NickServ help set master) - New feature: settings.conf - this file contains most of the old config.h options, so you can configure many of HybServ's features at run time, rather than compile time. The example settings.conf contains documentation on each option. (Please read RELEASENOTES-1.4 for more information) - devised a method of ensuring +y users don't get flooded with clone warnings when services is connecting to the network for the first time - added "set kill immed" to NickServ as well as "AllowKillImmed" option in settings.conf (/msg NickServ help set kill) - added feature "SmartMasking" to settings.conf - it is thoroughly explained in that file (suggested by XShadow <castro@usmatrix.net>) - added "set hide {email|url|addr|quit}" to NickServ (/msg NickServ help set hide) - bug fix in telnet service where you could raise a SIGPIPE by sending data and closing the connection without waiting for the nickname prompt (found by holobyte <holobyte@holobyte.org>) - kill protection is now off by default for newly registered nicknames - can be turned on by default in settings.conf (NSSetKill) - long standing bug fix where a secure nickname would not be given a full minute to identify when services first connects to the network - bug fix where a clone would change his/her nick and +y users would see clone exit/detected messages - OperServ's "gline" and "ignore add" commands now understand more complex time formats for temporary glines/ignores: XwXdXhXmXs (/msg OperServ help {gline|ignore}) (suggested by darkskull <darkness@damnation.net>) - enhanced timeago() a bit to work with the new settings.conf - created directory "doc" for documentation files - the "ServerNotices" option now affects every service bot, not just OperServ - minor bug fix involving "MaxConnections" - obscure bug fix involving GetUser() and incoming telnet connections - minor bug fix in ident reply handling - bug fix where if a channel expired while ChanServ was in the channel, ChanServ wouldn't part - you would have to set "ChannelExpire" obscenely low to produce this error - NickServ/ChanServ now display "<< PRIVATE >>" to administrators who use "list" on private nicks/chans - added command "collide" to NickServ (admins only) (/msg NickServ help collide) - databases are no longer saved after a SIGSEGV - bug fix where if your nickname had secure on, and you changed your nick to the same nickname with a different combination of upper/lowercase letters, you could be collided - Service nicks now treat NOTICEs like PRIVMSGs - StatServ now keeps track of current resolving host users instead of total resolving host users seen today - bug fix where if you identified with OperServ not using the nickname in your O: line, you would not be able to see administrator commands on NickServ, ChanServ, or OperServ in a "help" request (found by darkskull <darkness@damnation.net> and Riggs <riggs@amused.net>) - bug fix where "reload" would cause OperServ to log an incorrect warning about users' umodes - bug fix where "reload" would cause ChanServ to join forgotten channels (found by darkskull <darkness@damnation.net>) - two new usermodes: +n/+l (/msg OperServ help umode) - remote whois/version/trace/motd queries are now broadcast to +y users - added some more information to OperServ "status" - OperServ no longer warns/kills clones if they match an exception (e) flag - bug fix where SendUmode() would broadcast to dcc clients who had not yet identified - now notifies +y users of clients who /oper - added flood protection to SendUmode() to prevent against many calls in very short time periods (such as during netsplits) - added #define NICKREG_DELAY to config.h - command abbreviation now works on ChanServ's "clear" sub-commands - forgot this one while I was doing the others :-) - if ChanServ happens to be in a channel when an admin uses "forget" on it, ChanServ now parts - added command "noexpire" to NickServ and ChanServ - admins only (/msg {Nick,Chan}Serv help noexpire) - bug fix where O: lined users' umodes would be erased after a SIGHUP or rehash - bug fix where OperServ would join empty C: lined channels after receiving a SIGHUP - cleaned up server.c a little - added #define MAXKILL to config.h - for "killhost" and "trace -kill" - bug fix where NickServ would respond if you sent an unknown command to StatServ (found by darkskull <darkness@damnation.net>) - added a ton of options to OperServ's "trace" command (/msg OperServ help trace) - added #define LOWERCASE_IDENT to config.h (requested by Riggs <riggs@amused.net>) - OperServ now notifies users with +y usermodes of new maximum user/channel/oper/server counts (as long as STATSERVICES is enabled) - NickServ no longer says "<< ONLINE >>" next to the nickname in "info" unless the user is currently identified (found by Riggs <riggs@amused.net>) - StatServ now keeps track of clients running identd - fuckover is back under #define ALLOW_FUCKOVER - disabled by default (user-requested) - Administrators can now boot other administrators off the partyline (in the case of a ghost etc) - bug fix where #undef'ing NICKSERVICES and STATSERVICES at the same time would cause a compile error (found by darkskull <darkness@damnation.net>) 1.3.0 03/06/1999 - bug fix involving pthreads and signals - added #define RESTRICTED_ACCESS to config.h, so only operators or above may use *Servs - disabled by default (requested by John-Work <irc@alleged.com>) - ChanServ no longer says "<< ONLINE >>" next to the founder entry in the "info" command, unless the founder is currently identified with NickServ - added NickServ's memo set options to NickServ "info" output - NickServ's set "nomemos", "nonotify", and "nosignon" have been changed to "memos", "notify", and "signon", because that way is easier to understand - unfortunately this is not backwards compatible, meaning whatever memo settings you had in prior versions will be reversed by this version, so you'll have to reset them :-) Sorry. - bug fix in ignore host matching - all NickServ and ChanServ "set" commands are now logged - NickServ's "access list" now supports hostmask matching (/msg NickServ help access list) - command abbreviation now works for sub-commands such as /msg NickServ set pass <password> instead of: /msg NickServ set password <password> - This includes NickServ/ChanServ's "access" and "set" commands, ChanServ's "akick" command, and OperServ's "ignore" and "htm" commands - new OperServ command: "umode" (/msg OperServ help umode) - cleaned up all functions which use varargs to use the more standard/portable stdarg.h if possible - buffer overflow fixed in o_unlink() - OperServ now logs uses of "status", "boot", and "identify", which I forgot to do a while ago :-) - fixed a few things that were causing some compile warnings on Solaris/SunOS - bug fix in OperServ's "killhost" command - bug fix where if you removed a J: line from the conf, and rehashed, the psuedo-server would not be SQUIT'd - bug fix where OperServ could be fooled into thinking juped nicks were clones, if they exceeded MAXCLONES - bug fix where connection count wasn't updated properly if a tcm wasn't authorized to connect - minor bug fix in NickServ's "access del" - added "stats p" and "stats c" to display port/channel lines - replaced .glines and .jupes with "stats g" and "stats j" - Administrators can now see private nicknames/channels in NickServ/ChanServ "list" - fixed a null pointer bug introduced in 1.2.0 that was causing unpleasant seg faults after a rehash (found by LauraDax <lauradax@magenet.com>) - OperServ now accepts "mode" in place of "omode" - minor bugfix in OperServ's "restart" - command abbreviation now works if you are initially .identify'ing through dcc chat - added command: "hub" to OperServ (/msg OperServ help hub) - added "Current Hub:" info to StatServ's "server" command - made p_CheckTime() a bit more rugged - minor bandaids to BroadcastDcc() 1.2.0 02/13/1999 - gethostbyaddr() is now non-blocking (yay!) on telnet clients thanks to pthreads - pthread support added - configure will detect if it should compile with pthreads - if you don't have pthreads installed on your system, consider installing them; they're awesome :-) - Read README.PTHREADS for more information - CRYPT_OPER_PASSWORDS is now on by default for security reasons - please remember to update your conf or #undef this option - server connection attempts and clone detections are now broadcast to the partyline - "rehash" now rehashes S: lines - removed OperServ's obsoleted "stats n" (StatServ does all that and much more) also, added "stats s" - displays S: lines - bug fix in OperServ "gline" - potential buffer overflow fixed - bug fix in CheckNick() involving RECORD_SPLIT_TS - rewrote user verification code - added check to make sure hybserv doesn't run as root - OperServ now accepts "identify" in place of "register" - added #define OPERS_HAVE_ACCESS to config.h so any global operator will have oper/jupe/gline privileges on OperServ, without needing an O: line in hybserv.conf. This feature was user-requested, and it is disabled by default because I don't like the idea of just any oper being able to gline someone (that is why newnet and dalnet are so lame) - bug fix where telnet service allowed people to connect without having a "d" flag in their O: line - redid htm code a bit - OperServ's "jump" now supports wildcards in the server name - bug fix in nick change handling of nicknames equal to NICKLEN - last seen address/quit message is no longer updated unless the user was identified when they quit - NickServ "info" no longer shows last seen address if the user is currently online - bug fix where last seen user@host for NickServ wasn't being updated when the user /quit 1.1.12 01/15/1999 - added #define CRYPT_OPER_PASSWORDS to config.h so you can put encrypted passwords in O: lines, with the mkpasswd program. It is #undef'd by default so your current hybserv.conf will still work. mkpasswd.c is copyright (C) Nelson Minar 1991 - now reloads databases on a SIGHUP if RELOAD_DBS_ON_SIGHUP is defined in config.h (defined by default) - bug fix where services would seg fault if you used OperServ's "omode" to -i/+o yournick on a forbidden channel (found by zarf <zarf@li.com>) - bug fix in memo adding routine - added command "ghost" to NickServ (/msg NickServ help ghost) - nickname security is now turned on by default when you register - OperServ's "reload" now reloads ChanServ, MemoServ, and StatServ databases - STATSERV_DB added to keep track of all time high counts for users/opers/chans/servs etc. - bug fix where services wasn't clearing channel bans after an SJOIN with TS - 1 1.1.11 01/14/1999 - bug fix in ctcp handling which was causing an infinite loop, and on some systems, a seg fault (found by zarf <zarf@li.com>) - bug fix in BlockSubAllocate() which was causing a seg fault 1.1.10 01/08/1999 - new feature: if HybServ cannot bind a P: lined port on startup, it will continue attempting to bind the port at 10 second intervals. If it cannot bind the port after so many tries (MAX_BINDS), it gives up - added option: MAX to OperServ's "htm" command so you can set the maximum htm rate on the fly - OperServ no longer joins C: lined channels unless there are users in them - no point guarding an empty channel, and this also fixes the bug where OperServ would join, part, and join again on startup - added SET SUCCESSOR to ChanServ (/msg ChanServ help set successor) - memory leak found and fixed in chanserv.c - added script "install.fast" to quickly compile and install HybServ - added #define LAST_SEEN_INFO to config.h to have NickServ keep track of users' last seen addresses and quit messages to display in an INFO - added options: EMAIL, URL and HIDE to NickServ's "set" command (/msg NickServ help set {EMAIL|URL|HIDE}) - added options: ENTRYMSG, EMAIL, URL, and FORGET to ChanServ's "set" command (/msg ChanServ help set {ENTRYMSG|EMAIL|URL|FORGET}) (FORGET option suggested by holobyte <holobyte@holobyte.org>) - RECORD_SPLIT_TS now works after a .jump - make install-help now chown's the help directory to the user who ran configure (found by holobyte <holobyte@holobyte.org>) - added #define ALLOW_ACCESS_IF_OPPED to make optional the feature where ChanServ doesn't deop anyone as long as a SuperOp is opped on the channel (requested by holobyte <holobyte@holobyte.org>) - bug fix where ChanServ would rejoin every channel regardless of it being empty when it was killed - also, no longer joins forgotten channels after being killed 1.1.9 12/30/1998 - when ChanServ now joins a channel, it no longer deops anyone as long as there is a SuperOp or higher opped on the channel - the SuperOp does NOT need to be identified with NickServ (requested by Cloud90 <Cloud90@earthlink.net>) - new feature: #define HIGHTRAFFIC_MODE to handle high traffic loads more efficiently - read config.h for more information - command "htm" added to OperServ accordingly - Now checks to make sure there is a '#' in the channel name in a C: line (found by NEPH|L|M <adel@cybercable.fr>) - uses of the ChanServ "clear" command are now logged - bug fix in ChanServ's "akick" command (found by Cloud90 <Cloud90@earthlink.net>) - now introduces all juped servers/nicks on connection to the hub, instead of waiting for the nick/server to show up, and then introducing the jupe (suggested by ^joey- <apryan@dimensional.org>) - new ChanServ command: forget (admins only) (/msg ChanServ help forget) (requested by holobyte <holobyte@holobyte.org>) - added #define SERVER_NOTICES to config.h, to have the server name issue NOTICES, instead of OperServ/StatServ (requested by ^joey- <apryan@dimensional.org>) - added #define RECORD_SPLIT_TS to config.h, so when services splits, users won't have to re-identify with NickServ or OperServ (suggested by holobyte <holobyte@holobyte.org>) - memory leak fixed in RemUserInfo() (introduced in 1.1.7) - added new memory handling routines (alloc.c) a) Now detects if we run out of memory on a malloc(), realloc() call etc. b) Block Allocation added (#define BLOCK_ALLOCATION) - read the section in config.h for more information - added HelpServ (#define HELPSERVICES) (/msg HelpServ help) %H now expands to HELPSERV_NICK in motd files as well - new ChanServ command: status (admins only) (/msg ChanServ help status) - recoded hashing algorithms - hashes use much less memory now for smaller nets 1.1.8p3 12/07/1998 - bug fix where StatServ wasn't resetting daily domain resolving/nonresolving counts - bug fix in ChanServ's "access list" command introduced in 1.1.7p1 (found by geniusj <geniusj@home.com>) - bug fix in StatServ that was causing a seg fault when services was /squit'd - redid paths in config.h a bit - you no longer have to specify the entire path name for hybserv.conf/hybserv.motd etc. - just give the name of the directory with all the files in HPATH; of course, if your files are scattered around, you'll need to give individual paths :-) - now responds to remote /motd requests - motd file path is MOTDFILE in config.h (dcc motd file is now DCCMOTDFILE) motd file may contain % characters that expand to various strings as explained in the example motd.global file - made dcc/telnet socket parsing code a little more efficient 1.1.8p2 12/04/1998 - buffer overflow fixed (found by holobyte <holobyte@holobyte.org>) - added MemoServ command: "reply" (/msg MemoServ help reply) - bug fix where StatServ's daily counts weren't being reset at midnight if you didn't live in the GMT timezone - added more info to StatServ's "server" command - all *Serv's now support command abbreviation - for example if you wanted to identify with NickServ, you could type: /msg NickServ ident <password>, instead of the entire word "identify" (suggested by holobyte <holobyte@holobyte.org>) - added help on NickServ's "info" command, which I forgot to do in 1.1.6p3 :-/ - bug fix in config file parsing - now responds to remote trace, whois, and version queries - OperServ/ChanServ no longer quit with a SIGSEGV error if a SIGTERM is received (found by holobyte <holobyte@holobyte.org>) 1.1.8p1 11/28/1998 - bug fix where users with numerical ips would be stored in the StatServ domain hash using the last two segments of their ip instead of the first two - new StatServ command: stats (/msg StatServ help stats) - StatServ's "domain" command is much more informative now - added #define AUTOLINK_FREQ to config.h to auto link to unconnected tcm bots that have B: lines - fixed potential memory leak - bug fix where hubs wouldn't be cycled correctly on startup or after CONNECT_FREQ seconds (introduced in 1.1.8) 1.1.8 11/26/1998 - added #define STATDEL_FREQ to config.h to specify number of days to wait before deleting StatServ hostname entries that have 0 clients (default: 1 week) - bug fix involving #define MAXCLONES - added new OperServ command "jump" (/msg OperServ help jump) - bug fix where if the hub server was .jupe'd, the client/channel hashes wouldn't be cleared properly - bug fix in RemUserInfo() - bug fix in timeago() which was causing a buffer overflow, and as a result, a seg fault if the given TS was equal to the current TS - telnet interface now uses the nickname in the O: line rather than the nickname entered at the prompt as the client's nick - added some more information to OperServ's "status" - channel memos are now cc'd to nicks on the channel access list (suggested by holobyte <holobyte@holobyte.org>) - bug fix where .jupe wouldn't create a psuedo-server if the server wasn't currently connected to the network (found by holobyte <holobyte@holobyte.org>) - added StatServ (#define STATSERVICES) implemented commands: HOST, DOMAIN, SERVER, HELP (/msg StatServ help <command>) - bug fix involving AUTOOP_ADMINS introduced in 1.1.7p1 (found by holobyte <holobyte@holobyte.org>) 1.1.7p1 11/16/1998 - bug fix where ChanServ wouldn't reset mlocked modes after joining with TS - 1, from a kick/deop flood (found by holobyte <holobyte@holobyte.org>) - bug fix where an oper from an unknown host, but with a nick that has an O: line could execute OperServ commands without first registering (found by holobyte <holobyte@holobyte.org>) - added #define AUTOOP_ADMINS to config.h so if an admin isn't on a channel's access list, they won't be auto-opped, but they will still have founder access to the channel as long as EMPOWERADMINS is defined (requested by holobyte <holobyte@holobyte.org>) - MEMO_EXPIRE added to config.h so memos will expire after a certain number of days - registered nicknames can now be added to a channel's ACCESS list; this way, someone can't spoof a host on the access list, register any nickname, and get ops (suggested by holobyte <holobyte@holobyte.org>) - no longer exits program if pid file can't be written - added virtual host support (read the section on V: lines in the example hybserv.conf) - bug fix in AddChanInfo() - bug fix where forbidden channels couldn't be dropped (found by holobyte <holobyte@holobyte.org>) - bug fix where memoserv.c wouldn't compile if CHANNELSERVICES was #undef'd (found by holobyte <holobyte@holobyte.org>) 1.1.7 11/12/1998 - ChanServ no longer deops non-autoops when joining a channel if there is an opped SuperOp or higher on the channel, when joining from a split; if SECUREOPS or RESTRICTED is set, however, non-autoops will be deoped regardless of having a SuperOp or higher opped on the channel - "stats m" now shows MemoServ memory usage - priority logging of database saves changed to LOG3, because it tends to flood your log file - added #define PURGE_FREQ to config.h to specify the number of seconds between automatic memo purges - bug fix in OperServ's UNJUPE command that was causing a segfault (found by ^joey- <apryan@dimensional.org>) - bug fix in timeago() - added three memo SET options to NickServ: NOMEMOS, NONOTIFY, and NOSIGNON (/msg NickServ help set) - added #define MAXMEMOS to config.h to specify maximum number of memos someone can have at once - MemoServ added (#define MEMOSERVICES) implemented commands: SEND, LIST, READ, HELP, DEL, UNDEL, FORWARD, PURGE (/msg MemoServ help <command>) - bug fix where buffer overflow would occur if the hub server had NICKLEN set to a value greater than hybserv's NICKLEN, and someone did a /nick very-long-nickname - ChanServ's forbid command now checks if the channel has a leading # 1.1.6p5 10/31/1998 - bug fix where some data was being lost when the hub sent the initial connect burst (introduced in 1.1.6) 1.1.6p4 10/30/1998 - always asks for a nickname now in telnet interface in case two people have similar hostmasks - tells telnet clients to turn off local echo when entering their password - bug fix in .boot - added version.c and removed -DVERSION="" from other source files in Makefile - bug fix involving IDENT_TIMEOUT - bug fix in .who - ident requests are now non-blocking, so services can act normally while idents are being performed - bug fix where #undef NICKSERVICES combined with a #define FLOOD_PROTECTION would cause a compile error 1.1.6p3 10/25/1998 - .who now shows idle times of clients idle more than 5 minutes - unauthorized tcm connection attempts are now logged - tcm bots are now idented, so you may now use usernames in L: lines: L:tcm@*.tcm.org:TcmNick:password - several bug fixes in tcm linking code introduced in 1.1.6p2 - bug fix in .boot - Administrators can now use the ChanServ/NickServ "info" command on private and forbidden nicknames/channels if EMPOWERADMINS is defined - added command "info" to NickServ (/msg NickServ help info) - added command "set unsecure" to NickServ (/msg NickServ help set unsecure) - bug fix where if you registered a channel and dropped your nickname, it would crash - the fuckover command has been disabled because of it's possible use as a DoS attack; I've thought long and hard about this, and I know many people like the command, so if you have any questions/comments/suggestions, email wnder@underworld.net - now idents incoming telnet connections so the clients username is no longer *@hostname (if an ident request fails, the client will be known as "unknown@host"); IDENT_TIMEOUT added to config.h accordingly - now saves channel/nickname databases before shutting down after a SIGTERM - no longer logs connections to dcc chat clients - no longer displays blank lines sent by telnet clients to partyline - added #define TELNET_TIMEOUT to config.h so telnet clients who haven't entered their password within a certain number of seconds will be disconnected 1.1.6p2 10/16/1998 - added #define CONNECTFREQ to config.h to specify the delay between reconnect attempts (if the hubs are down etc) - removed modes field from C: lines in hybserv.conf (it did nothing) - .stats o now displays nicknames - several bug fixes in telnet interface - .rehash now reloads P: lines - .stats m now accounts for dcc/telnet memory usage and P: line memory usage - optimized memory usage a bit more in the user structures - bug fix where HybServ wouldn't detect if the hub closed the connection properly (introduced in 1.1.6p1) - bug fix in OperServ's "restart" command - bug fix where if the socket descriptor used for the hub server happened to be 0, hybserv wouldn't connect properly 1.1.6p1 10/10/1998 - added a telnet DCC CHAT interface, so you can telnet to a port on the box hybserv is running on to give commands to hybserv - added P: lines to hybserv.conf to specify which ports to listen on for users (tcm ports are now specified this way also, instead of in config.h) - read the example hybserv.conf for more information. This code is very experimental, and probably contains all sorts of bugs :-), so I'd appreciate anyone who can use the telnet feature frequently to test it out. Any bug reports can be sent to wnder@pheared.underworld.net - deop flood protection added - if OperServ or ChanServ is deoped from a channel 5 times in <= 20 seconds, everyone on the channel is deoped, so the *Serv can regain ops - bug fix where commands that were previously dcc only, were not being displayed correctly to opers/admins on the partyline, if given through /msg - bug fix where HybServ would crash when someone /oper'd if the N: line for services had a hostmask stripping field (found by DevilM <devilm@r337.com>) - O: lines in hybserv.conf *MUST* contain nicknames now (read the example hybserv.conf for more information) - removed "op" command from OperServ (it did nothing anyway) - bug fix in ChanServ's "identify" command - bug fix in s_error() - bug fix where if someone not on a channel's access list was the first to join the channel, ChanServ did not deop them after joining - the OperServ commands "on", "off", and "clones" are now logged - bug fix where if you changed your nickname during a dcc chat it would screw up the dcc connection - bug fix where ChanServ wouldn't join a channel OperServ was monitoring in older ircds - redid dcc code to use a little less memory when dealing with a small number of connections - services now logs when people trigger flood/kick protection - bug fix where if both OperServ and ChanServ were on the same channel, only 1 of them would respond to a channel ctcp - DATABASE_SYNC in config.h was changed to 1800 seconds (every half hour) to save the databases 1.1.6 09/30/1998 - kick flood protection added - if OperServ or ChanServ is kicked from a channel 5 times in <= 20 seconds, everyone on the channel is deoped, so the *Serv can regain ops - bug fix involving MLOCKs for +l/+k modes - added command "clear" to ChanServ (/msg ChanServ help clear) - Makefile modified so 'make install' no longer installs the help files - use 'make install-help' now - added "stats ?" to OperServ (/msg OperServ help stats) - added command "info" to ChanServ (/msg ChanServ help info) - ChanServ now automatically drops channels when the founder's nickname expires - "stats m" now accounts for NickServ/ChanServ/ignorelist memory usage - ChanServ now responds to channel ctcps - added flood protection (read the section of config.h dealing with flood protection) - added command "ignore" to OperServ to prevent certain users from using services - ChanServ now parts channels that have been empty for 5 minutes - bug fix in detection of expired channels - the AUTODEOP level now autodevoices too 1.1.5p1 09/24/1998 - bug fix in SJOIN handling 1.1.5 09/24/1998 - ChanServ's AUTODEOP level works now - added commands "invite", "op", "voice", and "unban" to ChanServ - added command "level" to ChanServ so founders can customize their channel's access levels (/msg ChanServ HELP LEVEL) - added "set" command to ChanServ - bug fix where if you did /msg OperServ omode #channel +p and the channel was already +s, it wouldn't update the modes properly by "-s"ing first - added "setpass" and "forbid" commands to ChanServ (EMPOWERADMINS must be defined) - added #define MAX_AKICKS to limit the number of autokicks per channel (default: 20) - the "save" and "reload" commands from NickServ are now under OperServ - added "akick" and "list" commands to ChanServ - the NickServ "list" command can now be executed by anyone regardless if they have a registered nickname or have identified - got AUTOOP and AUTOVOICE access levels for ChanServ working - added a lot of neat info to the "status" command for OperServ :-) - added #define DATABASE_SYNC to config.h to save the nickname/channel databases every so often - bug fix involving a user joining the channel "0" - bug fix where deoping OperServ and another client in the same mode string wouldn't update the channel op flags properly - added #define EMPOWERADMINS to config.h to give the option of allowing administrators to control channels/nicknames - read config.h for more details (it is #undef'd by default) - added ChanServ commands "help" and "access" - die command now saves channel/nickname databases before shutting down - added commands "register", "identify", and "drop" to ChanServ - #define CHANNELSERVICES in config.h now introduces CHANSERV_NICK to the network (#define CHANSERV_DB is the location of the channel database) - fixed a bug in OperServ's .register (found by LauraDax <lauradax@magenet.com>) - added commands "off" and "on" to OperServ (.help off/on) - bug fixed in CheckJuped() - added #define NICKNAME_EXPIRE to config.h to have nicknames expire if the are not used for a certain period of time - added commands "save" and "reload" to NickServ - added new set switch to NickServ - SECURE (/msg NickServ HELP SET SECURE) - added commands "recover" and "release" to NickServ - redid OperServ help so people who don't have access to a command, can't get help on it; also redid the output to /msg OperServ HELP - looks much better now :-) - OperServ commands "trace", "channel", "stats", "killchan", and "killhost" can now be executed through /msg - redid .stats u output to account for weeks and years - added command "list" to NickServ - added command "set" to NickServ - got NickServ help command working and created help files - killchan/killhost no longer kill *Servs if they happen to be in the channel or match the hostmask - bug fix in rehashing of jupe entries - bug fix in CheckChans() where it was trying to read a NULL channel list - bug fix in .stats n (floating point exception) - .join and .part now require an "o" flag - bug fix in IsProtectedHost() - bug fix where "o" flag users could dcc chat even if they did not have a "d" flag (admins ("a") can still dcc chat regardless of possessing a "d" flag) - added command "access" to NickServ to modify the list of authorized hosts for your nick - added command "identify" to NickServ (if you identify with NickServ from an unknown host, it automatically adds the new hostmask to the list of known hosts for your nick =) ) - added commands "register" and "drop" to NickServ - added #define NICKSERV_DB to config.h to specify the location of the NickServ database - changed SERVICENICK to OPERSERV_NICK in config.h - added #define NICKSERVICES to config.h to introduce NICKSERV_NICK to the network 1.1.4p5 08/25/1998 - added temporary glines (.help gline) - .channel now allows the channel to have wildcards in it - MAXCHANNEL was added to config.h to truncate the list after so many matches - minor bug fixes in .help - bug fix where seg fault would occur if the second field of the N: line was greater than 256 characters - hybserv now writes its pid to a file so servchk is much more efficient - modified .stats m slightly 1.1.4p4 08/18/1998 - removed .stats l - it's all under .stats b now - .stats m is a bit more accurate now - bug fix where B: and L: lines weren't being re-read during a rehash - there is no longer a limit as to how many C:, B:, or L: lines you may have in hybserv.conf - bug fix where dcc messages meant for "o" flag users were being sent to other tcm bots if the tcm's hostmask matched an "o" user - make install now chown's the install directory to the user who ran configure - so hybserv doesn't automatically run as root - you can change the user by editing Makefile 1.1.4p3 08/12/1998 - there is no longer a limit as to how many O: or S: lines you can have in hybserv.conf - bug fix in RemChanInfo() which could potentially become a memory leak - bug fix introduced in 1.1.4p2 where .secure was no longer opping "f" flag users - bug fix where netjoins involving a lesser TS could fool SERVICENICK into thinking it was deoped on a channel it was not even on - bug fix where only administrators could use .who - added: .stats i (.help stats) to go along with the new I: line - new conf line: I: line - read about it in the example hybserv.conf (requested by Alpha232 <alpha@freeshells.com>) - added commands: .killchan, .killhost (.help .kill[chan,host]) - you can disable them in config.h if desired (requested by Alpha232 <alpha@freeshells.com>) - added #define MAXCLONES and #define AUTOKILL_CLONES to config.h - read that section of config.h for more information (they are both disabled by default) - if SERVICENICK is kicked before it has a chance to set modes with .omode, it no longer tries to rejoin - bug fix in s_sjoin() involving SERVICENICK being deoped on a netjoin 1.1.4p2 08/07/1998 - added function: toserv() to send server commands more easily - converted storing of channel members to a list rather than a messy string - bug fix when SERVICENICK didn't reop itself on a netjoin with a lesser TS on a monitered channel - .trace no longer shows an empty "Channels: " line if the user is not in any channels - 2 bug fixes in .secure: a) when SAVE_TS was #undef'd, non "f" flag users weren't being deoped b) channels with TS of 0 weren't being handled properly - several bug fixes in .fuckover: a) users with an exception (e) flag can no longer be fuckover'd b) if a user was killed while they were being flooded, the flood process was not removed from the fprocs table c) psuedo nicks like SERVICENICK and any juped nicknames can no no longer be fuckover'd - changed name of package to hybserv - bug fix where jupe and gline kills weren't updating oper kill counts properly - a flags value of SOCK_UNUSED now designates an unused index in connections[] rather than a socket value of -1 - .jupe can now be used to jupe nicknames as well as servers (.help jupe) - juped servers are now replaced with a fake server so services doesn't have to keep squit'ing them (make sure services has an H: line if you enable jupes) - ctcp ACTIONs are no longer logged - obscure dcc chat bug fix where if a client EOF'd before the motd was sent to them, the program would crash - bug fix where it informed a user twice when a dcc chat connection failed 1.1.4p1 07/22/1998 - bug fix where ghosted partyline members weren't being detected due to the lame writesocket() routine I had - bug fix where SERVICENICK wasn't responding to channel ctcps - bug fix in notification of a user disconnecting from the partyline - added command: .fuckover (.help fuckover) - inspired by FEFNet's AlcServ/IceServ command - this implementation however fork()'s a new process to do the flood, so the services can function normally while the flood(s) are in progress. Also, it tracks nick changes, and starts flooding the new nick if necessary. - added .stats m (.help stats) - wildcard jupe bug fixed - bug fix where gline kills weren't removing users from the list - bug fix in .secure if the channel is already monitored - bug fix in c_kill() - bug fix in UpdateChanModes() - .secure and .omode no longer break TS if SAVE_TS is defined in config.h - also, when SERVICENICK is deoped, it saves TS while reopping itself - added modestr() to make .secure more efficient - added some more info to .channel - added command: .clones (.help clones) - converted channel and nick lists to use a hash, for speedier processing - added #define MAXTRACE to config.h to truncate .trace list after so many matches - bug fix in nick change handling - bug fix in umodes handling - bug fix where it was seg faulting if the hub had no C/N's for services - added cron script bin/obchk to restart observ if the box reboots etc. - added ./configure script to make compilation a little easier :-) - added some more info to .stats n - added command: .channel (.help channel) - added command: .trace (.help trace) - added command: .stats (.help stats) - tcm linking code is a little more stable - converted command parsing to a *much* more efficient routine 1.1.3 03/10/1998 - First stable release of OBServ - right now it's basically an OperServ with a dcc chat interface. - This file created