pws 1.0.1 → 1.0.2
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.
- data/README.md +13 -4
- data/features/misc.feature +7 -0
- data/features/step_definitions/pws_steps.rb +4 -0
- data/lib/pws.rb +1 -1
- data/lib/pws/format/1.0.rb +1 -0
- data/lib/pws/runner.rb +6 -0
- data/lib/pws/version.rb +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -17,9 +17,18 @@ Run `$ pws --help` for usage information.
|
|
17
17
|
|
18
18
|
On Linux, please make sure you've got `xclip` or `xsel` installed (clipboard).
|
19
19
|
|
20
|
-
On MacOS, the KDF might be generated pretty slow. You can work around this issue by using less iterations (see help) or [solving this problem](https://github.com/janlelis/pws/issues/7).
|
21
20
|
|
22
|
-
|
21
|
+
OpenSSL 1.0
|
22
|
+
---
|
23
|
+
You should use a Ruby built with bindings to an openssl version >= 1.0. If not, pws will fall back to a Ruby-only version of the PBKDF2 function. If using openssl 1.0 is not possible for you, you can work around the issue by using the `--iterations` option with a value < 75\_000 (see help). If you have problems using openssl 1.0 with your Ruby, please look for a solution in [this github issue](https://github.com/janlelis/pws/issues/7).
|
24
|
+
|
25
|
+
|
26
|
+
Using a .pws file in the current working directory
|
27
|
+
---
|
28
|
+
Besides using the `--filename path/to/safe` option, you can shortly call `pws --cwd` for using a `.pws` file in the current directory.
|
29
|
+
|
30
|
+
|
31
|
+
Updating from pws 0.9
|
23
32
|
---
|
24
33
|
The 0.9 password files are not compatible with that version, however, you can convert your safe with:
|
25
34
|
`$ pws resave --in 0.9 --out 1.0`
|
@@ -30,13 +39,13 @@ Reading the source
|
|
30
39
|
Trust the code by reading the source! It's originally based on [this tutorial](http://rbjl.net/41-tutorial-build-your-own-password-safe-with-ruby). You might want to start reading in the [0.9.2 tag](https://github.com/janlelis/pws/tree/0.9.2), because it's got less features and therefore is less code.
|
31
40
|
|
32
41
|
|
33
|
-
|
42
|
+
Contributors
|
34
43
|
---
|
35
44
|
* [namelessjon](https://github.com/namelessjon)
|
36
45
|
* [brianewing](https://github.com/brianewing/)
|
37
46
|
* [dquimper](https://github.com/dquimper/)
|
38
47
|
* [grapz](https://github.com/grapz/)
|
39
|
-
*
|
48
|
+
* [thecatwasnot](https://github.com/thecatwasnot/) (cucumber specs loosely based on [these](https://github.com/thecatwasnot/passwordsafe/blob/master/features/))
|
40
49
|
|
41
50
|
|
42
51
|
Copyright
|
data/features/misc.feature
CHANGED
@@ -36,3 +36,10 @@ Feature: Misc
|
|
36
36
|
And the output should contain "J-_-L"
|
37
37
|
And the output should contain "github"
|
38
38
|
|
39
|
+
Scenario: I want to use a .pws file in the current directory
|
40
|
+
When I run `pws --cwd ls` interactively
|
41
|
+
And I type "123"
|
42
|
+
And I type "456"
|
43
|
+
Then the output should contain the current path
|
44
|
+
And the output should contain ".pws"
|
45
|
+
And the output should contain "The passwords don't match!"
|
@@ -76,6 +76,10 @@ Then /^the output from "([^"]*)" should not contain the current date$/ do |cmd|
|
|
76
76
|
assert_no_partial_output(Time.now.strftime('%y-%m-%d'), output_from(cmd))
|
77
77
|
end
|
78
78
|
|
79
|
+
Then /^the output should contain the current path$/ do
|
80
|
+
assert_partial_output(FileUtils.pwd, all_output)
|
81
|
+
end
|
82
|
+
|
79
83
|
When /^I set env variable "(\w+)" to "([^"]*)"$/ do |var, value|
|
80
84
|
ENV[var] = value
|
81
85
|
end
|
data/lib/pws.rb
CHANGED
@@ -20,7 +20,7 @@ class PWS
|
|
20
20
|
# You can pass the master password as third parameter (not recommended)
|
21
21
|
def initialize(options)
|
22
22
|
collect_options(options)
|
23
|
-
@filename = File.expand_path(@options[:filename])
|
23
|
+
@filename = @options[:cwd] ? File.join(FileUtils.pwd, '.pws') : File.expand_path(@options[:filename])
|
24
24
|
@filename << '-' << @options[:namespace] if @options[:namespace]
|
25
25
|
|
26
26
|
read_safe(options[:password])
|
data/lib/pws/format/1.0.rb
CHANGED
data/lib/pws/runner.rb
CHANGED
@@ -17,6 +17,8 @@ module PWS::Runner
|
|
17
17
|
# ignore
|
18
18
|
when /^--(help|version)$/
|
19
19
|
return [$1.to_sym, [], {}]
|
20
|
+
when /^--(cwd)/ # special single options
|
21
|
+
options[$1.to_sym] = true
|
20
22
|
when /^--/
|
21
23
|
# parse option in next iteration
|
22
24
|
when /^-([^-].*)$/
|
@@ -111,6 +113,10 @@ module PWS::Runner
|
|
111
113
|
#{Paint['--filename', :bold]}
|
112
114
|
Path to the password safe to use. Overrides usual path and any namespaces.
|
113
115
|
|
116
|
+
#{Paint['--cwd', :bold]}
|
117
|
+
Use a .pws file in the current directory instead of the one specified in
|
118
|
+
ENV['PWS'] or with --filename.
|
119
|
+
|
114
120
|
#{Paint['--iterations', :bold]}
|
115
121
|
Sets the number of sha iterations used to transform your password into the
|
116
122
|
encryption key (pbkdf2). A higher number takes longer to compute, but makes
|
data/lib/pws/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-06-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: clipboard
|