2 Commits

Author SHA1 Message Date
Filippo Valsorda
b6b5f4300f cmd/age: disable golang/go#61779 tests workaround 2024-06-16 13:52:42 +02:00
Filippo Valsorda
627e6bc9d8 cmd/age: create file for empty decryptions
Fixes #555
Updates #159
Updates #57
2024-06-16 13:50:52 +02:00
13 changed files with 12 additions and 71 deletions

View File

@@ -22,7 +22,7 @@ jobs:
- {GOOS: freebsd, GOARCH: amd64}
steps:
- name: Install Go
uses: actions/setup-go@v5
uses: actions/setup-go@v2
with:
go-version: 1.x
- name: Checkout repository
@@ -62,9 +62,9 @@ jobs:
GOARCH: ${{ matrix.GOARCH }}
GOARM: ${{ matrix.GOARM }}
- name: Upload workflow artifacts
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v2
with:
name: age-binaries-${{ matrix.GOOS }}-${{ matrix.GOARCH }}
name: age-binaries
path: age-*
upload:
name: Upload release binaries
@@ -75,10 +75,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download workflow artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v2
with:
pattern: age-binaries-*
merge-multiple: true
name: age-binaries
- name: Upload release artifacts
run: gh release upload "$GITHUB_REF_NAME" age-*
env:

View File

@@ -29,7 +29,7 @@ jobs:
mv "$f.tmp" "$f"
done
- name: Upload generated files
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v3
with:
name: man-pages
path: |
@@ -45,7 +45,7 @@ jobs:
- name: Checkout
uses: actions/checkout@v4
- name: Download generated files
uses: actions/download-artifact@v4
uses: actions/download-artifact@v2
with:
name: man-pages
path: doc/

View File

@@ -33,7 +33,7 @@ jobs:
- name: Install bootstrap Go
uses: actions/setup-go@v5
with:
go-version: stable
go-version: 1.22
- name: Install Go tip (UNIX)
if: runner.os != 'Windows'
run: |

View File

@@ -133,12 +133,6 @@ $ age --decrypt -i key.txt data.tar.gz.age > data.tar.gz
<code>scoop bucket add extras && scoop install age</code>
</td>
</tr>
<tr>
<td>pkgx</td>
<td>
<code>pkgx install age</code>
</td>
</tr>
</table>
On Windows, Linux, macOS, and FreeBSD you can use the pre-built binaries.

View File

@@ -11,7 +11,6 @@ import (
"fmt"
"io"
"os"
"path/filepath"
"regexp"
"runtime/debug"
"strings"
@@ -224,21 +223,9 @@ func main() {
}
}
var inUseFiles []string
for _, i := range identityFlags {
if i.Type != "i" {
continue
}
inUseFiles = append(inUseFiles, absPath(i.Value))
}
for _, f := range recipientsFileFlags {
inUseFiles = append(inUseFiles, absPath(f))
}
var in io.Reader = os.Stdin
var out io.Writer = os.Stdout
if name := flag.Arg(0); name != "" && name != "-" {
inUseFiles = append(inUseFiles, absPath(name))
f, err := os.Open(name)
if err != nil {
errorf("failed to open input file %q: %v", name, err)
@@ -259,11 +246,6 @@ func main() {
}
}
if name := outFlag; name != "" && name != "-" {
for _, f := range inUseFiles {
if f == absPath(name) {
errorf("input and output file are the same: %q", name)
}
}
f := newLazyOpener(name)
defer func() {
if err := f.Close(); err != nil {
@@ -550,10 +532,3 @@ func (l *lazyOpener) Close() error {
}
return nil
}
func absPath(name string) string {
if abs, err := filepath.Abs(name); err == nil {
return abs
}
return name
}

View File

@@ -2,7 +2,6 @@
# age file password prompt during encryption
[!linux] [!darwin] skip # no pty support
[darwin] [go1.20] skip # https://go.dev/issue/61779
# use an encrypted OpenSSH private key without .pub file
age -R key_ed25519.pub -o ed25519.age input

View File

@@ -25,31 +25,7 @@ age -d -i key.txt -o new empty.age
! stderr .
cmp new empty
# https://github.com/FiloSottile/age/issues/491
cp input inputcopy
! age -r age1xmwwc06ly3ee5rytxm9mflaz2u56jjj36s0mypdrwsvlul66mv4q47ryef -o inputcopy inputcopy
stderr 'input and output file are the same'
cmp inputcopy input
! age -r age1xmwwc06ly3ee5rytxm9mflaz2u56jjj36s0mypdrwsvlul66mv4q47ryef -o ./inputcopy inputcopy
stderr 'input and output file are the same'
cmp inputcopy input
mkdir foo
! age -r age1xmwwc06ly3ee5rytxm9mflaz2u56jjj36s0mypdrwsvlul66mv4q47ryef -o inputcopy foo/../inputcopy
stderr 'input and output file are the same'
cmp inputcopy input
cp key.txt keycopy
age -e -i keycopy -o test.age input
! age -d -i keycopy -o keycopy test.age
stderr 'input and output file are the same'
cmp key.txt keycopy
[!linux] [!darwin] skip # no pty support
[darwin] [go1.20] skip # https://go.dev/issue/61779
ttyin terminal
! age -p -o inputcopy inputcopy
stderr 'input and output file are the same'
cmp inputcopy input
# https://github.com/FiloSottile/age/issues/159
ttyin terminal

View File

@@ -1,5 +1,4 @@
[!linux] [!darwin] skip # no pty support
[darwin] [go1.20] skip # https://go.dev/issue/61779
# encrypt with a provided passphrase
stdin input

View File

@@ -1,5 +1,4 @@
[!linux] [!darwin] skip # no pty support
[darwin] [go1.20] skip # https://go.dev/issue/61779
# controlling terminal is used instead of stdin/stderr
ttyin terminal

View File

@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.9.1
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
.TH "AGE\-KEYGEN" "1" "June 2024" ""
.TH "AGE\-KEYGEN" "1" "April 2023" ""
.SH "NAME"
\fBage\-keygen\fR \- generate age(1) key pairs
.SH "SYNOPSIS"

View File

@@ -137,7 +137,7 @@ age1ql3z7hjy54pw3hyww5ayyfg7zqgvc7w3j2elw8zmrj2kg5sfn9aqmcac8p
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>June 2024</li>
<li class='tc'>April 2023</li>
<li class='tr'>age-keygen(1)</li>
</ol>

View File

@@ -1,6 +1,6 @@
.\" generated with Ronn-NG/v0.9.1
.\" http://github.com/apjanke/ronn-ng/tree/0.9.1
.TH "AGE" "1" "June 2024" ""
.TH "AGE" "1" "April 2023" ""
.SH "NAME"
\fBage\fR \- simple, modern, and secure file encryption
.SH "SYNOPSIS"

View File

@@ -432,7 +432,7 @@ $ age -d -i age-yubikey-identity-388178f3.txt secrets.txt.age
<ol class='man-decor man-foot man foot'>
<li class='tl'></li>
<li class='tc'>June 2024</li>
<li class='tc'>April 2023</li>
<li class='tr'>age(1)</li>
</ol>