Remove meat which either duplicates code found in apps/, or is only of value
authormiod <miod@openbsd.org>
Tue, 22 Apr 2014 20:31:38 +0000 (20:31 +0000)
committermiod <miod@openbsd.org>
Tue, 22 Apr 2014 20:31:38 +0000 (20:31 +0000)
for 20th century historians, and can be put in the Attic.

40 files changed:
lib/libcrypto/bf/bf_opts.c [deleted file]
lib/libcrypto/bn/bn.mul [deleted file]
lib/libcrypto/bn/bnspeed.c [deleted file]
lib/libcrypto/bn/exp.c [deleted file]
lib/libcrypto/bn/expspeed.c [deleted file]
lib/libcrypto/des/FILES0 [deleted file]
lib/libcrypto/des/README [deleted file]
lib/libcrypto/des/VERSION [deleted file]
lib/libcrypto/des/des_opts.c [deleted file]
lib/libcrypto/des/options.txt [deleted file]
lib/libcrypto/idea/idea_spd.c [deleted file]
lib/libcrypto/idea/version [deleted file]
lib/libcrypto/lhash/num.pl [deleted file]
lib/libcrypto/rc2/rc2speed.c [deleted file]
lib/libcrypto/rc2/tab.c [deleted file]
lib/libcrypto/rc4/rc4.c [deleted file]
lib/libcrypto/rc4/rc4speed.c [deleted file]
lib/libcrypto/sha/sha.c [deleted file]
lib/libcrypto/sha/sha1.c [deleted file]
lib/libssl/src/FAQ [deleted file]
lib/libssl/src/INSTALL [deleted file]
lib/libssl/src/crypto/bf/bf_opts.c [deleted file]
lib/libssl/src/crypto/bn/bn.mul [deleted file]
lib/libssl/src/crypto/bn/bnspeed.c [deleted file]
lib/libssl/src/crypto/bn/exp.c [deleted file]
lib/libssl/src/crypto/bn/expspeed.c [deleted file]
lib/libssl/src/crypto/des/FILES0 [deleted file]
lib/libssl/src/crypto/des/README [deleted file]
lib/libssl/src/crypto/des/VERSION [deleted file]
lib/libssl/src/crypto/des/des_opts.c [deleted file]
lib/libssl/src/crypto/des/options.txt [deleted file]
lib/libssl/src/crypto/idea/idea_spd.c [deleted file]
lib/libssl/src/crypto/idea/version [deleted file]
lib/libssl/src/crypto/lhash/num.pl [deleted file]
lib/libssl/src/crypto/rc2/rc2speed.c [deleted file]
lib/libssl/src/crypto/rc2/tab.c [deleted file]
lib/libssl/src/crypto/rc4/rc4.c [deleted file]
lib/libssl/src/crypto/rc4/rc4speed.c [deleted file]
lib/libssl/src/crypto/sha/sha.c [deleted file]
lib/libssl/src/crypto/sha/sha1.c [deleted file]

