[PATCHES] improve extensions support

Alexandre Pujol alexandre at pujol.io
Tue Feb 7 13:57:30 CET 2017


Hi,

Although the idea is interesting, I don't know if I like the concept.

Pass should stay pass. This is a simple password manager that can be
extended in order to provide community command. What you are proposing
is to provide to the community a way to completely overwrite any command
(and therefore to do what the fuck they want with pass itself). It is
not an extension feature any-more, it is an offensive overwriting
feature. It could have major consequences on pass itself.

Moreover, from a technical point of view I see a mess coming when you
will need to manage the 10th overwriting of the same core command. What
about classic extension compatibility with the overwritten core command?

Jason has already be kind enough to provide us the extension feature.
What you are proposing seem too much for me.


Anyone else in this ML has an opinion on this?

Regards,
Alex

On 06/02/17 16:40, HacKan wrote:
> Hello there! I spent the last few days playing around with pass, so I
> forked it [1] and changed the way it handles extensions, because I
> wanted to allow extensions to override internal commands. I.E. if
> someone wants to modify the way /generate/ works, there's no need to
> touch pass's core but simply create an extension named /generate.bash
> /and that's all/./
> 
> Here's the rough changes list:
> 
>   * Modified the way commands are interpreted in the script: replaced
>     the switch case selection to a more flexible eval'd one.
>   * Changed how extensions are handled: now extensions are loaded first,
>     before interpreting the command as an internal command. This allows
>     extensions to override internal commands. A helper function is
>     provided so that an overridden function can still be called from the
>     extension.
>   * Issuing help command now shows help from the extensions if they
>     implement a function named help_{extension name}(). Otherwise, it
>     will list enabled extensions as commands.
> 
> This keeps backwards compatibility at 100%, existing extensions are too
> 100% compatible. So for the final user these patches doesn't have any
> effect at all.
> 
> Patches and signed hashes are attached.
> 
> Also, I tested these and all tests passed (attached as
> /tests-result.txt/). Note that tests must be fixed first (see /[PATCH]
> Fixes for tests/ [2]).
> 
> A sample /pass --help/ output with a couple of extensions I made is
> attached (/help-example.txt/).
> 
> Attachment list:
> 0001-Changed-function-switch-based-on-parameters-by-a-mor.patch
> 0002-Added-helper-override_function-to-enable-extensions-.patch
> 0003-Modified-cmd_usage-to-show-extensions-usage-help-too.patch
> 0004-Minor-bugfixes-in-cmd_usage-when-showing-extensions-.patch
> 0005-Fixed-multiname-functions-parameters-were-not-being-.patch
> 0006-Small-bugfix-in-usage-command.-Also-changed-spaces-f.patch
> SHA512SUMS
> SHA512SUMS.sig
> help-example.txt
> tests-result.txt
> 
> Cheers!
> 
> [1]: https://github.com/HacKanCuBa/passh
> [2]:
> https://lists.zx2c4.com/pipermail/password-store/2017-February/002727.html
> 
> -- 
> HacKan || Iván
> GPG: 0x35710D312FDE468B
> 
> 
> 
> _______________________________________________
> Password-Store mailing list
> Password-Store at lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/password-store
> 


More information about the Password-Store mailing list