commit 5237ebac5d0f47216882b213f52047624e224817
parent 1c5207a78c87fc9ca895c82cc7caca9dec1c8dab
Auteur: Selve <selve@asteride.xyz>
Date: Mon, 22 Jan 2024 00:38:41 -0500
protection avec pledge et unveil pour OpenBSD
Diffstat:
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/aplat.c b/aplat.c
@@ -1,6 +1,7 @@
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
+#include <unistd.h>
#include <libintl.h>
#include <locale.h>
@@ -43,8 +44,19 @@ main(int argc, char **argv)
if ((nom_prog = argv[0]) == NULL || nom_prog[0] == '\0')
nom_prog = "aplat";
+#ifdef __OpenBSD__
+ if (unveil(I18N_DOS, "r") < 0 ||
+ unveil("/usr/share/locale/UTF-8/LC_CTYPE", "r") < 0) {
+ fprintf(stderr, _("%s: erreur avec unveil()\n"), nom_prog);
+ return 1;
+ }
+ if (pledge("stdio rpath", NULL) < 0) {
+ fprintf(stderr, _("%s: erreur avec pledge()\n"), nom_prog);
+ return 1;
+ }
+#endif
+
setlocale(LC_ALL, "");
- /*setlocale(LC_MESSAGES, "");*/
bindtextdomain(I18N_DOMAINE, I18N_DOS);
textdomain(I18N_DOMAINE);