cucumber-sshd 2.0.0.pre5 → 2.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c4fc1f7d9977497a8e980b168f4fd208711ce56ffe64b32d276aeebc1b9baabb
4
- data.tar.gz: 943a900e9f029576fe9d9954129c6926b8c5f893eda6ad6eee44f3b699d01517
3
+ metadata.gz: 4d1490ecfcce254e9252d001b2d5230a4b9d5a80c8fc8d75cfc181552d1776be
4
+ data.tar.gz: 563447c5cc35e66a6a01d36e59f551af08cf6202b6a97f48372e7e154861609d
5
5
  SHA512:
6
- metadata.gz: b32c97654027cbe8c7cebeacaf992d7a382a014c4c182e7adc1f2bc523ca999cc837dfb49addab9bd2090b7e4b5dff1bfb73ae0010dee4daa8414e6a5b821f16
7
- data.tar.gz: 034c163a3488953f71227f5597dadf354992bcde25ab90523b3256a43a3c156ae40d38badfafdc43a9b78ce3cf3820070e9cd8fbad41a69aa0f34b4b8e92bc10
6
+ metadata.gz: 03bec6dd3ece7de26b87dd1511c15311b4940366d1fe6e40dd56c9373e11e79e35f36490c0c060bee97b5a5c0a9219c17b4650dbb4e6b7b9ea318ec866d60389
7
+ data.tar.gz: ee7046516b62d961fb02490e58107f885c35e28d8b363143cae78449b427909e4b68b84233a2e6b482802219de67ec6759d32338e8089cbd9182a8c32cfacbac
@@ -3,12 +3,11 @@ require 'cucumber/sshd/server'
3
3
  Before '@sshd' do
4
4
  start_server = -> do
5
5
  Cucumber::SSHD::Server.start \
6
- home: ENV.fetch('CUCUMBER_SSHD_HOME', 'tmp/home'),
7
- addr: ENV.fetch('CUCUMBER_SSHD_LISTEN', '::1'),
8
- port: ENV.fetch('CUCUMBER_SSHD_PORT', 2222),
9
- debug: ENV.key?('CUCUMBER_SSHD_DEBUG'),
10
- persist: ENV.key?('CUCUMBER_SSHD_PERSIST'),
11
- wait_ready: ENV.key?('CUCUMBER_SSHD_WAIT_READY')
6
+ home: ENV.fetch('CUCUMBER_SSHD_HOME', 'tmp/home'),
7
+ addr: ENV.fetch('CUCUMBER_SSHD_LISTEN', '::1'),
8
+ port: ENV.fetch('CUCUMBER_SSHD_PORT', 2222),
9
+ debug: ENV.key?('CUCUMBER_SSHD_DEBUG'),
10
+ persist: ENV.key?('CUCUMBER_SSHD_PERSIST')
12
11
  end
13
12
 
14
13
  if !$_sshd && ENV.key?('CUCUMBER_SSHD_PERSIST')
@@ -1,27 +1,27 @@
1
1
  module Cucumber
2
2
  module SSHD
3
3
  class Server
