]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Allow to ask password from terminal
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 30 Nov 2020 11:50:27 +0000 (11:50 +0000)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Mon, 30 Nov 2020 11:50:50 +0000 (11:50 +0000)
lualib/rspamadm/clickhouse.lua

index f8f33965463b1112b12a2597e07dad126fd4a99c..d1bbbef1ab6addff76f1233bf971d3fb3df44f1f 100644 (file)
@@ -38,9 +38,14 @@ parser:option '-d --database'
 parser:flag '--no-ssl-verify'
       :description 'Disable SSL verification'
       :argname('no_ssl_verify')
-parser:option '-p --password'
-      :description 'Password to use for Clickhouse'
-      :argname('password')
+parser:mutex(
+    parser:option '-p --password'
+          :description 'Password to use for Clickhouse'
+          :argname('password'),
+    parser:flag '-a --ask-password'
+          :description 'Ask password from the terminal'
+          :argname('ask_password')
+)
 parser:option '-s --server'
       :description 'Address[:port] to connect to Clickhouse with'
       :argname('server')
@@ -228,6 +233,13 @@ local function handler(args)
   load_config(cmd_opts.config_file)
   local cfg_opts = rspamd_config:get_all_opt('clickhouse')
 
+  if cmd_opts.ask_password then
+    local rspamd_util = require "rspamd_util"
+
+    io.write('Password: ')
+    cmd_opts.password = rspamd_util.readpassphrase()
+  end
+
   local function override_settings(params)
     for _, which in ipairs(params) do
       if cmd_opts[which] == nil then