Re: Last Call: SMTP Service Extension for Content Negotiation toProposed Standard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> --On Wednesday, 03 July, 2002 22:59 -0700 ned.freed@mrochek.com
> wrote:

> >> I, at least, would find such comments helpful.  But I'd also
> >> like to hear comments from at least one person responsible
> >> for a general-purpose MTA (as distinct from a fax-over-email
> >> engine) who expects to implement this feature and how they
> >> propose to do so and how this feature fits in.
> >
> > There are two cases here: Client and server implementations.
> >
> > I definitely plan to implement the server side of this
> > proposal. From that perspective all of the proposed variants
> > are easy to implement as long as you have a source of conneg
> > information to tap. I plan to use an LDAP attribute for this
> > purpose.
> >...

> Interesting.  Instead of "ask the receiving client", you would
> rely on a database that proported to know the client's behavior
> and capabilities.  That certainly makes implementation easier
> and might also deal with the relay situation by permitting the
> first (and subsequent?) relays to ask the database rather than
> replying "no clue about the client, I don't deliver to it" (the
> latter is one of the cases I've been concerned about).  However:

> (i) It would seem to me to be reasonable to write this option
> down (as an option) rather than leaving implementers guessing.

Writing it down would be fine with me, although to be honest this struck me as
the obvious way to do it. OTOH, there certainly have been cases in the past
when I refrained from documenting what I thought was obvious in one of my own
drafts, only to find it was nothing of the sort.

> (ii) Given the notorious "wks" experience, with trying to put
> target host capabilities into an ancillary database, it seems to
> me that this would further justify experimental status so that
> we can get some sense as to whether the database would be kept
> adequately up-to-date.  Certainly our experience should cause us
> to be skeptical about that.

I think the differences between this and wks far outweigh the similarities.
Specifically, the major problem with wks records was that the authority
over/responsibility for wks records and authority over/responsibility for the
aspects of systems wks describes tended to be disjoint. Back in the days when I
maintained a reasonably heftly DNS zone I never had enough time to keep wks
records up to date with all the changes the various sysadmins kept making, and
after a while I stopped trying. And of course the sysadmins didn't have the
means to maintain this information in the DNS themselves.

The situation with an LDAP directory used for messaging is quite different.
Such directories often already maintain a bunch of user-settable information
(e.g., filtering rules, personal address book) and typically provide the means
(e.g., a web interface) for users to maintain and modify that information
themselves.

Of course having such a capability doesn't mean users will actually take the
time to use it. I suspect that's going to be very dependent on both need and
the quality of the user interface; presenting raw media feature sets definitely
isn't the way to go ;-)

> > The client side for a general-purpose MTA is much harder, but
> > not because of any aspect of the protocol. The issue I have
> > there is how to match up an arbitrary set of site-provided
> > conversion operations with the current group of recipient
> > feature sets. I don't see a good solution to this other than
> > making the whole thing something the site specifies, and if I
> > do that I see little chance of the capability actually being
> > used by enough sites to justify the cost of implementation.

> > One final comment. A general-purpose MTA using arbitrary
> > site-provided conversion routines doesn't have the luxury of
> > being able to bound the performance or other characteristics
> > of those conversion routines. This makes the entire
> > convert-on-the-fly scenario problematic in ways that don't
> > arise for a device built around a specific, limited and well
> > understood set of on-the-fly converters, regardless of whether
> > that device is a fax machine or something else entirely.
> > Indeed, if I were to implement based on past bad experiences
> > with various general-purpose conversion routines I'd be likely
> > to break the problem down into three steps: (1) Collection of
> > conneg information online, (2) Message splitting and
> > conversion offline, (3) Sending the resulting emssages to
> > their destination. I doubt I'd support using REQUIRED in (1).

> I can only agree with both of these comments and complement you
> on the clarity of your explanation of them.

Thanks!

I had a couple of other thoughts about this over the past couple of days:

(0) There are/will be additional ways to obtain conneg information: In
    DSNs or MDNs, through LDAP queries, via RESCAP, or through direct
    database queries within a single mail system. The database/directory
    mechanism can be used to advantage in all of these cases.

(1) Caching of conneg information is certainly possible and may even
    be desireable. Indeed, conneg information returned in DSNs or MDNs will
    have to be cached in order to be useful. This document doesn't discuss
    caching, and while caching isn't required in the ESMTP context some
    discussion of it nevertheless makes sense.

(2) The use of caches really opens the door to conneg in the context
    of relays in ways that nothing else does. For example, imagine a relay
    that doesn't do any content transformation of its own but does do forward
    conneg requests to populate a cache. It then offers the information it
    has in that cache when it acts as a server. This may sound kind of cool
    at first glance, but as the cache comes and goes it would tend to
    violate the least astonishment principle in fairly major ways. 
    Issues also arise if multiple relays are used, each with a separate
    cache. Care is needed here to preserve the ability to "rack and stack"
    mail relays without undue consequences.

    This isn't a typical cache since the goal isn't to minimize the number
    of forward queries that are done. The intent here is to provide the
    information from those queries in a completely different context.

    The variability problems here can be solved by going to either
    extreme: Ban caches of this sort entirely or insist that components
    that actually perform content transformations cache conneg information
    for a fairly long period. (It should be obvious that having intermediates
    cache information is risky and doesn't solve the problem.) At first I
    thought the right answer was to ban this stuff, but on reflection I think
    the use of DSNs and MDNs to return conneg information argue for a
    mandatory cache in the transformation agent.

				Ned


[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Fedora Users]