Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: FiloSottile/age
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.0.0
Choose a base ref
...
head repository: FiloSottile/age
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.1.0
Choose a head ref

Commits on Sep 7, 2021

  1. HomebrewFormula: drop formula, now in Homebrew’s repository (#318)

    * HomebrewFormula: drop formula, now in Homebrew’s repository
    * doc: update brew install, tap not required
    alerque authored Sep 7, 2021
    Copy the full SHA
    79211ba View commit details
  2. Copy the full SHA
    fd1b393 View commit details

Commits on Sep 8, 2021

  1. Copy the full SHA
    5cad72c View commit details
  2. doc: regenerate groff and html man pages

    GitHub Actions committed Sep 8, 2021
    Copy the full SHA
    8d88096 View commit details

Commits on Sep 10, 2021

  1. Copy the full SHA
    427edf3 View commit details
  2. Copy the full SHA
    776e178 View commit details
  3. Copy the full SHA
    3d7a7ff View commit details

Commits on Sep 25, 2021

  1. Copy the full SHA
    878682b View commit details
  2. doc: regenerate groff and html man pages

    GitHub Actions committed Sep 25, 2021
    Copy the full SHA
    50c2f22 View commit details

Commits on Sep 30, 2021

  1. Copy the full SHA
    be70dba View commit details
  2. doc: regenerate groff and html man pages

    GitHub Actions committed Sep 30, 2021
    Copy the full SHA
    1c95cea View commit details

Commits on Oct 3, 2021

  1. Copy the full SHA
    4e1d763 View commit details

Commits on Oct 4, 2021

  1. .github/workflows: sign Windows binaries

    Fixes #326
    Closes #328
    
    Co-authored-by: Joshua Small <technion@lolware.net>
    FiloSottile and technion committed Oct 4, 2021
    Copy the full SHA
    3bd9ab8 View commit details

Commits on Oct 16, 2021

  1. .github/workflows: use vmactions/freebsd-vm for FreeBSD (#344)

    Replaces CirrusCI dependency.
    FiloSottile authored Oct 16, 2021
    Copy the full SHA
    e2fc716 View commit details

Commits on Nov 12, 2021

  1. Copy the full SHA
    3432b88 View commit details

Commits on Nov 24, 2021

  1. logo: add logo resources

    FiloSottile committed Nov 24, 2021
    Copy the full SHA
    0c41827 View commit details
  2. Copy the full SHA
    dfa2052 View commit details
  3. Copy the full SHA
    a21c212 View commit details

Commits on Dec 18, 2021

  1. .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
    mikecook authored Dec 18, 2021
    Copy the full SHA
    08f52cc View commit details
  2. 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>
    Juneezee authored Dec 18, 2021
    Copy the full SHA
    7665b87 View commit details
  3. Copy the full SHA
    ab3707c View commit details

Commits on Jan 1, 2022

  1. Copy the full SHA
    e4ae4cf View commit details

Commits on Jan 4, 2022

  1. cmd/age-keygen: actually exit on errorf (#383)

    Co-authored-by: Arnau Diaz <arnau.diaz@adevinta.com>
    vrnvu and Arnau Diaz authored Jan 4, 2022
    Copy the full SHA
    4169274 View commit details

Commits on Jan 7, 2022

  1. 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
    FiloSottile committed Jan 7, 2022
    Copy the full SHA
    3411802 View commit details

Commits on Feb 24, 2022

  1. Copy the full SHA
    f01e37b View commit details

Commits on Apr 8, 2022

  1. Copy the full SHA
    3b4fb67 View commit details

Commits on Apr 26, 2022

  1. Copy the full SHA
    d717942 View commit details
  2. Copy the full SHA
    2e20ca5 View commit details
  3. cmd/age: improve error message for out-of-order flags

    Fixes #160
    Closes #345
    
    Co-authored-by: puenka <puenka@users.noreply.github.com>
    FiloSottile and puenka committed Apr 26, 2022
    Copy the full SHA
    299ec50 View commit details

Commits on Apr 27, 2022

  1. Copy the full SHA
    f7fcbef View commit details
  2. Copy the full SHA
    3e1aa11 View commit details

Commits on Apr 28, 2022

  1. Copy the full SHA
    d8fa2fb View commit details
  2. Copy the full SHA
    e8771b6 View commit details

Commits on May 4, 2022

  1. Copy the full SHA
    ac31f5c View commit details

Commits on May 9, 2022

  1. README: update badges

    FiloSottile authored May 9, 2022
    Copy the full SHA
    d6c77e0 View commit details

Commits on May 20, 2022

  1. 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.
    hakerdefo authored May 20, 2022
    Copy the full SHA
    cb539f9 View commit details

Commits on May 22, 2022

  1. Copy the full SHA
    765400f View commit details

Commits on May 24, 2022

  1. 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.
    FiloSottile committed May 24, 2022
    Copy the full SHA
    30d8e65 View commit details
  2. Copy the full SHA
    73416d1 View commit details
  3. doc: regenerate groff and html man pages

    GitHub Actions committed May 24, 2022
    Copy the full SHA
    cff70cf View commit details
  4. Copy the full SHA
    f6a5b94 View commit details
  5. Copy the full SHA
    01b56b1 View commit details
  6. 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.
    FiloSottile committed May 24, 2022
    Copy the full SHA
    7bad9c2 View commit details
  7. Copy the full SHA
    384d039 View commit details
  8. Copy the full SHA
    349ed5e View commit details
  9. Copy the full SHA
    5a0da17 View commit details
  10. Copy the full SHA
    87a982b View commit details
  11. Copy the full SHA
    fbe51d5 View commit details
  12. Copy the full SHA
    eeb9a07 View commit details
  13. 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.
    FiloSottile committed May 24, 2022
    Copy the full SHA
    c0e80ef View commit details
Showing with 3,619 additions and 742 deletions.
  1. +0 −9 .cirrus.yml
  2. +1 −0 .gitattributes
  3. +32 −0 .github/CONTRIBUTING.md
  4. +62 −50 .github/workflows/build.yml
  5. +14 −0 .github/workflows/certs/README
  6. BIN .github/workflows/certs/uitacllc.crt
  7. +42 −0 .github/workflows/certs/uitacllc.key
  8. +0 −30 .github/workflows/gotip.yml
  9. +2 −0 .github/workflows/interop.yml
  10. +28 −3 .github/workflows/ronn.yml
  11. +48 −2 .github/workflows/test.yml
  12. +6 −0 AUTHORS
  13. +0 −23 HomebrewFormula/age.rb
  14. +2 −2 LICENSE
  15. +122 −94 README.md
  16. +7 −9 age.go
  17. +5 −8 age_test.go
  18. +7 −6 agessh/agessh.go
  19. +2 −4 agessh/agessh_test.go
  20. +16 −12 agessh/encrypted_keys.go
  21. +55 −16 armor/armor.go
  22. +55 −6 armor/armor_test.go
  23. +3 −4 cmd/age-keygen/keygen.go
  24. +181 −74 cmd/age/age.go
  25. +58 −81 cmd/age/age_test.go
  26. +6 −46 cmd/age/encrypted_keys.go
  27. +51 −14 cmd/age/parse.go
  28. +0 −6 cmd/age/testdata/default_key.txt
  29. +0 −1 cmd/age/testdata/default_password.txt
  30. +32 −0 cmd/age/testdata/ed25519.txt
  31. +125 −0 cmd/age/testdata/encrypted_keys.txt
  32. +0 −5 cmd/age/testdata/fail_bad_hmac.age
  33. +0 −7 cmd/age/testdata/fail_large_filekey_scrypt.age
  34. +0 −6 cmd/age/testdata/fail_large_filekey_x25519.age
  35. BIN cmd/age/testdata/fail_scrypt_and_x25519.age
  36. +0 −5 cmd/age/testdata/fail_scrypt_work_factor_23.age
  37. +0 −5 cmd/age/testdata/good_ed25519.age
  38. +0 −7 cmd/age/testdata/good_ed25519_key.txt
  39. +0 −1 cmd/age/testdata/good_ed25519_key.txt.pub
  40. +0 −7 cmd/age/testdata/good_empty_recipient_body.age
  41. +0 −13 cmd/age/testdata/good_rsa.age
  42. +0 −1 cmd/age/testdata/good_rsa_key.txt.pub
  43. +0 −5 cmd/age/testdata/good_scrypt_work_factor_10.age
  44. +0 −6 cmd/age/testdata/good_simple.age
  45. +0 −5 cmd/age/testdata/nomatch_scrypt.age
  46. +0 −5 cmd/age/testdata/nomatch_x25519.age
  47. +13 −0 cmd/age/testdata/pkcs8.txt
  48. +20 −0 cmd/age/testdata/plugin.txt
  49. +24 −0 cmd/age/testdata/{good_rsa_key.txt → rsa.txt}
  50. +59 −0 cmd/age/testdata/scrypt.txt
  51. +56 −0 cmd/age/testdata/terminal.txt
  52. +20 −0 cmd/age/testdata/usage.txt
  53. +23 −0 cmd/age/testdata/x25519.txt
  54. +226 −0 cmd/age/tui.go
  55. +7 −4 cmd/age/wordlist.go
  56. +1 −1 doc/age-keygen.1
  57. +1 −1 doc/age-keygen.1.html
  58. +1 −1 doc/age-keygen.1.ronn
  59. +71 −12 doc/age.1
  60. +72 −19 doc/age.1.html
  61. +78 −20 doc/age.1.ronn
  62. +9 −1 go.mod
  63. +6 −0 go.sum
  64. +1 −7 internal/bech32/bech32.go
  65. +6 −5 internal/bech32/bech32_test.go
  66. +90 −53 internal/format/format.go
  67. +48 −4 internal/format/format_test.go
  68. +433 −0 internal/plugin/client.go
  69. +23 −6 internal/stream/stream.go
  70. +2 −8 internal/stream/stream_test.go
  71. +12 −0 logo/README.md
  72. BIN logo/logo.png
  73. +579 −0 logo/logo.svg
  74. BIN logo/logo_white.png
  75. +581 −0 logo/logo_white.svg
  76. +2 −4 parse.go
  77. +2 −4 primitives.go
  78. +2 −4 recipients_test.go
  79. +10 −6 scrypt.go
  80. 0 testdata/{keys.txt → example_keys.txt}
  81. +177 −0 testkit_test.go
  82. +2 −4 x25519.go
9 changes: 0 additions & 9 deletions .cirrus.yml

This file was deleted.

1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
*.age binary
testdata/testkit/* binary
32 changes: 32 additions & 0 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
## Issues

I want to hear about any issues you encounter while using age.

Particularly appreciated are well researched, complete [issues](https://github.com/FiloSottile/age/issues/new/choose) with lots of context, **focusing on the intended outcome and/or use case**. Issues don't have to be just about bugs: if something was hard to figure out or unexpected, please file a **[UX report](https://github.com/FiloSottile/age/discussions/new?category=UX-reports)**! ✨

Not all issue reports might lead to a change, so please don't be offended if yours doesn't, but they are precious datapoints to understand how age could work better in aggregate.

## Pull requests

age is a little unusual in how it is maintained. I like to keep the code style consistent and complexity to a minimum, and going through many iterations of code review is a significant toil on both contributors and maintainers. age is also small enough that such a time investment is unlikely to pay off over ongoing contributions.

Therefore, **be prepared for your change to get reimplemented rather than merged**, and please don't be offended if that happens. PRs are still appreciated as a way to clarify the intended behavior, but are not at all required: prefer focusing on providing detailed context in an issue report instead.

<!-- ## Feature requests
age is small, simple, and config-free by design. A lot of effort is put into resisting scope creep and enabling use cases by integrating and interoperating well with other projects rather than by adding features.
In particular, I'm unlikely to merge into the main repo anything I don't use myself, as I would not be the best person to maintain it. However, I'm always happy to discuss, learn about, and link to any age-related project! -->

## Other ways to contribute

age itself is not community maintained, but its ecosystem very much is, and that's where a lot of the strength of age is! Here are some ideas for ways to contribute to age and its ecosystem, besides contributing to this repository.

* **Write an article about how to use age for a certain community or use case.** The number one reason people don't use age is because they haven't heard about it and existing tutorials present more complex alternatives.
* Integrate age into existing projects that might use it, for example replacing legacy alternatives.
* Build and maintain an [age plugin](https://c2sp.org/age-plugin) for a KMS or platform.
* Watch the [discussions](https://github.com/FiloSottile/age/discussions) and help other users.
* Provide bindings in a language or framework that doesn't support age well.
* Package age for an ecosystem that doesn't have packages yet.

If you build or write something related to age, [let me know](https://github.com/FiloSottile/age/discussions/new?category=general)! 💖
112 changes: 62 additions & 50 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,26 @@
name: Build and upload binaries
on:
release:
types: [published]
push:
pull_request:
name: Build binaries
permissions:
contents: read
jobs:
binaries:
name: Build and upload
build:
name: Build binaries
runs-on: ubuntu-latest
environment: "Build, sign, release binaries"
strategy:
matrix:
include:
- {GOOS: linux, GOARCH: amd64}
- {GOOS: linux, GOARCH: arm, GOARM: 6}
- {GOOS: linux, GOARCH: arm64}
- {GOOS: darwin, GOARCH: amd64}
- {GOOS: darwin, GOARCH: arm64}
- {GOOS: windows, GOARCH: amd64}
- {GOOS: freebsd, GOARCH: amd64}
steps:
- name: Install Go
uses: actions/setup-go@v2
@@ -17,58 +30,57 @@ jobs:
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Build binaries
- name: Build binary
run: |
VERSION=$(git describe --tags)
function build_age() {
DIR="$(mktemp -d)"
mkdir "$DIR/age"
cp LICENSE "$DIR/age"
echo -e "\n---\n" >> "$DIR/age/LICENSE"
curl "https://golang.org/LICENSE?m=text" >> "$DIR/age/LICENSE"
go build -o "$DIR/age" -ldflags "-X main.Version=$VERSION" ./cmd/...
if [ "$GOOS" == "windows" ]; then
( cd "$DIR"; zip age.zip -r age )
mv "$DIR/age.zip" "age-$VERSION-$GOOS-$GOARCH.zip"
else
tar -cvzf "age-$VERSION-$GOOS-$GOARCH.tar.gz" -C "$DIR" age
cp LICENSE "$RUNNER_TEMP/LICENSE"
echo -e "\n---\n" >> "$RUNNER_TEMP/LICENSE"
curl -L "https://go.dev/LICENSE?m=text" >> "$RUNNER_TEMP/LICENSE"
VERSION="$(git describe --tags)"
DIR="$(mktemp -d)"
mkdir "$DIR/age"
cp "$RUNNER_TEMP/LICENSE" "$DIR/age"
go build -o "$DIR/age" -ldflags "-X main.Version=$VERSION" -trimpath ./cmd/...
if [ "$GOOS" == "windows" ]; then
sudo apt-get update && sudo apt-get install -y osslsigncode
if [ -n "${{ secrets.SIGN_PASS }}" ]; then
for exe in "$DIR"/age/*.exe; do
/usr/bin/osslsigncode sign -t "http://timestamp.comodoca.com" \
-certs .github/workflows/certs/uitacllc.crt \
-key .github/workflows/certs/uitacllc.key \
-pass "${{ secrets.SIGN_PASS }}" \
-n age -in "$exe" -out "$exe.signed"
mv "$exe.signed" "$exe"
done
fi
}
export CGO_ENABLED=0
GOOS=linux GOARCH=amd64 build_age
GOOS=linux GOARCH=arm GOARM=6 build_age
GOOS=linux GOARCH=arm64 build_age
GOOS=darwin GOARCH=amd64 build_age
GOOS=darwin GOARCH=arm64 build_age
GOOS=windows GOARCH=amd64 build_age
GOOS=freebsd GOARCH=amd64 build_age
( cd "$DIR"; zip age.zip -r age )
mv "$DIR/age.zip" "age-$VERSION-$GOOS-$GOARCH.zip"
else
tar -cvzf "age-$VERSION-$GOOS-$GOARCH.tar.gz" -C "$DIR" age
fi
env:
CGO_ENABLED: 0
GOOS: ${{ matrix.GOOS }}
GOARCH: ${{ matrix.GOARCH }}
GOARM: ${{ matrix.GOARM }}
- name: Upload workflow artifacts
uses: actions/upload-artifact@v2
with:
name: age-binaries
path: age-*
- name: Upload release artifacts
uses: actions/github-script@v3
if: ${{ github.event_name == 'release' }}
upload:
name: Upload release binaries
if: github.event_name == 'release'
needs: build
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Download workflow artifacts
uses: actions/download-artifact@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
script: |
const fs = require("fs").promises;
const { repo: { owner, repo }, sha } = context;
const release = await github.repos.getReleaseByTag({
owner, repo,
tag: process.env.GITHUB_REF.replace("refs/tags/", ""),
});
console.log("Release:", { release });
for (let file of await fs.readdir(".")) {
if (!file.startsWith("age-")) continue;
console.log("Uploading", file);
await github.repos.uploadReleaseAsset({
owner, repo,
release_id: release.data.id,
name: file,
data: await fs.readFile(file),
});
}
name: age-binaries
- name: Upload release artifacts
run: gh release upload "$GITHUB_REF_NAME" age-*
env:
GH_REPO: ${{ github.repository }}
GH_TOKEN: ${{ github.token }}
14 changes: 14 additions & 0 deletions .github/workflows/certs/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
In this folder there are

uitacllc.crt

PKCS#7 encoded certificate chain for a code signing certificate issued
to Up in the Air Consulting LLC valid until Sep 26 23:59:59 2024 GMT.

https://crt.sh/?id=5339775059

uitacllc.key

PEM encrypted private key for the leaf certificate above.
Its passphrase is long and randomly generated, so the awful legacy key
derivation doesn't really matter, and it makes osslsigncode happy.
Binary file added .github/workflows/certs/uitacllc.crt
Binary file not shown.
42 changes: 42 additions & 0 deletions .github/workflows/certs/uitacllc.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B93C1A166F3677D68FB9CB3E8A184729

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
-----END RSA PRIVATE KEY-----
30 changes: 0 additions & 30 deletions .github/workflows/gotip.yml

This file was deleted.

2 changes: 2 additions & 0 deletions .github/workflows/interop.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
name: Interoperability tests
on: push
permissions:
contents: read
jobs:
trigger:
name: Trigger
31 changes: 28 additions & 3 deletions .github/workflows/ronn.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
name: Generate man pages
on:
push:
branches:
- '**'
paths:
- '**.ronn'
name: Generate man pages
- '**/ronn.yml'
- '**/ronn/**'
permissions:
contents: read
jobs:
ronn:
runs-on: ubuntu-latest
name: Ronn
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
@@ -24,10 +28,31 @@ jobs:
awk '/Filippo Valsorda/ { $0 = "<p>Filippo Valsorda <a href=\"mailto:age@filippo.io\" data-bare-link=\"true\">age@filippo.io</a></p>" } { print }' "$f" > "$f.tmp"
mv "$f.tmp" "$f"
done
- name: Upload generated files
uses: actions/upload-artifact@v3
with:
name: man-pages
path: |
doc/*.1
doc/*.html
commit:
name: Commit changes
needs: ronn
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Download generated files
uses: actions/download-artifact@v2
with:
name: man-pages
path: doc/
- name: Commit and push if changed
run: |-
git config user.name "GitHub Actions"
git config user.email "actions@users.noreply.github.com"
git add -A
git add doc/
git commit -m "doc: regenerate groff and html man pages" || exit 0
git push
50 changes: 48 additions & 2 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
on: [push, pull_request]
name: Go tests
on: [push, pull_request]
permissions:
contents: read
jobs:
test:
name: Test
strategy:
fail-fast: false
matrix:
go: [1.16.x, 1.17.x]
go: [1.18.x, 1.19.x]
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
@@ -20,3 +22,47 @@ jobs:
fetch-depth: 0
- name: Run tests
run: go test -race ./...
freebsd:
name: Test (FreeBSD)
runs-on: macos-10.15
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run tests
# Unpinned Action allowed with read-only permissions.
uses: vmactions/freebsd-vm@v0
with:
prepare: |
freebsd-version
pkg install -y go
go version
run: go test -buildvcs=false -race ./...
gotip:
name: Test (Go tip)
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Install Go tip (UNIX)
if: runner.os != 'Windows'
run: |
git clone --filter=tree:0 https://go.googlesource.com/go $HOME/gotip
cd $HOME/gotip/src && ./make.bash
echo "$HOME/gotip/bin" >> $GITHUB_PATH
- name: Install Go tip (Windows)
if: runner.os == 'Windows'
run: |
git clone --filter=tree:0 https://go.googlesource.com/go $HOME/gotip
cd $HOME/gotip/src && ./make.bat
echo "$HOME/gotip/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Checkout repository
uses: actions/checkout@v2
with:
fetch-depth: 0
- run: go version
- name: Run tests
run: go test -race ./...
Loading