tls-checker 1.3.0 → 2.0.1

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: 26872fe183d0e6a3a861bad2f7265923a0d4e73b2d03b294757d821dc63d9f91
4
- data.tar.gz: dd86682331bbb40d55ac43996077362234ac19c9d8691833af58ec2ed22fac0c
3
+ metadata.gz: e631fb5a5661e925d1b3f705f547b8d7ebbbb55f797b95458dd2f3b91bd062cb
4
+ data.tar.gz: 8a0069d414059a0625756f94676652400c60cc1886c58811413175d81ce1c0d0
5
5
  SHA512:
6
- metadata.gz: b7e46514562cce02f7bdd2520ec154c9f06eeaa6081e2b5d42e7b45ca2faedda335517129d70f218e1ab5b63686352ba7ecc17d46be84b61366229772e9d2cb8
7
- data.tar.gz: 03df2d9f3a7027c83635db058346622fc2fd28741a44b80340c29aa878d3fcfff0b6d7159501509a3398658a954b8d5784bc56e06965778befe4d24a23157d70
6
+ metadata.gz: 6ad1f798b94082cf7d167b5598538eaa984d3c41f76fa9310fb430b5bfb2d3f291e3e647ba963fd976eb3007bed6e387f51e2fd478e5c2c07429317fc50d4bd8
7
+ data.tar.gz: fe4f603393c223c181b25bee243bf96afb24978d83ab72f7922bb833a3c34f09b7ee3fb9a723449d3880dab22ebfdf600b23b8ecb79f31a624fc996a28297692
@@ -0,0 +1,52 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ branches:
9
+ - main
10
+ schedule:
11
+ - cron: "0 17 * * *"
12
+
13
+ jobs:
14
+ rubocop:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: actions/checkout@v2
18
+ - name: Setup ruby
19
+ uses: ruby/setup-ruby@v1
20
+ with:
21
+ ruby-version: 3.0
22
+ bundler-cache: true
23
+ - name: Run static code analysis
24
+ run: bundle exec rubocop
25
+ unit:
26
+ runs-on: ubuntu-latest
27
+ needs: rubocop
28
+ strategy:
29
+ matrix:
30
+ ruby:
31
+ - "2.6"
32
+ - "2.7"
33
+ - "3.0"
34
+ - "3.1"
35
+ name: Ruby ${{ matrix.ruby }}
36
+ steps:
37
+ - uses: actions/checkout@v2
38
+ - name: Setup ruby
39
+ uses: ruby/setup-ruby@v1
40
+ with:
41
+ ruby-version: ${{ matrix.ruby }}
42
+ bundler-cache: true
43
+ - name: Run tests without uploading code coverage
44
+ if: ${{ matrix.ruby != '3.0' }}
45
+ run: bundle exec rake
46
+ - name: Run tests and upload coverage to Code Climate
47
+ if: ${{ matrix.ruby == '3.0' }}
48
+ uses: paambaati/codeclimate-action@v3.0.0
49
+ env:
50
+ CC_TEST_REPORTER_ID: ${{ secrets.CODECLIMATE_TOKEN }}
51
+ with:
52
+ coverageCommand: bundle exec rake
data/.rubocop.yml ADDED
@@ -0,0 +1,34 @@
1
+ AllCops:
2
+ AllowSymlinksInCacheRootDirectory: true
3
+
4
+ require:
5
+ - rubocop-rake
6
+ - rubocop-rspec
7
+
8
+ Layout/HashAlignment:
9
+ EnforcedColonStyle: table
10
+ EnforcedHashRocketStyle: table
11
+
12
+ Metrics/LineLength:
13
+ Max: 160
14
+
15
+ Style/Documentation:
16
+ Enabled: false
17
+
18
+ Style/TrailingCommaInArrayLiteral:
19
+ EnforcedStyleForMultiline: comma
20
+
21
+ Style/TrailingCommaInHashLiteral:
22
+ EnforcedStyleForMultiline: comma
23
+
24
+ Style/TrailingCommaInArguments:
25
+ EnforcedStyleForMultiline: comma
26
+
27
+ RSpec/NestedGroups:
28
+ Max: 8
29
+
30
+ RSpec/MultipleMemoizedHelpers:
31
+ Max: 10
32
+
33
+ Metrics/ClassLength:
34
+ Max: 200
data/CHANGELOG.md CHANGED
@@ -2,40 +2,69 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
- ## [1.3.0]
8
+ ## [v2.0.1](https://github.com/smortex/tls-checker/tree/v2.0.1) (2022-07-16)
9
9
 
