home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Interactive Guide
/
c-cplusplus-interactive-guide.iso
/
c_ref
/
csource3
/
141_01
/
logon.c
< prev
next >
Wrap
Text File
|
1985-03-11
|
14KB
|
694 lines
/* LOGON PROGRAM IN BDS C
r p sarna -- 19 jan 1984
dirigo data support systems
p o box 259
auburn, me 04210
*/
#include <bdscio.h>
/* Make logon id's in memory: */
char id0[11];
char id1[11];
char id2[11];
char id3[11];
char id4[11];
char id5[11];
char id6[11];
char id7[11];
char id8[11];
char id9[11];
char id10[11];
char id11[11];
char id12[11];
char id13[11];
char id14[11];
char id15[11];
/* Make passwords in memory: */
char pw0[11];
char pw1[11];
char pw2[11];
char pw3[11];
char pw4[11];
char pw5[11];
char pw6[11];
char pw7[11];
char pw8[11];
char pw9[11];
char pw10[11];
char pw11[11];
char pw12[11];
char pw13[11];
char pw14[11];
char pw15[11];
int ptr; /* pointer (value of) proper user number */
int unum; /* user number */
char idin[11]; /* logon id (answer from person logging on) */
char pwin[11]; /* password (answer from person logging on) */
char badfile; /* flag -- can't write out 'secret' file */
main()
{
getstuff(); /* read 'secret' file that has legal passwords */
nogood: clear();
badfile = NO;
idin[0] = '\0';
printf("logon identification? "); /* ask "Who's there?" */
getid();
ptr = -1;
if (strcmp(idin, id0) == 0) ptr = 0; /* see if we know them */
else if (strcmp(idin, id1) == 0) ptr = 1;
else if (strcmp(idin, id2) == 0) ptr = 2;
else if (strcmp(idin, id3) == 0) ptr = 3;
else if (strcmp(idin, id4) == 0) ptr = 4;
else if (strcmp(idin, id5) == 0) ptr = 5;
else if (strcmp(idin, id6) == 0) ptr = 6;
else if (strcmp(idin, id7) == 0) ptr = 7;
else if (strcmp(idin, id8) == 0) ptr = 8;
else if (strcmp(idin, id9) == 0) ptr = 9;
else if (strcmp(idin, id10) == 0) ptr = 10;
else if (strcmp(idin, id11) == 0) ptr = 11;
else if (strcmp(idin, id12) == 0) ptr = 12;
else if (strcmp(idin, id13) == 0) ptr = 13;
else if (strcmp(idin, id14) == 0) ptr = 14;
else if (strcmp(idin, id15) == 0) ptr = 15;
if (ptr < 0) goto nogood; /* we don't know them - ask again */
pwin[0] = '\0'; /* clean out password string */
switch (ptr) {
case 0: {
printf("\n\npassword? "); /* ask password */
getpw();
if (strcmp(pwin, pw0) != 0) goto nogood;
usrset( 0);
doover: printf("\n\nchange user number = ? (16 to save & end) ");
scanf("%d", &unum);
switch (unum) {
case 0: {
/* if logged in to 0; change? */ printf("\npresent logon id: '%s'", id0);
printf("\npresent password: '%s'", pw0);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id0, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw0, pwin);
goto doover;
}
case 1: {
printf("\npresent logon id: '%s'", id1);
printf("\npresent password: '%s'", pw1);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id1, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw1, pwin);
goto doover;
}
case 2: {
printf("\npresent logon id: '%s'", id2);
printf("\npresent password: '%s'", pw2);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id2, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw2, pwin);
goto doover;
}
case 3: {
printf("\npresent logon id: '%s'", id3);
printf("\npresent password: '%s'", pw3);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id3, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw3, pwin);
goto doover;
}
case 4: {
printf("\npresent logon id: '%s'", id4);
printf("\npresent password: '%s'", pw4);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id4, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw4, pwin);
goto doover;
}
case 5: {
printf("\npresent logon id: '%s'", id5);
printf("\npresent password: '%s'", pw5);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id5, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw5, pwin);
goto doover;
}
case 6: {
printf("\npresent logon id: '%s'", id6);
printf("\npresent password: '%s'", pw6);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id6, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw6, pwin);
goto doover;
}
case 7: {
printf("\npresent logon id: '%s'", id7);
printf("\npresent password: '%s'", pw7);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id7, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw7, pwin);
goto doover;
}
case 8: {
printf("\npresent logon id: '%s'", id8);
printf("\npresent password: '%s'", pw8);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id8, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw8, pwin);
goto doover;
}
case 9: {
printf("\npresent logon id: '%s'", id9);
printf("\npresent password: '%s'", pw9);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id9, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw9, pwin);
goto doover;
}
case 10: {
printf("\npresent logon id: '%s'", id10);
printf("\npresent password: '%s'", pw10);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id10, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw10, pwin);
goto doover;
}
case 11: {
printf("\npresent logon id: '%s'", id11);
printf("\npresent password: '%s'", pw11);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id11, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw11, pwin);
goto doover;
}
case 12: {
printf("\npresent logon id: '%s'", id12);
printf("\npresent password: '%s'", pw12);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id12, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw12, pwin);
goto doover;
}
case 13: {
printf("\npresent logon id: '%s'", id13);
printf("\npresent password: '%s'", pw13);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id13, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw13, pwin);
goto doover;
}
case 14: {
printf("\npresent logon id: '%s'", id14);
printf("\npresent password: '%s'", pw14);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id14, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw14, pwin);
goto doover;
}
case 15: {
printf("\npresent logon id: '%s'", id15);
printf("\npresent password: '%s'", pw15);
printf("\n\nnew logon identification ? ");
scanf("%s", idin);
strcpy(id15, idin);
printf("\nnew password = ? ");
scanf("%s", pwin);
strcpy(pw15, pwin);
goto doover;
}
case 16: {
/* dump out file: */ savestuff();
break;
}
default: goto nogood;
}
if (badfile == YES) goto nogood;
break;
}
case 1: {
/* for each user: */ printf("\n\npassword? ");
/* get his password */ getpw();
/* if wrong, abort */ if (strcmp(pwin, pw1) != 0) goto nogood;
/* if OK set user # */ usrset( 1);
/* all done */ break;
}
case