[Fdo-trac] [fdo-trac] #842: WFS: infinite recursion processing schemas.
FDO
trac_fdo at osgeo.org
Mon Jul 30 10:53:20 PDT 2012
#842: WFS: infinite recursion processing schemas.
-----------------------------+----------------------------------------------
Reporter: brentrobinson | Owner: brentrobinson
Type: defect | Status: assigned
Priority: major | Milestone: 3.7.0
Component: WFS Provider | Version:
Severity: 2 | Keywords: WFS stack overflow
External_id: |
-----------------------------+----------------------------------------------
Changes (by brentrobinson):
* status: new => assigned
Comment:
When the WFS provider retrieves a server's schema, it recursively includes
schemas referenced by that schema. Checks are done
to ensure that each schema is included once, in order to avoid infinite
recursion. This is done by keeping a list of the absolute paths
of the schemas included sofar.
The infinite recursion can still happen when a referenced schema's
location is a relative path starting with "./". For example,
http://schemas.opengis.net/wfs/1.0.0/wfs.xsd references ./WFS-basic.xsd,
which in turn, references ./wfs.xsd.
The WFS provider converts relative schema paths to absolute, by prepending
the absolute path of the referenced schema. After it includes:
http://schemas.opengis.net/wfs/1.0.0/wfs.xsd
it then includes:
http://schemas.opengis.net/wfs/1.0.0/./WFS-basic.xsd
and then:
http://schemas.opengis.net/wfs/1.0.0/./wfs.xsd
due to the extra "./" in the path, the provider doesn't recognize that it
already included this schema, so it continues on including:
http://schemas.opengis.net/wfs/1.0.0/././WFS-basic.xsd
http://schemas.opengis.net/wfs/1.0.0/././wfs.xsd
http://schemas.opengis.net/wfs/1.0.0/./././WFS-basic.xsd
http://schemas.opengis.net/wfs/1.0.0/./././wfs.xsd
...
until there is a stack overflow.
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/842#comment:1>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list