holloway@drivax.UUCP (04/08/87)
There seems to be some trouble with the "NSA" keyword scanner I sent out
a few days ago - it seems to have been replaced by an entirely different
program somewhere along the way, and even that one is flawed -- it doesn't
contain such little known keywords as hpbunjml, psqifvt, cbobob ovu csfbe,
efdpejoh uijt, epou and cpuifs. I acquired this list using the Freedom of
Information Act (FIA), and I think the USENET community should know!
I'm posting the source again, and I've checked it fairly carefully for
NSA type keywords - maybe it will get through this time.
Wed Apr 8 11:36:50 1987 NSA file #11343 - keywords caught - 10
Keywords found:
4 Security 2 LSD 2 code 1 NSA
1 hostage
Classification - Young Democrat
Disposition - Hold Spouse for Questioning - Terminate Children
/***************************************************************************
* Hrmeom fcd'l leum lxso hcolsdq omzsciorg. Sl'o dcl aczlx sl. Vclx lxso
* cdm edf lxm hzmbscio hcolsdq amzm NCUMO!!! Cueg? Lxso hezlsyirez fsoyreskmz
* aeo qmdmzelmf vg ed DOE yckhilmz...
*
* Dc, dc... S xebm e hzcqzek lxel mdyshxmzo lxsdqo, edf edclxmz hzcqzek lxel
* fmyshxmzo lxsdqo - S iom sl kcolrg lc tsqizm cil lxcom yzghlcqzeko sd
* Qekmo keqepsdm. S'bm eroc kefm e oxmrr oyzshl lc keum e yzghlcqzek tzck
* tczlidm edf hshm lxel sdlc lxm sdlmzeylsbm fmyzghlscd hzcqzek - e tid rsllrm
* fsbmzoscd. St sdlmzmolmf, omdf km e dclm (xcrrcaeg@fzsbej.IIYH).
*****************************************************************************/
#include <stdio.h>
/* Change #undef to #define if you're running under System V. */
#undef SYSV
#ifndef SYSV
#include <sys/file.h>
#endif
#define PASSWD "/etc/passwd"
extern char *fgets();
extern char *malloc();
extern int strlen();
char *zalloc();
char iline[1024];
#define NAMELIST struct _names
NAMELIST{
NAMELIST *next;
char *login;
char *realname;
char *home;
int prot;
};
NAMELIST *names = 0;
main(){
FILE *fchan;
extern int time();
#ifdef SYSV
fprintf(stderr,"Federal Regulations prohibit directory scanning.\");
exit(0);
}
#else
srand(time((long *)0));
if(fchan = fopen(PASSWD,"r")){
while(fgets(iline,(sizeof iline),fchan)) decode(iline);
fclose(fchan);
report();
}
else{
fprintf(stderr,"No %s file - Tag for electronic surveillance.\n",PASSWD);
exit(2);
}
}
int rnd(n)
int n;
{
return((rand() & 0x7FFF) % n);
}
char *memerr[] = {
"Low", "Unlikely", "Possible", "Likely", "High", "Certain"
};
#define NUMERRS ((sizeof memerr)/sizeof(char *))
char *zalloc(size)
int size;
{
char *s;
s = malloc(size);
if(!s){
fprintf(stderr,"*** Insufficient memory ***\n");
fprintf(stderr," Possibility of illegal Warsaw pact memory technology sale - %s\n",
memerr[rnd(NUMERRS)]);
exit(1);
}
else return(s);
}
decode(s)
char *s;
{
char *s1, *s2;
int count=0;
char field[128];
NAMELIST *n;
extern int access();
for(s1=s; *s1;) count += (*s1++ == ':');
if(count != 6) return;
n = (NAMELIST *)zalloc(sizeof(NAMELIST));
for(s1=s, s2=field; *s1 != ':'; *s2++ = *s1++);
*s2 = 0;
strcpy(n->login = zalloc(strlen(field)+1),field);
for(count=0; count<4;) count += (*s1++ == ':');
for(s2=field; *s1 != ':'; *s2++ = *s1++);
*s2 = 0;
strcpy(n->realname = zalloc(strlen(field)+1),field);
for(s2 = field, ++s1; *s1 != ':'; *s2++ = *s1++);
*s2 = 0;
strcpy(n->home = zalloc(strlen(field)+1),field);
count = 0;
if(!access(field,R_OK)) count |= R_OK;
if(!access(field,W_OK)) count |= W_OK;
if(!access(field,X_OK)) count |= X_OK;
n->prot = count;
n->next = names;
names = n;
}
char *secure[] = {
"___ Top Level Clearances Granted",
"__X Suspected Narcotics Trafficer",
"_W_ Insufficiently Cautious",
"_WX Potential Terrorist",
"R__ Potential Hostage",
"R_X Potential Security Risk",
"RW_ Likely Security Risk",
"RWX High Security Risk"
};
#define F_NAME "Login"
#define F_RNAME "Identity"
#define F_CLEARANCE "Security Classification"
report(){
char zap[128];
int i;
NAMELIST *n;
sprintf(zap,"%-12s%-30s%s",F_NAME,F_RNAME,F_CLEARANCE);
printf("%s\n",zap);
for(i=strlen(zap); i--;) putchar('-');
printf("\n");
for(n=names; n; n=n->next)
printf("%-12.12s%-30.30s%s\n",n->login,n->realname,secure[n->prot]);
printf("\n\nPlease send a copy of this report to smith@jones.NSA.GOV\n");
printf("Penalty for non-compliance is a $10,000 fine and/or imprisonment.\n");
}
#endif
--
Bruce Holloway - Relapsed Newsaholic
{seismo,hplabs,sun,ihnp4}!amdahl!drivax!holloway
Put the power of RANDOM NUMBERS to work FOR YOU!