Subject: Pine Crashes

From: Mike Roch <[email-masked]>
Date: Tue, 13 Jul 1993 12:42:36 +0100 (BST)

>From time to time Pine crashes here due to some condition related to
message/header format. Would it be possible for Pine to deal with messages
it doesn't understand with a message like "Can't read that one" as opposed
to crashing out completely? A crash is about the most alarming thing that
can happen to the sort of people Pine is aimed at - data is seldom lost
but it takes quite a lot of TLC to persuade people that it doesn't matter.

I attach a message from the ECS mail list that has this effect for us.

Another instance that's come up recently is where a message from a mailing
list has a "Reply-to:" but no "From:" field. Pine copes Ok except when you
hit ^T to try to take the address; instead of "Can't - nothing to take"
(or even "Can't - don't know why") you get a crash with core dump.

Mike

==============================================================================
Mike Roch, Computer Services Centre,                          Tel: 0734 318430
The University, Whiteknights, Reading, RG6 2AX.               Fax: 0734 753094

Subject: The Quiet ECS Information List ...
From: Steve Hole <[email-masked]>
To: ECS Information <[email-masked]>
Date: Mon, 28 Jun 1993 11:03:42 -0600

Several people have been asking me about how quiet the ecs-info list
has been lately.    It has been very quiet, primarily due to the work 
being done on the ECSMail version 2.00 release.    The traffic has 
been on the ECS Alpha Testers list instead as they have been working
with the new version of ECSMail for Windows.     The number of people
on this list have been restricted for all the standard reasons.

A quick update on the status of ECSMail.    Version 2.00 has been in
alpha testing for 8 weeks now.   That is 2 weeks longer than we wanted,
but we were required to make some changes to the message display
code to support reading bulletin boards (Usenet NEWS) effectively. 
We also had some very good suggestions made concerning the address
book and compose function integration.    The combined impact on the 
user interface has delayed the release of the Beta demonstration 
version of ECSMail.

Work is proceeding on ECSMail for Macintosh and ECSMail for DOS.
Both are scheduled to enter testing at the end of July.    We are on 
target for both platforms.    We are somewhat concerned that the 
strict interface conformance requirements of the Macintosh will 
cause delays in the production release.    We have some very good
help in that area from Alex Nishri at the U of T and a few others though.

Besides being busy on the software, we have also been preparing a 
lot of documentation including:

 *  Introductory and technical information on ECSMail
 *  User manuals and guides
 *  Pricing information

I have attached a new text announcement document for ECSMail that
tells people how to get these documents and who to contact in ISA.
All formal documents concerned with ECSMail will be delivered in 
postscript format.  

Having said all this, I am leaving on a couple of weeks vacation.   I
will be back on July 12 and can be contacted then.    I recommend that
you send mail to the addresses in the attached document if you would
like information while I am gone.   

We will be releasing a beta demonstration version 2.00 of ECSMail for 
Windows on July 14!    It will be available at the locations listed in 
the attachment.    Production release of ECSMail for Windows version 
2.00 will be made on July 30.     Pricing information for the ECSMail
MUA Set can be obtained by contacting:

  ECS Sales <[email-masked]>

More detailed information is provided in the attachment.    Cheers.

--
Steve Hole		Director: Research and Development
ISA Corp.			Email: [email-masked]

                      ECSMail Announcement
                      --------------------

ISA Corp. announces the release of the ECSMail componant of its
Enterprisewide Communication Services.

What is ECSMail?
----------------

ECSMail is an electronic mail product for building enterprise mail
systems.   It is designed from start to finish as a system for
establishing mail services througout an organization, with external
organizations and the world information system in general.   It 
does this by using a completely standards based architecture.

ECSMail is comprised of the following system components:

 ECSMail MUA Set      - a set of Mail User Agents (MUA) 
 ECSMail MTA Set      - a set of Message Transport Agents (MTA)
 ECSMail MS Set       - a set of Message Services (MS)

