New make target "report" to run util/selftest.pl
authorUlf Möller <ulf@openssl.org>
Wed, 23 Feb 2000 23:47:05 +0000 (23:47 +0000)
committerUlf Möller <ulf@openssl.org>
Wed, 23 Feb 2000 23:47:05 +0000 (23:47 +0000)
Makefile.org
README
util/selftest.pl

index 55213dd..61f9302 100644 (file)
@@ -272,6 +272,9 @@ tests: rehash
        $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests );
        @apps/openssl version -a
 
+report:
+       @$(PERL) util/selftest.pl
+
 depend:
        @for i in $(DIRS) ;\
        do \
diff --git a/README b/README
index 62979ce..b764721 100644 (file)
--- a/README
+++ b/README
         A Configuration loader that uses a format similar to MS .ini files.
 
  openssl: 
-     A command line tool which provides the following functions:
-
-     enc     - a general encryption program that can encrypt/decrypt using
-               one of 17 different cipher/mode combinations.  The
-               input/output can also be converted to/from base64
-               ascii encoding.
-     dgst    - a generate message digesting program that will generate
-               message digests for any of md2, md5, sha (sha-0 or sha-1)
-               or mdc2.
-     asn1parse - parse and display the structure of an asn1 encoded
-               binary file.
-     rsa     - Manipulate RSA private keys.
-     dsa     - Manipulate DSA private keys.
-     dh      - Manipulate Diffie-Hellman parameter files.
-     dsaparam- Manipulate and generate DSA parameter files.
-     crl     - Manipulate certificate revocation lists.
-     crt2pkcs7- Generate a pkcs7 object containing a crl and a certificate.
-     x509    - Manipulate x509 certificates, self-sign certificates.
-     req     - Manipulate PKCS#10 certificate requests and also
-               generate certificate requests.
-     genrsa  - Generates an arbitrary sized RSA private key.
-     gendsa  - Generates DSA parameters.
-     gendh   - Generates a set of Diffie-Hellman parameters, the prime
-               will be a strong prime.
-     ca      - Create certificates from PKCS#10 certificate requests.
-               This program also maintains a database of certificates
-               issued.
-     verify  - Check x509 certificate signatures.
-     speed   - Benchmark OpenSSL's ciphers.
-     s_server- A test SSL server.
-     s_client- A test SSL client.
-     s_time  - Benchmark SSL performance of SSL server programs.
-     errstr  - Convert from OpenSSL hex error codes to a readable form.
-     nseq    - Netscape certificate sequence utility
+     A command line tool that can be used for:
+        Creation of RSA, DH and DSA key parameters
+        Creation of X.509 certificates, CSRs and CRLs 
+        Calculation of Message Digests
+        Encryption and Decryption with Ciphers
+        SSL/TLS Client and Server Tests
+        Handling of S/MIME signed or encrypted mail
+
         
  PATENTS
  -------
  If you have any problems with OpenSSL then please take the following steps
  first:
 
+    - Download the current snapshot from ftp://ftp.openssl.org/snapshot/
+      to see if the problem has already been addressed
     - Remove ASM versions of libraries
     - Remove compiler optimisation flags 
-    - Add compiler debug flags (if using gcc then remove -fomit-frame-pointer
-      before you try to debug things)
 
  If you wish to report a bug then please include the following information in
  any bug report:
 
-    OpenSSL Details
-    - Version, most of these details can be got from the
-      'openssl version -a' command.
-    Operating System Details
-    - On Unix systems: Output of './config -t'
-    - OS Name, Version
-    - Hardware platform
-    Compiler Details
-    - Name
-    - Version
-    Application Details 
-    - Name 
-    - Version 
-    Problem Description
-    - include steps that will reproduce the problem (if known)
-    Stack Traceback (if the application dumps core)
+    - On Unix systems:
+        Self-test report generated by 'make report'
+    - On other systems:
+        OpenSSL version: output of 'openssl version -a'
+        OS Name, Version, Hardware platform
+        Compiler Details (name, version)
+    - Application Details (name, version)
+    - Problem Description (steps that will reproduce the problem, if known)
+    - Stack Traceback (if the application dumps core)
 
  Report the bug to the OpenSSL project at:
 
 
  Note that mail to openssl-bugs@openssl.org is forwarded to a public
  mailing list. Confidential mail may be sent to openssl-security@openssl.org
- (PGP key available from the key servers.)
+ (PGP key available from the key servers).
 
  HOW TO CONTRIBUTE TO OpenSSL
  ----------------------------
index 0849737..ac46c68 100644 (file)
@@ -17,6 +17,7 @@ my $options="??";
 my $last="??";
 my $ok=0;
 my $cc="cc";
+my $cversion="??";
 my $sep="-----------------------------------------------------------------------------\n";
 
 open(OUT,">$report") or die;
@@ -38,13 +39,19 @@ if (open(IN,"<Makefile.ssl")) {
        $version=$1 if (/^VERSION=(.*)$/);
        $platform=$1 if (/^PLATFORM=(.*)$/);
        $options=$1 if (/^OPTIONS=(.*)$/);
-       $cc=$1 if (/^CC=(.*)$/);
+       $cc=$1 if (/^CC= *(.*)$/);
     }
     close(IN);
 } else {
-    print OUT "Error running config: no Makefile.ssl!\n";
+    print OUT "Error running config!\n";
 }
 
+$cversion=`$cc -v 2>&1`;
+$cversion=`$cc -V 2>&1` if $cversion =~ "usage";
+$cversion =~ s/Reading specs.*\n//;
+$cversion =~ s/usage.*\n//;
+chomp $cversion;
+
 if (open(IN,"<CHANGES")) {
     while(<IN>) {
        if (/\*\) (.{0,55})/) {
@@ -61,8 +68,11 @@ print OUT "OS (uname):       $uname";
 print OUT "OS (config):      $os\n";
 print OUT "Target (default): $platform0\n";
 print OUT "Target:           $platform\n";
+print OUT "Compiler:         $cversion\n";
 print OUT "\n";
 
+goto err;
+
 print "Checking compiler...\n";
 if (open(TEST,">test.c")) {
     print TEST "#include <stdio.h>\nmain(){printf(\"Hello world\\n\");}\n";
@@ -149,3 +159,4 @@ while (<IN>) {
     print;
 }
 print "Test report in file $report\n";
+