Document that resource file of Techniques are shared to nodes with UTF-8 Encoding *only* (breaks for other encoding)
somehow, the Rudder-Agent.xml in the generated promises starts with ef bf bd ef bf bd BOM, while the original file starts with ff fe BOM
result is: file is corrupted.
BOM of original file was removed, as a workaround, in #13616, but we need to understand WHY it happened
Hypothesis: scala lib interpreting and adding the BOM, some side effect of #12471, or something else.
Updated by Vincent MEMBRÉ over 1 year ago
- Project changed from Windows DSC to Rudder
- Subject changed from UTF-8 encoding BOM added to Rudder-Agent.xml file by rudder dsc plugin to Resource file of Techniques are shared to nodes with UTF-8 Encoding
- Category changed from System techniques to System techniques
- Target version changed from 4.3-1.12 to 4.3.5
If we use a Resource file in a Techniques (using a FILE tag in the metadata.xml) the encoding of the file is enforced to UTF-8, even if the file is in an another encoding (ie an xml we want to use on windows ... )
This is due to this function which reads the content of the file and save it with UTF-8 encoding
Updated by Nicolas CHARLES over 1 year ago
EF BF BD is a replacement character for invalid utf8 character
Updated by François ARMAND 10 months ago
- Subject changed from Resource file of Techniques are shared to nodes with UTF-8 Encoding *only* (breaks for other encoding) to Document that resource file of Techniques are shared to nodes with UTF-8 Encoding *only* (breaks for other encoding)
- Category changed from Web - Config management to Documentation
- Target version changed from 4.3.12 to 5.0.10
- Severity changed from Critical - prevents main use of Rudder | no workaround | data loss | security to Major - prevents use of part of Rudder | no simple workaround
- User visibility set to Getting started - demo | first install | Technique editor and level 1 Techniques
- Effort required set to Very Small
- Priority changed from 0 to 90
So, the possibility to add file encoding for all templates is a long term new feature. In the meantime, we need to just clearly document the limitation (it should be ok for most use case, and workaroundable for all even if it supposes a very tedious step of transcoding on the node).
Updated by Nicolas CHARLES 9 months ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder-doc|35f3ea45f4bcbe35e765c4ec13822269d752262f.