[This file is nearly 2000 lines long and very technical.]

*** 20000824_4 by lusky - removed trailing ‘)’ from channel +/-j oper notices

*** 20000824_3 by lusky - glines were not matched properly for unidented clients

*** 200008242 by lusky - changed Q:line behaviour for NICKs to just return ERRERRONEUSNICKNAME

*** 200008241 by lusky - serverestab() - mask IP in the op notices, but log the real ip - disable wildcards in WHOIS (configurable for now) - DLPATH didn’t get loaded on REHASH

*** 20000822_1 by lusky added support for CIDR IP tklines, just like normal klines

*** 20000821_2 by lusky kludge to fix an I: bug where blah.foo.com could match I:nomatch::foo.com

*** 20000821_1 by lusky fix for stats by a server causing a core

*** 200008201 by lusky first shot at fixing a really old bug with USEPOLL that would cause the server to not parse queued commands until there was additional activity on the descriptor.

*** 20000812_2 by lusky yet another test commit

*** 20000812_1 by lusky

*** 200008092 by lusky changed the sendtoops to sendto_realops for dupe gline votes (gp) add G to the version flags to indicate G-line capability (gp)

*** 200008091 by lusky revved patchlevel to rc4 syslog() format fix (wnder) mod to cleanstring() to display ctrl chars as \xxx

*** 200007191 by lusky fixed check for valid chars in mlinks() fixed high char handling in cleanstring() (db) fix for core on malformed O/o line (db) fixed a buffer size in mserver() and m_links() (db) revved patchlevel to rc3

*** 20000626_2 by lusky ghost kill fix

*** 20000626_1 by lusky revved patchlevel to rc2 added db’s I-line patch that was supposed to have been in rc1

*** 20000621_2 by lusky more cygwin install fixes

*** 200006211 by lusky revved patchlevel to rc1 fixes for ipilines (db) fixes and notes for cygwin check for getopt.h in configure script

*** 20000611_4 by lusky fixed README.FIRST

*** 20000611_3 by lusky revved patchlevel to rc0 updated Hybrid Team members for -6

*** 20000611_2 by lusky updated README file with new Solaris7 64bit compiler info

*** 20000611_1 by lusky removed unused variable (compile warning)

*** 20000609_1 by lusky misc cosmetic typo fixes (tv) fixes for DEBUGMODE (tv)

*** 200006082 by lusky FLAGSLOCOP was missing from ALLUMODES, preventing +O from being displayed in a user’s mode. showusers() cache rebuild wasn’t counting locops, causing “Oper count off by” errors.

*** 20000608_1 by lusky revved patchlevel to b128 misc server notice fixes (gp)

*** 20000607_1 by lusky updated docs with new list subscription instructions

*** 20000606_3 by lusky fix logging of bad NICKs from servers

*** 200006062 by lusky check for bogus NICK from peer server in mnick minor fix for some notices in mstats and moper (mh)

*** 200006061 by lusky typo in mmessage causing infinite loop

*** 200005251 by lusky revved patchlevel to b127 added logging to tswarn() log prefix of NICKs without TS

*** 20000516_3 by lusky fixed a strncpy() (db)

*** 200005162 by lusky reworked vsendtoone() again (pa) another fix to the llist fix (db)

*** 200005161 by lusky revved patchlevel to b126 missing vastart/end in send.c (db) additional llist logging (db)

*** 200005141 by lusky workaround in client.c for major bug causing llist corruption and server coring vsendtoone cleanup in send.c

*** 200004231 by lusky revved patchlevel to b125 fixed to sconf for DEBUG mode (db) config.h comments for CUSTOM_ERR updated (db) syncd config.h.dist to config.h

*** 200004211 by lusky cleanup prototypes in sbsd.h max recipients for privmsg & notice is now configurable at compiletime (perly) clean up some char vs u_char issues in res.c

*** 20000419_1 by lusky fixed channel unavailable error (db)

*** 20000410_3 by lusky revved patchlevel to b124 fixed stats K for username@* klines

*** 20000410_2 by lusky revved patchlevel to b123 moved NICKNAMEHISTORYLENGTH to near top of config.h

*** 200004101 by lusky chan mode +p/+s fix (ejb) use MAXSETBACKTIME for threshold of clock jump—now 1800secs (db) unneeded vaend() broke compile on some OSes (db)

*** 20000402_1 by lusky fixed bug that caused only the first connection in a class to be tried i.e. if you had several C: lines in one =class= only the first C: line was ever used. This is code that was #ifdef’d out from original hybrid-5 (db) revved patchlevel to b122

*** 20000206_1 by lusky fixed spaces in src/Makefile.in (db)

*** 20000201_1 by lusky fixed UMR in poll code (th) revved patchlevel to b121

*** 200001312 by lusky revved patchlevel to b120 dropped TSMAX_DELTA default to 300 seconds various compile warning fixes turn off GLINES by default

*** 20000131_1 by lusky reverted to -5 nick collide code (db) fixes to make debugmode compile (db)

*** 20000103_1 by lusky revved patchlevel to b119

*** 20000102_1 by lusky The “hack” ops message is just plain wrong. Its not needed anyway. (db). userhost formatting problem (ce) malformed U line caused strange cores on /rehash (db)

*** 199912281 by lusky split mlist.c away from channel.c its getting too silly ALL paced commands should give RPLLOAD2HI if its a local client request. Its not going to flood off the user… Hence, I have added RPLLOAD2HI to mlist.c splitting it from channel.c (db) optimized the patch I did for USEIPILINE first.. not thoroughly tested. (db) resync_channels was just a waste of time. If the clock goes that far off, restart the puppy. (db)

*** 199912271 by lusky update the oper help file, which was getting out of sync (db) fixed a redundant if in channel.c (db) core dumps, hangs if USEIPILINE_FIRST was defined (db)

*** 19991223_1 by lusky backed out previous change to config.h upped MAXSENDQLENGTH slightly redid dbuf handling to dynamically allocate more dbufs (db) numeric 480 is unnecessary 479 does the same job on ircu ircnet (db)

*** 19991222_1 by lusky changed BUFFERPOOL definition to try to fix mass disconnects during netsplits on larger (over 8k local clients) servers revved patchlevel to b118

*** 19991220_1 by lusky patch for core if there were no klines at all (db) revved patchlevel to b117

*** 19991213_1 by lusky another fix for dline bug (db) “E lines” weren’t being honoured on connect for glines (db)

*** 19991210_1 by lusky revved patchlevel to b116 fix for quote dline’s being treated as /8’s (db)

*** 19991208_1 by lusky revved patchlevel to b115 DNS coring problem is fixed!! (db)

*** 199911152 by lusky added USELOGFILE to config.h added MFLAGS to toplevel Makefile.in so I can do parallel makes

*** 199911151 by lusky add fix for logging, if you define USELOGFILE, stuff will be logged to the ircd.log, if you define USE_SYSLOG, stuff will be logged to syslog, if you define both stuff will be logged to both. (th)

*** 19991113_2 by lusky revved patchlevel to b114

*** 199911131 by lusky rewrote the way chanwall was being handled, by moving where the varargs code had to be used (db) muserhost old behaviour restored, but rewritten. Need to support up to 5 userhost requests, this fixes ircle clients which depend on this behaviour. (db)

*** 19991024_1 by lusky revved patchlevel to b112 disallow -ve limit on mode #channel +l (db)

*** 199910171 by lusky revved patchlevel to b111 commented about NOJOINONSPLIT being broken in config.h removed (+) cruft from idented clients as this was a Tanerism (db) fixed missing mask check in IP kline code (db)

*** 199910135 by lusky revved patchlevel.h to b110 fixed mison to put trailing space on 303 responses CONNECTFAST is always defined for USE_POLL now, was causing very poor accept performance on heavily loaded non-Solaris machines using poll()

*** 19991013_4 by lusky syncd config.h.dist to config.h

*** 19991013_3 by lusky added display of logLevel as a string in /set log (db) updated opers.txt to include set log

*** 19991013_2 by lusky backported set log from -7, really needs to be here

*** 199910131 by lusky revved patchlevel to b109 fixed botched wild card matching for K/I lines (db) added INITLOG_LEVEL to config.h

*** 19991011_1 by lusky cptr->fd is <0 in some cases when its being used in send.c (db)

*** 199910101 by lusky fixed bogus strncpy in sconf.c report by Q (th)

*** 19991009_3 by lusky updated RELNOTES to indicate that AIX is unsupported

*** 19991009_2 by lusky revved patchlevel to b108 fixed -DNDEBUG in Makefile.in (th) fix for resolver blocking on Linux 2.0 /libc5 (th) workaround for broken poll() in Linux 2.0 / libc5 (th)

*** 19991009_1 by lusky added -DNDEBUG back to CFLAGS (jl) put channel topic back before names (db) another umode hack fix (db) fixed a broken cast for IRIX (jl)

*** 19990928_1 by lusky another +o hack fix (db)

*** 19990927_1 by lusky This patch corrects a case where a normal user can oper themselves (db) also corrects a possible core due to a bogus H or L line. (neph)

*** 19990911_1 by lusky another bogus fd check in send.c

*** 19990910_2 by lusky removed an exit that shouldn’t have been there

*** 19990910_1 by lusky revved patchlevel to b107 user sys/poll.h instead of poll.h

*** 19990909_2 by lusky corrected error in ChangeLog

*** 199909091 by lusky revved patchlevel to b106 fix return values for clientdopacket and dopacket (th) m_links check for local client instead of connect

*** 199909082 by lusky revved patchlevel to b105 cleanup muserhost fix

*** 19990908_1 by lusky changed 302 reply back to -5 form to fix userhost

*** 199909074 by lusky more dbuf fixes (th) check in sendmessage() that the descriptor is valid

*** 19990907_3 by lusky changed killpath again. I think I can live with this one. (jl)

*** 19990907_2 by lusky bumped patchlevel to b104 fixed a couple of stary index()’s fix a cast in viconf fixed broken tools/Makefile.in

*** 199909071 by lusky disallow ‘:’ in fixkey_old() too

*** 19990906_1 by lusky compromise on supressed killpath and just not send to non opers at all rather than send two to real opers (jl) more +k/-k fixes

*** 19990904_2 by lusky more dbuf fixes (th)

*** 19990904_1 by lusky major fixes to dbuf code (th) bumped patchlevel to b103

*** 19990902_1 by lusky added check for ‘#’ in username and hostname of /quote kline

*** 19990831_1 by lusky bumped patchlevel to b102 left over aconf->user gets freed twice, causing some malloc packages to leave their lunch all over the disk…. NULL things after every free (db)

*** 19990829_1 by lusky fix for umode +O (jk)

*** 199908261 by lusky turned on ANTIDRONEFLOOD by default sync’d config.h.dist include class.h in mmessage.c bumped patchlevel to b101

