/* * Playground+ - admin.h * Information about HCAdmins and privs * -------------------------------------------------------------------------- */ const char *HCAdminList[] = { "admin", "coder", "sysop", 0}; /* The actual privs - note that a good proportion of them have been ditched becuase they were dodgy when used from here or have specific commands for them. */ flag_list permission_list[] = { {"admin", ADMIN | LOWER_ADMIN | ASU | SU | PSU | WARN | DUMB}, {"admin_channel", ADC}, {"asu", SU | ASU | PSU | WARN | DUMB}, {"base", BASE}, {"build", BUILD}, {"builder", BUILDER}, {"coder", CODER},/* grant admin/lower_admin/asu/etc, then coder */ {"condom", PROTECT}, {"creator", SPECIALK}, {"debug", DEBUG}, {"echo", ECHO_PRIV}, {"hcadmin", HCADMIN|ADMIN|LOWER_ADMIN|ASU|SU|PSU|WARN|DUMB}, {"house", HOUSE}, {"list", LIST}, {"lower_admin", LOWER_ADMIN | SU | ASU | PSU | WARN | DUMB}, {"mail", MAIL}, {"minister", MINISTER}, {"nosync", NO_SYNC}, {"no_timeout", NO_TIMEOUT}, {"psu", PSU}, {"residency", BASE | BUILD | LIST | ECHO_PRIV | MAIL | SESSION }, #ifdef ROBOTS {"robot", ROBOT_PRIV}, #endif {"script", SCRIPT}, {"session", SESSION}, {"spod", SPOD}, {"sysroom", SYSTEM_ROOM}, {"trace", TRACE}, {"su", SU | PSU | WARN | DUMB}, {"warn", WARN}, {"", 0} }; /* These is the privs list containing the single priv that is required to grant from the above array */ flag_list perm_required[] = { /* staff privs */ {"hcadmin", HCADMIN}, {"coder", HCADMIN}, {"admin", HCADMIN}, {"admin_channel", LOWER_ADMIN}, {"lower_admin", ADMIN}, {"asu", ADMIN}, {"su", LOWER_ADMIN}, {"psu", LOWER_ADMIN}, {"warn", HCADMIN}, /* misc privs */ {"creator", ASU}, {"builder", ASU}, {"debug", HCADMIN}, {"spod", ASU}, {"condom", HCADMIN}, {"house", LOWER_ADMIN}, {"minister", ADMIN}, {"script", LOWER_ADMIN}, {"trace", LOWER_ADMIN}, {"no_timeout", LOWER_ADMIN}, #ifdef ROBOTS {"robot", HCADMIN}, #endif /* safe res privs */ {"session", LOWER_ADMIN}, {"echo", LOWER_ADMIN}, /* These should NEVER by granted or removed via the "grant" command since it could fargle pfiles. However it is required in order for code to work */ {"residency", HCADMIN}, {"base", HCADMIN}, {"build", HCADMIN}, {"list", HCADMIN}, {"mail", HCADMIN}, {"nosync", HCADMIN}, {"sysroom", HCADMIN}, {"", 0} };