ECSMail provides a robust set of features, including:

  * A distributed client/server architecture that separates message
    transport, message storage, and the user interface into separate
    applications.  The applications communicate with each other using
    standards based application protocols.   Messages are moved through
    the system using protocols inside of network file systems.

  * Multi-part, multimedia mail messages supporting both the MIME and
    X.400 message formats.  Files (e.g. binaries, images, text, voice, 
    application) can be attached and sent along with a message.  Different
    parts of the messsage can be extracted and displayed (using the
    necessary application) to the user.  Messages can be constructed
    with arbitrarily complex structures.

  * Multiple message service access and management.  Message folders can
    be simultaneously accessed from any number of remote message
    services and from local disks.   Entire folders or individual
    messages can be dragged and dropped between message services and
    folders. 

  * Hierarchical folder structures.

  * Dynamic message grouping within folders.   Messages can be grouped
    and sorted using any combination of message header criteria into a
    message group.  Messages in a message group can be listed and
    manipulated as a single object.   Message group messages can be
    displayed or hidden on command by a double mouse click or menu selection.

  * Integration of mail and bulletin boards (NEWS, BBS) message services
    in a single interface.  Bulletin board message services (NEWS groups)
    appear as a list of folders and threading of broadcast messages will
    be supported.

  * Privancy Enhanced Mail (PEM).   Message attachments can be securely
    encrypted using public key encryption.   Digital signatures, and 
    digital timestamps can be attached to message attachments or to 
    the entire message.

  * Forms in mail.  Messages can be composed inside of a forms interface
    as a special message part.   ECSMail comes with a forms design and
    a builtin forms display tool.

  * Draft message support.   Users will be able to create and store
    draft messages, and select draft messages from both public and
    private draft message stores.

  * Integration with "mail enabled applications".   ECSMail supports the
    MAPI, VIM, and XAPIA interapplication communication standards.   

  * Personal configuration files.

  * Message delivery services like:
      - Asynchronous new mail notification.
      - Delivery receipts (acknowledgments).
      - Read receipts (acknowledgments).
      - Message priorities.

  * Personal address book lookup and management.  Addresses can be loaded
    manually, copied from incoming mail, or copied from a Directory User
    Agent (DUA).

  * Integration with Directory Services.  The user can query local
    and network-wide address information while composing messages.
    Addresses can be copied from the Directory User Agent (DUA) to the user's
    local address book.   This facility is provided using either X.500 
    or LDAP conformant DUAs.   The ECSDirectory products provide the
    Directory Service components necessary for the integrated DUA lookup.

The ECSMail MUA Set
-------------------

The ECSMail MUA Set is a group of client user interfaces that run on a
number of different platforms.   ECSMail MUA can function as both a "remote"
MUA and a "local" MUA.   While functioning in remote mode, it will
access a remote message service using standards based mail access
protocols.   In local mode, it will access a local message store using
operating system dependent message service access routines.  

ECSMail is has been designed and implemented to be as independent as
possible from operating system, display, and network protocols.  We have
achieved this by building driver libraries for the OS and displays, and
using Mark Crispin's c-client drivers for message service access (both
local and remote message stores).

The ECSMail MUA Set will support the following operating system,
display, and mail application protocol combinations:

 OS        - Unix,
             DOS,
             Microsoft NT,
             Microsoft Windows,
             OS/2, 
             Mac System 7, 
             OpenVMS

 Displays  - X11 (R4, R5, Motif), 
             Microsoft Windows, 
             Presentation Manager, 
             Mac Finder,
             ASCII Character

 Formats   - Internet message format (MIME, RFC822).
             X.400 (OSI) message format.

 Protocols - Internet mail protocols (SMTP, IMAP, NNTP).
             X.400 (OSI) mail protocols (P1, P7, P7+).

The ECSMail MTA Set
-------------------

The ECSMail MTA Set is a group of message transport agents (MTA)
that run on a number of different "server" platforms.  The MTA set is
responsible for transporting messages between machines on the network.

The ECSMail MTA Set will support the following operating system and 
mail application protocol combinations:

 OS        - Unix, 
             Microsoft NT,
             OS/2, 
             OpenVMS

 Formats   - Internet message format (MIME, RFC822).
             X.400 (OSI) message format.

 Protocols - Internet mail protocols (SMTP, NNTP).
             X.400 (OSI) mail protocols (P1).

The MTA set is capable of translating between the Internet and X.400
message formats.   Messages can be gatewayed between X.400 mail systems
and Internet mail systems.

The ECSMail MS Set
------------------

The ECSMail MS Set is a group of message servers (MS) that run on a
number of different "server" platforms.   The MS Set is responsible for
managing messages stored on the mail server and providing access service
to the MUA.   MUA's manage remotely stored mail messages through the 
message service MS Set applications.   

The ECSMail MTA Set will support the following operating system and 
mail application protocol combinations:

 OS        - Unix, 
             Microsoft NT,
             OS/2, 
             OpenVMS

 Formats   - Internet message format (MIME, RFC822).
             X.400 (OSI) message format.

 Protocols - Internet mail protocols (IMAP).
             X.400 (OSI) mail protocols (P7, P7+).

How Do I Get More Information?
------------------------------

More information is available from ISA on request.   

Related technical information documents that can be obtained from ISA
include: 

 * Enterprise Communications Service (ECS) Overview
 * Introduction to ECSMail
 * ECSMail Features Summary
 * Introduction to ECSDirectory
 * ECSDirectory Features Summary

The technical documents can be obtained by contacting:

 ECS Publications Coordinator
 835 10040 - 104 Street
 Edmonton, Alberta, Canada
 T5J 0Z2
 
 Phone: 403-420-8081
 Fax:   403-420-8037

or by sending a request through electronic mail to the address:

 ECS Publications <[email-masked]>

Pricing for the ECS products and ISA business information can be 
obtained by contacting:
 
 ECS Sales 
 835 10040 - 104 Street
 Edmonton, Alberta, Canada
 T5J 0Z2
 
 Phone: 403-420-8081
 Fax:   403-420-8037

or by sending a request through electronic mail to the address:

 ECS Sales <[email-masked]>

How Do I Get The Software?
--------------------------

A demonstration version of the Microsoft Windows version of ECSMail is
available via anonymous ftp from

  ftp.srv.ualberta.ca

