Undeliverable mail: SMTP delivery failure

IN%Postmaster at VAX1.Mankato.MSUS.EDU%MKVAX1.DECNET IN%Postmaster at VAX1.Mankato.MSUS.EDU%MKVAX1.DECNET
Fri Feb 15 07:05:59 AEST 1991


Return-path: <postmaster at VAX1.Mankato.MSUS.EDU>
Date: Thu, 14 Feb 1991 13:43 CST
From: PMDF Mail Server <Postmaster at VAX1.Mankato.MSUS.EDU>
Subject: Undeliverable mail: SMTP delivery failure
To: "MSUS1::IN%\"UNIX-WIZARDS at BRL.MIL\""@VAX1.Mankato.MSUS.EDU
Message-id: <8A67D160E020493A at VAX1.Mankato.MSUS.EDU>

The message could not be delivered to:

Addressee: BD6 at MKATT1.MANKATO.MSUS.EDU
Reason: Illegal host/domain name found.

----------------------------------------

Received: from DECNET-MAIL by VAX1.Mankato.MSUS.EDU with PMDF#10000; Thu, 14
 Feb 1991 13:42 CST
Date: Thu, 14 Feb 1991 13:42 CST
From: "MSUS1::IN%\"UNIX-WIZARDS at BRL.MIL\""@VAX1.Mankato.MSUS.EDU
Subject: UNIX-WIZARDS Digest  V12#017
To: BD6 at MKATT1.MANKATO.MSUS.EDU
Message-id: <8A4D515220205736 at VAX1.Mankato.MSUS.EDU>
X-VMS-To: "Brian D. Goecke" <bd6%MKVAX1.DECNET at MSUS1.BITNET>

Return-path: <UNIX-WIZ at NDSUVM1.BITNET>
Received: from NDSUVM1.BITNET (MAILER at NDSUVM1) by MSUS1.MSUS.EDU with
 PMDF#10130; Wed, 13 Feb 1991 05:36 CST
Received: by NDSUVM1 (Mailer R2.07) id 6288; Wed, 13 Feb 91 05:32:49 CST
Date: Wed, 13 Feb 91 05:45:03 EST
From: Mike Muuss The Moderator <Unix-Wizards-Request at BRL.MIL>
Subject: UNIX-WIZARDS Digest  V12#017
Sender: Unix-Wizards Mailing List <UNIX-WIZ at NDSUVM1.BITNET>
To: "Brian D. Goecke" <bd6%MKVAX1.DECNET at MSUS1.BITNET>
Reply-to: UNIX-WIZARDS at BRL.MIL
Message-id: <7D22E427A00023E4 at MSUS1.MSUS.EDU>
X-To:         UNIX-WIZARDS at BRL.MIL

UNIX-WIZARDS Digest          Wed, 13 Feb 1991              V12#017
 
Today's Topics:
                       Re: Question:Books on Unix
                           mailing-list demon
                         Re: mailing-list demon
         Comer's TCP/IP books (was: Re: Wizard-level questions)
                                Re: dup2
                   Csh hacking -- having problems...
                   How to read v6 distribution tapes?
                  Interprocess Communication question
 
-----------------------------------------------------------------
 
From: "John G. Kissane" <kissane at motcid.uucp>
Subject: Re: Question:Books on Unix
Date: 23 Jan 91 12:44:30 GMT
To:       unix-wizards at sem.brl.mil
 
In article <11425 at darkstar.ucsc.edu> googol at ucscb.ucsc.edu (60778000) writes:
>
>Hi! Could anyone recommend some books on Unix related to the following
>topics: Unix Kernel, Shell Programming, Unix Utilities . Is there
>any single book that talks about all these topics ? thanks.
 
I suggest that you take a look at O'Reilly & Associates. They have
several excellent books on a large number of UNIX topics.
 
They can be reached via e-mail at the following address:
 
	ora!nuts
 
