diff options
author | bsiegert <bsiegert@pkgsrc.org> | 2013-12-04 10:01:30 +0000 |
---|---|---|
committer | bsiegert <bsiegert@pkgsrc.org> | 2013-12-04 10:01:30 +0000 |
commit | ac476b287b1d31f8468da0b6f364c5839e8e914d (patch) | |
tree | fe5df42725123916b3f21caa4cceacfbfae763dc | |
parent | c09b199b1bc0a62178e5d61cac14588be1919482 (diff) | |
download | pkgsrc-ac476b287b1d31f8468da0b6f364c5839e8e914d.tar.gz |
Fix heimdal build under MirBSD.
The three tommath patches (which patch the files into existence) have
been included in the source code since heimdal 1.5, so remove them.
Compile errors due to missing -pthread in MirBSD were fixed by adding
PTHREAD_AUTO_VARS.
-rw-r--r-- | security/heimdal/Makefile | 9 | ||||
-rw-r--r-- | security/heimdal/distinfo | 5 | ||||
-rw-r--r-- | security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath.h | 592 | ||||
-rw-r--r-- | security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_class.h | 1001 | ||||
-rw-r--r-- | security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_superclass.h | 77 |
5 files changed, 9 insertions, 1675 deletions
diff --git a/security/heimdal/Makefile b/security/heimdal/Makefile index 0c781a9c340..20a77225032 100644 --- a/security/heimdal/Makefile +++ b/security/heimdal/Makefile @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.106 2013/10/19 09:06:56 adam Exp $ +# $NetBSD: Makefile,v 1.107 2013/12/04 10:01:30 bsiegert Exp $ DISTNAME= heimdal-1.5.3 PKGREVISION= 3 @@ -89,6 +89,13 @@ PLIST.afskauth= yes PLIST.hcrypto= yes .endif +.if ${OPSYS} == "MirBSD" +PLIST.hcrypto= yes +PLIST.vis= yes +# all of the tools need to link against pthread, force it. +PTHREAD_AUTO_VARS= yes +.endif + OWN_DIRS_PERMS= ${HEIMDAL_HDB_DIR} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700 SPECIAL_PERMS+= ${PREFIX}/bin/otp ${SETUID_ROOT_PERMS} SPECIAL_PERMS= ${PREFIX}/bin/${KRB5_PREFIX}su ${SETUID_ROOT_PERMS} diff --git a/security/heimdal/distinfo b/security/heimdal/distinfo index 8fb59df448d..86a8454050b 100644 --- a/security/heimdal/distinfo +++ b/security/heimdal/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.39 2013/10/11 16:21:40 roy Exp $ +$NetBSD: distinfo,v 1.40 2013/12/04 10:01:30 bsiegert Exp $ SHA1 (heimdal-1.5.3.tar.gz) = 23f39a099ae862dce1f5f4e5c3720861849a4bd0 RMD160 (heimdal-1.5.3.tar.gz) = 834660b4c0fe81a3aac4ffd9d8d37d74add1fa70 @@ -9,9 +9,6 @@ SHA1 (patch-cf_install-catman.sh) = 8eb8ea0c0c8b281c080c85eefc3abbc7dcbe6746 SHA1 (patch-cf_libtool.m4) = cd229e0e934649cb04c3f39928d1fa12c2474f62 SHA1 (patch-cf_pthreads.m4) = eff8f355887d2f9795446073efd67ccf739db2c9 SHA1 (patch-kdc_version-script.map) = 42b0417a16b19a680f30ae34cfffd082f609d4a6 -SHA1 (patch-lib_hcrypto_libtommath_tommath.h) = 60f223bb23145854f2a144da9e0a9484728b618a -SHA1 (patch-lib_hcrypto_libtommath_tommath_class.h) = 8c7b1e8d30cda79fd59a8ef83094a611b47a43df -SHA1 (patch-lib_hcrypto_libtommath_tommath_superclass.h) = 141e75b5b310446694769b16a977fa5b25160fbd SHA1 (patch-lib_libedit_aclocal.m4) = c50025a3b9bcae9913adab251169462dbc0f3221 SHA1 (patch-lib_libedit_configure) = c029c471d68d389e67e1cc636a352a004fd6124e SHA1 (patch-lib_libedit_configure.ac) = 588b184615a80ab85d7c3624c6c05860c8e6feb0 diff --git a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath.h b/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath.h deleted file mode 100644 index 64a374e5a4a..00000000000 --- a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath.h +++ /dev/null @@ -1,592 +0,0 @@ -$NetBSD: patch-lib_hcrypto_libtommath_tommath.h,v 1.3 2011/09/15 13:01:14 hans Exp $ - ---- lib/hcrypto/libtommath/tommath.h.orig 2011-09-15 09:31:23.190661136 +0200 -+++ lib/hcrypto/libtommath/tommath.h 2011-09-15 09:32:00.326647970 +0200 -@@ -0,0 +1,587 @@ -+/* LibTomMath, multiple-precision integer library -- Tom St Denis -+ * -+ * LibTomMath is a library that provides multiple-precision -+ * integer arithmetic as well as number theoretic functionality. -+ * -+ * The library was designed directly after the MPI library by -+ * Michael Fromberger but has been written from scratch with -+ * additional optimizations in place. -+ * -+ * The library is free for all purposes without any express -+ * guarantee it works. -+ * -+ * Tom St Denis, tomstdenis@gmail.com, http://math.libtomcrypt.com -+ */ -+#ifndef BN_H_ -+#define BN_H_ -+ -+#include <stdio.h> -+#include <string.h> -+#include <stdlib.h> -+#include <ctype.h> -+#include <limits.h> -+ -+#include <tommath_class.h> -+ -+#ifndef MIN -+ #define MIN(x,y) ((x)<(y)?(x):(y)) -+#endif -+ -+#ifndef MAX -+ #define MAX(x,y) ((x)>(y)?(x):(y)) -+#endif -+ -+#ifdef __cplusplus -+extern "C" { -+ -+/* C++ compilers don't like assigning void * to mp_digit * */ -+#define OPT_CAST(x) (x *) -+ -+#else -+ -+/* C on the other hand doesn't care */ -+#define OPT_CAST(x) -+ -+#endif -+ -+ -+/* detect 64-bit mode if possible */ -+#if defined(__x86_64__) -+ #if !(defined(MP_64BIT) && defined(MP_16BIT) && defined(MP_8BIT)) -+ #define MP_64BIT -+ #endif -+#endif -+ -+/* some default configurations. -+ * -+ * A "mp_digit" must be able to hold DIGIT_BIT + 1 bits -+ * A "mp_word" must be able to hold 2*DIGIT_BIT + 1 bits -+ * -+ * At the very least a mp_digit must be able to hold 7 bits -+ * [any size beyond that is ok provided it doesn't overflow the data type] -+ */ -+#ifdef MP_8BIT -+ typedef unsigned char mp_digit; -+ typedef unsigned short mp_word; -+#elif defined(MP_16BIT) -+ typedef unsigned short mp_digit; -+ typedef unsigned long mp_word; -+#elif defined(MP_64BIT) -+ /* for GCC only on supported platforms */ -+#ifndef CRYPT -+ typedef unsigned long long ulong64; -+ typedef signed long long long64; -+#endif -+ -+ typedef unsigned long mp_digit; -+ typedef unsigned long mp_word __attribute__ ((mode(TI))); -+ -+ #define DIGIT_BIT 60 -+#else -+ /* this is the default case, 28-bit digits */ -+ -+ /* this is to make porting into LibTomCrypt easier :-) */ -+#ifndef CRYPT -+ #if defined(_MSC_VER) || defined(__BORLANDC__) -+ typedef unsigned __int64 ulong64; -+ typedef signed __int64 long64; -+ #else -+ typedef unsigned long long ulong64; -+ typedef signed long long long64; -+ #endif -+#endif -+ -+ typedef unsigned long mp_digit; -+ typedef ulong64 mp_word; -+ -+#ifdef MP_31BIT -+ /* this is an extension that uses 31-bit digits */ -+ #define DIGIT_BIT 31 -+#else -+ /* default case is 28-bit digits, defines MP_28BIT as a handy macro to test */ -+ #define DIGIT_BIT 28 -+ #define MP_28BIT -+#endif -+#endif -+ -+/* define heap macros */ -+#ifndef CRYPT -+ /* default to libc stuff */ -+ #ifndef XMALLOC -+ #define XMALLOC malloc -+ #define XFREE free -+ #define XREALLOC realloc -+ #define XCALLOC calloc -+ #else -+ /* prototypes for our heap functions */ -+ extern void *XMALLOC(size_t n); -+ extern void *XREALLOC(void *p, size_t n); -+ extern void *XCALLOC(size_t n, size_t s); -+ extern void XFREE(void *p); -+ #endif -+#endif -+ -+ -+/* otherwise the bits per digit is calculated automatically from the size of a mp_digit */ -+#ifndef DIGIT_BIT -+ #define DIGIT_BIT ((int)((CHAR_BIT * sizeof(mp_digit) - 1))) /* bits per digit */ -+#endif -+ -+#define MP_DIGIT_BIT DIGIT_BIT -+#define MP_MASK ((((mp_digit)1)<<((mp_digit)DIGIT_BIT))-((mp_digit)1)) -+#define MP_DIGIT_MAX MP_MASK -+ -+/* equalities */ -+#define MP_LT -1 /* less than */ -+#define MP_EQ 0 /* equal to */ -+#define MP_GT 1 /* greater than */ -+ -+#define MP_ZPOS 0 /* positive integer */ -+#define MP_NEG 1 /* negative */ -+ -+#define MP_OKAY 0 /* ok result */ -+#define MP_MEM -2 /* out of mem */ -+#define MP_VAL -3 /* invalid input */ -+#define MP_RANGE MP_VAL -+ -+#define MP_YES 1 /* yes response */ -+#define MP_NO 0 /* no response */ -+ -+/* Primality generation flags */ -+#define LTM_PRIME_BBS 0x0001 /* BBS style prime */ -+#define LTM_PRIME_SAFE 0x0002 /* Safe prime (p-1)/2 == prime */ -+#define LTM_PRIME_2MSB_ON 0x0008 /* force 2nd MSB to 1 */ -+ -+typedef int mp_err; -+ -+/* you'll have to tune these... */ -+extern int KARATSUBA_MUL_CUTOFF, -+ KARATSUBA_SQR_CUTOFF, -+ TOOM_MUL_CUTOFF, -+ TOOM_SQR_CUTOFF; -+ -+/* define this to use lower memory usage routines (exptmods mostly) */ -+/* #define MP_LOW_MEM */ -+ -+/* default precision */ -+#ifndef MP_PREC -+ #ifndef MP_LOW_MEM -+ #define MP_PREC 32 /* default digits of precision */ -+ #else -+ #define MP_PREC 8 /* default digits of precision */ -+ #endif -+#endif -+ -+/* size of comba arrays, should be at least 2 * 2**(BITS_PER_WORD - BITS_PER_DIGIT*2) */ -+#define MP_WARRAY (1 << (sizeof(mp_word) * CHAR_BIT - 2 * DIGIT_BIT + 1)) -+ -+/* the infamous mp_int structure */ -+typedef struct { -+ int used, alloc, sign; -+ mp_digit *dp; -+} mp_int; -+ -+/* callback for mp_prime_random, should fill dst with random bytes and return how many read [upto len] */ -+typedef int ltm_prime_callback(unsigned char *dst, int len, void *dat); -+ -+ -+#define USED(m) ((m)->used) -+#define DIGIT(m,k) ((m)->dp[(k)]) -+#define SIGN(m) ((m)->sign) -+ -+/* error code to char* string */ -+char *mp_error_to_string(int code); -+ -+/* ---> init and deinit bignum functions <--- */ -+/* init a bignum */ -+int mp_init(mp_int *a); -+ -+/* free a bignum */ -+void mp_clear(mp_int *a); -+ -+/* init a null terminated series of arguments */ -+int mp_init_multi(mp_int *mp, ...); -+ -+/* clear a null terminated series of arguments */ -+void mp_clear_multi(mp_int *mp, ...); -+ -+/* exchange two ints */ -+void mp_exch(mp_int *a, mp_int *b); -+ -+/* shrink ram required for a bignum */ -+int mp_shrink(mp_int *a); -+ -+/* grow an int to a given size */ -+int mp_grow(mp_int *a, int size); -+ -+/* init to a given number of digits */ -+int mp_init_size(mp_int *a, int size); -+ -+/* ---> Basic Manipulations <--- */ -+#define mp_iszero(a) (((a)->used == 0) ? MP_YES : MP_NO) -+#define mp_iseven(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 0)) ? MP_YES : MP_NO) -+#define mp_isodd(a) (((a)->used > 0 && (((a)->dp[0] & 1) == 1)) ? MP_YES : MP_NO) -+#define mp_isneg(a) (((a)->sign) ? MP_YES : MP_NO) -+ -+/* set to zero */ -+void mp_zero(mp_int *a); -+ -+/* set to zero, multi */ -+void mp_zero_multi(mp_int *a, ...); -+ -+/* set to a digit */ -+void mp_set(mp_int *a, mp_digit b); -+ -+/* set a 32-bit const */ -+int mp_set_int(mp_int *a, unsigned long b); -+ -+/* get a 32-bit value */ -+unsigned long mp_get_int(mp_int * a); -+ -+/* initialize and set a digit */ -+int mp_init_set (mp_int * a, mp_digit b); -+ -+/* initialize and set 32-bit value */ -+int mp_init_set_int (mp_int * a, unsigned long b); -+ -+/* copy, b = a */ -+int mp_copy(mp_int *a, mp_int *b); -+ -+/* inits and copies, a = b */ -+int mp_init_copy(mp_int *a, mp_int *b); -+ -+/* trim unused digits */ -+void mp_clamp(mp_int *a); -+ -+/* ---> digit manipulation <--- */ -+ -+/* right shift by "b" digits */ -+void mp_rshd(mp_int *a, int b); -+ -+/* left shift by "b" digits */ -+int mp_lshd(mp_int *a, int b); -+ -+/* c = a / 2**b */ -+int mp_div_2d(mp_int *a, int b, mp_int *c, mp_int *d); -+ -+/* b = a/2 */ -+int mp_div_2(mp_int *a, mp_int *b); -+ -+/* c = a * 2**b */ -+int mp_mul_2d(mp_int *a, int b, mp_int *c); -+ -+/* b = a*2 */ -+int mp_mul_2(mp_int *a, mp_int *b); -+ -+/* c = a mod 2**d */ -+int mp_mod_2d(mp_int *a, int b, mp_int *c); -+ -+/* computes a = 2**b */ -+int mp_2expt(mp_int *a, int b); -+ -+/* Counts the number of lsbs which are zero before the first zero bit */ -+int mp_cnt_lsb(mp_int *a); -+ -+/* I Love Earth! */ -+ -+/* makes a pseudo-random int of a given size */ -+int mp_rand(mp_int *a, int digits); -+ -+/* ---> binary operations <--- */ -+/* c = a XOR b */ -+int mp_xor(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = a OR b */ -+int mp_or(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = a AND b */ -+int mp_and(mp_int *a, mp_int *b, mp_int *c); -+ -+/* ---> Basic arithmetic <--- */ -+ -+/* b = -a */ -+int mp_neg(mp_int *a, mp_int *b); -+ -+/* b = |a| */ -+int mp_abs(mp_int *a, mp_int *b); -+ -+/* compare a to b */ -+int mp_cmp(mp_int *a, mp_int *b); -+ -+/* compare |a| to |b| */ -+int mp_cmp_mag(mp_int *a, mp_int *b); -+ -+/* c = a + b */ -+int mp_add(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = a - b */ -+int mp_sub(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = a * b */ -+int mp_mul(mp_int *a, mp_int *b, mp_int *c); -+ -+/* b = a*a */ -+int mp_sqr(mp_int *a, mp_int *b); -+ -+/* a/b => cb + d == a */ -+int mp_div(mp_int *a, mp_int *b, mp_int *c, mp_int *d); -+ -+/* c = a mod b, 0 <= c < b */ -+int mp_mod(mp_int *a, mp_int *b, mp_int *c); -+ -+/* ---> single digit functions <--- */ -+ -+/* compare against a single digit */ -+int mp_cmp_d(mp_int *a, mp_digit b); -+ -+/* c = a + b */ -+int mp_add_d(mp_int *a, mp_digit b, mp_int *c); -+ -+/* c = a - b */ -+int mp_sub_d(mp_int *a, mp_digit b, mp_int *c); -+ -+/* c = a * b */ -+int mp_mul_d(mp_int *a, mp_digit b, mp_int *c); -+ -+/* a/b => cb + d == a */ -+int mp_div_d(mp_int *a, mp_digit b, mp_int *c, mp_digit *d); -+ -+/* a/3 => 3c + d == a */ -+int mp_div_3(mp_int *a, mp_int *c, mp_digit *d); -+ -+/* c = a**b */ -+int mp_expt_d(mp_int *a, mp_digit b, mp_int *c); -+ -+/* c = a mod b, 0 <= c < b */ -+int mp_mod_d(mp_int *a, mp_digit b, mp_digit *c); -+ -+/* ---> number theory <--- */ -+ -+/* d = a + b (mod c) */ -+int mp_addmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d); -+ -+/* d = a - b (mod c) */ -+int mp_submod(mp_int *a, mp_int *b, mp_int *c, mp_int *d); -+ -+/* d = a * b (mod c) */ -+int mp_mulmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d); -+ -+/* c = a * a (mod b) */ -+int mp_sqrmod(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = 1/a (mod b) */ -+int mp_invmod(mp_int *a, mp_int *b, mp_int *c); -+ -+/* c = (a, b) */ -+int mp_gcd(mp_int *a, mp_int *b, mp_int *c); -+ -+/* produces value such that U1*a + U2*b = U3 */ -+int mp_exteuclid(mp_int *a, mp_int *b, mp_int *U1, mp_int *U2, mp_int *U3); -+ -+/* c = [a, b] or (a*b)/(a, b) */ -+int mp_lcm(mp_int *a, mp_int *b, mp_int *c); -+ -+/* finds one of the b'th root of a, such that |c|**b <= |a| -+ * -+ * returns error if a < 0 and b is even -+ */ -+int mp_n_root(mp_int *a, mp_digit b, mp_int *c); -+ -+/* special sqrt algo */ -+int mp_sqrt(mp_int *arg, mp_int *ret); -+ -+/* is number a square? */ -+int mp_is_square(mp_int *arg, int *ret); -+ -+/* computes the jacobi c = (a | n) (or Legendre if b is prime) */ -+int mp_jacobi(mp_int *a, mp_int *n, int *c); -+ -+/* used to setup the Barrett reduction for a given modulus b */ -+int mp_reduce_setup(mp_int *a, mp_int *b); -+ -+/* Barrett Reduction, computes a (mod b) with a precomputed value c -+ * -+ * Assumes that 0 < a <= b*b, note if 0 > a > -(b*b) then you can merely -+ * compute the reduction as -1 * mp_reduce(mp_abs(a)) [pseudo code]. -+ */ -+int mp_reduce(mp_int *a, mp_int *b, mp_int *c); -+ -+/* setups the montgomery reduction */ -+int mp_montgomery_setup(mp_int *a, mp_digit *mp); -+ -+/* computes a = B**n mod b without division or multiplication useful for -+ * normalizing numbers in a Montgomery system. -+ */ -+int mp_montgomery_calc_normalization(mp_int *a, mp_int *b); -+ -+/* computes x/R == x (mod N) via Montgomery Reduction */ -+int mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp); -+ -+/* returns 1 if a is a valid DR modulus */ -+int mp_dr_is_modulus(mp_int *a); -+ -+/* sets the value of "d" required for mp_dr_reduce */ -+void mp_dr_setup(mp_int *a, mp_digit *d); -+ -+/* reduces a modulo b using the Diminished Radix method */ -+int mp_dr_reduce(mp_int *a, mp_int *b, mp_digit mp); -+ -+/* returns true if a can be reduced with mp_reduce_2k */ -+int mp_reduce_is_2k(mp_int *a); -+ -+/* determines k value for 2k reduction */ -+int mp_reduce_2k_setup(mp_int *a, mp_digit *d); -+ -+/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */ -+int mp_reduce_2k(mp_int *a, mp_int *n, mp_digit d); -+ -+/* returns true if a can be reduced with mp_reduce_2k_l */ -+int mp_reduce_is_2k_l(mp_int *a); -+ -+/* determines k value for 2k reduction */ -+int mp_reduce_2k_setup_l(mp_int *a, mp_int *d); -+ -+/* reduces a modulo b where b is of the form 2**p - k [0 <= a] */ -+int mp_reduce_2k_l(mp_int *a, mp_int *n, mp_int *d); -+ -+/* d = a**b (mod c) */ -+int mp_exptmod(mp_int *a, mp_int *b, mp_int *c, mp_int *d); -+ -+/* ---> Primes <--- */ -+ -+/* number of primes */ -+#ifdef MP_8BIT -+ #define PRIME_SIZE 31 -+#else -+ #define PRIME_SIZE 256 -+#endif -+ -+/* table of first PRIME_SIZE primes */ -+extern const mp_digit ltm_prime_tab[]; -+ -+/* result=1 if a is divisible by one of the first PRIME_SIZE primes */ -+int mp_prime_is_divisible(mp_int *a, int *result); -+ -+/* performs one Fermat test of "a" using base "b". -+ * Sets result to 0 if composite or 1 if probable prime -+ */ -+int mp_prime_fermat(mp_int *a, mp_int *b, int *result); -+ -+/* performs one Miller-Rabin test of "a" using base "b". -+ * Sets result to 0 if composite or 1 if probable prime -+ */ -+int mp_prime_miller_rabin(mp_int *a, mp_int *b, int *result); -+ -+/* This gives [for a given bit size] the number of trials required -+ * such that Miller-Rabin gives a prob of failure lower than 2^-96 -+ */ -+int mp_prime_rabin_miller_trials(int size); -+ -+/* performs t rounds of Miller-Rabin on "a" using the first -+ * t prime bases. Also performs an initial sieve of trial -+ * division. Determines if "a" is prime with probability -+ * of error no more than (1/4)**t. -+ * -+ * Sets result to 1 if probably prime, 0 otherwise -+ */ -+int mp_prime_is_prime(mp_int *a, int t, int *result); -+ -+/* finds the next prime after the number "a" using "t" trials -+ * of Miller-Rabin. -+ * -+ * bbs_style = 1 means the prime must be congruent to 3 mod 4 -+ */ -+int mp_prime_next_prime(mp_int *a, int t, int bbs_style); -+ -+/* makes a truly random prime of a given size (bytes), -+ * call with bbs = 1 if you want it to be congruent to 3 mod 4 -+ * -+ * You have to supply a callback which fills in a buffer with random bytes. "dat" is a parameter you can -+ * have passed to the callback (e.g. a state or something). This function doesn't use "dat" itself -+ * so it can be NULL -+ * -+ * The prime generated will be larger than 2^(8*size). -+ */ -+#define mp_prime_random(a, t, size, bbs, cb, dat) mp_prime_random_ex(a, t, ((size) * 8) + 1, (bbs==1)?LTM_PRIME_BBS:0, cb, dat) -+ -+/* makes a truly random prime of a given size (bits), -+ * -+ * Flags are as follows: -+ * -+ * LTM_PRIME_BBS - make prime congruent to 3 mod 4 -+ * LTM_PRIME_SAFE - make sure (p-1)/2 is prime as well (implies LTM_PRIME_BBS) -+ * LTM_PRIME_2MSB_OFF - make the 2nd highest bit zero -+ * LTM_PRIME_2MSB_ON - make the 2nd highest bit one -+ * -+ * You have to supply a callback which fills in a buffer with random bytes. "dat" is a parameter you can -+ * have passed to the callback (e.g. a state or something). This function doesn't use "dat" itself -+ * so it can be NULL -+ * -+ */ -+int mp_prime_random_ex(mp_int *a, int t, int size, int flags, ltm_prime_callback cb, void *dat); -+ -+int mp_find_prime(mp_int *a); -+ -+int mp_isprime(mp_int *a); -+ -+/* ---> radix conversion <--- */ -+int mp_count_bits(mp_int *a); -+ -+int mp_unsigned_bin_size(mp_int *a); -+int mp_read_unsigned_bin(mp_int *a, const unsigned char *b, int c); -+int mp_to_unsigned_bin(mp_int *a, unsigned char *b); -+int mp_to_unsigned_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen); -+ -+int mp_signed_bin_size(mp_int *a); -+int mp_read_signed_bin(mp_int *a, const unsigned char *b, int c); -+int mp_to_signed_bin(mp_int *a, unsigned char *b); -+int mp_to_signed_bin_n (mp_int * a, unsigned char *b, unsigned long *outlen); -+ -+int mp_read_radix(mp_int *a, const char *str, int radix); -+int mp_toradix(mp_int *a, char *str, int radix); -+int mp_toradix_n(mp_int * a, char *str, int radix, int maxlen); -+int mp_radix_size(mp_int *a, int radix, int *size); -+ -+int mp_fread(mp_int *a, int radix, FILE *stream); -+int mp_fwrite(mp_int *a, int radix, FILE *stream); -+ -+#define mp_read_raw(mp, str, len) mp_read_signed_bin((mp), (str), (len)) -+#define mp_raw_size(mp) mp_signed_bin_size(mp) -+#define mp_toraw(mp, str) mp_to_signed_bin((mp), (str)) -+#define mp_read_mag(mp, str, len) mp_read_unsigned_bin((mp), (str), (len)) -+#define mp_mag_size(mp) mp_unsigned_bin_size(mp) -+#define mp_tomag(mp, str) mp_to_unsigned_bin((mp), (str)) -+ -+#define mp_tobinary(M, S) mp_toradix((M), (S), 2) -+#define mp_tooctal(M, S) mp_toradix((M), (S), 8) -+#define mp_todecimal(M, S) mp_toradix((M), (S), 10) -+#define mp_tohex(M, S) mp_toradix((M), (S), 16) -+ -+/* lowlevel functions, do not call! */ -+int s_mp_add(mp_int *a, mp_int *b, mp_int *c); -+int s_mp_sub(mp_int *a, mp_int *b, mp_int *c); -+#define s_mp_mul(a, b, c) s_mp_mul_digs(a, b, c, (a)->used + (b)->used + 1) -+int fast_s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs); -+int s_mp_mul_digs(mp_int *a, mp_int *b, mp_int *c, int digs); -+int fast_s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs); -+int s_mp_mul_high_digs(mp_int *a, mp_int *b, mp_int *c, int digs); -+int fast_s_mp_sqr(mp_int *a, mp_int *b); -+int s_mp_sqr(mp_int *a, mp_int *b); -+int mp_karatsuba_mul(mp_int *a, mp_int *b, mp_int *c); -+int mp_toom_mul(mp_int *a, mp_int *b, mp_int *c); -+int mp_karatsuba_sqr(mp_int *a, mp_int *b); -+int mp_toom_sqr(mp_int *a, mp_int *b); -+int fast_mp_invmod(mp_int *a, mp_int *b, mp_int *c); -+int mp_invmod_slow (mp_int * a, mp_int * b, mp_int * c); -+int fast_mp_montgomery_reduce(mp_int *a, mp_int *m, mp_digit mp); -+int mp_exptmod_fast(mp_int *G, mp_int *X, mp_int *P, mp_int *Y, int mode); -+int s_mp_exptmod (mp_int * G, mp_int * X, mp_int * P, mp_int * Y, int mode); -+void bn_reverse(unsigned char *s, int len); -+ -+extern const char *mp_s_rmap; -+ -+#ifdef __cplusplus -+ } -+#endif -+ -+#endif diff --git a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_class.h b/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_class.h deleted file mode 100644 index c78f04c1146..00000000000 --- a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_class.h +++ /dev/null @@ -1,1001 +0,0 @@ -$NetBSD: patch-lib_hcrypto_libtommath_tommath_class.h,v 1.1 2011/09/15 13:01:14 hans Exp $ - ---- lib/hcrypto/libtommath/tommath_class.h.orig 2011-09-15 09:31:23.191236417 +0200 -+++ lib/hcrypto/libtommath/tommath_class.h 2011-09-15 09:32:14.747447160 +0200 -@@ -0,0 +1,996 @@ -+#if !(defined(LTM1) && defined(LTM2) && defined(LTM3)) -+#if defined(LTM2) -+#define LTM3 -+#endif -+#if defined(LTM1) -+#define LTM2 -+#endif -+#define LTM1 -+ -+#if defined(LTM_ALL) -+#define BN_ERROR_C -+#define BN_FAST_MP_INVMOD_C -+#define BN_FAST_MP_MONTGOMERY_REDUCE_C -+#define BN_FAST_S_MP_MUL_DIGS_C -+#define BN_FAST_S_MP_MUL_HIGH_DIGS_C -+#define BN_FAST_S_MP_SQR_C -+#define BN_MP_2EXPT_C -+#define BN_MP_ABS_C -+#define BN_MP_ADD_C -+#define BN_MP_ADD_D_C -+#define BN_MP_ADDMOD_C -+#define BN_MP_AND_C -+#define BN_MP_CLAMP_C -+#define BN_MP_CLEAR_C -+#define BN_MP_CLEAR_MULTI_C -+#define BN_MP_CMP_C -+#define BN_MP_CMP_D_C -+#define BN_MP_CMP_MAG_C -+#define BN_MP_CNT_LSB_C -+#define BN_MP_COPY_C -+#define BN_MP_COUNT_BITS_C -+#define BN_MP_DIV_C -+#define BN_MP_DIV_2_C -+#define BN_MP_DIV_2D_C -+#define BN_MP_DIV_3_C -+#define BN_MP_DIV_D_C -+#define BN_MP_DR_IS_MODULUS_C -+#define BN_MP_DR_REDUCE_C -+#define BN_MP_DR_SETUP_C -+#define BN_MP_EXCH_C -+#define BN_MP_EXPT_D_C -+#define BN_MP_EXPTMOD_C -+#define BN_MP_EXPTMOD_FAST_C -+#define BN_MP_EXTEUCLID_C -+#define BN_MP_FREAD_C -+#define BN_MP_FWRITE_C -+#define BN_MP_GCD_C -+#define BN_MP_GET_INT_C -+#define BN_MP_GROW_C -+#define BN_MP_INIT_C -+#define BN_MP_INIT_COPY_C -+#define BN_MP_INIT_MULTI_C -+#define BN_MP_INIT_SET_C -+#define BN_MP_INIT_SET_INT_C -+#define BN_MP_INIT_SIZE_C -+#define BN_MP_INVMOD_C -+#define BN_MP_INVMOD_SLOW_C -+#define BN_MP_IS_SQUARE_C -+#define BN_MP_JACOBI_C -+#define BN_MP_KARATSUBA_MUL_C -+#define BN_MP_KARATSUBA_SQR_C -+#define BN_MP_LCM_C -+#define BN_MP_LSHD_C -+#define BN_MP_MOD_C -+#define BN_MP_MOD_2D_C -+#define BN_MP_MOD_D_C -+#define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C -+#define BN_MP_MONTGOMERY_REDUCE_C -+#define BN_MP_MONTGOMERY_SETUP_C -+#define BN_MP_MUL_C -+#define BN_MP_MUL_2_C -+#define BN_MP_MUL_2D_C -+#define BN_MP_MUL_D_C -+#define BN_MP_MULMOD_C -+#define BN_MP_N_ROOT_C -+#define BN_MP_NEG_C -+#define BN_MP_OR_C -+#define BN_MP_PRIME_FERMAT_C -+#define BN_MP_PRIME_IS_DIVISIBLE_C -+#define BN_MP_PRIME_IS_PRIME_C -+#define BN_MP_PRIME_MILLER_RABIN_C -+#define BN_MP_PRIME_NEXT_PRIME_C -+#define BN_MP_PRIME_RABIN_MILLER_TRIALS_C -+#define BN_MP_PRIME_RANDOM_EX_C -+#define BN_MP_RADIX_SIZE_C -+#define BN_MP_RADIX_SMAP_C -+#define BN_MP_RAND_C -+#define BN_MP_READ_RADIX_C -+#define BN_MP_READ_SIGNED_BIN_C -+#define BN_MP_READ_UNSIGNED_BIN_C -+#define BN_MP_REDUCE_C -+#define BN_MP_REDUCE_2K_C -+#define BN_MP_REDUCE_2K_L_C -+#define BN_MP_REDUCE_2K_SETUP_C -+#define BN_MP_REDUCE_2K_SETUP_L_C -+#define BN_MP_REDUCE_IS_2K_C -+#define BN_MP_REDUCE_IS_2K_L_C -+#define BN_MP_REDUCE_SETUP_C -+#define BN_MP_RSHD_C -+#define BN_MP_SET_C -+#define BN_MP_SET_INT_C -+#define BN_MP_SHRINK_C -+#define BN_MP_SIGNED_BIN_SIZE_C -+#define BN_MP_SQR_C -+#define BN_MP_SQRMOD_C -+#define BN_MP_SQRT_C -+#define BN_MP_SUB_C -+#define BN_MP_SUB_D_C -+#define BN_MP_SUBMOD_C -+#define BN_MP_TO_SIGNED_BIN_C -+#define BN_MP_TO_SIGNED_BIN_N_C -+#define BN_MP_TO_UNSIGNED_BIN_C -+#define BN_MP_TO_UNSIGNED_BIN_N_C -+#define BN_MP_TOOM_MUL_C -+#define BN_MP_TOOM_SQR_C -+#define BN_MP_TORADIX_C -+#define BN_MP_TORADIX_N_C -+#define BN_MP_UNSIGNED_BIN_SIZE_C -+#define BN_MP_XOR_C -+#define BN_MP_ZERO_C -+#define BN_MP_ZERO_MULTI_C -+#define BN_PRIME_TAB_C -+#define BN_REVERSE_C -+#define BN_S_MP_ADD_C -+#define BN_S_MP_EXPTMOD_C -+#define BN_S_MP_MUL_DIGS_C -+#define BN_S_MP_MUL_HIGH_DIGS_C -+#define BN_S_MP_SQR_C -+#define BN_S_MP_SUB_C -+#define BNCORE_C -+#endif -+ -+#if defined(BN_ERROR_C) -+ #define BN_MP_ERROR_TO_STRING_C -+#endif -+ -+#if defined(BN_FAST_MP_INVMOD_C) -+ #define BN_MP_ISEVEN_C -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_COPY_C -+ #define BN_MP_MOD_C -+ #define BN_MP_SET_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_ISODD_C -+ #define BN_MP_SUB_C -+ #define BN_MP_CMP_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_CMP_D_C -+ #define BN_MP_ADD_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_FAST_MP_MONTGOMERY_REDUCE_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_FAST_S_MP_MUL_DIGS_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_FAST_S_MP_MUL_HIGH_DIGS_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_FAST_S_MP_SQR_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_2EXPT_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_GROW_C -+#endif -+ -+#if defined(BN_MP_ABS_C) -+ #define BN_MP_COPY_C -+#endif -+ -+#if defined(BN_MP_ADD_C) -+ #define BN_S_MP_ADD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_ADD_D_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_SUB_D_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_ADDMOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_ADD_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MOD_C -+#endif -+ -+#if defined(BN_MP_AND_C) -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_CLAMP_C) -+#endif -+ -+#if defined(BN_MP_CLEAR_C) -+#endif -+ -+#if defined(BN_MP_CLEAR_MULTI_C) -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_CMP_C) -+ #define BN_MP_CMP_MAG_C -+#endif -+ -+#if defined(BN_MP_CMP_D_C) -+#endif -+ -+#if defined(BN_MP_CMP_MAG_C) -+#endif -+ -+#if defined(BN_MP_CNT_LSB_C) -+ #define BN_MP_ISZERO_C -+#endif -+ -+#if defined(BN_MP_COPY_C) -+ #define BN_MP_GROW_C -+#endif -+ -+#if defined(BN_MP_COUNT_BITS_C) -+#endif -+ -+#if defined(BN_MP_DIV_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_COPY_C -+ #define BN_MP_ZERO_C -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_SET_C -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_ABS_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_CMP_C -+ #define BN_MP_SUB_C -+ #define BN_MP_ADD_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_MULTI_C -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_INIT_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_DIV_2_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_DIV_2D_C) -+ #define BN_MP_COPY_C -+ #define BN_MP_ZERO_C -+ #define BN_MP_INIT_C -+ #define BN_MP_MOD_2D_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+#endif -+ -+#if defined(BN_MP_DIV_3_C) -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_DIV_D_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_COPY_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_DIV_3_C -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_DR_IS_MODULUS_C) -+#endif -+ -+#if defined(BN_MP_DR_REDUCE_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_DR_SETUP_C) -+#endif -+ -+#if defined(BN_MP_EXCH_C) -+#endif -+ -+#if defined(BN_MP_EXPT_D_C) -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_SET_C -+ #define BN_MP_SQR_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MUL_C -+#endif -+ -+#if defined(BN_MP_EXPTMOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_INVMOD_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_ABS_C -+ #define BN_MP_CLEAR_MULTI_C -+ #define BN_MP_REDUCE_IS_2K_L_C -+ #define BN_S_MP_EXPTMOD_C -+ #define BN_MP_DR_IS_MODULUS_C -+ #define BN_MP_REDUCE_IS_2K_C -+ #define BN_MP_ISODD_C -+ #define BN_MP_EXPTMOD_FAST_C -+#endif -+ -+#if defined(BN_MP_EXPTMOD_FAST_C) -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_INIT_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MONTGOMERY_SETUP_C -+ #define BN_FAST_MP_MONTGOMERY_REDUCE_C -+ #define BN_MP_MONTGOMERY_REDUCE_C -+ #define BN_MP_DR_SETUP_C -+ #define BN_MP_DR_REDUCE_C -+ #define BN_MP_REDUCE_2K_SETUP_C -+ #define BN_MP_REDUCE_2K_C -+ #define BN_MP_MONTGOMERY_CALC_NORMALIZATION_C -+ #define BN_MP_MULMOD_C -+ #define BN_MP_SET_C -+ #define BN_MP_MOD_C -+ #define BN_MP_COPY_C -+ #define BN_MP_SQR_C -+ #define BN_MP_MUL_C -+ #define BN_MP_EXCH_C -+#endif -+ -+#if defined(BN_MP_EXTEUCLID_C) -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_SET_C -+ #define BN_MP_COPY_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_DIV_C -+ #define BN_MP_MUL_C -+ #define BN_MP_SUB_C -+ #define BN_MP_NEG_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_MP_FREAD_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_S_RMAP_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_ADD_D_C -+ #define BN_MP_CMP_D_C -+#endif -+ -+#if defined(BN_MP_FWRITE_C) -+ #define BN_MP_RADIX_SIZE_C -+ #define BN_MP_TORADIX_C -+#endif -+ -+#if defined(BN_MP_GCD_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_ABS_C -+ #define BN_MP_ZERO_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_CNT_LSB_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_EXCH_C -+ #define BN_S_MP_SUB_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_GET_INT_C) -+#endif -+ -+#if defined(BN_MP_GROW_C) -+#endif -+ -+#if defined(BN_MP_INIT_C) -+#endif -+ -+#if defined(BN_MP_INIT_COPY_C) -+ #define BN_MP_COPY_C -+#endif -+ -+#if defined(BN_MP_INIT_MULTI_C) -+ #define BN_MP_ERR_C -+ #define BN_MP_INIT_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_INIT_SET_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_SET_C -+#endif -+ -+#if defined(BN_MP_INIT_SET_INT_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_SET_INT_C -+#endif -+ -+#if defined(BN_MP_INIT_SIZE_C) -+ #define BN_MP_INIT_C -+#endif -+ -+#if defined(BN_MP_INVMOD_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_ISODD_C -+ #define BN_FAST_MP_INVMOD_C -+ #define BN_MP_INVMOD_SLOW_C -+#endif -+ -+#if defined(BN_MP_INVMOD_SLOW_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_MOD_C -+ #define BN_MP_COPY_C -+ #define BN_MP_ISEVEN_C -+ #define BN_MP_SET_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_ISODD_C -+ #define BN_MP_ADD_C -+ #define BN_MP_SUB_C -+ #define BN_MP_CMP_C -+ #define BN_MP_CMP_D_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_MP_IS_SQUARE_C) -+ #define BN_MP_MOD_D_C -+ #define BN_MP_INIT_SET_INT_C -+ #define BN_MP_MOD_C -+ #define BN_MP_GET_INT_C -+ #define BN_MP_SQRT_C -+ #define BN_MP_SQR_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_JACOBI_C) -+ #define BN_MP_CMP_D_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_CNT_LSB_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_MOD_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_KARATSUBA_MUL_C) -+ #define BN_MP_MUL_C -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_SUB_C -+ #define BN_MP_ADD_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_KARATSUBA_SQR_C) -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_SQR_C -+ #define BN_MP_SUB_C -+ #define BN_S_MP_ADD_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_ADD_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_LCM_C) -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_GCD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_DIV_C -+ #define BN_MP_MUL_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_MP_LSHD_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_RSHD_C -+#endif -+ -+#if defined(BN_MP_MOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_DIV_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_ADD_C -+ #define BN_MP_EXCH_C -+#endif -+ -+#if defined(BN_MP_MOD_2D_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_COPY_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_MOD_D_C) -+ #define BN_MP_DIV_D_C -+#endif -+ -+#if defined(BN_MP_MONTGOMERY_CALC_NORMALIZATION_C) -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_2EXPT_C -+ #define BN_MP_SET_C -+ #define BN_MP_MUL_2_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_MONTGOMERY_REDUCE_C) -+ #define BN_FAST_MP_MONTGOMERY_REDUCE_C -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_MONTGOMERY_SETUP_C) -+#endif -+ -+#if defined(BN_MP_MUL_C) -+ #define BN_MP_TOOM_MUL_C -+ #define BN_MP_KARATSUBA_MUL_C -+ #define BN_FAST_S_MP_MUL_DIGS_C -+ #define BN_S_MP_MUL_C -+ #define BN_S_MP_MUL_DIGS_C -+#endif -+ -+#if defined(BN_MP_MUL_2_C) -+ #define BN_MP_GROW_C -+#endif -+ -+#if defined(BN_MP_MUL_2D_C) -+ #define BN_MP_COPY_C -+ #define BN_MP_GROW_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_MUL_D_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_MULMOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_MUL_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MOD_C -+#endif -+ -+#if defined(BN_MP_N_ROOT_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_SET_C -+ #define BN_MP_COPY_C -+ #define BN_MP_EXPT_D_C -+ #define BN_MP_MUL_C -+ #define BN_MP_SUB_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_DIV_C -+ #define BN_MP_CMP_C -+ #define BN_MP_SUB_D_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_NEG_C) -+ #define BN_MP_COPY_C -+ #define BN_MP_ISZERO_C -+#endif -+ -+#if defined(BN_MP_OR_C) -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_PRIME_FERMAT_C) -+ #define BN_MP_CMP_D_C -+ #define BN_MP_INIT_C -+ #define BN_MP_EXPTMOD_C -+ #define BN_MP_CMP_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_PRIME_IS_DIVISIBLE_C) -+ #define BN_MP_MOD_D_C -+#endif -+ -+#if defined(BN_MP_PRIME_IS_PRIME_C) -+ #define BN_MP_CMP_D_C -+ #define BN_MP_PRIME_IS_DIVISIBLE_C -+ #define BN_MP_INIT_C -+ #define BN_MP_SET_C -+ #define BN_MP_PRIME_MILLER_RABIN_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_PRIME_MILLER_RABIN_C) -+ #define BN_MP_CMP_D_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_SUB_D_C -+ #define BN_MP_CNT_LSB_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_EXPTMOD_C -+ #define BN_MP_CMP_C -+ #define BN_MP_SQRMOD_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_PRIME_NEXT_PRIME_C) -+ #define BN_MP_CMP_D_C -+ #define BN_MP_SET_C -+ #define BN_MP_SUB_D_C -+ #define BN_MP_ISEVEN_C -+ #define BN_MP_MOD_D_C -+ #define BN_MP_INIT_C -+ #define BN_MP_ADD_D_C -+ #define BN_MP_PRIME_MILLER_RABIN_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_PRIME_RABIN_MILLER_TRIALS_C) -+#endif -+ -+#if defined(BN_MP_PRIME_RANDOM_EX_C) -+ #define BN_MP_READ_UNSIGNED_BIN_C -+ #define BN_MP_PRIME_IS_PRIME_C -+ #define BN_MP_SUB_D_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_MUL_2_C -+ #define BN_MP_ADD_D_C -+#endif -+ -+#if defined(BN_MP_RADIX_SIZE_C) -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_DIV_D_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_RADIX_SMAP_C) -+ #define BN_MP_S_RMAP_C -+#endif -+ -+#if defined(BN_MP_RAND_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_ADD_D_C -+ #define BN_MP_LSHD_C -+#endif -+ -+#if defined(BN_MP_READ_RADIX_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_S_RMAP_C -+ #define BN_MP_RADIX_SMAP_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_ADD_D_C -+ #define BN_MP_ISZERO_C -+#endif -+ -+#if defined(BN_MP_READ_SIGNED_BIN_C) -+ #define BN_MP_READ_UNSIGNED_BIN_C -+#endif -+ -+#if defined(BN_MP_READ_UNSIGNED_BIN_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_ZERO_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_REDUCE_C) -+ #define BN_MP_REDUCE_SETUP_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_MUL_C -+ #define BN_S_MP_MUL_HIGH_DIGS_C -+ #define BN_FAST_S_MP_MUL_HIGH_DIGS_C -+ #define BN_MP_MOD_2D_C -+ #define BN_S_MP_MUL_DIGS_C -+ #define BN_MP_SUB_C -+ #define BN_MP_CMP_D_C -+ #define BN_MP_SET_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_ADD_C -+ #define BN_MP_CMP_C -+ #define BN_S_MP_SUB_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_REDUCE_2K_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_MUL_D_C -+ #define BN_S_MP_ADD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_REDUCE_2K_L_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_MUL_C -+ #define BN_S_MP_ADD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_REDUCE_2K_SETUP_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_2EXPT_C -+ #define BN_MP_CLEAR_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_REDUCE_2K_SETUP_L_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_2EXPT_C -+ #define BN_MP_COUNT_BITS_C -+ #define BN_S_MP_SUB_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_REDUCE_IS_2K_C) -+ #define BN_MP_REDUCE_2K_C -+ #define BN_MP_COUNT_BITS_C -+#endif -+ -+#if defined(BN_MP_REDUCE_IS_2K_L_C) -+#endif -+ -+#if defined(BN_MP_REDUCE_SETUP_C) -+ #define BN_MP_2EXPT_C -+ #define BN_MP_DIV_C -+#endif -+ -+#if defined(BN_MP_RSHD_C) -+ #define BN_MP_ZERO_C -+#endif -+ -+#if defined(BN_MP_SET_C) -+ #define BN_MP_ZERO_C -+#endif -+ -+#if defined(BN_MP_SET_INT_C) -+ #define BN_MP_ZERO_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_SHRINK_C) -+#endif -+ -+#if defined(BN_MP_SIGNED_BIN_SIZE_C) -+ #define BN_MP_UNSIGNED_BIN_SIZE_C -+#endif -+ -+#if defined(BN_MP_SQR_C) -+ #define BN_MP_TOOM_SQR_C -+ #define BN_MP_KARATSUBA_SQR_C -+ #define BN_FAST_S_MP_SQR_C -+ #define BN_S_MP_SQR_C -+#endif -+ -+#if defined(BN_MP_SQRMOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_SQR_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MOD_C -+#endif -+ -+#if defined(BN_MP_SQRT_C) -+ #define BN_MP_N_ROOT_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_ZERO_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_DIV_C -+ #define BN_MP_ADD_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_SUB_C) -+ #define BN_S_MP_ADD_C -+ #define BN_MP_CMP_MAG_C -+ #define BN_S_MP_SUB_C -+#endif -+ -+#if defined(BN_MP_SUB_D_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_ADD_D_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_MP_SUBMOD_C) -+ #define BN_MP_INIT_C -+ #define BN_MP_SUB_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_MOD_C -+#endif -+ -+#if defined(BN_MP_TO_SIGNED_BIN_C) -+ #define BN_MP_TO_UNSIGNED_BIN_C -+#endif -+ -+#if defined(BN_MP_TO_SIGNED_BIN_N_C) -+ #define BN_MP_SIGNED_BIN_SIZE_C -+ #define BN_MP_TO_SIGNED_BIN_C -+#endif -+ -+#if defined(BN_MP_TO_UNSIGNED_BIN_C) -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_ISZERO_C -+ #define BN_MP_DIV_2D_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_TO_UNSIGNED_BIN_N_C) -+ #define BN_MP_UNSIGNED_BIN_SIZE_C -+ #define BN_MP_TO_UNSIGNED_BIN_C -+#endif -+ -+#if defined(BN_MP_TOOM_MUL_C) -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_MOD_2D_C -+ #define BN_MP_COPY_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_MUL_C -+ #define BN_MP_MUL_2_C -+ #define BN_MP_ADD_C -+ #define BN_MP_SUB_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_DIV_3_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_MP_TOOM_SQR_C) -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_MOD_2D_C -+ #define BN_MP_COPY_C -+ #define BN_MP_RSHD_C -+ #define BN_MP_SQR_C -+ #define BN_MP_MUL_2_C -+ #define BN_MP_ADD_C -+ #define BN_MP_SUB_C -+ #define BN_MP_DIV_2_C -+ #define BN_MP_MUL_2D_C -+ #define BN_MP_MUL_D_C -+ #define BN_MP_DIV_3_C -+ #define BN_MP_LSHD_C -+ #define BN_MP_CLEAR_MULTI_C -+#endif -+ -+#if defined(BN_MP_TORADIX_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_DIV_D_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_S_RMAP_C -+#endif -+ -+#if defined(BN_MP_TORADIX_N_C) -+ #define BN_MP_ISZERO_C -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_DIV_D_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_S_RMAP_C -+#endif -+ -+#if defined(BN_MP_UNSIGNED_BIN_SIZE_C) -+ #define BN_MP_COUNT_BITS_C -+#endif -+ -+#if defined(BN_MP_XOR_C) -+ #define BN_MP_INIT_COPY_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_MP_ZERO_C) -+#endif -+ -+#if defined(BN_PRIME_TAB_C) -+#endif -+ -+#if defined(BN_REVERSE_C) -+#endif -+ -+#if defined(BN_S_MP_ADD_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BN_S_MP_EXPTMOD_C) -+ #define BN_MP_COUNT_BITS_C -+ #define BN_MP_INIT_C -+ #define BN_MP_CLEAR_C -+ #define BN_MP_REDUCE_SETUP_C -+ #define BN_MP_REDUCE_C -+ #define BN_MP_REDUCE_2K_SETUP_L_C -+ #define BN_MP_REDUCE_2K_L_C -+ #define BN_MP_MOD_C -+ #define BN_MP_COPY_C -+ #define BN_MP_SQR_C -+ #define BN_MP_MUL_C -+ #define BN_MP_SET_C -+ #define BN_MP_EXCH_C -+#endif -+ -+#if defined(BN_S_MP_MUL_DIGS_C) -+ #define BN_FAST_S_MP_MUL_DIGS_C -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_S_MP_MUL_HIGH_DIGS_C) -+ #define BN_FAST_S_MP_MUL_HIGH_DIGS_C -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_S_MP_SQR_C) -+ #define BN_MP_INIT_SIZE_C -+ #define BN_MP_CLAMP_C -+ #define BN_MP_EXCH_C -+ #define BN_MP_CLEAR_C -+#endif -+ -+#if defined(BN_S_MP_SUB_C) -+ #define BN_MP_GROW_C -+ #define BN_MP_CLAMP_C -+#endif -+ -+#if defined(BNCORE_C) -+#endif -+ -+#ifdef LTM3 -+#define LTM_LAST -+#endif -+#include <tommath_superclass.h> -+#include <tommath_class.h> -+#else -+#define LTM_LAST -+#endif diff --git a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_superclass.h b/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_superclass.h deleted file mode 100644 index c90792e6719..00000000000 --- a/security/heimdal/patches/patch-lib_hcrypto_libtommath_tommath_superclass.h +++ /dev/null @@ -1,77 +0,0 @@ -$NetBSD: patch-lib_hcrypto_libtommath_tommath_superclass.h,v 1.1 2011/09/15 13:01:14 hans Exp $ - ---- lib/hcrypto/libtommath/tommath_superclass.h.orig 2011-09-15 09:31:23.191396242 +0200 -+++ lib/hcrypto/libtommath/tommath_superclass.h 2011-09-15 09:32:22.227978670 +0200 -@@ -0,0 +1,72 @@ -+/* super class file for PK algos */ -+ -+/* default ... include all MPI */ -+#define LTM_ALL -+ -+/* RSA only (does not support DH/DSA/ECC) */ -+/* #define SC_RSA_1 */ -+ -+/* For reference.... On an Athlon64 optimizing for speed... -+ -+ LTM's mpi.o with all functions [striped] is 142KiB in size. -+ -+*/ -+ -+/* Works for RSA only, mpi.o is 68KiB */ -+#ifdef SC_RSA_1 -+ #define BN_MP_SHRINK_C -+ #define BN_MP_LCM_C -+ #define BN_MP_PRIME_RANDOM_EX_C -+ #define BN_MP_INVMOD_C -+ #define BN_MP_GCD_C -+ #define BN_MP_MOD_C -+ #define BN_MP_MULMOD_C -+ #define BN_MP_ADDMOD_C -+ #define BN_MP_EXPTMOD_C -+ #define BN_MP_SET_INT_C -+ #define BN_MP_INIT_MULTI_C -+ #define BN_MP_CLEAR_MULTI_C -+ #define BN_MP_UNSIGNED_BIN_SIZE_C -+ #define BN_MP_TO_UNSIGNED_BIN_C -+ #define BN_MP_MOD_D_C -+ #define BN_MP_PRIME_RABIN_MILLER_TRIALS_C -+ #define BN_REVERSE_C -+ #define BN_PRIME_TAB_C -+ -+ /* other modifiers */ -+ #define BN_MP_DIV_SMALL /* Slower division, not critical */ -+ -+ /* here we are on the last pass so we turn things off. The functions classes are still there -+ * but we remove them specifically from the build. This also invokes tweaks in functions -+ * like removing support for even moduli, etc... -+ */ -+#ifdef LTM_LAST -+ #undef BN_MP_TOOM_MUL_C -+ #undef BN_MP_TOOM_SQR_C -+ #undef BN_MP_KARATSUBA_MUL_C -+ #undef BN_MP_KARATSUBA_SQR_C -+ #undef BN_MP_REDUCE_C -+ #undef BN_MP_REDUCE_SETUP_C -+ #undef BN_MP_DR_IS_MODULUS_C -+ #undef BN_MP_DR_SETUP_C -+ #undef BN_MP_DR_REDUCE_C -+ #undef BN_MP_REDUCE_IS_2K_C -+ #undef BN_MP_REDUCE_2K_SETUP_C -+ #undef BN_MP_REDUCE_2K_C -+ #undef BN_S_MP_EXPTMOD_C -+ #undef BN_MP_DIV_3_C -+ #undef BN_S_MP_MUL_HIGH_DIGS_C -+ #undef BN_FAST_S_MP_MUL_HIGH_DIGS_C -+ #undef BN_FAST_MP_INVMOD_C -+ -+ /* To safely undefine these you have to make sure your RSA key won't exceed the Comba threshold -+ * which is roughly 255 digits [7140 bits for 32-bit machines, 15300 bits for 64-bit machines] -+ * which means roughly speaking you can handle upto 2536-bit RSA keys with these defined without -+ * trouble. -+ */ -+ #undef BN_S_MP_MUL_DIGS_C -+ #undef BN_S_MP_SQR_C -+ #undef BN_MP_MONTGOMERY_REDUCE_C -+#endif -+ -+#endif |