Issue #19731 has been updated by Charlie Sharpsteen. Status changed from Investigating to Closed
It appears that the code we use to serialize data to YAML only deals in two encodings: US-ASCII and UTF-8. This will override any settings from `locale`, LANG or LC_CTYPE. Therefore, using an encoding such as ISO-8859-15 results in strings being converted to binary blobs which creates an error when the YAML file is loaded. Furthermore, we haven't fully vetted the code proper handling of UTF-8, so the best bet for stability is to use US-ASCII encoding when writing manifests. ---------------------------------------- Bug #19731: Cron name with extended characters could lead to state yaml corruption https://projects.puppetlabs.com/issues/19731#change-87087 * Author: Sylvain Avril * Status: Closed * Priority: Normal * Assignee: Charlie Sharpsteen * Category: utf8 * Target version: * Affected Puppet version: 3.1.1 * Keywords: yaml cron * Branch: ---------------------------------------- Hello, I was using the cron type with a name using accents and that lead to this error : Could not intern from yaml: syntax error on line 8324, col 14: ` !binary ? "Q3JvbltS6XN1bekgam91cm5hbGllciBwb3VyIGZvcmVtYW4gZGV2XQ==\n"' This is the name of the ressource in base 64. Reverting the name to a more 7-bit ASCII type friendly resolved the problem (after a bit of cleaning in yaml and storeconfig). As far as I know, ressource names doesn't have much limitations in the characters to use. I'm not sure if this is a problem specific to the cron type or if it is more general in puppet. There could be also a mismatch between the encoding of the manifest and the encoding in the crontab. As ressource names are used as keys in the YAML, there's probably no easy option. -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://projects.puppetlabs.com/my/account -- You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/puppet-bugs?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
