[PATCHES] improve extensions support
HacKan
hackan at gmail.com
Tue Feb 7 14:49:14 CET 2017
Well, you can't override more than once because you can't have 2 files
with the same name. This allows users more freedom, they can choose to
use internal commands or extensions. The pass core isn't touched.
Current extensions are not affected at all. Also, users wanting to use
an extension that normally overrides an internal command without doing
that can simply rename the extension file.
I believe it provides more usability and alternatives without changing
the pass core. Those who want to use pass w/o extensions can do it;
those who want extensions can have them; those who want extensions that
override internal commands can have them too. What's wrong with giving
the community that?
Cheers!
On 02/07/2017 09:57 AM, Alexandre Pujol wrote:
> 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
>>
> _______________________________________________
> Password-Store mailing list
> Password-Store at lists.zx2c4.com
> https://lists.zx2c4.com/mailman/listinfo/password-store
--
HacKan || Iván
GPG: 0x35710D312FDE468B
More information about the Password-Store
mailing list