diff options
| author | James Hannah <jhannah@bytemark.co.uk> | 2017-03-27 10:49:37 +0100 | 
|---|---|---|
| committer | James Hannah <jhannah@bytemark.co.uk> | 2017-03-27 10:49:37 +0100 | 
| commit | f868e25305c9636e8f863002a08770a3bfac6d8c (patch) | |
| tree | 0aae9dfd987c73ab118e91c9f7c873eaa57c17af /lib/custodian | |
| parent | a3d7eb874eedbe3c065451bd0377f5236873e36a (diff) | |
| parent | a3272a6fd29fe2983c0ab63f47b639b6bc0da8b3 (diff) | |
Merge branch 'ssl-custom-expiry' into 'master'
Allow tests to specify the number of days before an expiring SSL certificate will generate a warning
See merge request !5
Diffstat (limited to 'lib/custodian')
| -rw-r--r-- | lib/custodian/protocoltest/ssl.rb | 21 | 
1 files changed, 18 insertions, 3 deletions
| diff --git a/lib/custodian/protocoltest/ssl.rb b/lib/custodian/protocoltest/ssl.rb index c58a083..82754c6 100644 --- a/lib/custodian/protocoltest/ssl.rb +++ b/lib/custodian/protocoltest/ssl.rb @@ -25,13 +25,15 @@ class SSLCheck    #    # Takes one parameter -- the URL.    # -  def initialize(uri) +  def initialize(uri, expiry_days = 14)      raise ArgumentError, 'URI must be a string' unless uri.is_a?(String)      @uri = URI.parse(uri)      @domain = @uri.host      @key = nil +    @expiry_days = expiry_days +      @certificate = nil      @certificate_store = nil @@ -352,7 +354,7 @@ class SSLCheck      days_until_expiry = (self.certificate.not_after.to_i - Time.now.to_i) / (24.0 * 3600).floor.to_i -    if days_until_expiry > 14 +    if days_until_expiry > @expiry_days        verbose "The certificate for #{self.domain} is valid until #{self.certificate.not_after}."        return true      else @@ -440,6 +442,12 @@ module Custodian          #          @line = line +        if @line =~ /and cannot expire within (\d+) days/ then +          @expiry_days = $1.to_i +        else +          @expiry_days = 14 +        end +          #          # Save the host          # @@ -448,6 +456,13 @@ module Custodian        end +      # +      # Return the expiry period we'll test against +      # +      def expiry_days +        @expiry_days +      end +        # @@ -499,7 +514,7 @@ module Custodian            return Custodian::TestResult::TEST_SKIPPED          end -        s = SSLCheck.new(@host) +        s = SSLCheck.new(@host,@expiry_days)          result = s.verify          if true == result | 