*** 199908252 by lusky changed a strncpy to DupString in sconf.c (db)

*** 199908251 by lusky bumped patchlevel.h to b100 more kill path fixes (db) moper fix for local oper flags (db) ReadMessageFile stat fix (db) cleanup of tools/Makefile.in (jl)

*** 199908191 by lusky call releaseclientdnsreply for servers too (th) fixes for U and X lines (db) Hide path on kill from “victim” (db) Hide path on kill from oper to non opers (db)

*** 19990818_2 by khuon Mental note:

Always make sure to check in from the directory where you actually
got things working.

*** 19990818_1 by db - backed out a change. You can’t strcpy to a pointer without allocating memory.

*** 199908172 by khuon Ugh! Seems sendtoprefix_one() accepts different args now.

*** 199908171 by lusky fixed LIMITUH and IDLE_CHECK which were using old structs revved patchlevel to b99

*** 199908161 by lusky removed redundant “New highest connections” server notice fixed SYSLOGUSERS bug (th) discard broken DNS replies (th) fixed IP mismatch check (th) revved patchlevel to b98

*** 19990814_1 by lusky small bug in packet.c in the byte counting code (th)

*** 19990812_1 by lusky revved patchlevel to b97 ip hash function fix (th)

*** 199908111 by lusky fake direction bug fix to send.c (th) throttle accept errors in listener.c oper motd rehash bug fix from perly ensure that SERVER must come before SVINFO (jl) unneed stropt.h include in sbsd.c neglected to detach_conf for umode -o (jl)

*** 199908101 by lusky revved patchlevel to b96 fixed bug with NOJOINONSPLIT on a coldstart FLAGSSPY was being checked against old flags in mwhois, its now umodes (db) %lu screws up idle times as seen by a lot of scripts, notably bitchx (db) added include for stdlib.h to mkpasswd.c moved rcs Id into comments in fixklines.c

*** 199908092 by lusky remove <sys/syslog.h> check from configure, assume <syslog.h> exists (sw) cleaned up attachIline some more (db)

*** 199908091 by lusky bumped patchlevel to b95 removed unneeded arg to attachIline and fixed tklines for non-resolving hosts fixes to allow SLAVESERVER to work (db) RPLMYINFO should report the user modes and channel modes available (db) missed the user mode +b for bots (db) applied neph’s operwall/wallops pacing patch (db)

*** 19990806_2 by lusky updated patchlevel.h to b94 for new tarball

*** 19990806_1 by lusky diane fixed another unkline bug.

*** 19990805_2 by lusky fixed rehash dump, would core on bad admin line

*** 199908051 by lusky bumped patchlevel for new tarball added KNOWN BUGS to relnotes bug in stats Q line found by Dustin Marquess (Jailbird) in client.h, umodes were moved to umodes in client, forgot to redefine the macros for SetInvisible etc. usermode allowed decrement of oper count even if client was not opered

*** 19990804_2 by lusky bumped patchlevel to b92 for new beta snapshot

*** 199908041 by lusky fix for IP Klines in stats from Diane fix for broken munkline.c from Diane it would unkline everything fix for lusers from Tom

*** 19990803_2 by lusky bumped patchlevel for new tarball

*** 199908031 by lusky changed all occurances of USEALLOWOP to NOCHANOPSWHENSPLIT fix to prevent coring on malformed conf lines

*** 19990802_4 by lusky changed a syslog to log for Bleep

*** 19990802_3 by lusky Updated documentation files, removed -DNDEBUG from the default CFLAGS, and sycn;d config.h.dist to config.h

*** 19990802_2 by lusky added release notes to the tree

*** 199908021 by lusky fixed 216 reply bug in mtrieconf.c causing ~ klines not to work major bug in s_conf.c to do with reading of kline.conf

*** Entries below this point were entered manually

version hybrid-6-b90 02-Aug-1999 * updated patchlevel in anticipation of snapshot release -Rodder

version hybrid-6-current 26-Jun-1999 through 01-Aug-1999

