security_guard 0.0.1 → 0.0.2
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.
- data/README.md +13 -1
- data/lib/security_guard/utils/files.rb +1 -1
- data/lib/security_guard/utils/geo_ips.rb +6 -0
- data/lib/security_guard/version.rb +1 -1
- data/security_guard.gemspec +1 -0
- data/specs/spec_helper.rb +1 -0
- data/specs/utils/geo_ips_spec.rb +10 -0
- metadata +20 -9
data/README.md
CHANGED
@@ -30,7 +30,7 @@ Returns a list of the IPs from given country and IP dictionaries. Useful for aud
|
|
30
30
|
|
31
31
|
```ruby
|
32
32
|
country_ips = SecurityGuard::CountryIps.new
|
33
|
-
country_ips.countries = ['Australia', 'United
|
33
|
+
country_ips.countries = ['Australia', 'United Kingdom']
|
34
34
|
country_ips.ips = ['4.4.4.4', '8.8.8.8', '203.206.0.1']
|
35
35
|
country_ips.result # => ['203.206.0.1']
|
36
36
|
```
|
@@ -42,6 +42,18 @@ country_ips.countries_from_file = '/path/to/the/file'
|
|
42
42
|
country_ips.ips_from_file = '/path/to/the/file'
|
43
43
|
```
|
44
44
|
|
45
|
+
## Changelog
|
46
|
+
|
47
|
+
### v0.0.2 [2012-01-19]
|
48
|
+
|
49
|
+
- Added IP address sanity check
|
50
|
+
- Coloured test output
|
51
|
+
- Added changelog
|
52
|
+
|
53
|
+
### v0.0.1 [2012-01-18]
|
54
|
+
|
55
|
+
- First release, implemented SecurityGuard::CountryIps and `bin/sguard`
|
56
|
+
|
45
57
|
## Contributing
|
46
58
|
|
47
59
|
1. Fork it
|
@@ -5,6 +5,8 @@ module SecurityGuard
|
|
5
5
|
class GeoIps
|
6
6
|
attr_accessor :ip_address
|
7
7
|
|
8
|
+
VALID_IP_ADDRESS = /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/
|
9
|
+
|
8
10
|
def initialize(geo_data_file, ip_address = nil)
|
9
11
|
@geoip ||= GeoIP.new(geo_data_file)
|
10
12
|
self.ip_address = ip_address
|
@@ -17,6 +19,10 @@ module SecurityGuard
|
|
17
19
|
def country_name
|
18
20
|
country.country_name
|
19
21
|
end
|
22
|
+
|
23
|
+
def ip_address=(ip_address)
|
24
|
+
@ip_address = ip_address.to_s[VALID_IP_ADDRESS]
|
25
|
+
end
|
20
26
|
end
|
21
27
|
end
|
22
28
|
end
|
data/security_guard.gemspec
CHANGED
data/specs/spec_helper.rb
CHANGED
data/specs/utils/geo_ips_spec.rb
CHANGED
@@ -14,6 +14,16 @@ describe SecurityGuard::Utils::GeoIps do
|
|
14
14
|
@geoip.ip_address = '8.8.8.8'
|
15
15
|
@geoip.ip_address.must_equal '8.8.8.8'
|
16
16
|
end
|
17
|
+
|
18
|
+
it 'sanitises the (valid) ip address' do
|
19
|
+
@geoip.ip_address = 'a8.8.8.8, '
|
20
|
+
@geoip.ip_address.must_equal '8.8.8.8'
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'sanitises the (invalid) ip address' do
|
24
|
+
@geoip.ip_address = 'abc'
|
25
|
+
@geoip.ip_address.must_equal nil
|
26
|
+
end
|
17
27
|
end
|
18
28
|
|
19
29
|
describe 'initialise with an ip' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: security_guard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-18 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clamp
|
16
|
-
requirement: &
|
16
|
+
requirement: &70244890970620 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70244890970620
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: awesome_print
|
27
|
-
requirement: &
|
27
|
+
requirement: &70244890967900 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70244890967900
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: geoip
|
38
|
-
requirement: &
|
38
|
+
requirement: &70244890966500 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70244890966500
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: simplecov
|
49
|
-
requirement: &
|
49
|
+
requirement: &70244890962180 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,18 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70244890962180
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: minitest-colorize
|
60
|
+
requirement: &70244890958840 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ! '>='
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: '0'
|
66
|
+
type: :development
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *70244890958840
|
58
69
|
description: A collection of useful tools for auditing data and performing security
|
59
70
|
checks.
|
60
71
|
email:
|