#include "config.h"
#include "dynloader.h"
#include "tools.h"
+#include "citserver.h"
/*
* Is the user currently logged in an Aide *or* the room aide for this room?
*/
int is_room_aide(void) {
+
+ if (!CC->logged_in) return(0);
+
if ( (CC->usersupp.axlevel >= 6)
|| (CC->quickroom.QRroomaide == CC->usersupp.usernum) ) {
return(1);
*/
void cmd_setp(char *new_pw)
{
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+ if (CtdlAccessCheck(ac_logged_in)) return;
+
if (CC->usersupp.uid != BBSUID) {
cprintf("%d Not allowed. Use the 'passwd' command.\n",ERROR);
return;
* get user parameters
*/
void cmd_getu(void) {
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+
+ if (CtdlAccessCheck(ac_logged_in)) return;
+
getuser(&CC->usersupp,CC->curr_user);
cprintf("%d %d|%d|%d|%d\n",
OK,
{
int new_mod;
+ if (CtdlAccessCheck(ac_logged_in)) return;
+
if (num_parms(new_parms) < 3) {
cprintf("%d Usage error.\n",ERROR);
return;
}
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+
lgetuser(&CC->usersupp,CC->curr_user);
CC->usersupp.USscreenwidth = extract_int(new_parms,0);
CC->usersupp.USscreenheight = extract_int(new_parms,1);
long newlr;
struct visit vbuf;
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+ if (CtdlAccessCheck(ac_logged_in)) return;
if (!strncasecmp(new_ptr,"highest",7)) {
newlr = CC->quickroom.QRhighest;
char bbb[256];
struct visit vbuf;
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
-
- if (is_room_aide()==0) {
- cprintf("%d Higher access required.\n",
- ERROR+HIGHER_ACCESS_REQUIRED);
- return;
- }
+ if (CtdlAccessCheck(ac_room_aide)) return;
if (lgetuser(&USscratch,iuser)!=0) {
cprintf("%d No such user.\n",ERROR);
void cmd_forg(void) {
struct visit vbuf;
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+ if (CtdlAccessCheck(ac_logged_in)) return;
if (is_aide()) {
cprintf("%d Aides cannot forget rooms.\n",ERROR);
struct cdbdata *cdbus;
struct usersupp usbuf;
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
-
- if (CC->usersupp.axlevel < 6) {
- cprintf("%d Higher access required.\n",
- ERROR+HIGHER_ACCESS_REQUIRED);
- return;
- }
+ if (CtdlAccessCheck(ac_aide)) return;
if ((CitControl.MMflags&MM_VALID)==0) {
cprintf("%d There are no unvalidated users.\n",OK);
extract(user,v_args,0);
newax = extract_int(v_args,1);
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
-
- if (CC->usersupp.axlevel < 6) {
- cprintf("%d Higher access required.\n",
- ERROR+HIGHER_ACCESS_REQUIRED);
- return;
- }
+ if (CtdlAccessCheck(ac_aide)) return;
if (lgetuser(&userbuf,user)!=0) {
cprintf("%d '%s' not found.\n",ERROR+NO_SUCH_USER,user);
int regis = 0;
int vali = 0;
- if (!(CC->logged_in)) {
- cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
- return;
- }
+ if (CtdlAccessCheck(ac_logged_in)) return;
getuser(&CC->usersupp,CC->curr_user); /* no lock is needed here */
if ((REGISCALL!=0)&&((CC->usersupp.flags&US_REGIS)==0)) regis = 1;
struct usersupp usbuf;
char requested_user[256];
- if ( (CC->internal_pgm==0)
- && ( (CC->logged_in == 0) || (is_aide()==0) ) ) {
- cprintf("%d Higher access required.\n",
- ERROR + HIGHER_ACCESS_REQUIRED);
- return;
- }
+ if (CtdlAccessCheck(ac_aide)) return;
extract(requested_user, cmdbuf, 0);
if (getuser(&usbuf, requested_user) != 0) {
int newax;
int deleted = 0;
- if ( (CC->internal_pgm==0)
- && ( (CC->logged_in == 0) || (is_aide()==0) ) ) {
- cprintf("%d Higher access required.\n",
- ERROR + HIGHER_ACCESS_REQUIRED);
- return;
- }
+ if (CtdlAccessCheck(ac_aide)) return;
extract(requested_user, cmdbuf, 0);
if (lgetuser(&usbuf, requested_user) != 0) {