Good Luck.
--
--
John Kissane,					Mahon Industrial Estate,
Motorola Ireland Ltd.				Blackrock, Cork, Ireland.
 ...!uunet!motcid!kissane			+353-21-357-101
 
-----------------------------
 
From: Vance Heron <heron at mars.jpl.nasa.gov>
Subject: Re: Question:Books on Unix
Date: 23 Jan 91 21:29:53 GMT
Sender: news at jato.jpl.nasa.gov
Nntp-Posting-Host: mars.jpl.nasa.gov
To:       unix-wizards at sem.brl.mil
 
In article <11425 at darkstar.ucsc.edu> googol at ucscb.ucsc.edu (60778000) writes:
>
>Hi! Could anyone recommend some books on Unix related to the following
>topics: Unix Kernel, Shell Programming, Unix Utilities . Is there
>any single book that talks about all these topics ? thanks.
 
For Shell programming and utilities, I can reccomend "Tricks of the Unix
Masters" put out by the Waite group.
 
-----------------------------
 
From: "Andreas C. Lemke" <andreas at newsigi.us>
Subject: mailing-list demon
Date: 12 Feb 91 13:59:43 GMT
Sender: news <news at csn.org>
Nntp-Posting-Host: newsigi.colorado.edu
To:       unix-wizards at sem.brl.mil
 
Hi,
 
I would like to create a mailing list with as little administrative
effort for myself as possible.  To that end *everybody* should be able
to add, update, or remove people from the list, as well as obtain a
listing of the current mail addresses on the list.  This should be
doable by mail, e.g., if a new person wanted to be added to the alias
he/she would simply send a mail-message containing a command such as
"add joe at abc.edu" and some sort of demon should carry out the command.
 
Do you guys know of some software that filters incoming mail messages
for commands and executes them?
 
Thanks.
 
 ..................					       Andreas C. Lemke
 ... andreas ..:-).			      CS Dept., U. of Colorado, Boulder
 ..................			andreas at cs.colorado.edu, (303) 492-1503
--
 
 ..................					       Andreas C. Lemke
 ... andreas ..:-).			      CS Dept., U. of Colorado, Boulder
 ..................			andreas at cs.colorado.edu, (303) 492-1503
 
-----------------------------
 
From: "Andreas C. Lemke" <andreas at newsigi.us>
Subject: mailing-list demon
Date: 12 Feb 91 15:19:03 GMT
Sender: news <news at csn.org>
Nntp-Posting-Host: newsigi.colorado.edu
To:       unix-wizards at sem.brl.mil
 
Hi,
 
I would like to create a mailing list with as little administrative
effort for myself as possible.  To that end *everybody* should be able
to add, update, or remove people from the list, as well as obtain a
listing of the current mail addresses on the list.  This should be
doable by mail, e.g., if a new person wanted to be added to the alias
he/she would simply send a mail-message containing a command such as
"add joe at abc.edu" and some sort of demon should carry out the command.
 
Do you guys know of some software that filters incoming mail messages
for commands and executes them?  I'm thinking of something like a perl
script to be installed as the alias for mailing-list-request.
 
Thanks.
--
 
 ..................					       Andreas C. Lemke
 ... andreas ..:-).			      CS Dept., U. of Colorado, Boulder
 ..................			andreas at cs.colorado.edu, (303) 492-1503
 
-----------------------------
 
From: "Gary Weimer (588-0953" <weimer at garden.kodak.com>
MMDF-Warning:  Parse error in original version of preceding line at BRL.MIL
Subject: Re: mailing-list demon
Date: 12 Feb 91 21:59:54 GMT
Sender: news at ssd.kodak.com
To:       unix-wizards at sem.brl.mil
 
I tried to reply, but my mailer couldn't find the host.
 
