Anyway, the reality is we *don’t* use processes and pipes for important things, *because* they fail roughly like this. You can say “but error codes” all you want, we don’t do this with browsers or ssh or gzip or REPLs (hello, Jupyter) or anything else. Because this hits a wall.https://twitter.com/marcan42/status/996231278276919296 …
-
-
What I believe is gpg will have a higher failure rate than it should: A) If it ever returns plaintext by default after authenticated decryption failure, and B) If complex consumers continue interfacing with gpg via pipes and processes, due to impoverished error handling
-
The big glaring problem is that keys should be retrieved via DNSSEC, but that is complex ecosystem work so much larger than gpg.
End of conversation
New conversation -
-
-
The GnuPG APIs leave much to be desired. This is one of the many traps that developers need to watch out for. It all has Reasons, but today we have a better understanding of secure API design. I'm cautiously optimistic about both
@neopg_ &@nwalfield 'shttps://sequoia-pgp.org/ -
Sure, I agree. I just don't think *this* is the bug we should be pointing at to make that point. You didn't check retcodes, you dun goofed. Even a Rust API with streaming support won't save you from that one.
- Show replies
New conversation -
-
-
Details can look reasonable even if the whole fails terribly. In this case, the exit code in GnuPG is NOT a reliable indicator of operational success in GnuPG. Applications are supposed to look at the output of --status-fd and understand the stream of messages. It's too special.
-
Sure, but in this case *everything* was screaming bloody murder except for the fact that some junk plaintext was output. The exit code was failure. --status-fd outputs two failure messages. Who ignores all that and just takes stdout just because it's there?
- Show replies
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.