cryptlib-3.4.3-8 epel

This commit is contained in:
Ralf Senderek 2016-08-11 20:53:00 +02:00
commit a3b5c0da49
5 changed files with 177 additions and 3 deletions

60
COPYING Normal file
View File

@ -0,0 +1,60 @@
This file contains the usage terms for cryptlib. The full details of cryptlib
usage are provided on the cryptlib home page; although this file and the
information on the web page should be identical, in case of any dispute the
web page takes precedence. This file is included because some distributions
require the presence of a COPYING file.
cryptlib is distributed under a dual license that allows free, open-source use
under a GPL-compatible license and closed-source use under a standard
commercial license. The GPL-compatible license (a.k.a. the Sleepycat license)
is given below. Further details on this license are available from the
cryptlib home page.
Copyright 1992-2016 Peter Gutmann. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Redistributions in any form must be accompanied by information on how to
obtain complete source code for the cryptlib software and any accompanying
software that uses the cryptlib software. The source code must either be
included in the distribution or be available for no more than the cost of
distribution, and must be freely redistributable under reasonable
conditions. For an executable file, complete source code means the source
code for all modules it contains or uses. It does not include source code
for modules or files that typically accompany the major components of the
operating system on which the executable file runs.
THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
Note that decoupling the software from the user, for example by running in a
SaaS configuration, does not exempt you from these requirements.
If you're unable to comply with the above license then the following,
alternate usage conditions apply:
Any large-scale commercial use of cryptlib requires a license. "Large-scale
commercial use" means any revenue-generating purpose such as use for
company-internal purposes, or use of cryptlib in an application or product,
with a total gross revenue of over US$5,000. This allows cryptlib to be
used in freeware and shareware applications, for evaluation and research
purposes, and for non-revenue-generating or personal use without charge. In
addition the author reserves the right to grant free licenses for commercial
use in special cases (for example where there is a general benefit to the
public), contact the author for details if you think you qualify.

View File

@ -22,5 +22,60 @@ http://www.cypherpunks.to/~peter/manual.pdf
If you refer to the numerous code examples, you will be able to use
cryptlib in your own (commercial) projects quite easily.
As the manual is part of the documentation that is required to mention
the contributions of other people to the source code of Cryptlib, I'll
quote the Acknowledgement in full here:
<quote>
Acknowledgements
Alexey Kirichenko provided information on NtQuerySystemInfo for randomness-
gathering under WinNT/Win2K to avoid the need to access the buggy Windows
registry performance counters.
Brian Gladman wrote the AES code.
Chris Wedgwood and Paul Kendall helped write the Unix random data gathering
routines.
endergone Zwiebeltüte helped debug the SSL/TLS implementation.
Eric Young and the OpenSSL team wrote the conventional encryption and hashing
code and bignum library.
Jean-Loup Gailly and Mark Adler wrote the zlib compression code.
Joerg Plate did the Amiga port.
Markus F.X.J. Oberhumer did the 32-bit DOS port.
Matt Thomlinson and Blake Coverett helped fix up and debug the Win32 random
data gathering routines.
Matthijs van Duin, Sascha Kratky, and Jeff Lamarche did the Macintosh Classic port.
Nathan Hammond did the MVS port.
Osma Ahvenlampi did the PPC BeOS port.
Sami Tolvanen implemented the cryptlib GUI interface.
Sriram Ramachandran did the Cygwin port.
Steve Landers provided the Tcl bindings, with financial support from Eolas
Technologies.
Stuart Woolford and Mario Korva did the OS/2 port.
Thomas Pornin did the ECDSA and ECDH code.
Trevor Perrin did the C#, Java, and Python bindings.
Wolfgang Gothier did the Delphi and Visual Basic bindings and tracked down a
number of really obscure probl^H^H^H^H^Hundocumented features.
</quote>
Ralf Senderek

View File

