wafris 0.3.5 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e5b39cabfbc682a8747543a828ed6f4247391510133775eccddc5b993a8aba71
4
- data.tar.gz: 8e1b9ed6f5f28142a7b2f9573ed08c08d3289ec6426b90b4295327900cdd0eaf
3
+ metadata.gz: a6403b9b2f805fb237789d238e0eaffd0fef7b488f8a105ee402eda335a30de0
4
+ data.tar.gz: 76aec9129b297c975ce26f0c9992d5296ff9ff643543154e58192b7a3df49bed
5
5
  SHA512:
6
- metadata.gz: e23d9df1014a335af26d8ccc44eece11276ba603903b7bcb21c9912459b2371bead29ed29c083c442a202f05307e4de74a821093338236cfca33cd48c77eb8f1
7
- data.tar.gz: 10209a6b297681ef18b400db8e3101e4b2f44d21e08760bbb10e9928d67a1d64660f586fbf3a060565532b4417c68fc2aabdae7f4b74f164b1ffcfc4075a1bc5
6
+ metadata.gz: bc5eddfd5163e22f711fec29cd3be30b32be39846a1536fdafab77b7c85ba48be7f9af026cf91a6d0d233beabd3e965541dd681b19e818fa3272b583693302c5
7
+ data.tar.gz: 95e21d8938ec9cd481fafd0bda406f31e5305b5dce24cef3e681a8436cce5535fa8b51f51c339cf2b1a15ebde2fa4fade9968caaf33afbc72a2ef70f2b6b4dd5
@@ -71,7 +71,7 @@ local max_requests = 100000
71
71
  local max_requests_per_ip = 10000
72
72
 
73
73
  local client_ip = ARGV[1]
74
- local ip_to_decimal = ARGV[2]
74
+ local client_ip_to_decimal = ARGV[2]
75
75
  local unix_time_milliseconds = ARGV[3]
76
76
  local unix_time = ARGV[3] / 1000
77
77
  local proxy_ip = ARGV[4]
@@ -98,10 +98,12 @@ increment_timebucket_for("host:", current_timebucket, host)
98
98
 
99
99
  -- BLOCKING LOGIC
100
100
  -- Safelist Range Check
101
- if next(redis.call("ZRANGEBYSCORE", "allowed_ranges", ip_to_decimal, "+inf", "LIMIT", 0, 1)) then
101
+ -- TODO: ZRANGEBYSCORE is deprecated in Redis 6.2+. Replace with ZRANGE
102
+ if next(redis.call("ZRANGEBYSCORE", "allowed_ranges", client_ip_to_decimal, "+inf", "LIMIT", 0, 1)) then
102
103
  return "Allowed"
103
104
  -- Blocklist Range Check
104
- elseif next(redis.call("ZRANGEBYSCORE", "blocked_ranges", ip_to_decimal, "+inf", "LIMIT", 0, 1)) then
105
+ elseif next(redis.call("ZRANGEBYSCORE", "blocked_ranges", client_ip_to_decimal, "+inf", "LIMIT", 0, 1)) then
106
+ increment_timebucket_for("wafris:blocked:", current_timebucket, client_ip)
105
107
  return "Blocked"
106
108
  -- No Matches
107
109
  else
@@ -6,7 +6,10 @@ module Wafris
6
6
  attr_accessor :redis_pool_size
7
7
 
8
8
  def initialize
9
- @redis = Redis.new
9
+ @redis = Redis.new(
10
+ url: ENV['REDIS_URL'],
11
+ ssl_params: { verify_mode: OpenSSL::SSL::VERIFY_NONE }
12
+ )
10
13
  @redis_pool_size = 20
11
14
  end
12
15
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wafris
4
- VERSION = "0.3.5"
4
+ VERSION = "0.5.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wafris
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Micahel Buckbee
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2023-05-23 00:00:00.000000000 Z
12
+ date: 2023-05-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: connection_pool