Commit Graph

269 Commits

Author SHA1 Message Date
Filippo Valsorda
7354aa0d08 internal/bech32: remove data length limit
Fixes #453
v1.1.0
2022-12-23 12:28:06 +01:00
Filippo Valsorda
bf8d2a3911 age: move testkit to CCTV 2022-10-28 20:11:09 +02:00
Helio Machado
5d5c9c48d8 .github/workflows: parallelize build process (#456) 2022-10-10 07:41:06 -04:00
Helio Machado
e05ce267a6 .github/workflows: use gh to upload release artifacts (#455)
* .github/workflows: use gh to upload release artifacts

https://cli.github.com/manual/gh_release_upload

* .github/workflows: remove unnecessary braces

When you use expressions in an if conditional, you may omit the expression syntax ${{ }} because GitHub automatically evaluates the if conditional as an expression.

https://docs.github.com/en/actions/learn-github-actions/expressions
2022-10-09 22:38:36 -04:00
GitHub Actions
000e931101 doc: regenerate groff and html man pages 2022-09-28 09:47:53 +00:00
a1346054
ebf48f1bbc doc: trim trailing whitespace 2022-09-28 05:46:34 -04:00
a1346054
3f2209cab9 doc: fix typos 2022-09-28 05:46:34 -04:00
Filippo Valsorda
bbac0a501c README: add a couple links to the heading 2022-09-26 08:16:06 -04:00
Mehrnoosh Beniss
02a01c6a6f README: switch order of installation and usage (#448) 2022-09-26 08:10:01 -04:00
Filippo Valsorda
8328d19d3e .github/workflows: update Go and FreeBSD in test 2022-09-13 13:18:49 +02:00
Simone Ragusa
1f84a45175 .github/workflows: change Go LICENSE URL from golang.org to go.dev (#449)
Co-authored-by: Filippo Valsorda <github@bip.filippo.io>
2022-09-11 15:54:32 -04:00
Filippo Valsorda
084c974f53 all: use better implementation of testscript timeouts 2022-07-28 14:21:43 +02:00
Filippo Valsorda
36ae5671cf cmd/age: buffer armored ciphertext before prompting
A partial solution, still missing bracketed paste support.

Updates #364
2022-07-12 22:30:19 +02:00
Filippo Valsorda
8a02f4801f cmd/age: improve terminal-related testscripts 2022-07-12 22:26:51 +02:00
Filippo Valsorda
e41463e117 cmd/age: fix autogenerated password log line
The newline was dropped in 0ab5c73.
2022-07-12 22:26:51 +02:00
Filippo Valsorda
f66877cfa5 README: update installation instructions to provide v1.0.0+
Updates #371
2022-07-07 12:11:02 -04:00
Filippo Valsorda
891be91d42 armor: add FuzzMalleability test 2022-07-03 12:48:48 +02:00
Filippo Valsorda
a5d38ae6ce armor: correct whitespace and trailing garbage handling
Ignore whitespace before and after file, reject trailing garbage and
whitespace within the file.
2022-07-03 12:48:48 +02:00
Filippo Valsorda
799c2bf8e8 tests: add armor tests 2022-07-03 12:48:48 +02:00
Filippo Valsorda
e84d74239e age: wrap decryption errors through and add armor.Error 2022-07-03 12:48:48 +02:00
Filippo Valsorda
95ba0188d1 age: keep age lowercase in all docs 2022-07-03 12:48:48 +02:00
Filippo Valsorda
0ab5c738fb cmd/age: ensure TUI output goes all to the terminal 2022-07-03 12:48:48 +02:00
Filippo Valsorda
de7c1fb565 agessh: support PKCS#8-encoded Ed25519 private keys
OpenSSH never generated them (unencrypted, and golang.org/x/crypto/ssh
doesn't support encrypted PKCS#8 for now, so the encrypted_keys.go
change is technically superfluous) but there are other systems that
produce them (for example, 1Password). Unfortunately, ParseRawPrivateKey
returns a value type for PKCS#8 and a pointer type for the OpenSSH
format (golang/go#51974), so we need to handle both.

Fixes #429
2022-07-03 12:48:48 +02:00
Filippo Valsorda
92fb4d508c agessh: properly detect public key mismatch for encrypted keys 2022-07-03 12:48:48 +02:00
Filippo Valsorda
331b242a9c cmd/age: add scrypt testscript 2022-07-03 12:48:48 +02:00
Filippo Valsorda
c50f1ae2e1 cmd/age: replace tests with testscript 2022-06-21 12:41:38 +01:00
Filippo Valsorda
8023f06ce2 all: build tag tests that require Go 1.18 2022-06-20 22:33:31 +01:00
Filippo Valsorda
4f7bb44386 internal/format: add malleability fuzz test 2022-06-20 01:18:48 +01:00
Filippo Valsorda
3f56ac13fb internal/stream: reject trailing data (no EOF) after end of stream 2022-06-19 23:11:14 +02:00
Filippo Valsorda
2e090545df age: reject leading zeroes and sign in scrypt work factor 2022-06-19 17:52:30 +02:00
Filippo Valsorda
2088adf268 tests: add expected no match and minor additions 2022-06-19 00:11:23 +02:00
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