Commit Graph

171 Commits (master)

Author SHA1 Message Date
degaart 54da5bf53f Added Makefile.cosmopolitan
Closes #30.
2023-02-14 10:55:40 -05:00
degaart 2c8642d26a Add cosmopolitan output files to .gitignore 2023-02-13 05:14:25 +00:00
Christopher Wellons 13aeab9fe8 Fix file name typo in the README
Thanks to an anonymous tip!
2021-06-08 08:35:01 -04:00
Daniel Dumitriu da8de6a647 Remove read constraint for directories on key path
On Unix, do not check whether all directories on the path to storage_dir
are readable; in corporate environments this is often not the case.

Closes #28.
2021-05-31 09:43:52 -04:00
Christopher Wellons b6bbbc56c2 Do not set EXE, accept value from environment
When building this program for Windows, users need only have EXE=.exe in
their environment for the Makefile to behave well.
2021-02-14 12:41:38 -05:00
Christopher Wellons 32d4d99472 Properly terminate pinentry protocol (BYE)
This isn't strictly necessary on unix-like systems since it will exit
when the pipes are closed. Unfortunately Windows isn't so nice and neat
and the program will remain open indefinitely even though its inputs and
outputs have been closed. So ask pinentry to terminate gracefully.
2020-05-18 19:09:22 -04:00
Christopher Wellons 50624f2373 Add pinentry support on Windows 2020-05-18 22:43:35 +00:00
Christopher Wellons a07053778f Add LDFLAGS and LDLIBS to Makefile 2020-05-18 22:37:30 +00:00
Christopher Wellons 6af0168662 Add EXE definition to Makefile
This helps with building for Windows:
make CC=x86_64-w64-mingw32-gcc EXE=.exe
2020-05-18 22:36:15 +00:00
Christopher Wellons 3abfeb2e00 Add -Wno-missing-field-initializers to CFLAGS
This is warning is annoying and is making too much noise.
2020-05-18 22:35:53 +00:00
Christopher Wellons 7cc0e13f0a Allow Unicode passphrases on Windows
This change uses ReadConsoleW() to read passphrase input. It converts
the passphrase from UTF-16 to UTF-8 before further processing. With
this, passphrase input is now consistent between platforms.

