summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--poezio/config.py2
-rw-r--r--poezio/core/commands.py6
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')