diff --git a/poezio/config.py b/poezio/config.py index d5a81c0e..89b75d94 100644 --- a/poezio/config.py +++ b/poezio/config.py @@ -447,6 +447,8 @@ class Config(RawConfigParser): RawConfigParser.set(self, section, option, value) if not self.write_in_file(section, option, value): return ('Unable to write in the config file', 'Error') + if 'password' in option and 'eval_password' not in option: + value = '********' return ("%s=%s" % (option, value), 'Info') def remove_and_save(self, option: str, diff --git a/poezio/core/commands.py b/poezio/core/commands.py index fd6279ec..c9605987 100644 --- a/poezio/core/commands.py +++ b/poezio/core/commands.py @@ -526,6 +526,8 @@ class CommandCore: theme.COLOR_INFORMATION_TEXT), }) for option_name, option_value in section.items(): + if 'password' in option_name and 'eval_password' not in option_name: + option_value = '********' lines.append( '%s\x19%s}=\x19o%s' % (option_name, dump_tuple( @@ -534,6 +536,8 @@ class CommandCore: elif len(args) == 1: option = args[0] value = config.get(option) + if 'password' in option and 'eval_password' not in option and value is not None: + value = '********' if value is None and '=' in option: args = option.split('=', 1) info = ('%s=%s' % (option, value), 'Info')