2
0
Commit Graph

265 Commits

Author SHA1 Message Date
Maarten Billemont
7085eaf726 Hang detector is an iOS-only thing. 2020-04-04 18:09:33 -04:00
Maarten Billemont
878970ff22 JSON support for Mac app. 2020-04-04 17:34:07 -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
887d07f004 macOS update. 2020-03-25 13:12:06 -04:00
Maarten Billemont
a640b798b5 Resolve main thread access issues. 2020-03-25 12:16:19 -04:00
Maarten Billemont
07250d50fd Push notifications support & remove Test configuration. 2020-03-13 12:15:24 -04:00
Maarten Billemont
56f5870bbb Make white text white, not system, since background is always dark. 2020-03-13 11:55:13 -04:00
Maarten Billemont
ee16c4a66d Ensure alerts are triggered on main thread. 2020-03-05 11:29:10 -05: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
131720eb8d Fix login/result state import/export, keyID; Volto export; Pearl log sink. 2020-02-28 17:33:38 -05:00
Maarten Billemont
f659c0936e Volto migration alerts. 2020-02-26 23:01:44 -05:00
Maarten Billemont
35e64ea9cf Swizzle fixes, type build fixes, disable hang timer for debug builds. 2020-02-16 18:49:06 -06:00
Maarten Billemont
d509c01572 Countly view tracking & Pearl API for C string length. 2020-02-13 13:02:19 -05:00
Maarten Billemont
6eaa491d67 Replace Crashlytics/Fabric with Countly & Sentry. 2020-01-27 13:27:10 -05:00
Maarten Billemont
b460e27696 Store preferences in user file using mpw data API. 2020-01-23 16:49:47 -05:00
Maarten Billemont
eb1e23311e API update, user export. 2020-01-23 16:47:10 -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
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
aec5e371b8 Prefix versions with V to fix a Swift enum naming import issue. 2020-01-23 16:25:07 -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
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
d0dc393d70 Gradle update. 2020-01-23 16:10:05 -05:00
Maarten Billemont
a37b095a66 site.name -> siteName, add identicon marshalling to iOS, missing resultState 2020-01-23 15:58:32 -05:00
Maarten Billemont
14387a2310 Ensure updates happen on main thread. 2020-01-16 16:20:16 -05:00
Maarten Billemont
dacdf25fe8 More swizzling fixes. 2020-01-14 18:15:04 -05:00
Maarten Billemont
ec6625b800 Fix internal bugs.
Pass masterKey data safely by ensuring the NSData holder is owned.

nameOfType: threw an unrecougnized-type error always, including for
recougnized types.

