21 years agoDo not loop i the OpenSSL UI method any more. Instead, letthe
Richard Levitte [Sat, 23 Jun 2001 16:25:56 +0000 (16:25 +0000)]
Do not loop i the OpenSSL UI method any more.  Instead, letthe
application do that.

NOTE: there's no requirement for other UI_METHODs to avoid this kind
of loop.  For example, a GUI UI_METHOD would probably check the
lengths of the answers from within instead of being constantly
redisplayed for everything that is wrong.

21 years agomake update
Richard Levitte [Sat, 23 Jun 2001 16:23:17 +0000 (16:23 +0000)]
make update

21 years agoImplement boolean (yes/no or OK/Cancel, ...) input.
Richard Levitte [Sat, 23 Jun 2001 16:22:48 +0000 (16:22 +0000)]
Implement boolean (yes/no or OK/Cancel, ...) input.

Implement UI controls.  Current controls are the possibility to output
the OpenSSL error stack on the same channel from within UI_process()
and to check if the same user interface can be redone without being
rebuilt (this is often more a question of philosophy than

21 years agoNew error printing function that gives the possibility to print the
Richard Levitte [Sat, 23 Jun 2001 15:06:17 +0000 (15:06 +0000)]
New error printing function that gives the possibility to print the
errors through an arbitrary function.

21 years agoInclude the UI error strings.
Richard Levitte [Sat, 23 Jun 2001 15:04:51 +0000 (15:04 +0000)]
Include the UI error strings.

21 years agoFor the UI functions that return an int, 0 or any positive number is a
Richard Levitte [Sat, 23 Jun 2001 14:51:53 +0000 (14:51 +0000)]
For the UI functions that return an int, 0 or any positive number is a
success return, any negative number is a failure.  Make sure we check
the return value with that in mind.

21 years agoFix hwcrhk_insert_card.
Dr. Stephen Henson [Sat, 23 Jun 2001 12:50:06 +0000 (12:50 +0000)]
Fix hwcrhk_insert_card.

21 years agoFix UI leak in apps.
Dr. Stephen Henson [Sat, 23 Jun 2001 12:48:46 +0000 (12:48 +0000)]
Fix UI leak in apps.

21 years agoIn UI_dup_*() function, use the duped string, not the original.
Dr. Stephen Henson [Sat, 23 Jun 2001 11:51:16 +0000 (11:51 +0000)]
In UI_dup_*() function, use the duped string, not the original.

21 years agoUpdate my config entry to allow use of DSOs.
Dr. Stephen Henson [Sat, 23 Jun 2001 11:49:33 +0000 (11:49 +0000)]
Update my config entry to allow use of DSOs.

21 years agoThis fixes "Spurious test failures on IRIX?" reported in April. Apparently
Andy Polyakov [Fri, 22 Jun 2001 19:17:42 +0000 (19:17 +0000)]
This fixes "Spurious test failures on IRIX?" reported in April. Apparently
I was wrong in conclusions about when addition starts overflowing in combaX

21 years agoFix memory leak when RAND is used: need to cleanup
Dr. Stephen Henson [Thu, 21 Jun 2001 12:19:10 +0000 (12:19 +0000)]
Fix memory leak when RAND is used: need to cleanup
RANDs ENGINE reference in ENGINE_cleanup().

21 years agoUpdate my status.
Richard Levitte [Wed, 20 Jun 2001 15:11:15 +0000 (15:11 +0000)]
Update my status.

21 years agoSince there is a way to create UI_METHODs, implement a destructor as
Richard Levitte [Wed, 20 Jun 2001 15:00:08 +0000 (15:00 +0000)]
Since there is a way to create UI_METHODs, implement a destructor as

This probably requires reference counters and locks as well.  To be
implemented later.

21 years agoModify "openssl engine" to handle and display internal control
Richard Levitte [Wed, 20 Jun 2001 06:35:46 +0000 (06:35 +0000)]
Modify "openssl engine" to handle and display internal control
commands appropriately.

21 years agoChange all calls to low level digest routines in the library and
Dr. Stephen Henson [Tue, 19 Jun 2001 22:30:40 +0000 (22:30 +0000)]
Change all calls to low level digest routines in the library and
applications to use EVP. Add missing calls to HMAC_cleanup() and
don't assume HMAC_CTX can be copied using memcpy().

Note: this is almost identical to the patch submitted to openssl-dev
by Verdon Walker <> except some redundant
EVP_add_digest_()/EVP_cleanup() calls were removed and some changes
made to avoid compiler warnings.

21 years agoFix memory leaks.
Dr. Stephen Henson [Tue, 19 Jun 2001 17:13:48 +0000 (17:13 +0000)]
Fix memory leaks.

21 years agocp is only used when DSA is built.
Richard Levitte [Tue, 19 Jun 2001 16:40:36 +0000 (16:40 +0000)]
cp is only used when DSA is built.

21 years agoDo a proof of concept. "openssl genrsa" will make the name of the
Richard Levitte [Tue, 19 Jun 2001 16:34:53 +0000 (16:34 +0000)]
Do a proof of concept.  "openssl genrsa" will make the name of the
file part of the password prompt unless it's standard input...

More will be added...

21 years agoChange the common application routines to use a UI_METHOD for password
Richard Levitte [Tue, 19 Jun 2001 16:26:30 +0000 (16:26 +0000)]
Change the common application routines to use a UI_METHOD for password
prompting, even when done through the callback.

21 years ago- Add the possibility to control engines through control names but
Richard Levitte [Tue, 19 Jun 2001 16:12:18 +0000 (16:12 +0000)]
- Add the possibility to control engines through control names but
  with arbitrary arguments instead of just a string.
- Change the key loaders to take a UI_METHOD instead of a callback
  function pointer.  NOTE: this breaks binary compatibility with
  earlier versions of OpenSSL [engine].
- Addapt the nCipher code for these new conditions and add a card
  insertion callback.

21 years agoThe default flag should be for default passwords only. Otherwise,
Richard Levitte [Tue, 19 Jun 2001 15:54:47 +0000 (15:54 +0000)]
The default flag should be for default passwords only.  Otherwise,
someone having a default that is not a password will be confused.

21 years agoEnhance the user interface with better support for dialog box
Richard Levitte [Tue, 19 Jun 2001 15:52:00 +0000 (15:52 +0000)]
Enhance the user interface with better support for dialog box
prompting, application-defined prompts, the possibility to use
defaults (for example default passwords from somewhere else) and

21 years agomake apps compile again
Dr. Stephen Henson [Tue, 19 Jun 2001 00:23:47 +0000 (00:23 +0000)]
make apps compile again

21 years agoDon't set pointer if add_lock_callback used.
Dr. Stephen Henson [Tue, 19 Jun 2001 00:04:57 +0000 (00:04 +0000)]
Don't set pointer if add_lock_callback used.

21 years agoOne feature wasn't quite commited yet
Richard Levitte [Mon, 18 Jun 2001 06:30:12 +0000 (06:30 +0000)]
One feature wasn't quite commited yet

21 years agoProvide an application-common setup function for engines and use it
Richard Levitte [Mon, 18 Jun 2001 06:22:33 +0000 (06:22 +0000)]
Provide an application-common setup function for engines and use it

21 years agoFix a memory leak (there's another around here somewhere, though).
Ben Laurie [Sun, 17 Jun 2001 14:42:57 +0000 (14:42 +0000)]
Fix a memory leak (there's another around here somewhere, though).

21 years agoDelete a redundant line.
Ben Laurie [Sat, 16 Jun 2001 21:51:26 +0000 (21:51 +0000)]
Delete a redundant line.

21 years agopay attention to blocksize before attempting decryption
Bodo Möller [Fri, 15 Jun 2001 18:05:09 +0000 (18:05 +0000)]
pay attention to blocksize before attempting decryption

21 years agoFor MSDOS, the tty filename still is "con", not "/dev/tty" ...
Bodo Möller [Mon, 11 Jun 2001 15:21:33 +0000 (15:21 +0000)]
For MSDOS, the tty filename still is "con", not "/dev/tty" ...

21 years agoGet rid of "possible WAW dependency" warnings.
Andy Polyakov [Mon, 11 Jun 2001 12:47:52 +0000 (12:47 +0000)]
Get rid of "possible WAW dependency" warnings.

Submitted by:
Reviewed by:

21 years agoeven use of default engines leaks memory
Bodo Möller [Mon, 11 Jun 2001 09:55:54 +0000 (09:55 +0000)]
even use of default engines leaks memory

21 years agoAdd directory name to the entry on /crypto/ui/.
Bodo Möller [Mon, 11 Jun 2001 09:55:20 +0000 (09:55 +0000)]
Add directory name to the entry on /crypto/ui/.

21 years agoEarlier OpenSSL versions printed prompts to stderr.
Bodo Möller [Mon, 11 Jun 2001 09:54:28 +0000 (09:54 +0000)]
Earlier OpenSSL versions printed prompts to stderr.
In the new crypto/ui/, this was changed into tty (which is usually
/dev/tty), i.e. the FILE * used for reading passwords from the user.
However stdio buffering for read/write streams is not without pitfalls
(passwords would be echoed on some systems).
To avoid problems, split tty into tty_in and tty_out (which are
opened separately).

21 years agoMake update
Dr. Stephen Henson [Mon, 11 Jun 2001 00:48:09 +0000 (00:48 +0000)]
Make update

21 years agoInitialize UI ex_data.
Dr. Stephen Henson [Mon, 11 Jun 2001 00:45:33 +0000 (00:45 +0000)]
Initialize UI ex_data.

21 years agoAdd support for MS CSP Name PKCS#12 attribute.
Dr. Stephen Henson [Mon, 11 Jun 2001 00:43:20 +0000 (00:43 +0000)]
Add support for MS CSP Name PKCS#12 attribute.

21 years agomore error codes fixed
Ulf Möller [Fri, 8 Jun 2001 14:16:39 +0000 (14:16 +0000)]
more error codes fixed

21 years agoERR_peek_error() returns "unsigned long".
Lutz Jänicke [Thu, 7 Jun 2001 17:20:50 +0000 (17:20 +0000)]
ERR_peek_error() returns "unsigned long".

21 years agoUse memmove() instead of memcpy() on areas that may overlap.
Richard Levitte [Thu, 7 Jun 2001 04:42:34 +0000 (04:42 +0000)]
Use memmove() instead of memcpy() on areas that may overlap.
Spotted by Nalin Dahyabhai <>

21 years agoDon't forget to initialise.
Richard Levitte [Wed, 6 Jun 2001 23:12:41 +0000 (23:12 +0000)]
Don't forget to initialise.

21 years agoOAEP fix
Bodo Möller [Wed, 6 Jun 2001 21:44:28 +0000 (21:44 +0000)]
OAEP fix

21 years agowhen checking OAEP, signal just a single kind of 'decoding error'
Bodo Möller [Wed, 6 Jun 2001 18:48:49 +0000 (18:48 +0000)]
when checking OAEP, signal just a single kind of 'decoding error'

21 years agomove check to avoid memory leak.
Ulf Möller [Wed, 6 Jun 2001 17:23:23 +0000 (17:23 +0000)]
move check to avoid memory leak.

21 years agomake sure we don't write to seed[-1]
Ulf Möller [Wed, 6 Jun 2001 17:17:53 +0000 (17:17 +0000)]
make sure we don't write to seed[-1]

21 years ago'make update'
Richard Levitte [Tue, 5 Jun 2001 20:32:36 +0000 (20:32 +0000)]
'make update'

21 years agoDefining __USE_XOPEN_EXTENDED was the wrong thing. Instead, define
Richard Levitte [Tue, 5 Jun 2001 20:29:26 +0000 (20:29 +0000)]
Defining __USE_XOPEN_EXTENDED was the wrong thing.  Instead, define

21 years agoA good use of the UI interface is as a password callback replacement
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.

21 years agoSmall detail about AIX forgotten...
Richard Levitte [Tue, 5 Jun 2001 04:41:57 +0000 (04:41 +0000)]
Small detail about AIX forgotten...

21 years agoAccept digits in symbol names. Spotted by Brian Havard <>
Richard Levitte [Mon, 4 Jun 2001 16:34:31 +0000 (16:34 +0000)]
Accept digits in symbol names.  Spotted by Brian Havard <>

21 years agoMore info on SRP.
Richard Levitte [Mon, 4 Jun 2001 16:23:15 +0000 (16:23 +0000)]
More info on SRP.

21 years agoAdded more info in SRP.
Richard Levitte [Mon, 4 Jun 2001 06:51:43 +0000 (06:51 +0000)]
Added more info in SRP.

21 years agoConfusion between algorithms resolved.
Richard Levitte [Fri, 1 Jun 2001 15:30:13 +0000 (15:30 +0000)]
Confusion between algorithms resolved.

21 years agonCipher callbacks shall return 0 on success, something else otherwise.
Richard Levitte [Fri, 1 Jun 2001 15:29:32 +0000 (15:29 +0000)]
nCipher callbacks shall return 0 on success, something else otherwise.

21 years agoStop mishandling the type number in dynlock locking
Richard Levitte [Fri, 1 Jun 2001 15:21:01 +0000 (15:21 +0000)]
Stop mishandling the type number in dynlock locking

21 years agoFix Bleichenbacher PKCS #1 1.5 countermeasure.
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.)

21 years agoincrease DEFAULT_BUFFER_SIZE (4K instead of just 1K)
Bodo Möller [Fri, 1 Jun 2001 08:38:29 +0000 (08:38 +0000)]
increase DEFAULT_BUFFER_SIZE (4K instead of just 1K)

21 years agoDon't decrement the reference counter twice when destroying dynamic
Richard Levitte [Thu, 31 May 2001 22:25:30 +0000 (22:25 +0000)]
Don't decrement the reference counter twice when destroying dynamic

21 years agoFix a memory leak in 'sk_dup' in the case a realloc() fails. Also, tidy up
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.

21 years agoGet rid of RAW dependency warnings.
Andy Polyakov [Wed, 30 May 2001 22:01:33 +0000 (22:01 +0000)]
Get rid of RAW dependency warnings.

Submitted by:
Reviewed by:

21 years agoExtend all the loading functions to take an engine pointer, a pass
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

Also, in spite of having the functions to load keys, some utilities
did the loading all by themselves...  That's changed too.

21 years agoA wish was expressed.
Richard Levitte [Wed, 30 May 2001 14:59:14 +0000 (14:59 +0000)]
A wish was expressed.

21 years agoDon't forget responsible person so that its clear who is to blame.
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.

21 years agoAssembler support for IA-64. See the source code commentary for further
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:

21 years agoDocument the latest change in ENGINEs.
Richard Levitte [Sat, 26 May 2001 16:58:34 +0000 (16:58 +0000)]
Document the latest change in ENGINEs.

21 years agoWe had the password callback for ENGINEs pretty much wrong. And
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

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).

21 years agoAdd missing variable length cipher flag for Blowfish.
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.

21 years agoVMS doesn't support more than on period in a file name
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

21 years agoAdd examples to EVP_EncryptInit manual page.
Dr. Stephen Henson [Thu, 17 May 2001 13:03:20 +0000 (13:03 +0000)]
Add examples to EVP_EncryptInit manual page.

21 years agoFix for new UI functions under Win32.
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

21 years agoAdd a requirements section for OpenVMS.
Richard Levitte [Thu, 17 May 2001 04:21:00 +0000 (04:21 +0000)]
Add a requirements section for OpenVMS.

21 years agoAdd a few more details on what one might need. make and a development
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.

21 years agoAdd missing item(s) SSL_ERROR_WANT_CONNECT, SSL_ERROR_WANT_ACCEPT.
Lutz Jänicke [Wed, 16 May 2001 09:43:51 +0000 (09:43 +0000)]

21 years agoNew internal function OPENSSL_gmtime, which is intended to do the same
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.

21 years agoIncrease ENTROPY_NEEDED to support Rijndael's larger key size.
Lutz Jänicke [Tue, 15 May 2001 16:02:35 +0000 (16:02 +0000)]
Increase ENTROPY_NEEDED to support Rijndael's larger key size.

21 years agoDo not forget to increment the pointers...
Richard Levitte [Tue, 15 May 2001 15:49:54 +0000 (15:49 +0000)]
Do not forget to increment the pointers...

21 years agoLow-case the names of the system routines, since some versions of
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)

