Skip to content

Puma caught this error: undefined method `reject' for nil:NilClass (NoMethodError) #1576

@wbotelhos

Description

@wbotelhos

Updating rack from 2.1.2 to 2.2.0 breaks Rack::Attack.

Rack::Attack.blocklist do |req|
  Rack::Attack::Fail2Ban.filter("pentesters-#{req.ip}", maxretry: 1, findtime: 10.minutes, bantime: 5.seconds) do # 82
    matched = req.path =~ regex
  end
end

Error:

Puma caught this error: undefined method `reject' for nil:NilClass (NoMethodError)
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-2.2.0/lib/rack/request.rb:623:in `reject_trusted_ip_addresses'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-2.2.0/lib/rack/request.rb:363:in `ip'
/Users/wbotelhos/workspace/danca/config/initializers/rack_attack.rb:82:in `block in <class:Attack>'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-attack-6.2.2/lib/rack/attack/check.rb:14:in `matched_by?'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-attack-6.2.2/lib/rack/attack.rb:95:in `block in blocklisted?'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-attack-6.2.2/lib/rack/attack.rb:95:in `any?'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-attack-6.2.2/lib/rack/attack.rb:95:in `blocklisted?'
/Users/wbotelhos/.rvm/rubies/ruby-2.6.5/lib/ruby/2.6.0/forwardable.rb:230:in `blocklisted?'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/rack-attack-6.2.2/lib/rack/attack.rb:164:in `call'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/puma-4.3.1/lib/puma/configuration.rb:228:in `call'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/puma-4.3.1/lib/puma/server.rb:681:in `handle_request'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/puma-4.3.1/lib/puma/server.rb:472:in `process_client'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/puma-4.3.1/lib/puma/server.rb:328:in `block in run'
/Users/wbotelhos/.rvm/gems/ruby-2.6.5@danca/gems/puma-4.3.1/lib/puma/thread_pool.rb:134:in `block in spawn_thread'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions