Several updates for IsDoing information

This commit is contained in:
Michiel Broek 2002-11-11 14:52:13 +00:00
parent b314568630
commit 919b9ed3ba
11 changed files with 435 additions and 401 deletions

View File

@ -23,11 +23,29 @@ v0.35.05 19-Oct-2002
mbsebbs: mbsebbs:
Email posted at the bbs was not signed with the signature. Email posted at the bbs was not signed with the signature.
Fixed the bug where the filearea number was lost. This was
caused when a user was logged off before the login procedure
was complete.
If user was displaying the whoson list and there was no
matching isdoing action then browsing will be displayed
instead of system error.
Sends Unix name instead of long name to mbtask.
During login the OS and CPU type is displayed.
mbnewusr:
Sends Unix name instead of long name to mbtask.
During login the OS and CPU type is displayed.
mbmon:
In screen 1, username field decreased ro 8 characters and the
doing field is increased to 26 characters.
mbcico: mbcico:
Fixed crash with incoming YooHoo session with bad password. Fixed crash with incoming YooHoo session with bad password.
Still used the phone override fields for hostname override Still used the phone override fields for hostname override
with internet calls if there was something filled in. with internet calls if there was something filled in.
For inbound sessions if the remote is listed in some nodelist,
mbtask is updated with the sysop name and location.
mbout: mbout:
The stat command now also shows what is on hold for a node The stat command now also shows what is on hold for a node

View File

@ -69,6 +69,8 @@ static int binkp_batch(file_list *, int);
extern char *ttystat[]; extern char *ttystat[];
extern int Loaded; extern int Loaded;
extern pid_t mypid;
extern unsigned long sentbytes; extern unsigned long sentbytes;
extern unsigned long rcvdbytes; extern unsigned long rcvdbytes;
@ -412,7 +414,7 @@ SM_STATE(waitconn)
Loaded = FALSE; Loaded = FALSE;
Syslog('+', "Start binkp session with %s", ascfnode(remote->addr, 0x1f)); Syslog('+', "Start binkp session with %s", ascfnode(remote->addr, 0x1f));
IsDoing("Connect binkp %s", ascfnode(remote->addr, 0x1f)); IsDoing("Connect binkp %s", ascfnode(remote->addr, 0xf));
b_banner(TRUE); b_banner(TRUE);
binkp_send_control(MM_NUL,"OPT MB CRC"); binkp_send_control(MM_NUL,"OPT MB CRC");
@ -660,6 +662,7 @@ SM_STATE(waitaddr)
if (inbound) if (inbound)
free(inbound); free(inbound);
inbound = xstrcpy(CFG.inbound); inbound = xstrcpy(CFG.inbound);
UserCity(mypid, nlent->sysop, nlent->location);
break; break;
} }
} }
@ -820,7 +823,7 @@ int binkp_batch(file_list *to_send, int role)
batchnr++; batchnr++;
Syslog('+', "Binkp: starting batch %d", batchnr); Syslog('+', "Binkp: starting batch %d", batchnr);
IsDoing("Binkp %s %s", (role == 1)?"out":"inb", ascfnode(remote->addr, 0x1f)); IsDoing("Binkp %s %s", (role == 1)?"out":"inb", ascfnode(remote->addr, 0xf));
txbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char)); txbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char));
rxbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char)); rxbuf = calloc(MAX_BLKSIZE + 3, sizeof(unsigned char));
rname = calloc(512, sizeof(char)); rname = calloc(512, sizeof(char));

View File

@ -58,6 +58,7 @@ static char *intro;
static int caller; static int caller;
extern int most_debug; extern int most_debug;
extern pid_t mypid;
int emsi_local_lcodes; int emsi_local_lcodes;
int emsi_remote_lcodes; int emsi_remote_lcodes;
@ -137,6 +138,7 @@ int rx_emsi(char *data)
if (inbound) if (inbound)
free(inbound); free(inbound);
inbound = xstrcpy(CFG.inbound); inbound = xstrcpy(CFG.inbound);
UserCity(mypid, nlent->sysop, nlent->location);
break; break;
} }
if (nlent) if (nlent)

View File

