Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
schleuder
schleuder
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 101
    • Issues 101
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • schleuder
  • schleuderschleuder
  • Issues
  • #356

Closed
Open
Opened Jun 07, 2018 by init void@init

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
...
Assignee
Assign to
3.3.0
Milestone
3.3.0
Assign milestone
Time tracking
None
Due date
None
Reference: schleuder/schleuder#356