From 0976b724de72a96ede48b6226cdaa67447a7508e Mon Sep 17 00:00:00 2001 From: Mario Rodas Date: Tue, 13 Feb 2024 04:20:00 +0000 Subject: [PATCH] tmux: 3.3a -> 3.4 Diff: https://github.com/tmux/tmux/compare/3.3a...3.4 Changelog: https://github.com/tmux/tmux/raw/3.4/CHANGES --- pkgs/tools/misc/tmux/CVE-2022-47016.patch | 72 ----------------------- pkgs/tools/misc/tmux/default.nix | 10 ++-- 2 files changed, 4 insertions(+), 78 deletions(-) delete mode 100644 pkgs/tools/misc/tmux/CVE-2022-47016.patch diff --git a/pkgs/tools/misc/tmux/CVE-2022-47016.patch b/pkgs/tools/misc/tmux/CVE-2022-47016.patch deleted file mode 100644 index e6ced830421e..000000000000 --- a/pkgs/tools/misc/tmux/CVE-2022-47016.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 01f753df5dc269cf054b94c3f210aa880872d602 Mon Sep 17 00:00:00 2001 -From: nicm -Date: Wed, 24 Aug 2022 07:22:30 +0000 -Subject: [PATCH] Check for NULL returns from bufferevent_new. - -(cherry picked from commit e86752820993a00e3d28350cbe46878ba95d9012) ---- - control.c | 4 ++++ - file.c | 4 ++++ - window.c | 2 ++ - 3 files changed, 10 insertions(+) - -diff --git a/control.c b/control.c -index 73286e00..6183a006 100644 ---- a/control.c -+++ b/control.c -@@ -775,6 +775,8 @@ control_start(struct client *c) - - cs->read_event = bufferevent_new(c->fd, control_read_callback, - control_write_callback, control_error_callback, c); -+ if (cs->read_event == NULL) -+ fatalx("out of memory"); - bufferevent_enable(cs->read_event, EV_READ); - - if (c->flags & CLIENT_CONTROLCONTROL) -@@ -782,6 +784,8 @@ control_start(struct client *c) - else { - cs->write_event = bufferevent_new(c->out_fd, NULL, - control_write_callback, control_error_callback, c); -+ if (cs->write_event == NULL) -+ fatalx("out of memory"); - } - bufferevent_setwatermark(cs->write_event, EV_WRITE, CONTROL_BUFFER_LOW, - 0); -diff --git a/file.c b/file.c -index b2f155fe..04a907bf 100644 ---- a/file.c -+++ b/file.c -@@ -585,6 +585,8 @@ file_write_open(struct client_files *files, struct tmuxpeer *peer, - - cf->event = bufferevent_new(cf->fd, NULL, file_write_callback, - file_write_error_callback, cf); -+ if (cf->event == NULL) -+ fatalx("out of memory"); - bufferevent_enable(cf->event, EV_WRITE); - goto reply; - -@@ -744,6 +746,8 @@ file_read_open(struct client_files *files, struct tmuxpeer *peer, - - cf->event = bufferevent_new(cf->fd, file_read_callback, NULL, - file_read_error_callback, cf); -+ if (cf->event == NULL) -+ fatalx("out of memory"); - bufferevent_enable(cf->event, EV_READ); - return; - -diff --git a/window.c b/window.c -index c0cd9bdc..294a1f08 100644 ---- a/window.c -+++ b/window.c -@@ -1042,6 +1042,8 @@ window_pane_set_event(struct window_pane *wp) - - wp->event = bufferevent_new(wp->fd, window_pane_read_callback, - NULL, window_pane_error_callback, wp); -+ if (wp->event == NULL) -+ fatalx("out of memory"); - wp->ictx = input_init(wp, wp->event, &wp->palette); - - bufferevent_enable(wp->event, EV_READ|EV_WRITE); --- -2.39.1 - diff --git a/pkgs/tools/misc/tmux/default.nix b/pkgs/tools/misc/tmux/default.nix index 3cf6172891bd..a39f65d702ac 100644 --- a/pkgs/tools/misc/tmux/default.nix +++ b/pkgs/tools/misc/tmux/default.nix @@ -10,6 +10,7 @@ , withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd, systemd , withUtf8proc ? true, utf8proc # gets Unicode updates faster than glibc , withUtempter ? stdenv.isLinux && !stdenv.hostPlatform.isMusl, libutempter +, withSixel ? true }: let @@ -25,7 +26,7 @@ in stdenv.mkDerivation (finalAttrs: { pname = "tmux"; - version = "3.3a"; + version = "3.4"; outputs = [ "out" "man" ]; @@ -33,13 +34,9 @@ stdenv.mkDerivation (finalAttrs: { owner = "tmux"; repo = "tmux"; rev = finalAttrs.version; - sha256 = "sha256-SygHxTe7N4y7SdzKixPFQvqRRL57Fm8zWYHfTpW+yVY="; + hash = "sha256-RX3RZ0Mcyda7C7im1r4QgUxTnp95nfpGgQ2HRxr0s64="; }; - patches = [ - ./CVE-2022-47016.patch - ]; - nativeBuildInputs = [ pkg-config autoreconfHook @@ -57,6 +54,7 @@ stdenv.mkDerivation (finalAttrs: { "--sysconfdir=/etc" "--localstatedir=/var" ] ++ lib.optionals withSystemd [ "--enable-systemd" ] + ++ lib.optionals withSixel [ "--enable-sixel" ] ++ lib.optionals withUtempter [ "--enable-utempter" ] ++ lib.optionals withUtf8proc [ "--enable-utf8proc" ];