[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