1999/08/01 (tomh) - typos 1999/08/01 (tomh) - setupsignals just before initsys 1999/08/01 (tomh) - remove uneeded checks in configure.in 1999/08/01 (tomh) - move dbufinit after initsys 1999/08/01 (tomh) - more getopt notes 1999/08/01 (tomh) - more cleanups 1999/08/01 (tomh) - misc cleanups 1999/08/01 (tomh) - minor cleanups 1999/08/01 (tomh) - log message cleanups 1999/08/01 (tomh) - log mdies 1999/08/01 (tomh) - include getopt.h to avoid declaring extern. hopefully this should work - everywhere. Solaris has getopt. 1999/08/01 (tomh) - cleanup startup code 1999/08/01 (tomh) - bug fix to make -h work 1999/08/01 (tomh) - bug fix 1999/08/01 (tomh) - ackvi sbsd.c bug fix 1999/08/01 (lusky) - added missing define for INADDRNONE 1999/08/01 (db) - removed Makefile defines that aren’t ready 1999/08/01 (db) - oops misplaced parens 1999/08/01 (db) - fixed compile error, getopt needs optarg declared extern. - We should verify interface of getopt on other OS’s notably solaris 1999/07/31 (tomh) - split mmode 1999/07/31 (tomh) - sketch log interface 1999/07/31 (tomh) - restart instead of exit on clock fail 1999/07/31 (tomh) - new slog, nothing there yet but soon 1999/07/31 (tomh) - move sbrk memory stuff to ircd.c 1999/07/31 (tomh) - move sbrk code to ircd.c 1999/07/31 (tomh) - log code 1999/07/31 (tomh) - header shuffle 1999/07/31 (tomh) - header cleanups 1999/07/31 (tomh) - bug fix 1999/07/31 (tomh) - added include 1999/07/31 (db) - server should not fork() if -s is used, it makes it very hard to debug 1999/07/31 (db) - resolved cvs checkin conflict in suser.c oops. removed mkill which - is now in mkill.c 1999/07/31 (db) - removed global kills of nick collides, let each server handle it itself 1999/07/31 (db) - moved mmessage/mnotice/mprivate into mmessage.c - moved more stuff from struct.h to mmessage.c - rebuilt .depend 1999/07/31 (db) - moved mkill out of suser.c 1999/07/31 (db) - moved mison out of suser.c - cleaned up mison - fixed botch in parse.c 1999/07/31 (db) - moved MATCH defines from mmessage.c into send.h, they are needed in send.c 1999/07/31 (db) - muserhost.c was so broken, rewritten … it looks like it - was recursively modified after the fact, with the original code left - in taking up space.. in any case, it now only handles one target. 1999/07/31 (db) - forgot to commit, sorry Tom 1999/07/31 (db) - bug fixing. this is good. redid ip I lines, not using seans’ version - of addipIline yet. not until its thoroughly tested. SO, #if 0 out - in dlineconf.c 1999/07/30 (wnder) - cleanup, fixed a potential problem with the reason field 1999/07/30 (tomh) - readd dns search, see if this fixes vhost probs 1999/07/30 (tomh) - new mcommand files 1999/07/30 (tomh) - new files, header cleanups 1999/07/30 (tomh) - moved stats stuff to stats module 1999/07/30 (tomh) - moved stats stuff to separate module 1999/07/30 (tomh) - more header cleanups 1999/07/30 (tomh) - definitions for getclientname 1999/07/30 (db) - split userhost out of suser.c, its soooo broken, but committed for now 1999/07/30 (db) - split mquit.c out - corrected mset.c for NOJOINONSPLIT cases 1999/07/30 (db) - removed usrip - moved pieces of muser.c into maway.c, mison.c, moper.c mping.c mpong.c 1999/07/30 (db) - oops. fixed header on flud.c - send floodbot notices to +b not +r 1999/07/30 (db) - oops 1999/07/30 (db) - moved mwhois.c 1999/07/30 (db) - moved mwho to mwho.c 1999/07/30 (db) - moved ban struct from struct.h to channel.h 1999/07/30 (db) - moved FLUD code from suser.c into flud.c/flud.h 1999/07/30 (db) - added proper header on flud.h 1999/07/29 (tomh) - new mcommands 1999/07/29 (tomh) - new .depend 1999/07/29 (tomh) - fix connect to hubs?? 1999/07/29 (tomh) - ewps missed one 1999/07/29 (tomh) - confcounter bug fix 1999/07/29 (sean) - wow, needed that fix in more than one place. 1999/07/29 (sean) - hopefully fixed that coredump problem.. - I think there was an if() outside of the - for(cptr2 = servcptrlist; cptr2; cptr2 = cptr2->nextserverclient) - loop referencing acptr. - someone verify that the logic makes sense there. 1999/07/29 (sean) - fixed logic in mtrace to determine if we show someone’s IP or not. 1999/07/29 (sean) 1999/07/29 (db) - removed UTMP and COMMA, no one was using them 1999/07/29 (db) - fixed parse bug I introduced. sigh 1999/07/28 (tomh) - update C/N line documentation 1999/07/28 (tomh) - remove bsd.h, move deliverit protoype to sbsd.h 1999/07/28 (tomh) - rearrangements 1999/07/28 (tomh) - new files 1999/07/28 (tomh) - new file, rearrangements 1999/07/28 (tomh) - new .depend 1999/07/28 (tomh) - move deliverit to sbsd.c, remove bsd.c, support.c 1999/07/28 (tomh) - messages cleanup 1999/07/28 (tomh) - little cleanups 1999/07/28 (tomh) - fix compile warning 1999/07/28 (tomh) - Move programming error checks to asserts. Just return the string for release. 1999/07/28 (tomh) - Finish net cleanup of connects (mostly). - NOTE: Please check this carefully to make sure it still works right. - The original code was entirely too twisted to be sure I got everything right. 1999/07/28 (tomh) - Finish cleanup of net connect code. - NOTE: Please check this carefully to make sure everything still works correctly. - The original code was entirely too twisted to be sure I’ve gotten everthing - right. Please read the new notes in the example.conf file for conf line rules. 1999/07/28 (db) - removed findchannel() in channel.c, use hashfindchannel. - gosh. hash code hasn’t been experimental in years. 1999/07/28 (db) - moved prototype into list.h from channel.c 1999/07/27 (wnder) - Channel ban memory usage was being way undercalculated for stats Z - - never took the length of the banmask into account. 1999/07/27 (tomh) - move tryconnections to sserv.c 1999/07/27 (tomh) - more connect cleanups 1999/07/27 (tomh) - more cleanups of connect 1999/07/27 (tomh) - cleanup connect stuff, comments 1999/07/27 (db) - set numbed = 0 when all bans/exceptions/denies are cleared out 1999/07/27 (db) - removed USEFDALLOC - fixed typo 1999/07/27 (db) - redid escape code, hmmm why do we need this? :-) 1999/07/27 (db) - missing colon in an H line =really= shouldn’t core the server. - bad Diane. bad bad bad. no cookie for you. 1999/07/27 (db) - many changes to account for denies - integrated deny code in with already present ban/exception code - added function to free all bed’s - forgot to subtract one from bedcount when removing a +e due to kick - quietly ignore error in removing empty channels 1999/07/27 (db) - don’t forget to decrement numbed when deleting ban entries. - Bad Sean. bad bad bad. no cookies for you, straight to bed! 1999/07/26 (tomh) - new functions for sconf cleaning up connect 1999/07/26 (tomh) - new file new .depend 1999/07/26 (tomh) - cleanup some conf stuff dealing with connects 1999/07/26 (sean) - priorities were a bit twisted in isbanned() 1999/07/26 (sean) - fixed weirdness with +d.. once servers are all updated, can remove the hack perhaps?. did the same thing as +e does (mbufnew, pbufnew —> mbufnewer, pbufnewer) 1999/07/26 (db) - use prototype already present in smisc.h 1999/07/25 (tomh) - update .depend 1999/07/25 (tomh) - untangle mcommands 1999/07/25 (tomh) - new file mpass start untangling mserver 1999/07/25 (tomh) - more header cleanups 1999/07/25 (tomh) - bit of header cleanups 1999/07/25 (tomh) - bit of header cleanup 1999/07/25 (sean) - not needed 1999/07/25 (sean) - fixed an oversight. 1999/07/25 (sean) - changed +d behaviour to something more feasible… matches bans on user’s gecos field.. like Xlines for a channel. 1999/07/25 (db) - test of parse.c changes 1999/07/25 (db) - some parse cleanups 1999/07/25 (db) - moved whowas definitions from struct.h into whowas.h - optimized and verified parse.c changes - attempted correction on I line botch - updated .depend JIC 1999/07/25 (db) - moved gline defs from struct.h to mgline.h 1999/07/25 (db) - moved aConfItem defs from struct.h to sconf.h 1999/07/25 (db) - interim commit of parse.c cleanups, more to come 1999/07/25 (db) - fixed parse code 1999/07/25 (db) - added ORATIMING to parsetest 1999/07/24 (wnder) - removed obsolete #ifdef for NOLOCALKLINE 1999/07/24 (wnder) - removed #ifdef for obsolete RLINES (CONFRESTRICT as well). 1999/07/24 (tomh) - put sbrk back in, fixup includes to get tree to build 1999/07/24 (tomh) - new .depend just in case 1999/07/24 (tomh) - cleanup fdlist code a bit 1999/07/24 (tomh) - cleanup fdlist code 1999/07/24 (tomh) - cleanup debug a little 1999/07/24 (tomh) - cleanup compile warning: parse.c:183: warning: numeric might be used uninitialized in this function 1999/07/24 (tomh) - cleanup IsMe in poll/select loops 1999/07/24 (tomh) - changed timeofday and NOW to CurrentTime 1999/07/24 (tomh) - attempt to fix memory usage reporting for sbrk calls, still needs work?? 1999/07/24 (tomh) - added missing # 1999/07/24 (sean) - partially trust remote servers.. allow them to set more than 25 bans, dont let local clients exceed the limit. - don’t check regex validity if introduced by another server, only check up on users 1999/07/24 (sean) - made +d insensitive… (case insensitive, not cold-hearted) 1999/07/24 (sean) - alrighty what did I do? - undid the “trusting” or servers in addbanid/addexceptionid since this causes duplicate bans on channels after a split+rejoin - finished adddenyid. this is case sensitive. - modified isbanned() to check for +d stuff as well.. precedence is now +b, +d, +e (+e overrides +b and +d). - added numbed to channel structure to track total number of bans+exceptions+denies on the channel instead of counting each time 1999/07/24 (sean) - added numbed to structure to count total bans/exceptions/denies 1999/07/24 (sean) 1999/07/24 (db) - simple optimization in numeric handling 1999/07/24 (db) - further simplification 1999/07/23 (wnder) - minfo.c is much much cleaner now. added minfo.h dependency to .depend. 1999/07/23 (wnder) - branches: 1.1.2; - file minfo.h was initially added on branch 1.27. 1999/07/23 (wnder) - Totally redid minfo.c - all the ugly #ifdef stuff removed. minfo.h - now contains an array with all the information. 1999/07/23 (wnder) - Sean’s info wasn’t lined up with the rest of us :-) 1999/07/23 (wnder) - Rewrote minfo.c - got rid of all the ugly #ifdef stuff. minfo.h - is much cleaner. 1999/07/23 (tomh) - trivial dependency tweaks 1999/07/23 (tomh) - remove unneeded include, update .depend 1999/07/23 (tomh) - remove sbrk, replace with getmaxrss 1999/07/23 (tomh) - include channel.h first 1999/07/23 (tomh) - cleanup signals, remove unused header 1999/07/23 (tomh) - cleanup signal code 1999/07/23 (tomh) - analyze and fixup dependencies 1999/07/23 (sean) - new capab DE (channel mode +d : CAPDE) 1999/07/23 (sean) - modularized regular expresison handling.. more on this later 1999/07/23 (sean) - further modified to enable +d. still no regex checking as of yet. - only pass +d modes on to capable servers. 1999/07/23 (sean) - channel +d work. 1999/07/23 (sean) - added channel mode +d (straight copy of +b code) - no parsing yet in isbanned().. coming soon. - (this is the regular expression deny mode by the way) - I’m possibly going to do mode +a to perform the same function as +e does to +b. 1999/07/23 (db) - yet more cleanups in the wonderful world of includes 1999/07/23 (db) - use definitions in channel.h 1999/07/23 (db) - the wicked witch is dead. h.h is no more - removed snumeric.c its silly to put a small function like that into one file - and its only used in parse.c 1999/07/23 (db) - more include fun 1999/07/23 (db) - more include file fixes 1999/07/23 (db) - more include cleanups 1999/07/23 (db) - last bit of fixes 1999/07/23 (db) - include file fixes 1999/07/23 (db) - fixed headers here 1999/07/23 (db) - couple more include fixes 1999/07/23 (db) - cleaned up missing includes defines in NOJOINONSPLIT 1999/07/23 (db) - channel.c needs config.h - moved externs from suser.c into channel.h - made whowas variable static 1999/07/23 (db) - There is no more RFC1035ANAL 1999/07/22 (tomh) - work on socket code 1999/07/22 (tomh) - rename FLUSHBUFFER to CLIENTEXITED 1999/07/22 (tomh) - removed redundant check 1999/07/22 (tomh) - cleanup socket code 1999/07/22 (tomh) - cleanup compile warnings 1999/07/22 (tomh) - bug fix 1999/07/22 (tomh) - added username hostname attributes 1999/07/22 (tomh) - added new attributes for username and hostname checks and rewrote check - functions. - NOTE: please check the policy for user chars in match.c, I was a bit more - restrictive than the original code, it allowed “#%&’()+/ in usernames - the table does not. If you don’t want this, just add USERC to those entries. 1999/07/22 (tomh) - add missing include for list.h 1999/07/22 (tomh) - add SideWnders configuration changes 1999/07/22 (db) - trust what servers throw at us when bans/exceptions are added to channels 1999/07/22 (db) - srehash should always be defined no? - instead of calling ischanop() hasvoice() separately, return both found - bits at once using userchannelmode(), this is a slight win - for mwhois(), setmode() 1999/07/22 (db) - oops forgot smisc.h parse.h - other cleanups 1999/07/22 (db) - moving globals from inside the .c into the .h 1999/07/22 (db) - moved channel definitions from struct.h to channel.h 1999/07/22 (db) - moved a pile of defs from h.h into ircd.h sbsd.h channel.h smisc.h 1999/07/22 (db) - just about done 1999/07/22 (db) - even more cleanups and move of stuff from h.h 1999/07/22 (db) - built mgline.h, scache.h , moved more stuff from h.h - 1.27: 1.1.0.2 1999/07/22 (db) - built mgline.h, scache.h , moved more stuff from h.h 1999/07/22 (db) - added userchannelmode, lookup the users mode once instead - of several times 1999/07/21 (tomh) - untabify headers 1999/07/21 (tomh) - untabified code 1999/07/21 (tomh) - little perl thing to untabify code 1999/07/21 (sean) - removed oper notification messages for blocking list… if this is ever suspected to be abusable, we can add the notifications again.. for now, I dont see the point. 1999/07/21 (sean) - provisions for blocking list w/ resume 1999/07/21 (sean) - lock out all other commands while /list is blocked. 1999/07/21 (sean) - blocking list code 1999/07/21 (db) - you guessed it, more cleanups. removed undefined function that had - a prototype in h.h cool 1999/07/21 (db) - yet more h.h cleanups, the nightmare that never ends 1999/07/21 (db) - yet more cleanups of h.h, removed a completely undefined reference yum. 1999/07/21 (db) - updated .depend 1999/07/21 (db) - untabified send.c for sean (Hi Sean!) 1999/07/21 (db) - this animal is dying, (h.h) 1999/07/21 (db) - removed badtld completely, reworked mgline.c mkline.c (sidewnder) 1999/07/21 (db) - oops 1999/07/21 (db) - more prototype and header fixing, added suser.h 1999/07/21 (db) - more h.h pruning 1999/07/21 (db) - more cleanups 1999/07/21 (db) - made a function static, removed from h.h 1999/07/21 (db) - found missing entry in ChatAttr table ‘`’ 1999/07/21 (db) - cleaned up auto conn freq code 1999/07/21 (db) - check for minimum connect frequency if < 300 default to 300 - if not validhostname give user the sockhost as their hostname, whine - gently to the user. 1999/07/21 (db) - added sidewnders mkline.c changes for wild card prevention 1999/07/21 (db) - added a very primitive program for checking CharAttr table 1999/07/21 (db) - I’m beginning to hate this file 1999/07/20 (tomh) - rewrote cleanchannelname, rename checkchannelname 1999/07/20 (tomh) - new char macros 1999/07/20 (tomh) - new char attrs 1999/07/20 (tomh) - more cleanups 1999/07/20 (tomh) - cleanup socket code 1999/07/20 (tomh) - cleanup IsAscii 1999/07/20 (tomh) - cleanup 1999/07/20 (sean) - working on /list 1999/07/20 (sean) - who calls me “good” anymore? 1999/07/20 (sean) - learning how to read… 1999/07/20 (sean) - hashgetchannelblock() added so that we can get our fingers into the tables from outside of hash.c 1999/07/20 (sean) - hashgetchannelblock() 1999/07/20 (sean) - fixed sign issues 1999/07/20 (sean) - fixed diane’s fixes. Do we ever try to make before we commit ;) 1999/07/20 (sean) - added fields listprogress and listprogress2, and FLAGS2SENDQPOP. This /list bitch shall yield to me!!! I swear it! 1999/07/20 (db) - use valid channel char macros 1999/07/20 (db) - oops should have been sptr not cptr 1999/07/20 (db) - moved oper flags back into umodes - added prelim reporting of server joins to network 1999/07/20 (db) - moved getfield from parse.c to sconf.c which is the only place its used - removed duplicate prototype from h.h , it was in dlineconf.h already - send.c needs szip.h included to know about ziplinks 1999/07/20 (db) - more removal of stuff from h.h 1999/07/20 (db) - more moving of stuff from h.h, added szip.h 1999/07/20 (db) - more cleanups from h.h 1999/07/20 (db) - more cleanups 1999/07/20 (db) - drone flooders should also be under flags +b BOTS 1999/07/20 (db) - added user mode +b, opers have been asking for this, so they - don’t need to watch rejected clients just to see bots, FLUDBOTS too 1999/07/20 (db) - added umode +x for watching eXternal server introductions 1999/07/19 (tomh) - fixed off by one in CharAttrs 1999/07/19 (tomh) - fix errno stuff 1999/07/19 (tomh) - changed prototype for getlong 1999/07/19 (tomh) - added _getshort and _getlong protos 1999/07/19 (tomh) - add resourserver from bind 8.3 for systems without it (bind 4.x) 1999/07/19 (tomh) - ack solaris fix for FIONBIO which should be removed anyway 1999/07/19 (tomh) - Work on char attributes for nick names, changed isvalid macro - Const correctness changes - Fixed file close bug on successful read - Header cleanups - Checked all usage of sprintfirc for correctness, added terms where needed 1999/07/19 (tomh) - Work on char attributes for nick names, changed isvalid macro - Const correctness changes - Fixed file close bug on successful read - Header cleanups - Checked all strncpyirc usage added terminations where needed 1999/07/19 (tomh) 1999/07/19 (db) - removed MyFludConnect, it can be safely replaced with MyConnect 1999/07/19 (db) - local oper deopering should be removed from oper link lists, and fdlist - adjust Count.oper when deopering 1999/07/19 (db) - interim checkpoint - rewritten pieces of umode handling, because oper flags are no - longer in the same flags as the settable flags, special case code - will have to be added to send those modes on to the next server. - Thats next. 1999/07/19 (db) - first working code with new umodes 1999/07/19 (db) - cool. remote opers are flagged using lower case o, not upper case 1999/07/19 (db) - bitmask clash in client.h meant everyone was oper fun. - adding remote oper mode code 1999/07/19 (db) - added obvious speed up test in mmode 1999/07/18 (tomh) - remove strncpyzt and cleanups 1999/07/18 (tomh) - new reference file 1999/07/18 (tomh) - header cleanups 1999/07/18 (tomh) - fixed broken poll code 1999/07/18 (tomh) - cleanup compile warnings 1999/07/18 (tomh) - changed strncpy to strncpyirc 1999/07/18 (tomh) - added new tests 1999/07/18 (tomh) - added me and Neph (only got his nick sorry) 1999/07/18 (tomh) - add new file 1999/07/18 (db) - yet more include file cleanups 1999/07/18 (db) - yet more header cleanups 1999/07/18 (db) - yet more h.h cleanups - removed duplicate prototype from h.h for offhistory() - moved initwhowas() into whowas.h - added #include “whowas.h” to suser.c client.c ircd.c 1999/07/18 (db) - updated the Hybrid-team file. blah. I’m not a writer. 1999/07/18 (db) - removed last vestiges of references to sys.h in tools dir - gave up. its now ircd-hybrid-6-current for a while, rely on serno.h for now 1999/07/18 (db) - removed 0xDF hack replaced with tolower() macro - removed <string.h> include added ircstring.h include 1999/07/18 (db) - re-arranged operflags, they now have their own int to play in 1999/07/18 (db) - prettied up showsports - fixes in serr.h serr.c for those dumb client writers 1999/07/18 (db) - moved restart code from ircd.c to restart.c (neph) 1999/07/18 (db) - more header cleanups 1999/07/18 (db) - more cleanups. showservers only used by sserv.c moved from smisc.c - to sserv.c 1999/07/18 (db) - more cleanups on h.h, - removed functions not even defined anymore, such as findservice… - moved channel definitons into channel.h where they belong 1999/07/18 (db) - major changes to get rid of sendtorealopslev - still bug in mumode code oops. 1999/07/18 (db) - interim checkpoint - sendtoopslev is gone now, replaced with sendtoopsflags - still bug to fix, clients can set themselves +os . oops. 1999/07/18 (db) - forgot listener name on stats P , oops 1999/07/18 (db) - fixed missing whowas.h include in channel.c - added sendtoopsflags sendtorealopsflags in preparation for - removal of sendtoopslev and sendtorealopslev. I’ve been meaning - to do this one for ages. 1999/07/18 (db) - fixed missing irccmp in sserv.c - mumode is still in a mess, but handles properly oper flags - +s +w +k etc. does not understand local/remote Oper or +i yet 1999/07/18 (db) - as pointed out by bleep, strncasecmp, strcasecmp aren’t portable. - changed all cases to use irccmp or ircncmp 1999/07/18 (db) - added neph|l|m and bleep to version.c.SH and Hybrid-Team 1999/07/18 (db) - added /stats P, I hate making it case sensitive, but its the logical place. - deal. - hacked a prototype problem for now. cough in channel.h 1999/07/18 (db) - a few more header cleanups - motd.c included channel.h, no need 1999/07/17 (tomh) - remove conf from listeners 1999/07/17 (tomh) - cleanup osdep stuff 1999/07/17 (tomh) - build error fixes 1999/07/17 (db) - viconf.c was broken for viklines form, copied most of the lockfile - code from mkline.c 1999/07/17 (db) - unopered client doing stats o cored server. ooops. 1999/07/17 (db) - rodder’s fix + mine for getclientname 1999/07/17 (db) - removing sys.h and testing as I go.. hi ho… 1999/07/17 (db) - removed sbrk() in ircd.c and sdebug.c - still needs cleanup 1999/07/17 (db) - removed now unused sys.h 1999/07/17 (db) - remoeved a few obsolete Debug’s 1999/07/17 (db) - reconciled config.h.dist with config.h 1999/07/17 (db) - passwd is a pointer to a “” not NULL when there is no passwd 1999/07/17 (db) - oops missed dlineconf.c for removing sys.h 1999/07/17 (db) - my bad. - fixed prototype in sconf.h - fixed typo of password for passwd in sconf.c 1999/07/17 (db) - moved writepidfile from sbsd.c to ircd.c where it belongs - made it static.. These people were on crack. - removed a bunch of redundant defines in config.h/config.h.dist reconciled - names in ircd.c to use only one #define not two - ditto with viconf.c which needs more work still 1999/07/17 (db) - moved showopers from smisc.c to sserv.c which is the only place it - was being referenced from in the first place. duh. 1999/07/17 (db) - more include fixes 1999/07/17 (db) - merge collision, put back new P line handling 1999/07/17 (db) - interim commit/checkpoint - cleaning up includes for dbuf - redid memory reporting slightly, still more to do - added new function to count memory usage in blalloc.c, not used yet! 1999/07/17 (db) - forgot to add mkline.h 1999/07/17 (db) - fixed prototype for safewrite() 1999/07/17 (db) - fixed const char * problem in munkline.c 1999/07/17 (db) - fixed #includes 1999/07/17 (db) - corrected type casting problems, mainly const char * - moved prototype for safewrite into sconf.h 1999/07/17 (db) - corrected const char 1999/07/17 (db) - committed sidewnders changes to kline file handling - we’ll have to clean this up - committed listener P line change code in sconf.c 1999/07/17 (db) - added more memory count debug info to sdebug.c - removed some unused variables in viconf.c 1999/07/17 (db) - added code to sdebug to report memory used by remote/local clients - ditto to client.c 1999/07/17 (db) - added FLUD memory reporting - properly #ifdef’ed FLUD in list.c 1999/07/16 (tomh) - yet another 1999/07/16 (tomh) - unlink/relink P:line in rehash 1999/07/16 (tomh) - undo change to Makefile.in 1999/07/16 (tomh) - new test file 1999/07/16 (tomh) - feh, removed extra -DNDEBUG 1999/07/16 (tomh) - bah, C++ comments 1999/07/16 (db) - rename some function names to make function clearer - moved prototypes into headers - made some functions static - added some needed comments 1999/07/16 (db) - removed #ifdef HAVEGETRUSAGE, it still needs to be removed from configure - removed some debug counters that weren’t terribly useful - always enabled stats r even without DEBUGMODE - moved prototype for sendusage() into sdebug.h 1999/07/16 (db) - optimized getconfname - replaced char * with const char * for filename 1999/07/16 (db) - more cleanups - removed unused function in FLUD code 1999/07/16 (db) - how did this not get committed? Anyway, do not look at the class - for a P line, do not add it to the conf item 1999/07/16 (db) - fix for /stats H, its been broken for some time apparently ;-( - removed some old comments - changed a function to a static 1999/07/16 (db) - even more cleanups. moved prototype from h.h to sconf.h 1999/07/16 (db) - cleaned up dlineconf.h, sconf.c was not using prototypes from header 1999/07/16 (db) - 1024 should be PATHMAX , 1024 is a remnant of the original mess in mkline 1999/07/15 (tomh) - removed extra freeclass in freeconf 1999/07/15 (tomh) - bug fix 1999/07/15 (tomh) - add listener code, cleanup of other stuff 1999/07/15 (db) - use %d in “was connected for %d seconds” strings etc. instead of %lu 1999/07/15 (db) - redid mkline, moved conf file writing from mkline into sconf.c - thus “hiding” the details of where the kline gets written.. - Temporarily removed Shadowfax’s LOCKFILE code until this settles down. 1999/07/15 (db) - freeing local instead of remote 1999/07/15 (db) - fixed core bug in mkline.c, probably should add extra sanity test there - REDUNDANTKLINES was using aconf->name instead of aconf->user - cleaning up conf file generation etc. 1999/07/15 (db) - don’t delete .depend file on distclean 1999/07/15 (db) - committed changes for SideWnder - removed older varargs check 1999/07/15 (db) - added confconnectallowed() 1999/07/15 (db) - #include <string.h> needed for memset() 1999/07/14 (db) - rewrote send.c to use undernet sprintfirc, - redid any %ld as %lu to take advantage of new sprintfirc code - yes, I know it needs a prototype 1999/07/14 (db) - oopsies… thought I had removed ircsprintf.c/ircsprintf.o 1999/07/14 (db) - added header file for sprintfirc 1999/07/13 (tomh) - new file work in progress, cleanup sbsd a little 1999/07/13 (tomh) - cleanup error handling in sbsd, work on listener in progress 1999/07/13 (tomh) - cleaned up DEBUGMODE for hashfindserver 1999/07/13 (tomh) - GPL + copyright for fileio.h 1999/07/13 (db) - removed ircsprintf() - added undernet’s sprintfirc, renamed entry point to ircsprintf() - modified sprintf() to use ircsprintf() where possible 1999/07/13 (db) - oops. had a missing continue in sprintfirc.c 1999/07/13 (db) - couple of cleanups, removed BOOTQUICK BOOTOPER, moved - send() definitions from struct.h to send.h 1999/07/13 (db) - cleaned up conf file handling, handled by readconffiles() 1999/07/13 (db) - bug in opers@server code fixed 1999/07/12 (tomh) - removed log file as a client, BOOTINETD BOOTAUTODIE, cleanup rcs tags 1999/07/12 (tomh) - removed log as client, BOOTINETD, BOOTAUTODIE, cleanup rcs tags 1999/07/12 (tomh) - couldn’t resist, more hash cleanups 1999/07/12 (tomh) - cleanup hash code 1999/07/12 (tomh) - clean up hash code 1999/07/12 (tomh) - ackls I’m done now, I promise ;-) 1999/07/12 (db) - unfortunately, EFnet still likes hostmasked servers… and this particular - ugly mess of code is somewhat necessary to handle hostmasking. ick. - Perhaps, it could be rewritten to be less offensive, but for now… 1999/07/12 (db) - remoed unused variable - moved isbot to local part of client 1999/07/12 (db) - only do bot checks on locally connecting clients 1999/07/11 (tomh) - sockhost cleanup and a lot of other stuff 1999/07/11 (tomh) - removed flushcache, it was wrong and not needed 1999/07/11 (tomh) - removed flushcache 1999/07/11 (tomh) - new file 1999/07/11 (tomh) - included config.h here 1999/07/11 (tomh) - fixed wrong name 1999/07/11 (tomh) - fixed hostname copy bug 1999/07/11 (tomh) - client.c 1999/07/11 (tomh) - cleanup 1999/07/11 (tomh) - changed depend target in makefile, minor bug fix in motd.c 1999/07/11 (tomh) - changed .depend include, added prebuilt dependency file 1999/07/11 (tomh) - bug fix 1999/07/11 (tomh) - added assert.h 1999/07/11 (tomh) - add releaseclientdnsreply 1999/07/11 (tomh) - HARDFDLIMIT? 1999/07/11 (db) - redid motd handling completely. most of the motd handling is now - done in motd.c - motd handling includes, motd, oper motd, help file 1999/07/11 (db) - redid BOTCHECK for new dns/auth any botcheck based on user given - hostname has to be done in muser and stored for later checking - after user@host and I line lookup is done. 1999/07/11 (db) - minor changes in motd code 1999/07/11 (db) - fixed botch with SHORTMOTD - fixed some spelling mistakes in comments in send.c tsk tsk 1999/07/11 (db) - corrected BOTCHECK code - corrected FLAGS2OPERFLAGS 1999/07/11 (db) - [11-Jul:15:24 Bleep] it’s downright dangerous and wrong - agreed ;-) 1999/07/10 (tomh) - new test file 1999/07/10 (tomh) - fixed username bug for servers 1999/07/10 (tomh) - cleanup 1999/07/10 (tomh) - Moved user.username and user.host to client struct. Chances are that this - change has introduced a few problems, it seems to work here, but needs to - be fully verified. 1999/07/10 (tomh) - Changed unsigned long to unsigned int in client struct for rollups. See the - comment and associated test file in test for my rationale. The code that - calculates traffic density needs to be gone over and cleaned up, perhaps the - calculations should use another set of variables for this. I don’t know if - using the client rollups is entirely suitable for the purpose, perhaps a - refreshed average (a vector of the last 5) would be better. 1999/07/10 (db) - some tiny cleanups in ircd.c 1999/07/10 (db) - fix for identd 1999/07/09 (tomh) - fixed performance bug in cache expire 1999/07/09 (tomh) - Changed resolver code to use reference counting instead of blind hostent - removal. This will ensure that if a client resolved we will always get - it’s hostent. Currently we are saving the hostent for the life of the client, - but it can be released once the access checks are finished so the resolver - cache stays reasonably sized. 1999/07/09 (db) - receiveK etc. have to be at least a long in client.h - ircd.c changes to fix HTM 1999/07/08 (tomh) - removed pyr 1999/07/08 (tomh) - removed cdefs.h remnant from old resolver code 1999/07/08 (tomh) - new files 1999/07/08 (tomh) - moved client dns/ip check to sauth.c, fixed broken ip check code in sbsd.c 1999/07/08 (tomh) - minor optimization for match 1999/07/08 (tomh) - fixup double defines 1999/07/08 (tomh) - constify send, cleanup more dependencies 1999/07/08 (tomh) - constify send 1999/07/08 (tomh) - changed tsval to timet, looks like a duck - quacks like a duck… 1999/07/08 (tomh) - chage tsval to timet 1999/07/08 (db) - stop at first @ seen in username, it might be an email address - but ircd only needs the username 1999/07/08 (db) - sidewnder fix for installircd for use with new configure - added windewnder’s mkconf script 1999/07/08 (db) - removed unused tables in match.c =no one= was using these. I remember - pulling these before, they must have come back in through chip’s match.c ? - removed unused #ifdef in send.c 1999/07/08 (db) - removed USEVARARGS (Sidewnder) 1999/07/08 (db) - put me out to pasture. tables are used. duh. backed out last change 1999/07/08 (db) - one more change to autoconf for Sidewnder 1999/07/08 (db) - neph’s patch for [O] [o] and oper privs 1999/07/08 (db) - loads of changes to add function prototypes for send.c functions - all these files now include “send.h” 1999/07/08 (db) - fixed goof in sconf.h 1999/07/08 (db) - fixed botch in suser.c missing } - fixed compile whine in hash.c - adding send.h file (for Sidewnder) - adding modified send.c (for Sidewnder) - removed function prototypes for send-* from h.h (for Sidewnder) - multiple ‘c’ files will need addition of send.h to stop compile whining.. - coming…. - commit stamp, automatically updated 1999/07/08 (db) - fixed botch in suser.c missing } - fixed compile whine in hash.c - adding send.h file (for Sidewnder) - adding modified send.c (for Sidewnder) - removed function prototypes for send-* from h.h (for Sidewnder) - multiple ‘c’ files will need addition of send.h to stop compile whining.. - coming…. 1999/07/08 (db) - cosmetic changes only 1999/07/08 (db) - corrected some missing const 1999/07/08 (db) - changes to centralize config.h ircd config files to one struct 1999/07/08 (db) - blew away another lame #define in config.h - removed lame #ifdef correspoding to define in config.h removed 1999/07/07 (tomh) - renamed getsockhost to setclientsockhost 1999/07/07 (tomh) - little fixups 1999/07/07 (tomh) - cleanup of sendheader code and macros for GotId NeedId 1999/07/07 (tomh) - cleanup of sendheader code 1999/07/07 (db) - rewrote how ident was parsed. 1999/07/07 (db) - removed last remnant of old configure files 1999/07/07 (db) - removed MIN/MAX replaced with IRCDMIN IRCDMAX 1999/07/07 (db) - last of Sidewnders autoconf changes 1999/07/07 (db) - fixed two problems with auth code in sbsd.c fd == -1 cores server - added /msg opers@server.name for messaging all opers at once - needs better formatting. Perhaps should be restricted to opers only? 1999/07/07 (db) - committed Sidewnders new autoconf changes 1999/07/07 (db) - commited fixes for neph’s stats p change to show O or o 1999/07/07 (db) - allow /msg opers@server syntax only to global opers - fixed minor bug in sauth.c 1999/07/07 (db) - added a missing autoconf file 1999/07/06 (tomh) - updated comments 1999/07/06 (tomh) - changed auth code to use new AuthRequest 1999/07/06 (db) - trimmed int to unsigned char in fdlist.h 1999/07/05 (db) - use GetPrintableaConfItem() 1999/07/05 (db) - updated example.conf with new oper flags H/D 1999/07/05 (db) - memmove isn’t even =used= in mtrieconf.c anymore 1999/07/05 (db) - fixed msg.h to account for no more OPERREHASH etc. - no more ANTIIPSPOOF removed obsolete #ifdef’s 1999/07/05 (db) - converted bcopy to memcpy 1999/07/05 (db) - backed out premature channel.c change 1999/07/04 (tomh) - more cleanup, only call deleteresolverqueries when there are outstanding requests 1999/07/04 (db) - rudimentary error checking in sconf.c, flag non 0 classes that - default to class 0 1999/07/04 (db) - fixed stupid typos in sconf.c 1999/07/04 (db) - added D and R flags in oper flags of port of O line, for /rehash and /die - /restart is considered a form of /die and needs same privs 1999/07/03 (tomh) - rework res.c, implement resolver callbacks, change hostent generation code, cleanup of other code that uses the resolver 1999/07/03 (tomh) - removed netdb.h include 1999/07/03 (tomh) - removed chkconf target 1999/07/03 (tomh) - more dependency hacks 1999/07/03 (tomh) - commit merge, must have missed this last night 1999/07/03 (tomh) - cleanup some globals, header dependencies 1999/07/03 (tomh) - cleanup dependencies 1999/07/03 (tomh) - clean up class macros, includes 1999/07/03 (tomh) - added -DNDEBUG to release CFLAGS 1999/07/03 (tomh) - a bit more dependency cleanup 1999/07/03 (db) - removed unnecessary ASYNC’ defines in struct.h 1999/07/03 (db) - fixes to res.h for bsd 1999/07/03 (db) - as pointed out by neph, in checkfdlists, IsOper(cptr) should be IsAnOper(cptr) - local opers would never go on busyclifdlist 1999/07/02 (db) - madmin was broken (sidewnder) 1999/07/02 (db) - found bug in TS 0 detect code in channel.c duh 1999/07/01 (db) - removed chkconf from tools, moved most of its functionality into - sconf.c of ircd itself. chkconf.c was always out of date anyway. 1999/07/01 (db) - removed ANTISPAMBOTEXTRA too much CPU for too many false positives 1999/07/01 (db) - more removal of globals, this time in mhtm 1999/07/01 (db) - combined all the split options into NEEDSPLITCODE in config.h 1999/07/01 (db) - bunch of changes to get rid of global mset options, and put them - all into one structure. I’ve been meaning to do this for months. - rewrote how fdlist’s work, still needs more testing, but appears - to be major win in CPU. Consider building up the FDSET for - defaultfdlist and simply using that FDSET in select() (similar for POLL) - then the select() loop becomes a memcpy() of defaultfdlist FDSET - this would also imply dns/ident fd’s enter and leave the defaultfdlist - removed the dup2 loop that was being used to “keep local[] filled at bottom” - I thought I removed this already. dup in a loop is going to be an - expensive sys call, I don’t think its worth the bother, especially on - a bigger server. 1999/06/30 (db) - removed unnecessary include of fdlist.h in mgline.c mkline.c - removed global definition of addgline() in h.h 1999/06/29 (tomh) - cleaned up attachiline a bit 1999/06/29 (db) - finished slowaris’s mods, removing obsolete bot checks, cleaned up a lot - re-arranged order of privmsg testing, slightly optimized for channel - check with first char &# this will favour channel privmsgs over client 1999/06/29 (db) - check for valid alphanum as first char of username 1999/06/29 (db) - botrject only needs one argument now. functionality of gcos botcheck - can mostly be done in X lines anyway. “X:/msg*hello:eggdrop” 1999/06/28 (db) - Removed some obsolete bot checking - Moved privmsg to check channel first then nicks, since most privmsgs - are to channels. - done by rjp (Slowaris) 1999/06/28 (db) - Found serious stupid bug in mgline.c - Encapsulated as much as possible of gline code into one file 1999/06/27 (tomh) - removed sock.h from dependency list 1999/06/27 (tomh) - removed empty unused header 1999/06/27 (tomh) - remove sock.h (unused) 1999/06/27 (db) - removed obsolete comment 1999/06/27 (db) - redid mset parser with code from slowaris rjp@wpmedia.com 1999/06/27 (db) - redid how klines/glines were done - cleaned up yet again, suser.c 1999/06/27 (db) - patchlevel needed upping - redid suser etc. some more to handle bans better, and REJECTHOLD 1999/06/27 (db) - bleah forgot to increment a counter 1999/06/27 (db) - Quick fix for rehash conf file dumping to take account new aconf format 1999/06/26 (tomh) - cleanup includes for resolver 1999/06/26 (tomh) - clean up dependencies, clean up resolver (initial) 1999/06/26 (db) - removed yet more “noise” from config.h made some defines always on - cleaned up registeruser some more 1999/06/26 (db) - removed more “noise” from config.h - removed IDENTDCOMPLAIN completely, as same functionality can be - done with I line flags now - simplified rights test in mkline() - ensure local ops don’t get the priv flags in port field they shouldn’t 1999/06/26 (db) - oops. 1999/06/26 (db) - more cleanups in … you got it suser.c - removed some dead defines in config.h - added max reject held client counters - make sure numeric.h has definitions for now removed defines 1999/06/26 (db) - found one aconf->name instead of aconf->user in mkline.c this broke klines - testline was reporting ->name instead of user for K lines 1999/06/26 (db) - Yet more suser.c cleanup blech. will it ever end? 1999/06/26 (db) - Still more cleanups to suser.c registeruser() getting there… 1999/06/26 (db) - Even more clean up in suser.c registeruser 1999/06/26 (db) - Added two missing includes to make it compile.

