Maarten Billemont
6832c05138
Fix AES padding not removed if % AES_BLOCKSIZE.
...
Don't memcpy beyond src buffer size in strcpy implementation.
Technically safe since the buffer overrun was replaced by NUL, but act
can trigger memory safety features.
2020-01-23 16:37:08 -05:00
Maarten Billemont
f999e75ebe
Hide app secrets such as API keys in code.
...
Move secret keys out of the repository and hide them in the binary.
C-string -> String decoding for unsigned strings and buffers to
facilitate conversion of various C API strings into Swift.
Some cleanup in base64 coding utility.
A utility for converting hex strings into byte buffers.
Improved checks during AES routine and fix PKCS padding bug if
plain text fits block size.
2020-01-23 16:36:51 -05:00
Maarten Billemont
8886c6a6ef
Bring timetocrack <x> in line with spec.
2020-01-23 16:33:57 -05:00
Maarten Billemont
51afed2fe0
More advanced mpw-internal logging mechanism.
...
Logging now happens at the mpw-core level, by default using sinks that
can be registered.
For iOS we forward log messages to os_log for unified logging. We also
keep a record of log messages for future retrieval in a log view.
This obsoletes and removes Pearl's logger entirely.
2020-01-23 16:32:53 -05:00
Maarten Billemont
44a2a67417
Ensure inf+ log messages are free of private information.
2020-01-23 16:25:56 -05:00
Maarten Billemont
37532f0ce5
Fix unmarshalling with no sites.
2020-01-23 16:25:41 -05:00
Maarten Billemont
194c626aed
Sync internals for marshalling with documentation.
2020-01-23 16:25:33 -05:00
Maarten Billemont
344cce084f
Don't keep deleted sites & questions.
...
+ ability to filter / delete data children.
2020-01-23 16:25:27 -05:00
Maarten Billemont
023749049a
Clean up now that implementation is Native only.
2020-01-23 16:25:19 -05:00
Maarten Billemont
aec5e371b8
Prefix versions with V to fix a Swift enum naming import issue.
2020-01-23 16:25:07 -05:00
Maarten Billemont
2af71fbc34
Refactor for safety.
2020-01-23 16:24:31 -05:00
Maarten Billemont
44fa32697a
Huge refactor to do marshalling completely through mpw data object now.
2020-01-23 16:24:08 -05:00
Maarten Billemont
0fcdb2a5e6
Algorithm version C files need to be separately compiled now.
2020-01-23 16:23:48 -05:00
Maarten Billemont
7fd0172815
Refactor in preparation of reading ext data prior to auth.
2020-01-23 16:23:35 -05:00
Maarten Billemont
a2b1f22b53
More standard way to separate algorithm versions.
2020-01-23 16:23:15 -05:00
Maarten Billemont
ff9a5eaf04
pre-compiled libraries.
2020-01-23 16:17:16 -05:00
Maarten Billemont
256a0d2cb5
Don't need .cc symlinks anymore.
2020-01-23 16:17:10 -05:00
Maarten Billemont
a9ae10d08b
Can't reuse original env.
2020-01-23 16:17:04 -05:00
Maarten Billemont
fabb9a032d
Refactor gradle core build configuration.
2020-01-23 16:16:59 -05:00
Maarten Billemont
47ecf30b2d
Move cross-compilation Dockerfile.
2020-01-23 16:16:49 -05:00
Maarten Billemont
bb5d693452
message / format success check was short-cut.
2020-01-23 16:16:44 -05:00
Maarten Billemont
6e7dc74bb3
Enable access to json-c for marshalling.
2020-01-23 16:16:38 -05:00
Maarten Billemont
068fdbbf32
Don't declare new symbols for each file that includes mpw-util.h
2020-01-23 16:16:27 -05:00
Maarten Billemont
08a06639d0
Cross compile build fixes.
2020-01-23 16:16:12 -05:00
Maarten Billemont
64536f95c0
Linux cross compiling, linking & x86_64 arch standardization.
2020-01-23 16:14:33 -05:00
Maarten Billemont
a132e03b88
Fix vsnprintf args reuse, size & break before va_end.
2020-01-23 16:14:27 -05:00
Maarten Billemont
2bbd2549a1
Temporary hack because gradle's cpp-library plugin can't find C source files yet.
2020-01-23 16:14:19 -05:00
Maarten Billemont
87913326a5
Linux build fixes.
2020-01-23 16:14:12 -05:00
Maarten Billemont
bf5e30c2c7
JNI reference memory management.
2020-01-23 16:14:05 -05:00
Maarten Billemont
1c6a5256c1
Log native mpw into Java.
2020-01-23 16:13:58 -05:00
Maarten Billemont
fd1014926c
Warning fixes and spotbug configuration tweaks.
2020-01-23 16:11:12 -05:00
Maarten Billemont
36692ac10d
Consistent SpotBugs configuration & warning fixes.
2020-01-23 16:11:01 -05:00
Maarten Billemont
d0dc393d70
Gradle update.
2020-01-23 16:10:05 -05:00
Maarten Billemont
d0cf57105a
Use the included words dictionary.
2020-01-23 16:07:52 -05:00
Maarten Billemont
55e30cb454
Build fixes.
2020-01-23 16:07:30 -05:00
Maarten Billemont
64577d5e0f
API update.
2020-01-23 16:06:47 -05:00
Maarten Billemont
57f77e4f8e
Fix leak of encryption buffer.
2020-01-23 16:06:41 -05:00
Maarten Billemont
360c0ade66
Improved maintenance of marshal file & abort on ftl.
2020-01-23 16:06:36 -05:00
Maarten Billemont
bf572a5e62
Missing accessory, fixes for data object lookup.
2020-01-23 16:06:26 -05:00
Maarten Billemont
4c6d7ac36c
Marshal data API & fixes.
2020-01-23 16:06:17 -05:00
Maarten Billemont
ddb786c332
Persist unknown JSON properties, expose to API, safety improvements.
2020-01-23 16:06:07 -05:00
Maarten Billemont
fc1e86f0ca
File holds data.
2020-01-23 16:06:02 -05:00
Maarten Billemont
9833f02339
Full file marshalling and prepare to make entire document available.
2020-01-23 16:05:55 -05:00
Maarten Billemont
2fdd9d2ca1
Allow marshalling without masterKey and record keyID in user.
2020-01-23 16:05:12 -05:00
Maarten Billemont
1b90b3deea
Allow unauthenticated marshal reading to reset master key.
2020-01-23 16:04:53 -05:00
Maarten Billemont
a19df80a03
Enable annotation of library imports.
2020-01-23 16:03:40 -05:00
Maarten Billemont
0bbc6de2ab
NULL if marshal content can't be understood.
2020-01-23 16:03:02 -05:00
Maarten Billemont
2af541a4d7
API documentation clarification.
2020-01-23 16:00:35 -05:00
Maarten Billemont
6d36f17e57
Change marshal API to return output directly.
...
Avoids an ambiguity between return type and out value (eg. true but
NULL), and improves Swift API access.
2020-01-23 15:59:21 -05:00
Maarten Billemont
f0acd1fed1
Use a rolling buffer of 10 for mpw_str too.
...
This way we can pass mpw_str results into mpw_strs, as we do with the
identicon marshalling.
2020-01-23 15:58:59 -05:00