Make the no-err option work properly
authorRichard Levitte <levitte@openssl.org>
Tue, 18 Feb 2003 12:14:57 +0000 (12:14 +0000)
committerRichard Levitte <levitte@openssl.org>
Tue, 18 Feb 2003 12:14:57 +0000 (12:14 +0000)
CHANGES
Configure
crypto/err/err.c

diff --git a/CHANGES b/CHANGES
index aab19157d64b02bd9d6dfd591bbbd74d2d1b228d..6c07f912480faa64fd5ee40c23cacd5bd3a1d38a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -436,6 +436,17 @@ TODO: bug: pad  x  with leading zeros if necessary
 
  Changes between 0.9.7 and 0.9.7a  [XX xxx 2003]
 
+  *) Make the no-err option work as intended.  The intention with no-err
+     is not to have the whole error stack handling routines removed from
+     libcrypto, it's only intended to remove all the function name and
+     reason texts, thereby removing some of the footprint that may not
+     be interesting if those errors aren't displayed anyway.
+
+     NOTE: it's still possible for any application or module to have it's
+     own set of error texts inserted.  The routines are there, just not
+     used by default when no-err is given.
+     [Richard Levitte]
+
   *) Add support for FreeBSD on IA64.
      [dirk.meyer@dinoex.sub.org via Richard Levitte, resolves #454]
 
index ba190776d65d64b588499e06c9fa0ba7341a7c14..78ad1d8a871c6185ed326fd0d897e8cb20bbf305 100755 (executable)
--- a/Configure
+++ b/Configure
@@ -692,6 +692,11 @@ PROCESS_ARGS:
                        $flags .= "-DOPENSSL_NO_ASM ";
                        $openssl_other_defines .= "#define OPENSSL_NO_ASM\n";
                        }
+               elsif (/^no-err$/)
+                       {
+                       $flags .= "-DOPENSSL_NO_ERR ";
+                       $openssl_other_defines .= "#define OPENSSL_NO_ERR\n";
+                       }
                elsif (/^no-hw-(.+)$/)
                        {
                        my $hw=$1;
index 85ff9a52ddcb78635412394ecb1a43ecfffda848..1f943c82a006a65459b9ec8a89ac243139531880 100644 (file)
@@ -212,6 +212,7 @@ static ERR_STRING_DATA ERR_str_reasons[]=
 
 {0,NULL},
        };
+#endif
 
 
 /* Define the predeclared (but externally opaque) "ERR_FNS" type */
@@ -492,6 +493,7 @@ static int int_err_get_next_lib(void)
        }
 
 
+#ifndef OPENSSL_NO_ERR
 #define NUM_SYS_STR_REASONS 127
 #define LEN_SYS_STR_REASON 32