password_safe 0.0.4 → 0.0.5
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 +15 -0
- data/lib/password_safe/guard.rb +9 -31
- data/lib/password_safe/version.rb +1 -1
- data/password_safe.gemspec +1 -0
- metadata +19 -11
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
MGY4ZWQzMjIxMjc0NWU2YTMwZTZlZWJjYWM2OGMxZGFjODZkYWY1MA==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
OWU0ZDE4Zjg2NjljNGU0ZTdhMzFiZDlkZjg4M2Q1YzU2NDY4OTZmMQ==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ODgzM2JiNzk3MjUwMTI4ZTZmNWMwYjIxM2FhZGY1MDVkMzdiNThiZGY0ZTRm
|
10
|
+
NjNkOTYyN2MzZjM3ZWI3YTZkZGE0YWVkNmY3OTE0ODczNTJiYWMwYzI4MjI2
|
11
|
+
YmE0ZDhkNDBjNzgyYTg3YWQ0YmFkYzM5MjM5Y2M1NGY0ZjIyYjM=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzFmNzFjNmQzYzRjM2FjOTQzYjUzYzNmMzEyYWQ3YTJiYjQxODMwZjdjNGEw
|
14
|
+
MzEyNDllOWJhYjUxMTlmYmExZjQxN2VkMDAwYzI1OGE4ODRlNjY4ZWQzOThm
|
15
|
+
M2YyYjYyYmQ3YzdkNjFiY2YzOTNhMjI2YzZlZTZhOTQ5ZjdmNzY=
|
data/lib/password_safe/guard.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'highline/import'
|
2
|
+
|
1
3
|
module PasswordSafe
|
2
4
|
# Handles user requests and interacts
|
3
5
|
# with the Safe class.
|
@@ -77,10 +79,8 @@ module PasswordSafe
|
|
77
79
|
# by the user.
|
78
80
|
def add_value
|
79
81
|
if @arg
|
80
|
-
|
81
|
-
|
82
|
-
puts "Enter the password for #{@arg}"
|
83
|
-
key_password = get_password
|
82
|
+
safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
|
83
|
+
key_password = ask("Enter the password for #{@arg}") { |q| q.echo = "*" }
|
84
84
|
add_data "#{@arg}:#{key_password}", safe_password
|
85
85
|
else
|
86
86
|
puts "A key is needed in order to store a password"
|
@@ -92,8 +92,7 @@ module PasswordSafe
|
|
92
92
|
# entered by the user
|
93
93
|
def get_value
|
94
94
|
(puts "The safe is empty"; return) if @safe.empty?
|
95
|
-
|
96
|
-
safe_password = get_password
|
95
|
+
safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
|
97
96
|
case @arg
|
98
97
|
when /^\S+$/
|
99
98
|
data = retrieve_data(safe_password)
|
@@ -120,32 +119,13 @@ module PasswordSafe
|
|
120
119
|
(puts " The safe is empty"; return) if @safe.empty?
|
121
120
|
case @arg
|
122
121
|
when /^\S+$/
|
123
|
-
|
124
|
-
safe_password = get_password
|
122
|
+
safe_password = ask("Enter the password for the safe") { |q| q.echo = "*" }
|
125
123
|
remove_key_value safe_password
|
126
124
|
when nil
|
127
125
|
empty_safe
|
128
126
|
end
|
129
127
|
end
|
130
128
|
|
131
|
-
# Gets password from user.
|
132
|
-
# Hides password on console by replacing
|
133
|
-
# input characters with "*"
|
134
|
-
def get_password
|
135
|
-
system "stty raw -echo"
|
136
|
-
password = ""
|
137
|
-
loop do
|
138
|
-
char = STDIN.getc
|
139
|
-
char != "\r" ? password << char : break
|
140
|
-
print "*"
|
141
|
-
end
|
142
|
-
password
|
143
|
-
ensure
|
144
|
-
puts
|
145
|
-
print "\033[ 1 E"
|
146
|
-
system "stty -raw echo"
|
147
|
-
end
|
148
|
-
|
149
129
|
# First retrieves old data to see if
|
150
130
|
# the key already exists in the safe,
|
151
131
|
# adds it if not.
|
@@ -218,10 +198,8 @@ module PasswordSafe
|
|
218
198
|
# If the safe is empty, there is no password to be changed.
|
219
199
|
def change_safe_password
|
220
200
|
(puts "The safe is empty, no password is currently active"; return) if @safe.empty?
|
221
|
-
|
222
|
-
|
223
|
-
puts "Enter the new password for the safe"
|
224
|
-
new_safe_password = get_password
|
201
|
+
old_safe_password = ask("Enter the old password for the safe") { |q| q.echo = "*" }
|
202
|
+
new_safe_password = ask("Enter the new password for the safe") { |q| q.echo = "*" }
|
225
203
|
data = retrieve_data old_safe_password
|
226
204
|
puts "Successfully changed password" if (merge_data(data, nil, new_safe_password) if data)
|
227
205
|
end
|
@@ -232,4 +210,4 @@ module PasswordSafe
|
|
232
210
|
puts "The safe has been removed!"
|
233
211
|
end
|
234
212
|
end
|
235
|
-
end
|
213
|
+
end
|
data/password_safe.gemspec
CHANGED
@@ -14,6 +14,7 @@ Gem::Specification.new do |gem|
|
|
14
14
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
15
15
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
16
16
|
gem.require_paths = ["lib"]
|
17
|
+
gem.add_dependency 'highline'
|
17
18
|
gem.add_development_dependency 'rspec', '~>2.8'
|
18
19
|
gem.add_development_dependency 'cover_me', '~>1.2'
|
19
20
|
end
|
metadata
CHANGED
@@ -1,20 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: password_safe
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.5
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Alec Tower
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-03-10 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: highline
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
14
27
|
- !ruby/object:Gem::Dependency
|
15
28
|
name: rspec
|
16
29
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
30
|
requirements:
|
19
31
|
- - ~>
|
20
32
|
- !ruby/object:Gem::Version
|
@@ -22,7 +34,6 @@ dependencies:
|
|
22
34
|
type: :development
|
23
35
|
prerelease: false
|
24
36
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
37
|
requirements:
|
27
38
|
- - ~>
|
28
39
|
- !ruby/object:Gem::Version
|
@@ -30,7 +41,6 @@ dependencies:
|
|
30
41
|
- !ruby/object:Gem::Dependency
|
31
42
|
name: cover_me
|
32
43
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
44
|
requirements:
|
35
45
|
- - ~>
|
36
46
|
- !ruby/object:Gem::Version
|
@@ -38,7 +48,6 @@ dependencies:
|
|
38
48
|
type: :development
|
39
49
|
prerelease: false
|
40
50
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
51
|
requirements:
|
43
52
|
- - ~>
|
44
53
|
- !ruby/object:Gem::Version
|
@@ -72,27 +81,26 @@ files:
|
|
72
81
|
- spec/spec_helper.rb
|
73
82
|
homepage: https://github.com/uniosx/password_safe
|
74
83
|
licenses: []
|
84
|
+
metadata: {}
|
75
85
|
post_install_message:
|
76
86
|
rdoc_options: []
|
77
87
|
require_paths:
|
78
88
|
- lib
|
79
89
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
90
|
requirements:
|
82
91
|
- - ! '>='
|
83
92
|
- !ruby/object:Gem::Version
|
84
93
|
version: '0'
|
85
94
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
-
none: false
|
87
95
|
requirements:
|
88
96
|
- - ! '>='
|
89
97
|
- !ruby/object:Gem::Version
|
90
98
|
version: '0'
|
91
99
|
requirements: []
|
92
100
|
rubyforge_project:
|
93
|
-
rubygems_version:
|
101
|
+
rubygems_version: 2.0.2
|
94
102
|
signing_key:
|
95
|
-
specification_version:
|
103
|
+
specification_version: 4
|
96
104
|
summary: A ruby command line tool that uses AES-256-CBC encryption to store passwords.
|
97
105
|
It provides easy storage and retrieval on *nix systems
|
98
106
|
test_files:
|