diff --git a/lib/libcrypto/bf/bf_opts.c b/lib/libcrypto/bf/bf_opts.c
deleted file mode 100644 (file)
index da7a487..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-/* crypto/bf/bf_opts.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* define PART1, PART2, PART3 or PART4 to build only with a few of the options.
- * This is for machines with 64k code segment size restrictions. */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/blowfish.h>
-
-#define BF_DEFAULT_OPTIONS
-
-#undef BF_ENC
-#define BF_encrypt  BF_encrypt_normal
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-#define BF_PTR
-#undef BF_PTR2
-#undef BF_ENC
-#undef BF_encrypt
-#define BF_encrypt  BF_encrypt_ptr
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-#undef BF_PTR
-#define BF_PTR2
-#undef BF_ENC
-#undef BF_encrypt
-#define BF_encrypt  BF_encrypt_ptr2
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD fix */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-#ifdef SIGALRM
-#define print_name(name) fprintf(stderr,"Doing %s's for 10 seconds\n",name); alarm(10);
-#else
-#define print_name(name) fprintf(stderr,"Doing %s %ld times\n",name,cb);
-#endif
-       
-#define time_it(func,name,index) \
-       print_name(name); \
-       Time_F(START); \
-       for (count=0,run=1; COND(cb); count+=4) \
-               { \
-               unsigned long d[2]; \
-               func(d,&sch); \
-               func(d,&sch); \
-               func(d,&sch); \
-               func(d,&sch); \
-               } \
-       tm[index]=Time_F(STOP); \
-       fprintf(stderr,"%ld %s's in %.2f second\n",count,name,tm[index]); \
-       tm[index]=((double)COUNT(cb))/tm[index];
-
-#define print_it(name,index) \
-       fprintf(stderr,"%s bytes per sec = %12.2f (%5.1fuS)\n",name, \
-               tm[index]*8,1.0e6/tm[index]);
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static char key[16]={   0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                               0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0};
-       BF_KEY sch;
-       double d,tm[16],max=0;
-       int rank[16];
-       char *str[16];
-       int max_idx=0,i,num=0,j;
-#ifndef SIGALARM
-       long ca,cb,cc,cd,ce;
-#endif
-
-       for (i=0; i<12; i++)
-               {
-               tm[i]=0.0;
-               rank[i]=0;
-               }
-
-#ifndef TIMES
-       fprintf(stderr,"To get the most accurate results, try to run this\n");
-       fprintf(stderr,"program when this computer is idle.\n");
-#endif
-
-       BF_set_key(&sch,16,key);
-
-#ifndef SIGALRM
-       fprintf(stderr,"First we calculate the approximate speed ...\n");
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       BF_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count;
-       cb=count*3;
-       cc=count*3*8/BUFSIZE+1;
-       cd=count*8/BUFSIZE+1;
-
-       ce=count/20+1;
-#define COND(d) (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c) (run)
-#define COUNT(d) (count)
-        signal(SIGALRM,sig_done);
-        alarm(10);
-#endif
-
-       time_it(BF_encrypt_normal,      "BF_encrypt_normal ", 0);
-       time_it(BF_encrypt_ptr,         "BF_encrypt_ptr    ", 1);
-       time_it(BF_encrypt_ptr2,        "BF_encrypt_ptr2   ", 2);
-       num+=3;
-
-       str[0]="<nothing>";
-       print_it("BF_encrypt_normal ",0);
-       max=tm[0];
-       max_idx=0;
-       str[1]="ptr      ";
-       print_it("BF_encrypt_ptr ",1);
-       if (max < tm[1]) { max=tm[1]; max_idx=1; }
-       str[2]="ptr2     ";
-       print_it("BF_encrypt_ptr2 ",2);
-       if (max < tm[2]) { max=tm[2]; max_idx=2; }
-
-       printf("options    BF ecb/s\n");
-       printf("%s %12.2f 100.0%%\n",str[max_idx],tm[max_idx]);
-       d=tm[max_idx];
-       tm[max_idx]= -2.0;
-       max= -1.0;
-       for (;;)
-               {
-               for (i=0; i<3; i++)
-                       {
-                       if (max < tm[i]) { max=tm[i]; j=i; }
-                       }
-               if (max < 0.0) break;
-               printf("%s %12.2f  %4.1f%%\n",str[j],tm[j],tm[j]/d*100.0);
-               tm[j]= -2.0;
-               max= -1.0;
-               }
-
-       switch (max_idx)
-               {
-       case 0:
-               printf("-DBF_DEFAULT_OPTIONS\n");
-               break;
-       case 1:
-               printf("-DBF_PTR\n");
-               break;
-       case 2:
-               printf("-DBF_PTR2\n");
-               break;
-               }
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libcrypto/bn/bn.mul b/lib/libcrypto/bn/bn.mul
deleted file mode 100644 (file)
index 9728870..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-We need
-
-* bn_mul_comba8
-* bn_mul_comba4
-* bn_mul_normal
-* bn_mul_recursive
-
-* bn_sqr_comba8
-* bn_sqr_comba4
-bn_sqr_normal -> BN_sqr
-* bn_sqr_recursive
-
-* bn_mul_low_recursive
-* bn_mul_low_normal
-* bn_mul_high
-
-* bn_mul_part_recursive        # symetric but not power of 2
-
-bn_mul_asymetric_recursive # uneven, but do the chop up.
diff --git a/lib/libcrypto/bn/bnspeed.c b/lib/libcrypto/bn/bnspeed.c
deleted file mode 100644 (file)
index b554ac8..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/* unused */
-
-/* crypto/bn/bnspeed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* most of this code has been pilfered from my libdes speed.c program */
-
-#define BASENUM        1000000
-#undef PROG
-#define PROG bnspeed_main
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <openssl/crypto.h>
-#include <openssl/err.h>
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/bn.h>
-#include <openssl/x509.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#undef BUFSIZE
-#define BUFSIZE        ((long)1024*8)
-int run=0;
-
-static double Time_F(int s);
-#define START  0
-#define STOP   1
-
-static double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret < 1e-3)?1e-3:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret < 0.001)?0.001:ret);
-               }
-#endif
-       }
-
-#define NUM_SIZES      5
-static int sizes[NUM_SIZES]={128,256,512,1024,2048};
-/*static int sizes[NUM_SIZES]={59,179,299,419,539}; */
-
-void do_mul(BIGNUM *r,BIGNUM *a,BIGNUM *b,BN_CTX *ctx); 
-
-int main(int argc, char **argv)
-       {
-       BN_CTX *ctx;
-       BIGNUM a,b,c;
-
-       ctx=BN_CTX_new();
-       BN_init(&a);
-       BN_init(&b);
-       BN_init(&c);
-
-       do_mul(&a,&b,&c,ctx);
-       }
-
-void do_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
-       {
-       int i,j,k;
-       double tm;
-       long num;
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i],1,0);
-               for (j=i; j<NUM_SIZES; j++)
-                       {
-                       BN_rand(b,sizes[j],1,0);
-                       Time_F(START);
-                       for (k=0; k<num; k++)
-                               BN_mul(r,b,a,ctx);
-                       tm=Time_F(STOP);
-                       printf("mul %4d x %4d -> %8.3fms\n",sizes[i],sizes[j],tm*1000.0/num);
-                       }
-               }
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i],1,0);
-               Time_F(START);
-               for (k=0; k<num; k++)
-                       BN_sqr(r,a,ctx);
-               tm=Time_F(STOP);
-               printf("sqr %4d x %4d -> %8.3fms\n",sizes[i],sizes[i],tm*1000.0/num);
-               }
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM/10;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i]-1,1,0);
-               for (j=i; j<NUM_SIZES; j++)
-                       {
-                       BN_rand(b,sizes[j],1,0);
-                       Time_F(START);
-                       for (k=0; k<100000; k++)
-                               BN_div(r, NULL, b, a,ctx);
-                       tm=Time_F(STOP);
-                       printf("div %4d / %4d -> %8.3fms\n",sizes[j],sizes[i]-1,tm*1000.0/num);
-                       }
-               }
-       }
-
diff --git a/lib/libcrypto/bn/exp.c b/lib/libcrypto/bn/exp.c
deleted file mode 100644 (file)
index 4865b0e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* unused */
-
-#include <stdio.h>
-#include <openssl/tmdiff.h>
-#include "bn_lcl.h"
-
-#define SIZE   256
-#define NUM    (8*8*8)
-#define MOD    (8*8*8*8*8)
-
-main(argc,argv)
-int argc;
-char *argv[];
-       {
-       BN_CTX ctx;
-       BIGNUM a,b,c,r,rr,t,l;
-       int j,i,size=SIZE,num=NUM,mod=MOD;
-       char *start,*end;
-       BN_MONT_CTX mont;
-       double d,md;
-
-       BN_MONT_CTX_init(&mont);
-       BN_CTX_init(&ctx);
-       BN_init(&a);
-       BN_init(&b);
-       BN_init(&c);
-       BN_init(&r);
-
-       start=ms_time_new();
-       end=ms_time_new();
-       while (size <= 1024*8)
-               {
-               BN_rand(&a,size,0,0);
-               BN_rand(&b,size,1,0);
-               BN_rand(&c,size,0,1);
-
-               BN_mod(&a,&a,&c,&ctx);
-
-               ms_time_get(start);
-               for (i=0; i<10; i++)
-                       BN_MONT_CTX_set(&mont,&c,&ctx);
-               ms_time_get(end);
-               md=ms_time_diff(start,end);
-
-               ms_time_get(start);
-               for (i=0; i<num; i++)
-                       {
-                       /* bn_mull(&r,&a,&b,&ctx); */
-                       /* BN_sqr(&r,&a,&ctx); */
-                       BN_mod_exp_mont(&r,&a,&b,&c,&ctx,&mont);
-                       }
-               ms_time_get(end);
-               d=ms_time_diff(start,end)/* *50/33 */;
-               printf("%5d bit:%6.2f %6d %6.4f %4d m_set(%5.4f)\n",size,
-                       d,num,d/num,(int)((d/num)*mod),md/10.0);
-               num/=8;
-               mod/=8;
-               if (num <= 0) num=1;
-               size*=2;
-               }
-
-       }
diff --git a/lib/libcrypto/bn/expspeed.c b/lib/libcrypto/bn/expspeed.c
deleted file mode 100644 (file)
index 1b434db..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-/* unused */
-
-/* crypto/bn/expspeed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* most of this code has been pilfered from my libdes speed.c program */
-
-#define BASENUM        5000
-#define NUM_START 0
-
-
-/* determine timings for modexp, modmul, modsqr, gcd, Kronecker symbol,
- * modular inverse, or modular square roots */
-#define TEST_EXP
-#undef TEST_MUL
-#undef TEST_SQR
-#undef TEST_GCD
-#undef TEST_KRON
-#undef TEST_INV
-#undef TEST_SQRT
-#define P_MOD_64 9 /* least significant 6 bits for prime to be used for BN_sqrt timings */
-
-#if defined(TEST_EXP) + defined(TEST_MUL) + defined(TEST_SQR) + defined(TEST_GCD) + defined(TEST_KRON) + defined(TEST_INV) +defined(TEST_SQRT) != 1
-#  error "choose one test"
-#endif
-
-#if defined(TEST_INV) || defined(TEST_SQRT)
-#  define C_PRIME
-static void genprime_cb(int p, int n, void *arg);
-#endif
-
-
-
-#undef PROG
-#define PROG bnspeed_main
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <openssl/crypto.h>
-#include <openssl/err.h>
-#include <openssl/rand.h>
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/bn.h>
-#include <openssl/x509.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#undef BUFSIZE
-#define BUFSIZE        ((long)1024*8)
-int run=0;
-
-static double Time_F(int s);
-#define START  0
-#define STOP   1
-
-static double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret < 1e-3)?1e-3:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret < 0.001)?0.001:ret);
-               }
-#endif
-       }
-
-#define NUM_SIZES      7
-#if NUM_START > NUM_SIZES
-#   error "NUM_START > NUM_SIZES"
-#endif
-static int sizes[NUM_SIZES]={128,256,512,1024,2048,4096,8192};
-static int mul_c[NUM_SIZES]={8*8*8*8*8*8,8*8*8*8*8,8*8*8*8,8*8*8,8*8,8,1};
-/*static int sizes[NUM_SIZES]={59,179,299,419,539}; */
-
-void do_mul_exp(BIGNUM *r,BIGNUM *a,BIGNUM *b,BIGNUM *c,BN_CTX *ctx); 
-
-int main(int argc, char **argv)
-       {
-       BN_CTX *ctx;
-       BIGNUM *a,*b,*c,*r;
-
-#if 1
-       if (!CRYPTO_set_mem_debug_functions(0,0,0,0,0))
-               abort();
-#endif
-
-       ctx=BN_CTX_new();
-       a=BN_new();
-       b=BN_new();
-       c=BN_new();
-       r=BN_new();
-
-       do_mul_exp(r,a,b,c,ctx);
-       return 0;
-       }
-
-void do_mul_exp(BIGNUM *r, BIGNUM *a, BIGNUM *b, BIGNUM *c, BN_CTX *ctx)
-       {
-       int i,k;
-       double tm;
-       long num;
-
-       num=BASENUM;
-       for (i=NUM_START; i<NUM_SIZES; i++)
-               {
-#ifdef C_PRIME
-#  ifdef TEST_SQRT
-               if (!BN_set_word(a, 64)) goto err;
-               if (!BN_set_word(b, P_MOD_64)) goto err;
-#    define ADD a
-#    define REM b
-#  else
-#    define ADD NULL
-#    define REM NULL
-#  endif
-               if (!BN_generate_prime(c,sizes[i],0,ADD,REM,genprime_cb,NULL)) goto err;
-               putc('\n', stderr);
-               fflush(stderr);
-#endif
-
-               for (k=0; k<num; k++)
-                       {
-                       if (k%50 == 0) /* Average over num/50 different choices of random numbers. */
-                               {
-                               if (!BN_pseudo_rand(a,sizes[i],1,0)) goto err;
-
-                               if (!BN_pseudo_rand(b,sizes[i],1,0)) goto err;
-
-#ifndef C_PRIME
-                               if (!BN_pseudo_rand(c,sizes[i],1,1)) goto err;
-#endif
-
-#ifdef TEST_SQRT                               
-                               if (!BN_mod_sqr(a,a,c,ctx)) goto err;
-                               if (!BN_mod_sqr(b,b,c,ctx)) goto err;
-#else
-                               if (!BN_nnmod(a,a,c,ctx)) goto err;
-                               if (!BN_nnmod(b,b,c,ctx)) goto err;
-#endif
-
-                               if (k == 0)
-                                       Time_F(START);
-                               }
-
-#if defined(TEST_EXP)
-                       if (!BN_mod_exp(r,a,b,c,ctx)) goto err;
-#elif defined(TEST_MUL)
-                       {
-                       int i = 0;
-                       for (i = 0; i < 50; i++)
-                               if (!BN_mod_mul(r,a,b,c,ctx)) goto err;
-                       }
-#elif defined(TEST_SQR)
-                       {
-                       int i = 0;
-                       for (i = 0; i < 50; i++)
-                               {
-                               if (!BN_mod_sqr(r,a,c,ctx)) goto err;
-                               if (!BN_mod_sqr(r,b,c,ctx)) goto err;
-                               }
-                       }
-#elif defined(TEST_GCD)
-                       if (!BN_gcd(r,a,b,ctx)) goto err;
-                       if (!BN_gcd(r,b,c,ctx)) goto err;
-                       if (!BN_gcd(r,c,a,ctx)) goto err;
-#elif defined(TEST_KRON)
-                       if (-2 == BN_kronecker(a,b,ctx)) goto err;
-                       if (-2 == BN_kronecker(b,c,ctx)) goto err;
-                       if (-2 == BN_kronecker(c,a,ctx)) goto err;
-#elif defined(TEST_INV)
-                       if (!BN_mod_inverse(r,a,c,ctx)) goto err;
-                       if (!BN_mod_inverse(r,b,c,ctx)) goto err;
-#else /* TEST_SQRT */
-                       if (!BN_mod_sqrt(r,a,c,ctx)) goto err;
-                       if (!BN_mod_sqrt(r,b,c,ctx)) goto err;
-#endif
-                       }
-               tm=Time_F(STOP);
-               printf(
-#if defined(TEST_EXP)
-                       "modexp %4d ^ %4d %% %4d"
-#elif defined(TEST_MUL)
-                       "50*modmul %4d %4d %4d"
-#elif defined(TEST_SQR)
-                       "100*modsqr %4d %4d %4d"
-#elif defined(TEST_GCD)
-                       "3*gcd %4d %4d %4d"
-#elif defined(TEST_KRON)
-                       "3*kronecker %4d %4d %4d"
-#elif defined(TEST_INV)
-                       "2*inv %4d %4d mod %4d"
-#else /* TEST_SQRT */
-                       "2*sqrt [prime == %d (mod 64)] %4d %4d mod %4d"
-#endif
-                       " -> %8.6fms %5.1f (%ld)\n",
-#ifdef TEST_SQRT
-                       P_MOD_64,
-#endif
-                       sizes[i],sizes[i],sizes[i],tm*1000.0/num,tm*mul_c[i]/num, num);
-               num/=7;
-               if (num <= 0) num=1;
-               }
-       return;
-
- err:
-       ERR_print_errors_fp(stderr);
-       }
-
-
-#ifdef C_PRIME
-static void genprime_cb(int p, int n, void *arg)
-       {
-       char c='*';
-
-       if (p == 0) c='.';
-       if (p == 1) c='+';
-       if (p == 2) c='*';
-       if (p == 3) c='\n';
-       putc(c, stderr);
-       fflush(stderr);
-       (void)n;
-       (void)arg;
-       }
-#endif
diff --git a/lib/libcrypto/des/FILES0 b/lib/libcrypto/des/FILES0
deleted file mode 100644 (file)
index 2e8211a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* General stuff */
-COPYRIGHT      - Copyright info.
-FILES          - This file.
-README         - What this package is.
-VERSION                - Which version this is and what was changed.
-
-/* libdes.a source code */
-des.h          - Public libdes.a header file.
-ecb_enc.c      - des_ecb_encrypt() source, this contains the basic DES code.
-ecb3_enc.c     - des_ecb3_encrypt() source.
-cbc_ckm.c      - des_cbc_cksum() source.
-cbc_enc.c      - des_cbc_encrypt() source.
-ncbc_enc.c     - des_cbc_encrypt() that is 'normal' in that it copies
-                 the new iv values back in the passed iv vector.
-ede_enc.c      - des_ede3_cbc_encrypt() cbc mode des using triple DES.
-cbc3_enc.c     - des_3cbc_encrypt() source, don't use this function.
-cfb_enc.c      - des_cfb_encrypt() source.
-cfb64enc.c     - des_cfb64_encrypt() cfb in 64 bit mode but setup to be
-                 used as a stream cipher.
-cfb64ede.c     - des_ede3_cfb64_encrypt() cfb in 64 bit mode but setup to be
-                 used as a stream cipher and using triple DES.
-ofb_enc.c      - des_cfb_encrypt() source.
-ofb64_enc.c    - des_ofb_encrypt() ofb in 64 bit mode but setup to be
-                 used as a stream cipher.
-ofb64ede.c     - des_ede3_ofb64_encrypt() ofb in 64 bit mode but setup to be
-                 used as a stream cipher and using triple DES.
-enc_read.c     - des_enc_read() source.
-enc_writ.c     - des_enc_write() source.
-pcbc_enc.c     - des_pcbc_encrypt() source.
-qud_cksm.c     - quad_cksum() source.
-rand_key.c     - des_random_key() source.
-read_pwd.c     - Source for des_read_password() plus related functions.
-set_key.c      - Source for des_set_key().
-str2key.c      - Covert a string of any length into a key.
-fcrypt.c       - A small, fast version of crypt(3).
-des_locl.h     - Internal libdes.a header file.
-podd.h         - Odd parity tables - used in des_set_key().
-sk.h           - Lookup tables used in des_set_key().
-spr.h          - What is left of the S tables - used in ecb_encrypt().
-des_ver.h      - header file for the external definition of the
-                 version string.
-des.doc                - SSLeay documentation for the library.
-
-
diff --git a/lib/libcrypto/des/README b/lib/libcrypto/des/README
deleted file mode 100644 (file)
index 621a5ab..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-
-               libdes, Version 4.01 10-Jan-97
-
-               Copyright (c) 1997, Eric Young
-                         All rights reserved.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms specified in COPYRIGHT.
-    
---
-The primary ftp site for this library is
-ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-x.xx.tar.gz
-libdes is now also shipped with SSLeay.  Primary ftp site of
-ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz
-
-The best way to build this library is to build it as part of SSLeay.
-
-This kit builds a DES encryption library and a DES encryption program.
-It supports ecb, cbc, ofb, cfb, triple ecb, triple cbc, triple ofb,
-triple cfb, desx, and MIT's pcbc encryption modes and also has a fast
-implementation of crypt(3).
-It contains support routines to read keys from a terminal,
-generate a random key, generate a key from an arbitrary length string,
-read/write encrypted data from/to a file descriptor.
-
-The implementation was written so as to conform with the manual entry
-for the des_crypt(3) library routines from MIT's project Athena.
-
-destest should be run after compilation to test the des routines.
-rpw should be run after compilation to test the read password routines.
-The des program is a replacement for the sun des command.  I believe it
-conforms to the sun version.
-
-The Imakefile is setup for use in the kerberos distribution.
-
-These routines are best compiled with gcc or any other good
-optimising compiler.
-Just turn you optimiser up to the highest settings and run destest
-after the build to make sure everything works.
-
-I believe these routines are close to the fastest and most portable DES
-routines that use small lookup tables (4.5k) that are publicly available.
-The fcrypt routine is faster than ufc's fcrypt (when compiling with
-gcc2 -O2) on the sparc 2 (1410 vs 1270) but is not so good on other machines
-(on a sun3/260 168 vs 336).  It is a function of CPU on chip cache size.
-[ 10-Jan-97 and a function of an incorrect speed testing program in
-  ufc which gave much better test figures that reality ].
-
-It is worth noting that on sparc and Alpha CPUs, performance of the DES
-library can vary by upto %10 due to the positioning of files after application
-linkage.
-
-Eric Young (eay@cryptsoft.com)
-
diff --git a/lib/libcrypto/des/VERSION b/lib/libcrypto/des/VERSION
deleted file mode 100644 (file)
index c7d0154..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-       Fixed the weak key values which were wrong :-(
-       Defining SIGACTION causes sigaction() to be used instead of signal().
-       SIGUSR1/SIGUSR2 are no longer mapped in the read tty stuff because it
-       can cause problems.  This should hopefully not affect normal
-       applications.
-
-Version 4.04
-       Fixed a few tests in destest.  Also added x86 assember for
-       des_ncbc_encrypt() which is the standard cbc mode function.
-       This makes a very very large performace difference.
-       Ariel Glenn ariel@columbia.edu reports that the terminal
-       'turn echo off' can return (errno == EINVAL) under solaris
-       when redirection is used.  So I now catch that as well as ENOTTY.
-
-
-Version 4.03
-       Left a static out of enc_write.c, which caused to buffer to be
-       continiously malloc()ed.  Does anyone use these functions?  I keep
-       on feeling like removing them since I only had these in there
-       for a version of kerberised login.  Anyway, this was pointed out
-       by Theo de Raadt <deraadt@cvs.openbsd.org>
-       The 'n' bit ofb code was wrong, it was not shifting the shift
-       register. It worked correctly for n == 64.  Thanks to
-       Gigi Ankeny <Gigi.Ankeny@Eng.Sun.COM> for pointing this one out.
-
-Version 4.02
-       I was doing 'if (memcmp(weak_keys[i],key,sizeof(key)) == 0)'
-       when checking for weak keys which is wrong :-(, pointed out by
-       Markus F.X.J. Oberhumer <markus.oberhumer@jk.uni-linz.ac.at>.
-
-Version 4.01
-       Even faster inner loop in the DES assembler for x86 and a modification
-       for IP/FP which is faster on x86.  Both of these changes are
-       from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>.  His
-       changes make the assembler run %40 faster on a pentium.  This is just
-       a case of getting the instruction sequence 'just right'.
-       All credit to 'Svend' :-)
-       Quite a few special x86 'make' targets.
-       A libdes-l (lite) distribution.
-
-Version 4.00
-       After a bit of a pause, I'll up the major version number since this
-       is mostly a performace release.  I've added x86 assembler and
-       added more options for performance.  A %28 speedup for gcc 
-       on a pentium and the assembler is a %50 speedup.
-       MIPS CPU's, sparc and Alpha are the main CPU's with speedups.
-       Run des_opts to work out which options should be used.
-       DES_RISC1/DES_RISC2 use alternative inner loops which use
-       more registers but should give speedups on any CPU that does
-       dual issue (pentium).  DES_UNROLL unrolls the inner loop,
-       which costs in code size.
-
-Version 3.26
-       I've finally removed one of the shifts in D_ENCRYPT.  This
-       meant I've changed the des_SPtrans table (spr.h), the set_key()
-       function and some things in des_enc.c.  This has definitly
-       made things faster :-).  I've known about this one for some
-       time but I've been too lazy to follow it up :-).
-       Noticed that in the D_ENCRYPT() macro, we can just do L^=(..)^(..)^..
-       instead of L^=((..)|(..)|(..)..  This should save a register at
-       least.
-       Assember for x86.  The file to replace is des_enc.c, which is replaced
-       by one of the assembler files found in asm.  Look at des/asm/readme
-       for more info.
-
-       /* Modification to fcrypt so it can be compiled to support
-       HPUX 10.x's long password format, define -DLONGCRYPT to use this.
-       Thanks to Jens Kupferschmidt <bt1cu@hpboot.rz.uni-leipzig.de>. */
-
-       SIGWINCH case put in des_read_passwd() so the function does not
-       'exit' if this function is recieved.
-
-Version 3.25 17/07/96
-       Modified read_pwd.c so that stdin can be read if not a tty.
-       Thanks to Jeff Barber <jeffb@issl.atl.hp.com> for the patches.
-       des_init_random_number_generator() shortened due to VMS linker
-       limits.
-       Added RSA's DESX cbc mode.  It is a form of cbc encryption, with 2
-       8 byte quantites xored before and after encryption.
-       des_xcbc_encryption() - the name is funny to preserve the des_
-       prefix on all functions.
-
-Version 3.24 20/04/96
-       The DES_PTR macro option checked and used by SSLeay configuration
-
-Version 3.23 11/04/96
-       Added DES_LONG.  If defined to 'unsigned int' on the DEC Alpha,
-       it gives a %20 speedup :-)
-       Fixed the problem with des.pl under perl5.  The patches were
-       sent by Ed Kubaitis (ejk@uiuc.edu).
-       if fcrypt.c, changed values to handle illegal salt values the way
-       normal crypt() implementations do.  Some programs apparently use
-       them :-(. The patch was sent by Bjorn Gronvall <bg@sics.se>
-
-Version 3.22 29/11/95
-       Bug in des(1), an error with the uuencoding stuff when the
-       'data' is small, thanks to Geoff Keating <keagchon@mehta.anu.edu.au>
-       for the patch.
-
-Version 3.21 22/11/95
-       After some emailing back and forth with 
-       Colin Plumb <colin@nyx10.cs.du.edu>, I've tweaked a few things
-       and in a future version I will probably put in some of the
-       optimisation he suggested for use with the DES_USE_PTR option.
-       Extra routines from Mark Murray <mark@grondar.za> for use in
-       freeBSD.  They mostly involve random number generation for use
-       with kerberos.  They involve evil machine specific system calls
-       etc so I would normally suggest pushing this stuff into the
-       application and/or using RAND_seed()/RAND_bytes() if you are
-       using this DES library as part of SSLeay.
-       Redone the read_pw() function so that it is cleaner and
-       supports termios, thanks to Sameer Parekh <sameer@c2.org>
-       for the initial patches for this.
-       Renamed 3ecb_encrypt() to ecb3_encrypt().  This has been
-        done just to make things more consistent.
-       I have also now added triple DES versions of cfb and ofb.
-
-Version 3.20
-       Damn, Damn, Damn, as pointed out by Mike_Spreitzer.PARC@xerox.com,
-       my des_random_seed() function was only copying 4 bytes of the
-       passed seed into the init structure.  It is now fixed to copy 8.
-       My own suggestion is to used something like MD5 :-)
-
-Version 3.19 
-       While looking at my code one day, I though, why do I keep on
-       calling des_encrypt(in,out,ks,enc) when every function that
-       calls it has in and out the same.  So I dropped the 'out'
-       parameter, people should not be using this function.
-
-Version 3.18 30/08/95
-       Fixed a few bit with the distribution and the filenames.
-       3.17 had been munged via a move to DOS and back again.
-       NO CODE CHANGES
-
-Version 3.17 14/07/95
-       Fixed ede3 cbc which I had broken in 3.16.  I have also
-       removed some unneeded variables in 7-8 of the routines.
-
-Version 3.16 26/06/95
-       Added des_encrypt2() which does not use IP/FP, used by triple
-       des routines.  Tweaked things a bit elsewhere. %13 speedup on
-       sparc and %6 on a R4400 for ede3 cbc mode.
-
-Version 3.15 06/06/95
-       Added des_ncbc_encrypt(), it is des_cbc mode except that it is
-       'normal' and copies the new iv value back over the top of the
-       passed parameter.
-       CHANGED des_ede3_cbc_encrypt() so that it too now overwrites
-       the iv.  THIS WILL BREAK EXISTING CODE, but since this function
-       only new, I feel I can change it, not so with des_cbc_encrypt :-(.
-       I need to update the documentation.
-
-Version 3.14 31/05/95
-       New release upon the world, as part of my SSL implementation.
-       New copyright and usage stuff.  Basically free for all to use
-       as long as you say it came from me :-)
-
-Version 3.13 31/05/95
-       A fix in speed.c, if HZ is not defined, I set it to 100.0
-       which is reasonable for most unixes except SunOS 4.x.
-       I now have a #ifdef sun but timing for SunOS 4.x looked very
-       good :-(.  At my last job where I used SunOS 4.x, it was
-       defined to be 60.0 (look at the old INSTALL documentation), at
-       the last release had it changed to 100.0 since I now work with
-       Solaris2 and SVR4 boxes.
-       Thanks to  Rory Chisholm <rchishol@math.ethz.ch> for pointing this
-       one out.
-
-Version 3.12 08/05/95
-       As pointed out by The Crypt Keeper <tck@bend.UCSD.EDU>,
-       my D_ENCRYPT macro in crypt() had an un-necessary variable.
-       It has been removed.
-
-Version 3.11 03/05/95
-       Added des_ede3_cbc_encrypt() which is cbc mode des with 3 keys
-       and one iv.  It is a standard and I needed it for my SSL code.
-       It makes more sense to use this for triple DES than
-       3cbc_encrypt().  I have also added (or should I say tested :-)
-       cfb64_encrypt() which is cfb64 but it will encrypt a partial
-       number of bytes - 3 bytes in 3 bytes out.  Again this is for
-       my SSL library, as a form of encryption to use with SSL
-       telnet.
-
-Version 3.10 22/03/95
-       Fixed a bug in 3cbc_encrypt() :-(.  When making repeated calls
-       to cbc3_encrypt, the 2 iv values that were being returned to
-       be used in the next call were reversed :-(.
-       Many thanks to Bill Wade <wade@Stoner.COM> for pointing out
-       this error.
-
-Version 3.09 01/02/95
-       Fixed des_random_key to far more random, it was rather feeble
-       with regards to picking the initial seed.  The problem was
-       pointed out by Olaf Kirch <okir@monad.swb.de>.
-
-Version 3.08 14/12/94
-       Added Makefile.PL so libdes can be built into perl5.
-       Changed des_locl.h so RAND is always defined.
-
-Version 3.07 05/12/94
-       Added GNUmake and stuff so the library can be build with
-       glibc.
-
-Version 3.06 30/08/94
-       Added rpc_enc.c which contains _des_crypt.  This is for use in
-       secure_rpc v 4.0
-       Finally fixed the cfb_enc problems.
-       Fixed a few parameter parsing bugs in des (-3 and -b), thanks
-       to Rob McMillan <R.McMillan@its.gu.edu.au>
-
-Version 3.05 21/04/94
-       for unsigned long l; gcc does not produce ((l>>34) == 0)
-       This causes bugs in cfb_enc.
-       Thanks to Hadmut Danisch <danisch@ira.uka.de>
-
-Version 3.04 20/04/94
-       Added a version number to des.c and libdes.a
-
-Version 3.03 12/01/94
-       Fixed a bug in non zero iv in 3cbc_enc.
-
-Version 3.02 29/10/93
-       I now work in a place where there are 6+ architectures and 14+
-       OS versions :-).
-       Fixed TERMIO definition so the most sys V boxes will work :-)
-
-Release upon comp.sources.misc
-Version 3.01 08/10/93
-       Added des_3cbc_encrypt()
-
-Version 3.00 07/10/93
-       Fixed up documentation.
-       quad_cksum definitely compatible with MIT's now.
-
-Version 2.30 24/08/93
-       Triple DES now defaults to triple cbc but can do triple ecb
-        with the -b flag.
-       Fixed some MSDOS uuen/uudecoding problems, thanks to
-       Added prototypes.
-       
-Version 2.22 29/06/93
-       Fixed a bug in des_is_weak_key() which stopped it working :-(
-       thanks to engineering@MorningStar.Com.
-
-Version 2.21 03/06/93
-       des(1) with no arguments gives quite a bit of help.
-       Added -c (generate ckecksum) flag to des(1).
-       Added -3 (triple DES) flag to des(1).
-       Added cfb and ofb routines to the library.
-
-Version 2.20 11/03/93
-       Added -u (uuencode) flag to des(1).
-       I have been playing with byte order in quad_cksum to make it
-        compatible with MIT's version.  All I can say is avid this
-        function if possible since MIT's output is endian dependent.
-
-Version 2.12 14/10/92
-       Added MSDOS specific macro in ecb_encrypt which gives a %70
-        speed up when the code is compiled with turbo C.
-
-Version 2.11 12/10/92
-       Speedup in set_key (recoding of PC-1)
-        I now do it in 47 simple operations, down from 60.
-        Thanks to John Fletcher (john_fletcher@lccmail.ocf.llnl.gov)
-        for motivating me to look for a faster system :-)
-        The speedup is probably less that 1% but it is still 13
-        instructions less :-).
-
-Version 2.10 06/10/92
-       The code now works on the 64bit ETA10 and CRAY without modifications or
-        #defines.  I believe the code should work on any machine that
-        defines long, int or short to be 8 bytes long.
-       Thanks to Shabbir J. Safdar (shabby@mentor.cc.purdue.edu)
-        for helping me fix the code to run on 64bit machines (he had
-        access to an ETA10).
-       Thanks also to John Fletcher <john_fletcher@lccmail.ocf.llnl.gov>
-        for testing the routines on a CRAY.
-       read_password.c has been renamed to read_passwd.c
-       string_to_key.c has been renamed to string2key.c
-
-Version 2.00 14/09/92
-       Made mods so that the library should work on 64bit CPU's.
-       Removed all my uchar and ulong defs.  To many different
-        versions of unix define them in their header files in too many
-        different combinations :-)
-       IRIX - Sillicon Graphics mods (mostly in read_password.c).
-        Thanks to Andrew Daviel (advax@erich.triumf.ca)
-
-Version 1.99 26/08/92
-       Fixed a bug or 2 in enc_read.c
-       Fixed a bug in enc_write.c
-       Fixed a pseudo bug in fcrypt.c (very obscure).
-
-Version 1.98 31/07/92
-       Support for the ETA10.  This is a strange machine that defines
-       longs and ints as 8 bytes and shorts as 4 bytes.
-       Since I do evil things with long * that assume that they are 4
-       bytes.  Look in the Makefile for the option to compile for
-       this machine.  quad_cksum appears to have problems but I
-       will don't have the time to fix it right now, and this is not
-       a function that uses DES and so will not effect the main uses
-       of the library.
-
-Version 1.97 20/05/92 eay
-       Fixed the Imakefile and made some changes to des.h to fix some
-       problems when building this package with Kerberos v 4.
-
-Version 1.96 18/05/92 eay
-       Fixed a small bug in string_to_key() where problems could
-       occur if des_check_key was set to true and the string
-       generated a weak key.
-
-Patch2 posted to comp.sources.misc
-Version 1.95 13/05/92 eay
-       Added an alternative version of the D_ENCRYPT macro in
-       ecb_encrypt and fcrypt.  Depending on the compiler, one version or the
-       other will be faster.  This was inspired by 
-       Dana How <how@isl.stanford.edu>, and her pointers about doing the
-       *(ulong *)((uchar *)ptr+(value&0xfc))
-       vs
-       ptr[value&0x3f]
-       to stop the C compiler doing a <<2 to convert the long array index.
-
-Version 1.94 05/05/92 eay
-       Fixed an incompatibility between my string_to_key and the MIT
-        version.  When the key is longer than 8 chars, I was wrapping
-        with a different method.  To use the old version, define
-        OLD_STR_TO_KEY in the makefile.  Thanks to
-        viktor@newsu.shearson.com (Viktor Dukhovni).
-
-Version 1.93 28/04/92 eay
-       Fixed the VMS mods so that echo is now turned off in
-        read_password.  Thanks again to brennan@coco.cchs.su.oz.AU.
-       MSDOS support added.  The routines can be compiled with
-        Turbo C (v2.0) and MSC (v5.1).  Make sure MSDOS is defined.
-
-Patch1 posted to comp.sources.misc
-Version 1.92 13/04/92 eay
-       Changed D_ENCRYPT so that the rotation of R occurs outside of
-        the loop.  This required rotating all the longs in sp.h (now
-        called spr.h). Thanks to Richard Outerbridge <71755.204@CompuServe.COM>
-       speed.c has been changed so it will work without SIGALRM.  If
-        times(3) is not present it will try to use ftime() instead.
-
-Version 1.91 08/04/92 eay
-       Added -E/-D options to des(1) so it can use string_to_key.
-       Added SVR4 mods suggested by witr@rwwa.COM
-       Added VMS mods suggested by brennan@coco.cchs.su.oz.AU.  If
-       anyone knows how to turn of tty echo in VMS please tell me or
-       implement it yourself :-).
-       Changed FILE *IN/*OUT to *DES_IN/*DES_OUT since it appears VMS
-       does not like IN/OUT being used.
-
-Libdes posted to comp.sources.misc
-Version 1.9 24/03/92 eay
-       Now contains a fast small crypt replacement.
-       Added des(1) command.
-       Added des_rw_mode so people can use cbc encryption with
-       enc_read and enc_write.
-
-Version 1.8 15/10/91 eay
-       Bug in cbc_cksum.
-       Many thanks to Keith Reynolds (keithr@sco.COM) for pointing this
-       one out.
-
-Version 1.7 24/09/91 eay
-       Fixed set_key :-)
-       set_key is 4 times faster and takes less space.
-       There are a few minor changes that could be made.
-
-Version 1.6 19/09/1991 eay
-       Finally go IP and FP finished.
-       Now I need to fix set_key.
-       This version is quite a bit faster that 1.51
-
-Version 1.52 15/06/1991 eay
-       20% speedup in ecb_encrypt by changing the E bit selection
-       to use 2 32bit words.  This also required modification of the
-       sp table.  There is still a way to speedup the IP and IP-1
-       (hints from outer@sq.com) still working on this one :-(.
-
-Version 1.51 07/06/1991 eay
-       Faster des_encrypt by loop unrolling
-       Fixed bug in quad_cksum.c (thanks to hughes@logos.ucs.indiana.edu)
-
-Version 1.50 28/05/1991 eay
-       Optimised the code a bit more for the sparc.  I have improved the
-       speed of the inner des_encrypt by speeding up the initial and
-       final permutations.
-
-Version 1.40 23/10/1990 eay
-       Fixed des_random_key, it did not produce a random key :-(
-
-Version 1.30  2/10/1990 eay
-       Have made des_quad_cksum the same as MIT's, the full package
-       should be compatible with MIT's
-       Have tested on a DECstation 3100
-       Still need to fix des_set_key (make it faster).
-       Does des_cbc_encrypts at 70.5k/sec on a 3100.
-
-Version 1.20 18/09/1990 eay
-       Fixed byte order dependencies.
-       Fixed (I hope) all the word alignment problems.
-       Speedup in des_ecb_encrypt.
-
-Version 1.10 11/09/1990 eay
-       Added des_enc_read and des_enc_write.
-       Still need to fix des_quad_cksum.
-       Still need to document des_enc_read and des_enc_write.
-
-Version 1.00 27/08/1990 eay
-
diff --git a/lib/libcrypto/des/des_opts.c b/lib/libcrypto/des/des_opts.c
deleted file mode 100644 (file)
index c713c5e..0000000
+++ /dev/null
@@ -1,608 +0,0 @@
-/* crypto/des/des_opts.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* define PART1, PART2, PART3 or PART4 to build only with a few of the options.
- * This is for machines with 64k code segment size restrictions. */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-#ifndef OPENSSL_SYS_MSDOS
-#include <openssl/e_os2.h>
-#include <unistd.h>
-#else
-#include <io.h>
-extern void exit();
-#endif
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/des.h>
-#include "spr.h"
-
-#define DES_DEFAULT_OPTIONS
-
-#if !defined(PART1) && !defined(PART2) && !defined(PART3) && !defined(PART4)
-#define PART1
-#define PART2
-#define PART3
-#define PART4
-#endif
-
-#ifdef PART1
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#define DES_encrypt1 des_encrypt_u4_cisc_idx
-#define DES_encrypt2 des_encrypt2_u4_cisc_idx
-#define DES_encrypt3 des_encrypt3_u4_cisc_idx
-#define DES_decrypt3 des_decrypt3_u4_cisc_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_cisc_idx
-#define DES_encrypt2 des_encrypt2_u16_cisc_idx
-#define DES_encrypt3 des_encrypt3_u16_cisc_idx
-#define DES_decrypt3 des_decrypt3_u16_cisc_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#undef DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc1_idx
-#define DES_encrypt2 des_encrypt2_u4_risc1_idx
-#define DES_encrypt3 des_encrypt3_u4_risc1_idx
-#define DES_decrypt3 des_decrypt3_u4_risc1_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART2
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc2_idx
-#define DES_encrypt2 des_encrypt2_u4_risc2_idx
-#define DES_encrypt3 des_encrypt3_u4_risc2_idx
-#define DES_decrypt3 des_decrypt3_u4_risc2_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc1_idx
-#define DES_encrypt2 des_encrypt2_u16_risc1_idx
-#define DES_encrypt3 des_encrypt3_u16_risc1_idx
-#define DES_decrypt3 des_decrypt3_u16_risc1_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc2_idx
-#define DES_encrypt2 des_encrypt2_u16_risc2_idx
-#define DES_encrypt3 des_encrypt3_u16_risc2_idx
-#define DES_decrypt3 des_decrypt3_u16_risc2_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART3
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_cisc_ptr
-#define DES_encrypt2 des_encrypt2_u4_cisc_ptr
-#define DES_encrypt3 des_encrypt3_u4_cisc_ptr
-#define DES_decrypt3 des_decrypt3_u4_cisc_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_cisc_ptr
-#define DES_encrypt2 des_encrypt2_u16_cisc_ptr
-#define DES_encrypt3 des_encrypt3_u16_cisc_ptr
-#define DES_decrypt3 des_decrypt3_u16_cisc_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#undef DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc1_ptr
-#define DES_encrypt2 des_encrypt2_u4_risc1_ptr
-#define DES_encrypt3 des_encrypt3_u4_risc1_ptr
-#define DES_decrypt3 des_decrypt3_u4_risc1_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART4
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc2_ptr
-#define DES_encrypt2 des_encrypt2_u4_risc2_ptr
-#define DES_encrypt3 des_encrypt3_u4_risc2_ptr
-#define DES_decrypt3 des_decrypt3_u4_risc2_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc1_ptr
-#define DES_encrypt2 des_encrypt2_u16_risc1_ptr
-#define DES_encrypt3 des_encrypt3_u16_risc1_ptr
-#define DES_decrypt3 des_decrypt3_u16_risc1_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc2_ptr
-#define DES_encrypt2 des_encrypt2_u16_risc2_ptr
-#define DES_encrypt3 des_encrypt3_u16_risc2_ptr
-#define DES_decrypt3 des_decrypt3_u16_risc2_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD fix */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-#ifdef SIGALRM
-#define print_name(name) fprintf(stderr,"Doing %s's for 10 seconds\n",name); alarm(10);
-#else
-#define print_name(name) fprintf(stderr,"Doing %s %ld times\n",name,cb);
-#endif
-       
-#define time_it(func,name,index) \
-       print_name(name); \
-       Time_F(START); \
-       for (count=0,run=1; COND(cb); count++) \
-               { \
-               unsigned long d[2]; \
-               func(d,&sch,DES_ENCRYPT); \
-               } \
-       tm[index]=Time_F(STOP); \
-       fprintf(stderr,"%ld %s's in %.2f second\n",count,name,tm[index]); \
-       tm[index]=((double)COUNT(cb))/tm[index];
-
-#define print_it(name,index) \
-       fprintf(stderr,"%s bytes per sec = %12.2f (%5.1fuS)\n",name, \
-               tm[index]*8,1.0e6/tm[index]);
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static DES_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0};
-       static DES_cblock key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};
-       static DES_cblock key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};
-       DES_key_schedule sch,sch2,sch3;
-       double d,tm[16],max=0;
-       int rank[16];
-       char *str[16];
-       int max_idx=0,i,num=0,j;
-#ifndef SIGALARM
-       long ca,cb,cc,cd,ce;
-#endif
-
-       for (i=0; i<12; i++)
-               {
-               tm[i]=0.0;
-               rank[i]=0;
-               }
-
-#ifndef TIMES
-       fprintf(stderr,"To get the most accurate results, try to run this\n");
-       fprintf(stderr,"program when this computer is idle.\n");
-#endif
-
-       DES_set_key_unchecked(&key,&sch);
-       DES_set_key_unchecked(&key2,&sch2);
-       DES_set_key_unchecked(&key3,&sch3);
-
-#ifndef SIGALRM
-       fprintf(stderr,"First we calculate the approximate speed ...\n");
-       DES_set_key_unchecked(&key,sch);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       DES_encrypt1(data,&(sch[0]),DES_ENCRYPT);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count;
-       cb=count*3;
-       cc=count*3*8/BUFSIZE+1;
-       cd=count*8/BUFSIZE+1;
-
-       ce=count/20+1;
-#define COND(d) (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c) (run)
-#define COUNT(d) (count)
-        signal(SIGALRM,sig_done);
-        alarm(10);
-#endif
-
-#ifdef PART1
-       time_it(des_encrypt_u4_cisc_idx,  "des_encrypt_u4_cisc_idx  ", 0);
-       time_it(des_encrypt_u16_cisc_idx, "des_encrypt_u16_cisc_idx ", 1);
-       time_it(des_encrypt_u4_risc1_idx, "des_encrypt_u4_risc1_idx ", 2);
-       num+=3;
-#endif
-#ifdef PART2
-       time_it(des_encrypt_u16_risc1_idx,"des_encrypt_u16_risc1_idx", 3);
-       time_it(des_encrypt_u4_risc2_idx, "des_encrypt_u4_risc2_idx ", 4);
-       time_it(des_encrypt_u16_risc2_idx,"des_encrypt_u16_risc2_idx", 5);
-       num+=3;
-#endif
-#ifdef PART3
-       time_it(des_encrypt_u4_cisc_ptr,  "des_encrypt_u4_cisc_ptr  ", 6);
-       time_it(des_encrypt_u16_cisc_ptr, "des_encrypt_u16_cisc_ptr ", 7);
-       time_it(des_encrypt_u4_risc1_ptr, "des_encrypt_u4_risc1_ptr ", 8);
-       num+=3;
-#endif
-#ifdef PART4
-       time_it(des_encrypt_u16_risc1_ptr,"des_encrypt_u16_risc1_ptr", 9);
-       time_it(des_encrypt_u4_risc2_ptr, "des_encrypt_u4_risc2_ptr ",10);
-       time_it(des_encrypt_u16_risc2_ptr,"des_encrypt_u16_risc2_ptr",11);
-       num+=3;
-#endif
-
-#ifdef PART1
-       str[0]=" 4  c i";
-       print_it("des_encrypt_u4_cisc_idx  ",0);
-       max=tm[0];
-       max_idx=0;
-       str[1]="16  c i";
-       print_it("des_encrypt_u16_cisc_idx ",1);
-       if (max < tm[1]) { max=tm[1]; max_idx=1; }
-       str[2]=" 4 r1 i";
-       print_it("des_encrypt_u4_risc1_idx ",2);
-       if (max < tm[2]) { max=tm[2]; max_idx=2; }
-#endif
-#ifdef PART2
-       str[3]="16 r1 i";
-       print_it("des_encrypt_u16_risc1_idx",3);
-       if (max < tm[3]) { max=tm[3]; max_idx=3; }
-       str[4]=" 4 r2 i";
-       print_it("des_encrypt_u4_risc2_idx ",4);
-       if (max < tm[4]) { max=tm[4]; max_idx=4; }
-       str[5]="16 r2 i";
-       print_it("des_encrypt_u16_risc2_idx",5);
-       if (max < tm[5]) { max=tm[5]; max_idx=5; }
-#endif
-#ifdef PART3
-       str[6]=" 4  c p";
-       print_it("des_encrypt_u4_cisc_ptr  ",6);
-       if (max < tm[6]) { max=tm[6]; max_idx=6; }
-       str[7]="16  c p";
-       print_it("des_encrypt_u16_cisc_ptr ",7);
-       if (max < tm[7]) { max=tm[7]; max_idx=7; }
-       str[8]=" 4 r1 p";
-       print_it("des_encrypt_u4_risc1_ptr ",8);
-       if (max < tm[8]) { max=tm[8]; max_idx=8; }
-#endif
-#ifdef PART4
-       str[9]="16 r1 p";
-       print_it("des_encrypt_u16_risc1_ptr",9);
-       if (max < tm[9]) { max=tm[9]; max_idx=9; }
-       str[10]=" 4 r2 p";
-       print_it("des_encrypt_u4_risc2_ptr ",10);
-       if (max < tm[10]) { max=tm[10]; max_idx=10; }
-       str[11]="16 r2 p";
-       print_it("des_encrypt_u16_risc2_ptr",11);
-       if (max < tm[11]) { max=tm[11]; max_idx=11; }
-#endif
-       printf("options    des ecb/s\n");
-       printf("%s %12.2f 100.0%%\n",str[max_idx],tm[max_idx]);
-       d=tm[max_idx];
-       tm[max_idx]= -2.0;
-       max= -1.0;
-       for (;;)
-               {
-               for (i=0; i<12; i++)
-                       {
-                       if (max < tm[i]) { max=tm[i]; j=i; }
-                       }
-               if (max < 0.0) break;
-               printf("%s %12.2f  %4.1f%%\n",str[j],tm[j],tm[j]/d*100.0);
-               tm[j]= -2.0;
-               max= -1.0;
-               }
-
-       switch (max_idx)
-               {
-       case 0:
-               printf("-DDES_DEFAULT_OPTIONS\n");
-               break;
-       case 1:
-               printf("-DDES_UNROLL\n");
-               break;
-       case 2:
-               printf("-DDES_RISC1\n");
-               break;
-       case 3:
-               printf("-DDES_UNROLL -DDES_RISC1\n");
-               break;
-       case 4:
-               printf("-DDES_RISC2\n");
-               break;
-       case 5:
-               printf("-DDES_UNROLL -DDES_RISC2\n");
-               break;
-       case 6:
-               printf("-DDES_PTR\n");
-               break;
-       case 7:
-               printf("-DDES_UNROLL -DDES_PTR\n");
-               break;
-       case 8:
-               printf("-DDES_RISC1 -DDES_PTR\n");
-               break;
-       case 9:
-               printf("-DDES_UNROLL -DDES_RISC1 -DDES_PTR\n");
-               break;
-       case 10:
-               printf("-DDES_RISC2 -DDES_PTR\n");
-               break;
-       case 11:
-               printf("-DDES_UNROLL -DDES_RISC2 -DDES_PTR\n");
-               break;
-               }
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libcrypto/des/options.txt b/lib/libcrypto/des/options.txt
deleted file mode 100644 (file)
index 6e2b50f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-Note that the UNROLL option makes the 'inner' des loop unroll all 16 rounds
-instead of the default 4.
-RISC1 and RISC2 are 2 alternatives for the inner loop and
-PTR means to use pointers arithmatic instead of arrays.
-
-FreeBSD - Pentium Pro 200mhz - gcc 2.7.2.2 - assembler         577,000 4620k/s
-IRIX 6.2 - R10000 195mhz - cc (-O3 -n32) - UNROLL RISC2 PTR    496,000 3968k/s
-solaris 2.5.1 usparc 167mhz?? - SC4.0 - UNROLL RISC1 PTR [1]   459,400 3672k/s
-FreeBSD - Pentium Pro 200mhz - gcc 2.7.2.2 - UNROLL RISC1      433,000 3468k/s
-solaris 2.5.1 usparc 167mhz?? - gcc 2.7.2 - UNROLL             380,000 3041k/s
-linux - pentium 100mhz - gcc 2.7.0 - assembler                 281,000 2250k/s
-NT 4.0 - pentium 100mhz - VC 4.2 - assembler                   281,000 2250k/s
-AIX 4.1? - PPC604 100mhz - cc - UNROLL                                 275,000 2200k/s
-IRIX 5.3 - R4400 200mhz - gcc 2.6.3 - UNROLL RISC2 PTR         235,300 1882k/s
-IRIX 5.3 - R4400 200mhz - cc - UNROLL RISC2 PTR                        233,700 1869k/s
-NT 4.0 - pentium 100mhz - VC 4.2 - UNROLL RISC1 PTR            191,000 1528k/s
-DEC Alpha 165mhz??  - cc - RISC2 PTR [2]                       181,000 1448k/s
-linux - pentium 100mhz - gcc 2.7.0 - UNROLL RISC1 PTR          158,500 1268k/s
-HPUX 10 - 9000/887 - cc - UNROLL [3]                           148,000 1190k/s
-solaris 2.5.1 - sparc 10 50mhz - gcc 2.7.2 - UNROLL            123,600  989k/s
-IRIX 5.3 - R4000 100mhz - cc - UNROLL RISC2 PTR                        101,000  808k/s
-DGUX - 88100 50mhz(?) - gcc 2.6.3 - UNROLL                      81,000  648k/s
-solaris 2.4 486 50mhz - gcc 2.6.3 - assembler                   65,000  522k/s
-HPUX 10 - 9000/887 - k&r cc (default compiler) - UNROLL PTR     76,000  608k/s
-solaris 2.4 486 50mhz - gcc 2.6.3 - UNROLL RISC2                43,500  344k/s
-AIX - old slow one :-) - cc -                                   39,000  312k/s
-
-Notes.
-[1] For the ultra sparc, SunC 4.0 
-    cc -xtarget=ultra -xarch=v8plus -Xa -xO5, running 'des_opts'
-    gives a speed of 344,000 des/s while 'speed' gives 459,000 des/s.
-    I'll record the higher since it is coming from the library but it
-    is all rather weird.
-[2] Similar to the ultra sparc ([1]), 181,000 for 'des_opts' vs 175,000.
-[3] I was unable to get access to this machine when it was not heavily loaded.
-    As such, my timing program was never able to get more that %30 of the CPU.
-    This would cause the program to give much lower speed numbers because
-    it would be 'fighting' to stay in the cache with the other CPU burning
-    processes.
diff --git a/lib/libcrypto/idea/idea_spd.c b/lib/libcrypto/idea/idea_spd.c
deleted file mode 100644 (file)
index 7905b77..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-/* crypto/idea/idea_spd.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/idea.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       IDEA_KEY_SCHEDULE sch;
-       double a,aa,b,c,d;
-#ifndef SIGALRM
-       long ca,cca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       idea_set_encrypt_key(key,&sch);
-       count=10;
-       do      {
-               long i;
-               IDEA_INT data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       idea_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/4;
-       cca=count/200;
-       cb=count;
-       cc=count*8/BUFSIZE+1;
-       printf("idea_set_encrypt_key %ld times\n",ca);
-#define COND(d)        (count <= (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing idea_set_encrypt_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea idea_set_encrypt_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_set_decrypt_key for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing idea_set_decrypt_key %ld times\n",cca);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(cca); count+=4)
-               {
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea idea_set_decrypt_key's in %.2f seconds\n",count,d);
-       aa=((double)COUNT(cca))/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_encrypt's for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing idea_encrypt %ld times\n",cb);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cb); count+=4)
-               {
-               unsigned long data[2];
-
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea_encrypt's in %.2f second\n",count,d);
-       b=((double)COUNT(cb)*8)/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_cbc_encrypt on %ld byte blocks for 10 seconds\n",
-               BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing idea_cbc_encrypt %ld times on %ld byte blocks\n",cc,
-               BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               idea_cbc_encrypt(buf,buf,BUFSIZE,&sch,
-                       &(key[0]),IDEA_ENCRYPT);
-       d=Time_F(STOP);
-       printf("%ld idea_cbc_encrypt's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("IDEA set_encrypt_key per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("IDEA set_decrypt_key per sec = %12.2f (%9.3fuS)\n",aa,1.0e6/aa);
-       printf("IDEA raw ecb bytes   per sec = %12.2f (%9.3fuS)\n",b,8.0e6/b);
-       printf("IDEA cbc     bytes   per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
-
diff --git a/lib/libcrypto/idea/version b/lib/libcrypto/idea/version
deleted file mode 100644 (file)
index 3f22293..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-1.1 07/12/95 - eay
-       Many thanks to Rhys Weatherley <rweather@us.oracle.com>
-       for pointing out that I was assuming little endian byte
-       order for all quantities what idea actually used
-       bigendian.  No where in the spec does it mention
-       this, it is all in terms of 16 bit numbers and even the example
-       does not use byte streams for the input example :-(.
-       If you byte swap each pair of input, keys and iv, the functions
-       would produce the output as the old version :-(.
-
-1.0 ??/??/95 - eay
-       First version.
diff --git a/lib/libcrypto/lhash/num.pl b/lib/libcrypto/lhash/num.pl
deleted file mode 100644 (file)
index 30fedf9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/local/bin/perl
-
-#node     10 ->   4
-
-while (<>)
-       {
-       next unless /^node/;
-       chop;
-       @a=split;
-       $num{$a[3]}++;
-       }
-
-@a=sort {$a <=> $b } keys %num;
-foreach (0 .. $a[$#a])
-       {
-       printf "%4d:%4d\n",$_,$num{$_};
-       }
diff --git a/lib/libcrypto/rc2/rc2speed.c b/lib/libcrypto/rc2/rc2speed.c
deleted file mode 100644 (file)
index 1c90ca3..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/* crypto/rc2/rc2speed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/rc2.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else  /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif /* CLK_TCK */
-#endif /* HZ */
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       RC2_KEY sch;
-       double a,b,c,d;
-#ifndef SIGALRM
-       long ca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       RC2_set_key(&sch,16,key,128);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       RC2_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/512;
-       cb=count;
-       cc=count*8/BUFSIZE+1;
-       printf("Doing RC2_set_key %ld times\n",ca);
-#define COND(d)        (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing RC2_set_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC2_set_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing RC2_encrypt's for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing RC2_encrypt %ld times\n",cb);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cb); count+=4)
-               {
-               unsigned long data[2];
-
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC2_encrypt's in %.2f second\n",count,d);
-       b=((double)COUNT(cb)*8)/d;
-
-#ifdef SIGALRM
-       printf("Doing RC2_cbc_encrypt on %ld byte blocks for 10 seconds\n",
-               BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing RC2_cbc_encrypt %ld times on %ld byte blocks\n",cc,
-               BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               RC2_cbc_encrypt(buf,buf,BUFSIZE,&sch,
-                       &(key[0]),RC2_ENCRYPT);
-       d=Time_F(STOP);
-       printf("%ld RC2_cbc_encrypt's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("RC2 set_key       per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("RC2 raw ecb bytes per sec = %12.2f (%9.3fuS)\n",b,8.0e6/b);
-       printf("RC2 cbc     bytes per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libcrypto/rc2/tab.c b/lib/libcrypto/rc2/tab.c
deleted file mode 100644 (file)
index 25dc14e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#include <stdio.h>
-
-unsigned char ebits_to_num[256]={
-       0xbd,0x56,0xea,0xf2,0xa2,0xf1,0xac,0x2a,
-       0xb0,0x93,0xd1,0x9c,0x1b,0x33,0xfd,0xd0,
-       0x30,0x04,0xb6,0xdc,0x7d,0xdf,0x32,0x4b,
-       0xf7,0xcb,0x45,0x9b,0x31,0xbb,0x21,0x5a,
-       0x41,0x9f,0xe1,0xd9,0x4a,0x4d,0x9e,0xda,
-       0xa0,0x68,0x2c,0xc3,0x27,0x5f,0x80,0x36,
-       0x3e,0xee,0xfb,0x95,0x1a,0xfe,0xce,0xa8,
-       0x34,0xa9,0x13,0xf0,0xa6,0x3f,0xd8,0x0c,
-       0x78,0x24,0xaf,0x23,0x52,0xc1,0x67,0x17,
-       0xf5,0x66,0x90,0xe7,0xe8,0x07,0xb8,0x60,
-       0x48,0xe6,0x1e,0x53,0xf3,0x92,0xa4,0x72,
-       0x8c,0x08,0x15,0x6e,0x86,0x00,0x84,0xfa,
-       0xf4,0x7f,0x8a,0x42,0x19,0xf6,0xdb,0xcd,
-       0x14,0x8d,0x50,0x12,0xba,0x3c,0x06,0x4e,
-       0xec,0xb3,0x35,0x11,0xa1,0x88,0x8e,0x2b,
-       0x94,0x99,0xb7,0x71,0x74,0xd3,0xe4,0xbf,
-       0x3a,0xde,0x96,0x0e,0xbc,0x0a,0xed,0x77,
-       0xfc,0x37,0x6b,0x03,0x79,0x89,0x62,0xc6,
-       0xd7,0xc0,0xd2,0x7c,0x6a,0x8b,0x22,0xa3,
-       0x5b,0x05,0x5d,0x02,0x75,0xd5,0x61,0xe3,
-       0x18,0x8f,0x55,0x51,0xad,0x1f,0x0b,0x5e,
-       0x85,0xe5,0xc2,0x57,0x63,0xca,0x3d,0x6c,
-       0xb4,0xc5,0xcc,0x70,0xb2,0x91,0x59,0x0d,
-       0x47,0x20,0xc8,0x4f,0x58,0xe0,0x01,0xe2,
-       0x16,0x38,0xc4,0x6f,0x3b,0x0f,0x65,0x46,
-       0xbe,0x7e,0x2d,0x7b,0x82,0xf9,0x40,0xb5,
-       0x1d,0x73,0xf8,0xeb,0x26,0xc7,0x87,0x97,
-       0x25,0x54,0xb1,0x28,0xaa,0x98,0x9d,0xa5,
-       0x64,0x6d,0x7a,0xd4,0x10,0x81,0x44,0xef,
-       0x49,0xd6,0xae,0x2e,0xdd,0x76,0x5c,0x2f,
-       0xa7,0x1c,0xc9,0x09,0x69,0x9a,0x83,0xcf,
-       0x29,0x39,0xb9,0xe9,0x4c,0xff,0x43,0xab,
-       };
-
-unsigned char num_to_ebits[256]={
-       0x5d,0xbe,0x9b,0x8b,0x11,0x99,0x6e,0x4d,
-       0x59,0xf3,0x85,0xa6,0x3f,0xb7,0x83,0xc5,
-       0xe4,0x73,0x6b,0x3a,0x68,0x5a,0xc0,0x47,
-       0xa0,0x64,0x34,0x0c,0xf1,0xd0,0x52,0xa5,
-       0xb9,0x1e,0x96,0x43,0x41,0xd8,0xd4,0x2c,
-       0xdb,0xf8,0x07,0x77,0x2a,0xca,0xeb,0xef,
-       0x10,0x1c,0x16,0x0d,0x38,0x72,0x2f,0x89,
-       0xc1,0xf9,0x80,0xc4,0x6d,0xae,0x30,0x3d,
-       0xce,0x20,0x63,0xfe,0xe6,0x1a,0xc7,0xb8,
-       0x50,0xe8,0x24,0x17,0xfc,0x25,0x6f,0xbb,
-       0x6a,0xa3,0x44,0x53,0xd9,0xa2,0x01,0xab,
-       0xbc,0xb6,0x1f,0x98,0xee,0x9a,0xa7,0x2d,
-       0x4f,0x9e,0x8e,0xac,0xe0,0xc6,0x49,0x46,
-       0x29,0xf4,0x94,0x8a,0xaf,0xe1,0x5b,0xc3,
-       0xb3,0x7b,0x57,0xd1,0x7c,0x9c,0xed,0x87,
-       0x40,0x8c,0xe2,0xcb,0x93,0x14,0xc9,0x61,
-       0x2e,0xe5,0xcc,0xf6,0x5e,0xa8,0x5c,0xd6,
-       0x75,0x8d,0x62,0x95,0x58,0x69,0x76,0xa1,
-       0x4a,0xb5,0x55,0x09,0x78,0x33,0x82,0xd7,
-       0xdd,0x79,0xf5,0x1b,0x0b,0xde,0x26,0x21,
-       0x28,0x74,0x04,0x97,0x56,0xdf,0x3c,0xf0,
-       0x37,0x39,0xdc,0xff,0x06,0xa4,0xea,0x42,
-       0x08,0xda,0xb4,0x71,0xb0,0xcf,0x12,0x7a,
-       0x4e,0xfa,0x6c,0x1d,0x84,0x00,0xc8,0x7f,
-       0x91,0x45,0xaa,0x2b,0xc2,0xb1,0x8f,0xd5,
-       0xba,0xf2,0xad,0x19,0xb2,0x67,0x36,0xf7,
-       0x0f,0x0a,0x92,0x7d,0xe3,0x9d,0xe9,0x90,
-       0x3e,0x23,0x27,0x66,0x13,0xec,0x81,0x15,
-       0xbd,0x22,0xbf,0x9f,0x7e,0xa9,0x51,0x4b,
-       0x4c,0xfb,0x02,0xd3,0x70,0x86,0x31,0xe7,
-       0x3b,0x05,0x03,0x54,0x60,0x48,0x65,0x18,
-       0xd2,0xcd,0x5f,0x32,0x88,0x0e,0x35,0xfd,
-       };
-       
-main()
-       {
-       int i,j;
-
-       for (i=0; i<256; i++)
-               {
-               for (j=0; j<256; j++)
-                       if (ebits_to_num[j] == i)
-                               {
-                               printf("0x%02x,",j);
-                               break;
-                               }
-               }
-       }
diff --git a/lib/libcrypto/rc4/rc4.c b/lib/libcrypto/rc4/rc4.c
deleted file mode 100644 (file)
index c900b26..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/* crypto/rc4/rc4.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <openssl/rc4.h>
-#include <openssl/evp.h>
-
-char *usage[]={
-"usage: rc4 args\n",
-"\n",
-" -in arg         - input file - default stdin\n",
-" -out arg        - output file - default stdout\n",
-" -key key        - password\n",
-NULL
-};
-
-int main(int argc, char *argv[])
-       {
-       FILE *in=NULL,*out=NULL;
-       char *infile=NULL,*outfile=NULL,*keystr=NULL;
-       RC4_KEY key;
-       char buf[BUFSIZ];
-       int badops=0,i;
-       char **pp;
-       unsigned char md[MD5_DIGEST_LENGTH];
-
-       argc--;
-       argv++;
-       while (argc >= 1)
-               {
-               if      (strcmp(*argv,"-in") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       infile= *(++argv);
-                       }
-               else if (strcmp(*argv,"-out") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       outfile= *(++argv);
-                       }
-               else if (strcmp(*argv,"-key") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       keystr= *(++argv);
-                       }
-               else
-                       {
-                       fprintf(stderr,"unknown option %s\n",*argv);
-                       badops=1;
-                       break;
-                       }
-               argc--;
-               argv++;
-               }
-
-       if (badops)
-               {
-bad:
-               for (pp=usage; (*pp != NULL); pp++)
-                       fprintf(stderr,"%s",*pp);
-               exit(1);
-               }
-
-       if (infile == NULL)
-               in=stdin;
-       else
-               {
-               in=fopen(infile,"r");
-               if (in == NULL)
-                       {
-                       perror("open");
-                       exit(1);
-                       }
-
-               }
-       if (outfile == NULL)
-               out=stdout;
-       else
-               {
-               out=fopen(outfile,"w");
-               if (out == NULL)
-                       {
-                       perror("open");
-                       exit(1);
-                       }
-               }
-               
-#ifdef OPENSSL_SYS_MSDOS
-       /* This should set the file to binary mode. */
-       {
-#include <fcntl.h>
-       setmode(fileno(in),O_BINARY);
-       setmode(fileno(out),O_BINARY);
-       }
-#endif
-
-       if (keystr == NULL)
-               { /* get key */
-               i=EVP_read_pw_string(buf,BUFSIZ,"Enter RC4 password:",0);
-               if (i != 0)
-                       {
-                       OPENSSL_cleanse(buf,BUFSIZ);
-                       fprintf(stderr,"bad password read\n");
-                       exit(1);
-                       }
-               keystr=buf;
-               }
-
-       EVP_Digest((unsigned char *)keystr,strlen(keystr),md,NULL,EVP_md5(),NULL);
-       OPENSSL_cleanse(keystr,strlen(keystr));
-       RC4_set_key(&key,MD5_DIGEST_LENGTH,md);
-       
-       for(;;)
-               {
-               i=fread(buf,1,BUFSIZ,in);
-               if (i == 0) break;
-               if (i < 0)
-                       {
-                       perror("read");
-                       exit(1);
-                       }
-               RC4(&key,(unsigned int)i,(unsigned char *)buf,
-                       (unsigned char *)buf);
-               i=fwrite(buf,(unsigned int)i,1,out);
-               if (i != 1)
-                       {
-                       perror("write");
-                       exit(1);
-                       }
-               }
-       fclose(out);
-       fclose(in);
-       exit(0);
-       return(1);
-       }
-
diff --git a/lib/libcrypto/rc4/rc4speed.c b/lib/libcrypto/rc4/rc4speed.c
deleted file mode 100644 (file)
index a495a73..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/* crypto/rc4/rc4speed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/rc4.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       RC4_KEY sch;
-       double a,b,c,d;
-#ifndef SIGALRM
-       long ca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       RC4_set_key(&sch,16,key);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       RC4(&sch,8,buf,buf);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/512;
-       cc=count*8/BUFSIZE+1;
-       printf("Doing RC4_set_key %ld times\n",ca);
-#define COND(d)        (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing RC4_set_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC4_set_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing RC4 on %ld byte blocks for 10 seconds\n",BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing RC4 %ld times on %ld byte blocks\n",cc,BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               RC4(&sch,BUFSIZE,buf,buf);
-       d=Time_F(STOP);
-       printf("%ld RC4's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("RC4 set_key per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("RC4   bytes per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
-
diff --git a/lib/libcrypto/sha/sha.c b/lib/libcrypto/sha/sha.c
deleted file mode 100644 (file)
index 4212655..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* crypto/sha/sha.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <openssl/sha.h>
-
-#define BUFSIZE        1024*16
-
-void do_fp(FILE *f);
-void pt(unsigned char *md);
-int read(int, void *, unsigned int);
-int main(int argc, char **argv)
-       {
-       int i,err=0;
-       FILE *IN;
-
-       if (argc == 1)
-               {
-               do_fp(stdin);
-               }
-       else
-               {
-               for (i=1; i<argc; i++)
-                       {
-                       IN=fopen(argv[i],"r");
-                       if (IN == NULL)
-                               {
-                               perror(argv[i]);
-                               err++;
-                               continue;
-                               }
-                       printf("SHA(%s)= ",argv[i]);
-                       do_fp(IN);
-                       fclose(IN);
-                       }
-               }
-       exit(err);
-       }
-
-void do_fp(FILE *f)
-       {
-       SHA_CTX c;
-       unsigned char md[SHA_DIGEST_LENGTH];
-       int fd;
-       int i;
-       unsigned char buf[BUFSIZE];
-
-       fd=fileno(f);
-       SHA_Init(&c);
-       for (;;)
-               {
-               i=read(fd,buf,BUFSIZE);
-               if (i <= 0) break;
-               SHA_Update(&c,buf,(unsigned long)i);
-               }
-       SHA_Final(&(md[0]),&c);
-       pt(md);
-       }
-
-void pt(unsigned char *md)
-       {
-       int i;
-
-       for (i=0; i<SHA_DIGEST_LENGTH; i++)
-               printf("%02x",md[i]);
-       printf("\n");
-       }
-
diff --git a/lib/libcrypto/sha/sha1.c b/lib/libcrypto/sha/sha1.c
deleted file mode 100644 (file)
index fd56a1e..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* crypto/sha/sha1.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <openssl/sha.h>
-
-#define BUFSIZE        1024*16
-
-void do_fp(FILE *f);
-void pt(unsigned char *md);
-
-int main(int argc, char **argv)
-       {
-       int i,err=0;
-       FILE *IN;
-
-       if (argc == 1)
-               {
-               do_fp(stdin);
-               }
-       else
-               {
-               for (i=1; i<argc; i++)
-                       {
-                       IN=fopen(argv[i],"r");
-                       if (IN == NULL)
-                               {
-                               perror(argv[i]);
-                               err++;
-                               continue;
-                               }
-                       printf("SHA1(%s)= ",argv[i]);
-                       do_fp(IN);
-                       fclose(IN);
-                       }
-               }
-       exit(err);
-       }
-
-void do_fp(FILE *f)
-       {
-       SHA_CTX c;
-       unsigned char md[SHA_DIGEST_LENGTH];
-       int fd;
-       int i;
-       unsigned char buf[BUFSIZE];
-
-       fd=fileno(f);
-       SHA1_Init(&c);
-       for (;;)
-               {
-               i=read(fd,buf,BUFSIZE);
-               if (i <= 0) break;
-               SHA1_Update(&c,buf,(unsigned long)i);
-               }
-       SHA1_Final(&(md[0]),&c);
-       pt(md);
-       }
-
-void pt(unsigned char *md)
-       {
-       int i;
-
-       for (i=0; i<SHA_DIGEST_LENGTH; i++)
-               printf("%02x",md[i]);
-       printf("\n");
-       }
-
diff --git a/lib/libssl/src/FAQ b/lib/libssl/src/FAQ
deleted file mode 100644 (file)
index 59d1353..0000000
+++ /dev/null
@@ -1,1044 +0,0 @@
-OpenSSL  -  Frequently Asked Questions
---------------------------------------
-
-[MISC] Miscellaneous questions
-
-* Which is the current version of OpenSSL?
-* Where is the documentation?
-* How can I contact the OpenSSL developers?
-* Where can I get a compiled version of OpenSSL?
-* Why aren't tools like 'autoconf' and 'libtool' used?
-* What is an 'engine' version?
-* How do I check the authenticity of the OpenSSL distribution?
-* How does the versioning scheme work?
-
-[LEGAL] Legal questions
-
-* Do I need patent licenses to use OpenSSL?
-* Can I use OpenSSL with GPL software? 
-
-[USER] Questions on using the OpenSSL applications
-
-* Why do I get a "PRNG not seeded" error message?
-* Why do I get an "unable to write 'random state'" error message?
-* How do I create certificates or certificate requests?
-* Why can't I create certificate requests?
-* Why does <SSL program> fail with a certificate verify error?
-* Why can I only use weak ciphers when I connect to a server using OpenSSL?
-* How can I create DSA certificates?
-* Why can't I make an SSL connection using a DSA certificate?
-* How can I remove the passphrase on a private key?
-* Why can't I use OpenSSL certificates with SSL client authentication?
-* Why does my browser give a warning about a mismatched hostname?
-* How do I install a CA certificate into a browser?
-* Why is OpenSSL x509 DN output not conformant to RFC2253?
-* What is a "128 bit certificate"? Can I create one with OpenSSL?
-* Why does OpenSSL set the authority key identifier extension incorrectly?
-* How can I set up a bundle of commercial root CA certificates?
-
-[BUILD] Questions about building and testing OpenSSL
-
-* Why does the linker complain about undefined symbols?
-* Why does the OpenSSL test fail with "bc: command not found"?
-* Why does the OpenSSL test fail with "bc: 1 no implemented"?
-* Why does the OpenSSL test fail with "bc: stack empty"?
-* Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
-* Why does the OpenSSL compilation fail with "ar: command not found"?
-* Why does the OpenSSL compilation fail on Win32 with VC++?
-* What is special about OpenSSL on Redhat?
-* Why does the OpenSSL compilation fail on MacOS X?
-* Why does the OpenSSL test suite fail on MacOS X?
-* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
-* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
-* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
-* Why does compiler fail to compile sha512.c?
-* Test suite still fails, what to do?
-* I think I've found a bug, what should I do?
-* I'm SURE I've found a bug, how do I report it?
-* I've found a security issue, how do I report it?
-
-[PROG] Questions about programming with OpenSSL
-
-* Is OpenSSL thread-safe?
-* I've compiled a program under Windows and it crashes: why?
-* How do I read or write a DER encoded buffer using the ASN1 functions?
-* OpenSSL uses DER but I need BER format: does OpenSSL support BER?
-* I've tried using <M_some_evil_pkcs12_macro> and I get errors why?
-* I've called <some function> and it fails, why?
-* I just get a load of numbers for the error output, what do they mean?
-* Why do I get errors about unknown algorithms?
-* Why can't the OpenSSH configure script detect OpenSSL?
-* Can I use OpenSSL's SSL library with non-blocking I/O?
-* Why doesn't my server application receive a client certificate?
-* Why does compilation fail due to an undefined symbol NID_uniqueIdentifier?
-* I think I've detected a memory leak, is this a bug?
-* Why does Valgrind complain about the use of uninitialized data?
-* Why doesn't a memory BIO work when a file does?
-* Where are the declarations and implementations of d2i_X509() etc?
-
-===============================================================================
-
-[MISC] ========================================================================
-
-* Which is the current version of OpenSSL?
-
-The current version is available from <URL: http://www.openssl.org>.
-OpenSSL 1.0.1e was released on Feb 11th, 2013.
-
-In addition to the current stable release, you can also access daily
-snapshots of the OpenSSL development version at <URL:
-ftp://ftp.openssl.org/snapshot/>, or get it by anonymous Git access.
-
-
-* Where is the documentation?
-
-OpenSSL is a library that provides cryptographic functionality to
-applications such as secure web servers.  Be sure to read the
-documentation of the application you want to use.  The INSTALL file
-explains how to install this library.
-
-OpenSSL includes a command line utility that can be used to perform a
-variety of cryptographic functions.  It is described in the openssl(1)
-manpage.  Documentation for developers is currently being written. Many
-manual pages are available; overviews over libcrypto and
-libssl are given in the crypto(3) and ssl(3) manpages.
-
-The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a
-different directory if you specified one as described in INSTALL).
-In addition, you can read the most current versions at
-<URL: http://www.openssl.org/docs/>. Note that the online documents refer
-to the very latest development versions of OpenSSL and may include features
-not present in released versions. If in doubt refer to the documentation
-that came with the version of OpenSSL you are using. The pod format
-documentation is included in each OpenSSL distribution under the docs
-directory.
-
-For information on parts of libcrypto that are not yet documented, you
-might want to read Ariel Glenn's documentation on SSLeay 0.9, OpenSSL's
-predecessor, at <URL: http://www.columbia.edu/~ariel/ssleay/>.  Much
-of this still applies to OpenSSL.
-
-There is some documentation about certificate extensions and PKCS#12
-in doc/openssl.txt
-
-The original SSLeay documentation is included in OpenSSL as
-doc/ssleay.txt.  It may be useful when none of the other resources
-help, but please note that it reflects the obsolete version SSLeay
-0.6.6.
-
-
-* How can I contact the OpenSSL developers?
-
-The README file describes how to submit bug reports and patches to
-OpenSSL.  Information on the OpenSSL mailing lists is available from
-<URL: http://www.openssl.org>.
-
-
-* Where can I get a compiled version of OpenSSL?
-
-You can finder pointers to binary distributions in
-<URL: http://www.openssl.org/related/binaries.html> .
-
-Some applications that use OpenSSL are distributed in binary form.
-When using such an application, you don't need to install OpenSSL
-yourself; the application will include the required parts (e.g. DLLs).
-
-If you want to build OpenSSL on a Windows system and you don't have
-a C compiler, read the "Mingw32" section of INSTALL.W32 for information
-on how to obtain and install the free GNU C compiler.
-
-A number of Linux and *BSD distributions include OpenSSL.
-
-
-* Why aren't tools like 'autoconf' and 'libtool' used?
-
-autoconf will probably be used in future OpenSSL versions. If it was
-less Unix-centric, it might have been used much earlier.
-
-* What is an 'engine' version?
-
-With version 0.9.6 OpenSSL was extended to interface to external crypto
-hardware. This was realized in a special release '0.9.6-engine'. With
-version 0.9.7 the changes were merged into the main development line,
-so that the special release is no longer necessary.
-
-* How do I check the authenticity of the OpenSSL distribution?
-
-We provide MD5 digests and ASC signatures of each tarball.
-Use MD5 to check that a tarball from a mirror site is identical:
-
-   md5sum TARBALL | awk '{print $1;}' | cmp - TARBALL.md5
-
-You can check authenticity using pgp or gpg. You need the OpenSSL team
-member public key used to sign it (download it from a key server, see a
-list of keys at <URL: http://www.openssl.org/about/>). Then
-just do:
-
-   pgp TARBALL.asc
-
-* How does the versioning scheme work?
-
-After the release of OpenSSL 1.0.0 the versioning scheme changed. Letter 
-releases (e.g. 1.0.1a) can only contain bug and security fixes and no
-new features. Minor releases change the last number (e.g. 1.0.2) and 
-can contain new features that retain binary compatibility. Changes to
-the middle number are considered major releases and neither source nor
-binary compatibility is guaranteed.
-
-Therefore the answer to the common question "when will feature X be
-backported to OpenSSL 1.0.0/0.9.8?" is "never" but it could appear
-in the next minor release.
-
-[LEGAL] =======================================================================
-
-* Do I need patent licenses to use OpenSSL?
-
-The patents section of the README file lists patents that may apply to
-you if you want to use OpenSSL.  For information on intellectual
-property rights, please consult a lawyer.  The OpenSSL team does not
-offer legal advice.
-
-You can configure OpenSSL so as not to use IDEA, MDC2 and RC5 by using
- ./config no-idea no-mdc2 no-rc5
-
-
-* Can I use OpenSSL with GPL software?
-
-On many systems including the major Linux and BSD distributions, yes (the
-GPL does not place restrictions on using libraries that are part of the
-normal operating system distribution).
-
-On other systems, the situation is less clear. Some GPL software copyright
-holders claim that you infringe on their rights if you use OpenSSL with
-their software on operating systems that don't normally include OpenSSL.
-
-If you develop open source software that uses OpenSSL, you may find it
-useful to choose an other license than the GPL, or state explicitly that
-"This program is released under the GPL with the additional exemption that
-compiling, linking, and/or using OpenSSL is allowed."  If you are using
-GPL software developed by others, you may want to ask the copyright holder
-for permission to use their software with OpenSSL.
-
-
-[USER] ========================================================================
-
-* Why do I get a "PRNG not seeded" error message?
-
-Cryptographic software needs a source of unpredictable data to work
-correctly.  Many open source operating systems provide a "randomness
-device" (/dev/urandom or /dev/random) that serves this purpose.
-All OpenSSL versions try to use /dev/urandom by default; starting with
-version 0.9.7, OpenSSL also tries /dev/random if /dev/urandom is not
-available.
-
-On other systems, applications have to call the RAND_add() or
-RAND_seed() function with appropriate data before generating keys or
-performing public key encryption. (These functions initialize the
-pseudo-random number generator, PRNG.)  Some broken applications do
-not do this.  As of version 0.9.5, the OpenSSL functions that need
-randomness report an error if the random number generator has not been
-seeded with at least 128 bits of randomness.  If this error occurs and
-is not discussed in the documentation of the application you are
-using, please contact the author of that application; it is likely
-that it never worked correctly.  OpenSSL 0.9.5 and later make the
-error visible by refusing to perform potentially insecure encryption.
-
-If you are using Solaris 8, you can add /dev/urandom and /dev/random
-devices by installing patch 112438 (Sparc) or 112439 (x86), which are
-available via the Patchfinder at <URL: http://sunsolve.sun.com>
-(Solaris 9 includes these devices by default). For /dev/random support
-for earlier Solaris versions, see Sun's statement at
-<URL: http://sunsolve.sun.com/pub-cgi/retrieve.pl?doc=fsrdb/27606&zone_32=SUNWski>
-(the SUNWski package is available in patch 105710).
-
-On systems without /dev/urandom and /dev/random, it is a good idea to
-use the Entropy Gathering Demon (EGD); see the RAND_egd() manpage for
-details.  Starting with version 0.9.7, OpenSSL will automatically look
-for an EGD socket at /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool and
-/etc/entropy.
-
-Most components of the openssl command line utility automatically try
-to seed the random number generator from a file.  The name of the
-default seeding file is determined as follows: If environment variable
-RANDFILE is set, then it names the seeding file.  Otherwise if
-environment variable HOME is set, then the seeding file is $HOME/.rnd.
-If neither RANDFILE nor HOME is set, versions up to OpenSSL 0.9.6 will
-use file .rnd in the current directory while OpenSSL 0.9.6a uses no
-default seeding file at all.  OpenSSL 0.9.6b and later will behave
-similarly to 0.9.6a, but will use a default of "C:\" for HOME on
-Windows systems if the environment variable has not been set.
-
-If the default seeding file does not exist or is too short, the "PRNG
-not seeded" error message may occur.
-
-The openssl command line utility will write back a new state to the
-default seeding file (and create this file if necessary) unless
-there was no sufficient seeding.
-
-Pointing $RANDFILE to an Entropy Gathering Daemon socket does not work.
-Use the "-rand" option of the OpenSSL command line tools instead.
-The $RANDFILE environment variable and $HOME/.rnd are only used by the
-OpenSSL command line tools. Applications using the OpenSSL library
-provide their own configuration options to specify the entropy source,
-please check out the documentation coming the with application.
-
-
-* Why do I get an "unable to write 'random state'" error message?
-
-
-Sometimes the openssl command line utility does not abort with
-a "PRNG not seeded" error message, but complains that it is
-"unable to write 'random state'".  This message refers to the
-default seeding file (see previous answer).  A possible reason
-is that no default filename is known because neither RANDFILE
-nor HOME is set.  (Versions up to 0.9.6 used file ".rnd" in the
-current directory in this case, but this has changed with 0.9.6a.)
-
-
-* How do I create certificates or certificate requests?
-
-Check out the CA.pl(1) manual page. This provides a simple wrapper round
-the 'req', 'verify', 'ca' and 'pkcs12' utilities. For finer control check
-out the manual pages for the individual utilities and the certificate
-extensions documentation (in ca(1), req(1), x509v3_config(5) )
-
-
-* Why can't I create certificate requests?
-
-You typically get the error:
-
-       unable to find 'distinguished_name' in config
-       problems making Certificate Request
-
-This is because it can't find the configuration file. Check out the
-DIAGNOSTICS section of req(1) for more information.
-
-
-* Why does <SSL program> fail with a certificate verify error?
-
-This problem is usually indicated by log messages saying something like
-"unable to get local issuer certificate" or "self signed certificate".
-When a certificate is verified its root CA must be "trusted" by OpenSSL
-this typically means that the CA certificate must be placed in a directory
-or file and the relevant program configured to read it. The OpenSSL program
-'verify' behaves in a similar way and issues similar error messages: check
-the verify(1) program manual page for more information.
-
-
-* Why can I only use weak ciphers when I connect to a server using OpenSSL?
-
-This is almost certainly because you are using an old "export grade" browser
-which only supports weak encryption. Upgrade your browser to support 128 bit
-ciphers.
-
-
-* How can I create DSA certificates?
-
-Check the CA.pl(1) manual page for a DSA certificate example.
-
-
-* Why can't I make an SSL connection to a server using a DSA certificate?
-
-Typically you'll see a message saying there are no shared ciphers when
-the same setup works fine with an RSA certificate. There are two possible
-causes. The client may not support connections to DSA servers most web
-browsers (including Netscape and MSIE) only support connections to servers
-supporting RSA cipher suites. The other cause is that a set of DH parameters
-has not been supplied to the server. DH parameters can be created with the
-dhparam(1) command and loaded using the SSL_CTX_set_tmp_dh() for example:
-check the source to s_server in apps/s_server.c for an example.
-
-
-* How can I remove the passphrase on a private key?
-
-Firstly you should be really *really* sure you want to do this. Leaving
-a private key unencrypted is a major security risk. If you decide that
-you do have to do this check the EXAMPLES sections of the rsa(1) and
-dsa(1) manual pages.
-
-
-* Why can't I use OpenSSL certificates with SSL client authentication?
-
-What will typically happen is that when a server requests authentication
-it will either not include your certificate or tell you that you have
-no client certificates (Netscape) or present you with an empty list box
-(MSIE). The reason for this is that when a server requests a client
-certificate it includes a list of CAs names which it will accept. Browsers
-will only let you select certificates from the list on the grounds that
-there is little point presenting a certificate which the server will
-reject.
-
-The solution is to add the relevant CA certificate to your servers "trusted
-CA list". How you do this depends on the server software in uses. You can
-print out the servers list of acceptable CAs using the OpenSSL s_client tool:
-
-openssl s_client -connect www.some.host:443 -prexit
-
-If your server only requests certificates on certain URLs then you may need
-to manually issue an HTTP GET command to get the list when s_client connects:
-
-GET /some/page/needing/a/certificate.html
-
-If your CA does not appear in the list then this confirms the problem.
-
-
-* Why does my browser give a warning about a mismatched hostname?
-
-Browsers expect the server's hostname to match the value in the commonName
-(CN) field of the certificate. If it does not then you get a warning.
-
-
-* How do I install a CA certificate into a browser?
-
-The usual way is to send the DER encoded certificate to the browser as
-MIME type application/x-x509-ca-cert, for example by clicking on an appropriate
-link. On MSIE certain extensions such as .der or .cacert may also work, or you
-can import the certificate using the certificate import wizard.
-
-You can convert a certificate to DER form using the command:
-
-openssl x509 -in ca.pem -outform DER -out ca.der
-
-Occasionally someone suggests using a command such as:
-
-openssl pkcs12 -export -out cacert.p12 -in cacert.pem -inkey cakey.pem
-
-DO NOT DO THIS! This command will give away your CAs private key and
-reduces its security to zero: allowing anyone to forge certificates in
-whatever name they choose.
-
-* Why is OpenSSL x509 DN output not conformant to RFC2253?
-
-The ways to print out the oneline format of the DN (Distinguished Name) have
-been extended in version 0.9.7 of OpenSSL. Using the new X509_NAME_print_ex()
-interface, the "-nameopt" option could be introduded. See the manual
-page of the "openssl x509" commandline tool for details. The old behaviour
-has however been left as default for the sake of compatibility.
-
-* What is a "128 bit certificate"? Can I create one with OpenSSL?
-
-The term "128 bit certificate" is a highly misleading marketing term. It does
-*not* refer to the size of the public key in the certificate! A certificate
-containing a 128 bit RSA key would have negligible security.
-
-There were various other names such as "magic certificates", "SGC
-certificates", "step up certificates" etc.
-
-You can't generally create such a certificate using OpenSSL but there is no
-need to any more. Nowadays web browsers using unrestricted strong encryption
-are generally available.
-
-When there were tight restrictions on the export of strong encryption
-software from the US only weak encryption algorithms could be freely exported
-(initially 40 bit and then 56 bit). It was widely recognised that this was
-inadequate. A relaxation of the rules allowed the use of strong encryption but
-only to an authorised server.
-
-Two slighly different techniques were developed to support this, one used by
-Netscape was called "step up", the other used by MSIE was called "Server Gated
-Cryptography" (SGC). When a browser initially connected to a server it would
-check to see if the certificate contained certain extensions and was issued by
-an authorised authority. If these test succeeded it would reconnect using
-strong encryption.
-
-Only certain (initially one) certificate authorities could issue the
-certificates and they generally cost more than ordinary certificates.
-
-Although OpenSSL can create certificates containing the appropriate extensions
-the certificate would not come from a permitted authority and so would not
-be recognized.
-
-The export laws were later changed to allow almost unrestricted use of strong
-encryption so these certificates are now obsolete.
-
-
-* Why does OpenSSL set the authority key identifier (AKID) extension incorrectly?
-
-It doesn't: this extension is often the cause of confusion.
-
-Consider a certificate chain A->B->C so that A signs B and B signs C. Suppose
-certificate C contains AKID.
-
-The purpose of this extension is to identify the authority certificate B. This
-can be done either by including the subject key identifier of B or its issuer
-name and serial number.
-
-In this latter case because it is identifying certifcate B it must contain the
-issuer name and serial number of B.
-
-It is often wrongly assumed that it should contain the subject name of B. If it
-did this would be redundant information because it would duplicate the issuer
-name of C.
-
-
-* How can I set up a bundle of commercial root CA certificates?
-
-The OpenSSL software is shipped without any root CA certificate as the
-OpenSSL project does not have any policy on including or excluding
-any specific CA and does not intend to set up such a policy. Deciding
-about which CAs to support is up to application developers or
-administrators.
-
-Other projects do have other policies so you can for example extract the CA
-bundle used by Mozilla and/or modssl as described in this article:
-
-  <URL: http://www.mail-archive.com/modssl-users@modssl.org/msg16980.html>
-
-
-[BUILD] =======================================================================
-
-* Why does the linker complain about undefined symbols?
-
-Maybe the compilation was interrupted, and make doesn't notice that
-something is missing.  Run "make clean; make".
-
-If you used ./Configure instead of ./config, make sure that you
-selected the right target.  File formats may differ slightly between
-OS versions (for example sparcv8/sparcv9, or a.out/elf).
-
-In case you get errors about the following symbols, use the config
-option "no-asm", as described in INSTALL:
-
- BF_cbc_encrypt, BF_decrypt, BF_encrypt, CAST_cbc_encrypt,
- CAST_decrypt, CAST_encrypt, RC4, RC5_32_cbc_encrypt, RC5_32_decrypt,
- RC5_32_encrypt, bn_add_words, bn_div_words, bn_mul_add_words,
- bn_mul_comba4, bn_mul_comba8, bn_mul_words, bn_sqr_comba4,
- bn_sqr_comba8, bn_sqr_words, bn_sub_words, des_decrypt3,
- des_ede3_cbc_encrypt, des_encrypt, des_encrypt2, des_encrypt3,
- des_ncbc_encrypt, md5_block_asm_host_order, sha1_block_asm_data_order
-
-If none of these helps, you may want to try using the current snapshot.
-If the problem persists, please submit a bug report.
-
-
-* Why does the OpenSSL test fail with "bc: command not found"?
-
-You didn't install "bc", the Unix calculator.  If you want to run the
-tests, get GNU bc from ftp://ftp.gnu.org or from your OS distributor.
-
-
-* Why does the OpenSSL test fail with "bc: 1 no implemented"?
-
-On some SCO installations or versions, bc has a bug that gets triggered
-when you run the test suite (using "make test").  The message returned is
-"bc: 1 not implemented".
-
-The best way to deal with this is to find another implementation of bc
-and compile/install it.  GNU bc (see <URL: http://www.gnu.org/software/software.html>
-for download instructions) can be safely used, for example.
-
-
-* Why does the OpenSSL test fail with "bc: stack empty"?
-
-On some DG/ux versions, bc seems to have a too small stack for calculations
-that the OpenSSL bntest throws at it.  This gets triggered when you run the
-test suite (using "make test").  The message returned is "bc: stack empty".
-
-The best way to deal with this is to find another implementation of bc
-and compile/install it.  GNU bc (see <URL: http://www.gnu.org/software/software.html>
-for download instructions) can be safely used, for example.
-
-
-* Why does the OpenSSL compilation fail on Alpha Tru64 Unix?
-
-On some Alpha installations running Tru64 Unix and Compaq C, the compilation
-of crypto/sha/sha_dgst.c fails with the message 'Fatal:  Insufficient virtual
-memory to continue compilation.'  As far as the tests have shown, this may be
-a compiler bug.  What happens is that it eats up a lot of resident memory
-to build something, probably a table.  The problem is clearly in the
-optimization code, because if one eliminates optimization completely (-O0),
-the compilation goes through (and the compiler consumes about 2MB of resident
-memory instead of 240MB or whatever one's limit is currently).
-
-There are three options to solve this problem:
-
-1. set your current data segment size soft limit higher.  Experience shows
-that about 241000 kbytes seems to be enough on an AlphaServer DS10.  You do
-this with the command 'ulimit -Sd nnnnnn', where 'nnnnnn' is the number of
-kbytes to set the limit to.
-
-2. If you have a hard limit that is lower than what you need and you can't
-get it changed, you can compile all of OpenSSL with -O0 as optimization
-level.  This is however not a very nice thing to do for those who expect to
-get the best result from OpenSSL.  A bit more complicated solution is the
-following:
-
------ snip:start -----
-  make DIRS=crypto SDIRS=sha "`grep '^CFLAG=' Makefile.ssl | \
-       sed -e 's/ -O[0-9] / -O0 /'`"
-  rm `ls crypto/*.o crypto/sha/*.o | grep -v 'sha_dgst\.o'`
-  make
------ snip:end -----
-
-This will only compile sha_dgst.c with -O0, the rest with the optimization
-level chosen by the configuration process.  When the above is done, do the
-test and installation and you're set.
-
-3. Reconfigure the toolkit with no-sha0 option to leave out SHA0. It 
-should not be used and is not used in SSL/TLS nor any other recognized
-protocol in either case.
-
-
-* Why does the OpenSSL compilation fail with "ar: command not found"?
-
-Getting this message is quite usual on Solaris 2, because Sun has hidden
-away 'ar' and other development commands in directories that aren't in
-$PATH by default.  One of those directories is '/usr/ccs/bin'.  The
-quickest way to fix this is to do the following (it assumes you use sh
-or any sh-compatible shell):
-
------ snip:start -----
-  PATH=${PATH}:/usr/ccs/bin; export PATH
------ snip:end -----
-
-and then redo the compilation.  What you should really do is make sure
-'/usr/ccs/bin' is permanently in your $PATH, for example through your
-'.profile' (again, assuming you use a sh-compatible shell).
-
-
-* Why does the OpenSSL compilation fail on Win32 with VC++?
-
-Sometimes, you may get reports from VC++ command line (cl) that it
-can't find standard include files like stdio.h and other weirdnesses.
-One possible cause is that the environment isn't correctly set up.
-To solve that problem for VC++ versions up to 6, one should run
-VCVARS32.BAT which is found in the 'bin' subdirectory of the VC++
-installation directory (somewhere under 'Program Files').  For VC++
-version 7 (and up?), which is also called VS.NET, the file is called
-VSVARS32.BAT instead.
-This needs to be done prior to running NMAKE, and the changes are only
-valid for the current DOS session.
-
-
-* What is special about OpenSSL on Redhat?
-
-Red Hat Linux (release 7.0 and later) include a preinstalled limited
-version of OpenSSL. For patent reasons, support for IDEA, RC5 and MDC2
-is disabled in this version. The same may apply to other Linux distributions.
-Users may therefore wish to install more or all of the features left out.
-
-To do this you MUST ensure that you do not overwrite the openssl that is in
-/usr/bin on your Red Hat machine. Several packages depend on this file,
-including sendmail and ssh. /usr/local/bin is a good alternative choice. The
-libraries that come with Red Hat 7.0 onwards have different names and so are
-not affected. (eg For Red Hat 7.2 they are /lib/libssl.so.0.9.6b and
-/lib/libcrypto.so.0.9.6b with symlinks /lib/libssl.so.2 and
-/lib/libcrypto.so.2 respectively).
-
-Please note that we have been advised by Red Hat attempting to recompile the
-openssl rpm with all the cryptography enabled will not work. All other
-packages depend on the original Red Hat supplied openssl package. It is also
-worth noting that due to the way Red Hat supplies its packages, updates to
-openssl on each distribution never change the package version, only the
-build number. For example, on Red Hat 7.1, the latest openssl package has
-version number 0.9.6 and build number 9 even though it contains all the
-relevant updates in packages up to and including 0.9.6b.
-
-A possible way around this is to persuade Red Hat to produce a non-US
-version of Red Hat Linux.
-
-FYI: Patent numbers and expiry dates of US patents:
-MDC-2: 4,908,861 13/03/2007
-IDEA:  5,214,703 25/05/2010
-RC5:   5,724,428 03/03/2015
-
-
-* Why does the OpenSSL compilation fail on MacOS X?
-
-If the failure happens when trying to build the "openssl" binary, with
-a large number of undefined symbols, it's very probable that you have
-OpenSSL 0.9.6b delivered with the operating system (you can find out by
-running '/usr/bin/openssl version') and that you were trying to build
-OpenSSL 0.9.7 or newer.  The problem is that the loader ('ld') in
-MacOS X has a misfeature that's quite difficult to go around.
-Look in the file PROBLEMS for a more detailed explanation and for possible
-solutions.
-
-
-* Why does the OpenSSL test suite fail on MacOS X?
-
-If the failure happens when running 'make test' and the RC4 test fails,
-it's very probable that you have OpenSSL 0.9.6b delivered with the
-operating system (you can find out by running '/usr/bin/openssl version')
-and that you were trying to build OpenSSL 0.9.6d.  The problem is that
-the loader ('ld') in MacOS X has a misfeature that's quite difficult to
-go around and has linked the programs "openssl" and the test programs
-with /usr/lib/libcrypto.dylib and /usr/lib/libssl.dylib instead of the
-libraries you just built.
-Look in the file PROBLEMS for a more detailed explanation and for possible
-solutions.
-
-* Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
-
-Failure in BN_sqr test is most likely caused by a failure to configure the
-toolkit for current platform or lack of support for the platform in question.
-Run './config -t' and './apps/openssl version -p'. Do these platform
-identifiers match? If they don't, then you most likely failed to run
-./config and you're hereby advised to do so before filing a bug report.
-If ./config itself fails to run, then it's most likely problem with your
-local environment and you should turn to your system administrator (or
-similar). If identifiers match (and/or no alternative identifier is
-suggested by ./config script), then the platform is unsupported. There might
-or might not be a workaround. Most notably on SPARC64 platforms with GNU
-C compiler you should be able to produce a working build by running
-'./config -m32'. I understand that -m32 might not be what you want/need,
-but the build should be operational. For further details turn to
-<openssl-dev@openssl.org>.
-
-* Why does OpenBSD-i386 build fail on des-586.s with "Unimplemented segment type"?
-
-As of 0.9.7 assembler routines were overhauled for position independence
-of the machine code, which is essential for shared library support. For
-some reason OpenBSD is equipped with an out-of-date GNU assembler which
-finds the new code offensive. To work around the problem, configure with
-no-asm (and sacrifice a great deal of performance) or patch your assembler
-according to <URL: http://www.openssl.org/~appro/gas-1.92.3.OpenBSD.patch>.
-For your convenience a pre-compiled replacement binary is provided at
-<URL: http://www.openssl.org/~appro/gas-1.92.3.static.aout.bin>.
-Reportedly elder *BSD a.out platforms also suffer from this problem and
-remedy should be same. Provided binary is statically linked and should be
-working across wider range of *BSD branches, not just OpenBSD.
-
-* Why does the OpenSSL test suite fail in sha512t on x86 CPU?
-
-If the test program in question fails withs SIGILL, Illegal Instruction
-exception, then you more than likely to run SSE2-capable CPU, such as
-Intel P4, under control of kernel which does not support SSE2
-instruction extentions. See accompanying INSTALL file and
-OPENSSL_ia32cap(3) documentation page for further information.
-
-* Why does compiler fail to compile sha512.c?
-
-OpenSSL SHA-512 implementation depends on compiler support for 64-bit
-integer type. Few elder compilers [ULTRIX cc, SCO compiler to mention a
-couple] lack support for this and therefore are incapable of compiling
-the module in question. The recommendation is to disable SHA-512 by
-adding no-sha512 to ./config [or ./Configure] command line. Another
-possible alternative might be to switch to GCC.
-
-* Test suite still fails, what to do?
-
-Another common reason for failure to complete some particular test is
-simply bad code generated by a buggy component in toolchain or deficiency
-in run-time environment. There are few cases documented in PROBLEMS file,
-consult it for possible workaround before you beat the drum. Even if you
-don't find solution or even mention there, do reserve for possibility of
-a compiler bug. Compiler bugs might appear in rather bizarre ways, they
-never make sense, and tend to emerge when you least expect them. In order
-to identify one, drop optimization level, e.g. by editing CFLAG line in
-top-level Makefile, recompile and re-run the test.
-
-* I think I've found a bug, what should I do?
-
-If you are a new user then it is quite likely you haven't found a bug and
-something is happening you aren't familiar with. Check this FAQ, the associated
-documentation and the mailing lists for similar queries. If you are still
-unsure whether it is a bug or not submit a query to the openssl-users mailing
-list.
-
-
-* I'm SURE I've found a bug, how do I report it?
-
-Bug reports with no security implications should be sent to the request
-tracker. This can be done by mailing the report to <rt@openssl.org> (or its
-alias <openssl-bugs@openssl.org>), please note that messages sent to the
-request tracker also appear in the public openssl-dev mailing list.
-
-The report should be in plain text. Any patches should be sent as
-plain text attachments because some mailers corrupt patches sent inline.
-If your issue affects multiple versions of OpenSSL check any patches apply
-cleanly and, if possible include patches to each affected version.
-
-The report should be given a meaningful subject line briefly summarising the
-issue. Just "bug in OpenSSL" or "bug in OpenSSL 0.9.8n" is not very helpful.
-
-By sending reports to the request tracker the bug can then be given a priority
-and assigned to the appropriate maintainer. The history of discussions can be
-accessed and if the issue has been addressed or a reason why not. If patches
-are only sent to openssl-dev they can be mislaid if a team member has to
-wade through months of old messages to review the discussion.
-
-See also <URL: http://www.openssl.org/support/rt.html>
-
-
-* I've found a security issue, how do I report it?
-
-If you think your bug has security implications then please send it to
-openssl-security@openssl.org if you don't get a prompt reply at least 
-acknowledging receipt then resend or mail it directly to one of the
-more active team members (e.g. Steve).
-
-Note that bugs only present in the openssl utility are not in general
-considered to be security issues. 
-
-[PROG] ========================================================================
-
-* Is OpenSSL thread-safe?
-
-Yes (with limitations: an SSL connection may not concurrently be used
-by multiple threads).  On Windows and many Unix systems, OpenSSL
-automatically uses the multi-threaded versions of the standard
-libraries.  If your platform is not one of these, consult the INSTALL
-file.
-
-Multi-threaded applications must provide two callback functions to
-OpenSSL by calling CRYPTO_set_locking_callback() and
-CRYPTO_set_id_callback(), for all versions of OpenSSL up to and
-including 0.9.8[abc...]. As of version 1.0.0, CRYPTO_set_id_callback()
-and associated APIs are deprecated by CRYPTO_THREADID_set_callback()
-and friends. This is described in the threads(3) manpage.
-
-* I've compiled a program under Windows and it crashes: why?
-
-This is usually because you've missed the comment in INSTALL.W32.
-Your application must link against the same version of the Win32
-C-Runtime against which your openssl libraries were linked.  The
-default version for OpenSSL is /MD - "Multithreaded DLL".
-
-If you are using Microsoft Visual C++'s IDE (Visual Studio), in
-many cases, your new project most likely defaulted to "Debug
-Singlethreaded" - /ML.  This is NOT interchangeable with /MD and your
-program will crash, typically on the first BIO related read or write
-operation.
-
-For each of the six possible link stage configurations within Win32,
-your application must link  against the same by which OpenSSL was
-built.  If you are using MS Visual C++ (Studio) this can be changed
-by:
-
- 1. Select Settings... from the Project Menu.
- 2. Select the C/C++ Tab.
- 3. Select "Code Generation from the "Category" drop down list box
- 4. Select the Appropriate library (see table below) from the "Use
-    run-time library" drop down list box.  Perform this step for both
-    your debug and release versions of your application (look at the
-    top left of the settings panel to change between the two)
-
-    Single Threaded           /ML        -  MS VC++ often defaults to
-                                            this for the release
-                                            version of a new project.
-    Debug Single Threaded     /MLd       -  MS VC++ often defaults to
-                                            this for the debug version
-                                            of a new project.
-    Multithreaded             /MT
-    Debug Multithreaded       /MTd
-    Multithreaded DLL         /MD        -  OpenSSL defaults to this.
-    Debug Multithreaded DLL   /MDd
-
-Note that debug and release libraries are NOT interchangeable.  If you
-built OpenSSL with /MD your application must use /MD and cannot use /MDd.
-
-As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
-.DLLs compiled with some specific run-time option [we insist on the
-default /MD] can be deployed with application compiled with different
-option or even different compiler. But there is a catch! Instead of
-re-compiling OpenSSL toolkit, as you would have to with prior versions,
-you have to compile small C snippet with compiler and/or options of
-your choice. The snippet gets installed as
-<install-root>/include/openssl/applink.c and should be either added to
-your application project or simply #include-d in one [and only one]
-of your application source files. Failure to link this shim module
-into your application manifests itself as fatal "no OPENSSL_Applink"
-run-time error. An explicit reminder is due that in this situation
-[mixing compiler options] it is as important to add CRYPTO_malloc_init
-prior first call to OpenSSL.
-
-* How do I read or write a DER encoded buffer using the ASN1 functions?
-
-You have two options. You can either use a memory BIO in conjunction
-with the i2d_*_bio() or d2i_*_bio() functions or you can use the
-i2d_*(), d2i_*() functions directly. Since these are often the
-cause of grief here are some code fragments using PKCS7 as an example:
-
- unsigned char *buf, *p;
- int len;
-
- len = i2d_PKCS7(p7, NULL);
- buf = OPENSSL_malloc(len); /* or Malloc, error checking omitted */
- p = buf;
- i2d_PKCS7(p7, &p);
-
-At this point buf contains the len bytes of the DER encoding of
-p7.
-
-The opposite assumes we already have len bytes in buf:
-
- unsigned char *p;
- p = buf;
- p7 = d2i_PKCS7(NULL, &p, len);
-
-At this point p7 contains a valid PKCS7 structure of NULL if an error
-occurred. If an error occurred ERR_print_errors(bio) should give more
-information.
-
-The reason for the temporary variable 'p' is that the ASN1 functions
-increment the passed pointer so it is ready to read or write the next
-structure. This is often a cause of problems: without the temporary
-variable the buffer pointer is changed to point just after the data
-that has been read or written. This may well be uninitialized data
-and attempts to free the buffer will have unpredictable results
-because it no longer points to the same address.
-
-
-* OpenSSL uses DER but I need BER format: does OpenSSL support BER?
-
-The short answer is yes, because DER is a special case of BER and OpenSSL
-ASN1 decoders can process BER.
-
-The longer answer is that ASN1 structures can be encoded in a number of
-different ways. One set of ways is the Basic Encoding Rules (BER) with various
-permissible encodings. A restriction of BER is the Distinguished Encoding
-Rules (DER): these uniquely specify how a given structure is encoded.
-
-Therefore, because DER is a special case of BER, DER is an acceptable encoding
-for BER.
-
-
-* I've tried using <M_some_evil_pkcs12_macro> and I get errors why?
-
-This usually happens when you try compiling something using the PKCS#12
-macros with a C++ compiler. There is hardly ever any need to use the
-PKCS#12 macros in a program, it is much easier to parse and create
-PKCS#12 files using the PKCS12_parse() and PKCS12_create() functions
-documented in doc/openssl.txt and with examples in demos/pkcs12. The
-'pkcs12' application has to use the macros because it prints out 
-debugging information.
-
-
-* I've called <some function> and it fails, why?
-
-Before submitting a report or asking in one of the mailing lists, you
-should try to determine the cause. In particular, you should call
-ERR_print_errors() or ERR_print_errors_fp() after the failed call
-and see if the message helps. Note that the problem may occur earlier
-than you think -- you should check for errors after every call where
-it is possible, otherwise the actual problem may be hidden because
-some OpenSSL functions clear the error state.
-
-
-* I just get a load of numbers for the error output, what do they mean?
-
-The actual format is described in the ERR_print_errors() manual page.
-You should call the function ERR_load_crypto_strings() before hand and
-the message will be output in text form. If you can't do this (for example
-it is a pre-compiled binary) you can use the errstr utility on the error
-code itself (the hex digits after the second colon).
-
-
-* Why do I get errors about unknown algorithms?
-
-The cause is forgetting to load OpenSSL's table of algorithms with
-OpenSSL_add_all_algorithms(). See the manual page for more information. This
-can cause several problems such as being unable to read in an encrypted
-PEM file, unable to decrypt a PKCS#12 file or signature failure when
-verifying certificates.
-
-* Why can't the OpenSSH configure script detect OpenSSL?
-
-Several reasons for problems with the automatic detection exist.
-OpenSSH requires at least version 0.9.5a of the OpenSSL libraries.
-Sometimes the distribution has installed an older version in the system
-locations that is detected instead of a new one installed. The OpenSSL
-library might have been compiled for another CPU or another mode (32/64 bits).
-Permissions might be wrong.
-
-The general answer is to check the config.log file generated when running
-the OpenSSH configure script. It should contain the detailed information
-on why the OpenSSL library was not detected or considered incompatible.
-
-
-* Can I use OpenSSL's SSL library with non-blocking I/O?
-
-Yes; make sure to read the SSL_get_error(3) manual page!
-
-A pitfall to avoid: Don't assume that SSL_read() will just read from
-the underlying transport or that SSL_write() will just write to it --
-it is also possible that SSL_write() cannot do any useful work until
-there is data to read, or that SSL_read() cannot do anything until it
-is possible to send data.  One reason for this is that the peer may
-request a new TLS/SSL handshake at any time during the protocol,
-requiring a bi-directional message exchange; both SSL_read() and
-SSL_write() will try to continue any pending handshake.
-
-
-* Why doesn't my server application receive a client certificate?
-
-Due to the TLS protocol definition, a client will only send a certificate,
-if explicitly asked by the server. Use the SSL_VERIFY_PEER flag of the
-SSL_CTX_set_verify() function to enable the use of client certificates.
-
-
-* Why does compilation fail due to an undefined symbol NID_uniqueIdentifier?
-
-For OpenSSL 0.9.7 the OID table was extended and corrected. In earlier
-versions, uniqueIdentifier was incorrectly used for X.509 certificates.
-The correct name according to RFC2256 (LDAP) is x500UniqueIdentifier.
-Change your code to use the new name when compiling against OpenSSL 0.9.7.
-
-
-* I think I've detected a memory leak, is this a bug?
-
-In most cases the cause of an apparent memory leak is an OpenSSL internal table
-that is allocated when an application starts up. Since such tables do not grow
-in size over time they are harmless.
-
-These internal tables can be freed up when an application closes using various
-functions.  Currently these include following:
-
-Thread-local cleanup functions:
-
-  ERR_remove_state()
-
-Application-global cleanup functions that are aware of usage (and therefore
-thread-safe):
-
-  ENGINE_cleanup() and CONF_modules_unload()
-
-"Brutal" (thread-unsafe) Application-global cleanup functions:
-
-  ERR_free_strings(), EVP_cleanup() and CRYPTO_cleanup_all_ex_data().
-
-
-* Why does Valgrind complain about the use of uninitialized data?
-
-When OpenSSL's PRNG routines are called to generate random numbers the supplied
-buffer contents are mixed into the entropy pool: so it technically does not
-matter whether the buffer is initialized at this point or not.  Valgrind (and
-other test tools) will complain about this. When using Valgrind, make sure the
-OpenSSL library has been compiled with the PURIFY macro defined (-DPURIFY)
-to get rid of these warnings.
-
-
-* Why doesn't a memory BIO work when a file does?
-
-This can occur in several cases for example reading an S/MIME email message.
-The reason is that a memory BIO can do one of two things when all the data
-has been read from it.
-
-The default behaviour is to indicate that no more data is available and that
-the call should be retried, this is to allow the application to fill up the BIO
-again if necessary.
-
-Alternatively it can indicate that no more data is available and that EOF has
-been reached.
-
-If a memory BIO is to behave in the same way as a file this second behaviour
-is needed. This must be done by calling:
-
-   BIO_set_mem_eof_return(bio, 0);
-
-See the manual pages for more details.
-
-
-* Where are the declarations and implementations of d2i_X509() etc?
-
-These are defined and implemented by macros of the form:
-
-
- DECLARE_ASN1_FUNCTIONS(X509) and IMPLEMENT_ASN1_FUNCTIONS(X509)
-
-The implementation passes an ASN1 "template" defining the structure into an
-ASN1 interpreter using generalised functions such as ASN1_item_d2i().
-
-
-===============================================================================
diff --git a/lib/libssl/src/INSTALL b/lib/libssl/src/INSTALL
deleted file mode 100644 (file)
index bd37bf5..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-
- INSTALLATION ON THE UNIX PLATFORM
- ---------------------------------
-
- To install OpenSSL, you will need:
-
-  * make
-  * Perl 5
-  * an ANSI C compiler
-  * a development environment in form of development libraries and C
-    header files
-  * a supported Unix operating system
-
- Quick Start
- -----------
-
- If you want to just get on with it, do:
-
-  $ ./config
-  $ make
-  $ make test
-  $ make install
-
- [If any of these steps fails, see section Installation in Detail below.]
-
- This will build and install OpenSSL in the default location, which is (for
- historical reasons) /usr/local/ssl. If you want to install it anywhere else,
- run config like this:
-
-  $ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
-
-
- Configuration Options
- ---------------------
-
- There are several options to ./config (or ./Configure) to customize
- the build:
-
-  --prefix=DIR  Install in DIR/bin, DIR/lib, DIR/include/openssl.
-               Configuration files used by OpenSSL will be in DIR/ssl
-                or the directory specified by --openssldir.
-
-  --openssldir=DIR Directory for OpenSSL files. If no prefix is specified,
-                the library files and binaries are also installed there.
-
-  no-threads    Don't try to build with support for multi-threaded
-                applications.
-
-  threads       Build with support for multi-threaded applications.
-                This will usually require additional system-dependent options!
-                See "Note on multi-threading" below.
-
-  no-zlib       Don't try to build with support for zlib compression and
-                decompression.
-
-  zlib          Build with support for zlib compression/decompression.
-
-  zlib-dynamic  Like "zlib", but has OpenSSL load the zlib library dynamically
-                when needed.  This is only supported on systems where loading
-                of shared libraries is supported.  This is the default choice.
-
-  no-shared     Don't try to create shared libraries.
-
-  shared        In addition to the usual static libraries, create shared
-                libraries on platforms where it's supported.  See "Note on
-                shared libraries" below.
-
-  no-asm        Do not use assembler code.
-
-  386           Use the 80386 instruction set only (the default x86 code is
-                more efficient, but requires at least a 486). Note: Use
-                compiler flags for any other CPU specific configuration,
-                e.g. "-m32" to build x86 code on an x64 system.
-
-  no-sse2      Exclude SSE2 code pathes. Normally SSE2 extention is
-               detected at run-time, but the decision whether or not the
-               machine code will be executed is taken solely on CPU
-               capability vector. This means that if you happen to run OS
-               kernel which does not support SSE2 extension on Intel P4
-               processor, then your application might be exposed to
-               "illegal instruction" exception. There might be a way
-               to enable support in kernel, e.g. FreeBSD kernel can be
-               compiled with CPU_ENABLE_SSE, and there is a way to
-               disengage SSE2 code pathes upon application start-up,
-               but if you aim for wider "audience" running such kernel,
-               consider no-sse2. Both 386 and no-asm options above imply
-               no-sse2.
-
-  no-<cipher>   Build without the specified cipher (bf, cast, des, dh, dsa,
-                hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha).
-                The crypto/<cipher> directory can be removed after running
-                "make depend".
-
-  -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will
-                be passed through to the compiler to allow you to
-                define preprocessor symbols, specify additional libraries,
-                library directories or other compiler options.
-
-  -DHAVE_CRYPTODEV Enable the BSD cryptodev engine even if we are not using
-               BSD. Useful if you are running ocf-linux or something
-               similar. Once enabled you can also enable the use of
-               cryptodev digests, which is usually slower unless you have
-               large amounts data. Use -DUSE_CRYPTODEV_DIGESTS to force
-               it.
-
- Installation in Detail
- ----------------------
-
- 1a. Configure OpenSSL for your operation system automatically:
-
-       $ ./config [options]
-
-     This guesses at your operating system (and compiler, if necessary) and
-     configures OpenSSL based on this guess. Run ./config -t to see
-     if it guessed correctly. If you want to use a different compiler, you
-     are cross-compiling for another platform, or the ./config guess was
-     wrong for other reasons, go to step 1b. Otherwise go to step 2.
-
-     On some systems, you can include debugging information as follows:
-
-       $ ./config -d [options]
-
- 1b. Configure OpenSSL for your operating system manually
-
-     OpenSSL knows about a range of different operating system, hardware and
-     compiler combinations. To see the ones it knows about, run
-
-       $ ./Configure
-
-     Pick a suitable name from the list that matches your system. For most
-     operating systems there is a choice between using "cc" or "gcc".  When
-     you have identified your system (and if necessary compiler) use this name
-     as the argument to ./Configure. For example, a "linux-elf" user would
-     run:
-
-       $ ./Configure linux-elf [options]
-
-     If your system is not available, you will have to edit the Configure
-     program and add the correct configuration for your system. The
-     generic configurations "cc" or "gcc" should usually work on 32 bit
-     systems.
-
-     Configure creates the file Makefile.ssl from Makefile.org and
-     defines various macros in crypto/opensslconf.h (generated from
-     crypto/opensslconf.h.in).
-
-  2. Build OpenSSL by running:
-
-       $ make
-
-     This will build the OpenSSL libraries (libcrypto.a and libssl.a) and the
-     OpenSSL binary ("openssl"). The libraries will be built in the top-level
-     directory, and the binary will be in the "apps" directory.
-
-     If "make" fails, look at the output.  There may be reasons for
-     the failure that aren't problems in OpenSSL itself (like missing
-     standard headers).  If it is a problem with OpenSSL itself, please
-     report the problem to <openssl-bugs@openssl.org> (note that your
-     message will be recorded in the request tracker publicly readable
-     via http://www.openssl.org/support/rt.html and will be forwarded to a
-     public mailing list). Include the output of "make report" in your message.
-     Please check out the request tracker. Maybe the bug was already
-     reported or has already been fixed.
-
-     [If you encounter assembler error messages, try the "no-asm"
-     configuration option as an immediate fix.]
-
-     Compiling parts of OpenSSL with gcc and others with the system
-     compiler will result in unresolved symbols on some systems.
-
-  3. After a successful build, the libraries should be tested. Run:
-
-       $ make test
-
-     If a test fails, look at the output.  There may be reasons for
-     the failure that isn't a problem in OpenSSL itself (like a missing
-     or malfunctioning bc).  If it is a problem with OpenSSL itself,
-     try removing any compiler optimization flags from the CFLAG line
-     in Makefile.ssl and run "make clean; make". Please send a bug
-     report to <openssl-bugs@openssl.org>, including the output of
-     "make report" in order to be added to the request tracker at
-     http://www.openssl.org/support/rt.html.
-
-  4. If everything tests ok, install OpenSSL with
-
-       $ make install
-
-     This will create the installation directory (if it does not exist) and
-     then the following subdirectories:
-
-       certs           Initially empty, this is the default location
-                       for certificate files.
-       man/man1        Manual pages for the 'openssl' command line tool
-       man/man3        Manual pages for the libraries (very incomplete)
-       misc            Various scripts.
-       private         Initially empty, this is the default location
-                       for private key files.
-
-     If you didn't choose a different installation prefix, the
-     following additional subdirectories will be created:
-
-       bin             Contains the openssl binary and a few other 
-                       utility programs. 
-       include/openssl Contains the header files needed if you want to
-                       compile programs with libcrypto or libssl.
-       lib             Contains the OpenSSL library files themselves.
-
-     Use "make install_sw" to install the software without documentation,
-     and "install_docs_html" to install HTML renditions of the manual
-     pages.
-
-     Package builders who want to configure the library for standard
-     locations, but have the package installed somewhere else so that
-     it can easily be packaged, can use
-
-       $ make INSTALL_PREFIX=/tmp/package-root install
-
-     (or specify "--install_prefix=/tmp/package-root" as a configure
-     option).  The specified prefix will be prepended to all
-     installation target filenames.
-
-
-  NOTE: The header files used to reside directly in the include
-  directory, but have now been moved to include/openssl so that
-  OpenSSL can co-exist with other libraries which use some of the
-  same filenames.  This means that applications that use OpenSSL
-  should now use C preprocessor directives of the form
-
-       #include <openssl/ssl.h>
-
-  instead of "#include <ssl.h>", which was used with library versions
-  up to OpenSSL 0.9.2b.
-
-  If you install a new version of OpenSSL over an old library version,
-  you should delete the old header files in the include directory.
-
-  Compatibility issues:
-
-  *  COMPILING existing applications
-
-     To compile an application that uses old filenames -- e.g.
-     "#include <ssl.h>" --, it will usually be enough to find
-     the CFLAGS definition in the application's Makefile and
-     add a C option such as
-
-          -I/usr/local/ssl/include/openssl
-
-     to it.
-
-     But don't delete the existing -I option that points to
-     the ..../include directory!  Otherwise, OpenSSL header files
-     could not #include each other.
-
-  *  WRITING applications
-
-     To write an application that is able to handle both the new
-     and the old directory layout, so that it can still be compiled
-     with library versions up to OpenSSL 0.9.2b without bothering
-     the user, you can proceed as follows:
-
-     -  Always use the new filename of OpenSSL header files,
-        e.g. #include <openssl/ssl.h>.
-
-     -  Create a directory "incl" that contains only a symbolic
-        link named "openssl", which points to the "include" directory
-        of OpenSSL.
-        For example, your application's Makefile might contain the
-        following rule, if OPENSSLDIR is a pathname (absolute or
-        relative) of the directory where OpenSSL resides:
-
-        incl/openssl:
-               -mkdir incl
-               cd $(OPENSSLDIR) # Check whether the directory really exists
-               -ln -s `cd $(OPENSSLDIR); pwd`/include incl/openssl
-
-        You will have to add "incl/openssl" to the dependencies
-        of those C files that include some OpenSSL header file.
-
-     -  Add "-Iincl" to your CFLAGS.
-
-     With these additions, the OpenSSL header files will be available
-     under both name variants if an old library version is used:
-     Your application can reach them under names like <openssl/foo.h>,
-     while the header files still are able to #include each other
-     with names of the form <foo.h>.
-
-
- Note on multi-threading
- -----------------------
-
- For some systems, the OpenSSL Configure script knows what compiler options
- are needed to generate a library that is suitable for multi-threaded
- applications.  On these systems, support for multi-threading is enabled
- by default; use the "no-threads" option to disable (this should never be
- necessary).
-
- On other systems, to enable support for multi-threading, you will have
- to specify at least two options: "threads", and a system-dependent option.
- (The latter is "-D_REENTRANT" on various systems.)  The default in this
- case, obviously, is not to include support for multi-threading (but
- you can still use "no-threads" to suppress an annoying warning message
- from the Configure script.)
-
-
- Note on shared libraries
- ------------------------
-
- Shared libraries have certain caveats.  Binary backward compatibility
- can't be guaranteed before OpenSSL version 1.0.  The only reason to
- use them would be to conserve memory on systems where several programs
- are using OpenSSL.
-
- For some systems, the OpenSSL Configure script knows what is needed to
- build shared libraries for libcrypto and libssl.  On these systems,
- the shared libraries are currently not created by default, but giving
- the option "shared" will get them created.  This method supports Makefile
- targets for shared library creation, like linux-shared.  Those targets
- can currently be used on their own just as well, but this is expected
- to change in future versions of OpenSSL.
-
- Note on random number generation
- --------------------------------
-
- Availability of cryptographically secure random numbers is required for
- secret key generation. OpenSSL provides several options to seed the
- internal PRNG. If not properly seeded, the internal PRNG will refuse
- to deliver random bytes and a "PRNG not seeded error" will occur.
- On systems without /dev/urandom (or similar) device, it may be necessary
- to install additional support software to obtain random seed.
- Please check out the manual pages for RAND_add(), RAND_bytes(), RAND_egd(),
- and the FAQ for more information.
-
- Note on support for multiple builds
- -----------------------------------
-
- OpenSSL is usually built in its source tree.  Unfortunately, this doesn't
- support building for multiple platforms from the same source tree very well.
- It is however possible to build in a separate tree through the use of lots
- of symbolic links, which should be prepared like this:
-
-       mkdir -p objtree/"`uname -s`-`uname -r`-`uname -m`"
-       cd objtree/"`uname -s`-`uname -r`-`uname -m`"
-       (cd $OPENSSL_SOURCE; find . -type f) | while read F; do
-               mkdir -p `dirname $F`
-               rm -f $F; ln -s $OPENSSL_SOURCE/$F $F
-               echo $F '->' $OPENSSL_SOURCE/$F
-       done
-       make -f Makefile.org clean
-
- OPENSSL_SOURCE is an environment variable that contains the absolute (this
- is important!) path to the OpenSSL source tree.
-
- Also, operations like 'make update' should still be made in the source tree.
diff --git a/lib/libssl/src/crypto/bf/bf_opts.c b/lib/libssl/src/crypto/bf/bf_opts.c
deleted file mode 100644 (file)
index da7a487..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-/* crypto/bf/bf_opts.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* define PART1, PART2, PART3 or PART4 to build only with a few of the options.
- * This is for machines with 64k code segment size restrictions. */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/blowfish.h>
-
-#define BF_DEFAULT_OPTIONS
-
-#undef BF_ENC
-#define BF_encrypt  BF_encrypt_normal
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-#define BF_PTR
-#undef BF_PTR2
-#undef BF_ENC
-#undef BF_encrypt
-#define BF_encrypt  BF_encrypt_ptr
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-#undef BF_PTR
-#define BF_PTR2
-#undef BF_ENC
-#undef BF_encrypt
-#define BF_encrypt  BF_encrypt_ptr2
-#undef HEADER_BF_LOCL_H
-#include "bf_enc.c"
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD fix */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-#ifdef SIGALRM
-#define print_name(name) fprintf(stderr,"Doing %s's for 10 seconds\n",name); alarm(10);
-#else
-#define print_name(name) fprintf(stderr,"Doing %s %ld times\n",name,cb);
-#endif
-       
-#define time_it(func,name,index) \
-       print_name(name); \
-       Time_F(START); \
-       for (count=0,run=1; COND(cb); count+=4) \
-               { \
-               unsigned long d[2]; \
-               func(d,&sch); \
-               func(d,&sch); \
-               func(d,&sch); \
-               func(d,&sch); \
-               } \
-       tm[index]=Time_F(STOP); \
-       fprintf(stderr,"%ld %s's in %.2f second\n",count,name,tm[index]); \
-       tm[index]=((double)COUNT(cb))/tm[index];
-
-#define print_it(name,index) \
-       fprintf(stderr,"%s bytes per sec = %12.2f (%5.1fuS)\n",name, \
-               tm[index]*8,1.0e6/tm[index]);
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static char key[16]={   0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                               0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0};
-       BF_KEY sch;
-       double d,tm[16],max=0;
-       int rank[16];
-       char *str[16];
-       int max_idx=0,i,num=0,j;
-#ifndef SIGALARM
-       long ca,cb,cc,cd,ce;
-#endif
-
-       for (i=0; i<12; i++)
-               {
-               tm[i]=0.0;
-               rank[i]=0;
-               }
-
-#ifndef TIMES
-       fprintf(stderr,"To get the most accurate results, try to run this\n");
-       fprintf(stderr,"program when this computer is idle.\n");
-#endif
-
-       BF_set_key(&sch,16,key);
-
-#ifndef SIGALRM
-       fprintf(stderr,"First we calculate the approximate speed ...\n");
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       BF_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count;
-       cb=count*3;
-       cc=count*3*8/BUFSIZE+1;
-       cd=count*8/BUFSIZE+1;
-
-       ce=count/20+1;
-#define COND(d) (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c) (run)
-#define COUNT(d) (count)
-        signal(SIGALRM,sig_done);
-        alarm(10);
-#endif
-
-       time_it(BF_encrypt_normal,      "BF_encrypt_normal ", 0);
-       time_it(BF_encrypt_ptr,         "BF_encrypt_ptr    ", 1);
-       time_it(BF_encrypt_ptr2,        "BF_encrypt_ptr2   ", 2);
-       num+=3;
-
-       str[0]="<nothing>";
-       print_it("BF_encrypt_normal ",0);
-       max=tm[0];
-       max_idx=0;
-       str[1]="ptr      ";
-       print_it("BF_encrypt_ptr ",1);
-       if (max < tm[1]) { max=tm[1]; max_idx=1; }
-       str[2]="ptr2     ";
-       print_it("BF_encrypt_ptr2 ",2);
-       if (max < tm[2]) { max=tm[2]; max_idx=2; }
-
-       printf("options    BF ecb/s\n");
-       printf("%s %12.2f 100.0%%\n",str[max_idx],tm[max_idx]);
-       d=tm[max_idx];
-       tm[max_idx]= -2.0;
-       max= -1.0;
-       for (;;)
-               {
-               for (i=0; i<3; i++)
-                       {
-                       if (max < tm[i]) { max=tm[i]; j=i; }
-                       }
-               if (max < 0.0) break;
-               printf("%s %12.2f  %4.1f%%\n",str[j],tm[j],tm[j]/d*100.0);
-               tm[j]= -2.0;
-               max= -1.0;
-               }
-
-       switch (max_idx)
-               {
-       case 0:
-               printf("-DBF_DEFAULT_OPTIONS\n");
-               break;
-       case 1:
-               printf("-DBF_PTR\n");
-               break;
-       case 2:
-               printf("-DBF_PTR2\n");
-               break;
-               }
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libssl/src/crypto/bn/bn.mul b/lib/libssl/src/crypto/bn/bn.mul
deleted file mode 100644 (file)
index 9728870..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-We need
-
-* bn_mul_comba8
-* bn_mul_comba4
-* bn_mul_normal
-* bn_mul_recursive
-
-* bn_sqr_comba8
-* bn_sqr_comba4
-bn_sqr_normal -> BN_sqr
-* bn_sqr_recursive
-
-* bn_mul_low_recursive
-* bn_mul_low_normal
-* bn_mul_high
-
-* bn_mul_part_recursive        # symetric but not power of 2
-
-bn_mul_asymetric_recursive # uneven, but do the chop up.
diff --git a/lib/libssl/src/crypto/bn/bnspeed.c b/lib/libssl/src/crypto/bn/bnspeed.c
deleted file mode 100644 (file)
index b554ac8..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-/* unused */
-
-/* crypto/bn/bnspeed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* most of this code has been pilfered from my libdes speed.c program */
-
-#define BASENUM        1000000
-#undef PROG
-#define PROG bnspeed_main
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <openssl/crypto.h>
-#include <openssl/err.h>
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/bn.h>
-#include <openssl/x509.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#undef BUFSIZE
-#define BUFSIZE        ((long)1024*8)
-int run=0;
-
-static double Time_F(int s);
-#define START  0
-#define STOP   1
-
-static double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret < 1e-3)?1e-3:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret < 0.001)?0.001:ret);
-               }
-#endif
-       }
-
-#define NUM_SIZES      5
-static int sizes[NUM_SIZES]={128,256,512,1024,2048};
-/*static int sizes[NUM_SIZES]={59,179,299,419,539}; */
-
-void do_mul(BIGNUM *r,BIGNUM *a,BIGNUM *b,BN_CTX *ctx); 
-
-int main(int argc, char **argv)
-       {
-       BN_CTX *ctx;
-       BIGNUM a,b,c;
-
-       ctx=BN_CTX_new();
-       BN_init(&a);
-       BN_init(&b);
-       BN_init(&c);
-
-       do_mul(&a,&b,&c,ctx);
-       }
-
-void do_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
-       {
-       int i,j,k;
-       double tm;
-       long num;
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i],1,0);
-               for (j=i; j<NUM_SIZES; j++)
-                       {
-                       BN_rand(b,sizes[j],1,0);
-                       Time_F(START);
-                       for (k=0; k<num; k++)
-                               BN_mul(r,b,a,ctx);
-                       tm=Time_F(STOP);
-                       printf("mul %4d x %4d -> %8.3fms\n",sizes[i],sizes[j],tm*1000.0/num);
-                       }
-               }
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i],1,0);
-               Time_F(START);
-               for (k=0; k<num; k++)
-                       BN_sqr(r,a,ctx);
-               tm=Time_F(STOP);
-               printf("sqr %4d x %4d -> %8.3fms\n",sizes[i],sizes[i],tm*1000.0/num);
-               }
-
-       for (i=0; i<NUM_SIZES; i++)
-               {
-               num=BASENUM/10;
-               if (i) num/=(i*3);
-               BN_rand(a,sizes[i]-1,1,0);
-               for (j=i; j<NUM_SIZES; j++)
-                       {
-                       BN_rand(b,sizes[j],1,0);
-                       Time_F(START);
-                       for (k=0; k<100000; k++)
-                               BN_div(r, NULL, b, a,ctx);
-                       tm=Time_F(STOP);
-                       printf("div %4d / %4d -> %8.3fms\n",sizes[j],sizes[i]-1,tm*1000.0/num);
-                       }
-               }
-       }
-
diff --git a/lib/libssl/src/crypto/bn/exp.c b/lib/libssl/src/crypto/bn/exp.c
deleted file mode 100644 (file)
index 4865b0e..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-/* unused */
-
-#include <stdio.h>
-#include <openssl/tmdiff.h>
-#include "bn_lcl.h"
-
-#define SIZE   256
-#define NUM    (8*8*8)
-#define MOD    (8*8*8*8*8)
-
-main(argc,argv)
-int argc;
-char *argv[];
-       {
-       BN_CTX ctx;
-       BIGNUM a,b,c,r,rr,t,l;
-       int j,i,size=SIZE,num=NUM,mod=MOD;
-       char *start,*end;
-       BN_MONT_CTX mont;
-       double d,md;
-
-       BN_MONT_CTX_init(&mont);
-       BN_CTX_init(&ctx);
-       BN_init(&a);
-       BN_init(&b);
-       BN_init(&c);
-       BN_init(&r);
-
-       start=ms_time_new();
-       end=ms_time_new();
-       while (size <= 1024*8)
-               {
-               BN_rand(&a,size,0,0);
-               BN_rand(&b,size,1,0);
-               BN_rand(&c,size,0,1);
-
-               BN_mod(&a,&a,&c,&ctx);
-
-               ms_time_get(start);
-               for (i=0; i<10; i++)
-                       BN_MONT_CTX_set(&mont,&c,&ctx);
-               ms_time_get(end);
-               md=ms_time_diff(start,end);
-
-               ms_time_get(start);
-               for (i=0; i<num; i++)
-                       {
-                       /* bn_mull(&r,&a,&b,&ctx); */
-                       /* BN_sqr(&r,&a,&ctx); */
-                       BN_mod_exp_mont(&r,&a,&b,&c,&ctx,&mont);
-                       }
-               ms_time_get(end);
-               d=ms_time_diff(start,end)/* *50/33 */;
-               printf("%5d bit:%6.2f %6d %6.4f %4d m_set(%5.4f)\n",size,
-                       d,num,d/num,(int)((d/num)*mod),md/10.0);
-               num/=8;
-               mod/=8;
-               if (num <= 0) num=1;
-               size*=2;
-               }
-
-       }
diff --git a/lib/libssl/src/crypto/bn/expspeed.c b/lib/libssl/src/crypto/bn/expspeed.c
deleted file mode 100644 (file)
index 1b434db..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-/* unused */
-
-/* crypto/bn/expspeed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* most of this code has been pilfered from my libdes speed.c program */
-
-#define BASENUM        5000
-#define NUM_START 0
-
-
-/* determine timings for modexp, modmul, modsqr, gcd, Kronecker symbol,
- * modular inverse, or modular square roots */
-#define TEST_EXP
-#undef TEST_MUL
-#undef TEST_SQR
-#undef TEST_GCD
-#undef TEST_KRON
-#undef TEST_INV
-#undef TEST_SQRT
-#define P_MOD_64 9 /* least significant 6 bits for prime to be used for BN_sqrt timings */
-
-#if defined(TEST_EXP) + defined(TEST_MUL) + defined(TEST_SQR) + defined(TEST_GCD) + defined(TEST_KRON) + defined(TEST_INV) +defined(TEST_SQRT) != 1
-#  error "choose one test"
-#endif
-
-#if defined(TEST_INV) || defined(TEST_SQRT)
-#  define C_PRIME
-static void genprime_cb(int p, int n, void *arg);
-#endif
-
-
-
-#undef PROG
-#define PROG bnspeed_main
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <signal.h>
-#include <string.h>
-#include <openssl/crypto.h>
-#include <openssl/err.h>
-#include <openssl/rand.h>
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/bn.h>
-#include <openssl/x509.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD hack */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#undef BUFSIZE
-#define BUFSIZE        ((long)1024*8)
-int run=0;
-
-static double Time_F(int s);
-#define START  0
-#define STOP   1
-
-static double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret < 1e-3)?1e-3:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret < 0.001)?0.001:ret);
-               }
-#endif
-       }
-
-#define NUM_SIZES      7
-#if NUM_START > NUM_SIZES
-#   error "NUM_START > NUM_SIZES"
-#endif
-static int sizes[NUM_SIZES]={128,256,512,1024,2048,4096,8192};
-static int mul_c[NUM_SIZES]={8*8*8*8*8*8,8*8*8*8*8,8*8*8*8,8*8*8,8*8,8,1};
-/*static int sizes[NUM_SIZES]={59,179,299,419,539}; */
-
-void do_mul_exp(BIGNUM *r,BIGNUM *a,BIGNUM *b,BIGNUM *c,BN_CTX *ctx); 
-
-int main(int argc, char **argv)
-       {
-       BN_CTX *ctx;
-       BIGNUM *a,*b,*c,*r;
-
-#if 1
-       if (!CRYPTO_set_mem_debug_functions(0,0,0,0,0))
-               abort();
-#endif
-
-       ctx=BN_CTX_new();
-       a=BN_new();
-       b=BN_new();
-       c=BN_new();
-       r=BN_new();
-
-       do_mul_exp(r,a,b,c,ctx);
-       return 0;
-       }
-
-void do_mul_exp(BIGNUM *r, BIGNUM *a, BIGNUM *b, BIGNUM *c, BN_CTX *ctx)
-       {
-       int i,k;
-       double tm;
-       long num;
-
-       num=BASENUM;
-       for (i=NUM_START; i<NUM_SIZES; i++)
-               {
-#ifdef C_PRIME
-#  ifdef TEST_SQRT
-               if (!BN_set_word(a, 64)) goto err;
-               if (!BN_set_word(b, P_MOD_64)) goto err;
-#    define ADD a
-#    define REM b
-#  else
-#    define ADD NULL
-#    define REM NULL
-#  endif
-               if (!BN_generate_prime(c,sizes[i],0,ADD,REM,genprime_cb,NULL)) goto err;
-               putc('\n', stderr);
-               fflush(stderr);
-#endif
-
-               for (k=0; k<num; k++)
-                       {
-                       if (k%50 == 0) /* Average over num/50 different choices of random numbers. */
-                               {
-                               if (!BN_pseudo_rand(a,sizes[i],1,0)) goto err;
-
-                               if (!BN_pseudo_rand(b,sizes[i],1,0)) goto err;
-
-#ifndef C_PRIME
-                               if (!BN_pseudo_rand(c,sizes[i],1,1)) goto err;
-#endif
-
-#ifdef TEST_SQRT                               
-                               if (!BN_mod_sqr(a,a,c,ctx)) goto err;
-                               if (!BN_mod_sqr(b,b,c,ctx)) goto err;
-#else
-                               if (!BN_nnmod(a,a,c,ctx)) goto err;
-                               if (!BN_nnmod(b,b,c,ctx)) goto err;
-#endif
-
-                               if (k == 0)
-                                       Time_F(START);
-                               }
-
-#if defined(TEST_EXP)
-                       if (!BN_mod_exp(r,a,b,c,ctx)) goto err;
-#elif defined(TEST_MUL)
-                       {
-                       int i = 0;
-                       for (i = 0; i < 50; i++)
-                               if (!BN_mod_mul(r,a,b,c,ctx)) goto err;
-                       }
-#elif defined(TEST_SQR)
-                       {
-                       int i = 0;
-                       for (i = 0; i < 50; i++)
-                               {
-                               if (!BN_mod_sqr(r,a,c,ctx)) goto err;
-                               if (!BN_mod_sqr(r,b,c,ctx)) goto err;
-                               }
-                       }
-#elif defined(TEST_GCD)
-                       if (!BN_gcd(r,a,b,ctx)) goto err;
-                       if (!BN_gcd(r,b,c,ctx)) goto err;
-                       if (!BN_gcd(r,c,a,ctx)) goto err;
-#elif defined(TEST_KRON)
-                       if (-2 == BN_kronecker(a,b,ctx)) goto err;
-                       if (-2 == BN_kronecker(b,c,ctx)) goto err;
-                       if (-2 == BN_kronecker(c,a,ctx)) goto err;
-#elif defined(TEST_INV)
-                       if (!BN_mod_inverse(r,a,c,ctx)) goto err;
-                       if (!BN_mod_inverse(r,b,c,ctx)) goto err;
-#else /* TEST_SQRT */
-                       if (!BN_mod_sqrt(r,a,c,ctx)) goto err;
-                       if (!BN_mod_sqrt(r,b,c,ctx)) goto err;
-#endif
-                       }
-               tm=Time_F(STOP);
-               printf(
-#if defined(TEST_EXP)
-                       "modexp %4d ^ %4d %% %4d"
-#elif defined(TEST_MUL)
-                       "50*modmul %4d %4d %4d"
-#elif defined(TEST_SQR)
-                       "100*modsqr %4d %4d %4d"
-#elif defined(TEST_GCD)
-                       "3*gcd %4d %4d %4d"
-#elif defined(TEST_KRON)
-                       "3*kronecker %4d %4d %4d"
-#elif defined(TEST_INV)
-                       "2*inv %4d %4d mod %4d"
-#else /* TEST_SQRT */
-                       "2*sqrt [prime == %d (mod 64)] %4d %4d mod %4d"
-#endif
-                       " -> %8.6fms %5.1f (%ld)\n",
-#ifdef TEST_SQRT
-                       P_MOD_64,
-#endif
-                       sizes[i],sizes[i],sizes[i],tm*1000.0/num,tm*mul_c[i]/num, num);
-               num/=7;
-               if (num <= 0) num=1;
-               }
-       return;
-
- err:
-       ERR_print_errors_fp(stderr);
-       }
-
-
-#ifdef C_PRIME
-static void genprime_cb(int p, int n, void *arg)
-       {
-       char c='*';
-
-       if (p == 0) c='.';
-       if (p == 1) c='+';
-       if (p == 2) c='*';
-       if (p == 3) c='\n';
-       putc(c, stderr);
-       fflush(stderr);
-       (void)n;
-       (void)arg;
-       }
-#endif
diff --git a/lib/libssl/src/crypto/des/FILES0 b/lib/libssl/src/crypto/des/FILES0
deleted file mode 100644 (file)
index 2e8211a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-/* General stuff */
-COPYRIGHT      - Copyright info.
-FILES          - This file.
-README         - What this package is.
-VERSION                - Which version this is and what was changed.
-
-/* libdes.a source code */
-des.h          - Public libdes.a header file.
-ecb_enc.c      - des_ecb_encrypt() source, this contains the basic DES code.
-ecb3_enc.c     - des_ecb3_encrypt() source.
-cbc_ckm.c      - des_cbc_cksum() source.
-cbc_enc.c      - des_cbc_encrypt() source.
-ncbc_enc.c     - des_cbc_encrypt() that is 'normal' in that it copies
-                 the new iv values back in the passed iv vector.
-ede_enc.c      - des_ede3_cbc_encrypt() cbc mode des using triple DES.
-cbc3_enc.c     - des_3cbc_encrypt() source, don't use this function.
-cfb_enc.c      - des_cfb_encrypt() source.
-cfb64enc.c     - des_cfb64_encrypt() cfb in 64 bit mode but setup to be
-                 used as a stream cipher.
-cfb64ede.c     - des_ede3_cfb64_encrypt() cfb in 64 bit mode but setup to be
-                 used as a stream cipher and using triple DES.
-ofb_enc.c      - des_cfb_encrypt() source.
-ofb64_enc.c    - des_ofb_encrypt() ofb in 64 bit mode but setup to be
-                 used as a stream cipher.
-ofb64ede.c     - des_ede3_ofb64_encrypt() ofb in 64 bit mode but setup to be
-                 used as a stream cipher and using triple DES.
-enc_read.c     - des_enc_read() source.
-enc_writ.c     - des_enc_write() source.
-pcbc_enc.c     - des_pcbc_encrypt() source.
-qud_cksm.c     - quad_cksum() source.
-rand_key.c     - des_random_key() source.
-read_pwd.c     - Source for des_read_password() plus related functions.
-set_key.c      - Source for des_set_key().
-str2key.c      - Covert a string of any length into a key.
-fcrypt.c       - A small, fast version of crypt(3).
-des_locl.h     - Internal libdes.a header file.
-podd.h         - Odd parity tables - used in des_set_key().
-sk.h           - Lookup tables used in des_set_key().
-spr.h          - What is left of the S tables - used in ecb_encrypt().
-des_ver.h      - header file for the external definition of the
-                 version string.
-des.doc                - SSLeay documentation for the library.
-
-
diff --git a/lib/libssl/src/crypto/des/README b/lib/libssl/src/crypto/des/README
deleted file mode 100644 (file)
index 621a5ab..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-
-               libdes, Version 4.01 10-Jan-97
-
-               Copyright (c) 1997, Eric Young
-                         All rights reserved.
-
-    This program is free software; you can redistribute it and/or modify
-    it under the terms specified in COPYRIGHT.
-    
---
-The primary ftp site for this library is
-ftp://ftp.psy.uq.oz.au/pub/Crypto/DES/libdes-x.xx.tar.gz
-libdes is now also shipped with SSLeay.  Primary ftp site of
-ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/SSLeay-x.x.x.tar.gz
-
-The best way to build this library is to build it as part of SSLeay.
-
-This kit builds a DES encryption library and a DES encryption program.
-It supports ecb, cbc, ofb, cfb, triple ecb, triple cbc, triple ofb,
-triple cfb, desx, and MIT's pcbc encryption modes and also has a fast
-implementation of crypt(3).
-It contains support routines to read keys from a terminal,
-generate a random key, generate a key from an arbitrary length string,
-read/write encrypted data from/to a file descriptor.
-
-The implementation was written so as to conform with the manual entry
-for the des_crypt(3) library routines from MIT's project Athena.
-
-destest should be run after compilation to test the des routines.
-rpw should be run after compilation to test the read password routines.
-The des program is a replacement for the sun des command.  I believe it
-conforms to the sun version.
-
-The Imakefile is setup for use in the kerberos distribution.
-
-These routines are best compiled with gcc or any other good
-optimising compiler.
-Just turn you optimiser up to the highest settings and run destest
-after the build to make sure everything works.
-
-I believe these routines are close to the fastest and most portable DES
-routines that use small lookup tables (4.5k) that are publicly available.
-The fcrypt routine is faster than ufc's fcrypt (when compiling with
-gcc2 -O2) on the sparc 2 (1410 vs 1270) but is not so good on other machines
-(on a sun3/260 168 vs 336).  It is a function of CPU on chip cache size.
-[ 10-Jan-97 and a function of an incorrect speed testing program in
-  ufc which gave much better test figures that reality ].
-
-It is worth noting that on sparc and Alpha CPUs, performance of the DES
-library can vary by upto %10 due to the positioning of files after application
-linkage.
-
-Eric Young (eay@cryptsoft.com)
-
diff --git a/lib/libssl/src/crypto/des/VERSION b/lib/libssl/src/crypto/des/VERSION
deleted file mode 100644 (file)
index c7d0154..0000000
+++ /dev/null
@@ -1,412 +0,0 @@
-       Fixed the weak key values which were wrong :-(
-       Defining SIGACTION causes sigaction() to be used instead of signal().
-       SIGUSR1/SIGUSR2 are no longer mapped in the read tty stuff because it
-       can cause problems.  This should hopefully not affect normal
-       applications.
-
-Version 4.04
-       Fixed a few tests in destest.  Also added x86 assember for
-       des_ncbc_encrypt() which is the standard cbc mode function.
-       This makes a very very large performace difference.
-       Ariel Glenn ariel@columbia.edu reports that the terminal
-       'turn echo off' can return (errno == EINVAL) under solaris
-       when redirection is used.  So I now catch that as well as ENOTTY.
-
-
-Version 4.03
-       Left a static out of enc_write.c, which caused to buffer to be
-       continiously malloc()ed.  Does anyone use these functions?  I keep
-       on feeling like removing them since I only had these in there
-       for a version of kerberised login.  Anyway, this was pointed out
-       by Theo de Raadt <deraadt@cvs.openbsd.org>
-       The 'n' bit ofb code was wrong, it was not shifting the shift
-       register. It worked correctly for n == 64.  Thanks to
-       Gigi Ankeny <Gigi.Ankeny@Eng.Sun.COM> for pointing this one out.
-
-Version 4.02
-       I was doing 'if (memcmp(weak_keys[i],key,sizeof(key)) == 0)'
-       when checking for weak keys which is wrong :-(, pointed out by
-       Markus F.X.J. Oberhumer <markus.oberhumer@jk.uni-linz.ac.at>.
-
-Version 4.01
-       Even faster inner loop in the DES assembler for x86 and a modification
-       for IP/FP which is faster on x86.  Both of these changes are
-       from Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>.  His
-       changes make the assembler run %40 faster on a pentium.  This is just
-       a case of getting the instruction sequence 'just right'.
-       All credit to 'Svend' :-)
-       Quite a few special x86 'make' targets.
-       A libdes-l (lite) distribution.
-
-Version 4.00
-       After a bit of a pause, I'll up the major version number since this
-       is mostly a performace release.  I've added x86 assembler and
-       added more options for performance.  A %28 speedup for gcc 
-       on a pentium and the assembler is a %50 speedup.
-       MIPS CPU's, sparc and Alpha are the main CPU's with speedups.
-       Run des_opts to work out which options should be used.
-       DES_RISC1/DES_RISC2 use alternative inner loops which use
-       more registers but should give speedups on any CPU that does
-       dual issue (pentium).  DES_UNROLL unrolls the inner loop,
-       which costs in code size.
-
-Version 3.26
-       I've finally removed one of the shifts in D_ENCRYPT.  This
-       meant I've changed the des_SPtrans table (spr.h), the set_key()
-       function and some things in des_enc.c.  This has definitly
-       made things faster :-).  I've known about this one for some
-       time but I've been too lazy to follow it up :-).
-       Noticed that in the D_ENCRYPT() macro, we can just do L^=(..)^(..)^..
-       instead of L^=((..)|(..)|(..)..  This should save a register at
-       least.
-       Assember for x86.  The file to replace is des_enc.c, which is replaced
-       by one of the assembler files found in asm.  Look at des/asm/readme
-       for more info.
-
-       /* Modification to fcrypt so it can be compiled to support
-       HPUX 10.x's long password format, define -DLONGCRYPT to use this.
-       Thanks to Jens Kupferschmidt <bt1cu@hpboot.rz.uni-leipzig.de>. */
-
-       SIGWINCH case put in des_read_passwd() so the function does not
-       'exit' if this function is recieved.
-
-Version 3.25 17/07/96
-       Modified read_pwd.c so that stdin can be read if not a tty.
-       Thanks to Jeff Barber <jeffb@issl.atl.hp.com> for the patches.
-       des_init_random_number_generator() shortened due to VMS linker
-       limits.
-       Added RSA's DESX cbc mode.  It is a form of cbc encryption, with 2
-       8 byte quantites xored before and after encryption.
-       des_xcbc_encryption() - the name is funny to preserve the des_
-       prefix on all functions.
-
-Version 3.24 20/04/96
-       The DES_PTR macro option checked and used by SSLeay configuration
-
-Version 3.23 11/04/96
-       Added DES_LONG.  If defined to 'unsigned int' on the DEC Alpha,
-       it gives a %20 speedup :-)
-       Fixed the problem with des.pl under perl5.  The patches were
-       sent by Ed Kubaitis (ejk@uiuc.edu).
-       if fcrypt.c, changed values to handle illegal salt values the way
-       normal crypt() implementations do.  Some programs apparently use
-       them :-(. The patch was sent by Bjorn Gronvall <bg@sics.se>
-
-Version 3.22 29/11/95
-       Bug in des(1), an error with the uuencoding stuff when the
-       'data' is small, thanks to Geoff Keating <keagchon@mehta.anu.edu.au>
-       for the patch.
-
-Version 3.21 22/11/95
-       After some emailing back and forth with 
-       Colin Plumb <colin@nyx10.cs.du.edu>, I've tweaked a few things
-       and in a future version I will probably put in some of the
-       optimisation he suggested for use with the DES_USE_PTR option.
-       Extra routines from Mark Murray <mark@grondar.za> for use in
-       freeBSD.  They mostly involve random number generation for use
-       with kerberos.  They involve evil machine specific system calls
-       etc so I would normally suggest pushing this stuff into the
-       application and/or using RAND_seed()/RAND_bytes() if you are
-       using this DES library as part of SSLeay.
-       Redone the read_pw() function so that it is cleaner and
-       supports termios, thanks to Sameer Parekh <sameer@c2.org>
-       for the initial patches for this.
-       Renamed 3ecb_encrypt() to ecb3_encrypt().  This has been
-        done just to make things more consistent.
-       I have also now added triple DES versions of cfb and ofb.
-
-Version 3.20
-       Damn, Damn, Damn, as pointed out by Mike_Spreitzer.PARC@xerox.com,
-       my des_random_seed() function was only copying 4 bytes of the
-       passed seed into the init structure.  It is now fixed to copy 8.
-       My own suggestion is to used something like MD5 :-)
-
-Version 3.19 
-       While looking at my code one day, I though, why do I keep on
-       calling des_encrypt(in,out,ks,enc) when every function that
-       calls it has in and out the same.  So I dropped the 'out'
-       parameter, people should not be using this function.
-
-Version 3.18 30/08/95
-       Fixed a few bit with the distribution and the filenames.
-       3.17 had been munged via a move to DOS and back again.
-       NO CODE CHANGES
-
-Version 3.17 14/07/95
-       Fixed ede3 cbc which I had broken in 3.16.  I have also
-       removed some unneeded variables in 7-8 of the routines.
-
-Version 3.16 26/06/95
-       Added des_encrypt2() which does not use IP/FP, used by triple
-       des routines.  Tweaked things a bit elsewhere. %13 speedup on
-       sparc and %6 on a R4400 for ede3 cbc mode.
-
-Version 3.15 06/06/95
-       Added des_ncbc_encrypt(), it is des_cbc mode except that it is
-       'normal' and copies the new iv value back over the top of the
-       passed parameter.
-       CHANGED des_ede3_cbc_encrypt() so that it too now overwrites
-       the iv.  THIS WILL BREAK EXISTING CODE, but since this function
-       only new, I feel I can change it, not so with des_cbc_encrypt :-(.
-       I need to update the documentation.
-
-Version 3.14 31/05/95
-       New release upon the world, as part of my SSL implementation.
-       New copyright and usage stuff.  Basically free for all to use
-       as long as you say it came from me :-)
-
-Version 3.13 31/05/95
-       A fix in speed.c, if HZ is not defined, I set it to 100.0
-       which is reasonable for most unixes except SunOS 4.x.
-       I now have a #ifdef sun but timing for SunOS 4.x looked very
-       good :-(.  At my last job where I used SunOS 4.x, it was
-       defined to be 60.0 (look at the old INSTALL documentation), at
-       the last release had it changed to 100.0 since I now work with
-       Solaris2 and SVR4 boxes.
-       Thanks to  Rory Chisholm <rchishol@math.ethz.ch> for pointing this
-       one out.
-
-Version 3.12 08/05/95
-       As pointed out by The Crypt Keeper <tck@bend.UCSD.EDU>,
-       my D_ENCRYPT macro in crypt() had an un-necessary variable.
-       It has been removed.
-
-Version 3.11 03/05/95
-       Added des_ede3_cbc_encrypt() which is cbc mode des with 3 keys
-       and one iv.  It is a standard and I needed it for my SSL code.
-       It makes more sense to use this for triple DES than
-       3cbc_encrypt().  I have also added (or should I say tested :-)
-       cfb64_encrypt() which is cfb64 but it will encrypt a partial
-       number of bytes - 3 bytes in 3 bytes out.  Again this is for
-       my SSL library, as a form of encryption to use with SSL
-       telnet.
-
-Version 3.10 22/03/95
-       Fixed a bug in 3cbc_encrypt() :-(.  When making repeated calls
-       to cbc3_encrypt, the 2 iv values that were being returned to
-       be used in the next call were reversed :-(.
-       Many thanks to Bill Wade <wade@Stoner.COM> for pointing out
-       this error.
-
-Version 3.09 01/02/95
-       Fixed des_random_key to far more random, it was rather feeble
-       with regards to picking the initial seed.  The problem was
-       pointed out by Olaf Kirch <okir@monad.swb.de>.
-
-Version 3.08 14/12/94
-       Added Makefile.PL so libdes can be built into perl5.
-       Changed des_locl.h so RAND is always defined.
-
-Version 3.07 05/12/94
-       Added GNUmake and stuff so the library can be build with
-       glibc.
-
-Version 3.06 30/08/94
-       Added rpc_enc.c which contains _des_crypt.  This is for use in
-       secure_rpc v 4.0
-       Finally fixed the cfb_enc problems.
-       Fixed a few parameter parsing bugs in des (-3 and -b), thanks
-       to Rob McMillan <R.McMillan@its.gu.edu.au>
-
-Version 3.05 21/04/94
-       for unsigned long l; gcc does not produce ((l>>34) == 0)
-       This causes bugs in cfb_enc.
-       Thanks to Hadmut Danisch <danisch@ira.uka.de>
-
-Version 3.04 20/04/94
-       Added a version number to des.c and libdes.a
-
-Version 3.03 12/01/94
-       Fixed a bug in non zero iv in 3cbc_enc.
-
-Version 3.02 29/10/93
-       I now work in a place where there are 6+ architectures and 14+
-       OS versions :-).
-       Fixed TERMIO definition so the most sys V boxes will work :-)
-
-Release upon comp.sources.misc
-Version 3.01 08/10/93
-       Added des_3cbc_encrypt()
-
-Version 3.00 07/10/93
-       Fixed up documentation.
-       quad_cksum definitely compatible with MIT's now.
-
-Version 2.30 24/08/93
-       Triple DES now defaults to triple cbc but can do triple ecb
-        with the -b flag.
-       Fixed some MSDOS uuen/uudecoding problems, thanks to
-       Added prototypes.
-       
-Version 2.22 29/06/93
-       Fixed a bug in des_is_weak_key() which stopped it working :-(
-       thanks to engineering@MorningStar.Com.
-
-Version 2.21 03/06/93
-       des(1) with no arguments gives quite a bit of help.
-       Added -c (generate ckecksum) flag to des(1).
-       Added -3 (triple DES) flag to des(1).
-       Added cfb and ofb routines to the library.
-
-Version 2.20 11/03/93
-       Added -u (uuencode) flag to des(1).
-       I have been playing with byte order in quad_cksum to make it
-        compatible with MIT's version.  All I can say is avid this
-        function if possible since MIT's output is endian dependent.
-
-Version 2.12 14/10/92
-       Added MSDOS specific macro in ecb_encrypt which gives a %70
-        speed up when the code is compiled with turbo C.
-
-Version 2.11 12/10/92
-       Speedup in set_key (recoding of PC-1)
-        I now do it in 47 simple operations, down from 60.
-        Thanks to John Fletcher (john_fletcher@lccmail.ocf.llnl.gov)
-        for motivating me to look for a faster system :-)
-        The speedup is probably less that 1% but it is still 13
-        instructions less :-).
-
-Version 2.10 06/10/92
-       The code now works on the 64bit ETA10 and CRAY without modifications or
-        #defines.  I believe the code should work on any machine that
-        defines long, int or short to be 8 bytes long.
-       Thanks to Shabbir J. Safdar (shabby@mentor.cc.purdue.edu)
-        for helping me fix the code to run on 64bit machines (he had
-        access to an ETA10).
-       Thanks also to John Fletcher <john_fletcher@lccmail.ocf.llnl.gov>
-        for testing the routines on a CRAY.
-       read_password.c has been renamed to read_passwd.c
-       string_to_key.c has been renamed to string2key.c
-
-Version 2.00 14/09/92
-       Made mods so that the library should work on 64bit CPU's.
-       Removed all my uchar and ulong defs.  To many different
-        versions of unix define them in their header files in too many
-        different combinations :-)
-       IRIX - Sillicon Graphics mods (mostly in read_password.c).
-        Thanks to Andrew Daviel (advax@erich.triumf.ca)
-
-Version 1.99 26/08/92
-       Fixed a bug or 2 in enc_read.c
-       Fixed a bug in enc_write.c
-       Fixed a pseudo bug in fcrypt.c (very obscure).
-
-Version 1.98 31/07/92
-       Support for the ETA10.  This is a strange machine that defines
-       longs and ints as 8 bytes and shorts as 4 bytes.
-       Since I do evil things with long * that assume that they are 4
-       bytes.  Look in the Makefile for the option to compile for
-       this machine.  quad_cksum appears to have problems but I
-       will don't have the time to fix it right now, and this is not
-       a function that uses DES and so will not effect the main uses
-       of the library.
-
-Version 1.97 20/05/92 eay
-       Fixed the Imakefile and made some changes to des.h to fix some
-       problems when building this package with Kerberos v 4.
-
-Version 1.96 18/05/92 eay
-       Fixed a small bug in string_to_key() where problems could
-       occur if des_check_key was set to true and the string
-       generated a weak key.
-
-Patch2 posted to comp.sources.misc
-Version 1.95 13/05/92 eay
-       Added an alternative version of the D_ENCRYPT macro in
-       ecb_encrypt and fcrypt.  Depending on the compiler, one version or the
-       other will be faster.  This was inspired by 
-       Dana How <how@isl.stanford.edu>, and her pointers about doing the
-       *(ulong *)((uchar *)ptr+(value&0xfc))
-       vs
-       ptr[value&0x3f]
-       to stop the C compiler doing a <<2 to convert the long array index.
-
-Version 1.94 05/05/92 eay
-       Fixed an incompatibility between my string_to_key and the MIT
-        version.  When the key is longer than 8 chars, I was wrapping
-        with a different method.  To use the old version, define
-        OLD_STR_TO_KEY in the makefile.  Thanks to
-        viktor@newsu.shearson.com (Viktor Dukhovni).
-
-Version 1.93 28/04/92 eay
-       Fixed the VMS mods so that echo is now turned off in
-        read_password.  Thanks again to brennan@coco.cchs.su.oz.AU.
-       MSDOS support added.  The routines can be compiled with
-        Turbo C (v2.0) and MSC (v5.1).  Make sure MSDOS is defined.
-
-Patch1 posted to comp.sources.misc
-Version 1.92 13/04/92 eay
-       Changed D_ENCRYPT so that the rotation of R occurs outside of
-        the loop.  This required rotating all the longs in sp.h (now
-        called spr.h). Thanks to Richard Outerbridge <71755.204@CompuServe.COM>
-       speed.c has been changed so it will work without SIGALRM.  If
-        times(3) is not present it will try to use ftime() instead.
-
-Version 1.91 08/04/92 eay
-       Added -E/-D options to des(1) so it can use string_to_key.
-       Added SVR4 mods suggested by witr@rwwa.COM
-       Added VMS mods suggested by brennan@coco.cchs.su.oz.AU.  If
-       anyone knows how to turn of tty echo in VMS please tell me or
-       implement it yourself :-).
-       Changed FILE *IN/*OUT to *DES_IN/*DES_OUT since it appears VMS
-       does not like IN/OUT being used.
-
-Libdes posted to comp.sources.misc
-Version 1.9 24/03/92 eay
-       Now contains a fast small crypt replacement.
-       Added des(1) command.
-       Added des_rw_mode so people can use cbc encryption with
-       enc_read and enc_write.
-
-Version 1.8 15/10/91 eay
-       Bug in cbc_cksum.
-       Many thanks to Keith Reynolds (keithr@sco.COM) for pointing this
-       one out.
-
-Version 1.7 24/09/91 eay
-       Fixed set_key :-)
-       set_key is 4 times faster and takes less space.
-       There are a few minor changes that could be made.
-
-Version 1.6 19/09/1991 eay
-       Finally go IP and FP finished.
-       Now I need to fix set_key.
-       This version is quite a bit faster that 1.51
-
-Version 1.52 15/06/1991 eay
-       20% speedup in ecb_encrypt by changing the E bit selection
-       to use 2 32bit words.  This also required modification of the
-       sp table.  There is still a way to speedup the IP and IP-1
-       (hints from outer@sq.com) still working on this one :-(.
-
-Version 1.51 07/06/1991 eay
-       Faster des_encrypt by loop unrolling
-       Fixed bug in quad_cksum.c (thanks to hughes@logos.ucs.indiana.edu)
-
-Version 1.50 28/05/1991 eay
-       Optimised the code a bit more for the sparc.  I have improved the
-       speed of the inner des_encrypt by speeding up the initial and
-       final permutations.
-
-Version 1.40 23/10/1990 eay
-       Fixed des_random_key, it did not produce a random key :-(
-
-Version 1.30  2/10/1990 eay
-       Have made des_quad_cksum the same as MIT's, the full package
-       should be compatible with MIT's
-       Have tested on a DECstation 3100
-       Still need to fix des_set_key (make it faster).
-       Does des_cbc_encrypts at 70.5k/sec on a 3100.
-
-Version 1.20 18/09/1990 eay
-       Fixed byte order dependencies.
-       Fixed (I hope) all the word alignment problems.
-       Speedup in des_ecb_encrypt.
-
-Version 1.10 11/09/1990 eay
-       Added des_enc_read and des_enc_write.
-       Still need to fix des_quad_cksum.
-       Still need to document des_enc_read and des_enc_write.
-
-Version 1.00 27/08/1990 eay
-
diff --git a/lib/libssl/src/crypto/des/des_opts.c b/lib/libssl/src/crypto/des/des_opts.c
deleted file mode 100644 (file)
index c713c5e..0000000
+++ /dev/null
@@ -1,608 +0,0 @@
-/* crypto/des/des_opts.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* define PART1, PART2, PART3 or PART4 to build only with a few of the options.
- * This is for machines with 64k code segment size restrictions. */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-#ifndef OPENSSL_SYS_MSDOS
-#include <openssl/e_os2.h>
-#include <unistd.h>
-#else
-#include <io.h>
-extern void exit();
-#endif
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/des.h>
-#include "spr.h"
-
-#define DES_DEFAULT_OPTIONS
-
-#if !defined(PART1) && !defined(PART2) && !defined(PART3) && !defined(PART4)
-#define PART1
-#define PART2
-#define PART3
-#define PART4
-#endif
-
-#ifdef PART1
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#define DES_encrypt1 des_encrypt_u4_cisc_idx
-#define DES_encrypt2 des_encrypt2_u4_cisc_idx
-#define DES_encrypt3 des_encrypt3_u4_cisc_idx
-#define DES_decrypt3 des_decrypt3_u4_cisc_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_cisc_idx
-#define DES_encrypt2 des_encrypt2_u16_cisc_idx
-#define DES_encrypt3 des_encrypt3_u16_cisc_idx
-#define DES_decrypt3 des_decrypt3_u16_cisc_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#undef DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc1_idx
-#define DES_encrypt2 des_encrypt2_u4_risc1_idx
-#define DES_encrypt3 des_encrypt3_u4_risc1_idx
-#define DES_decrypt3 des_decrypt3_u4_risc1_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART2
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc2_idx
-#define DES_encrypt2 des_encrypt2_u4_risc2_idx
-#define DES_encrypt3 des_encrypt3_u4_risc2_idx
-#define DES_decrypt3 des_decrypt3_u4_risc2_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc1_idx
-#define DES_encrypt2 des_encrypt2_u16_risc1_idx
-#define DES_encrypt3 des_encrypt3_u16_risc1_idx
-#define DES_decrypt3 des_decrypt3_u16_risc1_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#undef DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc2_idx
-#define DES_encrypt2 des_encrypt2_u16_risc2_idx
-#define DES_encrypt3 des_encrypt3_u16_risc2_idx
-#define DES_decrypt3 des_decrypt3_u16_risc2_idx
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART3
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_cisc_ptr
-#define DES_encrypt2 des_encrypt2_u4_cisc_ptr
-#define DES_encrypt3 des_encrypt3_u4_cisc_ptr
-#define DES_decrypt3 des_decrypt3_u4_cisc_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_cisc_ptr
-#define DES_encrypt2 des_encrypt2_u16_cisc_ptr
-#define DES_encrypt3 des_encrypt3_u16_cisc_ptr
-#define DES_decrypt3 des_decrypt3_u16_cisc_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#undef DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc1_ptr
-#define DES_encrypt2 des_encrypt2_u4_risc1_ptr
-#define DES_encrypt3 des_encrypt3_u4_risc1_ptr
-#define DES_decrypt3 des_decrypt3_u4_risc1_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-#ifdef PART4
-
-#undef DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u4_risc2_ptr
-#define DES_encrypt2 des_encrypt2_u4_risc2_ptr
-#define DES_encrypt3 des_encrypt3_u4_risc2_ptr
-#define DES_decrypt3 des_decrypt3_u4_risc2_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#define DES_RISC1
-#undef DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc1_ptr
-#define DES_encrypt2 des_encrypt2_u16_risc1_ptr
-#define DES_encrypt3 des_encrypt3_u16_risc1_ptr
-#define DES_decrypt3 des_decrypt3_u16_risc1_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#define DES_UNROLL
-#undef DES_RISC1
-#define DES_RISC2
-#define DES_PTR
-#undef D_ENCRYPT
-#undef DES_encrypt1
-#undef DES_encrypt2
-#undef DES_encrypt3
-#undef DES_decrypt3
-#define DES_encrypt1 des_encrypt_u16_risc2_ptr
-#define DES_encrypt2 des_encrypt2_u16_risc2_ptr
-#define DES_encrypt3 des_encrypt3_u16_risc2_ptr
-#define DES_decrypt3 des_decrypt3_u16_risc2_ptr
-#undef HEADER_DES_LOCL_H
-#include "des_enc.c"
-
-#endif
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-# ifndef CLK_TCK
-#  ifndef _BSD_CLK_TCK_ /* FreeBSD fix */
-#   define HZ  100.0
-#  else /* _BSD_CLK_TCK_ */
-#   define HZ ((double)_BSD_CLK_TCK_)
-#  endif
-# else /* CLK_TCK */
-#  define HZ ((double)CLK_TCK)
-# endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1000.0;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-#ifdef SIGALRM
-#define print_name(name) fprintf(stderr,"Doing %s's for 10 seconds\n",name); alarm(10);
-#else
-#define print_name(name) fprintf(stderr,"Doing %s %ld times\n",name,cb);
-#endif
-       
-#define time_it(func,name,index) \
-       print_name(name); \
-       Time_F(START); \
-       for (count=0,run=1; COND(cb); count++) \
-               { \
-               unsigned long d[2]; \
-               func(d,&sch,DES_ENCRYPT); \
-               } \
-       tm[index]=Time_F(STOP); \
-       fprintf(stderr,"%ld %s's in %.2f second\n",count,name,tm[index]); \
-       tm[index]=((double)COUNT(cb))/tm[index];
-
-#define print_it(name,index) \
-       fprintf(stderr,"%s bytes per sec = %12.2f (%5.1fuS)\n",name, \
-               tm[index]*8,1.0e6/tm[index]);
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static DES_cblock key ={0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0};
-       static DES_cblock key2={0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12};
-       static DES_cblock key3={0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34};
-       DES_key_schedule sch,sch2,sch3;
-       double d,tm[16],max=0;
-       int rank[16];
-       char *str[16];
-       int max_idx=0,i,num=0,j;
-#ifndef SIGALARM
-       long ca,cb,cc,cd,ce;
-#endif
-
-       for (i=0; i<12; i++)
-               {
-               tm[i]=0.0;
-               rank[i]=0;
-               }
-
-#ifndef TIMES
-       fprintf(stderr,"To get the most accurate results, try to run this\n");
-       fprintf(stderr,"program when this computer is idle.\n");
-#endif
-
-       DES_set_key_unchecked(&key,&sch);
-       DES_set_key_unchecked(&key2,&sch2);
-       DES_set_key_unchecked(&key3,&sch3);
-
-#ifndef SIGALRM
-       fprintf(stderr,"First we calculate the approximate speed ...\n");
-       DES_set_key_unchecked(&key,sch);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       DES_encrypt1(data,&(sch[0]),DES_ENCRYPT);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count;
-       cb=count*3;
-       cc=count*3*8/BUFSIZE+1;
-       cd=count*8/BUFSIZE+1;
-
-       ce=count/20+1;
-#define COND(d) (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c) (run)
-#define COUNT(d) (count)
-        signal(SIGALRM,sig_done);
-        alarm(10);
-#endif
-
-#ifdef PART1
-       time_it(des_encrypt_u4_cisc_idx,  "des_encrypt_u4_cisc_idx  ", 0);
-       time_it(des_encrypt_u16_cisc_idx, "des_encrypt_u16_cisc_idx ", 1);
-       time_it(des_encrypt_u4_risc1_idx, "des_encrypt_u4_risc1_idx ", 2);
-       num+=3;
-#endif
-#ifdef PART2
-       time_it(des_encrypt_u16_risc1_idx,"des_encrypt_u16_risc1_idx", 3);
-       time_it(des_encrypt_u4_risc2_idx, "des_encrypt_u4_risc2_idx ", 4);
-       time_it(des_encrypt_u16_risc2_idx,"des_encrypt_u16_risc2_idx", 5);
-       num+=3;
-#endif
-#ifdef PART3
-       time_it(des_encrypt_u4_cisc_ptr,  "des_encrypt_u4_cisc_ptr  ", 6);
-       time_it(des_encrypt_u16_cisc_ptr, "des_encrypt_u16_cisc_ptr ", 7);
-       time_it(des_encrypt_u4_risc1_ptr, "des_encrypt_u4_risc1_ptr ", 8);
-       num+=3;
-#endif
-#ifdef PART4
-       time_it(des_encrypt_u16_risc1_ptr,"des_encrypt_u16_risc1_ptr", 9);
-       time_it(des_encrypt_u4_risc2_ptr, "des_encrypt_u4_risc2_ptr ",10);
-       time_it(des_encrypt_u16_risc2_ptr,"des_encrypt_u16_risc2_ptr",11);
-       num+=3;
-#endif
-
-#ifdef PART1
-       str[0]=" 4  c i";
-       print_it("des_encrypt_u4_cisc_idx  ",0);
-       max=tm[0];
-       max_idx=0;
-       str[1]="16  c i";
-       print_it("des_encrypt_u16_cisc_idx ",1);
-       if (max < tm[1]) { max=tm[1]; max_idx=1; }
-       str[2]=" 4 r1 i";
-       print_it("des_encrypt_u4_risc1_idx ",2);
-       if (max < tm[2]) { max=tm[2]; max_idx=2; }
-#endif
-#ifdef PART2
-       str[3]="16 r1 i";
-       print_it("des_encrypt_u16_risc1_idx",3);
-       if (max < tm[3]) { max=tm[3]; max_idx=3; }
-       str[4]=" 4 r2 i";
-       print_it("des_encrypt_u4_risc2_idx ",4);
-       if (max < tm[4]) { max=tm[4]; max_idx=4; }
-       str[5]="16 r2 i";
-       print_it("des_encrypt_u16_risc2_idx",5);
-       if (max < tm[5]) { max=tm[5]; max_idx=5; }
-#endif
-#ifdef PART3
-       str[6]=" 4  c p";
-       print_it("des_encrypt_u4_cisc_ptr  ",6);
-       if (max < tm[6]) { max=tm[6]; max_idx=6; }
-       str[7]="16  c p";
-       print_it("des_encrypt_u16_cisc_ptr ",7);
-       if (max < tm[7]) { max=tm[7]; max_idx=7; }
-       str[8]=" 4 r1 p";
-       print_it("des_encrypt_u4_risc1_ptr ",8);
-       if (max < tm[8]) { max=tm[8]; max_idx=8; }
-#endif
-#ifdef PART4
-       str[9]="16 r1 p";
-       print_it("des_encrypt_u16_risc1_ptr",9);
-       if (max < tm[9]) { max=tm[9]; max_idx=9; }
-       str[10]=" 4 r2 p";
-       print_it("des_encrypt_u4_risc2_ptr ",10);
-       if (max < tm[10]) { max=tm[10]; max_idx=10; }
-       str[11]="16 r2 p";
-       print_it("des_encrypt_u16_risc2_ptr",11);
-       if (max < tm[11]) { max=tm[11]; max_idx=11; }
-#endif
-       printf("options    des ecb/s\n");
-       printf("%s %12.2f 100.0%%\n",str[max_idx],tm[max_idx]);
-       d=tm[max_idx];
-       tm[max_idx]= -2.0;
-       max= -1.0;
-       for (;;)
-               {
-               for (i=0; i<12; i++)
-                       {
-                       if (max < tm[i]) { max=tm[i]; j=i; }
-                       }
-               if (max < 0.0) break;
-               printf("%s %12.2f  %4.1f%%\n",str[j],tm[j],tm[j]/d*100.0);
-               tm[j]= -2.0;
-               max= -1.0;
-               }
-
-       switch (max_idx)
-               {
-       case 0:
-               printf("-DDES_DEFAULT_OPTIONS\n");
-               break;
-       case 1:
-               printf("-DDES_UNROLL\n");
-               break;
-       case 2:
-               printf("-DDES_RISC1\n");
-               break;
-       case 3:
-               printf("-DDES_UNROLL -DDES_RISC1\n");
-               break;
-       case 4:
-               printf("-DDES_RISC2\n");
-               break;
-       case 5:
-               printf("-DDES_UNROLL -DDES_RISC2\n");
-               break;
-       case 6:
-               printf("-DDES_PTR\n");
-               break;
-       case 7:
-               printf("-DDES_UNROLL -DDES_PTR\n");
-               break;
-       case 8:
-               printf("-DDES_RISC1 -DDES_PTR\n");
-               break;
-       case 9:
-               printf("-DDES_UNROLL -DDES_RISC1 -DDES_PTR\n");
-               break;
-       case 10:
-               printf("-DDES_RISC2 -DDES_PTR\n");
-               break;
-       case 11:
-               printf("-DDES_UNROLL -DDES_RISC2 -DDES_PTR\n");
-               break;
-               }
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libssl/src/crypto/des/options.txt b/lib/libssl/src/crypto/des/options.txt
deleted file mode 100644 (file)
index 6e2b50f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-Note that the UNROLL option makes the 'inner' des loop unroll all 16 rounds
-instead of the default 4.
-RISC1 and RISC2 are 2 alternatives for the inner loop and
-PTR means to use pointers arithmatic instead of arrays.
-
-FreeBSD - Pentium Pro 200mhz - gcc 2.7.2.2 - assembler         577,000 4620k/s
-IRIX 6.2 - R10000 195mhz - cc (-O3 -n32) - UNROLL RISC2 PTR    496,000 3968k/s
-solaris 2.5.1 usparc 167mhz?? - SC4.0 - UNROLL RISC1 PTR [1]   459,400 3672k/s
-FreeBSD - Pentium Pro 200mhz - gcc 2.7.2.2 - UNROLL RISC1      433,000 3468k/s
-solaris 2.5.1 usparc 167mhz?? - gcc 2.7.2 - UNROLL             380,000 3041k/s
-linux - pentium 100mhz - gcc 2.7.0 - assembler                 281,000 2250k/s
-NT 4.0 - pentium 100mhz - VC 4.2 - assembler                   281,000 2250k/s
-AIX 4.1? - PPC604 100mhz - cc - UNROLL                                 275,000 2200k/s
-IRIX 5.3 - R4400 200mhz - gcc 2.6.3 - UNROLL RISC2 PTR         235,300 1882k/s
-IRIX 5.3 - R4400 200mhz - cc - UNROLL RISC2 PTR                        233,700 1869k/s
-NT 4.0 - pentium 100mhz - VC 4.2 - UNROLL RISC1 PTR            191,000 1528k/s
-DEC Alpha 165mhz??  - cc - RISC2 PTR [2]                       181,000 1448k/s
-linux - pentium 100mhz - gcc 2.7.0 - UNROLL RISC1 PTR          158,500 1268k/s
-HPUX 10 - 9000/887 - cc - UNROLL [3]                           148,000 1190k/s
-solaris 2.5.1 - sparc 10 50mhz - gcc 2.7.2 - UNROLL            123,600  989k/s
-IRIX 5.3 - R4000 100mhz - cc - UNROLL RISC2 PTR                        101,000  808k/s
-DGUX - 88100 50mhz(?) - gcc 2.6.3 - UNROLL                      81,000  648k/s
-solaris 2.4 486 50mhz - gcc 2.6.3 - assembler                   65,000  522k/s
-HPUX 10 - 9000/887 - k&r cc (default compiler) - UNROLL PTR     76,000  608k/s
-solaris 2.4 486 50mhz - gcc 2.6.3 - UNROLL RISC2                43,500  344k/s
-AIX - old slow one :-) - cc -                                   39,000  312k/s
-
-Notes.
-[1] For the ultra sparc, SunC 4.0 
-    cc -xtarget=ultra -xarch=v8plus -Xa -xO5, running 'des_opts'
-    gives a speed of 344,000 des/s while 'speed' gives 459,000 des/s.
-    I'll record the higher since it is coming from the library but it
-    is all rather weird.
-[2] Similar to the ultra sparc ([1]), 181,000 for 'des_opts' vs 175,000.
-[3] I was unable to get access to this machine when it was not heavily loaded.
-    As such, my timing program was never able to get more that %30 of the CPU.
-    This would cause the program to give much lower speed numbers because
-    it would be 'fighting' to stay in the cache with the other CPU burning
-    processes.
diff --git a/lib/libssl/src/crypto/idea/idea_spd.c b/lib/libssl/src/crypto/idea/idea_spd.c
deleted file mode 100644 (file)
index 7905b77..0000000
+++ /dev/null
@@ -1,298 +0,0 @@
-/* crypto/idea/idea_spd.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/idea.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       IDEA_KEY_SCHEDULE sch;
-       double a,aa,b,c,d;
-#ifndef SIGALRM
-       long ca,cca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       idea_set_encrypt_key(key,&sch);
-       count=10;
-       do      {
-               long i;
-               IDEA_INT data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       idea_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/4;
-       cca=count/200;
-       cb=count;
-       cc=count*8/BUFSIZE+1;
-       printf("idea_set_encrypt_key %ld times\n",ca);
-#define COND(d)        (count <= (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing idea_set_encrypt_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               idea_set_encrypt_key(key,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea idea_set_encrypt_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_set_decrypt_key for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing idea_set_decrypt_key %ld times\n",cca);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(cca); count+=4)
-               {
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               idea_set_decrypt_key(&sch,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea idea_set_decrypt_key's in %.2f seconds\n",count,d);
-       aa=((double)COUNT(cca))/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_encrypt's for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing idea_encrypt %ld times\n",cb);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cb); count+=4)
-               {
-               unsigned long data[2];
-
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               idea_encrypt(data,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld idea_encrypt's in %.2f second\n",count,d);
-       b=((double)COUNT(cb)*8)/d;
-
-#ifdef SIGALRM
-       printf("Doing idea_cbc_encrypt on %ld byte blocks for 10 seconds\n",
-               BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing idea_cbc_encrypt %ld times on %ld byte blocks\n",cc,
-               BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               idea_cbc_encrypt(buf,buf,BUFSIZE,&sch,
-                       &(key[0]),IDEA_ENCRYPT);
-       d=Time_F(STOP);
-       printf("%ld idea_cbc_encrypt's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("IDEA set_encrypt_key per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("IDEA set_decrypt_key per sec = %12.2f (%9.3fuS)\n",aa,1.0e6/aa);
-       printf("IDEA raw ecb bytes   per sec = %12.2f (%9.3fuS)\n",b,8.0e6/b);
-       printf("IDEA cbc     bytes   per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
-
diff --git a/lib/libssl/src/crypto/idea/version b/lib/libssl/src/crypto/idea/version
deleted file mode 100644 (file)
index 3f22293..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-1.1 07/12/95 - eay
-       Many thanks to Rhys Weatherley <rweather@us.oracle.com>
-       for pointing out that I was assuming little endian byte
-       order for all quantities what idea actually used
-       bigendian.  No where in the spec does it mention
-       this, it is all in terms of 16 bit numbers and even the example
-       does not use byte streams for the input example :-(.
-       If you byte swap each pair of input, keys and iv, the functions
-       would produce the output as the old version :-(.
-
-1.0 ??/??/95 - eay
-       First version.
diff --git a/lib/libssl/src/crypto/lhash/num.pl b/lib/libssl/src/crypto/lhash/num.pl
deleted file mode 100644 (file)
index 30fedf9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/usr/local/bin/perl
-
-#node     10 ->   4
-
-while (<>)
-       {
-       next unless /^node/;
-       chop;
-       @a=split;
-       $num{$a[3]}++;
-       }
-
-@a=sort {$a <=> $b } keys %num;
-foreach (0 .. $a[$#a])
-       {
-       printf "%4d:%4d\n",$_,$num{$_};
-       }
diff --git a/lib/libssl/src/crypto/rc2/rc2speed.c b/lib/libssl/src/crypto/rc2/rc2speed.c
deleted file mode 100644 (file)
index 1c90ca3..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-/* crypto/rc2/rc2speed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/rc2.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else  /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif /* CLK_TCK */
-#endif /* HZ */
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       RC2_KEY sch;
-       double a,b,c,d;
-#ifndef SIGALRM
-       long ca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       RC2_set_key(&sch,16,key,128);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       RC2_encrypt(data,&sch);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/512;
-       cb=count;
-       cc=count*8/BUFSIZE+1;
-       printf("Doing RC2_set_key %ld times\n",ca);
-#define COND(d)        (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing RC2_set_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               RC2_set_key(&sch,16,key,128);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC2_set_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing RC2_encrypt's for 10 seconds\n");
-       alarm(10);
-#else
-       printf("Doing RC2_encrypt %ld times\n",cb);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cb); count+=4)
-               {
-               unsigned long data[2];
-
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               RC2_encrypt(data,&sch);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC2_encrypt's in %.2f second\n",count,d);
-       b=((double)COUNT(cb)*8)/d;
-
-#ifdef SIGALRM
-       printf("Doing RC2_cbc_encrypt on %ld byte blocks for 10 seconds\n",
-               BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing RC2_cbc_encrypt %ld times on %ld byte blocks\n",cc,
-               BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               RC2_cbc_encrypt(buf,buf,BUFSIZE,&sch,
-                       &(key[0]),RC2_ENCRYPT);
-       d=Time_F(STOP);
-       printf("%ld RC2_cbc_encrypt's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("RC2 set_key       per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("RC2 raw ecb bytes per sec = %12.2f (%9.3fuS)\n",b,8.0e6/b);
-       printf("RC2 cbc     bytes per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
diff --git a/lib/libssl/src/crypto/rc2/tab.c b/lib/libssl/src/crypto/rc2/tab.c
deleted file mode 100644 (file)
index 25dc14e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#include <stdio.h>
-
-unsigned char ebits_to_num[256]={
-       0xbd,0x56,0xea,0xf2,0xa2,0xf1,0xac,0x2a,
-       0xb0,0x93,0xd1,0x9c,0x1b,0x33,0xfd,0xd0,
-       0x30,0x04,0xb6,0xdc,0x7d,0xdf,0x32,0x4b,
-       0xf7,0xcb,0x45,0x9b,0x31,0xbb,0x21,0x5a,
-       0x41,0x9f,0xe1,0xd9,0x4a,0x4d,0x9e,0xda,
-       0xa0,0x68,0x2c,0xc3,0x27,0x5f,0x80,0x36,
-       0x3e,0xee,0xfb,0x95,0x1a,0xfe,0xce,0xa8,
-       0x34,0xa9,0x13,0xf0,0xa6,0x3f,0xd8,0x0c,
-       0x78,0x24,0xaf,0x23,0x52,0xc1,0x67,0x17,
-       0xf5,0x66,0x90,0xe7,0xe8,0x07,0xb8,0x60,
-       0x48,0xe6,0x1e,0x53,0xf3,0x92,0xa4,0x72,
-       0x8c,0x08,0x15,0x6e,0x86,0x00,0x84,0xfa,
-       0xf4,0x7f,0x8a,0x42,0x19,0xf6,0xdb,0xcd,
-       0x14,0x8d,0x50,0x12,0xba,0x3c,0x06,0x4e,
-       0xec,0xb3,0x35,0x11,0xa1,0x88,0x8e,0x2b,
-       0x94,0x99,0xb7,0x71,0x74,0xd3,0xe4,0xbf,
-       0x3a,0xde,0x96,0x0e,0xbc,0x0a,0xed,0x77,
-       0xfc,0x37,0x6b,0x03,0x79,0x89,0x62,0xc6,
-       0xd7,0xc0,0xd2,0x7c,0x6a,0x8b,0x22,0xa3,
-       0x5b,0x05,0x5d,0x02,0x75,0xd5,0x61,0xe3,
-       0x18,0x8f,0x55,0x51,0xad,0x1f,0x0b,0x5e,
-       0x85,0xe5,0xc2,0x57,0x63,0xca,0x3d,0x6c,
-       0xb4,0xc5,0xcc,0x70,0xb2,0x91,0x59,0x0d,
-       0x47,0x20,0xc8,0x4f,0x58,0xe0,0x01,0xe2,
-       0x16,0x38,0xc4,0x6f,0x3b,0x0f,0x65,0x46,
-       0xbe,0x7e,0x2d,0x7b,0x82,0xf9,0x40,0xb5,
-       0x1d,0x73,0xf8,0xeb,0x26,0xc7,0x87,0x97,
-       0x25,0x54,0xb1,0x28,0xaa,0x98,0x9d,0xa5,
-       0x64,0x6d,0x7a,0xd4,0x10,0x81,0x44,0xef,
-       0x49,0xd6,0xae,0x2e,0xdd,0x76,0x5c,0x2f,
-       0xa7,0x1c,0xc9,0x09,0x69,0x9a,0x83,0xcf,
-       0x29,0x39,0xb9,0xe9,0x4c,0xff,0x43,0xab,
-       };
-
-unsigned char num_to_ebits[256]={
-       0x5d,0xbe,0x9b,0x8b,0x11,0x99,0x6e,0x4d,
-       0x59,0xf3,0x85,0xa6,0x3f,0xb7,0x83,0xc5,
-       0xe4,0x73,0x6b,0x3a,0x68,0x5a,0xc0,0x47,
-       0xa0,0x64,0x34,0x0c,0xf1,0xd0,0x52,0xa5,
-       0xb9,0x1e,0x96,0x43,0x41,0xd8,0xd4,0x2c,
-       0xdb,0xf8,0x07,0x77,0x2a,0xca,0xeb,0xef,
-       0x10,0x1c,0x16,0x0d,0x38,0x72,0x2f,0x89,
-       0xc1,0xf9,0x80,0xc4,0x6d,0xae,0x30,0x3d,
-       0xce,0x20,0x63,0xfe,0xe6,0x1a,0xc7,0xb8,
-       0x50,0xe8,0x24,0x17,0xfc,0x25,0x6f,0xbb,
-       0x6a,0xa3,0x44,0x53,0xd9,0xa2,0x01,0xab,
-       0xbc,0xb6,0x1f,0x98,0xee,0x9a,0xa7,0x2d,
-       0x4f,0x9e,0x8e,0xac,0xe0,0xc6,0x49,0x46,
-       0x29,0xf4,0x94,0x8a,0xaf,0xe1,0x5b,0xc3,
-       0xb3,0x7b,0x57,0xd1,0x7c,0x9c,0xed,0x87,
-       0x40,0x8c,0xe2,0xcb,0x93,0x14,0xc9,0x61,
-       0x2e,0xe5,0xcc,0xf6,0x5e,0xa8,0x5c,0xd6,
-       0x75,0x8d,0x62,0x95,0x58,0x69,0x76,0xa1,
-       0x4a,0xb5,0x55,0x09,0x78,0x33,0x82,0xd7,
-       0xdd,0x79,0xf5,0x1b,0x0b,0xde,0x26,0x21,
-       0x28,0x74,0x04,0x97,0x56,0xdf,0x3c,0xf0,
-       0x37,0x39,0xdc,0xff,0x06,0xa4,0xea,0x42,
-       0x08,0xda,0xb4,0x71,0xb0,0xcf,0x12,0x7a,
-       0x4e,0xfa,0x6c,0x1d,0x84,0x00,0xc8,0x7f,
-       0x91,0x45,0xaa,0x2b,0xc2,0xb1,0x8f,0xd5,
-       0xba,0xf2,0xad,0x19,0xb2,0x67,0x36,0xf7,
-       0x0f,0x0a,0x92,0x7d,0xe3,0x9d,0xe9,0x90,
-       0x3e,0x23,0x27,0x66,0x13,0xec,0x81,0x15,
-       0xbd,0x22,0xbf,0x9f,0x7e,0xa9,0x51,0x4b,
-       0x4c,0xfb,0x02,0xd3,0x70,0x86,0x31,0xe7,
-       0x3b,0x05,0x03,0x54,0x60,0x48,0x65,0x18,
-       0xd2,0xcd,0x5f,0x32,0x88,0x0e,0x35,0xfd,
-       };
-       
-main()
-       {
-       int i,j;
-
-       for (i=0; i<256; i++)
-               {
-               for (j=0; j<256; j++)
-                       if (ebits_to_num[j] == i)
-                               {
-                               printf("0x%02x,",j);
-                               break;
-                               }
-               }
-       }
diff --git a/lib/libssl/src/crypto/rc4/rc4.c b/lib/libssl/src/crypto/rc4/rc4.c
deleted file mode 100644 (file)
index c900b26..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/* crypto/rc4/rc4.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <openssl/rc4.h>
-#include <openssl/evp.h>
-
-char *usage[]={
-"usage: rc4 args\n",
-"\n",
-" -in arg         - input file - default stdin\n",
-" -out arg        - output file - default stdout\n",
-" -key key        - password\n",
-NULL
-};
-
-int main(int argc, char *argv[])
-       {
-       FILE *in=NULL,*out=NULL;
-       char *infile=NULL,*outfile=NULL,*keystr=NULL;
-       RC4_KEY key;
-       char buf[BUFSIZ];
-       int badops=0,i;
-       char **pp;
-       unsigned char md[MD5_DIGEST_LENGTH];
-
-       argc--;
-       argv++;
-       while (argc >= 1)
-               {
-               if      (strcmp(*argv,"-in") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       infile= *(++argv);
-                       }
-               else if (strcmp(*argv,"-out") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       outfile= *(++argv);
-                       }
-               else if (strcmp(*argv,"-key") == 0)
-                       {
-                       if (--argc < 1) goto bad;
-                       keystr= *(++argv);
-                       }
-               else
-                       {
-                       fprintf(stderr,"unknown option %s\n",*argv);
-                       badops=1;
-                       break;
-                       }
-               argc--;
-               argv++;
-               }
-
-       if (badops)
-               {
-bad:
-               for (pp=usage; (*pp != NULL); pp++)
-                       fprintf(stderr,"%s",*pp);
-               exit(1);
-               }
-
-       if (infile == NULL)
-               in=stdin;
-       else
-               {
-               in=fopen(infile,"r");
-               if (in == NULL)
-                       {
-                       perror("open");
-                       exit(1);
-                       }
-
-               }
-       if (outfile == NULL)
-               out=stdout;
-       else
-               {
-               out=fopen(outfile,"w");
-               if (out == NULL)
-                       {
-                       perror("open");
-                       exit(1);
-                       }
-               }
-               
-#ifdef OPENSSL_SYS_MSDOS
-       /* This should set the file to binary mode. */
-       {
-#include <fcntl.h>
-       setmode(fileno(in),O_BINARY);
-       setmode(fileno(out),O_BINARY);
-       }
-#endif
-
-       if (keystr == NULL)
-               { /* get key */
-               i=EVP_read_pw_string(buf,BUFSIZ,"Enter RC4 password:",0);
-               if (i != 0)
-                       {
-                       OPENSSL_cleanse(buf,BUFSIZ);
-                       fprintf(stderr,"bad password read\n");
-                       exit(1);
-                       }
-               keystr=buf;
-               }
-
-       EVP_Digest((unsigned char *)keystr,strlen(keystr),md,NULL,EVP_md5(),NULL);
-       OPENSSL_cleanse(keystr,strlen(keystr));
-       RC4_set_key(&key,MD5_DIGEST_LENGTH,md);
-       
-       for(;;)
-               {
-               i=fread(buf,1,BUFSIZ,in);
-               if (i == 0) break;
-               if (i < 0)
-                       {
-                       perror("read");
-                       exit(1);
-                       }
-               RC4(&key,(unsigned int)i,(unsigned char *)buf,
-                       (unsigned char *)buf);
-               i=fwrite(buf,(unsigned int)i,1,out);
-               if (i != 1)
-                       {
-                       perror("write");
-                       exit(1);
-                       }
-               }
-       fclose(out);
-       fclose(in);
-       exit(0);
-       return(1);
-       }
-
diff --git a/lib/libssl/src/crypto/rc4/rc4speed.c b/lib/libssl/src/crypto/rc4/rc4speed.c
deleted file mode 100644 (file)
index a495a73..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-/* crypto/rc4/rc4speed.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-/* 11-Sep-92 Andrew Daviel   Support for Silicon Graphics IRIX added */
-/* 06-Apr-92 Luke Brennan    Support for VMS and add extra signal calls */
-
-#if !defined(OPENSSL_SYS_MSDOS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) && !defined(OPENSSL_SYS_MACOSX)
-#define TIMES
-#endif
-
-#include <stdio.h>
-
-#include <openssl/e_os2.h>
-#include <unistd.h>
-
-#ifndef OPENSSL_SYS_NETWARE
-#include <signal.h>
-#endif
-
-#ifndef _IRIX
-#include <time.h>
-#endif
-#ifdef TIMES
-#include <sys/types.h>
-#include <sys/times.h>
-#endif
-
-/* Depending on the VMS version, the tms structure is perhaps defined.
-   The __TMS macro will show if it was.  If it wasn't defined, we should
-   undefine TIMES, since that tells the rest of the program how things
-   should be handled.                          -- Richard Levitte */
-#if defined(OPENSSL_SYS_VMS_DECC) && !defined(__TMS)
-#undef TIMES
-#endif
-
-#ifndef TIMES
-#include <sys/timeb.h>
-#endif
-
-#if defined(sun) || defined(__ultrix)
-#define _POSIX_SOURCE
-#include <limits.h>
-#include <sys/param.h>
-#endif
-
-#include <openssl/rc4.h>
-
-/* The following if from times(3) man page.  It may need to be changed */
-#ifndef HZ
-#ifndef CLK_TCK
-#define HZ     100.0
-#else /* CLK_TCK */
-#define HZ ((double)CLK_TCK)
-#endif
-#endif
-
-#define BUFSIZE        ((long)1024)
-long run=0;
-
-double Time_F(int s);
-#ifdef SIGALRM
-#if defined(__STDC__) || defined(sgi) || defined(_AIX)
-#define SIGRETTYPE void
-#else
-#define SIGRETTYPE int
-#endif
-
-SIGRETTYPE sig_done(int sig);
-SIGRETTYPE sig_done(int sig)
-       {
-       signal(SIGALRM,sig_done);
-       run=0;
-#ifdef LINT
-       sig=sig;
-#endif
-       }
-#endif
-
-#define START  0
-#define STOP   1
-
-double Time_F(int s)
-       {
-       double ret;
-#ifdef TIMES
-       static struct tms tstart,tend;
-
-       if (s == START)
-               {
-               times(&tstart);
-               return(0);
-               }
-       else
-               {
-               times(&tend);
-               ret=((double)(tend.tms_utime-tstart.tms_utime))/HZ;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#else /* !times() */
-       static struct timeb tstart,tend;
-       long i;
-
-       if (s == START)
-               {
-               ftime(&tstart);
-               return(0);
-               }
-       else
-               {
-               ftime(&tend);
-               i=(long)tend.millitm-(long)tstart.millitm;
-               ret=((double)(tend.time-tstart.time))+((double)i)/1e3;
-               return((ret == 0.0)?1e-6:ret);
-               }
-#endif
-       }
-
-int main(int argc, char **argv)
-       {
-       long count;
-       static unsigned char buf[BUFSIZE];
-       static unsigned char key[] ={
-                       0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,
-                       0xfe,0xdc,0xba,0x98,0x76,0x54,0x32,0x10,
-                       };
-       RC4_KEY sch;
-       double a,b,c,d;
-#ifndef SIGALRM
-       long ca,cb,cc;
-#endif
-
-#ifndef TIMES
-       printf("To get the most accurate results, try to run this\n");
-       printf("program when this computer is idle.\n");
-#endif
-
-#ifndef SIGALRM
-       printf("First we calculate the approximate speed ...\n");
-       RC4_set_key(&sch,16,key);
-       count=10;
-       do      {
-               long i;
-               unsigned long data[2];
-
-               count*=2;
-               Time_F(START);
-               for (i=count; i; i--)
-                       RC4(&sch,8,buf,buf);
-               d=Time_F(STOP);
-               } while (d < 3.0);
-       ca=count/512;
-       cc=count*8/BUFSIZE+1;
-       printf("Doing RC4_set_key %ld times\n",ca);
-#define COND(d)        (count != (d))
-#define COUNT(d) (d)
-#else
-#define COND(c)        (run)
-#define COUNT(d) (count)
-       signal(SIGALRM,sig_done);
-       printf("Doing RC4_set_key for 10 seconds\n");
-       alarm(10);
-#endif
-
-       Time_F(START);
-       for (count=0,run=1; COND(ca); count+=4)
-               {
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               RC4_set_key(&sch,16,key);
-               }
-       d=Time_F(STOP);
-       printf("%ld RC4_set_key's in %.2f seconds\n",count,d);
-       a=((double)COUNT(ca))/d;
-
-#ifdef SIGALRM
-       printf("Doing RC4 on %ld byte blocks for 10 seconds\n",BUFSIZE);
-       alarm(10);
-#else
-       printf("Doing RC4 %ld times on %ld byte blocks\n",cc,BUFSIZE);
-#endif
-       Time_F(START);
-       for (count=0,run=1; COND(cc); count++)
-               RC4(&sch,BUFSIZE,buf,buf);
-       d=Time_F(STOP);
-       printf("%ld RC4's of %ld byte blocks in %.2f second\n",
-               count,BUFSIZE,d);
-       c=((double)COUNT(cc)*BUFSIZE)/d;
-
-       printf("RC4 set_key per sec = %12.2f (%9.3fuS)\n",a,1.0e6/a);
-       printf("RC4   bytes per sec = %12.2f (%9.3fuS)\n",c,8.0e6/c);
-       exit(0);
-#if defined(LINT) || defined(OPENSSL_SYS_MSDOS)
-       return(0);
-#endif
-       }
-
diff --git a/lib/libssl/src/crypto/sha/sha.c b/lib/libssl/src/crypto/sha/sha.c
deleted file mode 100644 (file)
index 4212655..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/* crypto/sha/sha.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <openssl/sha.h>
-
-#define BUFSIZE        1024*16
-
-void do_fp(FILE *f);
-void pt(unsigned char *md);
-int read(int, void *, unsigned int);
-int main(int argc, char **argv)
-       {
-       int i,err=0;
-       FILE *IN;
-
-       if (argc == 1)
-               {
-               do_fp(stdin);
-               }
-       else
-               {
-               for (i=1; i<argc; i++)
-                       {
-                       IN=fopen(argv[i],"r");
-                       if (IN == NULL)
-                               {
-                               perror(argv[i]);
-                               err++;
-                               continue;
-                               }
-                       printf("SHA(%s)= ",argv[i]);
-                       do_fp(IN);
-                       fclose(IN);
-                       }
-               }
-       exit(err);
-       }
-
-void do_fp(FILE *f)
-       {
-       SHA_CTX c;
-       unsigned char md[SHA_DIGEST_LENGTH];
-       int fd;
-       int i;
-       unsigned char buf[BUFSIZE];
-
-       fd=fileno(f);
-       SHA_Init(&c);
-       for (;;)
-               {
-               i=read(fd,buf,BUFSIZE);
-               if (i <= 0) break;
-               SHA_Update(&c,buf,(unsigned long)i);
-               }
-       SHA_Final(&(md[0]),&c);
-       pt(md);
-       }
-
-void pt(unsigned char *md)
-       {
-       int i;
-
-       for (i=0; i<SHA_DIGEST_LENGTH; i++)
-               printf("%02x",md[i]);
-       printf("\n");
-       }
-
diff --git a/lib/libssl/src/crypto/sha/sha1.c b/lib/libssl/src/crypto/sha/sha1.c
deleted file mode 100644 (file)
index fd56a1e..0000000
+++ /dev/null
@@ -1,125 +0,0 @@
-/* crypto/sha/sha1.c */
-/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
- * All rights reserved.
- *
- * This package is an SSL implementation written
- * by Eric Young (eay@cryptsoft.com).
- * The implementation was written so as to conform with Netscapes SSL.
- * 
- * This library is free for commercial and non-commercial use as long as
- * the following conditions are aheared to.  The following conditions
- * apply to all code found in this distribution, be it the RC4, RSA,
- * lhash, DES, etc., code; not just the SSL code.  The SSL documentation
- * included with this distribution is covered by the same copyright terms
- * except that the holder is Tim Hudson (tjh@cryptsoft.com).
- * 
- * Copyright remains Eric Young's, and as such any Copyright notices in
- * the code are not to be removed.
- * If this package is used in a product, Eric Young should be given attribution
- * as the author of the parts of the library used.
- * This can be in the form of a textual message at program startup or
- * in documentation (online or textual) provided with the package.
- * 
- * 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 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. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *    "This product includes cryptographic software written by
- *     Eric Young (eay@cryptsoft.com)"
- *    The word 'cryptographic' can be left out if the rouines from the library
- *    being used are not cryptographic related :-).
- * 4. If you include any Windows specific code (or a derivative thereof) from 
- *    the apps directory (application code) you must include an acknowledgement:
- *    "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
- * 
- * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS 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.
- * 
- * The licence and distribution terms for any publically available version or
- * derivative of this code cannot be changed.  i.e. this code cannot simply be
- * copied and put under another distribution licence
- * [including the GNU Public Licence.]
- */
-
-#include <unistd.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <openssl/sha.h>
-
-#define BUFSIZE        1024*16
-
-void do_fp(FILE *f);
-void pt(unsigned char *md);
-
-int main(int argc, char **argv)
-       {
-       int i,err=0;
-       FILE *IN;
-
-       if (argc == 1)
-               {
-               do_fp(stdin);
-               }
-       else
-               {
-               for (i=1; i<argc; i++)
-                       {
-                       IN=fopen(argv[i],"r");
-                       if (IN == NULL)
-                               {
-                               perror(argv[i]);
-                               err++;
-                               continue;
-                               }
-                       printf("SHA1(%s)= ",argv[i]);
-                       do_fp(IN);
-                       fclose(IN);
-                       }
-               }
-       exit(err);
-       }
-
-void do_fp(FILE *f)
-       {
-       SHA_CTX c;
-       unsigned char md[SHA_DIGEST_LENGTH];
-       int fd;
-       int i;
-       unsigned char buf[BUFSIZE];
-
-       fd=fileno(f);
-       SHA1_Init(&c);
-       for (;;)
-               {
-               i=read(fd,buf,BUFSIZE);
-               if (i <= 0) break;
-               SHA1_Update(&c,buf,(unsigned long)i);
-               }
-       SHA1_Final(&(md[0]),&c);
-       pt(md);
-       }
-
-void pt(unsigned char *md)
-       {
-       int i;
-
-       for (i=0; i<SHA_DIGEST_LENGTH; i++)
-               printf("%02x",md[i]);
-       printf("\n");
-       }
-