In article <ANDREAS.91Feb12091903 at newsigi.us>, andreas at newsigi.us
(Andreas C. Lemke) writes:
|> Hi,
|>
|> I would like to create a mailing list with as little administrative
|> effort for myself as possible.  To that end *everybody* should be able
|> to add, update, or remove people from the list, as well as obtain a
|> listing of the current mail addresses on the list.  This should be
|> doable by mail, e.g., if a new person wanted to be added to the alias
|> he/she would simply send a mail-message containing a command such as
|> "add joe at abc.edu" and some sort of demon should carry out the command.
|>
|> Do you guys know of some software that filters incoming mail messages
|> for commands and executes them?  I'm thinking of something like a perl
|> script to be installed as the alias for mailing-list-request.
 
I don't know if this will help at all or not. It's not exactly what you
asked for. This is something I wrote to sort my incomming mail. You can
setup a special login id that this can be installed under, or use your
own and require that a specific subject line be used. You'll need to
understand grep and maybe awk to understand what I'm doing in the sort
section of mailsort.csh. To tell the mail server to use mailsort.csh, I
had to create a .forward file in my home directory (I'm using Unix,
specifically SunOS):
 
 -------------- .forward file ------------------
"|/u/users1/weimer/bin/mailsort.csh weimer ~/MAIL"
 -------------- end .forward file ------------------
 
The mailsort.csh program follows. If you would like more explanation,
write back and ask (My .sig has a mail address which should work).
 
 ------------ mailsort.csh file ------------------
#!/bin/csh -fb
 
# login id of person using this script
# environment vars take precidence over defaults
if (!($?USER)) set USER=weimer
 
# mail directory of person using this script
# environment vars take precidence over defaults
#    NOTE: USER will not be set when prog called by mail daemon
if (!($?MAILDIR)) then
  if (-e ~$USER/MAIL) then
    set MAILDIR=~$USER/MAIL
  else
    set MAILDIR=~$USER/mail
  endif
endif
 
###################################################################
# NOTE: mail message will be saved in the file $MSG,
#       the mail header only will be saved in the file $HEADER
#       the mail body only will be saved in the file $BODY
###################################################################
 
# mail header lines to skip when saving message
#    $MSG will still have these, $HEADER will not
set HDRSKIP='$1=="Received:" || $1=="id" || $1=="Message-Id:"'
#set HDRSKIP=""
 
