Bodo Möller
6e6d04e29a
fix md_rand.c locking bugs
2001-04-18 15:07:35 +00:00
Geoff Thorpe
a4a9d97a3e
Some more tweaks from ENGINE code.
...
Previously RAND_get_rand_method was returning a non-const pointer, but it
should be const. As with all other such cases, METHOD pointers are stored and
returned as "const". The only methods one should be able to alter are methods
"local" to the relevant code, in which case a non-const handle to the methods
should already exist.
This change has been forced by the constifying of the ENGINE code (before
which RAND_METHOD was the only method pointer in an ENGINE structure that was
not constant).
2001-04-18 04:18:16 +00:00
Geoff Thorpe
7ef6e3fe2f
'make update'
2001-04-17 23:53:58 +00:00
Bodo Möller
a95d2c5133
Make sure OPENSSL_SYS_... is defined when we need it.
2001-04-03 14:03:19 +00:00
Richard Levitte
812cb5638c
make update
2001-03-24 12:39:59 +00:00
Richard Levitte
5238fccc15
Use stdlib.h to get size_t.
2001-03-21 18:43:12 +00:00
Richard Levitte
8bf49ea170
New cofiguration for Unixwre and SCO,with slightly better granularity. Contributed by Tim Rice <tim@multitalents.net>
2001-03-18 14:25:01 +00:00
Bodo Möller
8562801137
error codes are longs, not ints
2001-03-15 11:30:55 +00:00
Dr. Stephen Henson
40e15f9d78
Typo.
2001-03-10 01:57:38 +00:00
Bodo Möller
4e20b1a656
Instead of telling both 'make' and the user that ranlib
...
errors can be tolerated, hide the error from 'make'.
This gives shorter output both if ranlib fails and if
it works.
2001-03-09 14:01:42 +00:00
Ulf Möller
429cf462d0
old MSVC versions don't have rdtsc
...
use _emit instead
Pointed out by Jeremy Cooper <jeremy@baymoo.org>
2001-03-08 16:46:23 +00:00
Bodo Möller
65e8167079
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".
2001-03-05 20:13:37 +00:00
Richard Levitte
d88a26c489
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.
2001-02-26 10:54:08 +00:00
Bodo Möller
a2cf08cc23
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)
2001-02-22 15:08:30 +00:00
Bodo Möller
d3a73875e2
include e_os.h as "openssl/e_os.h" (as elsewhere)
2001-02-22 14:58:38 +00:00
Richard Levitte
41d2a336ee
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.
2001-02-22 14:45:02 +00:00
Richard Levitte
627774fd87
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.
2001-02-22 14:40:15 +00:00
Richard Levitte
4981372d03
Include OpenSSL header files earlier so macros like OPENSSL_SYS_VMS
...
get a chance to be defined.
2001-02-20 12:44:46 +00:00
Richard Levitte
bc36ee6227
Use new-style system-id macros everywhere possible. I hope I haven't
...
missed any.
This compiles and runs on Linux, and external applications have no
problems with it. The definite test will be to build this on VMS.
2001-02-20 08:13:47 +00:00
Richard Levitte
4901b41653
Make sure time() is properly declared.
2001-02-19 22:47:40 +00:00
Richard Levitte
cf1b7d9664
Make all configuration macros available for application by making
...
sure they are available in opensslconf.h, by giving them names starting
with "OPENSSL_" to avoid conflicts with other packages and by making
sure e_os2.h will cover all platform-specific cases together with
opensslconf.h.
I've checked fairly well that nothing breaks with this (apart from
external software that will adapt if they have used something like
NO_KRB5), but I can't guarantee it completely, so a review of this
change would be a good thing.
2001-02-19 16:06:34 +00:00
Ulf Möller
36fafffae2
New function OPENSSL_issetugid(). Needs more work.
2001-02-14 01:35:44 +00:00
Ulf Möller
a71b5abfa4
use <= instead of ==
2001-02-08 17:45:32 +00:00
Ulf Möller
928cc3a6de
point out that RAND_load_file() etc are only for seed files, not for
...
entropy devices or sockets.
2001-02-08 17:22:56 +00:00
Lutz Jänicke
a8ebe4697e
Modify access to EGD socket to deal with EINTR etc that can appear
...
during connect() and other calls. First seen on Unixware-7.
Unify access to EGD-socket for all RAND_egd_*() methods.
2001-02-07 22:13:38 +00:00
Ben Laurie
4978361212
Make depend.
2001-02-04 21:06:55 +00:00
Bodo Möller
cc85ec447b
Disable RegQueryValueEx() call.
...
Problem reported by "Wolfgang Marczy" <WMarczy@topcall.co.at>
in a message to openssl-dev (19 Dec 2000 13:40:51 +0100).
2001-01-12 15:16:21 +00:00
Dr. Stephen Henson
9b4dc8308f
OCSP basic response verify. Very incomplete
...
but will verify the signatures on a response
and locate the signers certifcate.
Still needs to implement a proper OCSP certificate
verify.
Fix warning in RAND_egd().
2001-01-11 00:52:50 +00:00
Lutz Jänicke
599c03530a
Add automatic query of EGD sockets to RAND_poll(). The EGD sockets are
...
only queried when the /dev/[u]random devices did not return enough
entropy. Only the amount of entropy missing to reach the required minimum
is queried, as EGD may be drained.
Queried locations are: /etc/entropy, /var/run/egd-pool
2001-01-09 16:44:59 +00:00
Lutz Jänicke
28e5428d5d
Don't cheat: when only getting several bytes from each source, n is incremented
...
correctly, but RAND_add(..,n) counts the increasing n several times.
Only RAND_add(..,n) once entropy collection is finished.
2001-01-09 10:58:36 +00:00
Richard Levitte
0c61e299b3
Change RAND_poll for Unix to try a number of devices and only read
...
them for a short period of time (actually, poll them with select(),
then read() whatever is there), which is about 10ms (hard-coded value)
each.
Separate Windows and Unixly code, and start on a VMS variant that
currently just returns 0.
2001-01-08 10:59:26 +00:00
Bodo Möller
b2e7419a1d
Simplify preprocessor statements.
2000-12-17 00:30:03 +00:00
Richard Levitte
3a3ca1d474
Do not poll DEVRANDOM if weäre building without an file pointer API.
...
Spotted by "David Schwartz" <davids@webmaster.com>.
2000-12-16 11:19:19 +00:00
Ulf Möller
c1db5bfc08
fix for Borland C
2000-11-29 16:43:50 +00:00
Ulf Möller
6a8ba34f9d
in some new file names the first 8 characters were not unique
2000-11-12 22:32:18 +00:00
Ulf Möller
361c7f2b52
Set the CryptoAPI randomness estimate back to 0.
...
The randomness may not actually be very good (we don't know).
2000-11-04 03:33:26 +00:00
Ulf Möller
9f6fe8dbe7
increase the value a bit
2000-11-03 23:07:01 +00:00
Richard Levitte
5270e7025e
Merge the engine branch into the main trunk. All conflicts resolved.
...
At the same time, add VMS support for Rijndael.
2000-10-26 21:07:28 +00:00
Richard Levitte
5ef67042f9
Do a favor to those who get weird compiles and report if RAND_pseudo_bytes
...
returns -1...
2000-10-10 15:08:30 +00:00
Richard Levitte
4e20a4e688
'ranlib' doesn't always run on some systems. That's actually
...
acceptable, since all that happens if it fails is a library with
an index, which makes linking slower, but still working correctly.
2000-09-25 08:53:15 +00:00
Richard Levitte
10bb0dbfec
Changes by Jeffrey Altman <jaltman@columbia.edu> to make RAND_poll()
...
work better in Win32. Verified by zhu qun-ying <qyzhu@krdl.org.sg>.
2000-09-21 07:02:27 +00:00
Richard Levitte
24842e0586
Going through performance statistics sometimes generates an exception,
...
so disable that part.
Reported by Jeffrey Altman <jaltman@columbia.edu>
2000-09-18 11:51:07 +00:00
Richard Levitte
159cf04e86
cyclecount is only used when __GNUC__ isn't defined.
2000-09-18 11:44:40 +00:00
Richard Levitte
676432d4e1
Disable the net statistics gathering code, since different compilers
...
disagree on the proper syntax and type names.
2000-09-18 11:24:32 +00:00
Richard Levitte
362f2b69ff
Jeffrey Altman reminds us to initialize some variables and ercommends the use of LOadLibrary instead of GetModuleHandle
2000-09-18 01:48:38 +00:00
Richard Levitte
1d95fb659d
Jeffrey Altman <jaltman@columbia.edu> sent me a patch that fixes the
...
problems with GetCursorInfo, but also adds network statistics and
performance statistics where available.
2000-09-17 18:42:13 +00:00
Richard Levitte
848f3d40c8
Later, Jeffrey changed his mind. Apparently, GetCursorInfo exists but
...
doesn't quite work on WinNT 4 earlier than SP6. It works fine on
Windows 98 and Windows 2000.
I'm disabling it for now. What's really needed is some kind of check
to see if GetCursorInfo is safe to call, or alternatively, GetCursor
or GetCursorPos could be used, according to Jeffrey.
2000-09-15 11:33:14 +00:00
Ulf Möller
1949e78336
Jeffrey Altman points out that GetQueueStatus() crashes on NT.
2000-09-15 04:20:40 +00:00
Richard Levitte
7abee0cedf
Jeffrey Altman convinced me this patch was really needed, or there is
...
no way to make sure GetCursorInfo will give us a valid answer.
2000-09-14 09:19:19 +00:00
Ulf Möller
24b8bf2163
Point to Peter Gutmann's revised paper.
...
The copy at www.usenix.org is the old version.
2000-09-13 14:24:07 +00:00
Richard Levitte
c0366d89f6
3 changes:
...
- Make sure PCURSORINFO is defined even on systems that do not provide it.
- Change the reference to Peter Gutmann's paper.
- Make sure we don't walk the whole heap lists for performance reasons.
Jeffrey Altman suggests following Peter Gutmann's advice to keep it
to 50 heap entries per heap list.
2000-09-13 07:17:35 +00:00
Richard Levitte
74d2b0f112
Don't include e_os.h before the system headers
2000-09-11 16:37:36 +00:00
Richard Levitte
25a73f2690
A cast is needed or Borland C will complain.
2000-09-11 11:43:35 +00:00
Richard Levitte
62ab514e98
'make update'
2000-09-07 08:46:51 +00:00
Richard Levitte
d309394447
Make sure that 'initialized' is zeroed as well when cleaning up.
2000-08-08 15:06:44 +00:00
Richard Levitte
d6ade7422a
Looks like Win32 builds do not define THREADS. However, they're still
...
supporting threads, which means that th assertion is supperbly
dangerous, so make sure it's not compiled under Win32, period.
2000-07-27 20:14:39 +00:00
Richard Levitte
a4125514f5
There's a deadlock when ssleay_rand_bytes is called the first time, since
...
it wants to stir the pool using ssleay_rand_add. This fix provides the
possibility to call ssleay_rand_add inside a locked state by simply telling
it not to do any locking through a static variable. This isn't the most
elegant way one could do this, but it does retain thread safety during the
stirring process.
2000-07-26 08:32:00 +00:00
Dr. Stephen Henson
033d001e90
Fix warnings.
...
In crypto/err/err.c need to initialise p to
NULL in case thread_hash is NULL. Otherwise
p will be uninitialized.
2000-07-26 01:39:23 +00:00
Richard Levitte
f944e7845c
"make update"
2000-07-24 10:02:47 +00:00
Ulf Möller
2ad3c4c89e
oops.
2000-07-21 02:14:15 +00:00
Ulf Möller
3866db2d5a
don't print debug output
2000-07-21 01:13:26 +00:00
Ulf Möller
8ad7635ec9
Move RNG initialization to RAND_poll(), and shared definitions to
...
rand_lcl.h
2000-07-19 21:43:23 +00:00
Ulf Möller
c0722725f9
Randomness polling function for Win9x.
2000-07-19 21:35:35 +00:00
Richard Levitte
f365611ca3
Undo the changes I just made. I'm not sure what I was thinking of.
...
The message to everyone is "Do not hack OpenSSL when stressed"...
2000-06-28 16:47:45 +00:00
Richard Levitte
dffd72f171
Make it possible for people to tell where the EGD socket is through
...
the RANDEGD environment variable.
2000-06-28 16:09:54 +00:00
Richard Levitte
3b3bc455d0
That's it, I've seen questions about this one time too many for
...
today. Time to add extra info so the poor users know where to
go with their troubles.
2000-06-28 14:32:12 +00:00
Dr. Stephen Henson
130832150c
Fixes for Win32 build.
...
This is mostly a work around for the old VC++ problem
that it treats func() as func(void).
Various prototypes had been added to 'compare' function
pointers that triggered this. This could be fixed by removing
the prototype, adding function pointer casts to every call or
changing the passed function to use the expected arguments.
I mostly did the latter.
The mkdef.pl script was modified to remove the typesafe
functions which no longer exist.
Oh and some functions called OPENSSL_freeLibrary() were
changed back to FreeLibrary(), wonder how that happened :-)
2000-06-21 02:25:30 +00:00
Bodo Möller
4ee1eb7bd4
There are compilers that complain if a variable has the same name as a
...
label. (Reported by Alexei Bakharevski.)
2000-06-16 14:24:37 +00:00
Geoff Thorpe
1c4f90a05d
Enable DSO support on alpha (OSF1), cc and gcc.
...
Also, "make update" has added some missing functions to libeay.num,
updated the TABLE for the alpha changes, and updated thousands of
dependancies that have changed from recent commits.
2000-06-13 12:59:38 +00:00
Ben Laurie
1921eaad64
EVP constification.
2000-06-03 14:13:58 +00:00
Richard Levitte
26a3a48d65
There have been a number of complaints from a number of sources that names
...
like Malloc, Realloc and especially Free conflict with already existing names
on some operating systems or other packages. That is reason enough to change
the names of the OpenSSL memory allocation macros to something that has a
better chance of being unique, like prepending them with OPENSSL_.
This change includes all the name changes needed throughout all C files.
2000-06-01 22:19:21 +00:00
Bodo Möller
2ace287dea
Move Windows seeding functions into a separate file.
...
They have nothing to do with the particular PRNG (md_rand.c).
2000-05-31 12:48:35 +00:00
Bodo Möller
361ee9733f
Improve PRNG robustness.
2000-05-30 21:44:36 +00:00
Bodo Möller
50e4e9283d
When open()ing 'file' in RAND_write_file, don't use O_EXCL.
...
This is superfluous now that we don't have to avoid creating
multiple versions of the file on VMS (because older versions
are now deleted).
2000-05-11 23:10:27 +00:00
Richard Levitte
82271cee5b
In Message-ID: <003201bfb332$14a07520$0801a8c0@janm.transactionsite.com>,
...
"Jan Mikkelsen" <janm@transactionsite.com> correctly states that the
OpenSSL header files have #include's and extern "C"'s in an incorrect
order. Thusly fixed.
2000-05-02 12:16:01 +00:00
Bodo Möller
b841e0acd8
'entropy >= ENTROPY_NEEDED' should be evaluated while the
...
variables are locked.
2000-03-30 06:11:54 +00:00
Richard Levitte
7ae634de49
Since ssleay_rand_initialize() unlocks then locks CRYPTO_LOCK_RAND,
...
it's a good thing if ssleay_rand_status() would do the corresponding
lock and unlock as everyone else...
2000-03-29 17:25:52 +00:00
Ulf Möller
a6aa71ff5f
Bug fix: RAND_write_file() failed to write to files created by open()
...
on Win32.
2000-03-19 22:57:07 +00:00
Richard Levitte
87b89b799f
Make sure an error condition is returned if, for some reason, the file
...
couldn't be opened.
2000-03-19 19:10:03 +00:00
Ulf Möller
f3f3cc0cca
oops. don't use "entropy" directly.
2000-03-19 17:20:26 +00:00
Ulf Möller
c97b11f4b3
New function RAND_event() collects entropy from Windows events.
2000-03-19 17:14:25 +00:00
Bodo Möller
863fe2ecac
cleaning up a little
2000-03-12 23:27:14 +00:00
Bodo Möller
bf8479d22f
Workaround for Windoze weirdness.
2000-03-11 01:29:26 +00:00
Bodo Möller
59fc2b0fc2
Preserve reason strings in automatically build tables.
2000-03-05 00:19:36 +00:00
Bodo Möller
1a2450bfc3
There is no reason to use downcase letters throughout in error reason
...
strings, it's just the default because it's usually ok.
2000-03-04 17:56:32 +00:00
Bodo Möller
5eb8ca4d92
Use RAND_METHOD for implementing RAND_status.
2000-03-02 14:34:58 +00:00
Ulf Möller
e64dceab74
Switch for turning on the predictable "random" number generator.
2000-02-28 20:19:39 +00:00
Ulf Möller
c9e1fe33be
Fix for non-monolithic build.
...
Submitted by: Andrew Gray <agray@iconsinc.com>
2000-02-28 20:16:06 +00:00
Bodo Möller
fd74679ae2
Use standard header file string.h for memset prototype (where
...
"standard" refers to the C language, probably there's also some
standard that defines memory.h).
2000-02-27 17:37:41 +00:00
Ben Laurie
c850925cdf
Declare memset.
2000-02-27 17:01:20 +00:00
Richard Levitte
7bd3a58022
make update
2000-02-26 04:48:22 +00:00
Richard Levitte
668ba7d63f
ftruncate() and fileno() are not supported on all versions of OpenVMS
...
(they don't really exist before version 7), so that solution was toast.
Instead, let's do it the way it's done on Unix, but then remove older
versions of the file.
That new mechanism *may* fail for some unixly formated file spec,
although I wouldn't worry too much about it.
2000-02-26 01:55:56 +00:00
Richard Levitte
7c0dc41c38
For safety, check __VMS as well.
2000-02-26 00:26:17 +00:00
Richard Levitte
3e0f27f3c9
Changes to synchronise with Unix.
...
(actually, much more is needed, like a real config script)
2000-02-25 20:37:46 +00:00
Ulf Möller
fea217f96f
EGD bugfix.
...
Submitted by: Lutz Jaenicke <Lutz.Jaenicke@aet.TU-Cottbus.DE>
2000-02-25 14:16:43 +00:00
Bodo Möller
c6709c6b0f
handle entropy estimate correctly
2000-02-25 07:40:53 +00:00
Bodo Möller
1a33f6da8b
Don't use buffered fread() to read from DEVRANDOM,
...
because this will drain the entropy pool.
2000-02-24 20:24:45 +00:00
Bodo Möller
a7b991bd68
Don't define platform-dependent preprocessor symbols for OPENSSL_THREAD_DEFINES.
...
"make update".
2000-02-24 18:19:50 +00:00
Ralf S. Engelschall
8d5b4ee1ca
Add an evil cast, because POSIX/SUSv2 define connect(2) require
...
the second argument to be of type ``struct sockaddr *''.
2000-02-24 10:36:51 +00:00
Ulf Möller
4ec2d4d2b3
Support EGD.
2000-02-24 02:51:47 +00:00