@ -6,11 +6,11 @@
Name: cryptlib
Version: 3.4.3
Release: 6%{?dist}
Release: 8%{?dist}
Summary: Security library and toolkit for encryption and authentication services
Group: System Environment/Libraries
License: Sleepycat
License: Sleepycat and OpenSSL
URL: https://www.cs.auckland.ac.nz/~pgut001/cryptlib
Source0: https://crypto-bone.com/fedora/cl343_fedora.zip
Source1: https://crypto-bone.com/fedora/cl343_fedora.zip.sig
@ -21,6 +21,8 @@ Source2: gpgkey-3274CB29956498038A9C874BFBF6E2C28E9C98DD.asc
Source3: https://crypto-bone.com/fedora/README-manual
Source4: https://crypto-bone.com/fedora/cryptlib-tests.tar.gz
Source5: https://crypto-bone.com/fedora/cryptlib-perlfiles.tar.gz
Source6: renamesymbols
Source7: COPYING
Patch1: sonamepatch
# soname is now libcl.so.3
@ -44,6 +46,7 @@ BuildRequires: python3-devel
%endif
BuildRequires: java-devel
BuildRequires: perl
BuildRequires: perl-devel
%if 0%{?fedora} >= 23
BuildRequires: perl-generators
%endif
@ -172,6 +175,8 @@ cd %{_builddir}/%{name}-%{version}/bindings
%build
cd %{name}-%{version}
# rename cryptlib symbols that may collide with openssl symbols
%{SOURCE6}
# build java bindings
chmod +x tools/mkhdr.sh
tools/mkhdr.sh
@ -221,6 +226,8 @@ mkdir -p %{buildroot}/%{_jnidir}
cp %{_builddir}/%{name}-%{version}/bindings/cryptlib.jar %{buildroot}%{_jnidir}
# install docs
# apply the new license text
cp %{SOURCE7} %{_builddir}/%{name}-%{version}/COPYING
cp %{_builddir}/%{name}-%{version}/COPYING %{buildroot}%{_datadir}/licenses/%{name}
cp %{_builddir}/%{name}-%{version}/README %{buildroot}%{_docdir}/%{name}/README
echo "No tests performed." > %{_builddir}/%{name}-%{version}/stestlib.log
@ -329,6 +336,13 @@ tar xpzf %{SOURCE4}
%changelog
* Tue Jul 26 2016 Senderek Web Security <innovation@senderek.ie> - 3.4.3-8
- change license tag (RHBZ #1352406)
- rename symbols that collide with openssl (RHBZ #1352404)
* Tue Jul 19 2016 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.4.3-7
- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages
* Thu Jun 16 2016 Senderek Web Security <innovation@senderek.ie> - 3.4.3-6
- Remove perl-generators for epel7
- Remove python3 script from test subpackage (fixes RHBZ #1347294)

34
renamesymbols Executable file
View File

@ -0,0 +1,34 @@
#!/bin/bash
# script to remove symbol collisions between cryptlib and openssl
#
# Author: Ralf Senderek
# Date: 15 July 2016
# License: BSD
#
# this script must be run in the cryptlib directory before building the
# shared library
for F in $(find . -type f)
do
sed -i 's/BN_/cl_BN_/g' $F
sed -i 's/bn_/cl_bn_/g' $F
sed -i 's/CAST_/cl_CAST_/g' $F
sed -i 's/MD5_/cl_MD5_/g' $F
sed -i 's/SHA1_/cl_SHA1_/g' $F
sed -i 's/sha1_block/cl_sha1_block/g' $F
sed -i 's/idea_/cl_idea_/g' $F
done
# rename RC4 to cl_RC4
sed -i 's/RC4(/cl_RC4(/g' context/ctx_rc4.c
sed -i 's/RC4(/cl_RC4(/g' crypt/rc4.h
sed -i 's/RC4(/cl_RC4(/g' crypt/rc4enc.c
cd bn
for F in $(ls bn_*)
do
mv $F cl_$F
done
#------------------------------------------------------------------#

View File

@ -1,5 +1,5 @@
--- cl-original/test/testfunc.c 2016-06-03 13:23:35.294667665 +0200
+++ cl-patched/test/testfunc.c 2016-06-03 13:26:42.320931385 +0200
+++ cl-patched/test/testfunc.c 2016-07-20 20:02:10.425573000 +0200
@@ -1111,10 +1111,12 @@
}
if( !testSessionAttributes() )
@ -13,3 +13,14 @@
if( !testSessionSSHPortforward() )
return( FALSE );
if( !testSessionSSHExec() )
@@ -1141,8 +1143,10 @@
#endif /* 0 */
if( !testSessionOCSP() )
return( FALSE );
+#if 0
if( !testSessionTSP() )
return( FALSE );
+#endif
if( !testSessionEnvTSP() )
return( FALSE );
if( !testSessionCMP() )