Compare commits

..

No commits in common. "267f42c0cb04e3cb2b724d93514d6fef9fbed2a0" and "57e3df8145e9a4c9ba1fa9e5a8572c102b0d9b13" have entirely different histories.

2 changed files with 8 additions and 98 deletions

View File

@ -1,65 +0,0 @@
From ff6cffa3feaaee11b1a9d27a7eada02fbd9890da Mon Sep 17 00:00:00 2001
From: xingwei<xingwei14@h-partners.com>
Date: Fri, 27 Aug 2021 17:27:24 +0800
Subject: [PATCH] replace random with RAND_priv_bytes
---
src/yppasswd.c | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/src/yppasswd.c b/src/yppasswd.c
index aa7c8a1..ae356ad 100644
--- a/src/yppasswd.c
+++ b/src/yppasswd.c
@@ -44,6 +44,7 @@
#include <rpcsvc/yp_prot.h>
#include <rpcsvc/ypclnt.h>
#include <rpcsvc/yppasswd.h>
+#include <openssl/rand.h>
#ifndef _
#define _(String) gettext (String)
@@ -517,10 +518,11 @@ create_random_salt (char *salt, int num_chars)
{
int fd;
unsigned char c;
+ unsigned char buf;
int i;
int res;
- fd = open ("/dev/urandom", O_RDONLY);
+ fd = open ("/dev/random", O_RDONLY);
for (i = 0; i < num_chars; i++)
{
@@ -529,7 +531,18 @@ create_random_salt (char *salt, int num_chars)
res = read (fd, &c, 1);
if (res != 1)
- c = random ();
+ {
+ while (!RAND_status ())
+ {
+ RAND_seed (&buf, sizeof (buf));
+ }
+ if (RAND_priv_bytes (&buf, sizeof (buf)) != 1)
+ {
+ printf ( _("Failed to generate a random number.\n"));
+ break;
+ }
+ c = buf;
+ }
salt[i] = bin_to_ascii (c & 0x3f);
}
@@ -571,7 +584,7 @@ main (int argc, char **argv)
{
char *s, *progname, *domainname = NULL, *user = NULL, *master = NULL;
int f_flag = 0, l_flag = 0, p_flag = 0, error, status;
- int hash_id = DES;
+ int hash_id = SHA_512;
char rounds[11] = "\0"; /* max length is '999999999$' */
struct yppasswd yppwd;
struct passwd *pwd;
--
2.27.0

View File

@ -2,20 +2,19 @@
Name: yp-tools
Version: 4.2.3
Release: 9
Release: 4
Summary: Network Information Service (YP) client utilities
License: GPL-2.0-or-later
URL: https://github.com/thkukuk/yp-tools
License: GPLv2
URL: http://www.linux-nis.org/nis/yp-tools/index.html
Source0: https://github.com/thkukuk/yp-tools/archive/v%{version}.tar.gz
Patch0: yp-tools-2.12-hash.patch
Patch1: yp-tools-2.12-crypt.patch
Patch2: yp-tools-2.12-adjunct.patch
Patch3: yp-tools-4.2.2-strict-prototypes.patch
Patch4: fix-to-replace-random-with-RAND_priv_bytes.patch
BuildRequires: autoconf automake libtool
BuildRequires: gettext-devel libtirpc-devel libnsl2-devel openssl-devel
Requires: ypbind >= 3:2.4-2 glibc openssl-libs haveged
BuildRequires: git autoconf automake libtool
BuildRequires: gettext-devel libtirpc-devel libnsl2-devel
Requires: ypbind >= 3:2.4-2 glibc
%description
This package provides NIS client programs.NIS,Network Information
@ -31,11 +30,11 @@ Buildarch: noarch
The help package contains doc files for yp-tools.
%prep
%autosetup -n %{name}-%{version} -p1
%autosetup -n %{name}-%{version} -p1 -S git
autoreconf -ifv
%build
export CFLAGS="$CFLAGS %{optflags} -Wno-cast-function-type -lcrypto"
export CFLAGS="$CFLAGS %{optflags} -Wno-cast-function-type"
%configure --disable-domainname
%make_build
@ -55,30 +54,6 @@ export CFLAGS="$CFLAGS %{optflags} -Wno-cast-function-type -lcrypto"
%{_mandir}/*/*
%changelog
* Sun Feb 04 2024 xingwei <xingwei14@h-partners.com> - 4.2.3-9
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:add haveged requires and optimize random number function replacement patch
* Mon Jun 20 2022 liukuo <liukuo@kylinos.cn> - 4.2.3-8
- License compliance rectification
* Wed Aug 25 2021 heyaohua<heyaohua1@huawei.com> - 4.2.3-7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:replace random with RAND_priv_bytes
* Fri Jul 30 2021 chenyanpanHW <chenyanpan@huawei.com> - 4.2.3-6
- DESC: delete -S git from %autosetup, and delete BuildRequires git
* Tue Dec 15 2020 xihaochen <xihaochen@huawei.com> - 4.2.3-5
- Type:requirement
- ID:NA
- SUG:NA
- DESC:update url
* Thu Nov 7 2019 openEuler Buildteam <buildteam@openeuler.org> - 4.2.3-4
- Type:enhancement
- Id:NA