/* -*- LPC -*- */
/*
* $Locker: $
* $Id: valid_seteuid.c,v 1.4 2000/06/19 04:28:27 ceres Exp $
*/
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() */