diff options
-rw-r--r-- | poezio/config.py | 2 | ||||
-rw-r--r-- | poezio/core/commands.py | 6 |
2 files changed, 7 insertions, 1 deletions
diff --git a/poezio/config.py b/poezio/config.py index d5a81c0e..19069ddb 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 = '*'*len(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..e48aaff9 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 = '*'*len(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 = '*'*len(value) if value is None and '=' in option: args = option.split('=', 1) info = ('%s=%s' % (option, value), 'Info') @@ -591,7 +595,7 @@ class CommandCore: section = args[0] option = args[1] value = args[2] - info = config.set_and_save(option, value, section) + info = config.set_and_save(option, value_info, section) self.core.trigger_configuration_change(option, value) elif len(args) > 3: return self.help('set') |