Why does this command prepend useless redundant information?

$ openssl md5 <(echo foo)
MD5(/dev/fd/63)= d3b07384d113edec49eaa6238ad5ff00

^               ^

I just cannot fathom why this was done. This is just all around
terrible design. Not only is this information redundant and entirely
worthless but it is likely to change across versions (as I have found
out). In older versions of openssl (AFAICT) the behavior when reading
from stdin is to put the md5 sum to stdout without any garbage:

$ openssl md5 < foo
4d04cdc45787fd56cdda95fdcac9ae33

on newer versions we have:

$ openssl md5 < bar
(stdin)= 3d5e7d620c4f7e059ee18829968b45d4

You have successfully made portability and compatibility a nightmare.

What makes it even better is the output doesn't even match the regular
file case. Compare:

$ openssl md5 < bar
(stdin)= 3d5e7d620c4f7e059ee18829968b45d4

with

$ openssl md5 <(echo foo)
MD5(/dev/fd/63)= d3b07384d113edec49eaa6238ad5ff00

Thank you *so* much. I would have framed this email more politely but
you have successfully punted compatibility detection onto third party
developers. There is no way for you to fix it.

-- 
- Patrick Donnelly
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       openssl-dev@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to