cdepillabout / password

datatypes and functions for easily working with passwords in Haskell
http://hackage.haskell.org/package/password
55 stars 16 forks source link

Introduce CLI (#14) #70

Closed blackheaven closed 1 year ago

cdepillabout commented 1 year ago

This seems like a reasonable CLI tool to provide.

I think the README, CHANGELOG, etc, still need to be cleaned up, but the general direction seem reasonable.

@Vlix any objection to providing a tool like this?

Vlix commented 1 year ago

@Vlix any objection to providing a tool like this?

This is actually one of the issues that we have open right now #14 :smile:

@blackheaven Thank you for the effort of setting this up :+1: It'll probably take a good few iterations before we're happy with a first release of a password CLI, but we have to start somewhere. :sunglasses:

Vlix commented 1 year ago

I'd also like to see some tests for the CLI to make sure it functions as expected. Not sure how those would look like. Maybe something using the process library?

blackheaven commented 1 year ago

updated, let me know what you think

cdepillabout commented 1 year ago

I'd also like to see some tests for the CLI to make sure it functions as expected. Not sure how those would look like. Maybe something using the process library?

One of the problems with this is that Cabal / cabal-install / stack don't really give you any guarantee what sort of environment test-stanza's will be run in. So you're not really guaranteed that the test suite will be run in an environment with the executable available.

I don't necessarily think we shouldn't add tests like this, but let's make it either disabled by default, or add a flag to the .cabal file to easily disable it for users that have trouble with it because of their build system.

Vlix commented 1 year ago

I've tested a bit, and would indeed like to have the hSetEcho stdin (that's the handle to turn echoing off when typing in the terminal, right?) set to False during requesting the password. (set it back to True with finally) Also, doing password-cli hash {algo} --help doesn't actually give any explanation of the options. Only a summary of them at the top in the USAGE section.

And a few more requests: