From e39eb5b75fb84ec047cfb967b3f67f304c31df53 Mon Sep 17 00:00:00 2001 From: Jan F. Chadima Date: Jan 21 2010 09:00:42 +0000 Subject: optimized RAND_cleanup patch --- diff --git a/openssh-5.3p1-randclean.patch b/openssh-5.3p1-randclean.patch index 897c3f8..61a56d1 100644 --- a/openssh-5.3p1-randclean.patch +++ b/openssh-5.3p1-randclean.patch @@ -1,110 +1,13 @@ -diff -up openssh-5.3p1/ssh-add.c.randclean openssh-5.3p1/ssh-add.c ---- openssh-5.3p1/ssh-add.c.randclean 2010-01-20 19:13:28.000000000 +0100 -+++ openssh-5.3p1/ssh-add.c 2010-01-20 19:13:29.000000000 +0100 -@@ -41,6 +41,7 @@ - #include - #include - -+#include - #include - #include - #include "openbsd-compat/openssl-compat.h" -@@ -471,6 +472,9 @@ main(int argc, char **argv) - int use_nss = 0; - #endif - -+ /* clean the PRNG status when exiting the program */ -+ atexit(RAND_cleanup); -+ - /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ - sanitise_stdfd(); - -diff -up openssh-5.3p1/ssh.c.randclean openssh-5.3p1/ssh.c ---- openssh-5.3p1/ssh.c.randclean 2010-01-20 19:13:29.000000000 +0100 -+++ openssh-5.3p1/ssh.c 2010-01-20 19:13:29.000000000 +0100 -@@ -70,6 +70,7 @@ - #include - #include - -+#include - #include - #include - #include -@@ -220,6 +221,9 @@ main(int ac, char **av) - struct servent *sp; - Forward fwd; - -+ /* clean the PRNG status when exiting the program */ -+ atexit(RAND_cleanup); -+ - /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ - sanitise_stdfd(); - -diff -up openssh-5.3p1/sshd.c.randclean openssh-5.3p1/sshd.c ---- openssh-5.3p1/sshd.c.randclean 2010-01-20 19:13:29.000000000 +0100 -+++ openssh-5.3p1/sshd.c 2010-01-20 19:13:29.000000000 +0100 -@@ -1263,6 +1263,9 @@ main(int ac, char **av) - Key *key; - Authctxt *authctxt; - -+ /* clean the PRNG status when exiting the program */ -+ atexit(RAND_cleanup); -+ - #ifdef HAVE_SECUREWARE - (void)set_auth_parameters(ac, av); - #endif -diff -up openssh-5.3p1/ssh-keygen.c.randclean openssh-5.3p1/ssh-keygen.c ---- openssh-5.3p1/ssh-keygen.c.randclean 2010-01-20 19:13:29.000000000 +0100 -+++ openssh-5.3p1/ssh-keygen.c 2010-01-20 19:13:29.000000000 +0100 -@@ -19,6 +19,7 @@ - #include - #include - -+#include - #include - #include - #include -@@ -1120,6 +1121,9 @@ main(int argc, char **argv) - extern int optind; - extern char *optarg; - -+ /* clean the PRNG status when exiting the program */ -+ atexit(RAND_cleanup); -+ - /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */ - sanitise_stdfd(); - -diff -up openssh-5.3p1/ssh-keyscan.c.randclean openssh-5.3p1/ssh-keyscan.c ---- openssh-5.3p1/ssh-keyscan.c.randclean 2009-01-28 06:31:23.000000000 +0100 -+++ openssh-5.3p1/ssh-keyscan.c 2010-01-20 19:21:16.000000000 +0100 -@@ -18,6 +18,7 @@ - #include - #include - -+#include - #include - - #include -@@ -730,6 +731,9 @@ main(int argc, char **argv) - extern int optind; - extern char *optarg; - -+ /* clean the PRNG status when exiting the program */ -+ atexit(RAND_cleanup); -+ - __progname = ssh_get_progname(argv[0]); - init_rng(); - seed_rng(); -diff -up openssh-5.3p1/ssh-keysign.c.randclean openssh-5.3p1/ssh-keysign.c ---- openssh-5.3p1/ssh-keysign.c.randclean 2006-09-01 07:38:37.000000000 +0200 -+++ openssh-5.3p1/ssh-keysign.c 2010-01-20 19:13:29.000000000 +0100 -@@ -158,6 +158,9 @@ main(int argc, char **argv) - u_int slen, dlen; - u_int32_t rnd[256]; +diff -up openssh-5.3p1/entropy.c.randclean openssh-5.3p1/entropy.c +--- openssh-5.3p1/entropy.c.randclean 2010-01-21 09:26:30.000000000 +0100 ++++ openssh-5.3p1/entropy.c 2010-01-21 09:26:37.000000000 +0100 +@@ -159,6 +159,9 @@ init_rng(void) + fatal("OpenSSL version mismatch. Built against %lx, you " + "have %lx", OPENSSL_VERSION_NUMBER, SSLeay()); + /* clean the PRNG status when exiting the program */ + atexit(RAND_cleanup); + - /* Ensure that stdin and stdout are connected */ - if ((fd = open(_PATH_DEVNULL, O_RDWR)) < 2) - exit(1); + #ifndef OPENSSL_PRNG_ONLY + original_uid = getuid(); + original_euid = geteuid(); diff --git a/openssh.spec b/openssh.spec index d57b0ea..0126568 100644 --- a/openssh.spec +++ b/openssh.spec @@ -69,7 +69,7 @@ Summary: An open source implementation of SSH protocol versions 1 and 2 Name: openssh Version: 5.3p1 -Release: 17%{?dist}%{?rescue_rel} +Release: 18%{?dist}%{?rescue_rel} URL: http://www.openssh.com/portable.html #URL1: http://pamsshauth.sourceforge.net #Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz @@ -527,6 +527,9 @@ fi %endif %changelog +* Thu Jan 21 2010 Jan F. Chadima - 5.3p1-18 +- optimized RAND_cleanup patch (#557166) + * Wed Jan 20 2010 Jan F. Chadima - 5.3p1-17 - add RAND_cleanup at the exit of each program using RAND (#557166)