modules/serv_upgrade$(SO) \
modules/serv_smtp$(SO) modules/serv_pop3$(SO) \
modules/serv_inetcfg$(SO) \
+ modules/serv_rwho$(SO) \
modules/serv_expire$(SO) $(SERV_ICQ)
UTIL_TARGETS=aidepost netmailer netproc netsetup msgform readlog rcit \
stats citmail netpoll mailinglist userlist sendcommand \
whobbs.c sendcommand.c mime_parser.c base64.c qpdecode.c getutline.c \
auth.c chkpwd.c client_icq.c html.c vcard.c serv_upgrade.c \
serv_smtp.c serv_pop3.c internet_addressing.c parsedate.c genstamp.c \
- domain.c clientsocket.c serv_inetcfg.c
+ domain.c clientsocket.c serv_inetcfg.c serv_rwho.c
DEP_FILES=$(SOURCES:.c=.d)
modules/serv_inetcfg.mo: serv_inetcfg.mo
ln -f serv_inetcfg.mo modules
+modules/serv_rwho.so: serv_rwho.mo
+ $(LINK_SHARED) -o modules/serv_rwho.so serv_rwho.mo
+
+modules/serv_rwho.mo: serv_rwho.mo
+ ln -f serv_rwho.mo modules
+
modules/serv_expire.so: serv_expire.mo
$(LINK_SHARED) -o modules/serv_expire.so serv_expire.mo
* returns an asterisk if there are any express messages waiting,
* space otherwise.
*/
-char check_express(void) {
+char CtdlCheckExpress(void) {
if (CC->FirstExpressMessage == NULL) {
return(' ');
}
}
-/*
- * who's online
- */
-void cmd_rwho(void) {
- struct CitContext *cptr;
- int spoofed = 0;
- int aide;
- char un[40];
- char real_room[ROOMNAMELEN], room[ROOMNAMELEN];
- char host[40], flags[5];
-
- aide = CC->usersupp.axlevel >= 6;
- cprintf("%d%c \n", LISTING_FOLLOWS, check_express() );
-
- for (cptr = ContextList; cptr != NULL; cptr = cptr->next)
- {
- flags[0] = '\0';
- spoofed = 0;
-
- if (cptr->cs_flags & CS_POSTING)
- strcat(flags, "*");
- else
- strcat(flags, ".");
-
- if (cptr->fake_username[0])
- {
- strcpy(un, cptr->fake_username);
- spoofed = 1;
- }
- else
- strcpy(un, cptr->curr_user);
-
- if (cptr->fake_hostname[0])
- {
- strcpy(host, cptr->fake_hostname);
- spoofed = 1;
- }
- else
- strcpy(host, cptr->cs_host);
-
- GenerateRoomDisplay(real_room, cptr, CC);
-
- if (cptr->fake_roomname[0]) {
- strcpy(room, cptr->fake_roomname);
- spoofed = 1;
- }
- else {
- strcpy(room, real_room);
- }
-
- if ((aide) && (spoofed))
- strcat(flags, "+");
-
- if ((cptr->cs_flags & CS_STEALTH) && (aide))
- strcat(flags, "-");
-
- if (((cptr->cs_flags&CS_STEALTH)==0) || (aide))
- {
- cprintf("%d|%s|%s|%s|%s|%ld|%s|%s\n",
- cptr->cs_pid, un, room,
- host, cptr->cs_clientname,
- (long)(cptr->lastidle),
- cptr->lastcmdname, flags);
- }
- if ((spoofed) && (aide))
- {
- cprintf("%d|%s|%s|%s|%s|%ld|%s|%s\n",
- cptr->cs_pid, cptr->curr_user,
- real_room,
- cptr->cs_host, cptr->cs_clientname,
- (long)(cptr->lastidle),
- cptr->lastcmdname, flags);
-
- }
- }
-
- /* Now it's magic time. Before we finish, call any EVT_RWHO hooks
- * so that external paging modules such as serv_icq can add more
- * content to the Wholist.
- */
- PerformSessionHooks(EVT_RWHO);
- cprintf("000\n");
- }
-
/*
* Terminate another running session
}
if (!strncasecmp(cmdbuf,"NOOP",4)) {
- cprintf("%d%cok\n",OK,check_express());
+ cprintf("%d%cok\n",OK,CtdlCheckExpress());
}
else if (!strncasecmp(cmdbuf,"QUIT",4)) {
cmd_netf(&cmdbuf[5]);
}
- else if (!strncasecmp(cmdbuf,"RWHO",4)) {
- cmd_rwho();
- }
-
else if (!strncasecmp(cmdbuf,"OPEN",4)) {
cmd_open(&cmdbuf[5]);
}
if (display_result)
cprintf("%d%c%s|%d|%d|%d|%d|%ld|%ld|%d|%d|%d|%d\n",
- OK, check_express(),
+ OK, CtdlCheckExpress(),
truncated_roomname,
new_messages, total_messages,
info, CC->quickroom.QRflags,
}
getroom(&CC->quickroom, CC->quickroom.QRname);
cprintf("%d%c%s|%s|%s|%d|%d|%d\n",
- OK, check_express(),
+ OK, CtdlCheckExpress(),
CC->quickroom.QRname,
((CC->quickroom.QRflags & QR_PASSWORDED) ? CC->quickroom.QRpasswd : ""),
((CC->quickroom.QRflags & QR_DIRECTORY) ? CC->quickroom.QRdirname : ""),