+1, looks like a pretty good repo, and that sounds much better than shelling out to openssl or using CGO.
- Rawlin On Wed, Dec 4, 2019 at 10:13 AM Williams, Adam <[email protected]> wrote: > > The Perl `/isos` endpoint handler uses the `crypt` function [0]. This is a > built-in function that creates a digest string, like the crypt(3) function in > the C library [1]. The endpoint is being re-written in Go. > > The Go standard library does not provide this algorithm. The following ideas > were considered (and rejected) for how to generate the digest in Go: > - Shell out to the “openssl passwd” executable. > - Use CGO to call the C library’s crypt function. > > Instead, I’m proposing adding a vendored library, github.com/GehirnInc/crypt > [2], that provides this same algorithm in pure Go. The library is BSD > 2-Clause licensed. This will be included as part of the upcoming `/isos` > re-write Pull Request, barring any objections. > > [0] > https://github.com/apache/trafficcontrol/blob/2cfa466479cfe777618f6489d7013251c8828607/traffic_ops/app/lib/API/Iso.pm#L194 > [1] https://perldoc.perl.org/functions/crypt.html > [2] https://github.com/GehirnInc/crypt