# arguments take precidence over defaults and environmen vars
#    NOTE: this is not important part of code logic (you can skip it)
set PARAMS=($*)
if ($#PARAMS > 1) then
  set USER=$PARAMS[1]
  set MAILDIR=$PARAMS[2]
  set TMP=`echo $MAILDIR|awk '{print index($1,"//")}'`
  if ($TMP == 1) set MAILDIR=~$USER`echo $MAILDIR|awk '{print substr($1,2)}'`
else if ("$PARAMS" != "") then
  set $USER=$PARAMS
  if (-e ~$USER/MAIL) then
    set MAILDIR=~$USER/MAIL
  else
    set MAILDIR=~$USER/mail
  endif
endif
 
#######################################################################
#
# generic setup stuff
#
#######################################################################
# date in case I want it for file names
set DATE    = `date +"%y-%m-%d"`
 
# awk script for separating mail header from mail body
set PARSER=('{if (b) {print $0>>bf;next}};{if (NF==0) {b=1;next}};{if
(""'$HDRSKIP'){next}};{print $0>>hf};END{print>>bf;print>>hf}')
 
# files for msg, header, & body
set MSG="/tmp/$USER.mail.$$"
set HEADER=$MSG.head
set BODY=$MSG.body
/bin/rm -f $HEADER $BODY $MSG    # just in case we've found a duplicate name...
 
# our mail server uses /usr/spool/mail, other machines mount this in /var
if (-e /usr/spool/mail) then
  set MAILBOX=/usr/spool/mail/$USER
else
  set MAILBOX=/var/spool/mail/$USER
endif
 
# stdin is the mail message being sent, put it in $MSG
cat > $MSG
# separate header and body
awk "$PARSER" hf=$HEADER bf=$BODY $MSG
 
while (1)	#we really only go through loop once
                # this allows us to use break instead of goto
 
#######################################################################
#
# BEGIN SORTING
#
#######################################################################
 
#######################################################################
# if you do not want a message to be sent to yourself, and you do not
# want it to match any other conditions, 'break' after sending message--
# DO NOT 'exit'--temporary files will not get removed
#######################################################################
# when concatinating to a mailbox, you should always add a blank line
# to the end of what you are concatinating (hence all the 'echo ""'s
# below)
#######################################################################
 
#
# extra stuff just for me :-)
#
# intro to prepend to forwarded msg's (stating this has been auto-forwarded)
set AUTOHDR=$MAILDIR/auto.header
# flag for who a copy was sent to (put at end my copy of files auto-forwarded)
set COPYHDR=$MAILDIR/copy.header
 
#
# template
#
#set SUBJECT=`grep '^Subject:.<subj to check for>' $HEADER`
#set TO=`grep '^To:.<id you expect forwarded mail from>' $HEADER`
#set OTHER=`grep '<text to look for in body of msg>' $BODY`
#if ("$<SUBJECT, TO, or OTHER>" != "") then # we found a match
#    # do any other calculations/parsing here
#
#    # save to a file
#    (cat $<MSG, HEADER, and/or BODY>; echo "") >> $MAILDIR/<file>
#    # put in your own mailbox (as if we never did this script)
#    (cat $MSG; echo "") >> $MAILBOX
#    # forward to someone else
#    cat $<MSG, HEADER, and/or BODY> | /usr/ucb/Mail -s "<subject>" <userid>
#
#    # run any programs, edit files, etc. that you want to here
#    break
#endif
 
 
#
# Budtool Report
#
#    simply write $MSG to appropriate file
#
set SUBJECT=`grep '^Subject:.Budtool.Report$' $HEADER`
if ("$SUBJECT" != "") then
    # body of msg has machine name on line starting with 'rsh'
    set MACH=`grep '^rsh' $BODY | awk '{print $2; exit}'`
    # write mail to file
    (cat $MSG; echo "") >> $MAILDIR/backups/$MACH/$DATE
    break
endif
 
#
# warehouse submissions -- cc: edj
#
set SUBJECT=`grep '^Subject:.wh.submission$' $HEADER`
if ("$SUBJECT" != "") then
    (cat $AUTOHDR $HEADER $BODY) | /usr/ucb/Mail -s "wh submission" edj
    (cat $MSG $COPYHDR;echo "edj";echo "") >> $MAILBOX
    break
endif
 
#
# test (see if any of this works...)
#
#set SUBJECT=`grep '^Subject:.test$' $HEADER`
#if ("$SUBJECT" != "" ) then
#    (cat $HEADER; echo "test successful"; echo "") >> $MAILBOX
#    break
#endif
 
#######################################################################
#
# No matches--Put in mailbox
#
#######################################################################
 
cat $MSG >> $MAILBOX
echo "" >> $MAILBOX
break  #don't repeat while loop
end
/bin/rm -f $HEADER $BODY $MSG
exit
 ------------ end mailsort.csh file ------------------
 
weimer at ssd.kodak.com ( Gary Weimer )
 
-----------------------------
 
From: Nick Dokos <nick at osf.org>
Subject: Comer's TCP/IP books (was: Re: Wizard-level questions)
Date: 12 Feb 91 17:54:22 GMT
Sender: news at osf.org
To:       unix-wizards at sem.brl.mil
 
|>
|> Of the list above, Comer was missing.  The original poster asked something
|> about networking.  A text I have found invaluable is:
|>
|> Internetworking with TCP/IP: Principles, Protocols, and Architecture
|> by Douglas Comer, (c) 1988, Prentice-Hall,  ISBN 0-13-470154-2
|>
|> It is well written and has answered the vast majority of my questions
|> on networking.
|>
|> --
|> scott barman			|  There comes a time in everyone's existance
|> scott at nbc1.ge.com		|  when actions speak louder than words.
|> (This does not represent any	|  Just make sure your actions are louder
|> opinions of NBC or affiliates)	|  than the next guy's!		- Anonymous
 
 
There is a second edition, expanded and improved:
 
	Internetworking with TCP/IP, Vol.1: Principles, Protocols
	and Architecture by Douglas E. Comer, (c) 1991, Prentice-Hall,
	ISBN 0-13-468505-9.
 
The second volume was scheduled for last November, but as far as I know
it is still not out. The blurb in the back of the first volume says:
 
	Internetworking with TCP/IP, Vol.2: Implementation
	and Internals by Douglas E.Comer and David L.Stevens.
 
--
Nick Dokos		(nick at osf.org)
Systems Engineering	OSF
 
-----------------------------
 
From: Guy Harris <guy at auspex.auspex.com>
Subject: Re: dup2
Date: 12 Feb 91 18:30:43 GMT
To:       unix-wizards at sem.brl.mil
 
>Do you mean that V7 had dup2 but System V doesn't?
 
Yes.  For whatever reason, that particular branch of the family didn't
have "dup2()"; it did, however, have "fcntl()" and the F_DUPFD
subfunction thereof, at least as far back as S3 (I don't remember
whether earlier members of that branch had it).
 
S5R3 picked up "dup2()", which is in POSIX; 4.2BSD picked up "fcntl()",
which is also in POSIX.
 
>And what about systems that don't have fcntl?
 
If you have neither "fcntl()" nor "dup2()", you're not dealing with a
UNIX, or lookalike, that does a reasonable job of looking like a modern
UNIX (it's not as modern as V7, even), in which case 1) you may have a
problem if you need "dup2()"-like functionality (you might have to
repeatedly "dup()" the file descriptor until it reaches the desired
value, and then close all the intermediate descriptors) and 2) you
probably have a bunch of other problems as well.
 
-----------------------------
 
From: Chet Ramey <chet at odin.ins.cwru.edu>
Subject: Re: dup2
Date: 12 Feb 91 20:51:49 GMT
Sender: news at usenet.ins.cwru.edu
Nntp-Posting-Host: odin.ins.cwru.edu
To:       unix-wizards at sem.brl.mil
 
In article <richard.666334818 at fafnir.la.locus.com> richard at locus.com (Richard M.
 Mathews) writes:
 
>I would post what I consider to be the right answer, but I have licensing
>problems.  I can recommend taking ideas from both Gwyn and Ramey; perhaps
>one of them would be willing to post the result of such a merge.
 
How about this (apologies for the Gnu coding style)?  (As an aside, I do not
think that the second fcntl will ever return EINVAL, since it only returns
that error for out-of-range values (< 0 or >= getdtablesize()), and that
case is already handled explicitly.)
 
dup2 (fd1, fd2)
     int fd1, fd2;
{
  int saved_errno, r;
 
  if (fcntl (fd1, F_GETFL, 0) == -1)    /* fd1 is an invalid fd */
    return (-1);
 
  if (fd2 < 0 || fd2 >= getdtablesize ())	/* This could be removed. */
    {
      errno = EBADF;
      return (-1);
    }
 
  if (fd1 == fd2)
    return (0);
 
  saved_errno = errno;
  (void) close (fd2);
  r = fcntl (fd1, F_DUPFD, fd2);
 
  if (r >= 0)
    errno = saved_errno;
  else
    {
      if (errno == EINVAL)
	errno = EBADF;
    }
 
  return (r);
}
 
Chet
--
Chet Ramey				``There's just no surf in
Network Services Group			  Cleveland, U.S.A. ...''
Case Western Reserve University
chet at ins.CWRU.Edu		My opinions are just those, and mine alone.
 
-----------------------------
 
From: The Grey Wolf <greywolf at unisoft.uucp>
Subject: Csh hacking -- having problems...
Keywords: How to push/fork w/o losing interrupt
Date: 12 Feb 91 18:51:26 GMT
To:       unix-wizards at sem.brl.mil
 
[ .globl    _newsfood, 512; ]
 
I'm doing a major upgrade to the Berkeley C shell (no flames, please;
I speak csh and sh fluently and have different uses for each one).  One
of the things I am implementing is a "push" builtin, which is supposed
to simply fork() and create an exact duplicate of the shell on top of itself.
 
