Commit Graph

214 Commits

Author SHA1 Message Date
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
hakerdefo
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 Valsorda
d6c77e0838 README: update badges 2022-05-09 06:03:01 -04:00
Simon Brand
ac31f5c935 cmd/age: fallback to stdin if /dev/tty cannot be opened (#414) 2022-05-04 06:44:48 -04:00
Filippo Valsorda
e8771b6d8a README: specify minimum Alpine repo version 2022-04-28 18:40:52 -04:00
Tionis
d8fa2fb0de README: add Alpine package to installation section (#412) 2022-04-28 18:39:25 -04:00
Filippo Valsorda
3e1aa11e9d .github: add CONTRIBUTING.md 2022-04-27 18:19:34 -04:00
Richard Ulmer
f7fcbef542 internal/stream: remove unused variable from testRoundTrip (#396) 2022-04-27 07:31:48 -04:00
Filippo Valsorda
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 Valsorda
2e20ca5fa7 .github/workflows: fix FreeBSD tests (#410) 2022-04-26 14:29:40 -04:00
Helio Machado
d717942b93 internal/format: improve error message for old header format (#398) 2022-04-26 13:30:35 -04:00
Brendan Fattig
3b4fb67296 README: change Go download link from golang.org to go.dev (#403) 2022-04-08 16:53:12 -04:00
Dimitris Apostolou
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
Arnau Díaz
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 Valsorda
e4ae4cf884 age: fix typo in package docs 2022-01-01 08:02:58 -05:00
Kot
ab3707c085 README: add Scoop package (#378) 2021-12-18 12:25:55 -05:00
Eng Zer Jun
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 Cook
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 Valsorda
3432b88db9 README: recommend "go install" for building from source 2021-11-12 14:38:51 -05:00
Filippo Valsorda
e2fc716c8b .github/workflows: use vmactions/freebsd-vm for FreeBSD (#344)
Replaces CirrusCI dependency.
2021-10-16 14:16:01 -04:00
Filippo Valsorda
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
Ross Light
4e1d7631e5 README: add instructions for Chocolatey install (#338)
Uses the repository at https://github.com/vaporwave9/age-chocolatey
2021-10-03 14:48:54 -04:00
GitHub Actions
1c95ceae09 doc: regenerate groff and html man pages 2021-09-30 13:01:16 +00:00
puenka
be70dba53e doc: fix typo in age(1) (#336) 2021-09-30 08:59:41 -04:00
GitHub Actions
50c2f22ba7 doc: regenerate groff and html man pages 2021-09-25 13:57:46 +00:00
y-yagi
878682b574 doc: fix typo in age(1) (#333) 2021-09-25 09:56:28 -04:00
Filippo Valsorda
3d7a7ff0b8 .github/workflows: add -trimpath to build and refactor a bit 2021-09-10 12:09:00 +02:00
Filippo Valsorda
776e1780a9 .github/workflows: merge test and gotip workflows 2021-09-10 11:38:48 +02:00
Filippo Valsorda
427edf35cc .github/workflows: downscope permissions where possible 2021-09-10 11:38:48 +02:00
GitHub Actions
8d88096476 doc: regenerate groff and html man pages 2021-09-08 10:35:24 +00:00
Filippo Valsorda
5cad72c62e doc: clarify backwards compatibility section 2021-09-08 12:33:45 +02:00
Filippo Valsorda
fd1b393f9c README: fix man page links 2021-09-07 19:24:40 +02:00
Caleb Maclennan
79211ba255 HomebrewFormula: drop formula, now in Homebrew’s repository (#318)
* HomebrewFormula: drop formula, now in Homebrew’s repository
* doc: update brew install, tap not required
2021-09-07 09:22:09 -04:00
Filippo Valsorda
552aa0a07d README: resize and center the logo v1.0.0 2021-09-06 12:45:08 -04:00
Filippo Valsorda
47d8133c52 README: add new logo 🏛
With a background of the color of the default desktop dark theme,
because there is no good way to use a transparent image.

https://github.community/t/support-theme-context-for-images-in-light-vs-dark-mode/147981/69
2021-09-06 12:29:21 -04:00
Filippo Valsorda
36b0a4f611 all: update dependencies and module version
This should bring in a faster golang.org/x/crypto/curve25519.
2021-09-05 01:55:46 +02:00
Filippo Valsorda
fda89073cd README: document new dl.filippo.io links 2021-09-05 01:24:14 +02:00
GitHub Actions
7756fbfe45 doc: regenerate groff and html man pages 2021-09-04 16:08:15 +00:00
Filippo Valsorda
57f6b8acae age,doc: document backwards compatibility policy
Fixes #216
2021-09-04 18:06:38 +02:00
Aaron Bieber
e08055f4e5 all: update x/sys to v0.0.0-20210630005230-0f9fa26af87c (#299)
This allows age to be built on OpenBSD/mips64!
2021-07-14 18:33:55 +02:00
NORlogik
7cb6b84758 README: mention official Void Linux package (#294) 2021-07-09 21:25:18 +02:00
Filippo Valsorda
4ea591b25f HomebrewFormula: update age to v1.0.0-rc.3 2021-06-15 14:27:09 +02:00
Filippo Valsorda
9d4b2ae7ac age: move the scrypt lone recipient check out of Decrypt
The important one is the decryption side one, because when a user types
a password they expect it to both decrypt and authenticate the file.
Moved that one out of Decrypt and into ScryptIdentity, now that
Identities get all the stanzas. special_cases--

This also opens the door to other Identity implementations that do allow
multiple scrypt recipients, if someone really wants that. The CLI will
never allow it, but an explicit choice by an API consumer feels like
something we shouldn't interfere with.

Moreover, this also allows alternative Identity implementations that use
different recipient types to replicate the behavior if they have the
same authentication semantics.

The encryption side one is only a courtesy, to stop API users from
making files that won't decrypt. Unfortunately, that one needs to stay
as a special case in Encrypt, as the Recipient can't see around itself.
However, changed it to a type assertion, so custom recipients can
generate multiple scrypt recipient stanzas, if they really want.
v1.0.0-rc.3
2021-06-15 14:00:10 +02:00
GitHub Actions
1ddf01df2c doc: regenerate groff and html man pages 2021-06-14 13:24:26 +02:00
Filippo Valsorda
f4e28fe809 .github/workflows: fix non-idempotent ronn email mangling 2021-06-14 13:24:26 +02:00