On Sat Aug 13, 2022 at 1:10 PM CEST, Omar Polo wrote:
> i was going through the list of non-pledged process in my list and
> found xcape. It's a simple program that allows to turn some keys
> (e.g. ctrl) to act as another key (e.g. esc) when pressed and released
> by themselves. It's around 500 lines of code and I haven't spotted
> anything that won't run under pledge `stdio', except for the first
> half of main.
>
> I'm running it as
>
> $ xcape -e 'Control_L=Escape'
>
> (which I just discovered it's the default so I can drop -e entirely)
> and is working fine.
>
> % ps aux | grep xcape
> op 28882 0.0 0.0 1664 2392 ?? Sp 12:46PM 0:00.51 xcape -e Con
>
> ok?
>
Works as expected, no issus there. Isn't a "uses pledge()" comment in
the Makefile necessary? Or is it added only when upstream has support for it?
Best Regards,
Thim Cederlund
>
> Index: Makefile
> ===================================================================
> RCS file: /home/cvs/ports/x11/xcape/Makefile,v
> retrieving revision 1.3
> diff -u -p -r1.3 Makefile
> --- Makefile 11 Mar 2022 20:17:43 -0000 1.3
> +++ Makefile 13 Aug 2022 10:43:13 -0000
> @@ -3,6 +3,7 @@ COMMENT = configure a modifier key when
> GH_ACCOUNT = alols
> GH_PROJECT = xcape
> GH_TAGNAME = v1.2
> +REVISION = 0
>
> CATEGORIES = x11
>
> Index: patches/patch-xcape_c
> ===================================================================
> RCS file: patches/patch-xcape_c
> diff -N patches/patch-xcape_c
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-xcape_c 13 Aug 2022 10:42:51 -0000
> @@ -0,0 +1,18 @@
> +pledge it
> +
> +Index: xcape.c
> +--- xcape.c.orig
> ++++ xcape.c
> +@@ -191,6 +191,12 @@ int main (int argc, char **argv)
> + if (self->debug != True)
> + daemon (0, 0);
> +
> ++ if (pledge ("stdio", NULL) == -1)
> ++ {
> ++ fprintf (stderr, "pledge: %s\n", strerror(errno));
> ++ exit (EXIT_FAILURE);
> ++ }
> ++
> + sigemptyset (&self->sigset);
> + sigaddset (&self->sigset, SIGINT);
> + sigaddset (&self->sigset, SIGTERM);
No comments:
Post a Comment