Skip to content

Commit 12182e0

Browse files
authored
Merge pull request #678 from travis-ci/sf-fix-file-encryption-var-names
Make sure encrypted file env variable names are unique per filename
2 parents 5ad7aed + cdb1e0d commit 12182e0

File tree

6 files changed

+14
-10
lines changed

6 files changed

+14
-10
lines changed

.travis.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ os:
66

77
rvm:
88
- jruby
9-
- 1.9.2
109
- 1.9.3
10+
- 2.2.7
11+
- 2.3.8
12+
- 2.4.5
1113
- 2.5.5
1214
- 2.6.3
1315

lib/travis/cli/encrypt_file.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def run(input_path, output_path = nil)
3737

3838
error "requires --decrypt-to option when reading from stdin" unless decrypt_to?
3939

40-
set_env_vars
40+
set_env_vars(input_path)
4141

4242
command = decrypt_command(output_path)
4343
stage ? store_command(command) : print_command(command)
@@ -70,14 +70,14 @@ def decrypt_command(path)
7070
"openssl aes-256-cbc -K $#{env_name(:key)} -iv $#{env_name(:iv)} -in #{escape_path(path)} -out #{escape_path(decrypt_to)} -d"
7171
end
7272

73-
def set_env_vars
73+
def set_env_vars(input_path)
7474
say "storing secure env variables for decryption"
75-
repository.env_vars.upsert env_name(:key), key, :public => false
76-
repository.env_vars.upsert env_name(:iv), iv, :public => false
75+
repository.env_vars.upsert env_name(input_path, :key), key, :public => false
76+
repository.env_vars.upsert env_name(input_path, :iv), iv, :public => false
7777
end
7878

79-
def env_name(name)
80-
@env_prefix ||= "encrypted_#{Digest.hexencode(Digest::SHA1.digest(Dir.pwd)[0..5])}"
79+
def env_name(input_path, name)
80+
@env_prefix ||= "encrypted_#{Digest.hexencode(Digest::SHA1.digest(input_path)[0..5])}"
8181
"#{@env_prefix}_#{name}"
8282
end
8383

spec/cli/init_spec.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121

2222
shared_examples_for 'travis init' do |language|
2323
example "travis init #{language} (empty directory)" do
24-
File.exist?('.travis.yml').should be_false
24+
File.exist?('.travis.yml').should be false
2525
run_cli('init', language, '--skip-enable', '-r', 'travis-ci/travis.rb').should be_success
2626
stdout.should be == ".travis.yml file created!\n"
27-
File.exist?('.travis.yml').should be_true
27+
File.exist?('.travis.yml').should be true
2828
File.read('.travis.yml').should include("language: #{language}")
2929
end
3030

spec/client/user_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
its(:email) { should be == '[email protected]' }
99
its(:gravatar_id) { should be == '5c2b452f6eea4a6d84c105ebd971d2a4' }
1010
its(:locale) { should be == 'en' }
11-
its(:is_syncing) { should be_false }
11+
its(:is_syncing) { should be false }
1212
its(:synced_at) { should be_a(Time) }
1313

1414
it { should_not be_syncing }

spec/spec_helper.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
require 'travis'
77
require 'highline'
88
require 'tmpdir'
9+
require 'rspec/its'
910

1011
temp_dir = nil
1112

travis.gemspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ Gem::Specification.new do |s|
359359
s.add_dependency "json", "~> 1.8" if RUBY_VERSION < "2.0"
360360
s.add_dependency "pusher-client", "~> 0.4"
361361
s.add_development_dependency "rspec", "~> 2.12"
362+
s.add_development_dependency "rspec-its"
362363
s.add_development_dependency "sinatra", "~> 1.3"
363364
s.add_development_dependency "rack-test", "~> 0.6"
364365

0 commit comments

Comments
 (0)