* get_new_message_number() - Obtain a new, unique ID to be used for a message.
*/
long get_new_message_number() {
-
begin_critical_section(S_CONTROL);
get_control();
++CitControl.MMhighest;
* get_new_user_number() - Obtain a new, unique ID to be used for a user.
*/
long get_new_user_number() {
-
begin_critical_section(S_CONTROL);
get_control();
++CitControl.MMnextuser;
put_control();
end_critical_section(S_CONTROL);
- return(CitControl.MMhighest);
+ return(CitControl.MMnextuser);
}
int a;
gdbms[CDB_MSGMAIN] = gdbm_open("msgmain.gdbm", 8192,
- GDBM_WRCREAT, 0700, NULL);
+ GDBM_WRCREAT, 0600, NULL);
if (gdbms[CDB_MSGMAIN] == NULL) {
lprintf(2, "Cannot open msgmain: %s\n",
gdbm_strerror(gdbm_errno));
}
gdbms[CDB_USERSUPP] = gdbm_open("usersupp.gdbm", 0,
- GDBM_WRCREAT, 0700, NULL);
+ GDBM_WRCREAT, 0600, NULL);
if (gdbms[CDB_USERSUPP] == NULL) {
lprintf(2, "Cannot open usersupp: %s\n",
gdbm_strerror(gdbm_errno));
}
gdbms[CDB_QUICKROOM] = gdbm_open("quickroom.gdbm", 0,
- GDBM_WRCREAT, 0700, NULL);
+ GDBM_WRCREAT, 0600, NULL);
if (gdbms[CDB_QUICKROOM] == NULL) {
lprintf(2, "Cannot open quickroom: %s\n",
gdbm_strerror(gdbm_errno));
}
gdbms[CDB_FULLROOM] = gdbm_open("fullroom.gdbm", 0,
- GDBM_WRCREAT, 0700, NULL);
+ GDBM_WRCREAT, 0600, NULL);
if (gdbms[CDB_FULLROOM] == NULL) {
lprintf(2, "Cannot open fullroom: %s\n",
gdbm_strerror(gdbm_errno));
}
gdbms[CDB_FLOORTAB] = gdbm_open("floortab.gdbm", 0,
- GDBM_WRCREAT, 0700, NULL);
+ GDBM_WRCREAT, 0600, NULL);
if (gdbms[CDB_FLOORTAB] == NULL) {
lprintf(2, "Cannot open floortab: %s\n",
gdbm_strerror(gdbm_errno));
}
}
+ /* delete the userlog entry */
+ cdb_delete(CDB_USERSUPP, pname, strlen(pname));
+
/* remove the user's bio file */
sprintf(filename, "./bio/%ld", usbuf.usernum);
unlink(filename);
int create_user(char *newusername)
{
struct usersupp usbuf;
- int a,file;
- long aa;
+ int a;
struct passwd *p = NULL;
char username[64];
void cmd_gnur(void) {
struct cdbdata *cdbus;
struct usersupp usbuf;
- FILE *fp;
if (!(CC->logged_in)) {
cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);
userbuf.flags = (userbuf.flags & ~US_NEEDVALID);
lputuser(&userbuf,user);
+
+ /* If the access level was set to zero, delete the user */
+ if (newax == 0) {
+ purge_user(user);
+ cprintf("%d %s Deleted.\n", OK, userbuf.fullname);
+ return;
+ }
+
cprintf("%d ok\n",OK);
}
*/
void cmd_regi(void) {
int a,b,c;
- FILE *fp;
char buf[256];
char tmpname[256];
int mail = 0;
int regis = 0;
int vali = 0;
- int a,file;
+ int a;
if (!(CC->logged_in)) {
cprintf("%d Not logged in.\n",ERROR+NOT_LOGGED_IN);