Bodo Möller [Thu, 8 Mar 2001 11:18:06 +0000 (11:18 +0000)]
Let EC_POINT_copy do nothing if dest==src
Bodo Möller [Thu, 8 Mar 2001 11:16:33 +0000 (11:16 +0000)]
More 'TODO' items.
Bodo Möller [Thu, 8 Mar 2001 01:23:28 +0000 (01:23 +0000)]
More method functions for EC_GFp_simple_method.
Bodo Möller [Wed, 7 Mar 2001 20:56:48 +0000 (20:56 +0000)]
More method functions.
Bodo Möller [Wed, 7 Mar 2001 19:54:35 +0000 (19:54 +0000)]
Some actual method functions (not enough yet to use the EC library, though),
including EC arithmetics derived from Lenka Fibikova's code (with some
additional optimizations).
Richard Levitte [Wed, 7 Mar 2001 10:04:00 +0000 (10:04 +0000)]
Code for better build under Darwin (MacOS X).
Submitted by Brad Dominy <jdominy@darwinuser.org>
Bodo Möller [Wed, 7 Mar 2001 09:53:41 +0000 (09:53 +0000)]
..._init functions are method-specific too
(they can't do much useful, but they will have to set pointers
to NULL)
Bodo Möller [Wed, 7 Mar 2001 09:48:38 +0000 (09:48 +0000)]
Optimized EC_METHODs need specific 'set_curve' and 'free' functions.
Bodo Möller [Wed, 7 Mar 2001 09:29:45 +0000 (09:29 +0000)]
The next bunch of vaporware.
Bodo Möller [Wed, 7 Mar 2001 09:03:32 +0000 (09:03 +0000)]
extra_data 'mixin'.
(This will be used for Lim/Lee precomputation data.)
Bodo Möller [Wed, 7 Mar 2001 01:41:20 +0000 (01:41 +0000)]
Oops ...
Bodo Möller [Wed, 7 Mar 2001 01:37:54 +0000 (01:37 +0000)]
In clear_free, clear the complete structure just in case
the method misses something.
Bodo Möller [Wed, 7 Mar 2001 01:19:07 +0000 (01:19 +0000)]
Fix ERR_R_... problems.
Bodo Möller [Wed, 7 Mar 2001 01:17:05 +0000 (01:17 +0000)]
Implement dispatcher for EC_GROUP and EC_POINT method functions.
Initial EC_GROUP_new_curve_GFp implementation.
Bodo Möller [Tue, 6 Mar 2001 22:30:03 +0000 (22:30 +0000)]
Add a few 'const's
Ulf Möller [Tue, 6 Mar 2001 15:36:24 +0000 (15:36 +0000)]
Forgot a '$'.
Bodo Möller [Tue, 6 Mar 2001 08:58:38 +0000 (08:58 +0000)]
Change obj_... generation so that it does not generate rubbish or
abort with errors if no name is defined for some object, which was the
case for 'pilotAttributeType 27'.
Also avoid this very situation by assigning the name
'pilotAttributeType27'.
Bodo Möller [Tue, 6 Mar 2001 08:55:33 +0000 (08:55 +0000)]
'is_at_infinity' tests don't need a BN_CTX.
Bodo Möller [Tue, 6 Mar 2001 07:01:51 +0000 (07:01 +0000)]
New function declarations.
Bodo Möller [Tue, 6 Mar 2001 06:20:20 +0000 (06:20 +0000)]
Add BN_CTX arguments where appropriate.
Rename 'EC_GROUP_set'-related functions to names similar to 'EC_GROUP_set_curve'
because they don't care about the generator.
Add new functions.
Ulf Möller [Tue, 6 Mar 2001 03:26:38 +0000 (03:26 +0000)]
DEC
Bodo Möller [Mon, 5 Mar 2001 22:29:57 +0000 (22:29 +0000)]
Add EC_GROUP_new_GFp prototype.
Bodo Möller [Mon, 5 Mar 2001 21:59:03 +0000 (21:59 +0000)]
Change comments.
Bodo Möller [Mon, 5 Mar 2001 21:54:39 +0000 (21:54 +0000)]
Some declarations that outline what I intend to implement.
Richard Levitte [Mon, 5 Mar 2001 21:17:08 +0000 (21:17 +0000)]
Update the VMS build scripts for EC
Bodo Möller [Mon, 5 Mar 2001 20:32:41 +0000 (20:32 +0000)]
Another file I had forgotten to add.
Bodo Möller [Mon, 5 Mar 2001 20:31:49 +0000 (20:31 +0000)]
Add yet another (still empty) source code file that I forgot.
Bodo Möller [Mon, 5 Mar 2001 20:14:00 +0000 (20:14 +0000)]
Add more EC vaporware (empty source code files I missed in my
previous commit).
Bodo Möller [Mon, 5 Mar 2001 20:13:37 +0000 (20:13 +0000)]
Move ec.h to ec2.h because it is not compatible with what we will use.
Add EC vaporware: change relevant Makefiles and add some empty source
files.
"make update".
Richard Levitte [Mon, 5 Mar 2001 13:59:52 +0000 (13:59 +0000)]
Document the SSLv2 session reuse fix.
Richard Levitte [Mon, 5 Mar 2001 13:45:34 +0000 (13:45 +0000)]
Add the possibility for option macros and start using it to indicate
for Windows compilations if DLL linkage is required or not.
Bodo Möller [Mon, 5 Mar 2001 11:09:43 +0000 (11:09 +0000)]
New option '-subj arg' for 'openssl req' and 'openssl ca'. This
sets the subject name for a new request or supersedes the
subject name in a given request.
Add options '-batch' and '-verbose' to 'openssl req'.
Submitted by: Massimiliano Pala <madwolf@hackmasters.net>
Reviewed by: Bodo Moeller
Bodo Möller [Sun, 4 Mar 2001 01:33:55 +0000 (01:33 +0000)]
increase emailAddress_max
Bodo Möller [Sat, 3 Mar 2001 15:31:34 +0000 (15:31 +0000)]
EC_set_half and the 'h' component of struct bn_ec_struct are unnecessary.
The computations for which h was used can be done more efficiently
by using BN_rshift1.
Richard Levitte [Fri, 2 Mar 2001 12:17:57 +0000 (12:17 +0000)]
For SSLv2, return the SSLv2 method, not the SSLv23 method. This way,
it's possible to reuse an SSLv2 session.
Richard Levitte [Fri, 2 Mar 2001 12:14:54 +0000 (12:14 +0000)]
Sort platforms lexicographically as well. Also, support more than two
variants of a symbol.
Richard Levitte [Fri, 2 Mar 2001 10:57:54 +0000 (10:57 +0000)]
Spelling corrected.
Richard Levitte [Fri, 2 Mar 2001 10:38:19 +0000 (10:38 +0000)]
Introduce the possibility to access global variables through
functions on platform were that's the best way to handle exporting
global variables in shared libraries. To enable this functionality,
one must configure with "EXPORT_VAR_AS_FN" or defined the C macro
"OPENSSL_EXPORT_VAR_AS_FUNCTION" in crypto/opensslconf.h (the latter
is normally done by Configure or something similar).
To implement a global variable, use the macro OPENSSL_IMPLEMENT_GLOBAL
in the source file (foo.c) like this:
OPENSSL_IMPLEMENT_GLOBAL(int,foo)=1;
OPENSSL_IMPLEMENT_GLOBAL(double,bar);
To declare a global variable, use the macros OPENSSL_DECLARE_GLOBAL
and OPENSSL_GLOBAL_REF in the header file (foo.h) like this:
OPENSSL_DECLARE_GLOBAL(int,foo);
#define foo OPENSSL_GLOBAL_REF(foo)
OPENSSL_DECLARE_GLOBAL(double,bar);
#define bar OPENSSL_GLOBAL_REF(bar)
The #defines are very important, and therefore so is including the
header file everywere where the defined globals are used.
The macro OPENSSL_EXPORT_VAR_AS_FUNCTION also affects the definition
of ASN.1 items, but that structure is a bt different.
The largest change is in util/mkdef.pl which has been enhanced with
better and easier to understand logic to choose which symbols should
go into the Windows .def files as well as a number of fixes and code
cleanup (among others, algorithm keywords are now sorted
lexicographically to avoid constant rewrites).
Lutz Jänicke [Thu, 1 Mar 2001 16:50:11 +0000 (16:50 +0000)]
Typo, spotted by "Greg Stark" <gstark@ethentica.com>.
Dr. Stephen Henson [Thu, 1 Mar 2001 13:32:11 +0000 (13:32 +0000)]
Fix bug in copy_email() which would not
find emailAddress at start of subject name.
Dr. Stephen Henson [Wed, 28 Feb 2001 00:51:48 +0000 (00:51 +0000)]
Fix a bug which caused BN_div to produce the
wrong result if rm==num and num < 0.
Ulf Möller [Tue, 27 Feb 2001 23:59:18 +0000 (23:59 +0000)]
%f conversion bug fix
Submitted by: Henrik Eriksson <henrik.eriksson@axis.com>
Ulf Möller [Tue, 27 Feb 2001 21:10:21 +0000 (21:10 +0000)]
don't read from tty in test mode
Ulf Möller [Tue, 27 Feb 2001 21:05:55 +0000 (21:05 +0000)]
run self-test with no-krb5
Richard Levitte [Tue, 27 Feb 2001 08:14:32 +0000 (08:14 +0000)]
MacOSX doesn't have ftime().
Spotted by Pieter Bowman <bowman@math.utah.edu>
Dr. Stephen Henson [Mon, 26 Feb 2001 23:34:14 +0000 (23:34 +0000)]
Typo in comment.
Dr. Stephen Henson [Mon, 26 Feb 2001 14:17:58 +0000 (14:17 +0000)]
Enhance OCSP_request_verify() so it finds the signers certificate
properly and supports several flags.
Richard Levitte [Mon, 26 Feb 2001 10:54:08 +0000 (10:54 +0000)]
make update
Note that all *_it variables are suddenly non-existant according to
libeay.num. This is a bug that will be corrected. Please be patient.
Richard Levitte [Mon, 26 Feb 2001 10:27:41 +0000 (10:27 +0000)]
Add the CCITT pilot directory OIDs.
Dr. Stephen Henson [Sun, 25 Feb 2001 14:11:31 +0000 (14:11 +0000)]
Trap an invalid ASN1_ITEM construction and print out
the errant field for more ASN1 error conditions.
Dr. Stephen Henson [Sat, 24 Feb 2001 13:50:06 +0000 (13:50 +0000)]
New function and options to check OCSP response validity.
Dr. Stephen Henson [Sat, 24 Feb 2001 01:42:21 +0000 (01:42 +0000)]
Print out OID of unknown signature or public key
algorithms.
Dr. Stephen Henson [Sat, 24 Feb 2001 01:38:56 +0000 (01:38 +0000)]
Stop PKCS7_verify() core dumping with unknown public
key algorithms and leaking if the signature verify
fails.
Lutz Jänicke [Fri, 23 Feb 2001 21:38:42 +0000 (21:38 +0000)]
Describe new callback for session id generation.
Lutz Jänicke [Fri, 23 Feb 2001 21:05:56 +0000 (21:05 +0000)]
SSL_get_version() was an easy one :-)
Ulf Möller [Fri, 23 Feb 2001 18:22:58 +0000 (18:22 +0000)]
That statement seems to be not true. In fact, I have said that I would
like to use libtool, but not automake.
Let's investigate that further, or leave the question open for now.
Ulf Möller [Fri, 23 Feb 2001 18:00:06 +0000 (18:00 +0000)]
autoconf would be useful...
Dr. Stephen Henson [Fri, 23 Feb 2001 13:04:24 +0000 (13:04 +0000)]
Make OCSP cert id code tolerate a missing issuer certificate
or serial number.
Dr. Stephen Henson [Fri, 23 Feb 2001 13:02:56 +0000 (13:02 +0000)]
Oops, forgot CHANGES entry for ASN1_ITEM_FUNCTIONS.
Dr. Stephen Henson [Fri, 23 Feb 2001 12:47:06 +0000 (12:47 +0000)]
Get rid of ASN1_ITEM_FUNCTIONS dummy function
prototype hack. This unfortunately means that
every ASN1_*_END construct cannot have a
trailing ;
Richard Levitte [Fri, 23 Feb 2001 11:57:35 +0000 (11:57 +0000)]
make depend.
Dr. Stephen Henson [Fri, 23 Feb 2001 03:16:09 +0000 (03:16 +0000)]
Initial support for ASN1_ITEM_FUNCTION option to
change the way ASN1 modules are exported.
Still needs a bit of work for example the hack which a
dummy function prototype to avoid compilers warning about
multiple ;s.
Geoff Thorpe [Fri, 23 Feb 2001 00:09:50 +0000 (00:09 +0000)]
I missed one.
Geoff Thorpe [Fri, 23 Feb 2001 00:02:56 +0000 (00:02 +0000)]
Fix an oversight - when checking a potential session ID for conflicts with
an SSL_CTX's session cache, it is necessary to compare the ssl_version at
the same time (a conflict is defined, courtesy of SSL_SESSION_cmp(), as a
matching id/id_length pair and a matching ssl_version). However, the
SSL_SESSION that will result from the current negotiation does not
necessarily have the same ssl version as the "SSL_METHOD" in use by the
SSL_CTX - part of the work in a handshake is to agree on an ssl version!
This is fixed by having the check function accept an SSL pointer rather
than the SSL_CTX it belongs to.
[Thanks to Lutz for illuminating the full extent of my stupidity]
Richard Levitte [Thu, 22 Feb 2001 18:03:30 +0000 (18:03 +0000)]
Define the right macro for Linux and other GNU-based systems to get a correct declaration of strdup()
Richard Levitte [Thu, 22 Feb 2001 17:59:55 +0000 (17:59 +0000)]
e_os.h defines Getenv()
Richard Levitte [Thu, 22 Feb 2001 17:41:15 +0000 (17:41 +0000)]
CONF_METHOD is one of the few places where you find MS_FAR. I can't
really see why we need to define these function pointers with MS_FAR
if it's not done cosistently everywhere.
If we decide to support MS_FAR modifiers, it's better to have the
named something more unique for OpenSSL and to define them in e_os2.h.
Richard Levitte [Thu, 22 Feb 2001 17:36:41 +0000 (17:36 +0000)]
Define the OPENSSL_NO_* macros as NO_* macros for the sake of applications thathaven't yet been changed
Bodo Möller [Thu, 22 Feb 2001 15:10:11 +0000 (15:10 +0000)]
e_os.h problems have been solved in the main branch.
Bodo Möller [Thu, 22 Feb 2001 15:08:30 +0000 (15:08 +0000)]
undo previous change: "e_os.h" is now the official name for the file
to include (but the OpenSSL_0_9_6-stable branche still has
inconsistencies)
Bodo Möller [Thu, 22 Feb 2001 14:58:38 +0000 (14:58 +0000)]
include e_os.h as "openssl/e_os.h" (as elsewhere)
Richard Levitte [Thu, 22 Feb 2001 14:45:02 +0000 (14:45 +0000)]
e_os.h does not belong with the exported headers. Do not put it there
and make all files the depend on it include it without prefixing it
with openssl/.
This means that all Makefiles will have $(TOP) as one of the include
directories.
Richard Levitte [Thu, 22 Feb 2001 14:40:15 +0000 (14:40 +0000)]
Since RAND_file_name() uses strlen, make sure the number that's
compared to it has the type size_t. Included the needed headers to
make that happen.
Richard Levitte [Thu, 22 Feb 2001 14:37:50 +0000 (14:37 +0000)]
Use e_os2.h rather than opensslconf.h, since some needed macros are
defined there.
Richard Levitte [Thu, 22 Feb 2001 14:27:22 +0000 (14:27 +0000)]
Exported header files should not include e_os.h.
Richard Levitte [Thu, 22 Feb 2001 14:24:50 +0000 (14:24 +0000)]
Since opensslconf.h might be included over and over, undefine
OPENSSL_UNISTD before redefining it, to avoid compiler warnings.
Richard Levitte [Thu, 22 Feb 2001 14:23:44 +0000 (14:23 +0000)]
One indirection level too little compared to the
pre-CRYPTO_MEM_LEAK_CB time.
Richard Levitte [Thu, 22 Feb 2001 14:21:06 +0000 (14:21 +0000)]
Windows does not know of strigs.h or strcasecmp, so when in Windows,
make strcasecmp a macro to _stricmp.
Richard Levitte [Thu, 22 Feb 2001 13:59:36 +0000 (13:59 +0000)]
Always include opensslconf.h, even if it's already been done before.
The reason is that some parts are only included when certain other
include files have been included.
Also, it seems that the rest of the OpenSSL code assumes that all
kinds of M$ Windows are MSDOS as well...
Richard Levitte [Thu, 22 Feb 2001 13:24:17 +0000 (13:24 +0000)]
When inside a #if 0..#endif, do not define anything.
Richard Levitte [Thu, 22 Feb 2001 13:22:20 +0000 (13:22 +0000)]
Since SSL_add_dir_cert_subjects_to_stack isn't impemented on VMS,
there's no point creating an alias for it.
Richard Levitte [Thu, 22 Feb 2001 13:19:50 +0000 (13:19 +0000)]
Include e_os2.h instead of opensslconf.h.
SSL_add_dir_cert_subjects_to_stack is not implemented on WIN32 and
VMS, so declare it the same way.
Dr. Stephen Henson [Thu, 22 Feb 2001 00:39:06 +0000 (00:39 +0000)]
Rebuild ASN1 error codes to remove unused function and reason codes.
Geoff Thorpe [Wed, 21 Feb 2001 21:38:32 +0000 (21:38 +0000)]
If a callback is generating a new session ID for SSLv2, then upon exiting,
the ID will be padded out to 16 bytes if the callback attempted to generate
a shorter one. The problem is that the uniqueness checking function used in
callbacks may mistakenly think a 9-byte ID is unique when in fact its
padded 16-byte version is not. This makes the checking function detect
SSLv2 cases, and ensures the padded form is checked rather than the shorter
one passed by the callback.
Geoff Thorpe [Wed, 21 Feb 2001 18:48:33 +0000 (18:48 +0000)]
Note changes re: session ID generation callbacks, etc.
Geoff Thorpe [Wed, 21 Feb 2001 18:38:48 +0000 (18:38 +0000)]
This adds command-line support to s_server for controlling the generation
of session IDs. Namely, passing "-id_prefix <text>" will set a
generate_session_id() callback that generates session IDs as random data
with <text> block-copied over the top of the start of the ID. This can be
viewed by watching the session ID s_client's output when it connects.
This is mostly useful for testing any SSL/TLS code (eg. proxies) that wish
to deal with multiple servers, when each of which might be generating a
unique range of session IDs (eg. with a certain prefix).
Geoff Thorpe [Wed, 21 Feb 2001 18:06:26 +0000 (18:06 +0000)]
This change allows a callback to be used to override the generation of
SSL/TLS session IDs in a server. According to RFC2246, the session ID is an
arbitrary value chosen by the server. It can be useful to have some control
over this "arbitrary value" so as to choose it in ways that can aid in
things like external session caching and balancing (eg. clustering). The
default session ID generation is to fill the ID with random data.
The callback used by default is built in to ssl_sess.c, but registering a
callback in an SSL_CTX or in a particular SSL overrides this. BTW: SSL
callbacks will override SSL_CTX callbacks, and a new SSL structure inherits
any callback set in its 'parent' SSL_CTX. The header comments describe how
this mechanism ticks, and source code comments describe (hopefully) why it
ticks the way it does.
Man pages are on the way ...
[NB: Lutz was also hacking away and helping me to figure out how best to do
this.]
Geoff Thorpe [Wed, 21 Feb 2001 17:43:52 +0000 (17:43 +0000)]
'make update'
Richard Levitte [Wed, 21 Feb 2001 14:12:50 +0000 (14:12 +0000)]
'make update'
Richard Levitte [Wed, 21 Feb 2001 14:12:03 +0000 (14:12 +0000)]
Modify mkdef.pl to recognise and parse prprocessor conditionals of the
form '#if defined(...) || defined(...) || ...' and '#if !defined(...)
&& !defined(...) && ...'. This also avoids the growing number of
special cases it was previously handling (some of them wrongly).
Richard Levitte [Wed, 21 Feb 2001 12:03:20 +0000 (12:03 +0000)]
I had forgotten to change mkerr.pl to use the new macro system.
Richard Levitte [Tue, 20 Feb 2001 20:00:30 +0000 (20:00 +0000)]
strdup() is a X/Open extension.
Richard Levitte [Tue, 20 Feb 2001 19:13:46 +0000 (19:13 +0000)]
With later version of DEC C on VMS, some functions (strcmp(), for
example) are declared with some extra linkage information. This
generates a warning when using the function name as a value to a
regular function pointer with the "correct" definition of the
function. Therefore, use a macro to cast the appropriate function on
VMS.
Richard Levitte [Tue, 20 Feb 2001 19:05:59 +0000 (19:05 +0000)]
Some functions, like strdup() and strcasecmp(), are defined in
strings.h according to X/Open.
Richard Levitte [Tue, 20 Feb 2001 17:37:02 +0000 (17:37 +0000)]
I forgot there was a reason why the inclusions and definition of u_int
was made in a certain sequence. This change restores the earlier
"chain of command".
Richard Levitte [Tue, 20 Feb 2001 17:14:30 +0000 (17:14 +0000)]
OpenVMS catches up.
Geoff Thorpe [Tue, 20 Feb 2001 16:31:15 +0000 (16:31 +0000)]
The callbacks in the NAME_FUNCS structure are not used directly as LHASH
callbacks, and their prototypes were consistent as they were. These casts
need reversing.
Also, I personally find line breaks during parameter lists (ie a line
ending in a comma) easier to read at a glance than line breaks at the end
of a function call and before a dereference on the return value (ie a line
ending in a closed-bracket followed by a line starting with "->").
Ulf Möller [Tue, 20 Feb 2001 16:17:25 +0000 (16:17 +0000)]
make it a loop as in dsa
Richard Levitte [Tue, 20 Feb 2001 14:07:03 +0000 (14:07 +0000)]
Get e_os2.h to get all the system definitions correctly.
Richard Levitte [Tue, 20 Feb 2001 14:00:29 +0000 (14:00 +0000)]
Get the right cast for lhash callback functions.