Re: [gupnp] [PATCH] Respond to M-SEARCH requests for urns specifying an eligible version



On Thursday 17 June 2010 07:17:05 pm Zeeshan Ali (Khattak) wrote:
>
> Hi,
>
> On Thu, Jun 17, 2010 at 11:08 PM, Stephen Depooter <stephend xandros com>
>
> wrote:
> > The last paragraph of 1.3.2 talks about when to reply. section 1.3.3 only
> > talks about the content of a reply when you actually do reply to the
> > search request.
> >
> > The last paragraph of 1.3.2 says:
>
>    OK, I read each part and checked if our existing GSSDP code does
>
> what is expected. Here goes:
> > "Updated versions of device and service types are REQUIRED to be fully
> > backward compatible with previous versions. Devices MUST respond to
> > M-SEARCH requests for any supported version. For example, if a device
> > implements “urn:schemas-upnp-org:service:xyz:2”, it MUST respond to
> > search requests for both that type and
> > “urn:schemas-upnp-org:service:xyz:1”.
>
>   Check (for both of these MUSTs)!  We make use of regular expression
> to do a version-independent check on incoming M-SEARCH requests.
>
> > The
> > response MUST specify the same version as was contained in the search
> > request.
>
>   Check! Read libgssdp/gssdp-resource-group.c:802
>

Indeed, this is correct.  I was quoting the portion that was relevant, 
including some portions of the requirements that were correctly handled.

> > If a control point searches for a device or service of a particular
> > version and receives no responses (presumably because no device present
> > on the network supports the specified version), but is willing to operate
> > using a lower version, it MAY repeat the search request specifying the
> > lower version."
>
>   With our devices it doesn't come to that since we respond to request
> with ANY version.


Yes, but that is the point.  gssdp will happily respond to a request for a 
MediaServer:3 if it only implements MediaServer:2.  Clearly this is wrong 
since  a Control point getting a response back with the version of the 
request, and not the version implemented will expect to be able to use the 
new features in the MediaServer:3 specification, and not just the 
MediaServer:2 specification.  

The proper behaviour is to only respond to requests for device/service 
versions that the device in question implements.  Which would be 
MediaServer:2 or MediaServer:1 in this case.




>
> --
> Regards,
>
> Zeeshan Ali (Khattak)
> FSF member#5124




-- 
Stephen Depooter
<stephend xandros com>
--
To unsubscribe send a mail to gupnp+unsubscribe\@o-hand.com



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