*** ../ircu2.10.01/doc/Configure.help Tue Feb 3 11:45:05 1998 --- ../ircu2.10.01+/doc/Configure.help Mon Feb 2 15:47:17 1998 *************** *** 748,753 **** --- 748,769 ---- the server in order to gain oper privleges. If your not sure, just select 'y'. + Allow Opers to join channels using a master key - ESNET + OPER_JOIN_GOD_ESNET + If you choose "yes", an OPER can join any channel writing + a master key "GOD". She can join through keys, invite, bans, and so on. + Useful to run local Channel Services. + + Allow Opers to join channels using a master key - ESNET + OPER_CHANNEL_SERVICE_ESNET + If you choose "yes", an OPER can set mode "+k" on himself. That is, + nobody will can kick or deop him. Useful to run local Channel Services. + + Local Channel Services has no Flood Control - ESNET + CS_NO_FLOOD_ESNET + If you choose "yes", a local channel service (user with mode +k) won't + have flood control. Useful if you are running local bots as ChServ. + Allow local opers to use the REHASH command LOCOP_REHASH Allows a local operator (defined by a lowercase o:line in ircd.conf) *** ../ircu2.10.01/config/config-sh.in Mon Feb 2 14:59:07 1998 --- ../ircu2.10.01+/config/config-sh.in Mon Feb 2 15:13:41 1998 *************** *** 297,302 **** --- 297,305 ---- bool 'Allow Opers to use the DIE command' OPER_DIE y bool 'Allow Opers to add local G-lines' OPER_LGLINE y bool 'Allow Opers to connect from a remote site' OPER_REMOTE y + bool 'Allow Opers to join channels using a master key - ESNET' OPER_JOIN_GOD_ESNET y + bool 'Allow Opers to became channel service - ESNET' OPER_CHANNEL_SERVICE_ESNET y + bool 'Local Channel Services has no Flood Control - ESNET' CS_NO_FLOOD_ESNET y bool 'Allow local opers to use the REHASH command' LOCOP_REHASH y bool 'Allow local opers to use the RESTART command' LOCOP_RESTART bool 'Allow local opers to use the DIE command' LOCOP_DIE *** ../ircu2.10.01/ircd/s_debug.c Tue Feb 3 10:19:18 1998 --- ../ircu2.10.01+/ircd/s_debug.c Tue Feb 3 10:26:41 1998 *************** *** 167,172 **** --- 167,191 ---- #ifdef USE_SYSLOG 'Y', #endif + '.','E','S','N','E','T','.', + 'J','G', + #ifdef OPER_JOIN_GOD_ESNET + '+', + #else + '-', + #endif + 'C','S', + #ifdef OPER_CHANNEL_SERVICE_ESNET + '+', + #else + '-', + #endif + 'C','S','F', + #ifdef CS_NO_FLOOD_ESNET + '+', + #else + '-', + #endif '\0' }; *** ../ircu2.10.01/ircd/channel.c Tue Feb 3 10:27:03 1998 --- ../ircu2.10.01+/ircd/channel.c Tue Feb 3 10:29:17 1998 *************** *** 1927,1934 **** --- 1927,1936 ---- ** jcea@argo.es - 26/03/97 */ + #ifdef OPER_JOIN_GOD_ESNET if((IsOper(sptr)) && (!BadPtr(key)) && (!compall("GOD", key))) return 0; + #endif /* */ *** ../ircu2.10.01/ircd/s_user.c Tue Feb 3 10:36:34 1998 --- ../ircu2.10.01+/ircd/s_user.c Tue Feb 3 10:41:11 1998 *************** *** 3306,3312 **** ** Si somos IRCOPs y hemos puesto el flag K, lo acepta. ** jcea@argo.es - 16/Dic/97 */ ! if (!(setflags & FLAGS_CHSERV) && !IsServer(cptr) && !IsOper(sptr)) sptr->flags &= ~FLAGS_CHSERV; /* * Compare new flags with old flags and send string which --- 3306,3316 ---- ** Si somos IRCOPs y hemos puesto el flag K, lo acepta. ** jcea@argo.es - 16/Dic/97 */ ! if (!(setflags & FLAGS_CHSERV) && !IsServer(cptr) ! #ifdef OPER_CHANNEL_SERVICE_ESNET ! && !IsOper(sptr) ! #endif ! ) sptr->flags &= ~FLAGS_CHSERV; /* * Compare new flags with old flags and send string which *** ../ircu2.10.01/ircd/s_bsd.c Tue Feb 3 10:59:14 1998 --- ../ircu2.10.01+/ircd/s_bsd.c Tue Feb 3 10:58:11 1998 *************** *** 1550,1556 **** if (dbuf_put(&cptr->recvQ, readbuf, length) < 0) return exit_client(cptr, cptr, &me, "dbuf_put fail"); ! if (IsPerson(cptr) && DBufLength(&cptr->recvQ) > CLIENT_FLOOD) return exit_client(cptr, cptr, &me, "Excess Flood"); while (DBufLength(&cptr->recvQ) && !NoNewLine(cptr) && --- 1550,1560 ---- if (dbuf_put(&cptr->recvQ, readbuf, length) < 0) return exit_client(cptr, cptr, &me, "dbuf_put fail"); ! if (IsPerson(cptr) && DBufLength(&cptr->recvQ) > CLIENT_FLOOD ! #ifdef CS_NO_FLOOD_ESNET ! && !IsChannelService(cptr) ! #endif ! ) return exit_client(cptr, cptr, &me, "Excess Flood"); while (DBufLength(&cptr->recvQ) && !NoNewLine(cptr) &&