HP3000-L Archives

January 1998, Week 3

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Mark Bixby <[log in to unmask]>
Reply To:
Date:
Thu, 15 Jan 1998 17:23:22 -0800
Content-Type:
text/plain
Parts/Attachments:
text/plain (335 lines)
Sendmail/iX for HP 3000 MPE

http://www.cccd.edu/~markb/sendmailix.html
The mail transport agent that comes bundled with HPUX is now available for MPE
Last updated January 16, 1998 @ 0115 UTC

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

What's New

   * January 16, 1998
        o Initial public release.  Enjoy.
   * December 20, 1997
        o Porting begins.

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

Welcome

This is the official home page for the HP 3000 MPE port of the Sendmail
mail transport agent from http://www.sendmail.org/. This distribution also
contains a port of the Majordomo mailing list system from
http://www.greatcircle.com/majordomo/. Check here for the latest news,
implemented functionality, known bugs, to-do list, etc. Status reports
about major milestones will also be posted to the HP3000-L mailing list and
its associated gatewayed newsgroup comp.sys.hp.mpe.

I'm doing this port because I need to be able to send reliable e-mail from
batch jobs and Apache web server CGI applications. I chose Sendmail because
it's free, and also because it's what I run under HPUX for the Coast
Community College District.

Please send your comments, questions, and bug reports directly to me, Mark
Bixby, by e-mailing to [log in to unmask] Or just post them to HP3000-L. You
can also telephone me at +1 714 438-4647 Monday-Friday 0815-1715 PDT
(1615-0115 UTC).

The platform I'm using to do this port is an HP 3000 969KS200 running
MPE/iX 5.5 and using the gcc C compiler from the Interex Freeware tape.

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

What is Sendmail?

Sendmail is a mail transport agent (MTA) that does two things:

   * It accepts fully formatted e-mail messages from local host system
     users, queues the messages, and then delivers the messages to either
     local users or remote users.
   * It listens on TCP port 25 for incoming SMTP messages from remote
     systems, and delivers these messages to local host system users by
     appending the message text to the user's mailbox file.

Sendmail IS NOT a mail user agent (MUA) and does not have the ability to
compose or read e-mail.  The only MUA that comes bundled with MPE at the
current time is /bin/mailx (aka MAILX.HPBIN.SYS).  Mailx is not fancy, but
offers enough functionality to be useful in many situations such as sending
e-mail from batch jobs.

Sendmail IS NOT a POP3 server that will enable network clients such as
Netscape Communicator or Microsoft Internet Explorer to access your
Sendmail/iX mailboxes.  However, a port of Qualcomm's QPopper is available
from ftp://ftp.nha.co.za/hp3000/pop3/ if you want to provide this type of
access.

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

System Requirements

   * Requires MPE/iX 5.5 or later.
   * Requires Syslog/iX from http://www.cccd.edu/~markb/syslogix.html.
   * If you only want to run the pre-compiled Sendmail/iX binaries, you
     must have one or more Domain Name Servers configured in
     /etc/resolv.conf.  If you want to compile the Sendmail/iX sources, you
     must obtain and install BIND/iX from
     http://www.cccd.edu/~markb/bindix.html (but note that running NAMED is
     not required -- Sendmail/iX just needs libbind.a and the related
     include files).
   * If you want to run Majordomo/iX, you must obtain and install Perl/iX
     from http://www.cccd.edu/~markb/perlix.html.

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

How to Obtain Sendmail/iX

  1. Create the Sendmail account
  2. Download Sendmail using either FTP.ARPA.SYS or some other client
  3. Uncompress and extract

Create the Sendmail account on your HP 3000

:HELLO MANAGER.SYS
:NEWACCT SENDMAIL,MGR;CAP=AM,AL,GL,ND,SF,BA,IA,PM,PH;PASS=somethingsecure
:ALTGROUP PUB.SENDMAIL     ;ACCESS=(R,X:ANY;W,A,L,S:AL)
:NEWGROUP MAJORDOM.SENDMAIL;CAP=BA,IA;ACCESS=(R,W,A,L,X,S:GU)
:NEWGROUP SERVER.SENDMAIL  ;CAP=BA,IA;ACCESS=(R,W,A,L,X,S:GU)
:NEWUSER MAJORDOM.SENDMAIL ;CAP=ND,SF,BA,IA,PH;HOME=MAJORDOM
:NEWUSER SERVER.SENDMAIL   ;CAP=ND,SF,BA,IA,PH;HOME=SERVER

