From 25ef0e520a28df5b1db6596d024ae2880adfbb97 Mon Sep 17 00:00:00 2001 From: Sven Lankes Date: Mar 28 2010 16:20:09 +0000 Subject: - New upstream release - rediff writehard patch --- diff --git a/sources b/sources index 0053d49..0342f4b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -faf2fc52ac3ae63d899f6fece2c112cd tmux-1.1.tar.gz +748fbe7bb5f86812e19bd6005ff21a5a tmux-1.2.tar.gz diff --git a/tmux-1.0-06_hardening_write_return.diff b/tmux-1.0-06_hardening_write_return.diff deleted file mode 100644 index 74de4e6..0000000 --- a/tmux-1.0-06_hardening_write_return.diff +++ /dev/null @@ -1,61 +0,0 @@ -diff --git a/tty.c b/tty.c -index 9d30ed9..2535bf3 100644 ---- a/tty.c -+++ b/tty.c -@@ -283,7 +283,8 @@ tty_free(struct tty *tty) - void - tty_raw(struct tty *tty, const char *s) - { -- write(tty->fd, s, strlen(s)); -+ if (write(tty->fd, s, strlen(s)) == -1) -+ fatal("write failed"); - } - - void -@@ -316,7 +317,9 @@ tty_puts(struct tty *tty, const char *s) - buffer_write(tty->out, s, strlen(s)); - - if (tty->log_fd != -1) -- write(tty->log_fd, s, strlen(s)); -+ if (write(tty->log_fd, s, strlen(s)) == -1) -+ fatal("write failed"); -+ - } - - void -@@ -342,7 +345,8 @@ tty_putc(struct tty *tty, u_char ch) - } - - if (tty->log_fd != -1) -- write(tty->log_fd, &ch, 1); -+ if (write(tty->log_fd, &ch, 1) == -1) -+ fatal("write failed"); - } - - void -@@ -355,7 +359,9 @@ tty_pututf8(struct tty *tty, const struct grid_utf8 *gu) - break; - buffer_write8(tty->out, gu->data[i]); - if (tty->log_fd != -1) -- write(tty->log_fd, &gu->data[i], 1); -+ if (write(tty->log_fd, &gu->data[i], 1) == -1) -+ fatal("write failed"); -+ - } - - tty->cx += gu->width; -diff --git a/window.c b/window.c -index f4be17d..318d2e9 100644 ---- a/window.c -+++ b/window.c -@@ -516,7 +516,9 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell, - return (-1); - case 0: - if (chdir(wp->cwd) != 0) -- chdir("/"); -+ if (chdir("/") <0) -+ fatal("chdir failed"); -+ - - if (tcgetattr(STDIN_FILENO, &tio2) != 0) - fatal("tcgetattr failed"); diff --git a/tmux-1.2-writehard.patch b/tmux-1.2-writehard.patch new file mode 100644 index 0000000..a7d3be4 --- /dev/null +++ b/tmux-1.2-writehard.patch @@ -0,0 +1,57 @@ +diff -up tmux-1.2/tty.c.writehard tmux-1.2/tty.c +--- tmux-1.2/tty.c.writehard 2010-03-08 15:53:49.000000000 +0100 ++++ tmux-1.2/tty.c 2010-03-28 12:01:49.335023195 +0200 +@@ -300,7 +300,8 @@ tty_free(struct tty *tty) + void + tty_raw(struct tty *tty, const char *s) + { +- write(tty->fd, s, strlen(s)); ++ if (write(tty->fd, s, strlen(s)) == -1) ++ fatal("write failed"); + } + + void +@@ -333,7 +334,8 @@ tty_puts(struct tty *tty, const char *s) + bufferevent_write(tty->event, s, strlen(s)); + + if (tty->log_fd != -1) +- write(tty->log_fd, s, strlen(s)); ++ if(write(tty->log_fd, s, strlen(s)) == -1) ++ fatal("write failed"); + } + + void +@@ -359,7 +361,8 @@ tty_putc(struct tty *tty, u_char ch) + } + + if (tty->log_fd != -1) +- write(tty->log_fd, &ch, 1); ++ if (write(tty->log_fd, &ch, 1) == -1) ++ fatal("write failed"); + } + + void +@@ -370,7 +373,8 @@ tty_pututf8(struct tty *tty, const struc + size = grid_utf8_size(gu); + bufferevent_write(tty->event, gu->data, size); + if (tty->log_fd != -1) +- write(tty->log_fd, gu->data, size); ++ if(write(tty->log_fd, gu->data, size) == -1) ++ fatal("write failed"); + tty->cx += gu->width; + } + +diff -up tmux-1.2/window.c.writehard tmux-1.2/window.c +--- tmux-1.2/window.c.writehard 2010-02-08 19:10:07.000000000 +0100 ++++ tmux-1.2/window.c 2010-03-28 12:03:07.316900726 +0200 +@@ -518,7 +518,9 @@ window_pane_spawn(struct window_pane *wp + return (-1); + case 0: + if (chdir(wp->cwd) != 0) +- chdir("/"); ++ if (chdir("/") <0) ++ fatal("chdir failed"); ++ + + if (tcgetattr(STDIN_FILENO, &tio2) != 0) + fatal("tcgetattr failed"); diff --git a/tmux.spec b/tmux.spec index a44858a..b0e3dea 100644 --- a/tmux.spec +++ b/tmux.spec @@ -1,5 +1,5 @@ Name: tmux -Version: 1.1 +Version: 1.2 Release: 1%{?dist} Summary: A terminal multiplexer @@ -14,11 +14,16 @@ Source0: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar. # upstream via email but upstream replied and said would not change. Patch0: tmux-1.0-02_fix_wrong_location.diff Patch1: tmux-1.0-03_proper_socket_handling.diff +# 2010-03-28: Submitted upstream: +# https://sourceforge.net/tracker/?func=detail&aid=2977950&group_id=200378&atid=973264 Patch2: tmux-1.0-04_dropping_unnecessary_privileges.diff -Patch3: tmux-1.0-06_hardening_write_return.diff +# 2010-03-28: Submitted upstream: +# https://sourceforge.net/tracker/?func=detail&aid=2977945&group_id=200378&atid=973264 +Patch3: tmux-1.2-writehard.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: ncurses-devel +BuildRequires: libevent-devel %description tmux is a "terminal multiplexer." It enables a number of terminals (or @@ -58,6 +63,10 @@ getent group tmux >/dev/null || groupadd -r tmux %attr(775,root,tmux) %{_localstatedir}/run/tmux %changelog +* Sun Mar 28 2010 Sven Lankes 1.2-1 +- New upstream release +- rediff writehard patch + * Mon Nov 09 2009 Sven Lankes 1.1-1 - New upstream release