/* -*- LPC -*- */
int valid_euid(string str) {
string *domains;
switch (str) {
case "all":
case "Handlers":
case "Mailer":
case "Network":
case "Room":
case "Spell":
case "WWW":
return 1;
default:
domains = unguarded((: get_dir, "/d/" :));
domains -= ({ "lost+found" });
domains = map(domains, (: capitalize($1) :));
if (member_array(str, domains) != -1) {
return 1;
}
return 0;
}
}
int valid_seteuid(object ob, string euid) {
string crea;
if (euid == "tmp") {
return 1;
}
if ( !objectp( ob ) )
return 0;
crea = creator_file(file_name(ob));
if (crea == "Root" || crea == "Room") {
return 1;
}
return (euid == crea) || !euid;
} /* valid_seteuid() */