version hybrid-6-b87 26-Jun-1999 * enough changes to merit a patchlevel update * rewrote suser.c registeruser * removed a ton of useless defines, made them default -Dianora

version hybrid-6-b86 2[2-5]-Jun-1999 * never released
-Dianora

version hybrid-6-b85 21-Jun-1999 * worked on serial number some more.. * fixed a few compile warnings related to the sserv.c split -Rodder * Massive changes to conf formatting, preformatted user@host entries * fixed Q lines to allow multiple user@host separated by , * removed obsolete resolver code * removed obsolete options in config.h * split sserv.c into several smaller pieces -Dianora

version hybrid-6-b84 14-Jun-1999 * removed more dead code for now (R lines) * redid Q lines to allow user@host exceptions -Dianora

version hybrid-6-b83 12-Jun-1999 * removed TIMEDKLINES entirely * fixed stupid in sconf.c -Dianora * Don’t send 479 errors for SJOIN to bogus channel -Rodder

version hybrid-6-b82 12-Jun-1999 * added more rudimentary block allocator debugging
-Rodder

-Dianora
version hybrid-6-b81 * only show hacked ops if from this server to an opless channel * added PACE_WALLOPS wallops is not a substitute for a channel -Dianora

version hybrid-6-b80 * fixed “cannot join” numerics to display full error messages * fixed ERR_BANLISTFULL to include channel name and banid * reject non-RFC channel names from clients and servers instead of truncating (new numeric 479 coordinated with the other major nets) -Rodder

