mini_defender 0.7.1 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5b6dfb53b37f6a2c6b47b6e16e31fed61ef5a8b54c09bfdfb6cd281d184543e
4
- data.tar.gz: 7377e5c6a38f01740bbc08599d8887230664d1aef7fd13d60fd15575d16b1457
3
+ metadata.gz: 07a1c383fd9f621cde2b5a6a08fefaaa83d05734b196b5239d3995cf322c4049
4
+ data.tar.gz: 647191cab1a97142b3049871f6bdffcc96b5a139b94c8a001686437a420403c9
5
5
  SHA512:
6
- metadata.gz: c139200a8d9ec41d27de36007df37022b138d4acdf83369cbdcb3690448cff2e46dfda9d3045ac922c0dae38f37a3f105dec376b943ec3edfd25b118ff00d2e7
7
- data.tar.gz: 7c4afa6982e5746cbe19071abd5619e62cb02eb0788a9a3443e14fc15a0bbd83d53254e96cda8cd04e198464bb9908579f50547367682228c4f450acd3cd0974
6
+ metadata.gz: a89d0e1227c1fa735f1b33c5ff7afe4141440f65f3ea2d8324fe02c55cd7a75bb2d862ffec56a832be592891de8be940ee22a2f915077b73ace07d40645600f5
7
+ data.tar.gz: 97d7e91e557363a9aac4a308127d1e6b85c594891751b23620fc32f808626e4ecdf7ba970d9e282c627b6353a4225f6a2ece295f09bf979b4507a88e5e1a6ab4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## [Unreleased]
2
2
 
3
+ ## [0.7.3] - 2025-09-12
4
+
5
+ - Fix hostname coercion
6
+
3
7
  ## [0.7.1] - 2025-09-07
4
8
 
5
9
  - Add password rule
@@ -1,19 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class MiniDefender::Rules::Hostname < MiniDefender::Rule
4
- HOSTNAME_REGEX = /\A[a-zA-Z0-9][a-zA-Z0-9\-]{1,63}(\.[a-zA-Z0-9][a-zA-Z0-9\-]{1,63})+\.?\z/
4
+ HOSTNAME_REGEX = /\A([a-zA-Z0-9][a-zA-Z0-9\-]{,62})(\.[a-zA-Z0-9][a-zA-Z0-9\-]{0,62})+\.?\z/
5
5
 
6
6
  def self.signature
7
7
  'hostname'
8
8
  end
9
9
 
10
10
  def coerce(value)
11
- value.to_s.downcase.strip
11
+ value.to_s
12
+ .downcase
13
+ .strip
14
+ .gsub(/\.\z/, '')
12
15
  end
13
16
 
14
17
  def passes?(attribute, value, validator)
15
18
  value = value.to_s.downcase.strip
16
- return false if value.length > 255
19
+ if value.length > 255
20
+ return false
21
+ end
17
22
 
18
23
  value.match?(HOSTNAME_REGEX)
19
24
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MiniDefender
4
- VERSION = "0.7.1"
4
+ VERSION = "0.7.3"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mini_defender
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ali Alhoshaiyan
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-09-09 00:00:00.000000000 Z
10
+ date: 2025-09-12 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: activesupport