in the directory

  /pub/windows/utilities/ecs.tar.Z

This version of ECSMail only supports the TCP/IP based mail access and
transport protocols (IMAP2, SMTP), and can deliver MIME format messages.
It provides only "basic functionality" - it does the things that
most mailers do.   Some of the advanced features are not implemented.  
See the readme.txt file in the distribution for a complete description
of what features are implemented in the demo.

We encourage you to get the software and try it out.  This version of
ecs is released for demonstration purposes only - IT IS NOT IN THE
PUBLIC DOMAIN.  

Restrictions on the Software
----------------------------

The mailer is designed to support several different TCP/IP
stacks through the use of dynamic link libraries (DLL).    The demo
software is Microsoft Windows based and supports the WinSock DLL
interface.   The following WinSock implementations are known to work
with ECSMail MUA for Windows:

  * Beame and Whiteside - BWTCP 2.x, 3.x
  * FTP Software - PCTCP 2.2
  * Microsoft TCP/IP - (BETA)
  * Novell Lan Workplace
  * Sun Microsystems - PCNFS 4.x, 5.x
  * SuperTCP 1.1
  * NetManage Chameleon

We are currently working on providing:

  * DEC Pathworks
  * (Public Domain) University of Waterloo - WatTCP

Any compliant WinSock DLL implementation should work with ECSMail. 

Mailing lists
-------------

Announcements and general discussion about ECSMail can be obtained from
the ECS Information mailing list.  To join the mailing list send a message
to

  [email-masked]

To submit messages to the mailing list, send mail to

  [email-masked]

If there are problems with the list, then send mail to

  [email-masked]

ISA Corp. is a technology integration company that focuses on building and 
supporting standards based, distributed network applications.

---

From: Mark Crispin <[email-masked]>
Date: Tue, 13 Jul 1993 11:24:42 -0700 (PDT)

Hi Mike -

Please accept our assurances on this point:
	If Pine crashes, for any reason, it is a bug.  There is
	absolutely no intention on the part of the Pine team for
	any crash to be part of expected Pine behavior.

	Thus, asking us to change a Pine crash to ``can't display
	that message'' doesn't make much sense.  If we knew that
	a particular condition made Pine crash, we'd fix the bug
	that caused the crash.

We expect that in a few weeks there will be a major new release of Pine
that fixes a great many bugs.  Unlike 3.07, which was an interim release
of patches to 3.05, the new Pine (probably 3.85) consists of major
rewrites of large sections of the Pine and c-client code.  We hope that
this new release will be a great deal more featureful and bug-free; we've
spent over a year working on it!

---

From: Mike Roch <[email-masked]>
Date: Tue, 13 Jul 1993 20:35:10 +0100 (BST)

I didn't mean to nit-pick, Mark; I'm a fan! The reason for the suggestion
is that Pine retains some dignity (control?) when crashing ("Abort signal
received ....") so some sort of recovery (restart but refuse to re-open
last message mentioned in .pine-debug ?) seemed possible. 

I can see that if Pine can't tell that it crashed because of
message/header content this isn't much help, but that's always been the
cause we've seen here. 

Mike

---

From: Mark Crispin <[email-masked]>
Date: Tue, 13 Jul 1993 13:08:15 -0700 (PDT)

Mike -

     Usually, the crashes have been things such as false pointer calculations,
chasing null pointers, buffer overruns -- the usual stuff that creeps into C
programs no matter how careful the programmer may be.

     Pine traps various exception signals, but generally at this point it
hasn't a clue as to how it happened or what damage may have been done to its
internal data structures (this latter point is important; if a boundary
condition error caused a loop to romp through memory, you don't want Pine
doing further write to the folder based upon that clobbered data!).

     The ``abort signal received...'' is essentially a replacement for the
default behavior, which is usually something like ``segmentation violation
(core dumped)'' or ``IOT trap (core dumped)'' etc.  The only real ``dignity''
that Pine retains in this case is some sort of restoration of terminal modes,
etc; if you've ever had an emacs crash and leave your terminal in a wierd
state you'd understand what I'm talking about.

     There are a few internal consistency checks in Pine which trigger error
conditions, and there is recovery code such as you suggest.

     Anyway, our intent is to stomp out all of these bugs.  Pine 3.05 has
several known bugs which cause this; 3.07 has somewhat fewer; we think the
latest version has none.  Coming soon to an FTP server near you...

-- Mark --

---

From: Steve Hubert <[email-masked]>
Date: Wed, 14 Jul 1993 12:12:21 -0700 (PDT)

> latest version has none.  

Now that's optimism!

---

From: Ed Greshko <[email-masked]>
Date: Thu, 15 Jul 1993 08:05:46 +0800 (TPE)

> > several known bugs which cause this; 3.07 has somewhat fewer; we think the
 
	No, that's confidence......or wishful thinking....  :-) :-)

Edward M. Greshko			Control Data Taiwan
Voice: +886-2-715-2222 x287		6/F, 131 Nanking East Road, Section 3
FAX  : +886-2-712-9197			Taipei, Taiwan R.O.C