version hybrid-6-b79 * fixed compile problems if SPLITPONG was undefined * more cleanup * moved TIMEDK’s to broken section of conf -Rodder

version hybrid-6-b78 2-Jun-1999 * renamed mycmp() to irccmp() and myncmp() to ircncmp() -Rodder

version hybrid-6-b77 2-Jun-1999 * more minor cleanup -Rodder * duh. just realized that hostip is now obsolete because of the way IP klines are being done. removing it saves 15 bytes per local client. -Dianora

version hybrid-6-b76 28-May-1999 * make sure mtrie returned aconf is a CONFKILL in sserv.c * take care of ~*@some.host.at.tld case -Dianora

version hybrid-6-b75 26-May-1999 * ‘*’ is not a legal IP. corrected is_address code. * corrected possible buffer overflows in m_knock, m_invite * server auto sets +nt on new channels. * was never setting ip/ip_mask on m_kline ip klines, so ip /quote kline klines needed rehash to take effect. -Dianora

version hybrid-6-b74 19-May-1999 * backed out incorrect change in dlineconf.c * Corrected sendtoops in send.c that was recursive in sendq errors, this one could have restarted server in infinite loop. (Raistlin Mejere) * Using variant of soleil’s isaddress() code * Fixed handling of kline/dline in sserv.c sbsd.c sconf.c -Dianora

