2
0
Fork 0
Commit Graph

361 Commits

Author SHA1 Message Date
Maarten Billemont 88a4d7ba4d Support for unset login type. 2021-11-01 20:06:37 -04:00
Maarten Billemont eda9749cf2 Time to crack script updates.
[ADDED]     Calculate cost for cracking a password.
[UPDATED]   Hardware cost data based on various GPUs with updated hashcat metrics.
[ADDED]     Ability to calculate the strength of an arbitrary password.
2021-10-31 14:17:21 -04:00
Maarten Billemont 8d33ff8ec5 Fix password field manipulation bugs.
[FIXED]     By stubbing the password field's document, we broke some editing capabilities. Stub the document in a way that respects its length.
2021-03-02 19:31:47 -05:00
Maarten Billemont d59595824b Fix path for C release VERSION and TAG. 2021-02-18 10:15:40 -05:00
Maarten Billemont eda34f6b0b Update binaries for latest core API. 2021-02-11 15:19:51 -05:00
Maarten Billemont 6e1855b00c fixup! Fix ANSI C11 support. 2021-02-11 15:07:59 -05:00
Maarten Billemont 2e9c79f6b3 Fix ANSI C11 support. 2021-02-11 14:11:09 -05:00
Maarten Billemont 83fa6c39bc Site toolbar buttons should toggle on site, not result. 2021-02-08 14:21:52 -05:00
Maarten Billemont 963a1222be Update SpotBugs. 2021-02-08 14:20:29 -05:00
Maarten Billemont b1d8296396 Add nonstandard output type tests for i,r + fix indentation. 2020-08-29 09:48:14 -04:00
Maarten Billemont 8fcac65fd5 Additional documentation for parameter contracts. 2020-07-06 22:27:47 -04:00
Maarten Billemont 9904f4c715 Try to detect if cipherText is plainText.
In some situations, the cipherText that was passed in is actually
plainText.  Old mpsites files used to store the login name as plain text
even though the file was redacted.  Newer versions of the file store the
login name as ciphertext.  There is no clear way to distinguish between
the two cases.
2020-07-06 14:18:47 -04:00
Maarten Billemont 60200f6302 Fix all versions advertising themselves as V0. 2020-05-18 12:14:44 -04:00
Maarten Billemont cc2dca3bd0 Report missing support when trying to parse unknown format. 2020-04-27 16:32:30 -04:00
Maarten Billemont 694b5ea227 Make marshal error messages owned by the file.
Error message lifecycle was limited to the static mpw_str buffer, which
is far too limited and also dangerous.  Own the message by the
MPMarshalFile object, freed in mpw_marshal_file_free.
2020-04-20 17:07:35 -04:00
Maarten Billemont 66dd78797b We use bounds-checked interfaces, so need ext1. 2020-04-20 17:05:37 -04:00
Maarten Billemont 1c3ea3826f Move identicon and toID to mpw native.
Clean out all unused Java MPAlgorithm stuff.

Fix master password entries stuck in memory.
2020-04-15 19:09:02 -04:00
Maarten Billemont b79ed1ca0b Fix JNI native symbol names after refactor. 2020-04-14 20:07:21 -04:00
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