In the older version of this shell (to which I have regrettably lost the
source), we used to do this for extended alterations of environment without
having to restart the damn thing (i.e. aliases and shell variables were
preserved).  It was easier than throwing it into a ( subshell ), and we
needed the interaction.
 
Now, never mind *why* I want to do this when there might be other solutions...
When the push command is entered, the following set of events occurs (assume
all necessary variables):
 
dopush()
{
    switch (fork()) {
    case -1:	/* error */
	setname("push");
	bferr("Couldn't fork!");
	return (1);
    case 0:	/* child */
	/* set $$ = getpid() */
	/* set process group to $$ */
	/* set tty process group to $$ */
	/* increment push level */
	return(0);
    default:	/* parent */
	wait(&exitstat);
	/* reset process group */
	/* reset terminal process group */
	return(exitstat);
    }
}
 
Now, the push() occurs fine (it forks and does all the necessary stuff).
HOWEVER:  As soon as I hit an interrupt, the pushed shell prints a prompt,
exits, and the original shell prints a prompt.
 
The thing that's confusing is that I don't know why the pushed shell is only
catching the interrupt once and then giving up.  It seems as though the
parent shell also gets the interrupt (which I didn't think would happen if
the process group gets reset).  I thought Berkeley signal handlers reset
themselves...?
 
