#include "context.h"
#include "ctdl_module.h"
#include "user_ops.h"
+#include "internet_addressing.h"
/* These pipes are used to talk to the chkpwd daemon, which is forked during startup */
int chkpwd_write_pipe[2];
/*
- * Is the user currently logged in an Aide?
+ * Check to see if the specified user has Internet mail permission
+ * (returns nonzero if permission is granted)
+ */
+int CtdlCheckInternetMailPermission(struct ctdluser *who) {
+
+ /* Do not allow twits to send Internet mail */
+ if (who->axlevel <= AxProbU) return(0);
+
+ /* Globally enabled? */
+ if (config.c_restrict == 0) return(1);
+
+ /* User flagged ok? */
+ if (who->flags & US_INTERNET) return(2);
+
+ /* Admin level access? */
+ if (who->axlevel >= AxAideU) return(3);
+
+ /* No mail for you! */
+ return(0);
+}
+
+
+/*
+ * Is the user currently logged in an Admin?
*/
int is_aide(void)
{
/*
- * Is the user currently logged in an Aide *or* the room aide for this room?
+ * Is the user currently logged in an Admin *or* the room Admin for this room?
*/
int is_room_aide(void)
{
void cmd_invt_kick(char *iuser, int op) {
/*
- * These commands are only allowed by aides, room aides,
+ * These commands are only allowed by admins, room admins,
* and room namespace owners
*/
if (is_room_aide()) {
int CtdlForgetThisRoom(void) {
visit vbuf;
- /* On some systems, Aides are not allowed to forget rooms */
+ /* On some systems, Admins are not allowed to forget rooms */
if (is_aide() && (config.c_aide_zap == 0)
&& ((CC->room.QRflags & QR_MAILBOX) == 0) ) {
return(1);