aspera-cli 4.15.0 → 4.16.0
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
 - checksums.yaml.gz.sig +0 -0
 - data/BUGS.md +29 -3
 - data/CHANGELOG.md +292 -228
 - data/CONTRIBUTING.md +69 -18
 - data/README.md +1102 -952
 - data/bin/ascli +13 -31
 - data/bin/asession +3 -1
 - data/examples/dascli +2 -2
 - data/lib/aspera/aoc.rb +28 -33
 - data/lib/aspera/ascmd.rb +3 -6
 - data/lib/aspera/assert.rb +45 -0
 - data/lib/aspera/cli/extended_value.rb +5 -5
 - data/lib/aspera/cli/formatter.rb +26 -13
 - data/lib/aspera/cli/hints.rb +4 -3
 - data/lib/aspera/cli/main.rb +16 -3
 - data/lib/aspera/cli/manager.rb +45 -36
 - data/lib/aspera/cli/plugin.rb +20 -13
 - data/lib/aspera/cli/plugins/aoc.rb +103 -73
 - data/lib/aspera/cli/plugins/ats.rb +4 -3
 - data/lib/aspera/cli/plugins/config.rb +114 -119
 - data/lib/aspera/cli/plugins/cos.rb +2 -2
 - data/lib/aspera/cli/plugins/faspex.rb +23 -19
 - data/lib/aspera/cli/plugins/faspex5.rb +75 -43
 - data/lib/aspera/cli/plugins/node.rb +28 -15
 - data/lib/aspera/cli/plugins/orchestrator.rb +4 -2
 - data/lib/aspera/cli/plugins/preview.rb +9 -7
 - data/lib/aspera/cli/plugins/server.rb +6 -3
 - data/lib/aspera/cli/plugins/shares.rb +30 -26
 - data/lib/aspera/cli/sync_actions.rb +9 -9
 - data/lib/aspera/cli/transfer_agent.rb +21 -14
 - data/lib/aspera/cli/transfer_progress.rb +2 -3
 - data/lib/aspera/cli/version.rb +1 -1
 - data/lib/aspera/command_line_builder.rb +13 -11
 - data/lib/aspera/cos_node.rb +3 -2
 - data/lib/aspera/coverage.rb +22 -0
 - data/lib/aspera/data_repository.rb +33 -2
 - data/lib/aspera/environment.rb +4 -2
 - data/lib/aspera/fasp/{agent_aspera.rb → agent_alpha.rb} +29 -39
 - data/lib/aspera/fasp/agent_base.rb +17 -7
 - data/lib/aspera/fasp/agent_direct.rb +88 -84
 - data/lib/aspera/fasp/agent_httpgw.rb +4 -3
 - data/lib/aspera/fasp/agent_node.rb +3 -2
 - data/lib/aspera/fasp/agent_trsdk.rb +79 -37
 - data/lib/aspera/fasp/installation.rb +51 -12
 - data/lib/aspera/fasp/management.rb +11 -6
 - data/lib/aspera/fasp/parameters.rb +53 -47
 - data/lib/aspera/fasp/resume_policy.rb +7 -5
 - data/lib/aspera/fasp/sync.rb +273 -0
 - data/lib/aspera/fasp/transfer_spec.rb +10 -8
 - data/lib/aspera/fasp/uri.rb +2 -2
 - data/lib/aspera/faspex_gw.rb +11 -8
 - data/lib/aspera/faspex_postproc.rb +6 -5
 - data/lib/aspera/id_generator.rb +3 -1
 - data/lib/aspera/json_rpc.rb +10 -8
 - data/lib/aspera/keychain/encrypted_hash.rb +46 -11
 - data/lib/aspera/keychain/macos_security.rb +15 -13
 - data/lib/aspera/log.rb +4 -3
 - data/lib/aspera/nagios.rb +7 -2
 - data/lib/aspera/node.rb +17 -16
 - data/lib/aspera/node_simulator.rb +214 -0
 - data/lib/aspera/oauth.rb +22 -19
 - data/lib/aspera/persistency_action_once.rb +13 -14
 - data/lib/aspera/persistency_folder.rb +3 -2
 - data/lib/aspera/preview/file_types.rb +53 -267
 - data/lib/aspera/preview/generator.rb +7 -5
 - data/lib/aspera/preview/terminal.rb +14 -5
 - data/lib/aspera/preview/utils.rb +8 -7
 - data/lib/aspera/proxy_auto_config.rb +6 -3
 - data/lib/aspera/rest.rb +29 -13
 - data/lib/aspera/rest_error_analyzer.rb +1 -0
 - data/lib/aspera/rest_errors_aspera.rb +2 -0
 - data/lib/aspera/secret_hider.rb +5 -2
 - data/lib/aspera/ssh.rb +10 -8
 - data/lib/aspera/temp_file_manager.rb +1 -1
 - data/lib/aspera/web_server_simple.rb +2 -1
 - data.tar.gz.sig +0 -0
 - metadata +96 -45
 - metadata.gz.sig +0 -0
 - data/lib/aspera/sync.rb +0 -219
 
    
        data/lib/aspera/rest.rb
    CHANGED
    
    | 
         @@ -1,6 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            # frozen_string_literal: true
         
     | 
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require 'aspera/log'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'aspera/assert'
         
     | 
| 
       4 
5 
     | 
    
         
             
            require 'aspera/oauth'
         
     | 
| 
       5 
6 
     | 
    
         
             
            require 'aspera/rest_error_analyzer'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'aspera/hash_ext'
         
     | 
