]> git.evergreen-ils.org Git - OpenSRF.git/commit
LP1340982: Ignore both 'comment' and '#comment' nodes in Settings Parse.
authorJason Stephenson <jason@sigio.com>
Sun, 18 Feb 2018 17:12:13 +0000 (12:12 -0500)
committerGalen Charlton <gmc@equinoxinitiative.org>
Mon, 7 May 2018 19:30:59 +0000 (15:30 -0400)
commite72473d9c43a579ea64cb79fd410d37df23c3445
tree7142aa1d4d981c4ee3f3ddb7ed5e1a1a1059c477
parentf8dfa10b7613799190524ae1bf635d6c90a97b98
LP1340982: Ignore both 'comment' and '#comment' nodes in Settings Parse.

Modify the XML2perl helper function in OpenSRF::Utils::SettingsParser
to ignore comment nodes that have names of comment and #comment.

To reproduce the bug:

1. Stop OpenSRF services.

2. Add a XML comment, any text betwen <!-- and -->, in the list of
MARC templates in the opensrf.xml file.

3. Restart OpenSRF services.

4. In the staff client, go to Cataloging->Create New MARC Record.

5. In the list of templates, you will #comment where you added the
comment. (NOTE: I only tested with 1 comment.  Things may get worse
with more than 1 comment.)

6. There will be an error like the following in the
open-ils.cat_stderr.log if you attempt to choose the #comment entry:

   Caught error from 'run' method: Exception: OpenSRF::EX::ERROR
   2018-02-18T11:24:30 OpenSRF::Application
   /usr/local/share/perl/5.22.1/OpenSRF/Application.pm:240 System
   ERROR: Unable to open MARC template file: HASH(0x2249928) :

To test the fix:

1. Leave the comments in the opensrf.xml file from before.

2. Apply this commit, do make and make install for OpenSRF.

3. Just to make sure, do make and make install for Evergreen.

4. Repeat steps 3 and 4 from above.

5. You should NOT see any templates named #comment.

Signed-off-by: Jason Stephenson <jason@sigio.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
src/perl/lib/OpenSRF/Utils/SettingsParser.pm