From c97a9eb8707bee6b558b1b2bad860bbdc1253588 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Mon, 7 Jun 2021 23:40:40 +0000 Subject: OpenBSD: unveil after ncurses(3) init to support TERMINFO initscr(3) in uiInitEarly() attempts more than /usr/share/terminfo/, see `mandoc -O tag=TERMINFO ncurses`. Even though non-default terminfo handling seems rare and it is unlikely to have ever caused a problem for catgirl users on OpenBSD, the current is still wrong by oversimplifying it. Avoid the entire curses/unveil clash by setting up the screen before unveiling. --- chat.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/chat.c b/chat.c index b62840f..19ca3d3 100644 --- a/chat.c +++ b/chat.c @@ -157,7 +157,6 @@ static void unveilAll(const char *trust, const char *cert, const char *priv) { const char *path; const char *perm; } paths[] = { - { "/usr/share/terminfo", "r" }, { tls_default_ca_cert_file(), "r" }, }; for (size_t i = 0; i < ARRAY_LEN(paths); ++i) { @@ -306,15 +305,16 @@ int main(int argc, char *argv[]) { editCompleteAdd(); commandCompleteAdd(); + ircConfig(insecure, trust, cert, priv); + + uiInitEarly(); + #ifdef __OpenBSD__ if (self.restricted) unveilAll(trust, cert, priv); int error = pledge("stdio rpath wpath cpath inet dns tty proc exec", NULL); if (error) err(EX_OSERR, "pledge"); #endif - ircConfig(insecure, trust, cert, priv); - - uiInitEarly(); if (save) { uiLoad(save); atexit(exitSave); -- cgit 1.4.1-2-gfad0