Richard Levitte [Tue, 5 Jun 2001 20:29:26 +0000 (20:29 +0000)]
Defining __USE_XOPEN_EXTENDED was the wrong thing. Instead, define
_XOPEN_SOURCE.
Richard Levitte [Tue, 5 Jun 2001 19:05:52 +0000 (19:05 +0000)]
A good use of the UI interface is as a password callback replacement
(for new functions...). One might still want to be able to pass down
a user-data pointer to be used by the UI. However, ex_data doesn't
quite cut it, since that means the appropriate index to it might need
to be shared between parts that aren't really related in that sense,
and would require the currently hidden (static) index holders to be
uncovered. Not a good thing. Therefore, add the possibility to add a
user-data pointer to a UI.
Richard Levitte [Tue, 5 Jun 2001 04:41:57 +0000 (04:41 +0000)]
Small detail about AIX forgotten...
Richard Levitte [Mon, 4 Jun 2001 16:34:31 +0000 (16:34 +0000)]
Accept digits in symbol names. Spotted by Brian Havard <brianh@kheldar.apana.org.au>
Richard Levitte [Mon, 4 Jun 2001 16:23:15 +0000 (16:23 +0000)]
More info on SRP.
Richard Levitte [Mon, 4 Jun 2001 06:51:43 +0000 (06:51 +0000)]
Added more info in SRP.
Richard Levitte [Fri, 1 Jun 2001 15:30:13 +0000 (15:30 +0000)]
Confusion between algorithms resolved.
Richard Levitte [Fri, 1 Jun 2001 15:29:32 +0000 (15:29 +0000)]
nCipher callbacks shall return 0 on success, something else otherwise.
Richard Levitte [Fri, 1 Jun 2001 15:21:01 +0000 (15:21 +0000)]
Stop mishandling the type number in dynlock locking
Bodo Möller [Fri, 1 Jun 2001 09:41:25 +0000 (09:41 +0000)]
Fix Bleichenbacher PKCS #1 1.5 countermeasure.
(The attack against SSL 3.1 and TLS 1.0 is impractical anyway,
otherwise this would be a security relevant patch.)
Bodo Möller [Fri, 1 Jun 2001 08:38:29 +0000 (08:38 +0000)]
increase DEFAULT_BUFFER_SIZE (4K instead of just 1K)
Richard Levitte [Thu, 31 May 2001 22:25:30 +0000 (22:25 +0000)]
Don't decrement the reference counter twice when destroying dynamic
links.
Geoff Thorpe [Thu, 31 May 2001 19:01:08 +0000 (19:01 +0000)]
Fix a memory leak in 'sk_dup' in the case a realloc() fails. Also, tidy up
a bit of weird code in sk_new.
Andy Polyakov [Wed, 30 May 2001 22:01:33 +0000 (22:01 +0000)]
Get rid of RAW dependency warnings.
Submitted by:
Reviewed by:
PR:
Richard Levitte [Wed, 30 May 2001 15:29:28 +0000 (15:29 +0000)]
Extend all the loading functions to take an engine pointer, a pass
string (some engines may have certificates protected by a PIN!) and
a description to put into error messages.
Also, have our own password callback that we can send both a password
and some prompt info to. The default password callback in EVP assumes
that the passed parameter is a password, which isn't always the right
thing, and the ENGINE code (at least the nCipher one) makes other
assumptions...
Also, in spite of having the functions to load keys, some utilities
did the loading all by themselves... That's changed too.
Richard Levitte [Wed, 30 May 2001 14:59:14 +0000 (14:59 +0000)]
A wish was expressed.
Lutz Jänicke [Tue, 29 May 2001 13:52:21 +0000 (13:52 +0000)]
Don't forget responsible person so that its clear who is to blame.
Andy Polyakov [Mon, 28 May 2001 20:02:51 +0000 (20:02 +0000)]
Assembler support for IA-64. See the source code commentary for further
details (performance numbers and accompanying discussions:-). Note that
the code is not engaged in ./Configure yet. I'll add it later this week
along with updates for .spec file.
Submitted by:
Reviewed by:
PR:
Richard Levitte [Sat, 26 May 2001 16:58:34 +0000 (16:58 +0000)]
Document the latest change in ENGINEs.
Richard Levitte [Fri, 25 May 2001 21:08:56 +0000 (21:08 +0000)]
We had the password callback for ENGINEs pretty much wrong. And
passwords that were given to the key loading functions were completely
ignored, at least in the ncipher code, and then we made the assumption
that the callback wanted a prompt as user argument.
All that is now changed, and the application author is forced to give
a callback function of type pem_callback_cb and possibly an argument
for it, just as for all other functions that want to generate password
prompting.
NOTE: this change creates binary and source incompatibilities with
previous versions of OpenSSL [engine]. It's worth it this time, to
get it right (or at least better and with a chance that it'll work).
Dr. Stephen Henson [Thu, 24 May 2001 22:58:35 +0000 (22:58 +0000)]
Add missing variable length cipher flag for Blowfish.
Only use trust settings if either trust or reject settings
are present, otherwise use compatibility mode. This stops
root CAs being rejected if they have alias of keyid set.
Richard Levitte [Tue, 22 May 2001 12:47:38 +0000 (12:47 +0000)]
VMS doesn't support more than on period in a file name
Dr. Stephen Henson [Thu, 17 May 2001 13:03:20 +0000 (13:03 +0000)]
Add examples to EVP_EncryptInit manual page.
Dr. Stephen Henson [Thu, 17 May 2001 11:47:08 +0000 (11:47 +0000)]
Fix for new UI functions under Win32.
For some unknown reason fopen("con", "w") is the
only way to make this work. Using "r+" and "w+"
causes the fopen call to fail and the fallback
(using stdin) doesn't work because writing to stdin
fails.
Richard Levitte [Thu, 17 May 2001 04:21:00 +0000 (04:21 +0000)]
Add a requirements section for OpenVMS.
Richard Levitte [Thu, 17 May 2001 04:16:19 +0000 (04:16 +0000)]
Add a few more details on what one might need. make and a development
environment were a part of a Unix operating systems, but these days
you see an increasing number of installations that do not necessarely
have these crucial parts by default, so it's needs mentioning.
Lutz Jänicke [Wed, 16 May 2001 09:43:51 +0000 (09:43 +0000)]
Add missing item(s) SSL_ERROR_WANT_CONNECT, SSL_ERROR_WANT_ACCEPT.
Richard Levitte [Wed, 16 May 2001 08:44:09 +0000 (08:44 +0000)]
New internal function OPENSSL_gmtime, which is intended to do the same
as gmtime_r() on the systems where that is defined.
Lutz Jänicke [Tue, 15 May 2001 16:02:35 +0000 (16:02 +0000)]
Increase ENTROPY_NEEDED to support Rijndael's larger key size.
Richard Levitte [Tue, 15 May 2001 15:49:54 +0000 (15:49 +0000)]
Do not forget to increment the pointers...
Richard Levitte [Tue, 15 May 2001 05:15:47 +0000 (05:15 +0000)]
Low-case the names of the system routines, since some versions of
DEC C only have them declared that way (it doesn't really matter,
since the linker is case-insensitive by default)
Richard Levitte [Mon, 14 May 2001 22:10:09 +0000 (22:10 +0000)]
branch on equal is beql, not beq...
Richard Levitte [Mon, 14 May 2001 12:23:28 +0000 (12:23 +0000)]
Make sure strdup() is properly declared.
Richard Levitte [Mon, 14 May 2001 12:22:58 +0000 (12:22 +0000)]
Make sure memset() is properly declared.
Richard Levitte [Mon, 14 May 2001 12:22:27 +0000 (12:22 +0000)]
ui was forgotten when installing libcrypto and it's headers.
Richard Levitte [Mon, 14 May 2001 12:21:16 +0000 (12:21 +0000)]
ui_compat.h was forgotten in the "symlinking" routine.
Richard Levitte [Mon, 14 May 2001 11:59:02 +0000 (11:59 +0000)]
Remove the password reading objects from LIB_DES.
Richard Levitte [Mon, 14 May 2001 11:58:08 +0000 (11:58 +0000)]
Make more short aliases for symbols that are longer than 31
characters.
Richard Levitte [Mon, 14 May 2001 11:56:47 +0000 (11:56 +0000)]
len is a size_t, which is an unsigned integer. Therefore, some
compilers will complain against the check for less than zero.
Richard Levitte [Mon, 14 May 2001 11:54:36 +0000 (11:54 +0000)]
Use ui_compat.h to get the password reading functions.
Richard Levitte [Mon, 14 May 2001 11:53:37 +0000 (11:53 +0000)]
Make it so the compiler doesn't inform me about the dollars in some
symbols.
Lutz Jänicke [Mon, 14 May 2001 09:52:44 +0000 (09:52 +0000)]
Typos.
Lutz Jänicke [Mon, 14 May 2001 09:02:38 +0000 (09:02 +0000)]
One more point to clarify, pointed out by "Greg Stark" <ghstark@pobox.com>
Richard Levitte [Sun, 13 May 2001 17:55:30 +0000 (17:55 +0000)]
It seems like the removal of "extern" before "static" wasn't a
mistake.
Richard Levitte [Sun, 13 May 2001 10:37:02 +0000 (10:37 +0000)]
Document the addition.
Richard Levitte [Sun, 13 May 2001 10:34:18 +0000 (10:34 +0000)]
A randomizer for OpenVMS, using the statistics that are easily
reachable.
It's completely untested for now. To be done in the next few days.
Richard Levitte [Sun, 13 May 2001 05:34:39 +0000 (05:34 +0000)]
Define `ok' and better error detection.
Richard Levitte [Sun, 13 May 2001 05:16:58 +0000 (05:16 +0000)]
make update
Richard Levitte [Sun, 13 May 2001 05:01:58 +0000 (05:01 +0000)]
Win16 too :-).
Richard Levitte [Sun, 13 May 2001 04:59:09 +0000 (04:59 +0000)]
des_read_password() and des_read_2passwords() can only appear if DES
is compiled.
Richard Levitte [Sun, 13 May 2001 04:48:07 +0000 (04:48 +0000)]
When doing rewrites on ssleay.num, the file was prematurely closed.
Make rewrites the default, since it works, and people get confused if
changed information doesn't get rewritten automagically.
Richard Levitte [Sun, 13 May 2001 04:40:44 +0000 (04:40 +0000)]
Move the password reading functions completely away from the DES
section.
Add ui_compat.h for inclusion by those who want the old functions and
provide all of them, not just the higher-level ones, in ui_compat.c.
Richard Levitte [Sun, 13 May 2001 04:34:57 +0000 (04:34 +0000)]
Put back a removed "extern", or many compilers will complain about
redefined variables.
Dr. Stephen Henson [Sun, 13 May 2001 00:33:55 +0000 (00:33 +0000)]
#if 0 out deleted (?) functions to stop Win32 DLL
build falling over.
Dr. Stephen Henson [Sat, 12 May 2001 23:57:41 +0000 (23:57 +0000)]
Change Win32 to use EXPORT_VAR_AS_FN.
Fix OPENSSL_IMPLEMENT_GLOBAL.
Allow Win32 to use EXPORT_VAR_AS_FN in mkdef.pl
make update.
Lutz Jänicke [Sat, 12 May 2001 09:49:02 +0000 (09:49 +0000)]
Clarify behaviour with respect to SSL/TLS records.
Dr. Stephen Henson [Sat, 12 May 2001 00:16:56 +0000 (00:16 +0000)]
Under VC++ _DLL is set to indicate that the application
will be linked against the DLL runtime library. It is
automatically set when /MD is used.
As a result OpenSSL shouldn't use _DLL to determine if
it should set OPENSSL_OPT_WINDLL because this will
cause linkage conflicts with static builds which do
include the /MD compiler switch.
Dr. Stephen Henson [Sat, 12 May 2001 00:09:04 +0000 (00:09 +0000)]
Typo.
Richard Levitte [Fri, 11 May 2001 11:20:26 +0000 (11:20 +0000)]
e_os2.h defines things like OPENSSL_SYS_MSDOS, not opensslconf.h...
(basically: whooops :-))
Lutz Jänicke [Fri, 11 May 2001 09:53:10 +0000 (09:53 +0000)]
Clarify behaviour of SSL_write() by mentioning SSL_MODE_ENABLE_PARTIAL_WRITE
flag as discussed on the mailing list.
Lutz Jänicke [Thu, 10 May 2001 09:45:31 +0000 (09:45 +0000)]
Update changelog to reflect additional changes made to the egd-locations.
Bodo Möller [Thu, 10 May 2001 09:33:18 +0000 (09:33 +0000)]
restore change undone in 1.831 (apparently by accident)
Dr. Stephen Henson [Thu, 10 May 2001 00:13:59 +0000 (00:13 +0000)]
Purpose and trust setting functions for X509_STORE.
Tidy existing code.
Dr. Stephen Henson [Thu, 10 May 2001 00:09:43 +0000 (00:09 +0000)]
Fix warning with DEBUG_SAFESTACK
Dr. Stephen Henson [Thu, 10 May 2001 00:07:45 +0000 (00:07 +0000)]
Fix to allow multiple NONE libraries in mkerr.pl .
Dr. Stephen Henson [Wed, 9 May 2001 00:30:39 +0000 (00:30 +0000)]
Allow various X509_STORE_CTX properties to be
inherited from X509_STORE.
Add CRL checking options to other applications.
Bodo Möller [Tue, 8 May 2001 12:45:55 +0000 (12:45 +0000)]
fix an old entry
Richard Levitte [Tue, 8 May 2001 04:23:25 +0000 (04:23 +0000)]
There is no uitest
Richard Levitte [Tue, 8 May 2001 04:09:19 +0000 (04:09 +0000)]
Don't forget crypto/ui...
Dr. Stephen Henson [Mon, 7 May 2001 22:52:50 +0000 (22:52 +0000)]
Initial CRL based revocation checking.
Richard Levitte [Mon, 7 May 2001 06:33:35 +0000 (06:33 +0000)]
Clarify the license and copyright, make preprocessor dirctives a
little bit clearer and use the new OPENSSL_SYS_* macros.
Richard Levitte [Sun, 6 May 2001 23:51:37 +0000 (23:51 +0000)]
make update
Richard Levitte [Sun, 6 May 2001 23:19:37 +0000 (23:19 +0000)]
Add a general user interface API. This is designed to replace things
like des_read_password and friends (backward compatibility functions
using this new API are provided). The purpose is to remove prompting
functions from the DES code section as well as provide for prompting
through dialog boxes in a window system and the like.
Ulf Möller [Fri, 4 May 2001 15:03:59 +0000 (15:03 +0000)]
the backslash is significant...
Bodo Möller [Thu, 3 May 2001 09:27:43 +0000 (09:27 +0000)]
.rnd issues
Bodo Möller [Thu, 3 May 2001 08:50:27 +0000 (08:50 +0000)]
bctest changes for Ultrix (don't return 1 from bctest, otherwise make aborts)
Richard Levitte [Thu, 3 May 2001 07:50:11 +0000 (07:50 +0000)]
Some platforms (most notably Windows) do not have a $HOME by default.
For those, unless the environment variables RANDFILE or HOME are
defined (the default case!), RAND_file_name() will return NULL.
This change adds a default HOME for those platforms.
To add a default HOME for any platform, just define DEFAULT_HOME in
the proper place, wrapped in appropriate #ifdef..#endif, in e_os.h.
Richard Levitte [Thu, 3 May 2001 06:14:47 +0000 (06:14 +0000)]
Add support for Sun C on Solaris x86. Contributed by Ben <mouring@etoh.eviladmin.org>
Richard Levitte [Wed, 2 May 2001 07:15:03 +0000 (07:15 +0000)]
Remove part conflict indicator...
Geoff Thorpe [Mon, 30 Apr 2001 15:24:41 +0000 (15:24 +0000)]
In RSA, DSA, DH, and RAND - if the "***_new()" function fails because the
ENGINE code does not return a default, set an error.
Dr. Stephen Henson [Sun, 29 Apr 2001 16:30:59 +0000 (16:30 +0000)]
Win32 fixes:
define LLONG properly for VC++.
stop compiler complaining about signed/unsigned mismatch in apps/engine.c
Richard Levitte [Fri, 27 Apr 2001 21:33:44 +0000 (21:33 +0000)]
A method to create shared libraries on AIX, and according to
"Howard Chu" <hyc@highlandsun.com>, it may be general enough
to work on any Unixly system.
Richard Levitte [Fri, 27 Apr 2001 08:59:00 +0000 (08:59 +0000)]
make update
Geoff Thorpe [Fri, 27 Apr 2001 00:31:21 +0000 (00:31 +0000)]
For some inexplicable reason, I'd (a) left the debugging irreversibly
turned on, and (b) left a somewhat curious debugging string in the output.
Geoff Thorpe [Thu, 26 Apr 2001 23:04:30 +0000 (23:04 +0000)]
Some fixes to the reference-counting in ENGINE code. First, there were a
few statements equivalent to "ENGINE_add(ENGINE_openssl())" etc. The inner
call to ENGINE_openssl() (as with other functions like it) orphans a
structural reference count. Second, the ENGINE_cleanup() function also
needs to clean up the functional reference counts held internally as the
list of "defaults" (ie. as used when RSA_new() requires an appropriate
ENGINE reference). So ENGINE_clear_defaults() was created and is called
from within ENGINE_cleanup(). Third, some of the existing code was
logically broken in its treatment of reference counts and locking (my
fault), so the necessary bits have been restructured and tidied up.
To test this stuff, compiling with ENGINE_REF_COUNT_DEBUG will cause every
reference count change (both structural and functional) to log a message to
'stderr'. Using with "openssl engine" for example shows this in action
quite well as the 'engine' sub-command cleans up after itself properly.
Also replaced some spaces with tabs.
Richard Levitte [Thu, 26 Apr 2001 21:02:57 +0000 (21:02 +0000)]
Make proper use of all disabling variables.
Geoff Thorpe [Thu, 26 Apr 2001 20:56:30 +0000 (20:56 +0000)]
"make update"
Geoff Thorpe [Thu, 26 Apr 2001 20:42:12 +0000 (20:42 +0000)]
Make notes about ENGINE changes.
Richard Levitte [Thu, 26 Apr 2001 20:17:59 +0000 (20:17 +0000)]
Linux shared libraries can be linked with debug symbols.
Tru64 shared libraries can be linked with static libraries.
Richard Levitte [Thu, 26 Apr 2001 19:45:31 +0000 (19:45 +0000)]
make update
Geoff Thorpe [Thu, 26 Apr 2001 19:35:44 +0000 (19:35 +0000)]
This adds 2 things to the ENGINE code.
* "ex_data" - a CRYPTO_EX_DATA structure in the ENGINE structure itself
that allows an ENGINE to store its own information there rather than in
global variables. It follows the declarations and implementations used
in RSA code, for better or worse. However there's a problem when storing
state with ENGINEs because, unlike related structure types in OpenSSL,
there is no ENGINE-vs-ENGINE_METHOD separation. Because of what ENGINE
is, it has method pointers as its structure elements ... which leads
to;
* ENGINE_FLAGS_BY_ID_COPY - if an ENGINE should not be used just as a
reference to an "implementation" (eg. to get to a hardware device), but
should also be able to maintain state, then this flag can be set by the
ENGINE implementation. The result is that any call to ENGINE_by_id()
will not result in the existing ENGINE being returned (with its
structural reference count incremented) but instead a new copy of the
ENGINE will be returned that can maintain its own state independantly of
any other copies returned in the past or future. Eg. key-generation
might involve a series of ENGINE-specific control commands to set
algorithms, sizes, module-keys, ids, ACLs, etc. A final command could
generate the key. An ENGINE doing this would *have* to declare
ENGINE_FLAGS_BY_ID_COPY so that the state of that process can be
maintained "per-handle" and unaffected by other code having a reference
to the same ENGINE structure.
Richard Levitte [Thu, 26 Apr 2001 16:08:10 +0000 (16:08 +0000)]
Clean up ENGINE before exiting.
Richard Levitte [Thu, 26 Apr 2001 16:07:08 +0000 (16:07 +0000)]
Provide the possibility to clean up internal ENGINE structures. This
takes care of what would otherwise be seen as a memory leak.
Richard Levitte [Thu, 26 Apr 2001 15:53:42 +0000 (15:53 +0000)]
gcc warns when certain values of an enumeration aren't taken care of,
unless there's a default clause.
Richard Levitte [Thu, 26 Apr 2001 15:45:12 +0000 (15:45 +0000)]
Check for OPENSSL_NO_RSA, OPENSSL_NO_DSA and OPENSSL_NO_DH and disable
appropriate code if any of them is defined.
Richard Levitte [Thu, 26 Apr 2001 15:04:22 +0000 (15:04 +0000)]
engine.h includes all the needed header files, so don't do it again
here.
Richard Levitte [Thu, 26 Apr 2001 12:01:12 +0000 (12:01 +0000)]
We shouldn't skip over header files to avoid functions of disabled algorithms. The selection is done in a different way
Richard Levitte [Thu, 26 Apr 2001 08:26:18 +0000 (08:26 +0000)]
User OPENSSL_UNISTD instead of <unistd.h>.
Spotted by Mark Crispin <MRC@Panda.COM>
Geoff Thorpe [Wed, 25 Apr 2001 22:40:55 +0000 (22:40 +0000)]
This change to the "dl", "dlfcn", and "win32" DSO_METHODs adds the filename
or symbol name to the error stack in the event a load or bind operation
failed.
Lutz Jänicke [Wed, 25 Apr 2001 15:24:47 +0000 (15:24 +0000)]
Typo (reported by Petr Lancaric <Petr.Lancaric@ips-ag.cz>)