Re: <profile> contained within <greeting>

james woodyatt <[email protected]> Thu, 25 Mar 2004 00:02:41 -0800
Newsgroups gmane.ietf.beep
Message-ID <[email protected]>
On 18 Mar 2004, at 00:33, Rainer Gerhards wrote:
>
> In my implementation, I advertise only those profiles that I am ready 
> to
> accept. And if I am a client peer, I expect that I can call up any
> profiles that the server peer advertises. Everything else sounds
> illogical to me.

My implementation regards the list of profiles in the <greeting> 
message as 'advisorial' in nature.  I predict that some applications 
will want the ability for the listener to obscure its capability to 
support a profile by opting not to advertise it in the initial 
<greeting> message.  (I can envision ways this could be used to slow 
down hostile server probes from discovering servers with specific 
applications simply by making the probers do a lot more work to 
discover their targets.)

It's also the case that a BEEP endpoint must cope if a profile 
advertised in a received <greeting> message turns out to not be 
supported by the peer, i.e. attempts to start channels with that 
profile produce an <error> with code 550.

In other words, it's no guarantee that a remote peer does not support a 
given profile if it doesn't appear in the greeting, and it's also no 
guarantee that a remote peer does support a given profile if it *does* 
appear in the greeting.  The only way you know if the peer supports a 
profile at the time you want to start a channel for it is if the peer 
responds to a <start> message with a <profile> response.

The only reasonable things a BEEP endpoint can do with the list of 
profiles in a <greeting> message: 1) [in the event it has not yet sent 
an initial exchange entity] make its decision about whether to send its 
own <greeting> or an <error>; or 2) [in any event] make its decision 
about which profiles to use in attempting to start which channels in 
what order of priority.


-- 
j h woodyatt <[email protected]>
don't take any wooden root certs...