@ -59,6 +59,8 @@ static int txftsc(void);
static int recvfiles(void); static int recvfiles(void);
static file_list *tosend; static file_list *tosend;
extern int Loaded; extern int Loaded;
extern pid_t mypid;
int rx_ftsc(void) int rx_ftsc(void)
@ -377,7 +379,7 @@ SM_EDECL
char recvpktname[16]; char recvpktname[16];
char *fpath; char *fpath;
FILE *fp; FILE *fp;
faddr f,t; faddr f, t;
fa_list **tmpl; fa_list **tmpl;
SM_START(recv_packet) SM_START(recv_packet)
@ -448,6 +450,7 @@ SM_STATE(scan_packet)
strncpy(history.system_name, nlent->name, 35); strncpy(history.system_name, nlent->name, 35);
strncpy(history.location, nlent->location, 35); strncpy(history.location, nlent->location, 35);
strncpy(history.sysop, nlent->sysop, 35); strncpy(history.sysop, nlent->sysop, 35);
UserCity(mypid, nlent->sysop, nlent->location);
} else { } else {
sprintf(history.system_name, "Unknown"); sprintf(history.system_name, "Unknown");
sprintf(history.location, "Somewhere"); sprintf(history.location, "Somewhere");
@ -475,7 +478,9 @@ SM_STATE(scan_packet)
} else { } else {
SM_SUCCESS; SM_SUCCESS;
} }
default: Syslog('+', "received bad packet apparently from",ascfnode(&f,0x1f));
default:
Syslog('+', "received bad packet apparently from",ascfnode(&f,0x1f));
fclose(fp); fclose(fp);
SM_ERROR; SM_ERROR;
} }

View File

@ -114,6 +114,7 @@ typedef struct _Hello {
extern int Loaded; extern int Loaded;
extern pid_t mypid;
Hello hello2; Hello hello2;
Hello gethello2(unsigned char[]); Hello gethello2(unsigned char[]);
@ -166,6 +167,7 @@ int rx_yoohoo(void)
free(inbound); free(inbound);
inbound = xstrcpy(CFG.inbound); inbound = xstrcpy(CFG.inbound);
strncpy(history.location, nlent->location, 35); strncpy(history.location, nlent->location, 35);
UserCity(mypid, nlent->sysop, nlent->location);
} }
if (nlent) if (nlent)
rdoptions(Loaded); rdoptions(Loaded);

View File

@ -203,10 +203,10 @@ void system_moni(void)
cnt = strtok(buf, ","); cnt = strtok(buf, ",");
mvprintw(y, 1, (char *)"%.5s", strtok(NULL, ",")); mvprintw(y, 1, (char *)"%.5s", strtok(NULL, ","));
mvprintw(y, 7, (char *)"%.6s", strtok(NULL, ",")); mvprintw(y, 7, (char *)"%.6s", strtok(NULL, ","));
mvprintw(y,14, (char *)"%.16s", strtok(NULL, ",")); mvprintw(y,14, (char *)"%.8s", strtok(NULL, ","));
mvprintw(y,31, (char *)"%.8s", strtok(NULL, ",")); mvprintw(y,23, (char *)"%.8s", strtok(NULL, ","));
mvprintw(y,40, (char *)"%.15s", strtok(NULL, ",")); mvprintw(y,32, (char *)"%.15s", strtok(NULL, ","));
mvprintw(y,56, (char *)"%.18s", strtok(NULL, ",")); mvprintw(y,48, (char *)"%.26s", strtok(NULL, ","));
start = atoi(strtok(NULL, ";")); start = atoi(strtok(NULL, ";"));
now = time(NULL); now = time(NULL);
mvprintw(y,75, (char *)"%s", t_elapsed(start, now)); mvprintw(y,75, (char *)"%s", t_elapsed(start, now));

View File

@ -177,7 +177,7 @@ int main(int argc, char **argv)
} }
colour(YELLOW, BLACK); colour(YELLOW, BLACK);
printf("MBSE BBS v%s (Release: %s)\n", VERSION, ReleaseDate); printf("MBSE BBS v%s (Release: %s) on %s/%s\n", VERSION, ReleaseDate, OsName(), OsCPU());
colour(WHITE, BLACK); colour(WHITE, BLACK);
printf("%s\n\n", COPYRIGHT); printf("%s\n\n", COPYRIGHT);

View File

@ -175,7 +175,7 @@ int main(int argc, char **argv)
DisplayLogo(); DisplayLogo();
colour(YELLOW, BLACK); colour(YELLOW, BLACK);
printf("MBSE BBS v%s (Release: %s)\n", VERSION, ReleaseDate); printf("MBSE BBS v%s (Release: %s) on %s/%s\n", VERSION, ReleaseDate, OsName(), OsCPU());
colour(WHITE, BLACK); colour(WHITE, BLACK);
printf("%s\n\n", COPYRIGHT); printf("%s\n\n", COPYRIGHT);

View File