Download Sendmail using FTP.ARPA.SYS from your HP 3000 (the preferred
method).....

:HELLO MGR.SENDMAIL
:FTP.ARPA.SYS
open ftp.cccd.edu
anonymous
[log in to unmask]
bytestream
cd /pub/mpe
get sendmail-8.8.8-mpe.tar.Z /tmp/sendmail.tar.Z
exit

.....Or download using some other generic web or ftp client (the alternate
method)

Download the following files (make sure that you use "binary mode" or
whatever client feature that is 8-bit clean):

   * sendmail from http://www.cccd.edu/ftp/pub/mpe/sendmail-8.8.8-mpe.tar.Z
     or ftp://ftp.cccd.edu/pub/mpe/sendmail-8.8.8-mpe.tar.Z

Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:

   * /tmp/sendmail.tar.Z

Then uncompress and extract the distribution (after both download methods)

:TAR.HPBIN.SYS 'xvfopz /tmp/sendmail.tar.Z'
:XEQ SH.HPBIN.SYS './INSTALL'

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

Distribution Contents

README
     this file
DAEMON
     POSIX shell script used to invoke the sendmail daemon
INSTALL
     POSIX shell script to tweak various things after you un-tar this
     distribution
JDAEMON
     :STREAM this job to run the sendmail daemon
SENDMAIL
     The main sendmail NMPRG
WRAPPER
     The majordomo wrapper NMPRG
bin/
     Miscellaneous NMPRGs as well as symbolic links to the main sendmail
     NMPRG
db.1.85-mpe/
     The Berkeley DB 1.85 database routines source tree used by sendmail
     alias files
etc/
     Various run-time files including the sendmail.cf configuration file
lib/
     Libraries required to compile sendmail
m4-1.4-mpe/
     The GNU m4 macro processor source tree used to generate sendmail.cf
majordo-1.94.4-m/
     The majordomo mailing list server source tree
majordomo/
     The majordomo run-time tree
man/
     Miscellaneous documentation
mqueue/
     The sendmail run-time mail queue
sendmail-8.8.8-m/
     The sendmail source tree

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

How to Compile

Berkeley DB 1.85 database routines

  1. cd db.1.85-mpe/PORT/mpe
  2. make
  3. make install

GNU m4 macro processor

  1. cd m4-1.4-mpe
  2. ./configure.MPE
  3. make
  4. cd src; make install

Majordomo mailing list server

  1. Obtain and install Perl/iX
  2. cd majordo-1.94.4-m
  3. Edit majordomo.cf
  4. make wrapper
  5. make install
  6. make install-wrapper

Sendmail

  1. Obtain and install Syslog/iX
  2. Obtain and install BIND/iX
  3. cd sendmail-8.8.8-m/src
  4. ./makesendmail
  5. ./makesendmail install
  6. cd ../mailstats; make -f Makefile.MPE install
  7. cd ../makemap; make -f Makefile.MPE install
  8. cd ../praliases; make -f Makefile.MPE install
  9. cd ../smrsh; make -f Makefile.MPE install

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

How to Configure

Modify various HP files

  1. :HELLO MANAGER.SYS
  2. Add 'smtp 25/tcp' to /etc/services
  3. :XEQ LINKEDIT.PUB.SYS 'ALTPROG TSMAIL.HPBIN.SYS;CAP=BA,IA,PM,PH'
  4. :CHMOD.HPBIN.SYS '777 /usr/mail' (you only need to do this insecure
     hack if you want to use MAILX.HPBIN.SYS to read mail).  This is where
     the mailboxes are stored as /usr/mail/USER.ACCOUNT.
  5. Edit /etc/mailx.rc to say 'set sendmail=/SENDMAIL/PUB/SENDMAIL'.

