From b84827a6dad0f32c2bd6ba2bdd8801464af1a409 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Fri, 3 Mar 2000 04:50:15 +0000 Subject: [PATCH] * Moved all of the wholist masquerading commands into the serv_rwho module --- citadel/ChangeLog | 4 ++ citadel/citserver.c | 112 ----------------------------------------- citadel/citserver.h | 4 -- citadel/serv_rwho.c | 120 ++++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 121 insertions(+), 119 deletions(-) diff --git a/citadel/ChangeLog b/citadel/ChangeLog index 9ef6add8e..da97ff96a 100644 --- a/citadel/ChangeLog +++ b/citadel/ChangeLog @@ -1,4 +1,7 @@ $Log$ +Revision 1.475 2000/03/03 04:50:14 ajc +* Moved all of the wholist masquerading commands into the serv_rwho module + Revision 1.474 2000/03/03 04:12:37 ajc * Finished the inbound side of gateway domain service @@ -1682,3 +1685,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant Fri Jul 10 1998 Art Cancro * Initial CVS import + diff --git a/citadel/citserver.c b/citadel/citserver.c index bcba39ebc..5ebd5e44c 100644 --- a/citadel/citserver.c +++ b/citadel/citserver.c @@ -306,66 +306,6 @@ void cmd_info(void) { cprintf("000\n"); } -void cmd_rchg(char *argbuf) -{ - char newroomname[256]; - - extract(newroomname, argbuf, 0); - newroomname[ROOMNAMELEN-1] = 0; - if (strlen(newroomname) > 0) { - safestrncpy(CC->fake_roomname, newroomname, - sizeof(CC->fake_roomname) ); - } - else { - strcpy(CC->fake_roomname, ""); - } - cprintf("%d OK\n", OK); -} - -void cmd_hchg(char *argbuf) -{ - char newhostname[256]; - - extract(newhostname, argbuf, 0); - if (strlen(newhostname) > 0) { - safestrncpy(CC->fake_hostname, newhostname, - sizeof(CC->fake_hostname) ); - } - else { - strcpy(CC->fake_hostname, ""); - } - cprintf("%d OK\n", OK); -} - -void cmd_uchg(char *argbuf) -{ - - char newusername[256]; - - extract(newusername, argbuf, 0); - - if (CC->usersupp.axlevel < 6) { - cprintf("%d You must be an Aide to masquerade your name.\n", - ERROR+HIGHER_ACCESS_REQUIRED); - return; - } - - if (strlen(newusername) > 0) { - CC->cs_flags &= ~CS_STEALTH; - memset(CC->fake_username, 0, 32); - if (strncasecmp(newusername, CC->curr_user, - strlen(CC->curr_user))) - safestrncpy(CC->fake_username, newusername, - sizeof(CC->fake_username)); - } - else { - CC->fake_username[0] = '\0'; - CC->cs_flags |= CS_STEALTH; - } - cprintf("%d\n",OK); -} - - /* * returns an asterisk if there are any express messages waiting, @@ -499,42 +439,6 @@ void cmd_iden(char *argbuf) } -/* - * enter or exit "stealth mode" - */ -void cmd_stel(char *cmdbuf) -{ - int requested_mode; - - requested_mode = extract_int(cmdbuf,0); - if (requested_mode !=0) requested_mode = 1; - - if (!CC->logged_in) { - cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN); - return; - } - - if (CC->usersupp.axlevel < 6) { - cprintf("%d You must be an Aide to use stealth mode.\n", - ERROR+HIGHER_ACCESS_REQUIRED); - return; - } - - if (CC->cs_flags & CS_STEALTH) { - if (requested_mode == 0) - CC->cs_flags = CC->cs_flags-CS_STEALTH; - } - else { - if (requested_mode == 1) - CC->cs_flags = CC->cs_flags|CS_STEALTH; - } - - cprintf("%d Ok\n",OK); - } - - - - /* * display system messages or help */ @@ -1174,10 +1078,6 @@ void do_command_loop(void) { cmd_lbio(); } - else if (!strncasecmp(cmdbuf,"STEL",4)) { - cmd_stel(&cmdbuf[5]); - } - else if (!strncasecmp(cmdbuf,"TERM",4)) { cmd_term(&cmdbuf[5]); } @@ -1198,22 +1098,10 @@ void do_command_loop(void) { cmd_uimg(&cmdbuf[5]); } - else if (!strncasecmp(cmdbuf, "UCHG", 4)) { - cmd_uchg(&cmdbuf[5]); - } - else if (!strncasecmp(cmdbuf, "TIME", 4)) { cmd_time(); } - else if (!strncasecmp(cmdbuf, "HCHG", 4)) { - cmd_hchg(&cmdbuf[5]); - } - - else if (!strncasecmp(cmdbuf, "RCHG", 4)) { - cmd_rchg(&cmdbuf[5]); - } - else if (!strncasecmp(cmdbuf, "AGUP", 4)) { cmd_agup(&cmdbuf[5]); } diff --git a/citadel/citserver.h b/citadel/citserver.h index 9724a6428..8c5822951 100644 --- a/citadel/citserver.h +++ b/citadel/citserver.h @@ -5,13 +5,9 @@ void RemoveContext (struct CitContext *); void set_wtmpsupp (char *newtext); void set_wtmpsupp_to_current_room(void); void cmd_info (void); -void cmd_rchg (char *newroomname); -void cmd_hchg (char *newhostname); -void cmd_uchg (char *newusername); void cmd_time (void); int is_public_client (char *where); void cmd_iden (char *argbuf); -void cmd_stel (char *cmdbuf); void cmd_mesg (char *mname); void cmd_emsg (char *mname); void cmd_term (char *cmdbuf); diff --git a/citadel/serv_rwho.c b/citadel/serv_rwho.c index a836e8d19..7519c3175 100644 --- a/citadel/serv_rwho.c +++ b/citadel/serv_rwho.c @@ -1,7 +1,8 @@ /* * $Id$ * - * This module implements the RWHO (Read WHO's online) server command. + * This module implementsserver commands related to the display and + * manipulation of the "Who's online" list. * */ @@ -36,9 +37,8 @@ - /* - * who's online + * display who's online */ void cmd_rwho(char *argbuf) { struct CitContext *cptr; @@ -122,9 +122,123 @@ void cmd_rwho(char *argbuf) { } +/* + * Masquerade roomname + */ +void cmd_rchg(char *argbuf) +{ + char newroomname[256]; + + extract(newroomname, argbuf, 0); + newroomname[ROOMNAMELEN-1] = 0; + if (strlen(newroomname) > 0) { + safestrncpy(CC->fake_roomname, newroomname, + sizeof(CC->fake_roomname) ); + } + else { + strcpy(CC->fake_roomname, ""); + } + cprintf("%d OK\n", OK); +} + +/* + * Masquerade hostname + */ +void cmd_hchg(char *argbuf) +{ + char newhostname[256]; + + extract(newhostname, argbuf, 0); + if (strlen(newhostname) > 0) { + safestrncpy(CC->fake_hostname, newhostname, + sizeof(CC->fake_hostname) ); + } + else { + strcpy(CC->fake_hostname, ""); + } + cprintf("%d OK\n", OK); +} + + +/* + * Masquerade username (aides only) + */ +void cmd_uchg(char *argbuf) +{ + + char newusername[256]; + + extract(newusername, argbuf, 0); + + if (CC->usersupp.axlevel < 6) { + cprintf("%d You must be an Aide to masquerade your name.\n", + ERROR+HIGHER_ACCESS_REQUIRED); + return; + } + + if (strlen(newusername) > 0) { + CC->cs_flags &= ~CS_STEALTH; + memset(CC->fake_username, 0, 32); + if (strncasecmp(newusername, CC->curr_user, + strlen(CC->curr_user))) + safestrncpy(CC->fake_username, newusername, + sizeof(CC->fake_username)); + } + else { + CC->fake_username[0] = '\0'; + CC->cs_flags |= CS_STEALTH; + } + cprintf("%d\n",OK); +} + + + + +/* + * enter or exit "stealth mode" + */ +void cmd_stel(char *cmdbuf) +{ + int requested_mode; + + requested_mode = extract_int(cmdbuf,0); + if (requested_mode !=0) requested_mode = 1; + + if (!CC->logged_in) { + cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN); + return; + } + + if (CC->usersupp.axlevel < 6) { + cprintf("%d You must be an Aide to use stealth mode.\n", + ERROR+HIGHER_ACCESS_REQUIRED); + return; + } + + if (CC->cs_flags & CS_STEALTH) { + if (requested_mode == 0) + CC->cs_flags = CC->cs_flags-CS_STEALTH; + } + else { + if (requested_mode == 1) + CC->cs_flags = CC->cs_flags|CS_STEALTH; + } + + cprintf("%d Ok\n",OK); + } + + + + + + char *Dynamic_Module_Init(void) { CtdlRegisterProtoHook(cmd_rwho, "RWHO", "Display who is online"); + CtdlRegisterProtoHook(cmd_hchg, "HCHG", "Masquerade hostname"); + CtdlRegisterProtoHook(cmd_rchg, "RCHG", "Masquerade roomname"); + CtdlRegisterProtoHook(cmd_uchg, "UCHG", "Masquerade username"); + CtdlRegisterProtoHook(cmd_stel, "STEL", "Enter/exit stealth mode"); return "$Id$"; } -- 2.30.2