10
+ [Full Changelog](https://github.com/smortex/tls-checker/compare/v2.0.0...v2.0.1)
11
+
12
+ **Fixed bugs:**
13
+
14
+ - Detect TLS handshake failures [\#4](https://github.com/smortex/tls-checker/pull/4) ([smortex](https://github.com/smortex))
15
+
16
+ ## [v2.0.0](https://github.com/smortex/tls-checker/tree/v2.0.0) (2022-07-16)
17
+
18
+ [Full Changelog](https://github.com/smortex/tls-checker/compare/v1.4.0...v2.0.0)
19
+
20
+ **Breaking changes:**
21
+
22
+ - Bump internet\_security\_event dependency [\#2](https://github.com/smortex/tls-checker/pull/2) ([smortex](https://github.com/smortex))
23
+
24
+ **Merged pull requests:**
25
+
26
+ - Integrate github\_changelog\_generator [\#1](https://github.com/smortex/tls-checker/pull/1) ([smortex](https://github.com/smortex))
27
+
28
+ ## [v1.4.0]
29
+ ### Added
30
+
31
+ - New metadata in generated events: af (address fanily, one of 'inet' and
32
+ 'inet6'), hostname, address and port.
33
+
34
+ ### Changed
35
+
36
+ - Ensure events' ttl is an Integer.
37
+
38
+ ## [v1.3.0]
10
39
  ### Changed
11
40
 
12
41
  - Revert to the pre-1.2.0 behavior when a remote service is not reachable and
13
42
  emit a critical event.
14
43
 
15
- ## [1.2.0]
16
-
44
+ ## [v1.2.0]
17
45
  ### Changed
18
46
 
19
47
  - Skip completely TLSA check if a connexion certificate cannot be fetched;
20
48
  - Do not generate an event when a connexion to a remote service is not
21
49
  possible.
22
50
 
23
- ## [1.1.1]
24
-
51
+ ## [v1.1.1]
25
52
  ### Changed
26
53
 
27
54
  - Handle Errno::EHOSTUNREACH exceptions gracefully when attempting to fetch a
28
55
  certificate.
29
56
 
30
- ## [1.1.0]
31
-
57
+ ## [v1.1.0]
32
58
  ### Added
33
59
 
34
60
  - Make it possible to test services using an IP address;
35
61
  - Report validity of certificates when a TLSA record is found in the DNS.
36
62
 
37
- [Unreleased]: https://github.com/smortex/tls-checker/compare/v1.3.0...HEAD
38
- [1.3.0]: https://github.com/smortex/tls-checker/compare/v1.2.0...v1.3.0
39
- [1.2.0]: https://github.com/smortex/tls-checker/compare/v1.1.1...v1.2.0
40
- [1.1.1]: https://github.com/smortex/tls-checker/compare/v1.1.0...v1.1.1
41
- [1.1.0]: https://github.com/smortex/tls-checker/compare/v1.0.0...v1.1.0
63
+ [v1.4.0]: https://github.com/smortex/tls-checker/compare/v1.3.0...v1.4.0
64
+ [v1.3.0]: https://github.com/smortex/tls-checker/compare/v1.2.0...v1.3.0
65
+ [v1.2.0]: https://github.com/smortex/tls-checker/compare/v1.1.1...v1.2.0
66
+ [v1.1.1]: https://github.com/smortex/tls-checker/compare/v1.1.0...v1.1.1
67
+ [v1.1.0]: https://github.com/smortex/tls-checker/compare/v1.0.0...v1.1.0
68
+
69
+
70
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -2,19 +2,5 @@
2
2
 
3
3
  source 'https://rubygems.org'
4
4
 
5
- git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6
-
7
5
  # Specify your gem's dependencies in tls-checker.gemspec
8
6
  gemspec
9
-
10
- # rubocop:disable Security/Eval
11
- #
12
- # Gemfile.local is ignored in .gitignore. When hacking this gem, it might be
13
- # useful to use a pre-release version of some dependency, in this case add them
14
- # to Gemfile.local:
15
- #
16
- # ------------------------------------- 8< -------------------------------------
17
- # gem 'internet_security_event', path: '../internet_security_event'
18
- # ------------------------------------- 8< -------------------------------------
19
- eval(File.read('Gemfile.local'), binding) if File.exist? 'Gemfile.local'
20
- # rubocop:enable Security/Eval
data/HISTORY.md ADDED
@@ -0,0 +1,40 @@
1
+ ## [v1.4.0]
2
+ ### Added
3
+
4
+ - New metadata in generated events: af (address fanily, one of 'inet' and
5
+ 'inet6'), hostname, address and port.
6
+
7
+ ### Changed
8
+
9
+ - Ensure events' ttl is an Integer.
10
+
11
+ ## [v1.3.0]
12
+ ### Changed
13
+
14
+ - Revert to the pre-1.2.0 behavior when a remote service is not reachable and
15
+ emit a critical event.
16
+
17
+ ## [v1.2.0]
18
+ ### Changed
19
+
20
+ - Skip completely TLSA check if a connexion certificate cannot be fetched;
21
+ - Do not generate an event when a connexion to a remote service is not
22
+ possible.
23
+
24
+ ## [v1.1.1]
25
+ ### Changed
26
+
27
+ - Handle Errno::EHOSTUNREACH exceptions gracefully when attempting to fetch a
28
+ certificate.
29
+
30
+ ## [v1.1.0]
31
+ ### Added
32
+
33
+ - Make it possible to test services using an IP address;
34
+ - Report validity of certificates when a TLSA record is found in the DNS.
35
+
36
+ [v1.4.0]: https://github.com/smortex/tls-checker/compare/v1.3.0...v1.4.0
37
+ [v1.3.0]: https://github.com/smortex/tls-checker/compare/v1.2.0...v1.3.0
38
+ [v1.2.0]: https://github.com/smortex/tls-checker/compare/v1.1.1...v1.2.0
39
+ [v1.1.1]: https://github.com/smortex/tls-checker/compare/v1.1.0...v1.1.1
40
+ [v1.1.0]: https://github.com/smortex/tls-checker/compare/v1.0.0...v1.1.0
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # tls-checker
2
2
 
3
- [![Build Status](https://travis-ci.com/smortex/tls-checker.svg?branch=master)](https://travis-ci.com/smortex/tls-checker)
3
+ [![Build Status](https://github.com/smortex/tls-checker/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/smortex/tls-checker/actions/workflows/ci.yml)
4
4
  [![Maintainability](https://api.codeclimate.com/v1/badges/272ab98a6ec1b28e5f7d/maintainability)](https://codeclimate.com/github/smortex/tls-checker/maintainability)
5
5
  [![Test Coverage](https://api.codeclimate.com/v1/badges/272ab98a6ec1b28e5f7d/test_coverage)](https://codeclimate.com/github/smortex/tls-checker/test_coverage)
6
6
 
@@ -52,4 +52,4 @@ License](https://opensource.org/licenses/MIT).
52
52
 
53
53
  Everyone interacting in the tls-checker project’s codebases, issue trackers,
54
54
  chat rooms and mailing lists is expected to follow the [code of
55
- conduct](https://github.com/smortex/tls-checker/blob/master/CODE_OF_CONDUCT.md).
55
+ conduct](https://github.com/smortex/tls-checker/blob/main/CODE_OF_CONDUCT.md).
data/Rakefile CHANGED
@@ -1,7 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'bundler/gem_tasks'
4
+ require 'github_changelog_generator/task'
4
5
  require 'rspec/core/rake_task'
6
+
5
7
  RSpec::Core::RakeTask.new(:spec)
6
8
 
9
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
10
+ config.header = <<~HEADER.chomp
11
+ # Changelog
12
+
13
+ All notable changes to this project will be documented in this file.
14
+
15
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
16
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
17
+ HEADER
18
+ config.exclude_labels = %w[duplicate question invalid wontfix wont-fix skip-changelog ignore]
19
+ config.user = 'smortex'
20
+ config.project = 'tls-checker'
21
+ config.since_tag = 'v1.4.0'
22
+ config.issues = false
23
+ require 'tls_checker/version'
24
+ config.future_release = "v#{TLSChecker::VERSION}"
25
+ end
26
+
7
27
  task default: :spec
data/exe/tls-checker CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  require 'json'
5
5
  require 'optparse'
6
- require 'tls-checker'
6
+ require 'tls_checker'
7
7
 
8
8
  options = {
9
9
  output: $stdout,
@@ -11,6 +11,7 @@ options = {
11
11
 
12
12
  OptionParser.new do |opts|
13
13
  opts.banner = 'Usage: tls-checker [options] specification...'
14
+ opts.version = TLSChecker::VERSION
14
15
 
15
16
  opts.on('-o', '--output=FILE', 'Write to FILE') do |f|
16
17
  options[:output] = File.open(f, File::CREAT | File::APPEND | File::LOCK_EX)
@@ -19,7 +19,7 @@ module TLSChecker
19
19
 
20
20
  attr_reader :hostname, :address, :port, :starttls
21
21
 
22
- def to_e
22
+ def to_e # rubocop:disable Metrics/MethodLength
23
23
  if certificate
24
24
  InternetSecurityEvent::TLSStatus.build(hostname, certificate)
25
25
  else
@@ -28,9 +28,13 @@ module TLSChecker
28
28
  description: @certificate_failure || "#{hostname} does not have a valid certificate",
29
29
  }
30
30
  end.merge(
31
- service: service,
32
- ttl: 12.hours,
33
- tags: ['tls-checker'],
31
+ service: service,
32
+ af: af,
33
+ hostname: hostname,
34
+ address: address.to_s,
35
+ port: port,
36
+ ttl: 12.hours.to_i,
37
+ tags: ['tls-checker'],
34
38
  )
35
39
  end
36
40
 
@@ -43,8 +47,14 @@ module TLSChecker
43
47
  end
44
48
 
45
49
  def certificate
46
- @certificate = OpenSSL::X509::Certificate.new(tls_socket.peer_cert) if @certificate.nil?
47
- @certificate
50
+ return @certificate unless @certificate.nil?
51
+
52
+ if tls_socket.peer_cert
53
+ @certificate = OpenSSL::X509::Certificate.new(tls_socket.peer_cert)
54
+ else
55
+ @certificate_failure = 'No peer certificate (TLS handshake failed?)'
56
+ @certificate = false
57
+ end
48
58
  rescue Errno::ECONNREFUSED, Errno::EHOSTUNREACH, Errno::ETIMEDOUT, SocketRecvTimeout => e
49
59
  @certificate_failure = e.message
50
60
  @certificate = false
@@ -64,6 +74,15 @@ module TLSChecker
64
74
 
65
75
  private
66
76
 
77
+ def af
78
+ case @address
79
+ when Resolv::IPv4
80
+ 'inet'
81
+ when Resolv::IPv6
82
+ 'inet6'
83
+ end
84
+ end
85
+
67
86
  def tls_socket
68
87
  @tls_socket ||= case starttls
69
88
  when :smtp
@@ -121,14 +140,14 @@ module TLSChecker
121
140
  tls_socket.hostname = hostname
122
141
  begin
123
142
  tls_socket.connect
124
- rescue OpenSSL::SSL::SSLError # rubocop:disable Lint/HandleExceptions
143
+ rescue OpenSSL::SSL::SSLError
125
144
  # This may fail for example if a client certificate is required
126
145
  end
127
146
  tls_socket
128
147
  end
129
148
 
130
149
  def my_hostname
131
- Socket.gethostbyname(Socket.gethostname).first
150
+ Addrinfo.tcp(Socket.gethostname, 8023).getnameinfo.first
132
151
  rescue SocketError
133
152
  Socket.gethostname
134
153
  end
@@ -8,7 +8,7 @@ module TLSChecker
8
8
  @resolver = Resolv::DNS.new
9
9
  end
10
10
 
11
- def certificate_checkers_for(specification)
11
+ def certificate_checkers_for(specification) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
12
12
  hostname, port, starttls = specification.split(':', 3)
13
13
 
14
14
  port = port.to_i if port
@@ -36,11 +36,9 @@ module TLSChecker
36
36
  def timed_getbyte
37
37
  recv_nonblock(1)
38
38
  rescue IO::EAGAINWaitReadable
39
- if IO.select([self], nil, nil, 10)
40
- recv_nonblock(1)
41
- else
42
- raise SocketRecvTimeout
43
- end
39
+ raise SocketRecvTimeout unless IO.select([self], nil, nil, 10)
40
+
41
+ recv_nonblock(1)
44
42
  end
45
43
  end
46
44
  end
File without changes
@@ -43,7 +43,7 @@ module TLSChecker
43
43
  @resolver.getresources(resource, Resolv::DNS::Resource::IN::ANY).each do |rr|
44
44
  # XXX: Should we check the RRSIG here, or can we assume that the resolver
45
45
  # should have failed if it could not verify the response?
46
- next unless rr.class.name == 'Resolv::DNS::Resource::Generic::Type52_Class1'
46
+ next unless rr.instance_of?(Resolv::DNS::Resource::Generic::Type52_Class1)
47
47
 
48
48
  record = Resolv::DNS::Resource::IN::TLSA.new(rr.data)
49
49
  yield(record)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TLSChecker
4
+ VERSION = '2.0.1'
5
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tls_checker/certificate_checker'
4
+ require 'tls_checker/certificate_checker_factory'
5
+ require 'tls_checker/line_oriented_socket'
6
+ require 'tls_checker/tlsa_checker'
7
+ require 'tls_checker/tlsa_checker_factory'
data/tls-checker.gemspec CHANGED
@@ -2,32 +2,37 @@
2
2
 
3
3
  lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
- require 'tls-checker/version'
5
+ require 'tls_checker/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'tls-checker'
9
- spec.version = TlsChecker::VERSION
9
+ spec.version = TLSChecker::VERSION
10
10
  spec.authors = ['Romain Tartière']
11
11
  spec.email = ['romain@blogreen.org']
12
12
 
13
13
  spec.summary = 'Report expired/about to expires certificates used in TLS connexions'
14
14
  spec.homepage = 'https://github.com/smortex/tls-checker'
15
15
  spec.license = 'MIT'
16
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.6.0')
16
17
 
17
18
  # Specify which files should be added to the gem when it is released.
18
19
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
22
  end
22
23
  spec.bindir = 'exe'
23
24
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
25
  spec.require_paths = ['lib']
25
26
 
26
- spec.add_dependency 'internet_security_event', '~> 1.1'
27
+ spec.add_dependency 'internet_security_event', '~> 2.0'
27
28
 
28
29
  spec.add_development_dependency 'bundler'
30
+ spec.add_development_dependency 'github_changelog_generator'
29
31
  spec.add_development_dependency 'midi-smtp-server'
30
32
  spec.add_development_dependency 'rake'
31
33
  spec.add_development_dependency 'rspec'
34
+ spec.add_development_dependency 'rubocop'
35
+ spec.add_development_dependency 'rubocop-rake'
36
+ spec.add_development_dependency 'rubocop-rspec'
32
37
  spec.add_development_dependency 'simplecov'
33
38
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tls-checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Romain Tartière
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-08 00:00:00.000000000 Z
11
+ date: 2022-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: internet_security_event
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.1'
19
+ version: '2.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '1.1'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: github_changelog_generator
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: midi-smtp-server
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,48 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rubocop-rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop-rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
83
139
  - !ruby/object:Gem::Dependency
84
140
  name: simplecov
85
141
  requirement: !ruby/object:Gem::Requirement
@@ -94,7 +150,7 @@ dependencies:
94
150
  - - ">="
95
151
  - !ruby/object:Gem::Version
96
152
  version: '0'
97
- description:
153
+ description:
98
154
  email:
99
155
  - romain@blogreen.org
100
156
  executables:
@@ -102,31 +158,33 @@ executables:
102
158
  extensions: []
103
159
  extra_rdoc_files: []
104
160
  files:
161
+ - ".github/workflows/ci.yml"
105
162
  - ".gitignore"
106
163
  - ".rspec"
107
- - ".travis.yml"
164
+ - ".rubocop.yml"
108
165
  - CHANGELOG.md
109
166
  - CODE_OF_CONDUCT.md
110
167
  - Gemfile
168
+ - HISTORY.md
111
169
  - LICENSE.txt
112
170
  - README.md
113
171
  - Rakefile
114
172
  - bin/console
115
173
  - bin/setup
116
174
  - exe/tls-checker
117
- - lib/tls-checker.rb
118
- - lib/tls-checker/certificate_checker.rb
119
- - lib/tls-checker/certificate_checker_factory.rb
120
- - lib/tls-checker/line_oriented_socket.rb
121
- - lib/tls-checker/tlsa_checker.rb
122
- - lib/tls-checker/tlsa_checker_factory.rb
123
- - lib/tls-checker/version.rb
175
+ - lib/tls_checker.rb
176
+ - lib/tls_checker/certificate_checker.rb
177
+ - lib/tls_checker/certificate_checker_factory.rb
178
+ - lib/tls_checker/line_oriented_socket.rb
179
+ - lib/tls_checker/tlsa_checker.rb
180
+ - lib/tls_checker/tlsa_checker_factory.rb
181
+ - lib/tls_checker/version.rb
124
182
  - tls-checker.gemspec
125
183
  homepage: https://github.com/smortex/tls-checker
126
184
  licenses:
127
185
  - MIT
128
186
  metadata: {}
129
- post_install_message:
187
+ post_install_message:
130
188
  rdoc_options: []
131
189
  require_paths:
132
190
  - lib
@@ -134,15 +192,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
192
  requirements:
135
193
  - - ">="
136
194
  - !ruby/object:Gem::Version
137
- version: '0'
195
+ version: 2.6.0
138
196
  required_rubygems_version: !ruby/object:Gem::Requirement
139
197
  requirements:
140
198
  - - ">="
141
199
  - !ruby/object:Gem::Version
142
200
  version: '0'
143
201
  requirements: []
144
- rubygems_version: 3.0.2
145
- signing_key:
202
+ rubygems_version: 3.3.17
203
+ signing_key:
146
204
  specification_version: 4
147
205
  summary: Report expired/about to expires certificates used in TLS connexions
148
206
  test_files: []
data/.travis.yml DELETED
@@ -1,13 +0,0 @@
1
- ---
2
- language: ruby
3
- rvm:
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
- before_script:
9
- - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
10
- - chmod +x ./cc-test-reporter
11
- - ./cc-test-reporter before-build
12
- after_script:
13
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module TlsChecker
4
- VERSION = '1.3.0'
5
- end
data/lib/tls-checker.rb DELETED
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'tls-checker/certificate_checker'
4
- require 'tls-checker/certificate_checker_factory'
5
- require 'tls-checker/line_oriented_socket'
6
- require 'tls-checker/tlsa_checker'
7
- require 'tls-checker/tlsa_checker_factory'