Commit Graph
238 Commits
Author SHA1 Message Date
Filippo Valsorda eaa4e03cfe tests: finish parsing and X25519 tests, distinguish HMAC errors
If the implementation re-encodes the header before checking the HMAC,
that would mask malleability issues: the HMAC check would fail because
the tests HMAC'd the original header, but an attacker could also produce
the right HMAC. Instead of duplicating every parsing tests (with the
original and re-encoded HMAC), we make the test framework distinguish
HMAC errors, which ensures bad encodings are recognized as such and not
bypassable HMAC errors.
2022-06-18 13:47:00 +02:00
Filippo Valsorda f8a121dd87 tests: add more tests for hmac and X25519 encodings 2022-06-16 15:55:29 +02:00
Filippo Valsorda bb4493a7cd tests: add X25519 low order point tests 2022-06-16 11:47:27 +02:00
Filippo Valsorda 92713afd1e tests: add scrypt tests and move Go files from testdata 2022-06-15 20:38:59 +02:00
Filippo Valsorda 787044bdb6 testdata: convert last chunk tests to testkit 2022-06-15 19:38:18 +02:00
Filippo Valsorda a787511e01 testdata: add a few more testkit vectors 2022-06-15 18:54:09 +02:00
Filippo Valsorda e49b1f9afe internal/testkit: new test framework 2022-06-15 18:53:07 +02:00
GitHub Actions 78bedc2873 doc: regenerate groff and html man pages v1.1.0-rc.1 2022-06-11 15:09:45 +00:00
GitHub Actions f4112110f1 doc: regenerate groff and html man pages 2022-05-24 13:59:08 +00:00
Filippo Valsorda acb1170bbc doc: clarify -e -i docs
Fixes #339
2022-05-24 15:57:42 +02:00
Filippo Valsorda 56f6acca37 cmd/age: reject passphrase-encrypted files if -i is used
Passphrase-encrypted files make age(1) block, which would be unexpected
when decrypting files in a script using -i.
2022-05-24 15:57:42 +02:00
Filippo Valsorda 5824a13b57 cmd/age,internal/plugin: print a message if waiting on a plugin for too long 2022-05-24 15:57:42 +02:00
Filippo Valsorda c0e80ef2c9 cmd/age: improve confirm dialog
Don't require enter after the selection number, print errors as
warnings, and retry if an unexpected selection is made.
2022-05-24 15:56:22 +02:00
Filippo Valsorda eeb9a079da cmd/age: add -j option for data-less plugins
See str4d/rage#237 and str4d/rage#236
2022-05-24 15:56:22 +02:00
Filippo Valsorda fbe51d501c doc: document plugins in age(1) 2022-05-24 15:56:22 +02:00
Filippo Valsorda 87a982b72e internal/plugin: refactor plugin handling code 2022-05-24 15:56:22 +02:00
Filippo Valsorda 5a0da177e9 internal/plugin,cmd/age: implement confirm protocol verb 2022-05-24 15:56:22 +02:00
Filippo Valsorda 349ed5ed3f cmd/age: clean up the terminal UI 2022-05-24 15:56:22 +02:00
Filippo Valsorda 384d0393e0 internal/plugin,cmd/age: add support for encrypting to plugin identities 2022-05-24 15:56:22 +02:00
Filippo Valsorda 7bad9c2ad8 internal/plugin: update to latest plugin spec
The main change is that phase 2 of the wrapping state machine is
interactive to accommodate symmetric plugins.
2022-05-24 15:56:22 +02:00
Filippo Valsorda 01b56b117c internal/plugin: complete experimental plugin support 2022-05-24 15:56:22 +02:00
Filippo Valsorda f6a5b94705 internal/plugin,cmd/age: implement preliminary plugin client support 2022-05-24 15:56:22 +02:00
GitHub Actions cff70cffe2 doc: regenerate groff and html man pages 2022-05-24 13:51:06 +00:00
Filippo Valsorda 73416d1ac5 .github/workflows: fix generation of groff man pages 2022-05-24 15:49:39 +02:00
Filippo Valsorda 30d8e65e03 internal/stream: disallow empty final chunks
A non-empty payload of length a multiple of the chunk size can be
encrypted in two ways: with the last chunk full, or with an extra empty
last chunk. This is mostly an oversight in the original spec.

