1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

passwordstore: Fix error detection for non-English locales (#4219)

The passwordstore lookup plugin depends on parsing GnuPG's
error messages in English language. As a result, detection of
a specific error failes when users set a different locale.

This change corrects this by setting the `LANGUAGE` environment
variable to `C` when invoking `pass`, as this only affects
gettext translations.

See
https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html
This commit is contained in:
grembo 2022-02-17 22:00:02 +01:00 committed by GitHub
parent da49c0968d
commit 77a0c139c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 0 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- passwordstore lookup plugin - fix error detection for non-English locales (https://github.com/ansible-collections/community.general/pull/4219).

View file

@ -229,6 +229,7 @@ class LookupModule(LookupBase):
# Collect pass environment variables from the plugin's parameters. # Collect pass environment variables from the plugin's parameters.
self.env = os.environ.copy() self.env = os.environ.copy()
self.env['LANGUAGE'] = 'C' # make sure to get errors in English as required by check_output2
# Set PASSWORD_STORE_DIR # Set PASSWORD_STORE_DIR
if os.path.isdir(self.paramvals['directory']): if os.path.isdir(self.paramvals['directory']):