summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlemens Nanni2021-06-07 23:40:40 +0000
committerC. McEnroe2021-06-09 09:21:51 -0400
commitc97a9eb8707bee6b558b1b2bad860bbdc1253588 (patch)
tree504b0f30d686b8c1443a8fa84a9c50b0e3c45a1a
parenta989e156a14462a1bb6c78f6ead115ddd04fed8f (diff)
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.
-rw-r--r--chat.c8
1 files 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);