Both age and rage generate full last chunks, so we should be still in
time to pick one of the two, and avoid the underspecification. It's not
the one I would have picked originally, maybe, because disallowing full
last chunks would have avoided the trial decryption, but oh well.
2022-05-24 15:47:13 +02:00
Filippo Valsorda 765400f0c1 internal/format: factor out a StanzaReader for use in the plugin protocol 2022-05-22 11:54:38 +02:00
hakerdefoandGitHub cb539f931c README: add openSUSE Tumbleweed and sort installation table entries (#421)
Adding the installation instructions for openSUSE Tumbleweed and sorting the table entries in alphabetical order.
2022-05-20 07:14:08 -04:00
Filippo ValsordaandGitHub d6c77e0838 README: update badges 2022-05-09 06:03:01 -04:00
Simon BrandandGitHub ac31f5c935 cmd/age: fallback to stdin if /dev/tty cannot be opened (#414) 2022-05-04 06:44:48 -04:00
Filippo ValsordaandGitHub e8771b6d8a README: specify minimum Alpine repo version 2022-04-28 18:40:52 -04:00
TionisandGitHub d8fa2fb0de README: add Alpine package to installation section (#412) 2022-04-28 18:39:25 -04:00
Filippo ValsordaandGitHub 3e1aa11e9d .github: add CONTRIBUTING.md 2022-04-27 18:19:34 -04:00
Richard UlmerandGitHub f7fcbef542 internal/stream: remove unused variable from testRoundTrip (#396) 2022-04-27 07:31:48 -04:00
Filippo Valsordaandpuenka 299ec50c32 cmd/age: improve error message for out-of-order flags
Fixes #160
Closes #345

Co-authored-by: puenka <puenka@users.noreply.github.com>
2022-04-26 21:15:26 +02:00
Filippo ValsordaandGitHub 2e20ca5fa7 .github/workflows: fix FreeBSD tests (#410) 2022-04-26 14:29:40 -04:00
Helio MachadoandGitHub d717942b93 internal/format: improve error message for old header format (#398) 2022-04-26 13:30:35 -04:00
Brendan FattigandGitHub 3b4fb67296 README: change Go download link from golang.org to go.dev (#403) 2022-04-08 16:53:12 -04:00
Dimitris ApostolouandGitHub f01e37b4d7 doc: fix typo in age(1) (#395) 2022-02-24 04:37:53 -05:00
Filippo Valsorda 3411802309 cmd/age: offer a hint when the file was corrupted by PowerShell
I would still like to find a way to offer a warning while doing the
encryption, rather than at decryption time, but better than nothing.

Updates #290
2022-01-07 12:26:02 +01:00
4169274d04 cmd/age-keygen: actually exit on errorf (#383)
Co-authored-by: Arnau Diaz <arnau.diaz@adevinta.com>
2022-01-04 13:39:38 -05:00
Filippo ValsordaandGitHub e4ae4cf884 age: fix typo in package docs 2022-01-01 08:02:58 -05:00
KotandGitHub ab3707c085 README: add Scoop package (#378) 2021-12-18 12:25:55 -05:00
Eng Zer JunandGitHub 7665b87dc2 all: move from io/ioutil to io and os packages (#353)
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil. This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.

Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-12-18 12:06:22 -05:00
Michael CookandGitHub 08f52cc125 .github/workflows: skip signing if key pass isn't available (#377)
With the exception of GITHUB_TOKEN, secrets are not passed to the
runner when a workflow is triggered from a forked repository.

See https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows#pull-request-events-for-forked-repositories
2021-12-18 10:54:10 -05:00
Filippo Valsorda a21c212358 logo: mention the logo designers 2021-11-24 12:28:59 +01:00
Filippo Valsorda dfa2052cb7 all: move copyright owners to AUTHORS file 2021-11-24 11:29:15 +01:00
Filippo Valsorda 0c41827056 logo: add logo resources 2021-11-24 11:24:39 +01:00
Filippo ValsordaandGitHub 3432b88db9 README: recommend "go install" for building from source 2021-11-12 14:38:51 -05:00
Filippo ValsordaandGitHub e2fc716c8b .github/workflows: use vmactions/freebsd-vm for FreeBSD (#344)
Replaces CirrusCI dependency.
2021-10-16 14:16:01 -04:00
Filippo ValsordaandJoshua Small 3bd9ab8e9b .github/workflows: sign Windows binaries
Fixes #326
Closes #328

Co-authored-by: Joshua Small <technion@lolware.net>
2021-10-04 11:59:48 +02:00