Swizzling broke when triggered on multiple levels of the hierarchy.
2020-01-14 15:27:57 -05:00
Maarten Billemont
91b89aaf39 Pearl & API update. 2020-01-14 13:59:32 -05:00
Maarten Billemont
dbda330543 Portability fixes for Blowfish's code. 2019-01-05 13:48:29 -05:00
Maarten Billemont
554c0129a2 Pearl API update. 2018-10-15 18:09:46 -04:00
Maarten Billemont
ff17a1d637 Fix file import & sane format migration. 2018-10-13 16:58:04 -04:00
Maarten Billemont
1bf6109038 Hide passwords option & fix settings for new sites. 2018-09-26 00:00:05 -04:00
Maarten Billemont
476a4046e7 Use standard control highlight color for password. 2018-07-18 17:02:51 -04:00
Maarten Billemont
5cdff6f155 Some fixes to search paths. 2018-07-08 20:50:32 -04:00
Maarten Billemont
698566a914 Update stale GitHub references with new GitLab home. 2018-07-05 17:14:50 -04:00
Maarten Billemont
64a69856ac Fix libsodium include paths. 2018-07-04 14:14:49 -04:00
Maarten Billemont
c7425be681 Misc Xcode files. 2018-06-05 20:26:44 -04:00
Maarten Billemont
aef8422102 Update dependent paths to new core source location. 2018-06-05 20:09:13 -04:00
Maarten Billemont
55bd9382bc Fix a syntax error in genassets. 2018-06-05 15:36:27 -04:00
Maarten Billemont
687923da32 Don't fail stopProgress if there is no active logSpinner. 2018-06-05 15:24:45 -04:00
Maarten Billemont
66e893fd83 Drill down on what genassets command is failing. 2018-06-05 15:09:11 -04:00
Maarten Billemont
cc5c45e3aa Trace subshell errors. 2018-06-05 14:44:54 -04:00
Maarten Billemont
d472d975ce Small bashlib tweaks. 2018-06-05 14:19:12 -04:00
Maarten Billemont
7a97a0b0c8 Better exit status preservation on error. 2018-06-05 14:12:10 -04:00
Maarten Billemont
02aed778bc Output errors on stderr. 2018-06-05 14:06:55 -04:00
Maarten Billemont
c801ff546a Initialize TERM if not set. 2018-06-05 13:18:54 -04:00
Maarten Billemont
17185391ce Debug genassets failure. 2018-06-05 13:05:07 -04:00
Maarten Billemont
788d85178d Scripts update to visualize errors better. 2018-06-05 12:49:03 -04:00
Maarten Billemont
0900aff93a Fix disappeared link library. 2018-06-03 20:43:12 -04:00
Maarten Billemont
3974b70a83 Fix include paths. 2018-06-03 20:42:09 -04:00
Maarten Billemont
498b7caecb C core code moved into src/ 2018-06-03 19:46:35 -04:00
Maarten Billemont
073ef4f439 Update to masterpassword.app domain. 2018-06-03 16:26:08 -04:00
Maarten Billemont
728a4486d3 Initial integration of JNI with C implementation. 2018-05-28 23:00:05 -04:00
Maarten Billemont
cc82e52c33 Initial native interface for scrypt. 2018-05-22 01:00:14 -04:00
Maarten Billemont
e12e14ef03 Move library builds into /lib so they can be shared.
Also made the library build script more generic.
2018-05-20 15:04:32 -04:00
Maarten Billemont
1cb720da32 Remove ssl prefix from masterpasswordapp.com URL. 2018-05-03 13:51:00 +02:00
Maarten Billemont
bfae4da56c Update to latest Xcode warnings. 2018-04-03 09:53:40 -04:00
Maarten Billemont
8a4af69008 Fix mpw_log override for iOS/macOS. 2018-03-24 16:49:55 -04:00
Maarten Billemont
b95424ddf3 Update macOS project configuration. 2018-02-10 23:43:42 -05:00
Maarten Billemont
e40a442a30 Build fixes, improvements and project cleanup. 2018-02-10 23:29:55 -05:00
Maarten Billemont
b5134a9faf Updates to project configuration. 2018-02-10 21:07:00 -05:00
Maarten Billemont
a791d449ce Updated info.plist syntax. 2018-02-10 20:52:30 -05:00
Maarten Billemont
43e1a9d539 Improved checks for external build scripts. 2018-02-10 20:51:50 -05:00
Maarten Billemont
9db855c7fb Add documentation PDFs. 2018-01-06 15:44:20 -05:00
Maarten Billemont
d6a88583f5 AES needs to be CBC, not CTR. 2017-09-23 20:14:53 -04:00
Maarten Billemont
32055abf29 ciphers.plist is no longer needed. 2017-09-22 20:08:46 -04:00
Maarten Billemont
34540f0844 Finish rename Marshall -> Marshal. 2017-09-22 15:20:14 -04:00
Maarten Billemont
444d7e9b35 Source fix-ups: single l marshal, copyright, .travis. 2017-09-20 12:43:03 -04:00
Maarten Billemont
47164c7a92 Marshal has only one l. 2017-09-20 10:48:04 -04:00
Maarten Billemont
35c0431cec Update Java to match C's internal changes. 2017-09-19 13:45:51 -04:00
Maarten Billemont
ced7aef5d7 Fix target assignment of mpw-cli-util.c 2017-09-03 16:53:14 -04:00
Maarten Billemont
63100913c5 libjson-c's upstream still has build issues, switch back to our fork. 2017-09-03 15:48:43 -04:00
Maarten Billemont
060ce61030 Fix ./build's targets interpretation & other improvements. 2017-09-01 11:16:09 -04:00
Maarten Billemont
568401a612 Extract cli utilities into mpw-cli-util to keep things cleaner. 2017-08-31 15:30:42 -04:00
Maarten Billemont
92a3a0ccbd Switch libjson-c back to upstream and fix some build issues with it. 2017-08-31 15:14:08 -04:00
Maarten Billemont
fad0f5e5dd Add PearlCryptUtils back since PearlKeyChain uses it. 2017-08-30 19:05:42 -04:00
Maarten Billemont
f5c7bee58f Remove unused Pearl-Crypto. 2017-08-29 01:01:38 -04:00
Maarten Billemont
e364f5159b Fix build warnings. 2017-08-28 23:48:24 -04:00
Maarten Billemont
74f9f1ca00 Fix up objc code to match new C API. 2017-08-28 19:37:51 -04:00
Maarten Billemont
328d38ac19 Remove PearlLayout. 2017-08-28 19:34:22 -04:00
Maarten Billemont
a85efc5736 Remove all build-time external dependency fetching/building logic. 2017-08-27 11:17:45 -04:00
Maarten Billemont
9eb58119ea Remove dependency on external bcrypt. 2017-08-27 10:47:39 -04:00
Maarten Billemont
53eb5c8a73 Refactoring and fix up mpw_color. 2017-08-27 08:53:58 -04:00
Maarten Billemont
a8949ca07e NULL out free'ed references. 2017-08-23 00:01:23 -04:00
Maarten Billemont
f2f8747126 Support for persisting login/question type & stateful types, null checking, cleanup and rewrite of CLI state. 2017-08-22 18:18:24 -04:00
Maarten Billemont
f83cdacab8 Document -M, -P, allow saving login name. 2017-08-22 11:38:04 -04:00
Maarten Billemont
98aeb02d32 Forgot to merge in i386 2017-08-13 19:06:06 -04:00
Maarten Billemont
2bbaeccd05 Forgot to merge in i386 2017-08-13 18:32:03 -04:00
Maarten Billemont
91e0a04e66 Add support for i386 in libjson-c and libsodium builds. 2017-08-13 16:53:18 -04:00
Maarten Billemont
661fc523ad Don't pass nil error to crashlytics. 2017-08-13 16:49:56 -04:00
Maarten Billemont
b9cbaf7343 Cross-compile fixes for iOS. 2017-08-13 15:52:08 -04:00
Maarten Billemont
a8776eec58 Fix C cli API. 2017-08-13 08:50:16 -04:00
Maarten Billemont
d9cdb7ef83 Fix error name collision. 2017-08-13 01:00:03 -04:00
Maarten Billemont
28c7a64bd2 Fork json-c temporarily to fix some code issues. 2017-08-13 00:30:25 -04:00
Maarten Billemont
d7193f7753 Adapt macOS for new APIs. 2017-08-12 22:26:48 -04:00
Maarten Billemont
f5c7d11f0e Add marshalling metadata lookup & adapt iOS for new APIs. 2017-08-12 21:57:47 -04:00
Maarten Billemont
c0ba96daa2 Update Darwin platform project with solid support for linking libsodium & libjson-c 2017-08-11 01:42:03 -04:00
Maarten Billemont
c044ae79cd Support updating the mpw, showing loginName, adding new sites & questions, fix password memory leak. 2017-08-07 17:42:38 -04:00
Maarten Billemont
322e056661 Implement algorithm support for hybrid personal passwords. 2017-08-05 17:33:45 -04:00
Maarten Billemont
9d5105a9e5 Rename identifiers to align better with their meaning (siteVariant -> keyPurpose, siteContext -> keyContext, siteType -> passwordType). 2017-08-01 13:45:54 -04:00
Maarten Billemont
3c5cb1673a Split the API into the three distinct phases of the mpw algorithm. 2017-08-01 08:31:39 -04:00
Maarten Billemont
13107063df Refactor marshall utilities out, some clean-up, and prepare iOS/macOS project for libjson-c 2017-07-28 09:50:26 -04:00
Maarten Billemont
560cb1a266 WIP performing marshalling of sites in C. 2017-07-15 21:13:49 -04:00
Maarten Billemont
738ad197b2 Fix the main thread lock-up detector across background events. 2017-06-06 22:10:02 -04:00
Maarten Billemont
cfcc5287db Fix bad assumption that there is always a zero'th group. 2017-06-04 09:46:41 -04:00
Maarten Billemont
d3e3c9d720 Fixes #174 - Login name copy button was made inoperative when hint was hidden. 2017-06-03 11:57:41 -04:00
Maarten Billemont
2e2c654ec9 Fix for fetchedResultsController getter, haslib() and ability to turn off libsodium. 2017-05-28 15:32:50 -04:00
Maarten Billemont
d361ae2381 Assist the user with store setup and allow continuing anyway. 2017-05-08 14:58:46 -04:00
Maarten Billemont
fcbb93762a Cleanup, renaming restructuring, etc. 2017-05-07 18:44:09 -04:00
Maarten Billemont
f86210f5da Ability to handle versions without suffix after platform. 2017-05-04 14:30:50 -04:00
Maarten Billemont
e96f678236 Introduce a main thread lockup test feature. 2017-05-04 13:57:12 -04:00
Maarten Billemont
25b13dfb22 Rollback temporary storyboard hack. 2017-05-01 18:41:55 -04:00
Maarten Billemont
635692ef09 Fix issue causing site list to appear empty on login. 2017-05-01 18:40:51 -04:00
Maarten Billemont
e6bab4e504 Support for associating a URL to sites. 2017-05-01 18:32:52 -04:00
Maarten Billemont
cd6b7e6051 Settle on a method of making the password cells visible in storyboard. 2017-04-30 19:08:34 -04:00
Maarten Billemont
b180202e07 Dismiss keyboard when dropping down preferences or app deactivates. 2017-04-30 18:54:07 -04:00
Maarten Billemont
f83f2af529 Fix store product images and http URL links. 2017-04-30 18:45:08 -04:00
Maarten Billemont
cf2c30cfe6 Convert store into template cells for products. 2017-04-30 17:48:03 -04:00
Maarten Billemont
834e94ebd5 Fix usage of dubious objectID in global context. 2017-04-29 23:52:57 -04:00
Maarten Billemont
6d9be3fdfe Add support for Answers and improved Fabric integration. 2017-04-29 23:03:50 -04:00
Maarten Billemont
07e55140ac Bump Pearl. 2017-04-29 18:07:06 -04:00
Maarten Billemont
fbbd08790d Pasteboard improvements, UI fixes and site name from pasteboard URL.
[UPDATED]   Timeout after 3 min for other pasteboard copies too.
[FIXED]     Sometimes cell content loading can fail, schedule a retry.
[UPDATED]   Dismiss keyboard when copying content.
[IMPROVED]  Handling of deactivation and reactivation observation.
[ADDED]     When a URL is in the pasteboard, search for the hostname.
2017-04-29 17:50:48 -04:00
Maarten Billemont
fcaa5d1d8c Some improvement to observing user changes. 2017-04-29 15:01:24 -04:00
Maarten Billemont
ea5be8efcb Rewrite handling of collection view and table view reloading for reliability. 2017-04-27 02:22:01 -04:00
Maarten Billemont
c8b4933c3d Expire the password from the clipboard after 3 minutes on iOS 10+. 2017-04-26 22:01:27 -04:00
Maarten Billemont
15ac7a2dbf Improve font size and font scaling fixes. 2017-04-22 12:00:47 -04:00
Maarten Billemont
bb58ed0169 Update In-App Settings Kit. 2017-04-22 10:03:31 -04:00
Maarten Billemont
4545a5c745 Improve readability of some of the smaller and thinner fonts. 2017-04-22 09:52:28 -04:00
Maarten Billemont
da8c7064fe Support for reduced transparency. 2017-04-20 22:29:10 -04:00
Maarten Billemont
d9bd604436 Improve support for import/export headers on iOS/Mac.
[ADDED]     iOS/macOS support for Full Name, Algorithm and Default Type mpsites headers.
2017-04-19 21:58:10 -04:00
Maarten Billemont
c99252809d Disable ADHOC and tester functionality / bypasses. 2017-04-18 20:31:38 -04:00
Maarten Billemont
d704f451a3 Fixed issue causing emergency generator password button to not respond. 2017-04-17 22:27:36 -04:00
Maarten Billemont
2c9ab5d153 Fixed issue when cancelling touchID login. 2017-04-17 22:13:01 -04:00
Maarten Billemont
d5d33da12f Fixed UI issues with passwords list and drop-down animation + support for phrase and name default types.
[FIXED]     Fixed issues with animating changes in the passwords list during certain & multiple events.
[FIXED]     Slightly broken UI prior to drop-down animation & improved animation a bit.
[ADDED]     Phrase & Name default password types.
2017-04-17 21:57:08 -04:00
Maarten Billemont
0a1f215a1a Style login name, add login generated gear, improve logic for when to show login name. 2017-04-15 10:57:52 -04:00
Maarten Billemont
907d2a8ca6 Fixed key disappearing from NSCache after suspension and not being reloaded from keychain. 2017-04-15 02:28:11 -04:00
Maarten Billemont
89f6e77f67 Hack to ensure Xcode doesn't incorrectly link libsodium.dylib instead of libsodium.a 2017-04-14 17:23:41 -04:00
Maarten Billemont
e3edd42b88 Fixed a bug in PearlMutableStaticTableViewController. 2017-04-14 16:10:11 -04:00
Maarten Billemont
cc5d246d7d Update Storyboard. 2017-04-14 13:20:13 -04:00
Maarten Billemont
ca320de6d9 Fix detection of ios platforms. 2017-04-14 13:08:23 -04:00
Maarten Billemont
23aae490df Update version calculation. 2017-04-14 00:43:34 -04:00
Maarten Billemont
3fcf1131ac Need to -resume the task to start it, fixes issue with importing sites. 2017-04-14 00:24:34 -04:00
Maarten Billemont
d91140439a Properly deactivate when copying password so previous app regains focus and signOut happens properly. 2017-04-13 11:33:03 -04:00
Maarten Billemont
a7912dd1b7 Small format update. 2017-04-13 00:06:46 -04:00
Maarten Billemont
05391d893e Fix slow fuzzy queries. 2017-04-12 23:41:17 -04:00
Maarten Billemont
2047422b08 Generate libsodium's ios/osx libs first run. 2017-04-10 13:29:52 -04:00
Maarten Billemont
e3fffc1923 Migrate from Tarsnap's scrypt to libsodium. 2017-04-10 11:43:55 -04:00
Maarten Billemont
9bf50569cc Fix some remaining references to libscrypt. 2017-04-09 08:32:34 -04:00
Maarten Billemont
4058d33202 Support for dynamically linking libscrypt & libsodium as alternative to statically linking Tarsnap's scrypt. 2017-04-08 14:25:54 -04:00
Maarten Billemont
29ecbaeb19 Move adhoc-signing into CODE_SIGN_IDENTITY. 2017-04-06 09:19:34 -04:00