This is a Pyramid running OSx 5.0b, under the BSD universe (essentially
BSD 4.2-and-a-half).
--
thought:  I ain't so damb dumn! | Your brand new kernel just dump core on you
war: Invalid argument           | And fsck can't find root inode 2
                                | Don't worry -- be happy...
 ...!{ucbvax,acad,uunet,amdahl,pyramid}!unisoft!greywolf
 
-----------------------------
 
From: Roy Smith <roy at alanine.phri.nyu.edu>
Subject: How to read v6 distribution tapes?
Date: 12 Feb 91 20:22:03 GMT
Sender: News System <news at phri.nyu.edu>
To:       unix-wizards at sem.brl.mil
 
 
	After the recent talk about v6 history on this group, I figured I'd
actually do something crazy and go back and look at the source to make
sure.  Unfortunately, I'm not sure how to do that!  The tape I have
consists of several RK-05 images with v6 file systems on them.  Is there
any reasonable way to read them on a 4.3BSD vax or a SunOS-3.5 system?
--
Roy Smith, Public Health Research Institute
455 First Avenue, New York, NY 10016
roy at alanine.phri.nyu.edu -OR- {att,cmcl2,rutgers,hombre}!phri!roy
"Arcane?  Did you say arcane?  It wouldn't be Unix if it wasn't arcane!"
 
-----------------------------
 
From: David Johnson <dejohnso at cs.utah.edu>
Subject: Interprocess Communication question
Date: 13 Feb 91 04:37:50 GMT
Originator: dejohnso at cs.utah.edu
To:       unix-wizards at sem.brl.mil
 
Can anyone out there help me get started learning about interprocess
communication?  Do you have any bare-bones examples of how to use
sockets and things like that?  How about helpful articles or books
to read?
 
I am hoping to try some distributed graphics and don't want to communicate
through files or anything like that.
 
Any help would be appreciated.
 
Please send e-mail to dejohnso at cs.utah.edu.
 
Oh yeah,  thanks!!!!!!!!!
 
-----------------------------
 
 
End of UNIX-WIZARDS Digest
**************************



More information about the Comp.unix.wizards mailing list