x-set-fingerprint explodes if argument is missing
Expected Behavior
Sending the command x-set-fingerprint:
should return a proper error message if user forgets to send the argument.
Actual Behavior
an unknown error is send back and roots of schleuder server are notified
Steps to Reproduce the Problem
Send this to -request address:
x-list-name: test-list@cryptolists.mail36.net
x-set-fingerprint:
Specifications
- Version: 3.2.2-1~bpo9+1
- Installation method: deb-package on from Stretch backports
- Mail client version: n.a.
Other information
Running keyword 'set-fingerprint' caused an unknown error. System-admins have been notified.
From: schleuder@hostname
To: root@localhost
Subject: Error
undefined method `match' for nil:NilClass
Did you mean? catch
/usr/lib/ruby/vendor_ruby/schleuder/plugins/subscription_management.rb:101:in `set_fingerprint'
/usr/lib/ruby/vendor_ruby/schleuder/plugin_runners/base.rb:47:in `run_command'
/usr/lib/ruby/vendor_ruby/schleuder/plugin_runners/base.rb:33:in `run_plugin'
/usr/lib/ruby/vendor_ruby/schleuder/plugin_runners/base.rb:11:in `block in run'
/usr/lib/ruby/vendor_ruby/schleuder/plugin_runners/base.rb:10:in `map'
/usr/lib/ruby/vendor_ruby/schleuder/plugin_runners/base.rb:10:in `run'
plugins/subscription_management.rb:101
def self.set_fingerprint(arguments, list, mail)
if arguments.first.match(/@/)
if arguments.first == mail.signer.email || list.from_admin?(mail)
email = arguments.shift
else
...