|
|
|
|
|
by nullc
2366 days ago
|
|
Indeed. And the readme and the usage output makes no mention of streaming, buffering, on-line, authentication, or anything related. This is a potential security relevant behavior that most users-- who haven't written or analyzed tools like this-- would find surprising. For those following along, I went and tested it-- since the behavior wasn't documented or clear from the code. If it encounters midstream corruption it truncates the output, exits with a non-zero return and prints some error text std stderr: "Error: chacha20poly1305: message authentication failed\n[ Did age not do what you expected? Could an error be more useful? Tell us: https://filippo.io/age/report ]" If the input is truncated, it either does that-- or if the truncation is on a block boundary it prints "Error: unexpected EOF\n[ Did age not do what you expected? Could an error be more useful? Tell us: https://filippo.io/age/report ]" instead. It's not a problem, but it should be documented. |
|