Commit graph

409 commits

Author SHA1 Message Date
Nick Steel
4f9151c642
Credentials with access token (oauth) (#1309)
* core: Create credentials from access token via OAuth2

* core: Credentials.username is optional: not required for token auth.

* core: store auth data within session. We might need this later if need to re-auth and original creds are no longer valid/available.

* bin: New --token arg for using Spotify access token. Specify 0 to manually enter the auth code (headless).

* bin: Added --enable-oauth / -j option. Using --password / -p option will error and exit.

* core: reconnect session if using token authentication

Token authenticated sessions cannot use keymaster. So reconnect using the reusable credentials we just obtained. Can perhaps remove this
workaround once keymaster is replaced with login5.

* examples: replace password login with token login
2024-09-13 07:35:55 +02:00
Roderick van Domburg
e9234d3d15
Merge pull request #1318 from yubiuser/hyper
Update hyper-rustls to 0.27 and adjust CI workflow
2024-09-05 22:12:21 +02:00
yubiuser
3e85d77bfb
Update hyper-rustls to 0.27.2
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-08-29 15:32:16 +02:00
yubiuser
bec54a64f1
Update quick-xml to 0.36.1
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-08-28 13:42:13 +02:00
yubiuser
dc22910673
Update vergen to version 9 by using the new vergen-gitctl libary
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-08-28 13:13:29 +02:00
yubiuser
dcd592bafb
Update MSRV to 1.74.0 and sysinfo to 0.31.3
Signed-off-by: yubiuser <github@yubiuser.dev>
2024-08-27 23:16:48 +02:00
DaXcess
ba8ec55345
Fix spotify version in client token request 2024-07-01 15:38:50 +02:00
Christian König
b0170d142b
Bump MSRV to 1.73
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-10 18:50:38 +00:00
Christian König
0990143fed
Update quick-xml to 0.32
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-10 18:06:07 +00:00
Christian König
8ec9868ad5
Update priority-queue to 2.0
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-10 17:51:44 +00:00
Christian König
90625a71d0
Update base64 to 0.22
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-06-10 16:31:01 +00:00
Roderick van Domburg
2288759309
Merge pull request #1295 from thedtvn/fix-tokio-tungstenite-with-ver-0.23.0
Update core/src/dealer/mod.rs fix tokio-tungstenite with ver 0.23
2024-06-09 10:07:41 +02:00
The DT
b0d7fa62cf
Update mod.rs fix tokio-tungstenite with ver 0.23 2024-06-09 14:20:37 +07:00
George Hahn
bd5c284790 Fix build error when hyper's server feature isn't enabled
hyper's `server` feature is not always enabled. The `hyper::Error::is_parse_too_large` function isn't included when `server` isn't enabled.

Fortunately, it doesn't matter to us: `Error:is_parse` matches `parse_too_large` errors, so removing this check does not change behavior whatsoever.
2024-06-07 02:08:54 -06:00
George Hahn
e1113dd5e2 cargo fmt 2024-06-06 21:37:26 -06:00
George Hahn
0a7a874ca0 Update core to hyper 1.x 2024-06-06 03:06:44 -06:00
George Hahn
98a97588d3 Enable deprecation warnings and address 2024-06-06 03:06:44 -06:00
Roderick van Domburg
8f9bec21d7
Merge pull request #1284 from yubiuser/fix/clippy
Fix/clippy
2024-05-27 22:33:10 +02:00
Christian König
2a8c4bdc01
Apply reviewer's suggestion
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-05-27 20:11:14 +00:00
Domenico Cerasuolo
ce5e2f2392 Fix SpotifyId base 62 and 16 str decoding
A SpotifyId is expected to be a 128 bits integer and can be parsed from a
base 62 or 16 string. However the parsing functions only checked the validity of
the characters of the string, but not its length. This could result in integer
overflows or the parsing of incorrect strings as Spotify ids.

This commit add some checks to the length of the input string passed to the
parse functions, and also checks for integer overflows in case of base62
encoded strings.
2024-05-23 16:21:51 +02:00
Christian König
27d3c9e92f
Fix clippy::to_string_trait_impl
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-05-11 19:53:55 +00:00
Christian König
99878e0f72
Fix derivable_impls
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-05-11 19:13:08 +00:00
Christian König
ca035c9d17
Set MSRV in Cargo.toml files to 1.71
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-05-11 19:03:06 +00:00
Christian König
0884a0d76a
Fix assigning_clones
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-05-11 18:53:46 +00:00
Christian König
63e2490821
Fix redundant import checking on beta toolchain
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-03-31 17:37:07 +00:00
Christian König
2cd2346edb
Fix map_clone and explicit truncate when file is create
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-03-31 14:32:00 +00:00
Roderick van Domburg
9929635b5b
Merge pull request #1267 from acolombier/fix/update-spotify-version
fix: change spotify version needed in clientoken to use semantic format
2024-03-31 11:40:02 +02:00
Antoine C
d881f46ce7 fix: change spotify version needed in clientoken to use semantic format 2024-03-19 22:05:29 +00:00
Christian König
979d9d0aa0
Update sysinfo to 0.30.5
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-02-23 23:24:18 +01:00
Christian König
6532264b81
Update env_logger to 11.2
Signed-off-by: Christian König <ckoenig@posteo.de>
2024-02-23 23:05:41 +01:00
David Sheets
0fbd19b521 core: make it easier to change declared OS 2023-12-06 20:42:24 +00:00
David Sheets
29f3345030 spclient: improve token request logging 2023-12-06 20:42:24 +00:00
David Sheets
ba314b63e4 Replace the apparently unmaintained hex crate with data-encoding
data-encoding was already a transitive dependency via tungstenite
2023-12-06 20:42:24 +00:00
Domenico Cerasuolo
ef1f35ba9d Fix official uris-ids docs outdated links 2023-12-03 11:56:25 +01:00
Christian König
663fb3b861
Update quick-xml to 0.31
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-11-14 22:51:26 +01:00
Christian König
eae3a56c30
Fix clippy warning, use unwrap_or_default()
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-11-14 22:47:45 +01:00
Christian König
0954de6d9e Update quick-xml
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-08-23 21:54:17 +02:00
Christian König
369c84cddb Update num-derive
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-08-23 21:54:17 +02:00
Christian König
6b0e12fe7b Update governor
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-08-23 21:54:17 +02:00
Wang Guan
ebf600d96e do not overwrite unchanged cached Credentials (#1168) 2023-07-14 00:02:57 +09:00
Nick Steel
c491f90e09
Parse expiry timestamp from spotifycdn.com CDN URLs (Fixes #1182) (#1183)
The CDN URLs list now includes spotifycdn.com which has a different
format. It was being erroneously interpreted using the scdn.co format
and trying to parse non-digit characters as a timestamp.

Also ignore expiry timestamps we can't parse for future new URLs.
2023-07-04 10:37:22 +02:00
Christian König
9c30532fd4
Update quick-xml to 0.29
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-06-25 23:32:09 +02:00
eladyn
4d402e690c
add session timeout handling (#1129) 2023-06-01 21:39:35 +02:00
yubiuser
c964102a34
Update dependencies sysinfo and RSA (#1164) 2023-05-14 21:27:17 +02:00
Roderick van Domburg
e4d4765332
Merge pull request #1156 from yubiuser/update/quick_xml
Update quick-xml
2023-04-14 22:21:22 +02:00
Roderick van Domburg
fea1a819fd
Merge pull request #1155 from yubiuser/update/hyper-rustls
Update hyper-rustls
2023-04-14 21:43:58 +02:00
Christian König
d8547f176c
Update quick-xml
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-04-14 09:41:58 +02:00
Christian König
d83ed814a3
Update hyper-rustls
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-04-13 21:22:40 +02:00
Christian König
ae8387af1d
Update vergen
Signed-off-by: Christian König <ckoenig@posteo.de>
2023-04-13 21:17:47 +02:00
Roderick van Domburg
2718d22c31
Merge pull request #1152 from yubiuser/update/rsa
Update rsa
2023-04-13 20:07:47 +02:00