forked from pool/Botan
This commit is contained in:
commit
3358a705fb
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
3
Botan-1.6.4.tar.bz2
Normal file
3
Botan-1.6.4.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:12f0a6fd2dc9d0e7d15eb6dc0b6fae794b27976dde03f4e5f9149cadfeb74a86
|
||||||
|
size 1704786
|
30
Botan-inttypes.patch
Normal file
30
Botan-inttypes.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
--- include/types.h
|
||||||
|
+++ include/types.h
|
||||||
|
@@ -7,21 +7,22 @@
|
||||||
|
#define BOTAN_TYPES_H__
|
||||||
|
|
||||||
|
#include <botan/build.h>
|
||||||
|
+#include <stdint.h>
|
||||||
|
|
||||||
|
namespace Botan {
|
||||||
|
|
||||||
|
-typedef unsigned char byte;
|
||||||
|
-typedef unsigned short u16bit;
|
||||||
|
-typedef unsigned int u32bit;
|
||||||
|
+typedef uint8_t byte;
|
||||||
|
+typedef uint16_t u16bit;
|
||||||
|
+typedef uint32_t u32bit;
|
||||||
|
|
||||||
|
-typedef signed int s32bit;
|
||||||
|
+typedef int32_t s32bit;
|
||||||
|
|
||||||
|
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
||||||
|
typedef unsigned __int64 u64bit;
|
||||||
|
#elif defined(__KCC)
|
||||||
|
typedef unsigned __long_long u64bit;
|
||||||
|
#elif defined(__GNUG__)
|
||||||
|
- __extension__ typedef unsigned long long u64bit;
|
||||||
|
+ __extension__ typedef uint64_t u64bit;
|
||||||
|
#else
|
||||||
|
typedef unsigned long long u64bit;
|
||||||
|
#endif
|
24
Botan-missing_sentinel.patch
Normal file
24
Botan-missing_sentinel.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
--- modules/es_unix/unix_cmd.cpp
|
||||||
|
+++ modules/es_unix/unix_cmd.cpp
|
||||||
|
@@ -31,16 +31,16 @@
|
||||||
|
{
|
||||||
|
const u32bit args = arg_list.size() - 1;
|
||||||
|
|
||||||
|
- const char* arg1 = (args >= 1) ? arg_list[1].c_str() : 0;
|
||||||
|
- const char* arg2 = (args >= 2) ? arg_list[2].c_str() : 0;
|
||||||
|
- const char* arg3 = (args >= 3) ? arg_list[3].c_str() : 0;
|
||||||
|
- const char* arg4 = (args >= 4) ? arg_list[4].c_str() : 0;
|
||||||
|
+ const char* arg1 = (args >= 1) ? arg_list[1].c_str() : (char *)0;
|
||||||
|
+ const char* arg2 = (args >= 2) ? arg_list[2].c_str() : (char *)0;
|
||||||
|
+ const char* arg3 = (args >= 3) ? arg_list[3].c_str() : (char *)0;
|
||||||
|
+ const char* arg4 = (args >= 4) ? arg_list[4].c_str() : (char *)0;
|
||||||
|
|
||||||
|
for(u32bit j = 0; j != paths.size(); j++)
|
||||||
|
{
|
||||||
|
const std::string full_path = paths[j] + "/" + arg_list[0];
|
||||||
|
const char* fsname = full_path.c_str();
|
||||||
|
- execl(fsname, fsname, arg1, arg2, arg3, arg4, 0);
|
||||||
|
+ execl(fsname, fsname, arg1, arg2, arg3, arg4, (char *)0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
45
Botan-no_cpu_tuning.patch
Normal file
45
Botan-no_cpu_tuning.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
--- misc/config/cc/gcc
|
||||||
|
+++ misc/config/cc/gcc
|
||||||
|
@@ -34,7 +34,7 @@
|
||||||
|
|
||||||
|
<mach_opt>
|
||||||
|
# Specializations first (they don't need to be, just clearer)
|
||||||
|
-i386 -> "-mcpu=i686 -momit-leaf-frame-pointer"
|
||||||
|
+i386 -> "-momit-leaf-frame-pointer"
|
||||||
|
r10000 -> "-mips4"
|
||||||
|
alpha-ev67 -> "-mcpu=ev6" # FIXME: GCC 3.1 and on has -march=ev67
|
||||||
|
alpha-ev68 -> "-mcpu=ev6"
|
||||||
|
@@ -51,8 +51,8 @@
|
||||||
|
alpha -> "-mcpu=SUBMODEL" alpha-
|
||||||
|
amd64 -> "-momit-leaf-frame-pointer"
|
||||||
|
arm -> "-mcpu=SUBMODEL"
|
||||||
|
-ia32 -> "-march=SUBMODEL -momit-leaf-frame-pointer"
|
||||||
|
-ia64 -> "-mtune=SUBMODEL"
|
||||||
|
+ia32 -> "-momit-leaf-frame-pointer"
|
||||||
|
+ia64 -> ""
|
||||||
|
hppa -> "-march=SUBMODEL" hppa
|
||||||
|
m68k -> "-mSUBMODEL"
|
||||||
|
sh -> "-mSUBMODEL" sh
|
||||||
|
@@ -60,17 +60,17 @@
|
||||||
|
sparc64 -> "-mcpu=v9 -mtune=ultrasparc"
|
||||||
|
mips32 -> "-mips1 -mcpu=SUBMODEL" mips32-
|
||||||
|
mips64 -> "-mips3 -mcpu=SUBMODEL" mips64-
|
||||||
|
-ppc -> "-mcpu=SUBMODEL" ppc
|
||||||
|
-ppc64 -> "-mcpu=SUBMODEL" ppc
|
||||||
|
+ppc -> ppc
|
||||||
|
+ppc64 -> ppc
|
||||||
|
</mach_opt>
|
||||||
|
|
||||||
|
# Note that the 'linking' bit means "use this for both compiling *and* linking"
|
||||||
|
<mach_abi_linking>
|
||||||
|
-amd64 -> "-m64"
|
||||||
|
+amd64 -> ""
|
||||||
|
mips32 -> "-mabi=n32"
|
||||||
|
mips64 -> "-mabi=64"
|
||||||
|
-s390 -> "-m31"
|
||||||
|
-s390x -> "-m64"
|
||||||
|
+s390 -> ""
|
||||||
|
+s390x -> ""
|
||||||
|
sparc32 -> "-m32 -mno-app-regs"
|
||||||
|
sparc64 -> "-m64 -mno-app-regs"
|
||||||
|
ppc64 -> "-m64"
|
40
Botan-no_executable_stack.patch
Normal file
40
Botan-no_executable_stack.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
--- modules/alg_amd64/asm_macr.h
|
||||||
|
+++ modules/alg_amd64/asm_macr.h
|
||||||
|
@@ -19,10 +19,12 @@
|
||||||
|
/*************************************************
|
||||||
|
* Function Definitions *
|
||||||
|
*************************************************/
|
||||||
|
-#define START_FUNCTION(func_name) \
|
||||||
|
- ALIGN; \
|
||||||
|
- .global func_name; \
|
||||||
|
- .type func_name,@function; \
|
||||||
|
+#define START_FUNCTION(func_name) \
|
||||||
|
+ ALIGN; \
|
||||||
|
+ .global func_name; \
|
||||||
|
+ .type func_name,@function; \
|
||||||
|
+ .section .note.GNU-stack,"",@progbits; \
|
||||||
|
+ .previous; \
|
||||||
|
func_name:
|
||||||
|
|
||||||
|
#define END_FUNCTION(func_name) \
|
||||||
|
--- modules/alg_ia32/asm_macr.h
|
||||||
|
+++ modules/alg_ia32/asm_macr.h
|
||||||
|
@@ -19,11 +19,13 @@
|
||||||
|
/*************************************************
|
||||||
|
* Function Definitions *
|
||||||
|
*************************************************/
|
||||||
|
-#define START_FUNCTION(func_name) \
|
||||||
|
- .align 8; \
|
||||||
|
- ALIGN; \
|
||||||
|
- .global func_name; \
|
||||||
|
- .type func_name,@function; \
|
||||||
|
+#define START_FUNCTION(func_name) \
|
||||||
|
+ .align 8; \
|
||||||
|
+ ALIGN; \
|
||||||
|
+ .global func_name; \
|
||||||
|
+ .type func_name,@function; \
|
||||||
|
+ .section .note.GNU-stack,"",@progbits; \
|
||||||
|
+ .previous; \
|
||||||
|
func_name:
|
||||||
|
|
||||||
|
#define END_FUNCTION(func_name) \
|
11
Botan-no_fpermissive.patch
Normal file
11
Botan-no_fpermissive.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- configure.pl
|
||||||
|
+++ configure.pl
|
||||||
|
@@ -334,7 +334,7 @@
|
||||||
|
# buggy GCC. There is no reduction in code quality so even
|
||||||
|
# if we're wrong it's OK.
|
||||||
|
|
||||||
|
- if(($gcc_version =~ /4\.[01]/) || ($gcc_version =~ /3\.[34]/) ||
|
||||||
|
+ if(($gcc_version =~ /3\.[34]/) ||
|
||||||
|
($gcc_version =~ /2\.95\.[0-4]/) ||
|
||||||
|
($gcc_version eq '' && $^O eq 'cygwin'))
|
||||||
|
{
|
3
Botan-ull_constants.patch.bz2
Normal file
3
Botan-ull_constants.patch.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:136351b10c507584a48bbf601cbae88c9e42d4deacebe41a6b07b1469e7581fa
|
||||||
|
size 48223
|
194
Botan.changes
Normal file
194
Botan.changes
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 7 13:20:18 CEST 2008 - pth@suse.de
|
||||||
|
|
||||||
|
- No macros for package name.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Apr 3 18:39:38 CEST 2008 - pth@suse.de
|
||||||
|
|
||||||
|
- Update to 1.6.4. While the included fix is uninteresting for
|
||||||
|
Linux, it makes it easier to rename the package once again to
|
||||||
|
its old name:
|
||||||
|
* Fix a compilation problem with Visual Studio C++ 2003
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Aug 3 01:56:12 CEST 2007 - dmueller@suse.de
|
||||||
|
|
||||||
|
- update to 1.6.3:
|
||||||
|
* fixes various multithreading issues
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jun 21 01:02:20 CEST 2007 - dmueller@suse.de
|
||||||
|
|
||||||
|
- update to 1.6.2:
|
||||||
|
* Remove a call to abort() that crept into production
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Apr 23 18:41:19 CEST 2007 - dmueller@suse.de
|
||||||
|
|
||||||
|
- fix -devel package requires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Mar 24 12:19:13 CET 2007 - aj@suse.de
|
||||||
|
|
||||||
|
- Add libbz2-devel to BuildRequires.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 9 18:46:03 CET 2007 - pth@suse.de
|
||||||
|
|
||||||
|
- Update to 1.6.1. Changes since 1.4.10:
|
||||||
|
|
||||||
|
* Compilation fixes for the bzip2, zlib, and GNU MP modules
|
||||||
|
* Better support for Intel C++ and EKOpath C++ on x86-64
|
||||||
|
* Cleanups in the initialization routines
|
||||||
|
* Add some x86-64 assembly for multiply-add
|
||||||
|
* Fix problems generating very small (below 384 bit) RSA keys
|
||||||
|
* More improvements to the Python bindings
|
||||||
|
* Removed the Algorithm base class
|
||||||
|
* Various cleanups in the public key inheritance hierarchy
|
||||||
|
* Added x86 assembler implementations of Serpent and low-level MPI code
|
||||||
|
* Optimizations for the SHA-1 x86 assembler
|
||||||
|
* Various improvements to the Python wrappers
|
||||||
|
* Add x86 assembler versions of MD4, MD5, and SHA-1
|
||||||
|
* Expand InitializerOptions' language to support on/off switches
|
||||||
|
* Fix possible resource leaks in the mmap allocator
|
||||||
|
* Slightly optimized buffering in MDx_HashFunction
|
||||||
|
* Initialization failures are dealt with somewhat better
|
||||||
|
* Add an example implementing Pollard's Rho algorithm
|
||||||
|
* Expand the xor_ciph example to support longer keys
|
||||||
|
* Fixed bitrot in the AEP engine
|
||||||
|
* Fix support for marking certificate/CRL extensions as critical
|
||||||
|
* Significant cleanups in the library state / initialization code
|
||||||
|
* LibraryInitializer takes an explicit InitializerOptions object
|
||||||
|
* Make Mutex_Factory an abstract class, add Default_Mutex_Factory
|
||||||
|
* Change configuration access to using global_state()
|
||||||
|
* Add support for global named mutexes throughout the library
|
||||||
|
* Add some STL wrappers for the delete operator
|
||||||
|
* Change how certificates are created to be more flexible and general
|
||||||
|
* Many internal cleanups to the X.509 cert/CRL code
|
||||||
|
* Allow for application code to support new X.509 extensions
|
||||||
|
* Change the return type of X509_Certificate::{subject,issuer}_info
|
||||||
|
* Allow for alternate character set handling mechanisms
|
||||||
|
* Fix a bug that was slowing squaring performance somewhat
|
||||||
|
* Fix a very hard to hit overflow bug in the C version of word3_muladd
|
||||||
|
* Minor cleanups to the assembler modules
|
||||||
|
* Further, major changes to the BER/DER coding system
|
||||||
|
* Updated the Qt mutex module to use Mutex_Factory
|
||||||
|
* Moved the library global state object into an anonymous namespace
|
||||||
|
* The low-level DER/BER coding system was redesigned and rewritten
|
||||||
|
* Portions of the certificate code were cleaned up internally
|
||||||
|
* Use macros to substantially clean up the GCC assembly code
|
||||||
|
* Some slight cleanups in X509_PublicKey::key_id
|
||||||
|
* Fixed a potential infinite loop in the memory pool code (Matt Johnston)
|
||||||
|
* Made Pooling_Allocator::Memory_Block an actual class of sorts
|
||||||
|
* Some small optimizations to the division and modulo computations
|
||||||
|
* Cleaned up the implementation of some of the BigInt operators
|
||||||
|
* Reduced use of dynamic memory allocation in low-level BigInt functions
|
||||||
|
* A few simplifications in the Randpool mixing function
|
||||||
|
* Removed power(), as it was not particularly useful (or fast)
|
||||||
|
* Fixed some annoying bugs in the benchmark code
|
||||||
|
* Added a real credits file
|
||||||
|
* Integrated x86 and amd64 assembly code, contributed by Luca Piccarreta
|
||||||
|
* Fixed a memory access off-by-one in the Karatsuba code
|
||||||
|
* Changed Pooling_Allocator's free list search to a log(N) algorithm
|
||||||
|
* Merged ModularReducer with its only subclass, Barrett_Reducer
|
||||||
|
* Fixed sign-handling bugs in some of the division and modulo code
|
||||||
|
* Renamed the module description files to modinfo.txt
|
||||||
|
* Further cleanups in the initialization code
|
||||||
|
* Removed BigInt::add and BigInt::sub
|
||||||
|
* Merged all the division-related functions into just divide()
|
||||||
|
* Modified the <mp_asmi.h> functions to allow for better optimizations
|
||||||
|
* Made the number of bits polled from an EntropySource user configurable
|
||||||
|
* Avoid including <algorithm> in <botan/secmem.h>
|
||||||
|
* Removed some dead code from bigint_modop
|
||||||
|
* Fix the definition of same_mem
|
||||||
|
* Many optimizations in the low-level multiple precision integer code
|
||||||
|
* Added hooks for assembly implementations of the MPI code
|
||||||
|
* Support for the X.509 issuer alternative name extension in new certs
|
||||||
|
* Fixed a bug in the decompression modules; found and patched by Matt Johnston
|
||||||
|
* mem_pool.cpp was using std::set iterators instead of std::multiset ones
|
||||||
|
* Fixed a bug in X509_CA preventing users from disabling particular extensions
|
||||||
|
* Fixed the mp_asm64 module, which was entirely broken in 1.5.2
|
||||||
|
* Fixed an off-by-one memory read in MISTY1::key()
|
||||||
|
* Fixed a nasty memory leak in Output_Buffers::retire()
|
||||||
|
* Reimplemented the memory allocator from scratch
|
||||||
|
* Improved memory caching in Montgomery exponentiation
|
||||||
|
* Optimizations for multiple precision addition and subtraction
|
||||||
|
* Fixed a build problem in the hardware timer module on 64-bit PowerPC
|
||||||
|
* Changed default Karatsuba cutoff to 12 words (was 14)
|
||||||
|
* Removed MemoryRegion::bits(), which was unused and incorrect
|
||||||
|
* Changed maximum HMAC keylength to 1024 bits
|
||||||
|
* Various minor Makefile and build system changes
|
||||||
|
* Avoid using std::min in <secmem.h> to bypass Windows libc macro pollution
|
||||||
|
* Switched checks/clock.cpp back to using clock() by default
|
||||||
|
* Removed the Default_Mutex's unused clone() member function
|
||||||
|
* Implemented Montgomery exponentiation
|
||||||
|
* Implemented generalized Karatsuba multiplication and squaring
|
||||||
|
* Implemented Comba squaring for 4, 6, and 8 word inputs
|
||||||
|
* Added new Modular_Exponentiator and Power_Mod classes
|
||||||
|
* Removed FixedBase_Exp and FixedExponent_Exp
|
||||||
|
* Fixed a performance regression in get_allocator
|
||||||
|
* Engines can now offer S2K algorithms and block cipher padding methods
|
||||||
|
* Merged the remaining global 'algolist' code into Default_Engine
|
||||||
|
* The low-level MPI code is linked as C again
|
||||||
|
* Replaced BigInt's get_nibble with the more general get_substring
|
||||||
|
* Moved all global/shared library state into a single object
|
||||||
|
* Mutex objects are created through mutex factories instead of a global
|
||||||
|
* Removed ::get_mutex(), ::initialize_mutex(), and Mutex::clone()
|
||||||
|
* Removed the RNG_Quality enum entirely
|
||||||
|
* There is now only a single global-use PRNG
|
||||||
|
* Removed the no_aliases and no_oids options for LibraryInitializer
|
||||||
|
* Removed the deprecated algorithms SEAL, ISAAC, and HAVAL
|
||||||
|
* Fixed an off-by-one memory read in MISTY1::key()
|
||||||
|
* Fixed a nasty memory leak in Output_Buffers::retire()
|
||||||
|
* Changed maximum HMAC keylength to 1024 bits
|
||||||
|
* Changed Whirlpool diffusion matrix to match updated algorithm spec
|
||||||
|
* Added a constructor to DataSource_Memory taking a std::string
|
||||||
|
* Placing the same Filter in multiple Pipes triggers an exception
|
||||||
|
* The configure script accepts --docdir and --libdir
|
||||||
|
* Merged doc/rngs.txt into the main API document
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jan 25 21:31:10 CET 2006 - mls@suse.de
|
||||||
|
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Jan 14 13:07:23 CET 2006 - kukuk@suse.de
|
||||||
|
|
||||||
|
- Add gmp-devel to nfb
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Dec 19 11:58:35 CET 2005 - pth@suse.de
|
||||||
|
|
||||||
|
- Update to 1.4.10
|
||||||
|
- Bunch of cleanups and bugfixes added
|
||||||
|
- Add KASUMI, the block cipher used in 3G phones
|
||||||
|
- Binary file I/O can now be used with the data sink and source classes.
|
||||||
|
- Pipe has been refactored
|
||||||
|
- A possible memory leak in the OpenSSL engine was also fixed.
|
||||||
|
|
||||||
|
- Randpool has been modified to use HMAC instead of a plain hash
|
||||||
|
as its mixing operation.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 23 14:12:09 CET 2005 - pth@suse.de
|
||||||
|
|
||||||
|
- Update to 1.4.9
|
||||||
|
- new algorithms including MARS, SEED, Turing, and FORK-256.
|
||||||
|
- include optimizations for RC6 and Twofish
|
||||||
|
- much better support for 64-bit PowerPC
|
||||||
|
- support for high resolution hardware timers on most PowerPC systems
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Nov 15 16:48:55 CET 2005 - uli@suse.de
|
||||||
|
|
||||||
|
- fixed to build on ARM
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Sep 15 16:25:59 CEST 2005 - pth@suse.de
|
||||||
|
|
||||||
|
- Initial package
|
||||||
|
- Use ISO C99 stdint.h to define integer types.
|
||||||
|
- Mark 64 bit hex constants as ULL to shut up the compiler.
|
||||||
|
|
327
Botan.spec
Normal file
327
Botan.spec
Normal file
@ -0,0 +1,327 @@
|
|||||||
|
#
|
||||||
|
# spec file for package Botan (Version 1.6.4)
|
||||||
|
#
|
||||||
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||||||
|
# This file and all modifications and additions to the pristine
|
||||||
|
# package are under the same license as the package itself.
|
||||||
|
#
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
# norootforbuild
|
||||||
|
|
||||||
|
%define lib_pkg_name libbotan-1_6_4
|
||||||
|
|
||||||
|
Name: Botan
|
||||||
|
Version: 1.6.4
|
||||||
|
Release: 2
|
||||||
|
%define ONLY_BASE_MODS 0
|
||||||
|
##################################################
|
||||||
|
# Hardware restrictions on various modules #
|
||||||
|
##################################################
|
||||||
|
%define USE_TM_HARD i586 i686 athlon x86_64 ppc ppc64 alpha sparcv9 sparc64
|
||||||
|
%define MP64_ARCH alpha ppc64 ia64 sparc64
|
||||||
|
##################################################
|
||||||
|
# Module settings #
|
||||||
|
##################################################
|
||||||
|
%define BASE_MODS alloc_mmap,ml_unix,es_egd,es_ftw,es_unix,fd_unix,tm_unix
|
||||||
|
%define EXTRA_MODS comp_bzip2,comp_zlib,mux_pthr,tm_posix,eng_gmp
|
||||||
|
%ifarch %{USE_TM_HARD}
|
||||||
|
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},tm_hard}
|
||||||
|
%endif
|
||||||
|
%ifarch %{USE_MP64}
|
||||||
|
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_asm64}
|
||||||
|
%endif
|
||||||
|
%ifarch x86
|
||||||
|
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_ia32,alg_ia32}
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
%{expand: %%define EXTRA_MODS %{EXTRA_MODS},mp_amd64,alg_amd64}
|
||||||
|
%endif
|
||||||
|
%if %{ONLY_BASE_MODS}
|
||||||
|
%define MODULES %{BASE_MODS}
|
||||||
|
%else
|
||||||
|
%define MODULES %{BASE_MODS},%{EXTRA_MODS}
|
||||||
|
%endif
|
||||||
|
Url: http://botan.randombit.net
|
||||||
|
Summary: A C++ Crypto Library
|
||||||
|
License: BSD 3-Clause
|
||||||
|
AutoReqProv: on
|
||||||
|
Prefix: /usr
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Source: %{name}-%{version}.tar.bz2
|
||||||
|
Patch0: Botan-inttypes.patch
|
||||||
|
Patch1: Botan-ull_constants.patch.bz2
|
||||||
|
Patch2: Botan-no_fpermissive.patch
|
||||||
|
Patch3: Botan-no_cpu_tuning.patch
|
||||||
|
Patch4: Botan-no_executable_stack.patch
|
||||||
|
Patch5: Botan-missing_sentinel.patch
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
%if ! %{ONLY_BASE_MODS}
|
||||||
|
Requires: zlib, bzip2 >= 1.0.2, gmp >= 4.1
|
||||||
|
BuildRequires: bzip2 >= 1.0.2 gmp-devel >= 4.1 zlib-devel
|
||||||
|
BuildRequires: gcc-c++ gmp-devel libbz2-devel
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
Botan is a C++ library that provides support for many common
|
||||||
|
cryptographic operations, including encryption, authentication, and
|
||||||
|
X.509v3 certificates and CRLs. A wide variety of algorithms is
|
||||||
|
supported, including RSA, DSA, DES, AES, MD5, and SHA-1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
--------
|
||||||
|
Jack Lloyd <lloyd@randombit.net>
|
||||||
|
|
||||||
|
%package -n libbotan-1_6_4
|
||||||
|
License: BSD 3-Clause
|
||||||
|
Summary: A C++ Crypto Library
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
#Rename done for openSUSE 11.0
|
||||||
|
Provides: Botan = %{version}
|
||||||
|
Obsoletes: Botan < %{version}
|
||||||
|
|
||||||
|
%description -n libbotan-1_6_4
|
||||||
|
Botan is a C++ library that provides support for many common
|
||||||
|
cryptographic operations, including encryption, authentication, and
|
||||||
|
X.509v3 certificates and CRLs. A wide variety of algorithms is
|
||||||
|
supported, including RSA, DSA, DES, AES, MD5, and SHA-1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
--------
|
||||||
|
Jack Lloyd <lloyd@randombit.net>
|
||||||
|
|
||||||
|
%package -n libbotan-devel
|
||||||
|
License: BSD 3-Clause
|
||||||
|
Summary: Development files for Botan
|
||||||
|
Group: Development/Libraries/C and C++
|
||||||
|
Requires: libbotan-1_6_4 = %{version}
|
||||||
|
Requires: gmp-devel libbz2-devel
|
||||||
|
Provides: Botan-devel = %{version}
|
||||||
|
Obsoletes: Botan-devel < %{version}
|
||||||
|
|
||||||
|
%description -n libbotan-devel
|
||||||
|
This package contains the header files and libraries needed to develop
|
||||||
|
programs that use the Botan library.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Authors:
|
||||||
|
--------
|
||||||
|
Name: Jack Lloyd <lloyd@randombit.net>
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0
|
||||||
|
%patch1
|
||||||
|
%patch2
|
||||||
|
%patch3
|
||||||
|
%patch4
|
||||||
|
%patch5
|
||||||
|
|
||||||
|
%build
|
||||||
|
%define botan_docdir %{_defaultdocdir}/%{name}
|
||||||
|
%define common_config_flags --libdir=%{_lib} --noauto --modules=%{MODULES}
|
||||||
|
%ifarch %arm
|
||||||
|
./configure.pl %{common_config_flags} gcc-%{_target_os}-arm3
|
||||||
|
%else
|
||||||
|
./configure.pl %{common_config_flags} gcc-%{_target_os}-%{_target_cpu}
|
||||||
|
%endif
|
||||||
|
make LANG_FLAGS+="%{optflags}" DOCDIR=%{_defaultdocdir}/%{name} shared static
|
||||||
|
|
||||||
|
%install
|
||||||
|
make DOCDIR=%{buildroot}/%{botan_docdir} OWNER=$(id -u) GROUP=$(id -g) INSTALLROOT="%{buildroot}%{prefix}" install
|
||||||
|
rm -rf %{buildroot}/usr/share/doc/Botan-1.6.1
|
||||||
|
rm -f %{buildroot}/%{botan_docdir}/fips140.tex
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%post -n libbotan-1_6_4 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun -n libbotan-1_6_4 -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%files -n libbotan-1_6_4
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%docdir %{botan_docdir}
|
||||||
|
%{botan_docdir}/license.txt
|
||||||
|
%{botan_docdir}/readme.txt
|
||||||
|
%{botan_docdir}/log.txt
|
||||||
|
%{botan_docdir}/thanks.txt
|
||||||
|
%{botan_docdir}/credits.txt
|
||||||
|
%{botan_docdir}/pgpkeys.asc
|
||||||
|
%{botan_docdir}/info.txt
|
||||||
|
%{_libdir}/libbotan-*.so
|
||||||
|
|
||||||
|
%files -n libbotan-devel
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%docdir %{botan_docdir}
|
||||||
|
%dir %{botan_docdir}
|
||||||
|
%{botan_docdir}/api.pdf
|
||||||
|
%{botan_docdir}/api.tex
|
||||||
|
%{botan_docdir}/tutorial.pdf
|
||||||
|
%{botan_docdir}/tutorial.tex
|
||||||
|
%{botan_docdir}/todo.txt
|
||||||
|
%{_libdir}/libbotan.so
|
||||||
|
%{_libdir}/libbotan.a
|
||||||
|
%{_includedir}/botan/
|
||||||
|
%{_bindir}/botan-config
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Apr 07 2008 pth@suse.de
|
||||||
|
- No macros for package name.
|
||||||
|
* Thu Apr 03 2008 pth@suse.de
|
||||||
|
- Update to 1.6.4. While the included fix is uninteresting for
|
||||||
|
Linux, it makes it easier to rename the package once again to
|
||||||
|
its old name:
|
||||||
|
* Fix a compilation problem with Visual Studio C++ 2003
|
||||||
|
* Fri Aug 03 2007 dmueller@suse.de
|
||||||
|
- update to 1.6.3:
|
||||||
|
* fixes various multithreading issues
|
||||||
|
* Thu Jun 21 2007 dmueller@suse.de
|
||||||
|
- update to 1.6.2:
|
||||||
|
* Remove a call to abort() that crept into production
|
||||||
|
* Mon Apr 23 2007 dmueller@suse.de
|
||||||
|
- fix -devel package requires
|
||||||
|
* Sat Mar 24 2007 aj@suse.de
|
||||||
|
- Add libbz2-devel to BuildRequires.
|
||||||
|
* Fri Mar 09 2007 pth@suse.de
|
||||||
|
- Update to 1.6.1. Changes since 1.4.10:
|
||||||
|
* Compilation fixes for the bzip2, zlib, and GNU MP modules
|
||||||
|
* Better support for Intel C++ and EKOpath C++ on x86-64
|
||||||
|
* Cleanups in the initialization routines
|
||||||
|
* Add some x86-64 assembly for multiply-add
|
||||||
|
* Fix problems generating very small (below 384 bit) RSA keys
|
||||||
|
* More improvements to the Python bindings
|
||||||
|
* Removed the Algorithm base class
|
||||||
|
* Various cleanups in the public key inheritance hierarchy
|
||||||
|
* Added x86 assembler implementations of Serpent and low-level MPI code
|
||||||
|
* Optimizations for the SHA-1 x86 assembler
|
||||||
|
* Various improvements to the Python wrappers
|
||||||
|
* Add x86 assembler versions of MD4, MD5, and SHA-1
|
||||||
|
* Expand InitializerOptions' language to support on/off switches
|
||||||
|
* Fix possible resource leaks in the mmap allocator
|
||||||
|
* Slightly optimized buffering in MDx_HashFunction
|
||||||
|
* Initialization failures are dealt with somewhat better
|
||||||
|
* Add an example implementing Pollard's Rho algorithm
|
||||||
|
* Expand the xor_ciph example to support longer keys
|
||||||
|
* Fixed bitrot in the AEP engine
|
||||||
|
* Fix support for marking certificate/CRL extensions as critical
|
||||||
|
* Significant cleanups in the library state / initialization code
|
||||||
|
* LibraryInitializer takes an explicit InitializerOptions object
|
||||||
|
* Make Mutex_Factory an abstract class, add Default_Mutex_Factory
|
||||||
|
* Change configuration access to using global_state()
|
||||||
|
* Add support for global named mutexes throughout the library
|
||||||
|
* Add some STL wrappers for the delete operator
|
||||||
|
* Change how certificates are created to be more flexible and general
|
||||||
|
* Many internal cleanups to the X.509 cert/CRL code
|
||||||
|
* Allow for application code to support new X.509 extensions
|
||||||
|
* Change the return type of X509_Certificate::{subject,issuer}_info
|
||||||
|
* Allow for alternate character set handling mechanisms
|
||||||
|
* Fix a bug that was slowing squaring performance somewhat
|
||||||
|
* Fix a very hard to hit overflow bug in the C version of word3_muladd
|
||||||
|
* Minor cleanups to the assembler modules
|
||||||
|
* Further, major changes to the BER/DER coding system
|
||||||
|
* Updated the Qt mutex module to use Mutex_Factory
|
||||||
|
* Moved the library global state object into an anonymous namespace
|
||||||
|
* The low-level DER/BER coding system was redesigned and rewritten
|
||||||
|
* Portions of the certificate code were cleaned up internally
|
||||||
|
* Use macros to substantially clean up the GCC assembly code
|
||||||
|
* Some slight cleanups in X509_PublicKey::key_id
|
||||||
|
* Fixed a potential infinite loop in the memory pool code (Matt Johnston)
|
||||||
|
* Made Pooling_Allocator::Memory_Block an actual class of sorts
|
||||||
|
* Some small optimizations to the division and modulo computations
|
||||||
|
* Cleaned up the implementation of some of the BigInt operators
|
||||||
|
* Reduced use of dynamic memory allocation in low-level BigInt functions
|
||||||
|
* A few simplifications in the Randpool mixing function
|
||||||
|
* Removed power(), as it was not particularly useful (or fast)
|
||||||
|
* Fixed some annoying bugs in the benchmark code
|
||||||
|
* Added a real credits file
|
||||||
|
* Integrated x86 and amd64 assembly code, contributed by Luca Piccarreta
|
||||||
|
* Fixed a memory access off-by-one in the Karatsuba code
|
||||||
|
* Changed Pooling_Allocator's free list search to a log(N) algorithm
|
||||||
|
* Merged ModularReducer with its only subclass, Barrett_Reducer
|
||||||
|
* Fixed sign-handling bugs in some of the division and modulo code
|
||||||
|
* Renamed the module description files to modinfo.txt
|
||||||
|
* Further cleanups in the initialization code
|
||||||
|
* Removed BigInt::add and BigInt::sub
|
||||||
|
* Merged all the division-related functions into just divide()
|
||||||
|
* Modified the <mp_asmi.h> functions to allow for better optimizations
|
||||||
|
* Made the number of bits polled from an EntropySource user configurable
|
||||||
|
* Avoid including <algorithm> in <botan/secmem.h>
|
||||||
|
* Removed some dead code from bigint_modop
|
||||||
|
* Fix the definition of same_mem
|
||||||
|
* Many optimizations in the low-level multiple precision integer code
|
||||||
|
* Added hooks for assembly implementations of the MPI code
|
||||||
|
* Support for the X.509 issuer alternative name extension in new certs
|
||||||
|
* Fixed a bug in the decompression modules; found and patched by Matt Johnston
|
||||||
|
* mem_pool.cpp was using std::set iterators instead of std::multiset ones
|
||||||
|
* Fixed a bug in X509_CA preventing users from disabling particular extensions
|
||||||
|
* Fixed the mp_asm64 module, which was entirely broken in 1.5.2
|
||||||
|
* Fixed an off-by-one memory read in MISTY1::key()
|
||||||
|
* Fixed a nasty memory leak in Output_Buffers::retire()
|
||||||
|
* Reimplemented the memory allocator from scratch
|
||||||
|
* Improved memory caching in Montgomery exponentiation
|
||||||
|
* Optimizations for multiple precision addition and subtraction
|
||||||
|
* Fixed a build problem in the hardware timer module on 64-bit PowerPC
|
||||||
|
* Changed default Karatsuba cutoff to 12 words (was 14)
|
||||||
|
* Removed MemoryRegion::bits(), which was unused and incorrect
|
||||||
|
* Changed maximum HMAC keylength to 1024 bits
|
||||||
|
* Various minor Makefile and build system changes
|
||||||
|
* Avoid using std::min in <secmem.h> to bypass Windows libc macro pollution
|
||||||
|
* Switched checks/clock.cpp back to using clock() by default
|
||||||
|
* Removed the Default_Mutex's unused clone() member function
|
||||||
|
* Implemented Montgomery exponentiation
|
||||||
|
* Implemented generalized Karatsuba multiplication and squaring
|
||||||
|
* Implemented Comba squaring for 4, 6, and 8 word inputs
|
||||||
|
* Added new Modular_Exponentiator and Power_Mod classes
|
||||||
|
* Removed FixedBase_Exp and FixedExponent_Exp
|
||||||
|
* Fixed a performance regression in get_allocator
|
||||||
|
* Engines can now offer S2K algorithms and block cipher padding methods
|
||||||
|
* Merged the remaining global 'algolist' code into Default_Engine
|
||||||
|
* The low-level MPI code is linked as C again
|
||||||
|
* Replaced BigInt's get_nibble with the more general get_substring
|
||||||
|
* Moved all global/shared library state into a single object
|
||||||
|
* Mutex objects are created through mutex factories instead of a global
|
||||||
|
* Removed ::get_mutex(), ::initialize_mutex(), and Mutex::clone()
|
||||||
|
* Removed the RNG_Quality enum entirely
|
||||||
|
* There is now only a single global-use PRNG
|
||||||
|
* Removed the no_aliases and no_oids options for LibraryInitializer
|
||||||
|
* Removed the deprecated algorithms SEAL, ISAAC, and HAVAL
|
||||||
|
* Fixed an off-by-one memory read in MISTY1::key()
|
||||||
|
* Fixed a nasty memory leak in Output_Buffers::retire()
|
||||||
|
* Changed maximum HMAC keylength to 1024 bits
|
||||||
|
* Changed Whirlpool diffusion matrix to match updated algorithm spec
|
||||||
|
* Added a constructor to DataSource_Memory taking a std::string
|
||||||
|
* Placing the same Filter in multiple Pipes triggers an exception
|
||||||
|
* The configure script accepts --docdir and --libdir
|
||||||
|
* Merged doc/rngs.txt into the main API document
|
||||||
|
* Wed Jan 25 2006 mls@suse.de
|
||||||
|
- converted neededforbuild to BuildRequires
|
||||||
|
* Sat Jan 14 2006 kukuk@suse.de
|
||||||
|
- Add gmp-devel to nfb
|
||||||
|
* Mon Dec 19 2005 pth@suse.de
|
||||||
|
- Update to 1.4.10
|
||||||
|
- Bunch of cleanups and bugfixes added
|
||||||
|
- Add KASUMI, the block cipher used in 3G phones
|
||||||
|
- Binary file I/O can now be used with the data sink and source classes.
|
||||||
|
- Pipe has been refactored
|
||||||
|
- A possible memory leak in the OpenSSL engine was also fixed.
|
||||||
|
- Randpool has been modified to use HMAC instead of a plain hash
|
||||||
|
as its mixing operation.
|
||||||
|
* Wed Nov 23 2005 pth@suse.de
|
||||||
|
- Update to 1.4.9
|
||||||
|
- new algorithms including MARS, SEED, Turing, and FORK-256.
|
||||||
|
- include optimizations for RC6 and Twofish
|
||||||
|
- much better support for 64-bit PowerPC
|
||||||
|
- support for high resolution hardware timers on most PowerPC systems
|
||||||
|
* Tue Nov 15 2005 uli@suse.de
|
||||||
|
- fixed to build on ARM
|
||||||
|
* Thu Sep 15 2005 pth@suse.de
|
||||||
|
- Initial package
|
||||||
|
- Use ISO C99 stdint.h to define integer types.
|
||||||
|
- Mark 64 bit hex constants as ULL to shut up the compiler.
|
Loading…
Reference in New Issue
Block a user