fluent-plugin-syslog-gobi-tls 2.1.30 → 2.1.31
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 +4 -4
- data/fluent-plugin-syslog-tls.gemspec +1 -1
- data/lib/syslog_tls/ssl_transport.rb +14 -0
- metadata +2 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: d1239c5bbd380b85554b58cccdaf872b54e893f2b13bf310fddb4e381c35df27
         | 
| 4 | 
            +
              data.tar.gz: aa9b3bd1297a9ca116cb1737f6e30c7326f280b86429030887df4178f3667059
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 144f5e4c1c3763127d25b48945858a2af3dcef7acb3122ab56203502134bd77300319a03ab9ffc1188d846522b8c3ea454502a228e485f65b12d76ba014afab9
         | 
| 7 | 
            +
              data.tar.gz: 2e3b936a295ee9fa013bc15d8d1fddf67ed4aaa50de95c77a4668501f30c9d66887978b66b699d28537e9825a000a24e9c96a8ff362d38f17fdb99801d4bb146
         | 
| @@ -19,7 +19,7 @@ require 'syslog_tls/version' | |
| 19 19 |  | 
| 20 20 | 
             
            Gem::Specification.new do |s|
         | 
| 21 21 | 
             
              s.name          = 'fluent-plugin-syslog-gobi-tls'
         | 
| 22 | 
            -
              s.version       = '2.1. | 
| 22 | 
            +
              s.version       = '2.1.31'
         | 
| 23 23 | 
             
              s.authors       = ['thomas morgan']
         | 
| 24 24 | 
             
              s.email         = ['tm@iprog.com']
         | 
| 25 25 | 
             
              s.summary       = %q{Fluent Syslog TLS output plugin}
         | 
| @@ -31,6 +31,7 @@ module SyslogTls | |
| 31 31 | 
             
                attr_writer :retries
         | 
| 32 32 |  | 
| 33 33 | 
             
                def initialize(host, port, idle_timeout: nil, ca_cert: 'system', client_cert: nil, client_key: nil, verify_cert_name: true, ssl_version: :TLS1_2, max_retries: 1)
         | 
| 34 | 
            +
                  pp "initialize SSLTransport"
         | 
| 34 35 | 
             
                  @host = host
         | 
| 35 36 | 
             
                  @port = port
         | 
| 36 37 | 
             
                  @idle_timeout = idle_timeout
         | 
| @@ -44,18 +45,24 @@ module SyslogTls | |
| 44 45 | 
             
                end
         | 
| 45 46 |  | 
| 46 47 | 
             
                def connect
         | 
| 48 | 
            +
                  timwnow = Time.now
         | 
| 49 | 
            +
                  pp "initialize SSLTransport.connect"+ timwnow.to_s
         | 
| 47 50 | 
             
                  @socket = get_ssl_connection
         | 
| 48 51 | 
             
                  begin
         | 
| 49 52 | 
             
                    begin
         | 
| 50 53 | 
             
                      @socket.connect_nonblock
         | 
| 51 54 | 
             
                    rescue Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable
         | 
| 55 | 
            +
                      pp "initialize SSLTransport Errno::EAGAIN, Errno::EWOULDBLOCK, IO::WaitReadable"
         | 
| 52 56 | 
             
                      select_with_timeout(@socket, :connect_read) && retry
         | 
| 53 57 | 
             
                    rescue IO::WaitWritable
         | 
| 58 | 
            +
                      pp "initialize SSLTransport IO::WaitWritable"
         | 
| 54 59 | 
             
                      select_with_timeout(@socket, :connect_write) && retry
         | 
| 55 60 | 
             
                    end
         | 
| 56 61 | 
             
                  rescue Errno::ETIMEDOUT
         | 
| 62 | 
            +
                    pp "initialize SSLTransport Errno::ETIMEDOUT"
         | 
| 57 63 | 
             
                    raise 'Socket timeout during connect'
         | 
| 58 64 | 
             
                  end
         | 
| 65 | 
            +
                  pp "initialize SSLTransport last_write"
         | 
| 59 66 | 
             
                  @last_write = Time.now if idle_timeout
         | 
| 60 67 | 
             
                end
         | 
| 61 68 |  | 
| @@ -125,7 +132,9 @@ module SyslogTls | |
| 125 132 |  | 
| 126 133 | 
             
                # Allow to retry on failed writes
         | 
| 127 134 | 
             
                def write(s)
         | 
| 135 | 
            +
                  pp "initialize SSLTransport.write"
         | 
| 128 136 | 
             
                  if idle_timeout
         | 
| 137 | 
            +
                    pp "initialize SSLTransport.write idle_timeout" + idle_timeout.to_s
         | 
| 129 138 | 
             
                    if (t=Time.now) > @last_write + idle_timeout
         | 
| 130 139 | 
             
                      @socket.close rescue nil
         | 
| 131 140 | 
             
                      connect
         | 
| @@ -134,6 +143,7 @@ module SyslogTls | |
| 134 143 | 
             
                    end
         | 
| 135 144 | 
             
                  end
         | 
| 136 145 | 
             
                  begin
         | 
| 146 | 
            +
                    pp "initialize SSLTransport.write !idle_timeout"
         | 
| 137 147 | 
             
                    retry_id ||= 0
         | 
| 138 148 | 
             
                    do_write(s)
         | 
| 139 149 | 
             
                  rescue => e
         | 
| @@ -167,7 +177,9 @@ module SyslogTls | |
| 167 177 | 
             
                end
         | 
| 168 178 |  | 
| 169 179 | 
             
                def select_with_timeout(tcp, type)
         | 
| 180 | 
            +
             | 
| 170 181 | 
             
                  host_ip_port = host + ":" + port.to_s
         | 
| 182 | 
            +
                  pp "initialize SSLTransport.select_with_timeout :: " + host_ip_port
         | 
| 171 183 |  | 
| 172 184 | 
             
                  case type
         | 
| 173 185 | 
             
                  when :connect_read
         | 
| @@ -186,9 +198,11 @@ module SyslogTls | |
| 186 198 | 
             
                      reset_tries(host_ip_port)
         | 
| 187 199 | 
             
                    else
         | 
| 188 200 | 
             
                      increase_retry(host_ip_port)
         | 
| 201 | 
            +
                      pp "initialize SSLTransport.select_with_timeout :: Socket timeout"
         | 
| 189 202 | 
             
                      raise("Socket timeout during #{type}")
         | 
| 190 203 | 
             
                    end
         | 
| 191 204 | 
             
                  else
         | 
| 205 | 
            +
                    pp "initialize SSLTransport.select_with_timeout :: Failed to write"
         | 
| 192 206 | 
             
                    raise("Failed to write #{type}")
         | 
| 193 207 | 
             
                  end
         | 
| 194 208 | 
             
                end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: fluent-plugin-syslog-gobi-tls
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.1. | 
| 4 | 
            +
              version: 2.1.31
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - thomas morgan
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-05- | 
| 11 | 
            +
            date: 2024-05-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: fluentd
         |