-diff -burN eggdrop1.6.15/doc/USERS eggdrop1.6.15-multilevel_sharing/doc/USERS
---- eggdrop1.6.15/doc/USERS Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/doc/USERS Fri May 9 18:44:33 2003
-@@ -75,6 +75,11 @@
-
- u (unshared) user record is not sent to other bots.
-
-+ s (protected) is working similar like u flag, but changes can be made
-+ only from bot that is aggressively sharing with us (Hub).
-+ User cannot be changed by bot that is connected below
-+ this bot. (This flag can be useful in multilevel sharing)
-+
- h (highlight) use bold text in help/text files.
-
- All global flags other then u, h, b, c, x, j, and p are also
-diff -burN eggdrop1.6.15/doc/tcl-commands.doc eggdrop1.6.15-multilevel_sharing/doc/tcl-commands.doc
---- eggdrop1.6.15/doc/tcl-commands.doc Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/doc/tcl-commands.doc Fri May 9 18:44:33 2003
-@@ -1245,6 +1245,17 @@
+diff -burN eggdrop1.6.17.orig/doc/tcl-commands.doc eggdrop1.6.17/doc/tcl-commands.doc
+--- eggdrop1.6.17.orig/doc/tcl-commands.doc 2004-11-01 12:48:53.655599384 +0100
++++ eggdrop1.6.17/doc/tcl-commands.doc 2004-11-01 13:31:31.033818800 +0100
+@@ -1258,6 +1258,17 @@
Module: filesys
*** MISCELLANEOUS COMMANDS ***
bind <type> <flags> <keyword/mask> [proc-name]
-diff -burN eggdrop1.6.15/eggdrop.conf eggdrop1.6.15-multilevel_sharing/eggdrop.conf
---- eggdrop1.6.15/eggdrop.conf Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/eggdrop.conf Fri May 9 18:44:33 2003
-@@ -1139,11 +1139,21 @@
+diff -burN eggdrop1.6.17.orig/doc/USERS eggdrop1.6.17/doc/USERS
+--- eggdrop1.6.17.orig/doc/USERS 2004-11-01 12:48:53.653599688 +0100
++++ eggdrop1.6.17/doc/USERS 2004-11-01 13:31:31.035818496 +0100
+@@ -77,6 +77,11 @@
+
+ u (unshared) user record is not sent to other bots.
+
++ s (protected) is working similar like u flag, but changes can be made
++ only from bot that is aggressively sharing with us (Hub).
++ User cannot be changed by bot that is connected below
++ this bot. (This flag can be useful in multilevel sharing)
++
+ h (highlight) use bold text in help/text files.
+
+ All global flags other then u, h, b, c, x, j, and p are also
+diff -burN eggdrop1.6.17.orig/eggdrop.conf eggdrop1.6.17/eggdrop.conf
+--- eggdrop1.6.17.orig/eggdrop.conf 2004-11-01 12:48:53.790578864 +0100
++++ eggdrop1.6.17/eggdrop.conf 2004-11-01 13:31:31.038818040 +0100
+@@ -1145,11 +1145,21 @@
# changes from other bots should be ignored?
#set private-globals "mnot"
# This setting makes the bot discard its own bot records in favor of
# the ones sent by the hub.
# NOTE: No passwords or botflags are shared, only ports and
-diff -burN eggdrop1.6.15/help/cmds2.help eggdrop1.6.15-multilevel_sharing/help/cmds2.help
---- eggdrop1.6.15/help/cmds2.help Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/help/cmds2.help Fri May 9 18:44:33 2003
-@@ -336,6 +336,7 @@
- p party-line (user has access to the partyline)
- q global quiet (user does not get voice on +autovoice channels.)
- r global dehalfop (user cannot gain halfops on any of the bot's channels)
-+ s protected (when sharing changes can be made only by hub)
- t botnet master (user has access to all features dealing with the botnet.)
- u unshared (user record is not sent to other bots.)
- v global voice (user get +v automatically on +autovoice channels)
-diff -burN eggdrop1.6.15/src/cmds.c eggdrop1.6.15-multilevel_sharing/src/cmds.c
---- eggdrop1.6.15/src/cmds.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/cmds.c Fri May 9 18:46:00 2003
-@@ -1556,8 +1556,8 @@
+diff -burN eggdrop1.6.17.orig/help/cmds2.help eggdrop1.6.17/help/cmds2.help
+--- eggdrop1.6.17.orig/help/cmds2.help 2004-11-01 12:48:53.771581752 +0100
++++ eggdrop1.6.17/help/cmds2.help 2004-11-01 13:31:31.040817736 +0100
+@@ -372,6 +372,7 @@
+ %bp%b - party-line (user has access to the partyline)
+ %bq%b - quiet (user cannot gain voice on any channel)
+ %br%b - dehalfop (user cannot gain halfops on any channel)
++ %bs%b - protected (when sharing changes can be made only by hub)
+ %bt%b - botnet master (user has access to features related to the botnet)
+ %bu%b - unshared (user's user record is not sent to other bots)
+ %bv%b - voice (user gets +v automatically on +autovoice channels)
+diff -burN eggdrop1.6.17.orig/src/cmds.c eggdrop1.6.17/src/cmds.c
+--- eggdrop1.6.17.orig/src/cmds.c 2004-11-01 12:48:53.752584640 +0100
++++ eggdrop1.6.17/src/cmds.c 2004-11-01 13:31:31.044817128 +0100
+@@ -1551,8 +1551,8 @@
mns.chan &= ~(BOT_SHARE);
}
if (!glob_owner(user)) {
if (chan) {
pls.chan &= ~USER_OWNER;
-diff -burN eggdrop1.6.15/src/flags.h eggdrop1.6.15-multilevel_sharing/src/flags.h
---- eggdrop1.6.15/src/flags.h Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/flags.h Fri May 9 18:48:57 2003
+diff -burN eggdrop1.6.17.orig/src/flags.h eggdrop1.6.17/src/flags.h
+--- eggdrop1.6.17.orig/src/flags.h 2004-11-01 12:48:53.751584792 +0100
++++ eggdrop1.6.17/src/flags.h 2004-11-01 13:31:31.047816672 +0100
@@ -44,8 +44,8 @@
/*
#define bot_global(x) ((x).bot & BOT_GLOBAL)
#define bot_chan(x) ((x).chan & BOT_AGGRESSIVE)
-diff -burN eggdrop1.6.15/src/mod/share.mod/Makefile eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/Makefile
---- eggdrop1.6.15/src/mod/share.mod/Makefile Mon May 5 00:05:33 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/Makefile Fri May 9 18:49:41 2003
-@@ -20,7 +20,7 @@
- mv share.o ../
-
- ../../../share.$(MOD_EXT): ../share.o
-- $(LD) -o ../../../share.$(MOD_EXT) ../share.o
-+ $(LD) -o ../../../share.$(MOD_EXT) ../share.o ${XLIBS}
- $(STRIP) ../../../share.$(MOD_EXT)
-
- depend:
-diff -burN eggdrop1.6.15/src/mod/share.mod/share.c eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/share.c
---- eggdrop1.6.15/src/mod/share.mod/share.c Mon May 5 00:05:33 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/share.c Fri May 9 19:10:34 2003
+diff -burN eggdrop1.6.17.orig/src/mod/share.mod/share.c eggdrop1.6.17/src/mod/share.mod/share.c
+--- eggdrop1.6.17.orig/src/mod/share.mod/share.c 2004-11-01 12:48:53.712590720 +0100
++++ eggdrop1.6.17/src/mod/share.mod/share.c 2004-11-01 13:32:23.849789552 +0100
@@ -50,11 +50,14 @@
static int private_global = 0;
static int private_user = 0;
+static int permit_hub = 0; /* Permit hub to do changes even, when we use private_*, */
+ /* but not private_globals (this have a reason) */
- struct delay_mode {
- struct delay_mode *next;
-@@ -93,6 +96,7 @@
+ /* Store info for sharebots */
+ struct share_msgq {
+@@ -81,6 +84,7 @@
static void q_resync(char *, struct chanset_t *);
static void cancel_user_xfer(int, void *);
static int private_globals_bitmask();
#include "share.h"
-@@ -307,7 +311,7 @@
+@@ -314,7 +318,7 @@
char *hand;
struct userrec *u;
hand = newsplit(&par);
u = get_user_by_handle(userlist, hand);
if (u && !(u->flags & USER_UNSHARED)) {
-@@ -329,26 +333,33 @@
+@@ -336,26 +340,33 @@
int bfl, ofl;
module_entry *me;
if (par[0] && cst) {
+ int pchbm = 0;
+ if (!PERMIT_HUB(idx))
-+ pchbm = private_chanflags_bitmask();
++ pchbm = private_chanflags_bitmask();
fr.match = (FR_CHAN | FR_BOT);
+ /* bot's sharing flags */
get_user_flagrec(dcc[idx].user, &fr, par);
set_user_flagrec(u, &fr, par);
check_dcc_chanattrs(u, par, fr.chan, fr2.chan);
noshare = 0;
-@@ -365,7 +376,7 @@
+@@ -372,7 +383,7 @@
putlog(LOG_CMDS, "*",
"Rejected flags for unshared channel %s from %s",
par, dcc[idx].nick);
- } else if (!private_global) {
-+ } else if (!private_global || PERMIT_HUB(idx)) {
++ } else if (!private_global || PERMIT_HUB(idx)) {
int pgbm = private_globals_bitmask();
/* Don't let bot flags be altered */
-@@ -384,15 +395,17 @@
+@@ -391,15 +402,18 @@
if (!(dcc[idx].status & STAT_GETTING))
putlog(LOG_CMDS, "*", "%s: chattr %s %s", dcc[idx].nick, hand, s);
if ((me = module_find("irc", 0, 0))) {
+ struct chanset_t *tmpcst;
Function *func = me->funcs;
--
+
- for (cst = chanset; cst; cst = cst->next)
- (func[IRC_RECHECK_CHANNEL]) (cst, 0);
+ for (tmpcst = chanset; tmpcst; tmpcst = tmpcst->next)
-+ (func[IRC_RECHECK_CHANNEL]) (tmpcst, 0);
++ (func[IRC_RECHECK_CHANNEL]) (tmpcst, 0);
}
} else
putlog(LOG_CMDS, "*", "Rejected global flags for %s from %s",
}
}
}
-@@ -404,7 +417,7 @@
+@@ -411,7 +425,7 @@
struct chanset_t *chan;
struct userrec *u;
user = newsplit(&par);
if ((u = get_user_by_handle(userlist, user))) {
chan = findchan_by_dname(par);
-@@ -433,7 +446,7 @@
+@@ -440,7 +454,7 @@
struct chanset_t *chan;
struct userrec *u;
user = newsplit(&par);
if ((u = get_user_by_handle(userlist, user))) {
chan = findchan_by_dname(par);
-@@ -459,13 +472,13 @@
+@@ -466,13 +480,13 @@
char *nick, *host, *pass, s[100];
struct userrec *u;
fr.global = 0;
fr.match = FR_GLOBAL;
-@@ -510,9 +523,9 @@
+@@ -517,9 +531,9 @@
struct userrec *u;
/* If user is a share bot, ignore command */
!((u->flags & USER_BOT) && (bot_flags(u) & BOT_SHARE))) {
noshare = 1;
if (deluser(par)) {
-@@ -528,10 +541,10 @@
+@@ -535,10 +549,10 @@
char *hand;
struct userrec *u;
shareout_but(NULL, idx, "+h %s %s\n", hand, par);
set_user(&USERENTRY_HOSTS, u, par);
putlog(LOG_CMDS, "*", "%s: +host %s %s", dcc[idx].nick, hand, par);
-@@ -544,10 +557,10 @@
+@@ -551,10 +565,10 @@
char *hand, p[32];
struct userrec *u;
if (!(dcc[idx].status & STAT_GETTING))
shareout_but(NULL, idx, "+bh %s %s\n", hand, par);
/* Add bot to userlist if not there */
-@@ -570,10 +583,10 @@
+@@ -577,10 +591,10 @@
char *hand;
struct userrec *u;
shareout_but(NULL, idx, "-h %s %s\n", hand, par);
noshare = 1;
delhost_by_handle(hand, par);
-@@ -590,11 +603,11 @@
+@@ -597,11 +611,11 @@
struct user_entry_type *uet;
struct user_entry *e;
if (!(uet = find_entry_type(key)))
/* If it's not a supported type, forget it */
debug2("Ignore ch %s from %s (unknown type)", key, dcc[idx].nick);
-@@ -638,10 +651,10 @@
+@@ -645,10 +659,10 @@
struct chanset_t *cst;
struct userrec *u;
chan = newsplit(&par);
cst = findchan_by_dname(chan);
fr.match = (FR_CHAN | FR_BOT);
-@@ -2033,11 +2046,13 @@
+@@ -2039,11 +2053,13 @@
{"private-global", &private_global},
{"private-user", &private_user},
{"override-bots", &overr_local_bots},
{NULL, NULL, 0, 0}
};
-@@ -2056,6 +2071,39 @@
+@@ -2062,7 +2078,38 @@
{NULL, NULL, NULL, NULL}
};
+-static char *share_close()
+static int tcl_noshare STDVAR
+{
+ int res;
+{
+ {"noshare", tcl_noshare},
+ {NULL, NULL}
-+};
-+
+
- static char *share_close()
++ static char *share_close()
{
int i;
-@@ -2088,6 +2136,7 @@
+ tandbuf *t, *tnext = NULL;
+@@ -2094,6 +2141,7 @@
delay_free_mem();
rem_tcl_ints(my_ints);
rem_tcl_strings(my_strings);
rem_builtins(H_dcc, my_cmds);
rem_help_reference("share.help");
return NULL;
-@@ -2207,6 +2256,7 @@
+@@ -2213,6 +2261,7 @@
DCC_BOT.kill = cancel_user_xfer;
add_tcl_ints(my_ints);
add_tcl_strings(my_strings);
add_builtins(H_dcc, my_cmds);
uff_init();
uff_addtable(internal_uff_table);
-@@ -2220,3 +2270,11 @@
+@@ -2226,3 +2275,11 @@
break_down_flags(private_globals, &fr, 0);
return fr.global;
}
+ break_down_flags(private_chanflags, &fr, 0);
+ return fr.chan;
+}
-diff -burN eggdrop1.6.15/src/mod/share.mod/share.h eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/share.h
---- eggdrop1.6.15/src/mod/share.mod/share.h Mon May 5 00:05:33 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/mod/share.mod/share.h Fri May 9 19:11:25 2003
+diff -burN eggdrop1.6.17.orig/src/mod/share.mod/share.h eggdrop1.6.17/src/mod/share.mod/share.h
+--- eggdrop1.6.17.orig/src/mod/share.mod/share.h 2004-11-01 12:48:53.713590568 +0100
++++ eggdrop1.6.17/src/mod/share.mod/share.h 2004-11-01 13:31:31.054815608 +0100
@@ -52,6 +52,11 @@
* `priority'. */
} uff_table_t;
#ifndef MAKING_SHARE
/* 4 - 7 */
#define finish_share ((void (*) (int))share_funcs[4])
-diff -burN eggdrop1.6.15/src/patch.h eggdrop1.6.15-multilevel_sharing/src/patch.h
---- eggdrop1.6.15/src/patch.h Mon May 5 00:08:01 2003
-+++ eggdrop1.6.15-multilevel_sharing/src/patch.h Fri May 9 19:11:50 2003
+diff -burN eggdrop1.6.17.orig/src/patch.h eggdrop1.6.17/src/patch.h
+--- eggdrop1.6.17.orig/src/patch.h 2004-11-01 12:48:53.765582664 +0100
++++ eggdrop1.6.17/src/patch.h 2004-11-01 13:31:31.056815304 +0100
@@ -36,7 +36,7 @@
*
*
-diff -urN eggdrop1.6.15/src/chan.h eggdrop1.6.15-topicprot/src/chan.h
---- eggdrop1.6.15/src/chan.h Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/chan.h Wed May 7 10:51:30 2003
-@@ -185,6 +185,7 @@
+diff -burN eggdrop1.6.17.orig/src/chan.h eggdrop1.6.17/src/chan.h
+--- eggdrop1.6.17.orig/src/chan.h 2004-11-01 12:48:53.752584640 +0100
++++ eggdrop1.6.17/src/chan.h 2004-11-01 13:38:31.701867536 +0100
+@@ -190,6 +190,7 @@
int mode_mns_prot; /* modes to reject */
int limit_prot; /* desired limit */
char key_prot[121]; /* desired password */
char pls[21]; /* positive mode changes */
char mns[21]; /* negative mode changes */
char *key; /* new key to set */
-diff -urN eggdrop1.6.15/src/chanprog.c eggdrop1.6.15-topicprot/src/chanprog.c
---- eggdrop1.6.15/src/chanprog.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/chanprog.c Wed May 7 10:53:11 2003
-@@ -680,3 +680,23 @@
- pa = pb;
- }
+diff -burN eggdrop1.6.17.orig/src/chanprog.c eggdrop1.6.17/src/chanprog.c
+--- eggdrop1.6.17.orig/src/chanprog.c 2004-11-01 12:48:53.766582512 +0100
++++ eggdrop1.6.17/src/chanprog.c 2004-11-01 13:38:31.704867080 +0100
+@@ -690,3 +690,23 @@
+
+ return 0;
}
+
+/* If we have a protected topic and the bot is opped, halfoped,
+ dprintf(DP_SERVER, "TOPIC %s :%s\n", chan->name, chan->topic_prot);
+ }
+}
-diff -urN eggdrop1.6.15/src/mod/channels.mod/channels.c eggdrop1.6.15-topicprot/src/mod/channels.mod/channels.c
---- eggdrop1.6.15/src/mod/channels.mod/channels.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/channels.mod/channels.c Wed May 7 11:07:16 2003
-@@ -364,6 +364,7 @@
+diff -burN eggdrop1.6.17.orig/src/mod/channels.mod/channels.c eggdrop1.6.17/src/mod/channels.mod/channels.c
+--- eggdrop1.6.17.orig/src/mod/channels.mod/channels.c 2004-11-01 12:48:53.673596648 +0100
++++ eggdrop1.6.17/src/mod/channels.mod/channels.c 2004-11-01 13:39:57.089886584 +0100
+@@ -380,6 +380,7 @@
FILE *f;
char s[121], w[1024], w2[1024], name[163];
char need1[242], need2[242], need3[242], need4[242], need5[242];
struct chanset_t *chan;
struct udef_struct *ul;
-@@ -384,13 +385,14 @@
+@@ -400,6 +401,7 @@
convert_element(chan->dname, name);
get_mode_protect(chan, w);
convert_element(w, w2);
-+ convert_element(chan->topic_prot, topic);
++ convert-element(chan->topic_prot, topic);
convert_element(chan->need_op, need1);
convert_element(chan->need_invite, need2);
convert_element(chan->need_key, need3);
- convert_element(chan->need_unban, need4);
+@@ -407,7 +409,7 @@
convert_element(chan->need_limit, need5);
+ /* Do not indent me (adds extra spaces to chan file). */
fprintf(f,
-- "channel %s %s%schanmode %s idle-kick %d stopnethack-mode %d \
-+ "channel %s %s%schanmode %s topic %s idle-kick %d stopnethack-mode %d \
- revenge-mode %d need-op %s need-invite %s need-key %s \
- need-unban %s need-limit %s flood-chan %d:%d flood-ctcp %d:%d \
- flood-join %d:%d flood-kick %d:%d flood-deop %d:%d \
-@@ -402,7 +404,7 @@
- %cdynamicexempts %cuserexempts %cdynamicinvites \
- %cuserinvites %cnodesynch ",
+-"channel %s %s%schanmode %s idle-kick %d stopnethack-mode %d revenge-mode %d \
++"channel %s %s%schanmode %s topic %s idle-kick %d stopnethack-mode %d revenge-mode %d \
+ need-op %s need-invite %s need-key %s need-unban %s need-limit %s \
+ flood-chan %d:%d flood-ctcp %d:%d flood-join %d:%d flood-kick %d:%d \
+ flood-deop %d:%d flood-nick %d:%d aop-delay %d:%d ban-time %d exempt-time %d \
+@@ -417,7 +419,7 @@
+ %cseen %cinactive %cdynamicexempts %cuserexempts %cdynamicinvites \
+ %cuserinvites %cnodesynch ",
channel_static(chan) ? "set" : "add", name, channel_static(chan) ?
- " " : " { ", w2, chan->idle_kick, chan->stopnethack_mode,
+ " " : " { ", w2, topic, chan->idle_kick, chan->stopnethack_mode,
chan->revenge_mode, need1, need2, need3, need4, need5,
chan->flood_pub_thr, chan->flood_pub_time,
chan->flood_ctcp_thr, chan->flood_ctcp_time,
-diff -urN eggdrop1.6.15/src/mod/channels.mod/cmdschan.c eggdrop1.6.15-topicprot/src/mod/channels.mod/cmdschan.c
---- eggdrop1.6.15/src/mod/channels.mod/cmdschan.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/channels.mod/cmdschan.c Wed May 7 11:09:01 2003
-@@ -1241,6 +1241,7 @@
+diff -burN eggdrop1.6.17.orig/src/mod/channels.mod/cmdschan.c eggdrop1.6.17/src/mod/channels.mod/cmdschan.c
+--- eggdrop1.6.17.orig/src/mod/channels.mod/cmdschan.c 2004-11-01 12:48:53.670597104 +0100
++++ eggdrop1.6.17/src/mod/channels.mod/cmdschan.c 2004-11-01 13:38:31.711866016 +0100
+@@ -1269,6 +1269,7 @@
channel_static(chan) ? "static" : "dynamic", chan->dname);
get_mode_protect(chan, work);
dprintf(idx, "Protect modes (chanmode): %s\n", work[0] ? work : "None");
if (chan->idle_kick)
dprintf(idx, "Idle Kick after (idle-kick): %d\n", chan->idle_kick);
else
-diff -urN eggdrop1.6.15/src/mod/channels.mod/help/chaninfo.help eggdrop1.6.15-topicprot/src/mod/channels.mod/help/chaninfo.help
---- eggdrop1.6.15/src/mod/channels.mod/help/chaninfo.help Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/channels.mod/help/chaninfo.help Wed May 7 11:09:44 2003
+diff -burN eggdrop1.6.17.orig/src/mod/channels.mod/help/chaninfo.help eggdrop1.6.17/src/mod/channels.mod/help/chaninfo.help
+--- eggdrop1.6.17.orig/src/mod/channels.mod/help/chaninfo.help 2004-11-01 12:48:53.669597256 +0100
++++ eggdrop1.6.17/src/mod/channels.mod/help/chaninfo.help 2004-11-01 13:38:31.713865712 +0100
@@ -4,6 +4,7 @@
It shows any of the following:
%bchanmode%b These modes are enforced on the channel. Both + and -
%bidle-kick%b Kick idle users that are not +f or above on the channel
after how many minutes (set this to 0 to disable).
%{+n}
-diff -urN eggdrop1.6.15/src/mod/channels.mod/tclchan.c eggdrop1.6.15-topicprot/src/mod/channels.mod/tclchan.c
---- eggdrop1.6.15/src/mod/channels.mod/tclchan.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/channels.mod/tclchan.c Wed May 7 11:10:59 2003
+diff -burN eggdrop1.6.17.orig/src/mod/channels.mod/tclchan.c eggdrop1.6.17/src/mod/channels.mod/tclchan.c
+--- eggdrop1.6.17.orig/src/mod/channels.mod/tclchan.c 2004-11-01 12:48:53.671596952 +0100
++++ eggdrop1.6.17/src/mod/channels.mod/tclchan.c 2004-11-01 13:38:31.716865256 +0100
@@ -1223,6 +1223,15 @@
return TCL_ERROR;
}
} else if (!strcmp(item[i], "+enforcebans"))
chan->status |= CHAN_ENFORCEBANS;
else if (!strcmp(item[i], "-enforcebans"))
-diff -urN eggdrop1.6.15/src/mod/irc.mod/chan.c eggdrop1.6.15-topicprot/src/mod/irc.mod/chan.c
---- eggdrop1.6.15/src/mod/irc.mod/chan.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/irc.mod/chan.c Wed May 7 11:13:46 2003
-@@ -1473,12 +1473,14 @@
+diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/chan.c eggdrop1.6.17/src/mod/irc.mod/chan.c
+--- eggdrop1.6.17.orig/src/mod/irc.mod/chan.c 2004-11-01 12:48:53.738586768 +0100
++++ eggdrop1.6.17/src/mod/irc.mod/chan.c 2004-11-01 13:38:31.721864496 +0100
+@@ -1500,12 +1500,14 @@
memberlist *m;
struct chanset_t *chan;
struct userrec *u;
if (chan) {
putlog(LOG_JOIN, chan->dname, "Topic changed on %s by %s!%s: %s",
chan->dname, nick, from, msg);
-@@ -1487,6 +1489,8 @@
+@@ -1514,6 +1516,8 @@
m->last = now;
set_topic(chan, msg);
check_tcl_topc(nick, from, u, chan->dname, msg);
}
return 0;
}
-@@ -1505,6 +1509,7 @@
+@@ -1532,6 +1536,7 @@
if (chan) {
set_topic(chan, NULL);
check_tcl_topc("*", "*", NULL, chan->dname, "");
}
return 0;
}
-@@ -1524,6 +1529,7 @@
+@@ -1551,6 +1556,7 @@
fixcolon(msg);
set_topic(chan, msg);
check_tcl_topc("*", "*", NULL, chan->dname, msg);
}
return 0;
}
-diff -urN eggdrop1.6.15/src/mod/irc.mod/cmdsirc.c eggdrop1.6.15-topicprot/src/mod/irc.mod/cmdsirc.c
---- eggdrop1.6.15/src/mod/irc.mod/cmdsirc.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/irc.mod/cmdsirc.c Wed May 7 11:15:35 2003
-@@ -895,6 +895,7 @@
+diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/cmdsirc.c eggdrop1.6.17/src/mod/irc.mod/cmdsirc.c
+--- eggdrop1.6.17.orig/src/mod/irc.mod/cmdsirc.c 2004-11-01 12:48:53.740586464 +0100
++++ eggdrop1.6.17/src/mod/irc.mod/cmdsirc.c 2004-11-01 13:38:31.724864040 +0100
+@@ -900,6 +900,7 @@
static void cmd_topic(struct userrec *u, int idx, char *par)
{
struct chanset_t *chan;
if (par[0] && (strchr(CHANMETA, par[0]) != NULL)) {
char *chname = newsplit(&par);
-@@ -920,6 +921,13 @@
+@@ -925,6 +926,13 @@
dprintf(idx, "I'm not a channel op or halfop on %s and the channel is "
"+t.\n", chan->dname);
else {
dprintf(DP_SERVER, "TOPIC %s :%s\n", chan->name, par);
dprintf(idx, "Changing topic...\n");
putlog(LOG_CMDS, "*", "#%s# (%s) topic %s", dcc[idx].nick,
-diff -urN eggdrop1.6.15/src/mod/irc.mod/mode.c eggdrop1.6.15-topicprot/src/mod/irc.mod/mode.c
---- eggdrop1.6.15/src/mod/irc.mod/mode.c Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/irc.mod/mode.c Wed May 7 11:18:41 2003
+diff -burN eggdrop1.6.17.orig/src/mod/irc.mod/mode.c eggdrop1.6.17/src/mod/irc.mod/mode.c
+--- eggdrop1.6.17.orig/src/mod/irc.mod/mode.c 2004-11-01 12:48:53.739586616 +0100
++++ eggdrop1.6.17/src/mod/irc.mod/mode.c 2004-11-01 13:38:31.727863584 +0100
@@ -460,8 +460,10 @@
}
}
}
static void got_deop(struct chanset_t *chan, char *nick, char *from,
-@@ -1223,6 +1227,8 @@
+@@ -1241,6 +1245,8 @@
(chan->mode_mns_prot & todo)))
add_mode(chan, ms2[0] == '+' ? '-' : '+', *chg, "");
}
}
chg++;
}
-diff -urN eggdrop1.6.15/src/mod/module.h eggdrop1.6.15-topicprot/src/mod/module.h
---- eggdrop1.6.15/src/mod/module.h Mon May 5 00:05:32 2003
-+++ eggdrop1.6.15-topicprot/src/mod/module.h Wed May 7 11:19:36 2003
-@@ -368,7 +368,7 @@
+diff -burN eggdrop1.6.17.orig/src/mod/module.h eggdrop1.6.17/src/mod/module.h
+--- eggdrop1.6.17.orig/src/mod/module.h 2004-11-01 12:48:53.681595432 +0100
++++ eggdrop1.6.17/src/mod/module.h 2004-11-01 13:38:31.729863280 +0100
+@@ -361,7 +361,7 @@
#define rem_tcl_coups ((void (*) (tcl_coups *))global[210])
#define botname ((char *)(global[211]))
/* 212 - 215 */
#define check_tcl_chjn ((void (*) (const char *,const char *,int,char,int,const char *))global[213])
#define sanitycheck_dcc ((int (*)(char *, char *, char *, char *))global[214])
#define isowner ((int (*)(char *))global[215])
-diff -urN eggdrop1.6.15/src/modules.c eggdrop1.6.15-topicprot/src/modules.c
---- eggdrop1.6.15/src/modules.c Mon May 5 00:05:33 2003
-+++ eggdrop1.6.15-topicprot/src/modules.c Wed May 7 11:20:12 2003
+diff -burN eggdrop1.6.17.orig/src/modules.c eggdrop1.6.17/src/modules.c
+--- eggdrop1.6.17.orig/src/modules.c 2004-11-01 12:48:53.762583120 +0100
++++ eggdrop1.6.17/src/modules.c 2004-11-01 13:38:31.732862824 +0100
@@ -461,7 +461,7 @@
(Function) rem_tcl_coups,
(Function) botname,
(Function) check_tcl_chjn,
(Function) sanitycheck_dcc,
(Function) isowner,
-diff -urN eggdrop1.6.15/src/patch.h eggdrop1.6.15-topicprot/src/patch.h
---- eggdrop1.6.15/src/patch.h Mon May 5 00:08:01 2003
-+++ eggdrop1.6.15-topicprot/src/patch.h Wed May 7 11:21:14 2003
+diff -burN eggdrop1.6.17.orig/src/patch.h eggdrop1.6.17/src/patch.h
+--- eggdrop1.6.17.orig/src/patch.h 2004-11-01 12:48:53.765582664 +0100
++++ eggdrop1.6.17/src/patch.h 2004-11-01 13:38:31.734862520 +0100
@@ -36,7 +36,7 @@
*
*
/*
*
*
-diff -urN eggdrop1.6.15/src/proto.h eggdrop1.6.15-topicprot/src/proto.h
---- eggdrop1.6.15/src/proto.h Mon May 5 00:05:33 2003
-+++ eggdrop1.6.15-topicprot/src/proto.h Wed May 7 11:21:48 2003
+diff -burN eggdrop1.6.17.orig/src/proto.h eggdrop1.6.17/src/proto.h
+--- eggdrop1.6.17.orig/src/proto.h 2004-11-01 12:48:53.769582056 +0100
++++ eggdrop1.6.17/src/proto.h 2004-11-01 13:38:31.735862368 +0100
@@ -116,6 +116,7 @@
void set_chanlist(const char *host, struct userrec *rec);
void clear_chanlist(void);