Currently Windows provides no options for reading keyboard input as
UTF-8, and it's certainly not supported by any of the various CRT
implementations. This is the only way to do it.
2020-05-03 14:39:07 -04:00
Christopher Wellons f7c4b6ba55 Support binary stdin/stdout on Windows
It's now possible to pipe files over standard input and standard output
in Windows.
2020-05-03 14:32:38 -04:00
Christopher Wellons b25af46615 Add MSVC linker #pragma for advzpi32.lib
This makes compilation using Visual Studio (cl.exe) slightly simpler.
2020-05-03 14:19:30 -04:00
Christopher Wellons 8cd4fde190 Bump to version 3.5 2019-12-01 13:23:16 -05:00
Zoltán Mizsei 3f1910cb0c Build fixes for Haiku 2018-07-15 19:28:06 +02:00
Christopher Wellons f01f732433 Fix number of command_names searched (fixes #18)
The "help" subcommand was removed in 6d1407b, but the number of commands
searched was not updated. With this commit it always checks the right
number of command strings.
2018-06-30 15:42:55 -04:00
Christopher Wellons a38e5e3bb9 Add new keygen option: passphrase --repeats (-r)
This option controls the number of repeated passphrase prompts when
deriving a secret key. It is convenient to set this to zero when relying
primarily on fingerprint verification. Alternatively, additional repeat
prompts may aid in memorization. The default value is 1.
2018-05-25 18:58:03 +00:00
Christopher Wellons b7ff1a4b24 Merge #15, #16, and #17 2018-05-19 11:07:52 -04:00
Ingo Lohmar 5959e29b41 enchive-mode.el: choose major mode without '.enchive' suffix (#13) 2018-05-19 13:54:15 +02:00
Ingo Lohmar 14c8e82fc7 Fix 'make install': correct permissions for executable 2018-05-19 13:51:04 +02:00
Ingo Lohmar 4ea222b07e enchive-mode.el: do not disable handlers completely
As per info docs (elisp#Magic File Names).  This is probably relevant
for the case of nested handlers.
2018-05-19 13:48:48 +02:00
Christopher Wellons ff83f9259e Drop use of custom integer names
Just use the C99 integer names directly and document the ones that are
needed in a comment in config.h in case it's needed when porting.
2018-04-17 22:03:05 -04:00
Christopher Wellons 274b080e12 Fix indentation typo in cleanup_closed()
Not sure how this mistake was made in the first place. Identified by a
dead code warning from Visual Studio 6.0.
2018-04-17 20:49:02 -04:00
Christopher Wellons 3b1127a644 In prompts be explicit about which passphrase it is (#5) 2018-04-06 10:51:07 -04:00
Samrat Man Singh 836b8cd29f Use `enchive-program-name` when encrypting file. 2018-01-28 09:15:47 +05:30
Christopher Wellons 12d9ae9613 Actually use enchive-program-name (#11) 2018-01-27 17:14:20 -05:00
Christopher Wellons 973fd66282 Bump to version 3.4 2018-01-23 14:43:27 -05:00
Kurt Jung 47ce8997e8
Update enchive.1
Correct small typo
2018-01-09 17:40:51 -05:00
Christopher Wellons d09debe64c Add ENCHIVE_FILE_EXTENSION compile-time option (#9) 2018-01-06 14:01:58 -05:00
Christopher Wellons 50cc1748f5 enchive-mode.el: re-enable key agent usage (--agent) 2017-12-24 08:44:14 -05:00
Christopher Wellons 09db2b7f5a enchive-mode.el: keep pinentry stderr noise out of the buffer
As usual with most GUI software, the GUI versions of pinentry are
inconsiderately noisy.
2017-12-24 08:43:52 -05:00
Christopher Wellons ed739bc3dd Don't forget to close the pinentry FILE streams 2017-12-23 22:59:51 -05:00
Christopher Wellons 04820f21e1 Touch up the man page for --pinentry 2017-12-23 22:59:36 -05:00
Christopher Wellons a407afcdaf Add support for pinentry protocol
This feature is now used by Emacs so that Emacs doesn't need to handle
the passphrase itself.
2017-12-23 22:12:46 -05:00
Christopher Wellons e9a50022c0 Remove incorrect path defaults from --help 2017-11-18 19:23:58 -05:00
Christopher Wellons 39bc92455f Completely remove random device options
This option adds needless complexity. Just hardcode /dev/urandom.
2017-10-03 19:30:40 -04:00
Christopher Wellons 79c7bf97f9 Document large file support in the README (fixes #7) 2017-09-27 14:25:40 -04:00
Christopher Wellons 9d87816841 Use strerror() when available for better errors (#7) 2017-09-27 13:23:24 -04:00
Christopher Wellons bd1100ae99 Remove trailing whitespace 2017-09-27 13:20:16 -04:00
Christopher Wellons 9c1fa33356 Print usage newline on stderr, not stdout 2017-09-09 22:10:45 -04:00
Christopher Wellons 96d78c583f Use -f option for both install and uninstall 2017-07-24 12:27:57 -04:00
Christopher Wellons 2790ce019f Print random device instead of /dev/urandom 2017-07-24 12:25:01 -04:00
Christopher Wellons 727e89a81f Undo a comment change back to a basic comment 2017-07-24 12:24:38 -04:00
Christopher Wellons e1e857c935 Fix prototype for agent_read() 2017-07-24 12:23:55 -04:00
Christopher Wellons 9d7e161f05 Touch up function documentation comments. 2017-07-23 21:01:10 -04:00
Christopher Wellons 64471b097b Touch up the --help documentation. 2017-07-23 19:56:21 -04:00
Christopher Wellons 514dc7d4dc Free all path strings before success exit
This fixes all the valgrind complaints and properly frees all allocated
memory so long as the program exits successfully.
2017-07-22 20:01:00 -04:00
Christopher Wellons fa7228133e Use the correct output file in error message. 2017-07-22 17:18:15 -04:00
Christopher Wellons f28b650290 Add some missing backslashes to man page. 2017-07-22 16:43:55 -04:00
Christopher Wellons 32d40ad00b Disable hyphenation for SYNOPSIS. 2017-07-22 16:43:20 -04:00