[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 *** 20000824_2 by lusky - changed Q:line behaviour for NICKs to just return ERR_ERRONEUSNICKNAME *** 20000824_1 by lusky - server_estab() - 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 *** 20000820_1 by lusky first shot at fixing a really old bug with USE_POLL 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 *** 20000809_2 by lusky changed the sendto_ops to sendto_realops for dupe gline votes (gp) add G to the version flags to indicate G-line capability (gp) *** 20000809_1 by lusky revved patchlevel to rc4 syslog() format fix (wnder) mod to clean_string() to display ctrl chars as \xxx *** 20000719_1 by lusky fixed check for valid chars in m_links() fixed high char handling in clean_string() (db) fix for core on malformed O/o line (db) fixed a buffer size in m_server() 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 *** 20000621_1 by lusky revved patchlevel to rc1 fixes for ip_ilines (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) *** 20000608_2 by lusky FLAGS_LOCOP was missing from ALL_UMODES, preventing +O from being displayed in a user's mode. show_users() 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 *** 20000606_2 by lusky check for bogus NICK from peer server in m_nick minor fix for some notices in m_stats and m_oper (mh) *** 20000606_1 by lusky typo in m_message causing infinite loop *** 20000525_1 by lusky revved patchlevel to b127 added logging to ts_warn() log prefix of NICKs without TS *** 20000516_3 by lusky fixed a strncpy() (db) *** 20000516_2 by lusky reworked vsendto_one() again (pa) another fix to the llist fix (db) *** 20000516_1 by lusky revved patchlevel to b126 missing va_start/end in send.c (db) additional llist logging (db) *** 20000514_1 by lusky workaround in client.c for major bug causing llist corruption and server coring vsendto_one cleanup in send.c *** 20000423_1 by lusky revved patchlevel to b125 fixed to s_conf for DEBUG mode (db) config.h comments for CUSTOM_ERR updated (db) syncd config.h.dist to config.h *** 20000421_1 by lusky cleanup prototypes in s_bsd.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 *** 20000410_1 by lusky chan mode +p/+s fix (ejb) use MAX_SETBACK_TIME for threshold of clock jump--now 1800secs (db) unneeded va_end() 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 *** 20000131_2 by lusky revved patchlevel to b120 dropped TS_MAX_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) *** 19991228_1 by lusky split m_list.c away from channel.c its getting too silly ALL paced commands should give RPL_LOAD2HI if its a local client request. Its not going to flood off the user... Hence, I have added RPL_LOAD2HI to m_list.c splitting it from channel.c (db) optimized the patch I did for USE_IP_I_LINE first.. not thoroughly tested. (db) resync_channels was just a waste of time. If the clock goes that far off, restart the puppy. (db) *** 19991227_1 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 USE_IP_I_LINE_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) *** 19991115_2 by lusky added USE_LOGFILE to config.h added MFLAGS to toplevel Makefile.in so I can do parallel makes *** 19991115_1 by lusky add fix for logging, if you define USE_LOGFILE, 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 *** 19991113_1 by lusky rewrote the way chanwall was being handled, by moving where the varargs code had to be used (db) m_userhost 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) *** 19991017_1 by lusky revved patchlevel to b111 commented about NO_JOIN_ON_SPLIT 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) *** 19991013_5 by lusky revved patchlevel.h to b110 fixed m_ison 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 *** 19991013_1 by lusky revved patchlevel to b109 fixed botched wild card matching for K/I lines (db) added INIT_LOG_LEVEL to config.h *** 19991011_1 by lusky cptr->fd is <0 in some cases when its being used in send.c (db) *** 19991010_1 by lusky fixed bogus strncpy in s_conf.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 *** 19990909_1 by lusky revved patchlevel to b106 fix return values for client_dopacket and dopacket (th) m_links check for local client instead of connect *** 19990908_2 by lusky revved patchlevel to b105 cleanup m_userhost fix *** 19990908_1 by lusky changed 302 reply back to -5 form to fix userhost *** 19990907_4 by lusky more dbuf fixes (th) check in send_message() 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 *** 19990907_1 by lusky disallow ':' in fix_key_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) *** 19990826_1 by lusky turned on ANTI_DRONE_FLOOD by default sync'd config.h.dist include class.h in m_message.c bumped patchlevel to b101 *** 19990825_2 by lusky changed a strncpy to DupString in s_conf.c (db) *** 19990825_1 by lusky bumped patchlevel.h to b100 more kill path fixes (db) m_oper fix for local oper flags (db) ReadMessageFile stat fix (db) cleanup of tools/Makefile.in (jl) *** 19990819_1 by lusky call release_client_dns_reply 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. *** 19990817_2 by khuon Ugh! Seems sendto_prefix_one() accepts different args now. *** 19990817_1 by lusky fixed LIMIT_UH and IDLE_CHECK which were using old structs revved patchlevel to b99 *** 19990816_1 by lusky removed redundant "New highest connections" server notice fixed SYSLOG_USERS 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) *** 19990811_1 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 s_bsd.c neglected to detach_conf for umode -o (jl) *** 19990810_1 by lusky revved patchlevel to b96 fixed bug with NO_JOIN_ON_SPLIT on a coldstart FLAGS_SPY was being checked against old flags in m_whois, 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 *** 19990809_2 by lusky remove check from configure, assume exists (sw) cleaned up attach_Iline some more (db) *** 19990809_1 by lusky bumped patchlevel to b95 removed unneeded arg to attach_Iline and fixed tklines for non-resolving hosts fixes to allow SLAVE_SERVER to work (db) RPL_MYINFO 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 *** 19990805_1 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. user_mode allowed decrement of oper count even if client was not opered *** 19990804_2 by lusky bumped patchlevel to b92 for new beta snapshot *** 19990804_1 by lusky fix for IP Klines in stats from Diane fix for broken m_unkline.c from Diane it would unkline everything fix for lusers from Tom *** 19990803_2 by lusky bumped patchlevel for new tarball *** 19990803_1 by lusky changed all occurances of USE_ALLOW_OP to NO_CHANOPS_WHEN_SPLIT 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 *** 19990802_1 by lusky fixed 216 reply bug in mtrie_conf.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) - setup_signals just before init_sys 1999/08/01 (tomh) - remove uneeded checks in configure.in 1999/08/01 (tomh) - move dbuf_init after init_sys 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 m_dies 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 s_bsd.c bug fix 1999/08/01 (lusky) - added missing define for INADDR_NONE 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 m_mode 1999/07/31 (tomh) - sketch log interface 1999/07/31 (tomh) - restart instead of exit on clock fail 1999/07/31 (tomh) - new s_log, 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 s_user.c oops. removed m_kill which - is now in m_kill.c 1999/07/31 (db) - removed global kills of nick collides, let each server handle it itself 1999/07/31 (db) - moved m_message/m_notice/m_private into m_message.c - moved more stuff from struct.h to m_message.c - rebuilt .depend 1999/07/31 (db) - moved m_kill out of s_user.c 1999/07/31 (db) - moved m_ison out of s_user.c - cleaned up m_ison - fixed botch in parse.c 1999/07/31 (db) - moved MATCH defines from m_message.c into send.h, they are needed in send.c 1999/07/31 (db) - m_userhost.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 add_ip_Iline yet. not until its thoroughly tested. SO, #if 0 out - in dline_conf.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 m_command 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 get_client_name 1999/07/30 (db) - split userhost out of s_user.c, its soooo broken, but committed for now 1999/07/30 (db) - split m_quit.c out - corrected m_set.c for NO_JOIN_ON_SPLIT cases 1999/07/30 (db) - removed usrip - moved pieces of m_user.c into m_away.c, m_ison.c, m_oper.c m_ping.c m_pong.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 m_whois.c 1999/07/30 (db) - moved m_who to m_who.c 1999/07/30 (db) - moved ban struct from struct.h to channel.h 1999/07/30 (db) - moved FLUD code from s_user.c into flud.c/flud.h 1999/07/30 (db) - added proper header on flud.h 1999/07/29 (tomh) - new m_commands 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) - conf_counter 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 = serv_cptr_list; cptr2; cptr2 = cptr2->next_server_client) - loop referencing acptr. - someone verify that the logic makes sense there. 1999/07/29 (sean) - fixed logic in m_trace 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 deliver_it protoype to s_bsd.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 deliver_it to s_bsd.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 find_channel() in channel.c, use hash_find_channel. - 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 try_connections to s_serv.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 num_bed = 0 when all bans/exceptions/denies are cleared out 1999/07/27 (db) - removed USE_FD_ALLOC - 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 bed_count when removing a +e due to kick - quietly ignore error in removing empty channels 1999/07/27 (db) - don't forget to decrement num_bed when deleting ban entries. - Bad Sean. bad bad bad. no cookies for you, straight to bed! 1999/07/26 (tomh) - new functions for s_conf 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 is_banned() 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 (mbuf_new, pbuf_new --> mbuf_newer, pbuf_newer) 1999/07/26 (db) - use prototype already present in s_misc.h 1999/07/25 (tomh) - update .depend 1999/07/25 (tomh) - untangle m_commands 1999/07/25 (tomh) - new file m_pass start untangling m_server 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 m_gline.h 1999/07/25 (db) - moved aConfItem defs from struct.h to s_conf.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 NO_LOCAL_KLINE 1999/07/24 (wnder) - removed #ifdef for obsolete R_LINES (CONF_RESTRICT 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 add_banid/add_exceptionid since this causes duplicate bans on channels after a split+rejoin - finished add_denyid. this is case sensitive. - modified is_banned() to check for +d stuff as well.. precedence is now +b, +d, +e (+e overrides +b and +d). - added num_bed to channel structure to track total number of bans+exceptions+denies on the channel instead of counting each time 1999/07/24 (sean) - added num_bed 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) - m_info.c is much much cleaner now. added m_info.h dependency to .depend. 1999/07/23 (wnder) - branches: 1.1.2; - file m_info.h was initially added on branch 1.27. 1999/07/23 (wnder) - Totally redid m_info.c - all the ugly #ifdef stuff removed. m_info.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 m_info.c - got rid of all the ugly #ifdef stuff. m_info.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 get_maxrss 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 : CAP_DE) 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 is_banned().. 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 s_numeric.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 NO_JOIN_ON_SPLIT 1999/07/23 (db) - channel.c needs config.h - moved externs from s_user.c into channel.h - made whowas variable static 1999/07/23 (db) - There is no more RFC1035_ANAL 1999/07/22 (tomh) - work on socket code 1999/07/22 (tomh) - rename FLUSH_BUFFER to CLIENT_EXITED 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 USER_C 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) - s_rehash should always be defined no? - instead of calling is_chan_op() has_voice() separately, return both found - bits at once using user_channel_mode(), this is a slight win - for m_whois(), set_mode() 1999/07/22 (db) - oops forgot s_misc.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 s_bsd.h channel.h s_misc.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 m_gline.h, scache.h , moved more stuff from h.h - 1.27: 1.1.0.2 1999/07/22 (db) - built m_gline.h, scache.h , moved more stuff from h.h 1999/07/22 (db) - added user_channel_mode, 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 bad_tld completely, reworked m_gline.c m_kline.c (sidewnder) 1999/07/21 (db) - oops 1999/07/21 (db) - more prototype and header fixing, added s_user.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 valid_hostname give user the sockhost as their hostname, whine - gently to the user. 1999/07/21 (db) - added sidewnders m_kline.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 clean_channelname, rename check_channel_name 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) - hash_get_channel_block() added so that we can get our fingers into the tables from outside of hash.c 1999/07/20 (sean) - hash_get_channel_block() 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 FLAGS2_SENDQ_POP. 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 s_conf.c which is the only place its used - removed duplicate prototype from h.h , it was in dline_conf.h already - send.c needs s_zip.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 s_zip.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 res_ourserver 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 sprintf_irc 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 strncpy_irc 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 u_mode 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 m_mode 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 strncpy_irc 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 off_history() - moved initwhowas() into whowas.h - added #include "whowas.h" to s_user.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 include added irc_string.h include 1999/07/18 (db) - re-arranged oper_flags, they now have their own int to play in 1999/07/18 (db) - prettied up shows_ports - fixes in s_err.h s_err.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. show_servers only used by s_serv.c moved from s_misc.c - to s_serv.c 1999/07/18 (db) - more cleanups on h.h, - removed functions not even defined anymore, such as find_service... - moved channel definitons into channel.h where they belong 1999/07/18 (db) - major changes to get rid of sendto_realops_lev - still bug in m_umode code oops. 1999/07/18 (db) - interim checkpoint - sendto_ops_lev is gone now, replaced with sendto_ops_flags - 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 sendto_ops_flags sendto_realops_flags in preparation for - removal of sendto_ops_lev and sendto_realops_lev. I've been meaning - to do this one for ages. 1999/07/18 (db) - fixed missing irccmp in s_serv.c - m_umode 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 m_kline.c 1999/07/17 (db) - unopered client doing stats o cored server. ooops. 1999/07/17 (db) - rodder's fix + mine for get_client_name 1999/07/17 (db) - removing sys.h and testing as I go.. hi ho... 1999/07/17 (db) - removed sbrk() in ircd.c and s_debug.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 dline_conf.c for removing sys.h 1999/07/17 (db) - my bad. - fixed prototype in s_conf.h - fixed typo of password for passwd in s_conf.c 1999/07/17 (db) - moved write_pidfile from s_bsd.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 show_opers from s_misc.c to s_serv.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 m_kline.h 1999/07/17 (db) - fixed prototype for safe_write() 1999/07/17 (db) - fixed const char * problem in m_unkline.c 1999/07/17 (db) - fixed #includes 1999/07/17 (db) - corrected type casting problems, mainly const char * - moved prototype for safe_write into s_conf.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 s_conf.c 1999/07/17 (db) - added more memory count debug info to s_debug.c - removed some unused variables in viconf.c 1999/07/17 (db) - added code to s_debug 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 HAVE_GET_RUSAGE, 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 send_usage() into s_debug.h 1999/07/16 (db) - optimized get_conf_name - 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 s_conf.h 1999/07/16 (db) - cleaned up dline_conf.h, s_conf.c was not using prototypes from header 1999/07/16 (db) - 1024 should be PATH_MAX , 1024 is a remnant of the original mess in m_kline 1999/07/15 (tomh) - removed extra free_class in free_conf 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 m_kline, moved conf file writing from m_kline into s_conf.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 m_kline.c, probably should add extra sanity test there - REDUNDANT_KLINES 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 conf_connect_allowed() 1999/07/15 (db) - #include needed for memset() 1999/07/14 (db) - rewrote send.c to use undernet sprintf_irc, - redid any %ld as %lu to take advantage of new sprintf_irc 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 sprintf_irc 1999/07/13 (tomh) - new file work in progress, cleanup s_bsd a little 1999/07/13 (tomh) - cleanup error handling in s_bsd, work on listener in progress 1999/07/13 (tomh) - cleaned up DEBUGMODE for hash_find_server 1999/07/13 (tomh) - GPL + copyright for fileio.h 1999/07/13 (db) - removed ircsprintf() - added undernet's sprintf_irc, renamed entry point to ircsprintf() - modified sprintf() to use ircsprintf() where possible 1999/07/13 (db) - oops. had a missing continue in sprintf_irc.c 1999/07/13 (db) - couple of cleanups, removed BOOT_QUICK BOOT_OPER, moved - send() definitions from struct.h to send.h 1999/07/13 (db) - cleaned up conf file handling, handled by read_conf_files() 1999/07/13 (db) - bug in opers@server code fixed 1999/07/12 (tomh) - removed log file as a client, BOOT_INETD BOOT_AUTODIE, cleanup rcs tags 1999/07/12 (tomh) - removed log as client, BOOT_INETD, BOOT_AUTODIE, 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 flush_cache, it was wrong and not needed 1999/07/11 (tomh) - removed flush_cache 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 release_client_dns_reply 1999/07/11 (tomh) - HARD_FD_LIMIT? 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 m_user 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 SHORT_MOTD - fixed some spelling mistakes in comments in send.c tsk tsk 1999/07/11 (db) - corrected BOTCHECK code - corrected FLAGS2_OPER_FLAGS 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 s_auth.c, fixed broken ip check code in s_bsd.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 ts_val to time_t, looks like a duck - quacks like a duck... 1999/07/08 (tomh) - chage ts_val to time_t 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 install_ircd 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 USE_VARARGS (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 s_conf.h 1999/07/08 (db) - fixed botch in s_user.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 s_user.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 get_sockhost to set_client_sockhost 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 IRCD_MIN IRCD_MAX 1999/07/07 (db) - last of Sidewnders autoconf changes 1999/07/07 (db) - fixed two problems with auth code in s_bsd.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 s_auth.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 mtrie_conf.c anymore 1999/07/05 (db) - fixed msg.h to account for no more OPER_REHASH etc. - no more ANTI_IP_SPOOF 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 delete_resolver_queries when there are outstanding requests 1999/07/04 (db) - rudimentary error checking in s_conf.c, flag non 0 classes that - default to class 0 1999/07/04 (db) - fixed stupid typos in s_conf.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 check_fdlists, IsOper(cptr) should be IsAnOper(cptr) - local opers would never go on busycli_fdlist 1999/07/02 (db) - m_admin 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 - s_conf.c of ircd itself. chkconf.c was always out of date anyway. 1999/07/01 (db) - removed ANTI_SPAMBOT_EXTRA too much CPU for too many false positives 1999/07/01 (db) - more removal of globals, this time in m_htm 1999/07/01 (db) - combined all the split options into NEED_SPLITCODE in config.h 1999/07/01 (db) - bunch of changes to get rid of global m_set 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 FD_SET for - default_fdlist and simply using that FD_SET in select() (similar for POLL) - then the select() loop becomes a memcpy() of default_fdlist FD_SET - this would also imply dns/ident fd's enter and leave the default_fdlist - 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 m_gline.c m_kline.c - removed global definition of add_gline() in h.h 1999/06/29 (tomh) - cleaned up attach_iline 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 m_gline.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 m_set parser with code from slowaris rjp@wpmedia.com 1999/06/27 (db) - redid how klines/glines were done - cleaned up yet again, s_user.c 1999/06/27 (db) - patchlevel needed upping - redid s_user etc. some more to handle bans better, and REJECT_HOLD 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 register_user some more 1999/06/26 (db) - removed more "noise" from config.h - removed IDENTD_COMPLAIN completely, as same functionality can be - done with I line flags now - simplified rights test in m_kline() - 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 s_user.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 m_kline.c this broke klines - testline was reporting ->name instead of user for K lines 1999/06/26 (db) - Yet more s_user.c cleanup blech. will it ever end? 1999/06/26 (db) - Still more cleanups to s_user.c register_user() getting there... 1999/06/26 (db) - Even more clean up in s_user.c register_user 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 s_user.c register_user * 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 s_serv.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 s_serv.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 TIMED_KLINES entirely * fixed stupid in s_conf.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 SPLIT_PONG was undefined * more cleanup * moved TIMED_K'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 CONF_KILL in s_serv.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 dline_conf.c * Corrected sendto_ops 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 is_address() code * Fixed handling of kline/dline in s_serv.c s_bsd.c s_conf.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 m_names 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 SEPARATE_QUOTE_KLINES_BY_DATE and GLINE code. * SEPARATE_QUOTE_KLINES_BY_DATE 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 ANTI_DRONE_FLOOD 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 * SPY_LEVEL notices for clients attempting to join juped channel * sendto_realop notices when mode +/-j #channel is used -Dianora version hybrid-6-b62 4-May-1999 * Added ANTI_DRONE_FLOOD 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 NO_JOIN_ON_SPLIT, all cleaned up. -Dianora version hybrid-6-b59 17-Apr-1999 * missing ac2ptr_is_NULL 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 NO_JOIN_ON_SPLIT_SIMPLE. 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 install_ircd 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 rcs_version string in mtrie_conf.c and s_debug.c * added SPLIT_PONG... sends a PING at the end of m_server_estab(), checks for PONG from a server before resetting server_was_split. * 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 m_info in s_serv.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 ANTI_SPAMBOT_EXTRA to fail in s_serv.c s_user.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 s_misc.c remove_dependents() 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 WHOIS_WAIT to info output -Rodder * was using idented username instead of ~ name for unidented clients caused weird bug. s_conf.c attach_Iline() * clients with > I line were still being limited by client per IP limits. * had BUFSIZ instead of BUFSIZE in strncpy() in s_serv.c broke m_unkline * 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. s_user.c m_nick() * fixed truncation for username, affects k-lines both unidented, idented. s_user.c register_user() * Added sendto_realops 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 * report_specials was showing aconf->host not aconf->user * return ERR_TOOMANYTARGETS 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 * FAST_FD_ISSET was causing the high CPU, *sigh* ok ripped out for now * Fixed buffer overflow problem in m_unkline() s_serv.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, s_err.c, s_err.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) * (s_bsd.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 * (s_bsd.c) redid read_packet() to use msg_ready again * (s_bsd.c) removed unnecessary default_read_set default_write_set, 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. * (s_misc.c) redid get_client_name() 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 STATS_NOTICE 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. * s_bsd.c moved some code around in in connect_inet() to remove a redundant if(specific_virtual_host). Also moved the error check on socket open logically where it should be. * fixed the USE_FAST_FD_ISSET 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 io_loop 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 RPL_TRACESERVER 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 USERNAMES_IN_TRACE default is always on now * get_client_name() 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 m_invite 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 MODE_SPLIT channels (Mortiis) * redid m_sjoin for MODE_SPLIT channels treat it as a brand new channel * fixed broken NO_JOIN_ON_SPLIT to only care about channels that had existed before a split -Dianora version hybrid-6-b39 20-Jan-1999 * sanity test m_gline 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 PRESERVE_CHANNEL_ON_SPLIT or NO_JOIN_ON_SPLIT is defined remove all 0 member channels when split heals redid NO_JOIN_ON_SPLIT to only care about channels that once existed. -Dianora version hybrid-6-b38 20-Jan-1999 * bumped version up to b38 * fixed bugs with "reason" code in ircd.c * duplicated config.h to config.h.dist * fixed bug in ircd.c with SEND_FAKE_KILL_TO_CLIENT if IDLE_CHECK not defined * Added new defines to m_info() in s_serv.c * Started adding code to deal with user@IP I lines to s_conf.c -Dianora ============================================================================ | Mon Jan 18 00:13:39 PST 1999 Jake Khuon | ============================================================================ * b37mod1 [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 * removed M: line port & address activation on startup you *must* use at least one P: line in your config file now -- FlashMan * completely rewrote get_client_name() to clean up the conditionals mess makes things look prettier overall -- FlashMan * RPL_YOURHOST is now given to the client as server_name[sockhost/port] that the client connected to -- for virtual addresses and such -- FlashMan * Removed SHOW_UH define from config.h -- no longer needed -- FlashMan --------------------------------------------------------------------------- +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 NO_CHANOPS_WHEN_SPLIT, 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 ANTI_IP_SPOOF (Dianora) * redid semantics of LITTLE_I_LINES. Clients who are i lined can be opped, they can do everything a normal op can do, but cannot op anyone else (Dianora) * removed REJECT_IPHONE code and refined X line code (Dianora) * fixed bad dns problem (kalt) * fixed m_topic (Dianora) * fixed m_motd oper notice in the wrong place (Dianora) * fixed m_lusers, added send_lusers() (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 m_time() (Dianora) * fixed remote m_info() for opers (Dianora) * added OPER_MOTD 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) * spare_fd kludge to fix rehash DNS on Solaris (Rodder) * fixed stderr logging (ircd -s) for report_error() 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 set_mode() 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 ANTI_SPAMBOT_EXTRA (read config.h) added heuristics to catch spambots (Dianora) * added ANTI_SPAM_EXIT_MESSAGE 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 LIMIT_UH code (Dianora) * fixed missing USE_SYLOG in ircd.c (ThemBones) * use Count.local instead of sptr->fd in s_user for SET MAX (ThemBones) * reworked s_err.c/numeric.h (Dianora) * added hash debug on /quote hash (Dianora) * report user doing /motd, removed STATS_FLAG (Dianora) * added delay between motd requests (Dianora) * fixed REJECT_HOLD code, fripping backwards if (Dianora) * added +-! special I line prefix character ($ is not applicable to hybrid) (comstud/Dianora) * ripped out dich_conf 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 NO_CHANOPS_WHEN_SPLIT code back in (Rodder/Dianora) * fixed SEPARATE_QUOTE_KLINES_BY_DATE so it compiles (Rodder) * removed LITTLE_I_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 USE_SYSLOG (Dianora) * reverted to old check_pings() 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 ident_fdlist 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) * ANTI_IP_SPOOF 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 read_authports() (Rodder) * Fixed missing RPL_ENDOFTRACE for non-opered clients (Dianora) * #undef IDLE_FROM_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 SEPARATE_QUOTE_KLINES_BY_DATE * use block allocator in FLUD code (Shadowfax) * added HTM quiet or HTM noisy option -- see NOISY_HTM in config.h for initial setting (Dianora) * added LOCOPS, each type of wallops/operwall/locops is now flagged (Dianora) * added signon time to RPL_WHOISIDLE (Dianora) * allow local opers to see kills requested by riss (Dianora) * added ANTI_SPAMBOT 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 OLD_Y_LIMIT 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 m_version and replaced by (for opers) full listing of server defines in m_info (Rodder) * poll() code mods ported from CSr30 (comstud) by cbongo * m_whois() rewritten to use hash table when possible (Dianora) * spambot sign on code added (ThemBones) * i line (LITTLE_I_LINE) support, restricted i lines (Dianora) * NO_CHANOPS_WHEN_SPLIT delays channel hacking until rejoin (Dianora) * ANTI_SPAMBOT on sign on code (ThemBones) * only allow 4 kicked nicks per kick (Dianora) * sped up kline processing, redid check_pings in ircd.c (Dianora) * Server now checks for sane TS when connecting to other server, see TS_MAX_DELTA and TS_WARN_DELTA 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 send_umode_out in s_user.c (ThemBones) * sped up whowas processing, removed away from whowas (Dianora) * redid m_kline/cluster in s_serv.c (Dianora) * redid dline/kline handling (Dianora/Rodder/ThemBones) * removed lame #ifdefs in poll() (Dianora) * always defined D_LINES/E_LINES/F_LINES (Dianora) * TS_ONLY server now (Dianora) * cleaned up s_auth.c (Dianora/ThemBones) * changed BAN_INFO handling (Dianora) * sanity testing in res.c (Dianora) * added orabidoo's scache code (orabidoo/Dianora) * added KLINE_WITH_REASON kline reason on klines/connects (Dianora) * added NON_REDUNDANT_KLINE code (Dianora) * added ANTI_IP_SPOOF code (Dianora) * added temporary kline code (Dianora) * added Jolo's block allocator into list.c (Jolo/Dianora) * added ANTI_NICK_FLOOD 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 FD_SETSIZE * 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) IP_BAN_ALL 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) * quote_dline support - see config.h (db) * fixed timezone snafu in date() * added RFC1035_ANAL define reject _ and / in hostnames * removed old DELAY_NICK define.. broken and unneeded * modified s_err.c and created s_err.h. See CUSTOM_ERR in include/config.h * m_server() now quietly ignores clients that try to use SERVER * removed NOTE code, removed SUMMON code, gutted USERS * added automatic timestamps to comments of quote KLINE and DLINE * changed failure notice for clients bouncing off ACKPATCH to "Only one connection at a time allowed from your hostname" * cleanup to channel.c * format() mod to check for NULL args (di) * removed more useless crap (UPHOST, VMS, etc) from config.h * #undef F_LINES fixed * oper WALLOPS changed to OPERWALL (code taken from csr30) * BSDI 3.0 FD_ALLOC support (db) # changed output of STATS D * Removed Q: line support * cleaned up find_conf_ip (db) * fixed crypt() usage to work on systems with longer salts (ie FreeBSD without DES libs) * various spelling fixes (db) * N: line checking in m_server() (db) * WARN_NO_NLINE define added to config.h ----------------------------------------------------------------------------- +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 dich_conf.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 D_LINE 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 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 m_who does less find_user_link()s now...much less. This is a big reducer of CPU usage. Also another "bug" was removed from m_who 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