Majordomo

  1. :HELLO MGR.SENDMAIL
  2. Edit majordomo/majordomo.cf
  3. Read the documentation in majordo-1.94.4-m/ before attempting to
     create a new mailing list
  4. Edit etc/majordomo.aliases
  5. Run /SENDMAIL/PUB/bin/newaliases to rebuild the alias databases

Sendmail

  1. :HELLO MGR.SENDMAIL
  2. :SH.HPBIN.SYS -L
  3. cd sendmail-8.8.8-m/cf
  4. Edit ostype/mpeix.m4 and cf/generic-mpeix.mc (NOTE: direct editing of
     /SENDMAIL/PUB/etc/sendmail.cf is STRONGLY DISCOURAGED)
  5. cd cf
  6. /SENDMAIL/PUB/bin/m4 ../m4/cf.m4 generic-mpeix.mc >mpeix.cf
  7. cp mpeix.cf /SENDMAIL/PUB/etc/sendmail.cf
  8. Edit etc/aliases
  9. Run /SENDMAIL/PUB/bin/newaliases to rebuild the alias databases

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

How to Run

Majordomo

Majordomo is automatically run by Sendmail whenever e-mail is sent to the
special addresses contained in etc/majordomo.aliases.

Sendmail

  1. :STREAM JDAEMON.PUB.SENDMAIL to start the daemon
  2. :ABORTJOB to stop the daemon
  3. Run /SENDMAIL/PUB/bin/newaliases to rebuild the alias databases
  4. Run /SENDMAIL/PUB/bin/mailq to display the mail queue

Sending E-mail

   * echo message body without headers | /bin/mailx -s "message subject"
     [log in to unmask]
   * echo fully-formatted message headers AND body | /SENDMAIL/PUB/SENDMAIL
     [log in to unmask]

Reading E-mail

   * /bin/mailx

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

MPE/iX Implementation Considerations

There some minor functionality issues to be aware of when comparing
Sendmail for Unix (Sendmail/UX) to Sendmail/iX:

   * Sendmail/UX must be run as root to bind to TCP port 25. Sendmail/iX
     must call GETPRIVMODE() to bind to TCP port 25.
   * Sendmail/UX must be run as root to be able to setuid() to different
     run-time user identities.  Sendmail/iX must call GETPRIVMODE() in
     order to setuid().
   * Sendmail/iX does not support DeliveryMode=background at the present
     time.  Use DeliveryMode=interactive (the user client attempts
     immediate delivery, so there may be a long timeout wait for
     non-responding hosts) or DeliveryMode=queue instead (the user client
     just queues the mail and lets the daemon attempt delivery during the
     next queue run).  DeliveryMode=interactive is the default
     configuration supplied with this distribution.
   * Sendmail/iX does not support "super safe" mode when mailing to
     programs because MPE lacks chroot().
   * Sendmail/iX does not echo any program errors back in the bounce
     message generated if an external mail program (i.e. majordomo) dies.
     This is a limitation of not being able to dup() sockets on MPE.
   * Executing any of the symbolic links in /SENDMAIL/PUB/bin directly from
     CI.PUB.SYS won't work properly because CI doesn't pass the symbolic
     link name in argv[0] like SH does.  As a workaround you can write CI
     command files to run SENDMAIL.PUB.SENDMAIL with the INFO= parameters
     implied by the symbolic links.

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

Known Issues Under Investigation

   * Figure out a way to support DeliveryMode=background which requires
     that a parent process be able to fork() and then exit(), while the
     child process continues to live on in the background somewhere (maybe
     adopted under PIN 1 progen?).

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

To-Do List

   * Squash all known issues listed above.
   * Encourage HP to deal with some of the "Modify various HP files" items
     above.
   * Submit MPE porting patches back to the official sendmail developers.

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

Change History

   * None so far.  This is a new port.  ;-)

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

Mark Bixby, [log in to unmask]
--
Mark Bixby                      E-mail: [log in to unmask]
Coast Community College Dist.   Web: http://www.cccd.edu/~markb/
District Information Services   1370 Adams Ave, Costa Mesa, CA, USA 92626-5429
Technical Support               Voice: +1 714 438-4647
"You can tune a file system, but you can't tune a fish." - tunefs(1M)

ATOM RSS1 RSS2