diff mbox series

[procd] Disable implicit controlling TTY.

Message ID mailman.127344.1728388469.1280.openwrt-devel@lists.openwrt.org
State New
Headers show
Series [procd] Disable implicit controlling TTY. | expand

Commit Message

Markus Gothe Oct. 8, 2024, 11:38 a.m. UTC
The sender domain has a DMARC Reject/Quarantine policy which disallows
sending mailing list messages using the original "From" header.

To mitigate this problem, the original message has been wrapped
automatically by the mailing list software.
Disable the use of implicit controlling
TTYs. They will be enabled on demand.

This fixes a bug where 2 or more
consecutive Ctrl-C at the login prompt
triggers a reboot of the device.

Closes: https://github.com/openwrt/openwrt/issues/11306

Signed-off-by: Markus Gothe <markus.gothe@genexis.eu>
---
  inittab.c     | 2 +-
  state.c       | 2 +-
  utils/utils.c | 2 ++
  3 files changed, 4 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/inittab.c b/inittab.c
index 73a2174..46ca796 100644
--- a/inittab.c
+++ b/inittab.c
@@ -79,7 +79,7 @@  static int dev_exist(const char *dev)
      if (dfd < 0)
          return 0;

-    fd = openat(dfd, dev, O_RDONLY);
+    fd = openat(dfd, dev, O_RDONLY|O_NOCTTY);
      close(dfd);

      if (fd < 0)
diff --git a/state.c b/state.c
index fb81248..cd64431 100644
--- a/state.c
+++ b/state.c
@@ -79,7 +79,7 @@  static void set_console(void)
          return;
      }
      while (tty!=NULL) {
-        f = open(tty, O_RDONLY);
+        f = open(tty, O_RDONLY|O_NOCTTY);
          if (f >= 0) {
              close(f);
              break;
diff --git a/utils/utils.c b/utils/utils.c
index 1939dbd..ba14269 100644
--- a/utils/utils.c
+++ b/utils/utils.c
@@ -203,6 +203,8 @@  int patch_fd(const char *device, int fd, int flags)
  {
      int dfd, nfd;

+    flags |= O_NOCTTY;
+
      if (device == NULL)
          device = "/dev/null";