Hi all

https://github.com/apache/ant-ivy/pull/111 made me dig a bit deeper into
Ivy's XML handling, which is a bit strange given I was involved in
fixing CVE-2022-46751 :-)

Currently the XML parser works under the assumption the default
namespace of an Ivy module was Ivy's. So it considers

<ivy-module version="1.0" xmlns="https://example.org/foo";>
  <info organisation="myorg" module="mymodule" />
</ivy-module>

a valid module, as long as I disable XML validation (which is a separate
issue of its own).

On the other hand it believes

<ivy:ivy-module version="1.0" 
xmlns:ivy="http://ant.apache.org/ivy/schemas/ivy.xsd";>
  <ivy:info ivy:organisation="myorg" ivy:module="mymodule" />
</ivy:ivy-module>

to not be a valid Ivy module.

I'm afraid fixing the first issue might break backwards compatibility
but I'm going to work on a PR fixing the second. This may require
rethinking the way XmlHelper handles the "validate" property as it
currently assumes the root namespace to be Ivy's. I'm not sure how long
it is going to take me to finish this.

When writing XML descriptors I believe XML namespace handling is wrong
as well (at least in the update case) and I'll address this separately
when I reach my next open source timeslice.

Stefan

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to