diff -rc oldsrc/ChangeLog.th src/ChangeLog.th *** oldsrc/ChangeLog.th Mon Nov 18 08:20:28 1996 --- src/ChangeLog.th Sat Nov 23 10:38:40 1996 *************** *** 105,107 **** --- 105,110 ---- Now fascist about /msg nick1,nick2,nick3... [11.15.1996 - 5a.0a] Fixed the SendQ stuff (using FLAGS_SENDQEX) Fixed the /trace kill -- well, kinda... + [11.18.1996 - 5a.0b] Fixed some HTM stuff. + [11.22.1996 - 5a.1] Changed some stuff dealing with MAXCLIENTS, etc. + Fixed problem with local opers propogating. diff -rc oldsrc/include/config.h src/include/config.h *** oldsrc/include/config.h Fri Nov 15 23:56:02 1996 --- src/include/config.h Fri Nov 22 08:33:14 1996 *************** *** 29,36 **** #define HARD_FDLIMIT_ 4000 #define INIT_MAXCLIENTS 2500 /* Don't change this... */ ! #define HARD_FDLIMIT (HARD_FDLIMIT_-8) /*******************************************************************/ /* Type of host. These should be made redundant somehow. -avalon */ --- 29,44 ---- #define HARD_FDLIMIT_ 4000 #define INIT_MAXCLIENTS 2500 + /* + * This is how many 'buffer connections' we allow... + * Remember, MAX_BUFFER + MAX_CLIENTS can't exceed HARD_FDLIMIT :) + */ + #define MAX_BUFFER 60 + + /* Don't change this... */ ! #define HARD_FDLIMIT (HARD_FDLIMIT_ - 10) ! #define MASTER_MAX (HARD_FDLIMIT - MAX_BUFFER) /*******************************************************************/ /* Type of host. These should be made redundant somehow. -avalon */ *************** *** 144,151 **** * FNAME_USERLOG just logs user connections, FNAME_OPERLOG logs every * successful use of /oper. These are either full paths or files within DPATH. */ ! #undef FNAME_USERLOG "/home/irc/users" /* */ ! #undef FNAME_OPERLOG "/home/irc/opers" /* */ /* CHROOTDIR * --- 152,162 ---- * FNAME_USERLOG just logs user connections, FNAME_OPERLOG logs every * successful use of /oper. These are either full paths or files within DPATH. */ ! /* ! * These need to be defined if you want to use SYSLOG logging, too. ! */ ! #define FNAME_USERLOG "/usr/irc/users" /* */ ! #define FNAME_OPERLOG "/usr/irc/opers" /* */ /* CHROOTDIR * diff -rc oldsrc/include/patchlevel.h src/include/patchlevel.h *** oldsrc/include/patchlevel.h Mon Nov 18 08:20:28 1996 --- src/include/patchlevel.h Fri Nov 22 10:07:02 1996 *************** *** 17,21 **** */ #ifndef PATCHLEVEL ! #define PATCHLEVEL "2.8/th.v5a.0a" #endif --- 17,21 ---- */ #ifndef PATCHLEVEL ! #define PATCHLEVEL "2.8/th.v5a.1" #endif diff -rc oldsrc/include/struct.h src/include/struct.h *** oldsrc/include/struct.h Mon Nov 18 08:20:29 1996 --- src/include/struct.h Fri Nov 22 09:49:59 1996 *************** *** 203,208 **** --- 203,209 ---- #define ALL_UMODES (SEND_UMODES|FLAGS_SERVNOTICE|FLAGS_CCONN|FLAGS_REJ|FLAGS_SKILL|FLAGS_FULL|FLAGS_SPY|FLAGS_DEBUG) #endif #define OPER_UMODES (FLAGS_OPER|FLAGS_WALLOP|FLAGS_SERVNOTICE|FLAGS_SPY|FLAGS_DEBUG) + #define LOCOP_UMODES (FLAGS_LOCOP|FLAGS_WALLOP|FLAGS_SERVNOTICE|FLAGS_SPY|FLAGS_DEBUG) #define FLAGS_ID (FLAGS_DOID|FLAGS_GOTID) /* diff -rc oldsrc/ircd/ircd.c src/ircd/ircd.c *** oldsrc/ircd/ircd.c Mon Nov 18 08:20:29 1996 --- src/ircd/ircd.c Mon Nov 18 08:30:12 1996 *************** *** 843,850 **** } else { lifesux++; /* Ok, life really sucks! */ LCF += 2; /* Wait even longer */ ! sprintf(to_send, "Still high-traffic mode %d (%d delay): %.1fk/s", lifesux, LCF, ! (float)currlife); sendto_ops(to_send); } } else { --- 843,850 ---- } else { lifesux++; /* Ok, life really sucks! */ LCF += 2; /* Wait even longer */ ! sprintf(to_send, "Still high-traffic mode %d%s (%d delay): %.1fk/s", ! lifesux, (lifesux & 0x04) ? " (TURBO)" : "", LCF, (float)currlife); sendto_ops(to_send); } } else { *************** *** 912,918 **** (void)read_message(1, &busycli_fdlist); if (lifesux) { (void)read_message(1, &serv_fdlist); ! if (lifesux & 0x8) { /* life really sucks */ (void)read_message(1, &busycli_fdlist); (void)read_message(1, &serv_fdlist); } --- 912,918 ---- (void)read_message(1, &busycli_fdlist); if (lifesux) { (void)read_message(1, &serv_fdlist); ! if (lifesux & 0x4) { /* life really sucks */ (void)read_message(1, &busycli_fdlist); (void)read_message(1, &serv_fdlist); } *************** *** 936,942 **** #ifdef CLIENT_SERVER if (!lifesux || (lasttime + lifesux) < timeofday) { #else ! if ((lasttime + (lifesux << 1)) < timeofday) { #endif (void)read_message(delay, NULL); /* check everything! */ lasttime = timeofday; --- 936,942 ---- #ifdef CLIENT_SERVER if (!lifesux || (lasttime + lifesux) < timeofday) { #else ! if ((lasttime + (lifesux + 1)) < timeofday) { #endif (void)read_message(delay, NULL); /* check everything! */ lasttime = timeofday; *************** *** 1124,1128 **** } } busycli_fdlist.last_entry = j; /* rest of the fdlist is garbage */ ! return (now + FDLISTCHKFREQ + (lifesux << 1)); } --- 1124,1128 ---- } } busycli_fdlist.last_entry = j; /* rest of the fdlist is garbage */ ! return (now + FDLISTCHKFREQ + (lifesux + 1)); } diff -rc oldsrc/ircd/s_serv.c src/ircd/s_serv.c *** oldsrc/ircd/s_serv.c Mon Nov 18 08:20:29 1996 --- src/ircd/s_serv.c Thu Nov 21 14:23:28 1996 *************** *** 1882,1890 **** if (!strncasecmp(command,"MAX",3)) { if (parc > 2) { int new_value = atoi(parv[2]); ! if (new_value > (HARD_FDLIMIT -10)) { ! sendto_one(sptr, ":%s NOTICE %s :You cannot set MAXCLIENTS to > the FDLIMIT-10 (%d)", ! me.name, parv[0], HARD_FDLIMIT-10); return 0; } if (new_value < 32) { --- 1882,1890 ---- if (!strncasecmp(command,"MAX",3)) { if (parc > 2) { int new_value = atoi(parv[2]); ! if (new_value > MASTER_MAX) { ! sendto_one(sptr, ":%s NOTICE %s :You cannot set MAXCLIENTS to > MASTER_MAX (%d)", ! me.name, parv[0], MASTER_MAX); return 0; } if (new_value < 32) { diff -rc oldsrc/ircd/s_user.c src/ircd/s_user.c *** oldsrc/ircd/s_user.c Thu Nov 14 20:40:14 1996 --- src/ircd/s_user.c Fri Nov 22 10:05:14 1996 *************** *** 517,528 **** * -Taner */ /* Except "F:" clients */ - #define MAX_BUFFER 50 if ( #ifdef BOTCHECK !isbot && #endif ! (sptr->fd >= MAXCLIENTS) || ((sptr->fd >= (MAXCLIENTS - MAX_BUFFER)) && !(find_fline(sptr)))) { sendto_realops_lev(FULL_LEV, "Too many clients, rejecting %s[%s].", nick, IsUnixSocket(sptr) ? me.sockhost : sptr->sockhost); ircstp->is_ref++; --- 517,527 ---- * -Taner */ /* Except "F:" clients */ if ( #ifdef BOTCHECK !isbot && #endif ! (sptr->fd >= (MAXCLIENTS+MAX_BUFFER)) || ((sptr->fd >= (MAXCLIENTS - 5)) && !(find_fline(sptr)))) { sendto_realops_lev(FULL_LEV, "Too many clients, rejecting %s[%s].", nick, IsUnixSocket(sptr) ? me.sockhost : sptr->sockhost); ircstp->is_ref++; *************** *** 2439,2447 **** if ((matches(s,me.sockhost) && !IsLocal(sptr)) || aconf->status == CONF_LOCOP) #endif SetLocOp(sptr); ! else { SetOper(sptr); } Count.oper++; if (MyConnect(sptr)) --- 2438,2449 ---- if ((matches(s,me.sockhost) && !IsLocal(sptr)) || aconf->status == CONF_LOCOP) #endif + { SetLocOp(sptr); ! sptr->flags |= (LOCOP_UMODES); ! } else { SetOper(sptr); + sptr->flags |= (OPER_UMODES); } Count.oper++; if (MyConnect(sptr)) *************** *** 2450,2456 **** sendto_ops("%s (%s@%s) is now operator (%c)", parv[0], sptr->user->username, sptr->sockhost, IsOper(sptr) ? 'O' : 'o'); - sptr->flags |= (OPER_UMODES); send_umode_out(cptr, sptr, old, 1); sendto_one(sptr, rpl_str(RPL_YOUREOPER), me.name, parv[0]); #if !defined(CRYPT_OPER_PASSWORD) && (defined(FNAME_OPERLOG) ||\ --- 2452,2457 ---- diff -rc oldsrc/ircd/crypt/Makefile src/ircd/crypt/Makefile *** oldsrc/ircd/crypt/Makefile Fri Jul 8 12:22:54 1994 --- src/ircd/crypt/Makefile Sat Nov 23 10:37:40 1996 *************** *** 20,31 **** # Change this to the path of your local ircd.conf file # IRCDCONF = /home/407/avalon/ircd.conf all: mkpasswd crypt: install mkpasswd: mkpasswd.c ! cc -O mkpasswd.c -o mkpasswd install: crypter ${IRCDCONF} --- 20,32 ---- # Change this to the path of your local ircd.conf file # IRCDCONF = /home/407/avalon/ircd.conf + CC=gcc all: mkpasswd crypt: install mkpasswd: mkpasswd.c ! ${CC} -O mkpasswd.c -o mkpasswd install: crypter ${IRCDCONF}