version hybrid-6-b73 15-May-1999 * attempt to workaround 64bit Solaris gcc-2.8.1 bug * more compile cleanup for obscure config options -Rodder

version hybrid-6-b72 15-May-1999 * don’t allow SJOIN to & local channels.
* restored hybrid-5 mnames code
* Fixed send.c to be rfc compliant. * kick of client who joined through a ban due to a +e, has +e removed by server * misplaced returns in mtrie
conf.c fixed.
-Dianora

version hybrid-6-b71 12-May-1999 * corrected mtrie_conf.c problems * added stats o flags -Dianora

version hybrid-6-b68 10-May-1999 * corrected a few missing tests in mtrie_conf.c -Dianora

version hybrid-6-b68 8-May-1999 * more cleanup * RedHat 6.0 / glibc fixes * Y2K fixes. All dates that were YYMMDD are now YYYYMMDD. Affects SEPARATEQUOTEKLINESBYDATE and GLINE code. * SEPARATEQUOTEKLINESBYDATE wouldn’t compile -Rodder

version hybrid-6-b67 9-May-1999 * fixed broken LIMIT_UH code -Dianora

version hybrid-6-b66 8-May-1999 * Added TESTLINE looks for given user@host,ip returns info on any found I line or K line for that user. * found and fixed major IP kline bug. * O lines can have an optional flags field, to set default oper flags
-Dianora

version hybrid-6-b65 8-May-1999 * changed ANTIDRONEFLOOD and JUPE_CHANNEL to undeffed by default * servers and opers can no longer trip the drone detection -Rodder

version hybrid-6-b64 8-May-1999 * code clean-up… -Rodder

version hybrid-6-b63 6-May-1999 * SPYLEVEL notices for clients attempting to join juped channel * sendtorealop notices when mode +/-j #channel is used -Dianora

version hybrid-6-b62 4-May-1999 * Added ANTIDRONEFLOOD code
* Added Channel jupe code, Q line of form Q:#channel:reason jupes that channel locally only on this server. * ‘|’ character in kline reason stops everything afterwards from being seen by non opers. -Dianora

version hybrid-6-b61 2-May-1999 * fixed major bug in mtrie code. I lines would be treated as K lines in some cases. 2-May-1999 -Dianora

version hybrid-6-b60 29-Apr-1999 * if server split time is 0, i.e. split code is disabled, dont’ put the server into split mode, this can leave 0 member channels lying around after a split. * recoded NOJOINON_SPLIT, all cleaned up.
-Dianora

version hybrid-6-b59 17-Apr-1999 * missing ac2ptrisNULL check in m_ltrace -Rodder * if client is being spoofed in I line, don’t show real IP to non opers in trace or stats L * consistently use 127.0.0.1 for spoofed/oper ip’s
-Dianora

version hybrid-6-b58 17-Apr-1999 * SOLARIS7 64bit USERS: this code appears to tickle a bug in gcc and egcs ONLY on 64-bit Solaris7. You must compile on a 32bit kernel, then you can run the ircd binary on 32bit or 64bit. Or reinstall your ircd machine as 32bit. Or buy SunPro C. * Created NOJOINONSPLITSIMPLE. Totally disables the JOIN command for non-opers while split. Doesn’t care if the channel existed “before” or not. * server notices are sent to +s clients when entering or leaving “split-mode” -Rodder

version hybrid-6-b57 28-Mar-1999 * integrated ChangeLog with README.hybrid * updated Hybrid-team and version.c.SH to reflect the current core team * updated INSTALL file to match current installircd script * updated all Makefiles with new makedepend info
* massive cleaning of the doc subdir * changed defaults in config.h for public consumption * install
ircd now installs viconf and mkpasswd * added a couple of ifdefs to help compile under cygwin32b20.1 * added simple.conf to doc directory * fixed rcsversion string in mtrieconf.c and sdebug.c * added SPLITPONG… sends a PING at the end of mserverestab(), checks for PONG from a server before resetting serverwassplit. * commented out malloc-2.6.1 in Makefile.in. There is a doublefree somewhere, which most system mallocs can handle, but this one can’t. * updated minfo in sserv.c to include all the new defines in config.h -Rodder * fixed mtrie_conf.c kline code -Dianora

version hybrid-6-b54 23-Mar-1999 * rewrote kline code (mtrie_conf.c), no more reverse, its faster now and … works * no more arbritray spoofs. too many complaints, it spoofs as oper.server.name now -Dianora

version hybrid-6-b54 19-Mar-1999 * fixed SLAVE_SERVERS in LOCOPS -Dianora

version hybrid-6-b53 17-Mar-1999 * fixed misplaced #ifdef’s and } causing undef’ed ANTISPAMBOTEXTRA to fail in sserv.c suser.c -Dianora * optimization in can_send() in channel.c -orabidoo

version hybrid-6-b52 15-Mar-1999 * userlength oopsies with usernames * added fix by comstud to smisc.c removedependents() unnecessary WALLOPS -comstud/orabidoo * fixed mtrie_conf.c bugs * added ip to /trace (help with virtual host cloners) -Dianora

