lastpass 1.6.0 → 1.6.1
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
- data/.travis.yml +7 -7
- data/CHANGELOG.md +15 -4
- data/lib/lastpass/fetcher.rb +2 -2
- data/lib/lastpass/version.rb +1 -1
- data/spec/fetcher_spec.rb +3 -2
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 070a842b3f8be56b86ade3b3a800a34a1fe525bd2e3a28a41d0a983f4f06801c
|
|
4
|
+
data.tar.gz: 9a14d8aef5c713ff09959ce6836422a2515c42d943f9056e6309c3ab115f1f39
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a1c65eef2cd5374189b10ad828de49ad2fa23dcc0ba8fa3493e5541e1122259cd0f75bf956bd2a79ee09c030452130ce2e73414190163f1481bdfbc7e17a7568
|
|
7
|
+
data.tar.gz: 7014979dba5c65bd324a8d2352ee46ca89e805766a9a8ad3f9de887039a533a07caff54f744610054fa42ab91c52a353bb60708c4f0e255feed18cb878cb893f
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
Version 1.6.1
|
|
2
|
+
-------------
|
|
3
|
+
|
|
4
|
+
- Obsolete URI.encode is replaced with URI.encode_www_form_component to
|
|
5
|
+
inhibit the warning
|
|
6
|
+
- Travic CI runs on all 2.* latest minor version releases (2.0.0 to 2.7.1)
|
|
7
|
+
|
|
1
8
|
Version 1.6.0
|
|
2
9
|
-------------
|
|
3
10
|
|
|
@@ -8,8 +15,10 @@ Version 1.6.0
|
|
|
8
15
|
Version 1.5.0
|
|
9
16
|
-------------
|
|
10
17
|
|
|
11
|
-
- Fixed failing `get_iteraction_count`. POST parameters are moved from the
|
|
12
|
-
|
|
18
|
+
- Fixed failing `get_iteraction_count`. POST parameters are moved from the
|
|
19
|
+
query (URL) to the body.
|
|
20
|
+
- pbkdf2-ruby gem is no longer used as it was causing problems. Relying on
|
|
21
|
+
built-in `OpenSSL::PKCS5.pbkdf2_hmac`
|
|
13
22
|
- Minimum supported Ruby version is 2.0.0
|
|
14
23
|
- Dependencies updated to their laters versions
|
|
15
24
|
- Travis CI fixed
|
|
@@ -18,8 +27,10 @@ Version 1.4.0
|
|
|
18
27
|
-------------
|
|
19
28
|
|
|
20
29
|
- Added device id (IMEI/UUID) support
|
|
21
|
-
- Log out after fetching the blob to close the newly open session on LP server
|
|
22
|
-
|
|
30
|
+
- Log out after fetching the blob to close the newly open session on LP server
|
|
31
|
+
to prevent triggering anti-hacking logic (hopefully)
|
|
32
|
+
- Verify that the recieved blob is marked with ENDM chunk and hasn't been
|
|
33
|
+
truncated in the process
|
|
23
34
|
|
|
24
35
|
|
|
25
36
|
Version 1.3.0
|
data/lib/lastpass/fetcher.rb
CHANGED
|
@@ -10,7 +10,7 @@ module LastPass
|
|
|
10
10
|
|
|
11
11
|
def self.logout session, web_client = http
|
|
12
12
|
response = web_client.get "https://lastpass.com/logout.php?method=cli&noredirect=1",
|
|
13
|
-
cookies: {"PHPSESSID" => URI.
|
|
13
|
+
cookies: {"PHPSESSID" => URI.encode_www_form_component(session.id)}
|
|
14
14
|
|
|
15
15
|
raise NetworkError unless response.response.is_a? Net::HTTPOK
|
|
16
16
|
end
|
|
@@ -18,7 +18,7 @@ module LastPass
|
|
|
18
18
|
def self.fetch session, web_client = http
|
|
19
19
|
response = web_client.get "https://lastpass.com/getaccts.php?mobile=1&b64=1&hash=0.0&hasplugin=3.0.23&requestsrc=cli",
|
|
20
20
|
format: :plain,
|
|
21
|
-
cookies: {"PHPSESSID" => URI.
|
|
21
|
+
cookies: {"PHPSESSID" => URI.encode_www_form_component(session.id)}
|
|
22
22
|
|
|
23
23
|
raise NetworkError unless response.response.is_a? Net::HTTPOK
|
|
24
24
|
|
data/lib/lastpass/version.rb
CHANGED
data/spec/fetcher_spec.rb
CHANGED
|
@@ -10,6 +10,7 @@ describe LastPass::Fetcher do
|
|
|
10
10
|
|
|
11
11
|
let(:hash) { "7880a04588cfab954aa1a2da98fd9c0d2c6eba4c53e36a94510e6dbf30759256" }
|
|
12
12
|
let(:session_id) { "53ru,Hb713QnEVM5zWZ16jMvxS0" }
|
|
13
|
+
let(:escaped_session_id) { "53ru%2CHb713QnEVM5zWZ16jMvxS0" }
|
|
13
14
|
let(:session) { LastPass::Session.new session_id, key_iteration_count, "DEADBEEF" }
|
|
14
15
|
|
|
15
16
|
let(:blob_response) { "TFBBVgAAAAMxMjJQUkVNAAAACjE0MTQ5" }
|
|
@@ -36,7 +37,7 @@ describe LastPass::Fetcher do
|
|
|
36
37
|
it "makes a GET request" do
|
|
37
38
|
web_client = double "web_client"
|
|
38
39
|
expect(web_client).to receive(:get)
|
|
39
|
-
.with("https://lastpass.com/logout.php?method=cli&noredirect=1", cookies: {"PHPSESSID" =>
|
|
40
|
+
.with("https://lastpass.com/logout.php?method=cli&noredirect=1", cookies: {"PHPSESSID" => escaped_session_id})
|
|
40
41
|
.and_return(http_ok "")
|
|
41
42
|
LastPass::Fetcher.logout session, web_client
|
|
42
43
|
end
|
|
@@ -199,7 +200,7 @@ describe LastPass::Fetcher do
|
|
|
199
200
|
expect(web_client = double("web_client")).to receive(:get)
|
|
200
201
|
.with("https://lastpass.com/getaccts.php?mobile=1&b64=1&hash=0.0&hasplugin=3.0.23&requestsrc=cli",
|
|
201
202
|
format: :plain,
|
|
202
|
-
cookies: {"PHPSESSID" =>
|
|
203
|
+
cookies: {"PHPSESSID" => escaped_session_id})
|
|
203
204
|
.and_return(http_ok(blob_response))
|
|
204
205
|
|
|
205
206
|
LastPass::Fetcher.fetch session, web_client
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lastpass
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.6.
|
|
4
|
+
version: 1.6.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dmitry Yakimenko
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-05-17 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|
|
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '0'
|
|
140
140
|
requirements: []
|
|
141
|
-
rubygems_version: 3.
|
|
141
|
+
rubygems_version: 3.1.2
|
|
142
142
|
signing_key:
|
|
143
143
|
specification_version: 4
|
|
144
144
|
summary: Unofficial LastPass API
|