sidekiq 7.0.7 → 7.0.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sidekiq might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 23b4f6ae3bb1b64fbc6bb359c6d10b52596e3d9c6bae08129907adbaa77f9dd6
4
- data.tar.gz: '08590b7d942b48cf050f80236d56957c1ab2b26c37bc94ab07606e5b2be5b4bb'
3
+ metadata.gz: 69b692f7976998a1655a5c6f108c0a1f686fdcdcde164f6cde071f9ea3f89ced
4
+ data.tar.gz: d78d581fa48b744789b3af117a55d71bab1037b592f58ee9c74cf2c132716e0c
5
5
  SHA512:
6
- metadata.gz: 1819631e039de53bc7b1285d6955e89bc8723af0fd6ee64faf3c0d84cd69bc51a6d31ef3f7c6993cd7c937c59993c913c4bba7e3f7a936198081ab2c0af6a499
7
- data.tar.gz: a08b785013202849bca3fa61b51757ae413efb5dd459606925107843185881b8b62c8255e1aa7b1e9e3ac44bef69dfc6f1f07d93ffed0029906750850d003061
6
+ metadata.gz: 42d16710f20a67a94df6498cf1fb5097a8795a5611f058e58d60e43e82503d26871c6d3061b3404590a0e0eba319997cb7e1daec3a88b66c2356e9cc0164a781
7
+ data.tar.gz: 5b6d9aa7512a67cb552c3a1bed37aa111a877927e7690f53efd3e85aa1ea7049fb75eb05b31232810c8a805f95cb0959a54cc80bafb5c80f9aae0c0701d158b7
data/Changes.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  [Sidekiq Changes](https://github.com/sidekiq/sidekiq/blob/main/Changes.md) | [Sidekiq Pro Changes](https://github.com/sidekiq/sidekiq/blob/main/Pro-Changes.md) | [Sidekiq Enterprise Changes](https://github.com/sidekiq/sidekiq/blob/main/Ent-Changes.md)
4
4
 
5
+ 7.0.8
6
+ ----------
7
+
8
+ - **SECURITY** Sanitize `period` input parameter on Metrics pages.
9
+ Specially crafted values can lead to XSS. This functionality
10
+ was introduced in 7.0.4. Thank you to spercex @ huntr.dev [#5694]
11
+ - Add job hash as 3rd parameter to the `sidekiq_retry_in` block.
12
+
5
13
  7.0.7
6
14
  ----------
7
15
 
@@ -171,7 +171,7 @@ module Sidekiq
171
171
  # Goodbye dear message, you (re)tried your best I'm sure.
172
172
  return retries_exhausted(jobinst, msg, exception) if count >= max_retry_attempts
173
173
 
174
- strategy, delay = delay_for(jobinst, count, exception)
174
+ strategy, delay = delay_for(jobinst, count, exception, msg)
175
175
  case strategy
176
176
  when :discard
177
177
  return # poof!
@@ -190,12 +190,12 @@ module Sidekiq
190
190
  end
191
191
 
192
192
  # returns (strategy, seconds)
193
- def delay_for(jobinst, count, exception)
193
+ def delay_for(jobinst, count, exception, msg)
194
194
  rv = begin
195
195
  # sidekiq_retry_in can return two different things:
196
196
  # 1. When to retry next, as an integer of seconds
197
197
  # 2. A symbol which re-routes the job elsewhere, e.g. :discard, :kill, :default
198
- jobinst&.sidekiq_retry_in_block&.call(count, exception)
198
+ jobinst&.sidekiq_retry_in_block&.call(count, exception, msg)
199
199
  rescue Exception => e
200
200
  handle_exception(e, {context: "Failure scheduling retry using the defined `sidekiq_retry_in` in #{jobinst.class.name}, falling back to default"})
201
201
  nil
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sidekiq
4
- VERSION = "7.0.7"
4
+ VERSION = "7.0.8"
5
5
  MAJOR = 7
6
6
  end
@@ -68,7 +68,7 @@ module Sidekiq
68
68
 
69
69
  get "/metrics" do
70
70
  q = Sidekiq::Metrics::Query.new
71
- @period = params[:period]
71
+ @period = h((params[:period] || "")[0..1])
72
72
  @periods = METRICS_PERIODS
73
73
  minutes = @periods.fetch(@period, @periods.values.first)
74
74
  @query_result = q.top_jobs(minutes: minutes)
@@ -77,7 +77,7 @@ module Sidekiq
77
77
 
78
78
  get "/metrics/:name" do
79
79
  @name = route_params[:name]
80
- @period = params[:period]
80
+ @period = h((params[:period] || "")[0..1])
81
81
  q = Sidekiq::Metrics::Query.new
82
82
  @periods = METRICS_PERIODS
83
83
  minutes = @periods.fetch(@period, @periods.values.first)
data/sidekiq.gemspec CHANGED
@@ -19,7 +19,8 @@ Gem::Specification.new do |gem|
19
19
  "bug_tracker_uri" => "https://github.com/sidekiq/sidekiq/issues",
20
20
  "documentation_uri" => "https://github.com/sidekiq/sidekiq/wiki",
21
21
  "changelog_uri" => "https://github.com/sidekiq/sidekiq/blob/main/Changes.md",
22
- "source_code_uri" => "https://github.com/sidekiq/sidekiq"
22
+ "source_code_uri" => "https://github.com/sidekiq/sidekiq",
23
+ "rubygems_mfa_required" => "true"
23
24
  }
24
25
 
25
26
  gem.add_dependency "redis-client", ">= 0.11.0"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sidekiq
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.7
4
+ version: 7.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Perham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-14 00:00:00.000000000 Z
11
+ date: 2023-04-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis-client
@@ -205,6 +205,7 @@ metadata:
205
205
  documentation_uri: https://github.com/sidekiq/sidekiq/wiki
206
206
  changelog_uri: https://github.com/sidekiq/sidekiq/blob/main/Changes.md
207
207
  source_code_uri: https://github.com/sidekiq/sidekiq
208
+ rubygems_mfa_required: 'true'
208
209
  post_install_message: |2+
209
210
 
210
211
  Welcome to Sidekiq 7.0!