diff --git a/0003-Add-getentropy-emulation-through-syscall.patch b/0003-Add-getentropy-emulation-through-syscall.patch new file mode 100644 index 0000000..9382733 --- /dev/null +++ b/0003-Add-getentropy-emulation-through-syscall.patch @@ -0,0 +1,72 @@ +From 4e166987d7e7d37d1f5cc71c0eb7918dea4fe443 Mon Sep 17 00:00:00 2001 +From: Benjamin Tissoires +Date: Thu, 4 May 2017 11:13:51 +0200 +Subject: [PATCH libXdmcp 3/3] Add getentropy emulation through syscall + +Signed-off-by: Benjamin Tissoires +--- + Key.c | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 48 insertions(+) + +diff --git libXdmcp-1.1.3/Key.c libXdmcp-1.1.3/Key.c +index d61ad0e..4b0e9c0 100644 +--- libXdmcp-1.1.3/Key.c ++++ libXdmcp-1.1.3/Key.c +@@ -76,6 +76,54 @@ insecure_getrandom_buf (unsigned char *auth, int len) + getbits (highbits, auth + 4); + } + ++#ifndef HAVE_GETENTROPY ++#include ++#include ++ ++/* code taken from libressl, license: */ ++/* ++ * Copyright (c) 2014 Theo de Raadt ++ * Copyright (c) 2014 Bob Beck ++ * ++ * Permission to use, copy, modify, and distribute this software for any ++ * purpose with or without fee is hereby granted, provided that the above ++ * copyright notice and this permission notice appear in all copies. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES ++ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF ++ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ++ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ++ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ++ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF ++ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ * ++ * Emulation of getentropy(2) as documented at: ++ * http://man.openbsd.org/getentropy.2 ++ */ ++#ifdef __NR_getrandom ++ ++static int ++getentropy(void *buf, size_t len) ++{ ++ int pre_errno = errno; ++ int ret; ++ if (len > 256) ++ return (-1); ++ do { ++ ret = syscall(__NR_getrandom, buf, len, 0); ++ } while (ret == -1 && errno == EINTR); ++ ++ if (ret != len) ++ return (-1); ++ errno = pre_errno; ++ ++ return (0); ++} ++#define HAVE_GETENTROPY 1 ++#endif /* __NR_getrandom */ ++ ++#endif /* HAVE_GETENTROPY */ ++ + static void + arc4random_buf (void *auth, int len) + { +-- +2.9.3 + diff --git a/libXdmcp-1.1.3.tar.bz2 b/libXdmcp-1.1.3.tar.bz2 new file mode 100644 index 0000000..4a110f0 Binary files /dev/null and b/libXdmcp-1.1.3.tar.bz2 differ diff --git a/libXdmcp.spec b/libXdmcp.spec new file mode 100644 index 0000000..cc80517 --- /dev/null +++ b/libXdmcp.spec @@ -0,0 +1,66 @@ +Name: libXdmcp +Version: 1.1.3 +Release: 2 +Summary: X Display Manager Control Protocol library +License: MIT +Url: https://xorg.freedesktop.org/ +Source0: https://xorg.freedesktop.org/releases/individual/lib/%{name}-%{version}.tar.bz2 + +Patch0: 0003-Add-getentropy-emulation-through-syscall.patch + +BuildRequires: xorg-x11-util-macros xmlto xorg-x11-proto-devel autoconf automake libtool git + + +%description +The X Display Manager Control Protocol (XDMCP) provides a uniform +mechanism for an autonomous display to request login service from a +remote host. + +%package devel +Summary: Development files and Header files for %{name} +Requires: %{name} = %{version}-%{release} + +%description devel +The %{name}-devel package contains libraries and header files for %{name}. + +%package_help + +%prep +%autosetup -n %{name}-%{version} -p1 -S git + +%build +autoreconf -ivf +%configure +%make_build + +%install +%make_install +%delete_la +rm -rf $RPM_BUILD_ROOT%{_docdir} +%ldconfig_scriptlets + +%files +%defattr(-,root,root) +%doc AUTHORS COPYING Wraphelp.README.crypto +%{_libdir}/libXdmcp.so.* + +%files devel +%defattr(-,root,root) +%{_includedir}/X11/Xdmcp.h +%{_libdir}/libXdmcp.so +%{_libdir}/pkgconfig/*.pc +%{_libdir}/*.a + +%files help +%defattr(-,root,root) +%doc README.md ChangeLog + +%changelog +* Sat Dec 28 2019 openEuler Buildteam - 1.1.3-2 +- Type:bugfix +- Id:NA +- SUG:NA +- DESC:modify the spec + +* Tue Sep 10 2019 openEuler Buildteam - 1.1.3-1 +- Package init