| 
         @@ -58,10 +59,11 @@ module Aspera 
     | 
|
| 
       58 
59 
     | 
    
         
             
                  # build URI from URL and parameters and check it is http or https
         
     | 
| 
       59 
60 
     | 
    
         
             
                  def build_uri(url, params=nil)
         
     | 
| 
       60 
61 
     | 
    
         
             
                    uri = URI.parse(url)
         
     | 
| 
       61 
     | 
    
         
            -
                     
     | 
| 
      
 62 
     | 
    
         
            +
                    assert(%w[http https].include?(uri.scheme)){"REST endpoint shall be http/s not #{uri.scheme}"}
         
     | 
| 
       62 
63 
     | 
    
         
             
                    return uri if params.nil?
         
     | 
| 
       63 
64 
     | 
    
         
             
                    Log.log.debug{Log.dump('params', params)}
         
     | 
| 
       64 
     | 
    
         
            -
                     
     | 
| 
      
 65 
     | 
    
         
            +
                    assert_type(params, Hash)
         
     | 
| 
      
 66 
     | 
    
         
            +
                    return uri if params.empty?
         
     | 
| 
       65 
67 
     | 
    
         
             
                    query = []
         
     | 
| 
       66 
68 
     | 
    
         
             
                    params.each do |k, v|
         
     | 
| 
       67 
69 
     | 
    
         
             
                      case v
         
     | 
| 
         @@ -103,17 +105,31 @@ module Aspera 
     | 
|
| 
       103 
105 
     | 
    
         
             
                  # little hack, handy because HTTP debug, proxy, etc... will be available
         
     | 
| 
       104 
106 
     | 
    
         
             
                  # used implement web sockets after `start_http_session`
         
     | 
| 
       105 
107 
     | 
    
         
             
                  def io_http_session(http_session)
         
     | 
| 
       106 
     | 
    
         
            -
                     
     | 
| 
      
 108 
     | 
    
         
            +
                    assert_type(http_session, Net::HTTP)
         
     | 
| 
       107 
109 
     | 
    
         
             
                    # Net::BufferedIO in net/protocol.rb
         
     | 
| 
       108 
110 
     | 
    
         
             
                    result = http_session.instance_variable_get(:@socket)
         
     | 
| 
       109 
     | 
    
         
            -
                     
     | 
| 
      
 111 
     | 
    
         
            +
                    assert(!result.nil?){"no socket for #{http_session}"}
         
     | 
| 
       110 
112 
     | 
    
         
             
                    return result
         
     | 
| 
       111 
113 
     | 
    
         
             
                  end
         
     | 
| 
       112 
114 
     | 
    
         | 
| 
      
 115 
     | 
    
         
            +
                  # @return [String] PEM certificates of remote server
         
     | 
| 
      
 116 
     | 
    
         
            +
                  def remote_certificates(url)
         
     | 
| 
      
 117 
     | 
    
         
            +
                    # initiate a session to retrieve remote certificate
         
     | 
| 
      
 118 
     | 
    
         
            +
                    http_session = Rest.start_http_session(url)
         
     | 
| 
      
 119 
     | 
    
         
            +
                    begin
         
     | 
| 
      
 120 
     | 
    
         
            +
                      # retrieve underlying openssl socket
         
     | 
| 
      
 121 
     | 
    
         
            +
                      return Rest.io_http_session(http_session).io.peer_cert_chain.reverse.map(&:to_pem).join("\n")
         
     | 
| 
      
 122 
     | 
    
         
            +
                    rescue
         
     | 
| 
      
 123 
     | 
    
         
            +
                      return http_session.peer_cert.to_pem
         
     | 
| 
      
 124 
     | 
    
         
            +
                    ensure
         
     | 
| 
      
 125 
     | 
    
         
            +
                      http_session.finish
         
     | 
| 
      
 126 
     | 
    
         
            +
                    end
         
     | 
| 
      
 127 
     | 
    
         
            +
                  end
         
     | 
| 
      
 128 
     | 
    
         
            +
             
     | 
| 
       113 
129 
     | 
    
         
             
                  # set global parameters
         
     | 
| 
       114 
130 
     | 
    
         
             
                  def set_parameters(**options)
         
     | 
| 
       115 
131 
     | 
    
         
             
                    options.each do |key, value|
         
     | 
| 
       116 
     | 
    
         
            -
                       
     | 
| 
      
 132 
     | 
    
         
            +
                      assert(@@global.key?(key)){"unknown Rest option #{key}"}
         
     | 
| 
       117 
133 
     | 
    
         
             
                      @@global[key] = value
         
     | 
| 
       118 
134 
     | 
    
         
             
                    end
         
     | 
| 
       119 
135 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -140,7 +156,7 @@ module Aspera 
     | 
|
| 
       140 
156 
     | 
    
         | 
| 
       141 
157 
     | 
    
         
             
                def oauth
         
     | 
| 
       142 
158 
     | 
    
         
             
                  if @oauth.nil?
         
     | 
| 
       143 
     | 
    
         
            -
                     
     | 
| 
      
 159 
     | 
    
         
            +
                    assert(@params[:auth][:type].eql?(:oauth2)){'no OAuth defined'}
         
     | 
| 
       144 
160 
     | 
    
         
             
                    @oauth = Oauth.new(@params[:auth])
         
     | 
| 
       145 
161 
     | 
    
         
             
                  end
         
     | 
| 
       146 
162 
     | 
    
         
             
                  return @oauth
         
     | 
| 
         @@ -148,8 +164,8 @@ module Aspera 
     | 
