[Home]

Summary:ASTERISK-29791: xmldoc: Dump invalid to XML DTD: ACO Matchfield
Reporter:Alexander Traud (traud)Labels:
Date Opened:2021-12-06 05:16:01.000-0600Date Closed:2021-12-13 07:59:34.000-0600
Priority:MinorRegression?
Status:Closed/CompleteComponents:Documentation
Versions:16.22.0 18.8.0 19.0.0 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:After {{./configure --enable-xmldoc}}, the command-line interface (CLI) offers {{xmldoc dump <file>}} since Asterisk 12. Although {{make full}} calls the sub-target {{make validate-docs}}, just the static XML file is validated. Nobody, not even the script {{tests/CI/publishAsteriskDocs.sh}}, validated the runtime XML file against its DTD:
{code}
xmllint --noout --dtdvalid doc/appdocsxml.dtd <file>
xmlstarlet val --err --dtd doc/appdocsxml.dtd <file>
{code}
gives something like
{code}
Element matchInfo content does not follow the DTD, expecting (category | field?), got (category field)
match="false">^general$</category><field name="
{code}
The cause are all modules which use ACO {{matchfield}}. Those are
* {{apps/confbridge/conf_config_parser.c}} and
* {{res/ari/config.c}} (introduced with commit [684481b|https://github.com/asterisk/asterisk/commit/684481b]).

I considered to simply remove the {{category_match}} because a {{matchfield}} is sufficient for a match. However, {{main/config_options.c:internal_aco_type_find(.)}} requires a category always. Therefore, I changed my approach and changed the DTD from an alternative to a sequence, still with the second XML element optional.

This issue was introduced in Feb. 2013 with the addition of the [CLI configuration documentation|https://github.com/asterisk/asterisk/commit/d04ab3c] itself. In other words: Since day one, this never worked. In other words: The XML never validated. Looking at that, what about validating the runtime XML in {{tests/CI/publishAsteriskDocs.sh}}?
Comments:By: Asterisk Team (asteriskteam) 2021-12-06 05:16:01.430-0600

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution. Please note that log messages and other files should not be sent to the Sangoma Asterisk Team unless explicitly asked for. All files should be placed on this issue in a sanitized fashion as needed.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].

Please note that once your issue enters an open state it has been accepted. As Asterisk is an open source project there is no guarantee or timeframe on when your issue will be looked into. If you need expedient resolution you will need to find and pay a suitable developer. Asking for an update on your issue will not yield any progress on it and will not result in a response. All updates are posted to the issue when they occur.

Please note that by submitting data, code, or documentation to Sangoma through JIRA, you accept the Terms of Use present at [https://www.asterisk.org/terms-of-use/|https://www.asterisk.org/terms-of-use/].

By: Friendly Automation (friendly-automation) 2021-12-13 07:59:35.301-0600

Change 17627 merged by Friendly Automation:
xmldoc: Correct definition for XML element 'matchInfo'.

[https://gerrit.asterisk.org/c/asterisk/+/17627|https://gerrit.asterisk.org/c/asterisk/+/17627]

By: Friendly Automation (friendly-automation) 2021-12-13 08:08:22.414-0600

Change 17626 merged by George Joseph:
xmldoc: Correct definition for XML element 'matchInfo'.

[https://gerrit.asterisk.org/c/asterisk/+/17626|https://gerrit.asterisk.org/c/asterisk/+/17626]

By: Friendly Automation (friendly-automation) 2021-12-13 08:08:24.802-0600

Change 17595 merged by George Joseph:
xmldoc: Correct definition for XML element 'matchInfo'.

[https://gerrit.asterisk.org/c/asterisk/+/17595|https://gerrit.asterisk.org/c/asterisk/+/17595]

By: Friendly Automation (friendly-automation) 2021-12-13 08:08:27.188-0600

Change 17625 merged by George Joseph:
xmldoc: Correct definition for XML element 'matchInfo'.

[https://gerrit.asterisk.org/c/asterisk/+/17625|https://gerrit.asterisk.org/c/asterisk/+/17625]