Commit Graph

107 Commits

Author SHA1 Message Date
Nydragon
25a395f128 feat: make libcrypto and libssl paths overrideable
It is necessary to properly use this plugin on NixOS and also allows
overriding for testing & other purposes.
2024-08-07 06:32:41 +02:00
Florian Bach
d767857f16 Fix standalone scripts 2023-05-14 15:07:43 +02:00
Florian Bach
53c1d76224 Fix books not being added to loan list 2023-05-12 08:22:18 +02:00
Florian Bach
f5e19f4391 Bunch of fixes
Fix #48
Fix SingleInstance in Calibre 4
Make plugin run in Calibre 3.48
2023-05-06 12:24:26 +02:00
Florian Bach
999354dde9 Try to fix parallel fulfillment issues 2023-05-06 11:08:44 +02:00
Florian Bach
ff2d9cf2a7 Add copyright note to all files 2023-02-24 14:11:15 +01:00
Florian Bach
a9519fbd20 Fix loan list for nameless books 2023-02-20 17:14:23 +01:00
Florian Bach
93d732f0d6 Update tests 2023-02-20 17:13:36 +01:00
Florian Bach
c508280319 Try to support PDFs with weird spacing in Encrypt blob
Some PDFs apparently use nonstandard spacing in the /Encrypt
blob which my parser didn't like. Hopefully this fixes it?
Related to #44
2022-12-13 22:16:51 +01:00
Florian Bach
4dfc7af7b8 Add setting to choose between parallel or sequencial fulfillment 2022-10-23 10:19:55 +02:00
Florian Bach
3bd4d28936 Fix GUI extension with non-English Calibre 2022-10-23 10:06:54 +02:00
Florian Bach
f641a1e72d Bunch of cleanup 2022-10-23 10:04:26 +02:00
Florian Bach
b05e631418 Experimental code to hopefully fix #37 2022-10-17 13:53:30 +02:00
Florian Bach
6c6a313849 More helpful error message if the license cert wasn't downloaded 2022-10-17 13:44:31 +02:00
Florian Bach
97a6b51cec Add test case for XML nodes >32k 2022-10-09 17:13:54 +02:00
Florian Bach
7e9153e294 Fix Python2 bugs in GUI code 2022-10-09 10:56:44 +02:00
Florian Bach
81da7bd6f9 Fix all the bugs added with the last commit 2022-10-08 18:33:18 +02:00
Florian Bach
6c94e7237d Fix for loan list issue mentioned in #31 2022-10-08 18:03:45 +02:00
Florian Bach
79be3e3d87 BETA: Migration code from DeACSM to ACSM Input
Do not use this version yet unless you have a backup of your account data
2022-10-08 17:52:47 +02:00
Florian Bach
2bb0d0334f Unstable BETA v0.0.17 2022-09-05 19:08:42 +02:00
Florian Bach
d6b87d7413 Force-exit during plugin migration 2022-09-05 19:01:57 +02:00
Florian Bach
2904e187c4 Add GUI, rename to "ACSM Input" 2022-09-05 18:34:40 +02:00
Florian Bach
9be0d5e55d Ensure loan record is rewritten during re-fulfillment 2022-09-04 12:20:23 +02:00
Florian Bach
c6b9e5c59b Update loanID generation code
Should fix #31. Apparently I implemented the loanID code
wrong, that sometimes caused book returns to fail (or even
worse, return the wrong book) if you had multiple active
loans from the same distributor.
Also adds a test case to catch this bug should it ever
occur again.
2022-09-04 11:13:53 +02:00
Florian Bach
396f0cfad0 Add debugging and readme note for LoanReturn on ACS6 servers 2022-09-03 19:06:46 +02:00
Florian Bach
4448963fff Fix random issue with submodule loading 2022-09-03 19:06:12 +02:00
Florian Bach
e65985be7f Prepare release v0.0.16 2022-07-31 11:06:21 +02:00
Florian Bach
0dcc2a93b6 Fix small bug with eReader authorizations 2022-07-31 10:56:01 +02:00
Florian Bach
55bea99913 Fix eReader auth in Calibre 6 2022-07-31 10:50:50 +02:00
melvyn2
8e53929d94 Fix buffer allocation/zeroing bugs, use clearer variable names 2022-07-31 10:25:07 +02:00
melvyn2
2b989f21e9 Read wide-string username before decoding to ascii string for entropy 2022-07-31 10:25:07 +02:00
melvyn2
2894faac2a Read regkey username before using GetUserName fallback
If the user has changed their username after the authorization key has been created, then GetUserName will return the new username which can't decrypt the key. The username at the time of authorization should be stored at `HKEY_CURRENT_USER\Software\\Adobe\\Adept\\Device`, which we first attempt to read before falling back if it doesn't exist.
2022-07-31 10:25:07 +02:00
melvyn2
0cb13b9d38 Move all win32 logic to wine executable
Actions like reading the registry and serial number were being done in python even though the final decryption was done in wine. This commit moves all windows logic except architecture detection into the exe ran under wine to simplify the architecture.
2022-07-31 10:25:07 +02:00
melvyn2
61a03fe988 Fix Wine extraction script for python 2/3 2022-07-31 10:25:07 +02:00
Florian Bach
53cbe88c8b Update some error messages 2022-07-31 10:20:16 +02:00
Florian Bach
76f67a2048 Temporarily switch to oscrypto fork for OpenSSL 3 support.
The latest version of oscrypto does not yet support
OpenSSL 3, which is used in Ubuntu 22.04, Fedora 36
and a bunch of other newer Linux distributions.

When https://github.com/wbond/oscrypto/pull/61 is
merged and included in a new release, this change
will be reverted.
2022-07-28 18:07:52 +02:00
Florian Bach
03d4d3e099 Fix millisecond part in nonce calculation (fixes #27) 2022-07-11 18:16:36 +02:00
Florian Bach
b5978dc7c4 Fix AV false-positives by packing executables 2022-06-15 19:32:23 +02:00
Florian Bach
d5028c3cc8 Additional pkcs12 test code 2022-05-16 08:32:36 +02:00
Florian Bach
d66913c1ae Hacky fix for OpenSSL 3 2022-05-14 19:26:46 +02:00
Florian Bach
03d8221cdc Fix username code for Windows python 2 2022-05-14 14:59:14 +02:00
Florian Bach
53e106fa73 Display error message if pkcs12 can't be decrypted 2022-05-14 10:26:11 +02:00
Florian Bach
dd104665bb Actually fix loans without deviceID 2022-05-13 18:46:04 +02:00
Florian Bach
2779334e4a Fix misidentification as passHash book 2022-05-13 16:38:23 +02:00
Florian Bach
9346b888d3 Fix loans without deviceID 2022-05-13 16:23:14 +02:00
Florian Bach
137fc82fa8 Use HTTP if no protocol is included in URL (fixes #22) 2022-05-11 06:47:09 +02:00
Florian Bach
b2b88abd06 Cleanup 2022-05-11 06:46:35 +02:00
Florian Bach
fa6ad1da5d Make fulfill.py accept file names 2022-04-28 16:50:55 +02:00
Florian Bach
222dc1fe35 Fix error when fulfillment server hostname doesn't resolve 2022-04-28 16:32:43 +02:00
Florian Bach
5fe4dbb75a More Python2 fixes 2022-04-28 16:31:14 +02:00