|
| 
       148 
164 
     | 
    
         | 
| 
       149 
165 
     | 
    
         
             
                # @param a_rest_params [Hash] default call parameters (merged at call)
         
     | 
| 
       150 
166 
     | 
    
         
             
                def initialize(a_rest_params)
         
     | 
| 
       151 
     | 
    
         
            -
                   
     | 
| 
       152 
     | 
    
         
            -
                   
     | 
| 
      
 167 
     | 
    
         
            +
                  assert_type(a_rest_params, Hash)
         
     | 
| 
      
 168 
     | 
    
         
            +
                  assert_type(a_rest_params[:base_url], String)
         
     | 
| 
       153 
169 
     | 
    
         
             
                  @params = a_rest_params.clone
         
     | 
| 
       154 
170 
     | 
    
         
             
                  Log.log.debug{Log.dump('REST params', @params)}
         
     | 
| 
       155 
171 
     | 
    
         
             
                  # base url without trailing slashes (note: string may be frozen)
         
     | 
| 
         @@ -163,7 +179,7 @@ module Aspera 
     | 
|
| 
       163 
179 
     | 
    
         
             
                end
         
     | 
| 
       164 
180 
     | 
    
         | 
| 
       165 
181 
     | 
    
         
             
                def oauth_token(force_refresh: false)
         
     | 
| 
       166 
     | 
    
         
            -
                   
     | 
| 
      
 182 
     | 
    
         
            +
                  assert_values(force_refresh, [true, false])
         
     | 
| 
       167 
183 
     | 
    
         
             
                  return oauth.get_authorization(use_refresh_token: force_refresh)
         
     | 
| 
       168 
184 
     | 
    
         
             
                end
         
     | 
| 
       169 
185 
     | 
    
         | 
| 
         @@ -227,7 +243,7 @@ module Aspera 
     | 
|
| 
       227 
243 
     | 
    
         
             
                # :url_query  [:url] a hash
         
     | 
| 
       228 
244 
     | 
    
         
             
                # :*          [:oauth2] see Oauth class
         
     | 
| 
       229 
245 
     | 
    
         
             
                def call(call_data)
         
     | 
| 
       230 
     | 
    
         
            -
                   
     | 
| 
      
 246 
     | 
    
         
            +
                  assert_type(call_data, Hash)
         
     | 
| 
       231 
247 
     | 
    
         
             
                  call_data[:subpath] = '' if call_data[:subpath].nil?
         
     | 
| 
       232 
248 
     | 
    
         
             
                  Log.log.debug{"accessing #{call_data[:subpath]}".red.bold.bg_green}
         
     | 
| 
       233 
249 
     | 
    
         
             
                  call_data[:headers] ||= {}
         
     | 
| 
         @@ -247,7 +263,7 @@ module Aspera 
     | 
|
| 
       247 
263 
     | 
    
         
             
                    call_data[:auth][:url_query].each do |key, value|
         
     | 
| 
       248 
264 
     | 
    
         
             
                      call_data[:url_params][key] = value
         
     | 
| 
       249 
265 
     | 
    
         
             
                    end
         
     | 
| 
       250 
     | 
    
         
            -
                  else  
     | 
| 
      
 266 
     | 
    
         
            +
                  else error_unexpected_value(call_data[:auth][:type])
         
     | 
| 
       251 
267 
     | 
    
         
             
                  end
         
     | 
| 
       252 
268 
     | 
    
         
             
                  req = build_request(call_data)
         
     | 
| 
       253 
269 
     | 
    
         
             
                  Log.log.debug{"call_data = #{call_data}"}
         
     | 
| 
         @@ -332,7 +348,7 @@ module Aspera 
     | 
|
| 
       332 
348 
     | 
    
         
             
                      # special case: relative redirect
         
     | 
| 
       333 
349 
     | 
    
         
             
                      if URI.parse(new_url).host.nil?
         
     | 
| 
       334 
350 
     | 
    
         
             
                        # we don't manage relative redirects with non-absolute path
         
     | 
| 
       335 
     | 
    
         
            -
                         
     | 
| 
      
 351 
     | 
    
         
            +
                        assert(new_url.start_with?('/')){"redirect location is relative: #{new_url}, but does not start with /."}
         
     | 
| 
       336 
352 
     | 
    
         
             
                        new_url = current_uri.scheme + '://' + current_uri.host + new_url
         
     | 
| 
       337 
353 
     | 
    
         
             
                      end
         
     | 
| 
       338 
354 
     | 
    
         
             
                      Log.log.info{"URL is moved: #{new_url}"}
         
     | 
| 
         @@ -390,7 +406,7 @@ module Aspera 
     | 
|
| 
       390 
406 
     | 
    
         
             
                  # API style: {totalcount:, ...} cspell: disable-line
         
     | 
| 
       391 
407 
     | 
    
         
             
                  # TODO: not generic enough ? move somewhere ? inheritance ?
         
     | 
| 
       392 
408 
     | 
    
         
             
                  matching_items = matching_items[subpath] if matching_items.is_a?(Hash)
         
     | 
| 
       393 
     | 
    
         
            -
                   
     | 
| 
      
 409 
     | 
    
         
            +
                  assert_type(matching_items, Array)
         
     | 
| 
       394 
410 
     | 
    
         
             
                  case matching_items.length
         
     | 
| 
       395 
411 
     | 
    
         
             
                  when 1 then return matching_items.first
         
     | 
| 
       396 
