Maarten Billemont
9a362f13a3
Use new mpw log sink logging mechanism for JNI logging.
2020-04-14 19:13:49 -04:00
Maarten Billemont
11d6660e5a
Sinks report success now & fallback sink triggers on failure.
...
We now trigger the fallback sink (currently, mpw_log_sink_file) if no
sinks successfully handled the log message.
2020-04-14 19:12:28 -04:00
Maarten Billemont
62e1563fa6
Ensure b64Cursor chars are unsigned when used as index.
2020-04-14 19:11:08 -04:00
Maarten Billemont
3970cd2eac
Remove unused lvar.
2020-04-08 20:21:42 -04:00
Maarten Billemont
24a6781687
Don't leak internal file on error if mpw_marshal_write file is NULL.
2020-04-04 20:17:14 -04:00
Maarten Billemont
6a635491bd
Fix MPW_COLOR test, if set to 0.
2020-04-04 17:33:32 -04:00
Maarten Billemont
fa0c80d6b3
Log out active user and key when user is changed or deleted or unset.
2020-04-04 16:30:14 -04:00
Maarten Billemont
975743adec
Use the user, not a site algorithm, for generating and testing the keyID.
...
- Order of fall-back formats from most to least preferred.
- The keyID should be based on the user algorithm, not the site algorithm.
- Standardize mpw_format* function names.
2020-04-02 16:15:01 -04:00
Maarten Billemont
39c6d5668a
Improved repeat generation of master password suggestions.
2020-04-02 16:13:12 -04:00
Maarten Billemont
c4abdb6d49
Test result output in export files.
2020-04-02 16:11:30 -04:00
Maarten Billemont
9c3e272849
Case insensitive compare values that don't need to rely on exact case.
2020-03-04 12:50:59 -05:00
Maarten Billemont
b15417aa31
Marshal nulls as empty text & document data structures.
...
Documented the data fields in the marshal structure to avoid value
ambiguity.
NULL values for eg. identicon shouldn't serialize to flat (mpsites) file
as "(null)" but rather as empty "".
Parsing header values from the flat file that are empty yielded NULL
instead of the empty string since mpw_strtok was needlessly aggressive
on that front.
2020-02-28 17:25:20 -05:00
Maarten Billemont
485cf65694
Default to mpw_log_sink_file if no sinks are registered.
2020-02-12 22:32:14 -05:00
Maarten Billemont
f32f2a6726
Update CLI API for key providers.
2020-02-12 22:13:55 -05:00
Maarten Billemont
bd38840ed3
Import for standard time_t.
2020-02-12 22:12:48 -05:00
Maarten Billemont
6eaa491d67
Replace Crashlytics/Fabric with Countly & Sentry.
2020-01-27 13:27:10 -05:00
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