21 years agobranch on equal is beql, not beq...
Richard Levitte [Mon, 14 May 2001 22:10:09 +0000 (22:10 +0000)]
branch on equal is beql, not beq...

21 years agoMake sure strdup() is properly declared.
Richard Levitte [Mon, 14 May 2001 12:23:28 +0000 (12:23 +0000)]
Make sure strdup() is properly declared.

21 years agoMake sure memset() is properly declared.
Richard Levitte [Mon, 14 May 2001 12:22:58 +0000 (12:22 +0000)]
Make sure memset() is properly declared.

21 years agoui was forgotten when installing libcrypto and it's headers.
Richard Levitte [Mon, 14 May 2001 12:22:27 +0000 (12:22 +0000)]
ui was forgotten when installing libcrypto and it's headers.

21 years agoui_compat.h was forgotten in the "symlinking" routine.
Richard Levitte [Mon, 14 May 2001 12:21:16 +0000 (12:21 +0000)]
ui_compat.h was forgotten in the "symlinking" routine.

21 years agoRemove the password reading objects from LIB_DES.
Richard Levitte [Mon, 14 May 2001 11:59:02 +0000 (11:59 +0000)]
Remove the password reading objects from LIB_DES.

21 years agoMake more short aliases for symbols that are longer than 31
Richard Levitte [Mon, 14 May 2001 11:58:08 +0000 (11:58 +0000)]
Make more short aliases for symbols that are longer than 31