@ -147,7 +147,6 @@ int newuser()
} while (badname); } while (badname);
strcpy(FullName, tlcap(temp)); strcpy(FullName, tlcap(temp));
UserCity(mypid, FullName, (char *)"Unknown");
while (TRUE) { while (TRUE) {
Enter(1); Enter(1);
@ -187,6 +186,7 @@ int newuser()
sprintf(usrconfig.Password, "%s", temp2); sprintf(usrconfig.Password, "%s", temp2);
alarm_on(); alarm_on();
sprintf(UnixName, "%s", (char *) NameCreate(NameGen(FullName), FullName, temp2)); sprintf(UnixName, "%s", (char *) NameCreate(NameGen(FullName), FullName, temp2));
UserCity(mypid, UnixName, (char *)"Unknown");
strcpy(usrconfig.sUserName, FullName); strcpy(usrconfig.sUserName, FullName);
strcpy(usrconfig.Name, UnixName); strcpy(usrconfig.Name, UnixName);
@ -297,7 +297,7 @@ int newuser()
Enter(1); Enter(1);
} else { } else {
strcpy(usrconfig.sLocation, temp); strcpy(usrconfig.sLocation, temp);
UserCity(mypid, FullName, temp); UserCity(mypid, UnixName, temp);
break; break;
} }
} }

View File

@ -224,7 +224,7 @@ void user()
token = strtok(NULL, "\0"); token = strtok(NULL, "\0");
i = strlen(token); i = strlen(token);
for(x = 2; x < i; x++) { for(x = 2; x < i; x++) {
if(token[x] == ' ') if (token[x] == ' ')
token[x] = '\0'; token[x] = '\0';
} }
strcpy(LastName, token); strcpy(LastName, token);
@ -252,9 +252,9 @@ void user()
* empty but we have to send something to the server. * empty but we have to send something to the server.
*/ */
if (strlen(usrconfig.sLocation)) if (strlen(usrconfig.sLocation))
UserCity(mypid, usrconfig.sUserName, usrconfig.sLocation); UserCity(mypid, usrconfig.Name, usrconfig.sLocation);
else else
UserCity(mypid, usrconfig.sUserName, (char *)"N/A"); UserCity(mypid, usrconfig.Name, (char *)"N/A");
/* /*
* Set last file and message area so these numbers are saved when * Set last file and message area so these numbers are saved when
@ -262,7 +262,7 @@ void user()
* menu. Later in this function the areas are set permanent. * menu. Later in this function the areas are set permanent.
*/ */
iAreaNumber = usrconfig.iLastFileArea; iAreaNumber = usrconfig.iLastFileArea;
iLastMsgArea = usrconfig.iLastMsgArea; iMsgAreaNumber = usrconfig.iLastMsgArea;
/* /*
* See if this user is the Sysop. * See if this user is the Sysop.
@ -422,12 +422,12 @@ void user()
ChangeHomeDir(exitinfo.Name, exitinfo.Email); ChangeHomeDir(exitinfo.Name, exitinfo.Email);
Syslog('+', "User successfully logged into BBS"); Syslog('+', "User successfully logged into BBS");
Syslog('+', "Level %d (%s), %d mins. left, port %s", Syslog('+', "Level %d (%s), %d mins. left, port %s", usrconfig.Security.level, LIMIT.Description, usrconfig.iTimeLeft, pTTY);
usrconfig.Security.level, LIMIT.Description, usrconfig.iTimeLeft, pTTY);
Time2Go = time(NULL); Time2Go = time(NULL);
Time2Go += usrconfig.iTimeLeft * 60; Time2Go += usrconfig.iTimeLeft * 60;
iUserTimeLeft = exitinfo.iTimeLeft; iUserTimeLeft = exitinfo.iTimeLeft;
IsDoing("Welcome screens");
DisplayFile((char *)"mainlogo"); DisplayFile((char *)"mainlogo");
DisplayFile((char *)"welcome"); DisplayFile((char *)"welcome");
@ -498,14 +498,18 @@ void user()
OLR_SyncTags(); OLR_SyncTags();
if (exitinfo.MailScan) if (exitinfo.MailScan) {
IsDoing("New mail check");
CheckMail(); CheckMail();
}
/* /*
* We don't show new files to new users. * We don't show new files to new users.
*/ */
if (exitinfo.ieFILE && (!IsNew)) if (exitinfo.ieFILE && (!IsNew)) {
IsDoing("New files check");
NewfileScan(FALSE); NewfileScan(FALSE);
}
/* /*
* Copy last file Area in to current Area * Copy last file Area in to current Area

View File

@ -173,10 +173,11 @@ void WhosOn(char *OpData)
/* WhosOn List */ /* WhosOn List */
printf("%-15s", (char *) Language(428)); printf("%-15s", (char *) Language(428));
else if (strstr(isdoing, "Offline")) else if (strstr(isdoing, "Offline"))
/* Idle */ /* Offline Reader */
printf("%-15s", (char *) Language(429)); printf("%-15s", (char *) Language(429));
else else
printf("System error "); /* Browsing */ /* This is default when nothing matches */
printf("%-15s", (char *) Language(418));
colour(LIGHTRED, BLACK); colour(LIGHTRED, BLACK);
printf("%-25s\n", location); printf("%-25s\n", location);
@ -253,7 +254,6 @@ void WhosDoingWhat(int iStatus)
break; break;
} }
IsDoing(temp); IsDoing(temp);
free(temp); free(temp);
} }