Re: [gupnp] [PATCH] Respond to M-SEARCH requests for urns specifying an eligible version
- From: Stephen Depooter <stephend xandros com>
- To: gupnp o-hand com
- Subject: Re: [gupnp] [PATCH] Respond to M-SEARCH requests for urns specifying an eligible version
- Date: Wed, 23 Jun 2010 15:15:36 -0400
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]