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

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

 



> Is this complex?  Sure it is.  But, if one is going to end up
> with least common denominator, the limiting (and probably
> common) case is to just send that and forget about capabilities
> negotiation.  Or, if the number of useful differentiated formats
> is _very_ small, just sending both with multipart/alternative
> might turn out to be easier and cheaper than messing around
> trying to find feature intersections.  There isn't nearly enough
> information in the spec for me to be able to guess if that would
> be the case.  There shouldn't be if this is a general purpose,
> multiple-recipient, capabilities negotiation mechanism but, if
> it is, I don't see much hope other than dealing with the
> complexity (or deciding we don't need something that general).

I guess I remain to be convinced either way: That multiple versions schemes are
necessary or that a single version schemes are sufficient. I'd guess there's a
sweet spot somewhere in there. Unfortunately in this particular case the
location of that spot drives a bunch of design choices.

> > I think the determining factor needs to be how clients will
> > actually handle recipients with differing capabilities. If the
> > least common denominator is going to be the dominant approach
> > (and I suspect that it will be) then RCPT TO capabilities
> > return is the simplest and most direct approach. If, on the
> > other hand, messages tailored for a each recipient is going to
> > be the norm, then VRFY is the correct approach.

> Ignoring all of the relay issues, which I still don't think the
> document addresses,

I must say I don't see any of this as particularly useful in a relay scenario.

> and the fallback to fax while claiming it
> isn't fax-specific, etc., I'd partition the above a bit
> differently.  I'd guess the dominant approach (especially if one
> generalizes beyond fax) is going to be greatest (most capable)
> common denominator above a threshold.  I.e., if there is some
> minimal, default, capability, and some recipients can support
> only that (e.g., they don't handle option negotiation at all),
> then two messages are going to be sent: one corresponding to the
> common feature set of the more capable recipients and one for
> the minimal/default feature set.  Everyone gets downgraded to
> the minimum/default because one recipient isn't highly capable
> just doesn't feel commercially viable to me, while assuming a
> mix of high-function and low-function hosts does.

I certainly agree with the common denominator above a threshhold. But given
that a single recipient per destination is likely to be a very common case, I'm
less sure that simpler approaches won't be commercially viable. Or perhaps
capabilities will be used to reduce the number of variants sent with
multipart/alternative.

> Other
> combinations are possible, but my sense of reality says they
> would rapidly turn into message-copy-per-recipient rather than
> strange combinatorics on feature sets.

It may indeed turn out that per-recipient message copy is the right way to
finesse the feature set combination issues.

> But, in that "two message" case, one really doesn't want 5yz
> codes coming back from the server in response to a RCPT TO.  If
> the "one digit" rule is observed, there is no way to
> differentiate between "bad mailbox" and "bad parameter".  If it
> is not, and three digits are processed, the server cannot
> effectively differentiate between a bad parameter to CONNEG and
> one to some other option by the code -- the reply string has to
> be parsed, and that leads to bad trouble.   So I would think
> that a batch of capability-determining commands before the first
> RCPT one would be a better idea, complexity notwithstanding.

I'm not sure I get what you're driving at here. The client gets
to choose whether the server treats a recipient with unknown
capabilities as an error or simply by indicating as much.

> Again, the way to get most of the complexity out of this, IMO,
> is to change the problem.  For example, if the server makes the
> determination of the common capability set among all recipients
> and returns it only once (a bit tricky with the SMTP model, but
> not impossible), then the client doesn't have to figure out how
> to intersect whatever comes back, break things up into separate
> messages, etc.  But I don't know if that would do the job; it
> certainly doesn't handle a mix of high- and low-function
> recipients in a plausible way.

I considered proposing this as well, but it seemed to be that knowledge
of what the client can actually do may determine how differing
feature sets are combined.

				Ned



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