<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>418067</bug_id>
          
          <creation_ts>2020-02-23 02:13:43 +0000</creation_ts>
          <short_desc>Internal field names can retain problematic characters</short_desc>
          <delta_ts>2026-07-03 15:24:44 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>tellico</product>
          <component>general</component>
          <version>3.2.3</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Robby Stephenson">robby</reporter>
          <assigned_to name="Robby Stephenson">robby</assigned_to>
          
          
          <cf_commitlink>https://commits.kde.org/tellico/62b3a899bce203f2b0f15cf7ddecd4ece4f37742</cf_commitlink>
          <cf_versionfixedin>3.3</cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1912299</commentid>
    <comment_count>0</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2020-02-23 02:13:43 +0000</bug_when>
    <thetext>Need to remove &apos;.&apos; and &apos;:&apos;, among others. Reported here: https://forum.kde.org/viewtopic.php?f=200&amp;t=164593&amp;sid=b145727e2e6cba25855e12745fbe78af

Turns out that the file had internal field names of &quot;lc-no.:&quot; and &quot;internal-sn:&quot;. The semi-colons cause problems with the namespace parsing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913284</commentid>
    <comment_count>1</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2020-02-27 02:25:09 +0000</bug_when>
    <thetext>Git commit f83a00a7ee0c5437f91f104e5ca6982eee06c25c by Robby Stephenson.
Committed on 27/02/2020 at 02:23.
Pushed by rstephenson into branch &apos;master&apos;.

Update XML name validity check to use appropriate libxml2 function

Since previous versions of Tellico could potentially write invalid
XML elements, a future commit will provide a workaround to load those
invalid files.
FIXED-IN: 3.3

M  +1    -1    src/tests/tellicoreadtest.cpp
M  +1    -1    src/translators/tellico_xml.cpp

https://commits.kde.org/tellico/f83a00a7ee0c5437f91f104e5ca6982eee06c25c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913296</commentid>
    <comment_count>2</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2020-02-27 04:08:40 +0000</bug_when>
    <thetext>Git commit b7cb3de69a4fe150af103f2928c189a46f84f06c by Robby Stephenson.
Committed on 27/02/2020 at 04:07.
Pushed by rstephenson into branch &apos;master&apos;.

Attempt to recover invalid XML data written with older Tellico versions

If the XML loading fails, scan the field names and determine if any are
invalid. If so, do a find/replace across the whole data file and attempt
to reload.

Add a unit test that should cover most cases.

M  +4    -0    ChangeLog
A  +25   -0    src/tests/data/bug418067.xml
M  +33   -0    src/tests/tellicoreadtest.cpp
M  +3    -0    src/tests/tellicoreadtest.h
M  +59   -0    src/translators/tellico_xml.cpp
M  +1    -0    src/translators/tellico_xml.h
M  +11   -0    src/translators/tellicoimporter.cpp

https://commits.kde.org/tellico/b7cb3de69a4fe150af103f2928c189a46f84f06c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913297</commentid>
    <comment_count>3</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2020-02-27 04:16:37 +0000</bug_when>
    <thetext>(In reply to Robby Stephenson from comment #0)
&gt; Turns out that the file had internal field names of &quot;lc-no.:&quot; and
&gt; &quot;internal-sn:&quot;. The semi-colons cause problems with the namespace parsing.

Should have said &quot;colons&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1913701</commentid>
    <comment_count>4</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2020-02-29 03:18:54 +0000</bug_when>
    <thetext>Git commit 62b3a899bce203f2b0f15cf7ddecd4ece4f37742 by Robby Stephenson.
Committed on 28/02/2020 at 11:51.
Pushed by rstephenson into branch &apos;3.2&apos;.

Update XML name validity check to use appropriate libxml2 function

Since previous versions of Tellico could potentially write invalid
XML elements, a future commit will provide a workaround to load those
invalid files.
FIXED-IN: 3.3

M  +1    -1    src/tests/tellicoreadtest.cpp
M  +1    -1    src/translators/tellico_xml.cpp

https://commits.kde.org/tellico/62b3a899bce203f2b0f15cf7ddecd4ece4f37742</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2527799</commentid>
    <comment_count>5</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2026-06-29 01:25:10 +0000</bug_when>
    <thetext>Git commit 344dd78b66b3262a8f320a402c0b935d0c9af0a5 by Robby Stephenson.
Committed on 29/06/2026 at 01:22.
Pushed by rstephenson into branch &apos;4.2&apos;.

Validate XML element names with QXml

Newer versions of libxml2 are more lenient with valid xml names than
QXmlStreamReader allows, such as with multi-byte emoji. Use both
methods to check.

Use correct approach to strip control codes with multi-byte input.
Related: bug 521148
FIXED-IN: 4.2.1

M  +1    -0    ChangeLog
A  +30   -0    src/tests/data/bug521148.xml
M  +18   -10   src/tests/tellicoreadtest.cpp
M  +20   -23   src/translators/tellico_xml.cpp
M  +0    -1    src/translators/tellico_xml.h
M  +3    -1    src/translators/tellicoimporter.cpp

https://invent.kde.org/office/tellico/-/commit/344dd78b66b3262a8f320a402c0b935d0c9af0a5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2529077</commentid>
    <comment_count>6</comment_count>
    <who name="Robby Stephenson">robby</who>
    <bug_when>2026-07-03 15:24:44 +0000</bug_when>
    <thetext>Git commit 6ad82b37f1c05de913a3b69f4b6f7b592126f93c by Robby Stephenson.
Committed on 03/07/2026 at 13:42.
Pushed by rstephenson into branch &apos;master&apos;.

Validate XML element names with QXml

Newer versions of libxml2 are more lenient with valid xml names than
QXmlStreamReader allows, such as with multi-byte emoji. Use both
methods to check.

Use correct approach to strip control codes with multi-byte input.
Related: bug 521148
FIXED-IN: 4.2.1

M  +1    -0    ChangeLog
A  +30   -0    src/tests/data/bug521148.xml
M  +18   -10   src/tests/tellicoreadtest.cpp
M  +20   -23   src/translators/tellico_xml.cpp
M  +0    -1    src/translators/tellico_xml.h
M  +3    -1    src/translators/tellicoimporter.cpp

https://invent.kde.org/office/tellico/-/commit/6ad82b37f1c05de913a3b69f4b6f7b592126f93c</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>