version hybrid-6-b51 11-Mar-1999 * added WHOISWAIT to info output -Rodder * was using idented username instead of ~ name for unidented clients caused weird bug. sconf.c attachIline() * clients with > I line were still being limited by client per IP limits. * had BUFSIZ instead of BUFSIZE in strncpy() in sserv.c broke munkline * fixed “Bad Nick” problem. was harmless but stupid. users who used a nick beginning with ‘~’ would trigger this one. Had Q line code in slightly wrong place. suser.c mnick() * fixed truncation for username, affects k-lines both unidented, idented. suser.c registeruser() * Added sendtorealops notification of spoofed IP’s. should be SYSLOG or logged, for proper backtracking if necessary IMO * fixed CLUSTER code, still needs thorough testing. s_serv.c send.c -Dianora

version hybrid-6-b50 24-Feb-1999 * reportspecials was showing aconf->host not aconf->user * return ERRTOOMANYTARGETS if privmsg is used with multiple targets -Dianora

version hybrid-6-b49 19-Feb-1999 * botch with POLL code fixed, forgot to test it on solaris after adding back fdlist code sigh -Dianora

version hybrid-6-b48 19-Feb-1999 * allow all opers to see stats c IP’s * added two more examples to Q lines, crush and cwush * added fix from syrk (Christophe Kalt) in res.c -Dianora

version hybrid-6-b47 * oops I don’t know what happened to this one, but irc.colorado.edu is running this one oops.

version hybrid-6-b46 15-Feb-1999 * put fdlist code back in. Ok, I goofed. mea culpa. * #ifdef USE_SYSLOG missing in ircd.c * Ultrix’ed the Makefile.in as per Ian -Dianora

version hybrid-6-b46 15-Feb-1999 * FASTFDISSET was causing the high CPU, sigh ok ripped out for now * Fixed buffer overflow problem in munkline() sserv.c, if a long long kline was in the kline.conf file, it cored the server. (reported by Phisher) -Dianora

version hybrid-6-b45 9-Feb-1999 * may as well use the same numeric for not being able to join a channel as ircnet uses changes to channel.c, serr.c, serr.h, numeric.h * added small net user count to split end detection * removed lame sleep() * try non blocking reads of all connected servers, local opers then read_message() -Dianora

version hybrid-6-b44 2-Feb-1999 * remove trailing white space on H/L lines (just for Gersh) * (sbsd.c) fixed a botch with rr = 0 causing bizarre behaviour under solaris (ping time outs etc.) due to a mis-cut and paste from the select code * (sbsd.c) redid readpacket() to use msgready again * (sbsd.c) removed unnecessary defaultreadset defaultwriteset, that was a remnant from a failed experiment with pre-set up fd set’s, it was just slowing down the code for no reason. * (smisc.c) redid getclientname() slightly to be consistent, idented names should not have ~ non-idented names should have ~ lets not be inconsistent with (+) prefixes for idented names -Dianora * changed example.conf to remind people to have their virtual address in the M: line for outbound connects * fixed the STATSNOTICE invalid directive. made it #define by default. -FlashMan * channel has to be +ip to show invite notices “p is for paranoid and thats good enough for me” too many complaints. I think this is a reasonable way of doing it for now. * sbsd.c moved some code around in in connectinet() to remove a redundant if(specificvirtualhost). Also moved the error check on socket open logically where it should be. * fixed the USEFASTFDISSET botch I introduced, corrected an unforseen error thats been there for a while. * added a little more useful information in the bug report in blalloc.c I added a report of what size of block is being freed. * I added a horrible kludge to ircd.c/struct.h to bit mark clients that have already been exited. It appears that somehow, the same client is being examined twice and exited twice =occasionally= Because of the block allocator, its safe to check the bit after free kludge I really didn’t want to admit I coded that. * Don’t allow non local opers to see spoofed I lines. -Dianora

version hybrid-6-b43 24-Jan-1999 * reworked ioloop dropping CPU load significantly, this is still something that needs to be looked at. * allow stats p even if LTRACE is defined, its habit for users even if it is redundant. * I liked WINTRHAWK RPLTRACESERVER report, so thats now the default. * Added a test in DEBUGMODE to ensure fd == 2 was never read. This won’t happen with select() read, but can if read_messages is called directly. Might as well be paranoid about it now. This one caused ircd to abort when compiled with DEBUGMODE in b42 -Dianora

version hybrid-6-b42 24-Jan-1999 * removed [IP] being sent in CONNECT in connect burst * removed [IP] if seen in m_links from prying eyes of users -Dianora

version hybrid-6-b41 23-Jan-1999 * removed USERNAMESINTRACE default is always on now * getclientname() will default to sptr->username if sptr->user->username is null * made config.h/config.h.dist consistent again, went back to stock defaults -Dianora

version hybrid-6-b40 21-Jan-1999 * redid minvite for better sanity testing, you can no longer invite users to a non-existent channel for example. * Don’t send SJOIN’s for zero length MODESPLIT channels (Mortiis) * redid msjoin for MODESPLIT channels treat it as a brand new channel * fixed broken NOJOINON_SPLIT to only care about channels that had existed before a split

-Dianora

version hybrid-6-b39 20-Jan-1999 * sanity test mgline parc argument count, older hybrid-5 servers with buggy GLINE can core new hybrid-6 correct GLINE code * Forward the GLINE even if GLINE is not defined on this server. No point having GLINE for opers on a HUB for example, and servers that wish to opt out of others placing GLINE’s can still relay it. * keep a link list of 0 member channels created on a split if PRESERVECHANNELONSPLIT or NOJOINONSPLIT is defined remove all 0 member channels when split heals redid NOJOINONSPLIT to only care about channels that once existed.

-Dianora

version hybrid-6-b38 20-Jan-1999

-Dianora

============================================================================

| Mon Jan 18 00:13:39 PST 1999 Jake Khuon khuon@GCtr.Net |

[1] Added the following options:

IDLE_IGNORE
    When used in conjunction with IDLE_CHECK will prevent the
        server from idle'ing clients connected from the listed IP#s. 
        This should probably be moved into a conf file entry at
        some point in the future.

SEND_FAKE_KILL_TO_CLIENT
    Make the client think it's being KILL'ed.  This was
    originally intended to prevent clients from reconnecting to
    the server after being dropped for idleness.  It can
    probably be used for other events too.  This really only
    works well if the client was compiled with
    QUIT_ON_OPERATOR_KILL which was mandatory policy on
    UMich.Edu hosts.

LTRACE (Limited TRACE)
    Reports only link and oper traces even when O:line is
    active. Displays only Oper, Serv, Link, and Class reports
    even if the O-line is active.  Useful for just showing
    pertinent info of a specific server. Note however that if
    the target server is not running this option then you will
    still receive a normal trace output.  Defining this will
    remove "STATS p" funtionality since the two are basically
    redundant.

LWALLOPS
    This is actually a compatibility command which really calls
    m_locops().

STATS_NOTICE
    Notify opers on STATS request.  Some people find this
    invasive and with the STAT command on PACE throttle the
    server shouldn't suffer but lusers stat for different
    reasons and many times it's been a prelude to some other
    form of attack.  Wrestle with your own morals before
    defining.

SHOW_FAILED_OPER_ID
    If FAILED_OPER_NOTICE is defined, also notify when a client
    fails to oper because of a identity mismatch (wrong host or
    nick)

SHOW_FAILED_OPER_PASSWD
    If FAILED_OPER_NOTICE is defined, also show the attempted
    passwd.  Once again, this may be morally offensive.

WINTRHAWK
    Enable WintrHawk's style of reporting things.  This is most
    evident in TRACE and LTRACE which won't report idletimes
    otherwise.

[2] Bugfixes/changes:

Fixed *_WHEN_SPLIT bug whereby a server was still considered split
even though the network had reached SPLIT_SMALLNET_SIZE (but hadn't
yet surpassed it).

Added capability for defining OPER_UMODES, LOCOP_UMODES, and
DEFAULT_SERVER_SPLIT_RECOVERY_TIME from config.h.

Fixed m_trace() so that it now reports correct idletimes and added
WINTRHAWK styling option.

Updated opers.txt with mod1 commands.

Added a ChangeLog |8^)

Added some code for K-line files but it’s not yet functional

version hybrid-6-b37 13-Jan-1999


+hybrid-6bXX (12/24/1998) * NAMES now only works for a single target * WHOWAS now only works for a single target * For server compiled with NOCHANOPSWHENSPLIT, the server now starts up in the same state as if it was split—not allowing chanops. * U: lines, server cluster lines.. see example.conf (Dianora) * applied a pile of fixes for alphas made by jailbird, Dustin Marquess (jailbird@alcatraz.fdf.net) * non chanops cannot see +e * removed ANTIIPSPOOF (Dianora) * redid semantics of LITTLEILINES. Clients who are i lined can be opped, they can do everything a normal op can do, but cannot op anyone else (Dianora) * removed REJECTIPHONE code and refined X line code (Dianora) * fixed bad dns problem (kalt) * fixed mtopic (Dianora) * fixed mmotd oper notice in the wrong place (Dianora) * fixed mlusers, added sendlusers() (Dianora) * Fixed install script to try to create IRCDDIR if it doesn’t exist * non-opers can now /trace nickname properly (Rodder) * These commands are flood controlled: VERSION, INFO, LINKS, STATS, HELP, LUSERS, ADMIN, MOTD, WHOIS (remote only) * These functions are local-only for non-opers: INFO, LINK, STATS (except ‘p’), HELP * removed pacing from mtime() (Dianora) * fixed remote minfo() for opers (Dianora) * added OPERMOTD code, when oper opers up they get an unique motd (Dianora) * track maximum dbuf usage in stats Z * OS/2 mods from Roger Haskins (nth.tech@iname.com) (Rodder) * sparefd kludge to fix rehash DNS on Solaris (Rodder) * fixed stderr logging (ircd -s) for reporterror() when SYSLOG undef’d (Rodder) * ircd now understands .include “filename” in ircd.conf file (Dianora) * modified configure.in for use with zlib (Rodder) * added CAPAB code, understands EX ZIP QS (orabidoo/Dianora) * reworked setmode() completely in channel.c (orabidoo/Dianora) * privmsg/notice @#channel will send to all chanops * added +e (orabidoo) * Q lines are back, quarantine nick, X line reject gecos info (Dianora) * allow users who are invited to walk through any bans/limits (dr) * disallow class -1 in conf file (dr) * allow mode outside channel to see mode limit (dr) * added knock command to ask for invites to +i channel (dr) * disabled the ability to set a ban including a prefixed colon (Dianora) * added kline matching on ip (CIDR) you can now kline user@ip.ip.ip.ip/mask (Dianora/good) * d-line now recognizes CIDR notation as well (Dianora/good) * added ANTISPAMBOTEXTRA (read config.h) added heuristics to catch spambots (Dianora) * added ANTISPAMEXITMESSAGE no quit message from client, if client is less than 5 minutes on irc (ThaDragon) * unkline will unkline temporary klines now as well (Dianora) * added oper priv field in normally unused port field of O line possible flags “ORUGT” K enables, k disables, local kill and kline O enables, o disables, global kill, R enables, r disables, remote operator commands, squit/connect U enables, u disables, unkline G enables, g disables, gline N enables, n disables, the use of umode +n defaults for global O if no flags is OKRUG, for local o, KU with K flags not being shown normally, only k flag (Dianora) * E lines replaced by ^ in front of username in I line * F lines replaced by > in front of username in I line * B lines replaced by & in front of username in I line * “^>&” can be combined with any combination of “+!-” characters (Dianora) * = as a prefix char will spoof that user, see example.conf (Dianora) * will not allow any user with username including ‘!’ ‘*’ ‘?’ or high bit/control characters to user the server (Dianora) * added LIMITUH code (Dianora) * fixed missing USESYLOG in ircd.c (ThemBones) * use Count.local instead of sptr->fd in suser for SET MAX (ThemBones) * reworked serr.c/numeric.h (Dianora) * added hash debug on /quote hash (Dianora) * report user doing /motd, removed STATSFLAG (Dianora) * added delay between motd requests (Dianora) * fixed REJECTHOLD code, fripping backwards if (Dianora) * added +-! special I line prefix character ($ is not applicable to hybrid) (comstud/Dianora) * ripped out dichconf replaced with mtrie_conf (Dianora) * added /quote set autoconn ALL 0/1 enable/disable autoconns * added /quote set autoconn servername 0/1 enable/disable this server or /quote set autoconn ALL 0/1 enable/disable all autoconns (Dianora)


