Wednesday, June 26, 2019

Re: UPDATE: productivity/mcds

On Sun, Jun 23, 2019 at 01:43:17PM +0200, Jeremie Courreges-Anglas wrote:
>
> Here's a review. Among the pledge promises there's "proc exec".
> There's also an unveil("/usr/local/bin", "rx") call. Is this because of
> gpgme executing gnupg2?
>
> If my guesses are right, I would suggest a few changes. First,
> /usr/local/bin shouldn't be hardcoded, second, the order of the pledge
> promises doesn't help review. This is addressed by the updated diff
> below.
>
> There are still open questions, I think. Does gpgme respect PATH? Does
> it allow the user to override the executed gnupg program?
>
> Another problem is you can't use a password_file that is not under $HOME,
> since mcds is the program opening said file.

Hi Jeremie,

Many thanks for the review, suggestions and raising important questions I
had not thought of!

Yes gpgme `forks()` to do most operations.

I'm pretty sure gpgme gets it's information from `gpgconf`, an executable,
that is in /usr/local/bin (thanks for highlighting $LOCALBASE!).
I will need to dig into this and see if it respects PATH and if it
can be overridden.

Ah, yes, good point regarding a password_file not under $HOME. OK, I'll
think of a way around this. First idea that comes to mind is to call
`unveil()` on this file after reading it from the rc file. I'll have
to investigate.

Once again, many thanks!
Regards

Timothy

No comments:

Post a Comment