struct cdbdata *cdbus;
int using_sysuser = 0;
- memset(usbuf, 0, sizeof(struct ctdluser));
+ if (usbuf != NULL) {
+ memset(usbuf, 0, sizeof(struct ctdluser));
+ }
#ifdef ENABLE_AUTOLOGIN
if (CtdlAssociateSystemUser(sysuser_name, name) == 0) {
if (cdbus == NULL) { /* user not found */
return(1);
}
- memcpy(usbuf, cdbus->ptr,
- ((cdbus->len > sizeof(struct ctdluser)) ?
- sizeof(struct ctdluser) : cdbus->len));
+ if (usbuf != NULL) {
+ memcpy(usbuf, cdbus->ptr,
+ ((cdbus->len > sizeof(struct ctdluser)) ?
+ sizeof(struct ctdluser) : cdbus->len));
+ }
cdb_free(cdbus);
return (0);
char username[SIZ];
int found_user;
struct recptypes *valid = NULL;
- struct passwd *p = NULL;
if (trythisname == NULL) return login_not_found;
- safestrncpy(username, trythisname, sizeof username);
- strproc(username);
+ safestrncpy(username, trythisname, USERNAME_SIZE);
+ striplt(username);
if ((CC->logged_in)) {
return login_already_logged_in;
* is an e-mail address
*/
if (found_user != 0) {
- valid = validate_recipients(trythisname);
+ valid = validate_recipients(username);
if (valid != NULL) {
if (valid->num_local == 1) {
found_user = getuser(&CC->user,
valid->recp_local);
}
- phree(valid);
+ free(valid);
}
}
* account.
*/
if (found_user != 0) {
- p = (struct passwd *) getpwnam(username);
+ struct passwd *p = (struct passwd *) getpwnam(username);
+
if (p != NULL) {
create_user(username, 0);
found_user = getuser(&CC->user, username);
/* Create any personal rooms required by the system.
* (Technically, MAILROOM should be there already, but just in case...)
*/
- create_room(MAILROOM, 4, "", 0, 1, 0);
- create_room(SENTITEMS, 4, "", 0, 1, 0);
+ create_room(MAILROOM, 4, "", 0, 1, 0, VIEW_BBS);
+ create_room(SENTITEMS, 4, "", 0, 1, 0, VIEW_BBS);
/* Run any startup routines registered by loadable modules */
PerformSessionHooks(EVT_LOGIN);
case pass_ok:
logged_in_response();
return;
- cprintf("%d Can't find user record!\n",
- ERROR + INTERNAL_ERROR);
}
}
{
struct ctdluser usbuf;
struct ctdlroom qrbuf;
- struct passwd *p = NULL;
char username[SIZ];
char mailboxname[ROOMNAMELEN];
uid_t uid;
strproc(username);
#ifdef ENABLE_AUTOLOGIN
- p = (struct passwd *) getpwnam(username);
- if (p != NULL) {
- extract_token(username, p->pw_gecos, 0, ',');
- uid = p->pw_uid;
- } else {
- uid = (-1);
+ {
+ struct passwd *p = (struct passwd *) getpwnam(username);
+
+ if (p != NULL) {
+ extract_token(username, p->pw_gecos, 0, ',');
+ uid = p->pw_uid;
+ } else {
+ uid = (-1);
+ }
}
#else
uid = (-1);
* Make the latter an invisible system room.
*/
MailboxName(mailboxname, sizeof mailboxname, &usbuf, MAILROOM);
- create_room(mailboxname, 5, "", 0, 1, 1);
+ create_room(mailboxname, 5, "", 0, 1, 1, VIEW_BBS);
MailboxName(mailboxname, sizeof mailboxname, &usbuf, USERCONFIGROOM);
- create_room(mailboxname, 5, "", 0, 1, 1);
+ create_room(mailboxname, 5, "", 0, 1, 1, VIEW_BBS);
if (lgetroom(&qrbuf, mailboxname) == 0) {
qrbuf.QRflags2 |= QR2_SYSTEM;
lputroom(&qrbuf);
cdbfr = cdb_fetch(CDB_MSGLISTS, &mailbox.QRnumber, sizeof(long));
if (cdbfr != NULL) {
- msglist = mallok(cdbfr->len);
+ msglist = malloc(cdbfr->len);
memcpy(msglist, cdbfr->ptr, cdbfr->len);
num_msgs = cdbfr->len / sizeof(long);
cdb_free(cdbfr);
}
}
if (msglist != NULL)
- phree(msglist);
+ free(msglist);
return (num_newmsgs);
}