21 years agolen is a size_t, which is an unsigned integer. Therefore, some
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.

21 years agoUse ui_compat.h to get the password reading functions.
Richard Levitte [Mon, 14 May 2001 11:54:36 +0000 (11:54 +0000)]
Use ui_compat.h to get the password reading functions.

21 years agoMake it so the compiler doesn't inform me about the dollars in some
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

21 years agoTypos.
Lutz Jänicke [Mon, 14 May 2001 09:52:44 +0000 (09:52 +0000)]

21 years agoOne more point to clarify, pointed out by "Greg Stark" <>
Lutz Jänicke [Mon, 14 May 2001 09:02:38 +0000 (09:02 +0000)]
One more point to clarify, pointed out by "Greg Stark" <>

21 years agoIt seems like the removal of "extern" before "static" wasn't a
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

21 years agoDocument the addition.
Richard Levitte [Sun, 13 May 2001 10:37:02 +0000 (10:37 +0000)]
Document the addition.

21 years agoA randomizer for OpenVMS, using the statistics that are easily
Richard Levitte [Sun, 13 May 2001 10:34:18 +0000 (10:34 +0000)]
A randomizer for OpenVMS, using the statistics that are easily

It's completely untested for now.  To be done in the next few days.

21 years agoDefine `ok' and better error detection.
Richard Levitte [Sun, 13 May 2001 05:34:39 +0000 (05:34 +0000)]
Define `ok' and better error detection.

21 years agomake update
Richard Levitte [Sun, 13 May 2001 05:16:58 +0000 (05:16 +0000)]
make update

21 years agoWin16 too :-).
Richard Levitte [Sun, 13 May 2001 05:01:58 +0000 (05:01 +0000)]
Win16 too :-).

21 years agodes_read_password() and des_read_2passwords() can only appear if DES
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.

21 years agoWhen doing rewrites on ssleay.num, the file was prematurely closed.
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.

21 years agoMove the password reading functions completely away from the DES
Richard Levitte [Sun, 13 May 2001 04:40:44 +0000 (04:40 +0000)]
Move the password reading functions completely away from the DES

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.

21 years agoPut back a removed "extern", or many compilers will complain about
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.