Ryan C. Gordon <icculus@icculus.org> [Thu, 09 Apr 2020 02:15:46 -0400] rev 60
otp: Some base32-decoding fixes to match what Google Authenticator expects.
Ryan C. Gordon <icculus@icculus.org> [Thu, 09 Apr 2020 02:02:11 -0400] rev 59
otp: Fix parsing of Google Authenticator URLs that have multiple arguments.
Ryan C. Gordon <icculus@icculus.org> [Fri, 23 Jun 2017 17:28:03 -0400] rev 58
Command line tool that decrypts an OPVault keychain and dumps it to stdout.
To compile: gcc -o opvault opvault.c cJSON.c -lcrypto
Usage: ./opvault </path/to/mykeychain.opvault> <password>
This is just a proof of concept; I'll be recycling this into proper OPVault
support in 1pass later and deleting this tool.
This uses OpenSSL's libcrypto for the math instead of all the homegrown
crypto this project is otherwise using. I'll probably migrate the rest in
this direction, too, since this wasn't as bad as I expected to use and
gets you all the package-manager mojo of automatic bug fixes and security
patches and shared code, etc.
cJSON parses JSON in C. That is from https://github.com/DaveGamble/cJSON
An example OPVault keychain from AgileBits is available here:
https://cache.agilebits.com/security-kb/
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 19:50:43 -0400] rev 57
Minor type cleanup ("unsigned char" -> "uint8_t").
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 19:40:30 -0400] rev 56
Added One Time Password support.
This is only for time-based OTP for now ("TOPT" algorithm), but that's more
or less what one expects to see in the wild anyhow.
This is sort of a placeholder UI until I replace the entire existing UI with
something better.
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 01:57:23 -0400] rev 55
Added initial code for producing time-based One Time Passwords.
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 01:56:42 -0400] rev 54
Replaced existing HMAC-SHA1 code in pkcs5_pbkdf2.c with my new one.
Didn't realize this was already here, doh! It was a good learning experience
in any case!
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 01:55:49 -0400] rev 53
Implemented SHA1Hmac().
Ryan C. Gordon <icculus@icculus.org> [Sun, 18 Jun 2017 01:55:23 -0400] rev 52
Made the SHA1 code more stdint-friendly.
Ryan C. Gordon <icculus@icculus.org> [Wed, 14 Jun 2017 00:27:40 -0400] rev 51
Merge gtkui branch to default.
Ryan C. Gordon <icculus@icculus.org> [Wed, 14 Jun 2017 00:27:18 -0400] rev 50
Closing gtkui branch.
Ryan C. Gordon <icculus@icculus.org> [Sat, 17 Dec 2016 00:46:44 -0500] rev 49
Added some missing categories (US Social Security Numbers and Router logins).
Ryan C. Gordon <icculus@icculus.org> [Wed, 23 Mar 2016 16:47:24 -0400] rev 48
Added some debug code for keypresses.
Ryan C. Gordon <icculus@icculus.org> [Fri, 01 Jan 2016 12:48:37 -0500] rev 47
Updated copyright.
Ryan C. Gordon <icculus@icculus.org> [Sun, 08 Nov 2015 23:32:34 -0500] rev 46
Added experimental support for using a "trusted device."
This might be a terrible idea, just experimenting here.
Ryan C. Gordon <icculus@icculus.org> [Sat, 17 Oct 2015 20:24:39 -0400] rev 45
Moved to a more robust GTK UI.
This removes the popup windows, in favor of something searchable, etc, but
it's not without its problems, too, so it's sitting in branch until I decide
I really like it or I should replace it with SDL or something. :)
(If someone can figure out how to get the window to steal focus when popped
up, that would fix the most egregious issue, but there are other small
details that need fixing, too.)
Ryan C. Gordon <icculus@icculus.org> [Tue, 31 Mar 2015 20:18:10 -0400] rev 44
Be more robust about i/o failures to the keychain.
(and bail immediately if it's clearly missing.)
Ryan C. Gordon <icculus@icculus.org> [Sat, 28 Mar 2015 22:33:10 -0400] rev 43
Whoops, forgot to remove original code that I was fixing. :)
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Feb 2015 10:44:38 -0500] rev 42
Fixed driver license dates that might be missing (thanks, Patrick!).
Some regions don't have expiring drivers licenses and don't use this field,
or maybe might only use some parts (year, month, day). Made this more robust.
Ryan C. Gordon <icculus@icculus.org> [Thu, 04 Dec 2014 16:01:25 -0500] rev 41
Added SWIFT code and PIN fields to bank account menus.
Ryan C. Gordon <icculus@icculus.org> [Tue, 08 Jul 2014 23:49:15 -0400] rev 40
Don't crash if you get one of these "{}" entries that 1Password makes.
It looks like some version of 1Password has obsolete entries that still have
JSON files listed, but the entirety of the JSON is "{}" ... we now check if we
got an empty table back from the Lua JSON parser and treat it as a dead entry.
Ryan C. Gordon <icculus@icculus.org> [Tue, 08 Jul 2014 23:47:17 -0400] rev 39
chdir() to where the binary is running from before doing anything else.
This is so we can find our script files, etc, regardless of where the
program is run from.
Note that this means your 1Password symlink needs to live where the binary
does, at least until we let you specify one elsewhere.
Ryan C. Gordon <icculus@icculus.org> [Thu, 01 May 2014 01:13:24 -0400] rev 38
Fixed display of credit card expiration date.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Apr 2014 16:29:11 -0400] rev 37
Improved, then commented out, some debug output.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Apr 2014 16:28:54 -0400] rev 36
Fixed whitespace.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Apr 2014 16:28:37 -0400] rev 35
Added favorites submenu.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Apr 2014 16:09:29 -0400] rev 34
Whoops, wrong comparison.
Ryan C. Gordon <icculus@icculus.org> [Sat, 26 Apr 2014 16:09:12 -0400] rev 33
Signal catching to force atexit handling.
Ryan C. Gordon <icculus@icculus.org> [Fri, 18 Apr 2014 22:19:10 -0400] rev 32
Pick out the right password when multiple passwords are included.
This happens when you update a password field in the official 1Password app,
at least on Mac OS X, as I discovered thanks to Heartbleed.
Ryan C. Gordon <icculus@icculus.org> [Wed, 16 Apr 2014 17:11:54 -0400] rev 31
More Powermate stuff: clean up atexit, autodetect devices.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Apr 2014 12:10:23 -0400] rev 30
Comment out some debug output.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Apr 2014 12:10:14 -0400] rev 29
Forcibly lock keychain on timeout instead of checking timeout on next access.
Ryan C. Gordon <icculus@icculus.org> [Tue, 15 Apr 2014 10:06:56 -0400] rev 28
Hooked up support for a Griffin Powermate.
If you have access to one and run the program with --powermate=/dev/whatever,
1pass will accept button presses on the Powermate as if you hit the magic
key combo. Also, it will toggle the light on the device to pulse when the
keychain is unlocked.
Ryan C. Gordon <icculus@icculus.org> [Mon, 10 Feb 2014 20:12:41 -0500] rev 27
Print a message to stdout at startup, for people that think the app froze up.
Ryan C. Gordon <icculus@icculus.org> [Mon, 10 Feb 2014 20:12:19 -0500] rev 26
Try to get the password window to the top of the z-order.
Ryan C. Gordon <icculus@icculus.org> [Mon, 10 Feb 2014 20:11:43 -0500] rev 25
Added Secure Notes items to menu.
Ryan C. Gordon <icculus@icculus.org> [Mon, 10 Feb 2014 19:42:31 -0500] rev 24
Checked for secure.fields in the wrong place.
Ryan C. Gordon <icculus@icculus.org> [Sun, 09 Feb 2014 00:17:38 -0500] rev 23
Make build.sh a bit more robust.
Ryan C. Gordon <icculus@icculus.org> [Sun, 09 Feb 2014 00:17:23 -0500] rev 22
Commented out a debug string.
Robbie Vanbrabant <robbie.vanbrabant@gmail.com> [Sun, 19 Jan 2014 16:51:36 +0000] rev 21
Build on Ubuntu 12.04, fix some crash problems
Ryan C. Gordon <icculus@icculus.org> [Thu, 26 Dec 2013 16:56:53 -0500] rev 20
Explicitly link to libX11.
Ryan C. Gordon <icculus@icculus.org> [Wed, 25 Dec 2013 21:29:43 -0500] rev 19
Added LICENSE.txt
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 23:57:56 -0500] rev 18
Added some keychain lock management.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 23:49:11 -0500] rev 17
Added keyhook code, reworked things to use it.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 23:48:35 -0500] rev 16
Use luaFatal() if luaL_dofile() explodes.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 23:47:51 -0500] rev 15
Fixed crash.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 20:44:04 -0500] rev 14
Hook up GTK+ to the build system.
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 20:41:24 -0500] rev 13
Added dumptable.lua
Ryan C. Gordon <icculus@icculus.org> [Mon, 23 Dec 2013 15:57:24 -0500] rev 12
Whole bunch of GUI work.
Ryan C. Gordon <icculus@icculus.org> [Sun, 22 Dec 2013 03:01:08 -0500] rev 11
Start building in GUI stuff.
Ryan C. Gordon <icculus@icculus.org> [Thu, 19 Dec 2013 23:04:04 -0500] rev 10
Patched to compile on Linux.
Ryan C. Gordon <icculus@icculus.org> [Thu, 19 Dec 2013 09:28:12 -0500] rev 9
Removed dumptable.
Ryan C. Gordon <icculus@icculus.org> [Thu, 19 Dec 2013 09:27:38 -0500] rev 8
Make the app basically useful.
Ryan C. Gordon <icculus@icculus.org> [Thu, 19 Dec 2013 09:27:25 -0500] rev 7
Moved command lines into Lua.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Dec 2013 00:24:01 -0500] rev 6
Dump out all the encrypted data.
Ryan C. Gordon <icculus@icculus.org> [Wed, 18 Dec 2013 00:23:35 -0500] rev 5
Cache loaded encryption keys.
I'm pretty sure that's a commit message that strikes fear in the hearts of
cryptographers everywhere.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Dec 2013 22:59:57 -0500] rev 4
Don't need the printf("uhoh")...there's a better error message elsewhere.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Dec 2013 22:48:10 -0500] rev 3
Corrected comment. It's basically just moving to Lua as the mainline.
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Dec 2013 22:45:42 -0500] rev 2
Just use the built-in luaL_openlibs()
Ryan C. Gordon <icculus@icculus.org> [Tue, 17 Dec 2013 22:36:55 -0500] rev 1
Move the mainline into Lua.