412 
     | 
    
         
             
                  when 0 then raise %Q{#{ENTITY_NOT_FOUND} #{subpath}: "#{search_name}"}
         
     | 
| 
         @@ -90,6 +90,7 @@ module Aspera 
     | 
|
| 
       90 
90 
     | 
    
         
             
                  # @param msg one error message  to add to list
         
     | 
| 
       91 
91 
     | 
    
         
             
                  def add_error(call_context, type, msg)
         
     | 
| 
       92 
92 
     | 
    
         
             
                    call_context[:messages].push(msg)
         
     | 
| 
      
 93 
     | 
    
         
            +
                    Log.log.trace1{"Found error: #{type}: #{msg}"}
         
     | 
| 
       93 
94 
     | 
    
         
             
                    log_file = instance.log_file
         
     | 
| 
       94 
95 
     | 
    
         
             
                    # log error for further analysis (file must exist to activate)
         
     | 
| 
       95 
96 
     | 
    
         
             
                    return if log_file.nil? || !File.exist?(log_file)
         
     | 
| 
         @@ -21,6 +21,8 @@ module Aspera 
     | 
|
| 
       21 
21 
     | 
    
         
             
                    RestErrorAnalyzer.instance.add_simple_handler(name: 'Type 6', path: ['message'])
         
     | 
| 
       22 
22 
     | 
    
         
             
                    RestErrorAnalyzer.instance.add_handler('Type 7: errors[]') do |type, call_context|
         
     | 
| 
       23 
23 
     | 
    
         
             
                      next unless call_context[:data].is_a?(Hash) && call_context[:data]['errors'].is_a?(Hash)
         
     | 
| 
      
 24 
     | 
    
         
            +
                      # special for Shares: false positive ? (update global transfer_settings)
         
     | 
| 
      
 25 
     | 
    
         
            +
                      next if call_context[:data].key?('min_connect_version')
         
     | 
| 
       24 
26 
     | 
    
         
             
                      call_context[:data]['errors'].each do |k, v|
         
     | 
| 
       25 
27 
     | 
    
         
             
                        RestErrorAnalyzer.add_error(call_context, type, "#{k}: #{v}")
         
     | 
| 
       26 
28 
     | 
    
         
             
                      end
         
     | 
    
        data/lib/aspera/secret_hider.rb
    CHANGED
    
    | 
         @@ -6,6 +6,8 @@ require 'logger' 
     | 
|
| 
       6 
6 
     | 
    
         
             
            module Aspera
         
     | 
| 
       7 
7 
     | 
    
         
             
              # remove secret from logs and output
         
     | 
| 
       8 
8 
     | 
    
         
             
              class SecretHider
         
     | 
| 
      
 9 
     | 
    
         
            +
                # configurable:
         
     | 
| 
      
 10 
     | 
    
         
            +
                ADDITIONAL_KEYS_TO_HIDE = []
         
     | 
| 
       9 
11 
     | 
    
         
             
                # display string for hidden secrets
         
     | 
| 
       10 
12 
     | 
    
         
             
                HIDDEN_PASSWORD = '🔑'
         
     | 
| 
       11 
13 
     | 
    
         
             
                # env vars for ascp with secrets
         
     | 
| 
         @@ -14,7 +16,7 @@ module Aspera 
     | 
|
| 
       14 
16 
     | 
    
         
             
                KEY_SECRETS = %w[password secret passphrase _key apikey crn token].freeze
         
     | 
| 
       15 
17 
     | 
    
         
             
                HTTP_SECRETS = %w[Authorization].freeze
         
     | 
| 
       16 
18 
     | 
    
         
             
                ALL_SECRETS = [ASCP_ENV_SECRETS, KEY_SECRETS, HTTP_SECRETS].flatten.freeze
         
     | 
| 
       17 
     | 
    
         
            -
                KEY_FALSE_POSITIVES = [/^access_key$/].freeze
         
     | 
| 
      
 19 
     | 
    
         
            +
                KEY_FALSE_POSITIVES = [/^access_key$/, /^fallback_private_key$/].freeze
         
     | 
| 
       18 
20 
     | 
    
         
             
                # regex that define named captures :begin and :end
         
     | 
| 
       19 
21 
     | 
    
         
             
                REGEX_LOG_REPLACES = [
         
     | 
| 
       20 
22 
     | 
    
         
             
                  # CLI manager get/set options
         
     | 
| 
         @@ -32,7 +34,7 @@ module Aspera 
     | 
|
| 
       32 
34 
     | 
    
         
             
                  # cred in http dump
         
     | 
| 
       33 
35 
     | 
    
         
             
                  /(?<begin>(?:#{HTTP_SECRETS.join('|')}): )[^\\]+(?<end>\\)/i
         
     | 
| 
       34 
36 
     | 
    
         
             
                ].freeze
         
     | 
| 
       35 
     | 
    
         
            -
                private_constant :HIDDEN_PASSWORD, :ASCP_ENV_SECRETS, :KEY_SECRETS, :ALL_SECRETS, :REGEX_LOG_REPLACES
         
     | 
| 
      
 37 
     | 
    
         
            +
                private_constant :HIDDEN_PASSWORD, :ASCP_ENV_SECRETS, :KEY_SECRETS, :HTTP_SECRETS, :ALL_SECRETS, :KEY_FALSE_POSITIVES, :REGEX_LOG_REPLACES
         
     | 
| 
       36 
38 
     | 
    
         
             
                @log_secrets = false
         
     | 
| 
       37 
39 
     | 
    
         
             
                class << self
         
     | 
| 
       38 
40 
     | 
    
         
             
                  attr_accessor :log_secrets
         
     | 
| 
         @@ -56,6 +58,7 @@ module Aspera 
     | 
|
| 
       56 
58 
     | 
    
         
             
                    return false unless keyword.is_a?(String) && value.is_a?(String)
         
     | 
| 
       57 
59 
     | 
    
         
             
                    # those are not secrets
         
     | 
| 
       58 
60 
     | 
    
         
             
                    return false if KEY_FALSE_POSITIVES.any?{|f|f.match?(keyword)}
         
     | 
| 
      
 61 
     | 
    
         
            +
                    return true if ADDITIONAL_KEYS_TO_HIDE.include?(keyword)
         
     | 
| 
       59 
62 
     | 
    
         
             
                    # check if keyword (name) contains an element that designate it as a secret
         
     | 
| 
       60 
63 
     | 
    
         
             
                    ALL_SECRETS.any?{|kw|keyword.include?(kw)}
         
     | 
| 
       61 
64 
     | 
    
         
             
                  end
         
     | 
    
        data/lib/aspera/ssh.rb
    CHANGED
    
    | 
         @@ -2,15 +2,17 @@ 
     | 
|
| 
       2 
2 
     | 
    
         | 
| 
       3 
3 
     | 
    
         
             
            require 'net/ssh'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
     | 
    
         
            -
             
     | 
| 
       6 
     | 
    
         
            -
             
     | 
| 
       7 
     | 
    
         
            -
             
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
       11 
     | 
    
         
            -
               
     | 
| 
      
 5 
     | 
    
         
            +
            if ENV.fetch('ASCLI_ENABLE_ED25519', 'false').eql?('false')
         
     | 
| 
      
 6 
     | 
    
         
            +
              # HACK: deactivate ed25519 and ecdsa private keys from ssh identities, as it usually cause problems
         
     | 
| 
      
 7 
     | 
    
         
            +
              old_verbose = $VERBOSE
         
     | 
| 
      
 8 
     | 
    
         
            +
              $VERBOSE = nil
         
     | 
| 
      
 9 
     | 
    
         
            +
              begin
         
     | 
| 
      
 10 
     | 
    
         
            +
                module Net; module SSH; module Authentication; class Session; private; def default_keys; %w[~/.ssh/id_dsa ~/.ssh/id_rsa ~/.ssh2/id_dsa ~/.ssh2/id_rsa]; end; end; end; end; end # rubocop:disable Layout/AccessModifierIndentation, Layout/EmptyLinesAroundAccessModifier, Layout/LineLength, Style/Semicolon
         
     | 
| 
      
 11 
     | 
    
         
            +
              rescue StandardError
         
     | 
| 
      
 12 
     | 
    
         
            +
                # ignore errors
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
              $VERBOSE = old_verbose
         
     | 
| 
       12 
15 
     | 
    
         
             
            end
         
     | 
| 
       13 
     | 
    
         
            -
            $VERBOSE = old_verbose
         
     | 
| 
       14 
16 
     | 
    
         | 
| 
       15 
17 
     | 
    
         
             
            module Aspera
         
     | 
| 
       16 
18 
     | 
    
         
             
              # A simple wrapper around Net::SSH
         
     | 
| 
         @@ -3,6 +3,7 @@ 
     | 
|
| 
       3 
3 
     | 
    
         
             
            require 'webrick'
         
     | 
| 
       4 
4 
     | 
    
         
             
            require 'webrick/https'
         
     | 
| 
       5 
5 
     | 
    
         
             
            require 'aspera/log'
         
     | 
| 
      
 6 
     | 
    
         
            +
            require 'aspera/assert'
         
     | 
| 
       6 
7 
     | 
    
         
             
            require 'openssl'
         
     | 
| 
       7 
8 
     | 
    
         | 
| 
       8 
9 
     | 
    
         
             
            module Aspera
         
     | 
| 
         @@ -52,7 +53,7 @@ module Aspera 
     | 
|
| 
       52 
53 
     | 
    
         
             
                    if certificate.nil?
         
     | 
| 
       53 
54 
     | 
    
         
             
                      webrick_options[:SSLCertName] = [['CN', WEBrick::Utils.getservername]]
         
     | 
| 
       54 
55 
     | 
    
         
             
                    else
         
     | 
| 
       55 
     | 
    
         
            -
                       
     | 
| 
      
 56 
     | 
    
         
            +
                      assert_type(certificate, Hash)
         
     | 
| 
       56 
57 
     | 
    
         
             
                      certificate = certificate.symbolize_keys
         
     | 
| 
       57 
58 
     | 
    
         
             
                      raise "unexpected key in certificate config: only: #{CERT_PARAMETERS.join(', ')}" if certificate.keys.any?{|k|!CERT_PARAMETERS.include?(k)}
         
     | 
| 
       58 
59 
     | 
    
         
             
                      webrick_options[:SSLPrivateKey] = if certificate.key?(:key)
         
     | 
    
        data.tar.gz.sig
    CHANGED
    
    | 
         Binary file 
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: aspera-cli
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 4. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.16.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Laurent Martin
         
     | 
| 
         @@ -37,8 +37,42 @@ cert_chain: 
     | 
|
| 
       37 
37 
     | 
    
         
             
              eTf9kxhVM40wGQOECVNA8UsEEZHD48eF+csUYZtAJOF5oxTI8UyV9T/o6CgO0c9/
         
     | 
| 
       38 
38 
     | 
    
         
             
              Gzz+Qm5ULOUcPiJLjSpaiTrkiIVYiDGnqNSr6R1Hb1c=
         
     | 
| 
       39 
39 
     | 
    
         
             
              -----END CERTIFICATE-----
         
     | 
| 
       40 
     | 
    
         
            -
            date:  
     | 
| 
      
 40 
     | 
    
         
            +
            date: 2024-02-14 00:00:00.000000000 Z
         
     | 
| 
       41 
41 
     | 
    
         
             
            dependencies:
         
     | 
| 
      
 42 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 43 
     | 
    
         
            +
              name: base64
         
     | 
| 
      
 44 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 45 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 46 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 47 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 48 
     | 
    
         
            +
                    version: 0.2.0
         
     | 
| 
      
 49 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 50 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 51 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 52 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 53 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 54 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 55 
     | 
    
         
            +
                    version: 0.2.0
         
     | 
| 
      
 56 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 57 
     | 
    
         
            +
              name: bigdecimal
         
     | 
| 
      
 58 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 59 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 60 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 61 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 62 
     | 
    
         
            +
                    version: '3.1'
         
     | 
| 
      
 63 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 64 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 65 
     | 
    
         
            +
                    version: 3.1.6
         
     | 
| 
      
 66 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 67 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 68 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 69 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 70 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 71 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 72 
     | 
    
         
            +
                    version: '3.1'
         
     | 
| 
      
 73 
     | 
    
         
            +
                - - ">="
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 75 
     | 
    
         
            +
                    version: 3.1.6
         
     | 
| 
       42 
76 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       43 
77 
     | 
    
         
             
              name: blankslate
         
     | 
| 
       44 
78 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -53,6 +87,20 @@ dependencies: 
     | 
|
| 
       53 
87 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       54 
88 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       55 
89 
     | 
    
         
             
                    version: '3.1'
         
     | 
| 
      
 90 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 91 
     | 
    
         
            +
              name: csv
         
     | 
| 
      
 92 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 93 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 94 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 95 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 96 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
      
 97 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 98 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 99 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 100 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 101 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 102 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 103 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
       56 
104 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       57 
105 
     | 
    
         
             
              name: execjs
         
     | 
| 
       58 
106 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -81,6 +129,20 @@ dependencies: 
     | 
|
| 
       81 
129 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       82 
130 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       83 
131 
     | 
    
         
             
                    version: '2.0'
         
     | 
| 
      
 132 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 133 
     | 
    
         
            +
              name: mime-types
         
     | 
| 
      
 134 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 135 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 136 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 137 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 138 
     | 
    
         
            +
                    version: '3.5'
         
     | 
| 
      
 139 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 140 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 141 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 142 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 143 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 144 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 145 
     | 
    
         
            +
                    version: '3.5'
         
     | 
| 
       84 
146 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       85 
147 
     | 
    
         
             
              name: net-ssh
         
     | 
| 
       86 
148 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -95,6 +157,20 @@ dependencies: 
     | 
|
| 
       95 
157 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       96 
158 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       97 
159 
     | 
    
         
             
                    version: '7.0'
         
     | 
| 
      
 160 
     | 
    
         
            +
            - !ruby/object:Gem::Dependency
         
     | 
| 
      
 161 
     | 
    
         
            +
              name: rainbow
         
     | 
| 
      
 162 
     | 
    
         
            +
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
      
 163 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 164 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 165 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 166 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
      
 167 
     | 
    
         
            +
              type: :runtime
         
     | 
| 
      
 168 
     | 
    
         
            +
              prerelease: false
         
     | 
| 
      
 169 
     | 
    
         
            +
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
      
 170 
     | 
    
         
            +
                requirements:
         
     | 
| 
      
 171 
     | 
    
         
            +
                - - "~>"
         
     | 
| 
      
 172 
     | 
    
         
            +
                  - !ruby/object:Gem::Version
         
     | 
| 
      
 173 
     | 
    
         
            +
                    version: '3.0'
         
     | 
| 
       98 
174 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       99 
175 
     | 
    
         
             
              name: ruby-progressbar
         
     | 
| 
       100 
176 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -208,61 +284,33 @@ dependencies: 
     | 
|
| 
       208 
284 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       209 
285 
     | 
    
         
             
                    version: '1.0'
         
     | 
| 
       210 
286 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       211 
     | 
    
         
            -
              name:  
     | 
| 
       212 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       213 
     | 
    
         
            -
                requirements:
         
     | 
| 
       214 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       215 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       216 
     | 
    
         
            -
                    version: '0.3'
         
     | 
| 
       217 
     | 
    
         
            -
              type: :development
         
     | 
| 
       218 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       219 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       220 
     | 
    
         
            -
                requirements:
         
     | 
| 
       221 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       222 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       223 
     | 
    
         
            -
                    version: '0.3'
         
     | 
| 
       224 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       225 
     | 
    
         
            -
              name: rmagick
         
     | 
| 
       226 
     | 
    
         
            -
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       227 
     | 
    
         
            -
                requirements:
         
     | 
| 
       228 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       229 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       230 
     | 
    
         
            -
                    version: '5.3'
         
     | 
| 
       231 
     | 
    
         
            -
              type: :development
         
     | 
| 
       232 
     | 
    
         
            -
              prerelease: false
         
     | 
| 
       233 
     | 
    
         
            -
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       234 
     | 
    
         
            -
                requirements:
         
     | 
| 
       235 
     | 
    
         
            -
                - - "~>"
         
     | 
| 
       236 
     | 
    
         
            -
                  - !ruby/object:Gem::Version
         
     | 
| 
       237 
     | 
    
         
            -
                    version: '5.3'
         
     | 
| 
       238 
     | 
    
         
            -
            - !ruby/object:Gem::Dependency
         
     | 
| 
       239 
     | 
    
         
            -
              name: bundler
         
     | 
| 
      
 287 
     | 
    
         
            +
              name: rake
         
     | 
| 
       240 
288 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       241 
289 
     | 
    
         
             
                requirements:
         
     | 
| 
       242 
290 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       243 
291 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       244 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 292 
     | 
    
         
            +
                    version: '13.0'
         
     | 
| 
       245 
293 
     | 
    
         
             
              type: :development
         
     | 
| 
       246 
294 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       247 
295 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       248 
296 
     | 
    
         
             
                requirements:
         
     | 
| 
       249 
297 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       250 
298 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       251 
     | 
    
         
            -
                    version: ' 
     | 
| 
      
 299 
     | 
    
         
            +
                    version: '13.0'
         
     | 
| 
       252 
300 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       253 
     | 
    
         
            -
              name:  
     | 
| 
      
 301 
     | 
    
         
            +
              name: reek
         
     | 
| 
       254 
302 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       255 
303 
     | 
    
         
             
                requirements:
         
     | 
| 
       256 
304 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       257 
305 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       258 
     | 
    
         
            -
                    version:  
     | 
| 
      
 306 
     | 
    
         
            +
                    version: 6.1.0
         
     | 
| 
       259 
307 
     | 
    
         
             
              type: :development
         
     | 
| 
       260 
308 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       261 
309 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       262 
310 
     | 
    
         
             
                requirements:
         
     | 
| 
       263 
311 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       264 
312 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       265 
     | 
    
         
            -
                    version:  
     | 
| 
      
 313 
     | 
    
         
            +
                    version: 6.1.0
         
     | 
| 
       266 
314 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       267 
315 
     | 
    
         
             
              name: rspec
         
     | 
| 
       268 
316 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
         @@ -339,28 +387,28 @@ dependencies: 
     | 
|
| 
       339 
387 
     | 
    
         
             
                requirements:
         
     | 
| 
       340 
388 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       341 
389 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       342 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 390 
     | 
    
         
            +
                    version: '0.22'
         
     | 
| 
       343 
391 
     | 
    
         
             
              type: :development
         
     | 
| 
       344 
392 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       345 
393 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       346 
394 
     | 
    
         
             
                requirements:
         
     | 
| 
       347 
395 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       348 
396 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       349 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 397 
     | 
    
         
            +
                    version: '0.22'
         
     | 
| 
       350 
398 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       351 
399 
     | 
    
         
             
              name: solargraph
         
     | 
| 
       352 
400 
     | 
    
         
             
              requirement: !ruby/object:Gem::Requirement
         
     | 
| 
       353 
401 
     | 
    
         
             
                requirements:
         
     | 
| 
       354 
402 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       355 
403 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       356 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 404 
     | 
    
         
            +
                    version: '0.50'
         
     | 
| 
       357 
405 
     | 
    
         
             
              type: :development
         
     | 
| 
       358 
406 
     | 
    
         
             
              prerelease: false
         
     | 
| 
       359 
407 
     | 
    
         
             
              version_requirements: !ruby/object:Gem::Requirement
         
     | 
| 
       360 
408 
     | 
    
         
             
                requirements:
         
     | 
| 
       361 
409 
     | 
    
         
             
                - - "~>"
         
     | 
| 
       362 
410 
     | 
    
         
             
                  - !ruby/object:Gem::Version
         
     | 
| 
       363 
     | 
    
         
            -
                    version: '0. 
     | 
| 
      
 411 
     | 
    
         
            +
                    version: '0.50'
         
     | 
| 
       364 
412 
     | 
    
         
             
            description: Command line interface for IBM Aspera products
         
     | 
| 
       365 
413 
     | 
    
         
             
            email:
         
     | 
| 
       366 
414 
     | 
    
         
             
            - laurent.martin.aspera@fr.ibm.com
         
     | 
| 
         @@ -381,6 +429,7 @@ files: 
     | 
|
| 
       381 
429 
     | 
    
         
             
            - examples/rubyc
         
     | 
| 
       382 
430 
     | 
    
         
             
            - lib/aspera/aoc.rb
         
     | 
| 
       383 
431 
     | 
    
         
             
            - lib/aspera/ascmd.rb
         
     | 
| 
      
 432 
     | 
    
         
            +
            - lib/aspera/assert.rb
         
     | 
| 
       384 
433 
     | 
    
         
             
            - lib/aspera/ats_api.rb
         
     | 
| 
       385 
434 
     | 
    
         
             
            - lib/aspera/cli/basic_auth_plugin.rb
         
     | 
| 
       386 
435 
     | 
    
         
             
            - lib/aspera/cli/error.rb
         
     | 
| 
         @@ -412,6 +461,7 @@ files: 
     | 
|
| 
       412 
461 
     | 
    
         
             
            - lib/aspera/colors.rb
         
     | 
| 
       413 
462 
     | 
    
         
             
            - lib/aspera/command_line_builder.rb
         
     | 
| 
       414 
463 
     | 
    
         
             
            - lib/aspera/cos_node.rb
         
     | 
| 
      
 464 
     | 
    
         
            +
            - lib/aspera/coverage.rb
         
     | 
| 
       415 
465 
     | 
    
         
             
            - lib/aspera/data/1
         
     | 
| 
       416 
466 
     | 
    
         
             
            - lib/aspera/data/2
         
     | 
| 
       417 
467 
     | 
    
         
             
            - lib/aspera/data/3
         
     | 
| 
         @@ -420,7 +470,7 @@ files: 
     | 
|
| 
       420 
470 
     | 
    
         
             
            - lib/aspera/data/6
         
     | 
| 
       421 
471 
     | 
    
         
             
            - lib/aspera/data_repository.rb
         
     | 
| 
       422 
472 
     | 
    
         
             
            - lib/aspera/environment.rb
         
     | 
| 
       423 
     | 
    
         
            -
            - lib/aspera/fasp/ 
     | 
| 
      
 473 
     | 
    
         
            +
            - lib/aspera/fasp/agent_alpha.rb
         
     | 
| 
       424 
474 
     | 
    
         
             
            - lib/aspera/fasp/agent_base.rb
         
     | 
| 
       425 
475 
     | 
    
         
             
            - lib/aspera/fasp/agent_connect.rb
         
     | 
| 
       426 
476 
     | 
    
         
             
            - lib/aspera/fasp/agent_direct.rb
         
     | 
| 
         @@ -436,6 +486,7 @@ files: 
     | 
|
| 
       436 
486 
     | 
    
         
             
            - lib/aspera/fasp/parameters.yaml
         
     | 
| 
       437 
487 
     | 
    
         
             
            - lib/aspera/fasp/products.rb
         
     | 
| 
       438 
488 
     | 
    
         
             
            - lib/aspera/fasp/resume_policy.rb
         
     | 
| 
      
 489 
     | 
    
         
            +
            - lib/aspera/fasp/sync.rb
         
     | 
| 
       439 
490 
     | 
    
         
             
            - lib/aspera/fasp/transfer_spec.rb
         
     | 
| 
       440 
491 
     | 
    
         
             
            - lib/aspera/fasp/uri.rb
         
     | 
| 
       441 
492 
     | 
    
         
             
            - lib/aspera/faspex_gw.rb
         
     | 
| 
         @@ -449,6 +500,7 @@ files: 
     | 
|
| 
       449 
500 
     | 
    
         
             
            - lib/aspera/log.rb
         
     | 
| 
       450 
501 
     | 
    
         
             
            - lib/aspera/nagios.rb
         
     | 
| 
       451 
502 
     | 
    
         
             
            - lib/aspera/node.rb
         
     | 
| 
      
 503 
     | 
    
         
            +
            - lib/aspera/node_simulator.rb
         
     | 
| 
       452 
504 
     | 
    
         
             
            - lib/aspera/oauth.rb
         
     | 
| 
       453 
505 
     | 
    
         
             
            - lib/aspera/open_application.rb
         
     | 
| 
       454 
506 
     | 
    
         
             
            - lib/aspera/persistency_action_once.rb
         
     | 
| 
         @@ -468,7 +520,6 @@ files: 
     | 
|
| 
       468 
520 
     | 
    
         
             
            - lib/aspera/rest_errors_aspera.rb
         
     | 
| 
       469 
521 
     | 
    
         
             
            - lib/aspera/secret_hider.rb
         
     | 
| 
       470 
522 
     | 
    
         
             
            - lib/aspera/ssh.rb
         
     | 
| 
       471 
     | 
    
         
            -
            - lib/aspera/sync.rb
         
     | 
| 
       472 
523 
     | 
    
         
             
            - lib/aspera/temp_file_manager.rb
         
     | 
| 
       473 
524 
     | 
    
         
             
            - lib/aspera/timer_limiter.rb
         
     | 
| 
       474 
525 
     | 
    
         
             
            - lib/aspera/uri_reader.rb
         
     | 
| 
         @@ -480,8 +531,8 @@ licenses: 
     | 
|
| 
       480 
531 
     | 
    
         
             
            metadata:
         
     | 
| 
       481 
532 
     | 
    
         
             
              allowed_push_host: https://rubygems.org
         
     | 
| 
       482 
533 
     | 
    
         
             
              homepage_uri: https://github.com/IBM/aspera-cli
         
     | 
| 
       483 
     | 
    
         
            -
              source_code_uri: https://github.com/IBM/aspera-cli
         
     | 
| 
       484 
     | 
    
         
            -
              changelog_uri: https://github.com/IBM/aspera-cli
         
     | 
| 
      
 534 
     | 
    
         
            +
              source_code_uri: https://github.com/IBM/aspera-cli/tree/main/lib/aspera
         
     | 
| 
      
 535 
     | 
    
         
            +
              changelog_uri: https://github.com/IBM/aspera-cli/CHANGELOG.md
         
     | 
| 
       485 
536 
     | 
    
         
             
              rubygems_uri: https://rubygems.org/gems/aspera-cli
         
     | 
| 
       486 
537 
     | 
    
         
             
              documentation_uri: https://www.rubydoc.info/gems/aspera-cli
         
     | 
| 
       487 
538 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
         @@ -500,7 +551,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       500 
551 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       501 
552 
     | 
    
         
             
            requirements:
         
     | 
| 
       502 
553 
     | 
    
         
             
            - Read the manual for any requirement
         
     | 
| 
       503 
     | 
    
         
            -
            rubygems_version: 3.4. 
     | 
| 
      
 554 
     | 
    
         
            +
            rubygems_version: 3.4.19
         
     | 
| 
       504 
555 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       505 
556 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       506 
557 
     | 
    
         
             
            summary: 'Execute actions using command line on IBM Aspera Server products: Aspera
         
     | 
    
        metadata.gz.sig
    CHANGED
    
    | 
         Binary file 
     |