4
- HOST = 'some_host.test'.freeze
5
- HOSTNAME = 'localhost'.freeze
6
- COMMAND = '/usr/sbin/sshd'.freeze
7
- COMMAND_ARGS = '-Deq'.freeze
8
- COMMAND_ARGS_DEBUG = '-De'.freeze
9
- KEY_PATH = 'etc/ssh_host_rsa_key'.freeze
10
- KEY_PUB_PATH = [KEY_PATH, '.pub'].join.freeze
11
- SSHD_CONFIG_PATH = 'etc/sshd_config'.freeze
12
- SSH_CONFIG_PATH = '.ssh/config'.freeze
13
- SSH_KNOWN_HOSTS_PATH = '.ssh/known_hosts'.freeze
14
- SFTP_SERVER_PATHS = %w[
4
+ HOST = 'some_host.test'.freeze
5
+ HOSTNAME = 'localhost'.freeze
6
+ COMMAND = '/usr/sbin/sshd'.freeze
7
+ COMMAND_ARGS = '-Deq'.freeze
8
+ COMMAND_ARGS_DEBUG = '-De'.freeze
9
+ KEY_PATH = 'etc/ssh_host_rsa_key'.freeze
10
+ KEY_PUB_PATH = [KEY_PATH, '.pub'].join.freeze
11
+ SSHD_CONFIG_PATH = 'etc/sshd_config'.freeze
12
+ SSH_CONFIG_PATH = '.ssh/config'.freeze
13
+ SSH_KNOWN_HOSTS_PATH = '.ssh/known_hosts'.freeze
14
+ SFTP_SERVER_PATHS = %w[
15
15
  /usr/libexec/sftp-server
16
16
  /usr/lib/openssh/sftp-server
17
17
  ].freeze
18
18
 
19
- KEY = <<-eoh.freeze
20
- -----BEGIN EC PRIVATE KEY-----
21
- MHcCAQEEIJbQy3yg9iU4xFvia9DWKWuhMzI5QGncR6OUldAOSIe7oAoGCCqGSM49
22
- AwEHoUQDQgAEJpS8Sknl2X6PNurToQCNu5lX/scaJLr3FkiufD+p67epbwIjiyzo
23
- qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
24
- -----END EC PRIVATE KEY-----
19
+ KEY = <<~eoh.freeze
20
+ -----BEGIN EC PRIVATE KEY-----
21
+ MHcCAQEEIJbQy3yg9iU4xFvia9DWKWuhMzI5QGncR6OUldAOSIe7oAoGCCqGSM49
22
+ AwEHoUQDQgAEJpS8Sknl2X6PNurToQCNu5lX/scaJLr3FkiufD+p67epbwIjiyzo
23
+ qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
24
+ -----END EC PRIVATE KEY-----
25
25
  eoh
26
26
  KEY_PUB =
27
27
  'ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNT' \
@@ -40,14 +40,13 @@ qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
40
40
  attr_reader :home
41
41
 
42
42
  def initialize(
43
- home:, addr:, port:, debug: false, persist: false, wait_ready: false
43
+ home:, addr:, port:, debug: false, persist: false
44
44
  )
45
- @home = home
46
- @addr = addr
47
- @port = port
48
- @debug = debug
49
- @persist = persist
50
- @wait_ready = wait_ready
45
+ @home = home
46
+ @addr = addr
47
+ @port = port
48
+ @debug = debug
49
+ @persist = persist
51
50
  end
52
51
 
53
52
  def configure
@@ -68,7 +67,7 @@ qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
68
67
  end
69
68
  end
70
69
  print_server_info if debug?
71
- wait_ready! if wait_ready?
70
+ wait_ready
72
71
  end
73
72
 
74
73
  def stop
@@ -78,7 +77,7 @@ qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
78
77
 
79
78
  private
80
79
 
81
- attr_reader :addr, :port, :debug, :persist, :wait_ready, :pid
80
+ attr_reader :addr, :port, :debug, :persist, :pid
82
81
 
83
82
  def command
84
83
  [
@@ -91,10 +90,10 @@ qnLMVQddVitzQP7LEhXbNUuUAzEMfA6rAA==
91
90
 
92
91
  def configure_client
93
92
  write_file_secure SSH_CONFIG_PATH, <<-eoh
94
- Host #{HOST}
95
- HostName #{HOSTNAME}
96
- Port #{port}
97
- UserKnownHostsFile #{File.expand_path home}/#{SSH_KNOWN_HOSTS_PATH}
93
+ Host #{HOST}
94
+ HostName #{HOSTNAME}
95
+ Port #{port}
96
+ UserKnownHostsFile #{File.expand_path home}/#{SSH_KNOWN_HOSTS_PATH}
98
97
  eoh
99
98
  write_file_secure SSH_KNOWN_HOSTS_PATH, "[#{HOSTNAME}]:2222 #{KEY_PUB}"
100
99
  end
@@ -108,7 +107,6 @@ ListenAddress #{addr}
108
107
  Protocol 2
109
108
  HostKey #{File.expand_path home}/#{KEY_PATH}
110
109
  PidFile /dev/null
111
- UsePrivilegeSeparation no
112
110
  Subsystem sftp #{sftp_server_path}
113
111
  ForceCommand HOME=#{File.expand_path home} sh -c "cd ~; [ -f .ssh/rc ] && . .ssh/rc; $SSH_ORIGINAL_COMMAND"
114
112
  eoh
@@ -132,7 +130,6 @@ CUCUMBER SSHD STARTING ---------------------------------------------------------
132
130
  HOME: #{home}
133
131
  LISTEN: #{addr}:#{port}
134
132
  PERSIST: #{persist}
135
- WAIT_READY: #{wait_ready}
136
133
  --------------------------------------------------------------------------------
137
134
  eoh
138
135
  end
@@ -141,17 +138,13 @@ WAIT_READY: #{wait_ready}
141
138
  SFTP_SERVER_PATHS.detect { |e| File.exist? e }
142
139
  end
143
140
 
144
- def wait_ready!
141
+ def wait_ready
145
142
  TCPSocket.new HOSTNAME, port
146
143
  rescue Errno::ECONNREFUSED
147
- sleep 0.05
144
+ sleep 0.005
148
145
  retry
149
146
  end
150
147
 
151
- def wait_ready?
152
- !!wait_ready
153
- end
154
-
155
148
  def write_file_secure path, content
156
149
  File.open File.join(home, path), ?w, 0600 do |file|
157
150
  file.write content
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber-sshd
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre5
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thibault Jouan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-10-17 00:00:00.000000000 Z
11
+ date: 2022-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber
@@ -61,7 +61,6 @@ files:
61
61
  - lib/cucumber/sshd.rb
62
62
  - lib/cucumber/sshd/cucumber.rb
63
63
  - lib/cucumber/sshd/server.rb
64
- - lib/cucumber/sshd/version.rb
65
64
  homepage: https://rubygems.org/gems/cucumber-sshd
66
65
  licenses:
67
66
  - BSD-3-Clause
@@ -77,11 +76,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
77
76
  version: '0'
78
77
  required_rubygems_version: !ruby/object:Gem::Requirement
79
78
  requirements:
80
- - - ">"
79
+ - - ">="
81
80
  - !ruby/object:Gem::Version
82
- version: 1.3.1
81
+ version: '0'
83
82
  requirements: []
84
- rubygems_version: 3.2.29
83
+ rubygems_version: 3.3.11
85
84
  signing_key:
86
85
  specification_version: 4
87
86
  summary: Cucumber sshd helpers
@@ -1,5 +0,0 @@
1
- module Cucumber
2
- module SSHD
3
- VERSION = '2.0.0.pre5'.freeze
4
- end
5
- end