#include <standard.h>
#include <cmd.h>
inherit CMD_BASE;
void setup()
{
position = 2;
}
int check_snoop(object ob) {
if((object)ob->query_snoopee())
return 1;
else
return 0;
} /* check_snoop() */
int check_qsnoop(object ob) {
if(query_snooping(ob))
return 1;
else
return 0;
} /* check_snoop() */
static int cmd(string str, object me) {
object *obs, *qobs;
int i;
qobs = filter_array(users(), "check_qsnoop", this_object());
obs = filter_array(users(), "check_snoop", this_object());
if (!"/secure/master"->high_programmer(geteuid(me)))
if (!sizeof(obs)) {
notify_fail("No one is being snooped by anyone.\n");
return 0;
} else {
for (i=0;i<sizeof(obs);i++)
write(obs[i]->query_cap_name()+" is snooping "+
obs[i]->query_snoopee()->query_cap_name()+".\n");
return 1;
}
if (!sizeof(obs) && !sizeof(qobs)) {
notify_fail("No one is being snooped by anyone.\n");
return 0;
} else {
for (i=0;i<sizeof(obs);i++)
write(obs[i]->query_cap_name()+" is snooping "+
obs[i]->query_snoopee()->query_cap_name()+".\n");
for (i=0;i<sizeof(qobs);i++) {
if (member_array(qobs[i],obs) == -1)
write(qobs[i]->query_cap_name()+" is qsnooping "+
query_snooping(qobs[i])->query_cap_name()+".\n");
}
return 1;
}
} /* do_snoopers() */