see doc/ChangeLog.old for changes in older releases

+hybrid-5.3 (6/13/98) * added NOCHANOPSWHENSPLIT code back in (Rodder/Dianora) * fixed SEPARATEQUOTEKLINESBYDATE so it compiles (Rodder) * removed LITTLEI_LINES from config.h for now (Rodder) * should compile on Linux/glibc now (Rodder)

+hybrid-5.2p1 (5/12/98) * removed uneeded variable in aClient (Dianora) * added missing #ifdef’s for USESYSLOG (Dianora) * reverted to old checkpings() to fix high cpu usage (Rodder) * fixed DEBUGMODE (Dianora)

+hybrid-5.2 (4/21/98) - The inevitable bug fix release -fixes * changed many of the defaults in config.h * removed identfdlist it was never used anyway (comstud) * fixed quote kline for 10 character user names (Dianora) * obscure bug with KICK message in a desync channel situation (Dianora) * bug with max channel name fixed (comstud/Dianora) * stop spam from links command i.e. beeps (Dianora) * bug with default +i not showing MODE to user initially (Rodder) * ANTIIPSPOOF moved to “broken” section of conf (Rodder) * ident lookups now work properly for all interfaces of multihomed (or “VIF“‘d) machines, including Solaris 2.6 (Rodder) * stats l/L no longer shows -i clients to non-opers (Rodder) * exorcised evil timedelta variable * Fixed oper wallops broadcasting instead of routing (Dianora) * Covered up bogus “Got Ident” messages in readauthports() (Rodder) * Fixed missing RPLENDOFTRACE for non-opered clients (Dianora) * #undef IDLEFROM_MSG fixed, ping/pong/ison do not reset idle time (Dianora)

-feature adds * bumped HTM code to not kick in until 40K/s by default * stop people from laming up the kline conf file with # in comment (Dianora) * added comstuds SEPARATEQUOTEKLINESBYDATE * use block allocator in FLUD code (Shadowfax) * added HTM quiet or HTM noisy option — see NOISYHTM in config.h for initial setting (Dianora) * added LOCOPS, each type of wallops/operwall/locops is now flagged (Dianora) * added signon time to RPLWHOISIDLE (Dianora) * allow local opers to see kills requested by riss (Dianora) * added ANTISPAMBOT code, read config.h (Dianora) * added fixklines to tools dir, use it to check kline.conf for #’s inside of K-line comments (Dianora) * added OLDYLIMIT in config.h.dist to go back to old Y/I line behaviour (Dianora) * M: line passwd field now used to specify address to bind to on machines with multiple interfaces. (Rodder) * P: line passwd field now used to specify address to bind to on
machines with multiple interfaces. (Rodder) * added /quote set SPAMNUM SPAMTIME to control ANTI
SPAMBOT behaviour (Dianora) * hybrid option flags removed from mversion and replaced by (for opers) full listing of server defines in minfo (Rodder) * poll() code mods ported from CSr30 (comstud) by cbongo * mwhois() rewritten to use hash table when possible (Dianora) * spambot sign on code added (ThemBones) * i line (LITTLEILINE) support, restricted i lines (Dianora) * NOCHANOPSWHENSPLIT delays channel hacking until rejoin (Dianora) * ANTISPAMBOT on sign on code (ThemBones) * only allow 4 kicked nicks per kick (Dianora) * sped up kline processing, redid checkpings in ircd.c (Dianora) * Server now checks for sane TS when connecting to other server, see TSMAXDELTA and TSWARNDELTA in config.h (Rodder) * Server checks for backwards spinning clock and complains if found (Rodder) * Check for error when timeofday is set (Shadowfax) * Announce TS changes after TS induced deops (Shadowfax) * stop redistributing away information to other servers * Prepared for TS4 mixed net by checking validity of channel mode changes only at the local server (orabidoo)

+hybrid-5 (9/26/97) * LOTS AND LOTS OF CHANGES IN CONFIG.H * reorganized source tree, eliminating common subdir * reworked hash.c (Dianora) * reworked parse.c, tree prefix command lookups (Dianora/orabidoo) * all code is now function prototyped (Dianora) * improved bad host/nick handling, i.e. dns spoofers (ThemBones) * sped up sendumodeout in suser.c (ThemBones) * sped up whowas processing, removed away from whowas (Dianora) * redid mkline/cluster in sserv.c (Dianora) * redid dline/kline handling (Dianora/Rodder/ThemBones) * removed lame #ifdefs in poll() (Dianora) * always defined DLINES/ELINES/FLINES (Dianora) * TSONLY server now (Dianora) * cleaned up sauth.c (Dianora/ThemBones) * changed BANINFO handling (Dianora) * sanity testing in res.c (Dianora) * added orabidoo’s scache code (orabidoo/Dianora) * added KLINEWITHREASON kline reason on klines/connects (Dianora) * added NONREDUNDANTKLINE code (Dianora) * added ANTIIPSPOOF code (Dianora) * added temporary kline code (Dianora) * added Jolo’s block allocator into list.c (Jolo/Dianora) * added ANTINICKFLOOD code (Dianora) * removed UNIXPORT code (Dianora) * removed lame unused code in match.c (Jolo) * corrected many type errors, ran through purify (Jolo) * removed unused variables (Dianora) * folded in Shadowfax’s FLUD code (Shadowfax/Dianora) * folded in Shadowfax’s LOCKFILE code (Shadowfax/Dianora/Rodder/ThemBones) * added optional GLINE code (Dianora) * stats K now works for normal users (Dianora) * quote UNKLINE code as a option added (Dianora/common) * Reworked ACKPATCH, removed ONE kludge and use confeq field of Y instead, used hash table of ip’s (Dianora) * removed UNIXPORT support (Dianora) * added support for oper WALLOPS back in. Use /quote OPERWALL to send operwalls. * reworked version.c.SH to track build number (Rodder) * make clean removes more junk (Rodder) * added check for adequate FDSETSIZE * created tools subdir (Rodder) * added “Unauthorized connection” back in, under umode +c (Dianora/Rodder) * modified autoconf for Solaris 2.6 (Rodder) * modified LUSERS to ignore masks (Rodder) * fixed mysterious exit() in fdlist.c from fd leak in s_auth.c (Dianorans) * fixed overrun bugs in res.c (Dianora/Johan/Shadowfax)


+hybrid-4.3 (8/19/97) - more bug fixes * typo that caused immediate crash on HPUX fixed * IP/hostname mismatch code fixed, warns the user instead of opers * typo fixed in missing klinefile error message

+hybrid-4.2 (8/4/97) - minor bug fix, one new feature * rcs version string was clobbering server version string * Bans can now match by IP for hosts that resolv (db) IPBANALL define added to config.h

+hybrid-4 (7/28/97) * LOTS OF NEW STUFF IN CONFIG.H, GO READ IT!! THE WHOLE THING!! EVEN IF YOU ARE UPGRADING TO THIS FROM A HYBRID-4 BETA!! * patch for yet another NICK bug * patch for m_server() bug * patch for TS3 bug * switched to GNU autoconf (thanks ns!) * WALLOPS now only go to real opers * ircsprintf() mod to check for NULL args (db) * fixed possible overflow res.c (db)

seperate klines file - see config.h (db)

changed output of STATS D


+hybrid-3 (6/17/97): * Added USRIP command. This command returns user@ip in a USERHOST reply for local clients only. Requests for remote nicks are treated as though the nick doesn’t exist. * Switched to Dianora’s faster dichconf.c * Check for invalid characters (see RFC1035) in hostnames * Fixed problem with coring due to invalid hostnames on non-local users * TSora version 3 * Turned DLINE support back on * Numerous changes to Config script, may actually work now * Additional OS defs in Makefile * Minor cleanup in include/config.h

created new INSTALL document


+hybrid-2 (4/12/97): This is ircd2.8/th.v5a.3 with the WHO, WHOWAS, and IsMember() code from Comstud’s irc2.8.21CSr29. Please send email to Jon Lusky lusky@vol.com if you find problems with it.

Relevant excerpt from irc2.8.21+CSr29/README.CS: 3) /whowas code totally rewritten. This code is better than Avalon’s ever was. You can now raise NICKNAMEHISTORYLENGTH in config.h to a value that makes sense with today’s number of clients. Without rewriting, you could expect server lockup, mostly during splits. These changes should lower CPU usage quite a bit, especially during splits. 4) /who code tweaked. IsMember() = CPU hog…IsMember() has been changed and mwho does less finduserlink()s now…much less. This is a big reducer of CPU usage. Also another “bug” was removed from mwho that can possibly cause server lockups. The possibility still remains, though…not sure how to improve it further without totally breaking /who. 5) This goes with #4, but… /who nickname was optimized tremendously. However, this breaks /who if you do /who username and username happens to match a nickname. Oh well…too bad.


+hybrid-1 never really existed