PR: 1894
Submitted by: Ger Hobbelt <ger@hobbelt.com> Approved by: steve@openssl.org Fix various typos and stuff.
This commit is contained in:
parent
a5cc69c7ae
commit
9990cb75c1
@ -148,7 +148,7 @@ eric (about to go bushwalking for the 4 day easter break :-)
|
||||
This would tend to cause memory overwrites since SSLv3 has
|
||||
a maximum packet size of 16k. If your program uses
|
||||
buffers <= 16k, you would probably never see this problem.
|
||||
- Fixed a new errors that were cause by malloc() not returning
|
||||
- Fixed a few errors that were cause by malloc() not returning
|
||||
0 initialised memory..
|
||||
- SSL_OP_NETSCAPE_CA_DN_BUG was being switched on when using
|
||||
SSL_CTX_set_options(ssl_ctx,SSL_OP_ALL); which was a bad thing
|
||||
|
@ -704,7 +704,7 @@ int MAIN(int argc, char **argv)
|
||||
|
||||
if (secret_key && !secret_keyid)
|
||||
{
|
||||
BIO_printf(bio_err, "No sectre key id\n");
|
||||
BIO_printf(bio_err, "No secret key id\n");
|
||||
goto end;
|
||||
}
|
||||
|
||||
|
@ -671,7 +671,7 @@ static int MS_CALLBACK ssl_servername_cb(SSL *s, int *ad, void *arg)
|
||||
return p->extension_error;
|
||||
if (ctx2)
|
||||
{
|
||||
BIO_printf(p->biodebug,"Swiching server context.\n");
|
||||
BIO_printf(p->biodebug,"Switching server context.\n");
|
||||
SSL_set_SSL_CTX(s,ctx2);
|
||||
}
|
||||
}
|
||||
|
@ -205,7 +205,7 @@ int CRYPTO_get_new_lockid(char *name)
|
||||
#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WIN16)
|
||||
/* A hack to make Visual C++ 5.0 work correctly when linking as
|
||||
* a DLL using /MT. Without this, the application cannot use
|
||||
* and floating point printf's.
|
||||
* any floating point printf's.
|
||||
* It also seems to be needed for Visual C 1.5 (win16) */
|
||||
SSLeay_MSVC5_hack=(double)name[0]*(double)name[1];
|
||||
#endif
|
||||
|
@ -787,7 +787,7 @@ void CRYPTO_mem_leaks(BIO *b)
|
||||
* XXX This should be in CRYPTO_mem_leaks_cb,
|
||||
* and CRYPTO_mem_leaks should be implemented by
|
||||
* using CRYPTO_mem_leaks_cb.
|
||||
* (Also their should be a variant of lh_doall_arg
|
||||
* (Also there should be a variant of lh_doall_arg
|
||||
* that takes a function pointer instead of a void *;
|
||||
* this would obviate the ugly and illegal
|
||||
* void_fn_to_char kludge in CRYPTO_mem_leaks_cb.
|
||||
|
@ -382,7 +382,7 @@
|
||||
#endif /* defined OPENSSL_SYS_VMS */
|
||||
|
||||
|
||||
/* Case insensiteve linking causes problems.... */
|
||||
/* Case insensitive linking causes problems.... */
|
||||
#if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2)
|
||||
#undef ERR_load_CRYPTO_strings
|
||||
#define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings
|
||||
|
@ -152,7 +152,7 @@ static int set_dist_point_name(DIST_POINT_NAME **pdp, X509V3_CTX *ctx,
|
||||
sk_X509_NAME_ENTRY_num(rnm) - 1)->set)
|
||||
{
|
||||
X509V3err(X509V3_F_SET_DIST_POINT_NAME,
|
||||
X509V3_R_INVAID_MULTIPLE_RDNS);
|
||||
X509V3_R_INVALID_MULTIPLE_RDNS);
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
|
@ -82,7 +82,7 @@ static int process_pci_value(CONF_VALUE *val,
|
||||
{
|
||||
if (*language)
|
||||
{
|
||||
X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_LANGUAGE_ALREADTY_DEFINED);
|
||||
X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED);
|
||||
X509V3_conf_err(val);
|
||||
return 0;
|
||||
}
|
||||
@ -97,7 +97,7 @@ static int process_pci_value(CONF_VALUE *val,
|
||||
{
|
||||
if (*pathlen)
|
||||
{
|
||||
X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_PATH_LENGTH_ALREADTY_DEFINED);
|
||||
X509V3err(X509V3_F_PROCESS_PCI_VALUE,X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED);
|
||||
X509V3_conf_err(val);
|
||||
return 0;
|
||||
}
|
||||
|
@ -74,7 +74,7 @@ Writes to memory BIOs will always succeed if memory is available: that is
|
||||
their size can grow indefinitely.
|
||||
|
||||
Every read from a read write memory BIO will remove the data just read with
|
||||
an internal copy operation, if a BIO contains a lots of data and it is
|
||||
an internal copy operation, if a BIO contains a lot of data and it is
|
||||
read in small chunks the operation can be very slow. The use of a read only
|
||||
memory BIO avoids this problem. If the BIO must be read write then adding
|
||||
a buffering BIO to the chain will speed up the process.
|
||||
|
@ -20,7 +20,7 @@ don't do that.
|
||||
==== readme ========================================================
|
||||
|
||||
This is the old 0.6.6 docuementation. Most of the cipher stuff is still
|
||||
relevent but I'm working (very slowly) on new docuemtation.
|
||||
relevent but I'm working (very slowly) on new documentation.
|
||||
The current version can be found online at
|
||||
|
||||
http://www.cryptsoft.com/ssleay/doc
|
||||
@ -548,8 +548,8 @@ application, ssleay. This one program is composed of many programs that
|
||||
can all be compiled independantly.
|
||||
|
||||
ssleay has 3 modes of operation.
|
||||
1) If the ssleay binaray has the name of one of its component programs, it
|
||||
executes that program and then exits. This can be achieve by using hard or
|
||||
1) If the ssleay binary has the name of one of its component programs, it
|
||||
executes that program and then exits. This can be achieved by using hard or
|
||||
symbolic links, or failing that, just renaming the binary.
|
||||
2) If the first argument to ssleay is the name of one of the component
|
||||
programs, that program runs that program and then exits.
|
||||
@ -1185,7 +1185,7 @@ typedef struct bio_st
|
||||
example is for BIO_s_sock(). A socket needs to be
|
||||
assigned to the BIO before it can be used.
|
||||
- 'shutdown', this flag indicates if the underlying
|
||||
comunication primative being used should be closed/freed
|
||||
communication primitive being used should be closed/freed
|
||||
when the BIO is closed.
|
||||
- 'flags' is used to hold extra state. It is primarily used
|
||||
to hold information about why a non-blocking operation
|
||||
@ -1799,7 +1799,7 @@ int BN_set_word(BIGNUM *a, unsigned long w);
|
||||
|
||||
unsigned long BN_get_word(BIGNUM *a);
|
||||
Returns 'a' in an unsigned long. Not remarkably, often 'a' will
|
||||
be biger than a word, in which case 0xffffffffL is returned.
|
||||
be bigger than a word, in which case 0xffffffffL is returned.
|
||||
|
||||
Word Operations
|
||||
These functions are much more efficient that the normal bignum arithmetic
|
||||
@ -2058,7 +2058,7 @@ Now you will notice that macros like
|
||||
PEM_ASN1_write((int (*)())i2d_X509,PEM_STRING_X509,fp, \
|
||||
(char *)x, NULL,NULL,0,NULL)
|
||||
Don't do encryption normally. If you want to PEM encrypt your X509 structure,
|
||||
either just call PEM_ASN1_write directly or just define you own
|
||||
either just call PEM_ASN1_write directly or just define your own
|
||||
macro variant. As you can see, this macro just sets all encryption related
|
||||
parameters to NULL.
|
||||
|
||||
@ -5566,7 +5566,7 @@ These 2 functions create and destroy SSL_CTX structures
|
||||
|
||||
The SSL_CTX has a session_cache_mode which is by default,
|
||||
in SSL_SESS_CACHE_SERVER mode. What this means is that the library
|
||||
will automatically add new session-id's to the cache apon sucsessful
|
||||
will automatically add new session-id's to the cache upon successful
|
||||
SSL_accept() calls.
|
||||
If SSL_SESS_CACHE_CLIENT is set, then client certificates are also added
|
||||
to the cache.
|
||||
@ -5580,12 +5580,12 @@ SSL_SESS_NO_CACHE_BOTH - Either SSL_accept() or SSL_connect().
|
||||
If SSL_SESS_CACHE_NO_AUTO_CLEAR is set, old timed out sessions are
|
||||
not automatically removed each 255, SSL_connect()s or SSL_accept()s.
|
||||
|
||||
By default, apon every 255 successful SSL_connect() or SSL_accept()s,
|
||||
By default, upon every 255 successful SSL_connect() or SSL_accept()s,
|
||||
the cache is flush. Please note that this could be expensive on
|
||||
a heavily loaded SSL server, in which case, turn this off and
|
||||
clear the cache of old entries 'manually' (with one of the functions
|
||||
listed below) every few hours. Perhaps I should up this number, it is hard
|
||||
to say. Remember, the '255' new calls is just a mechanims to get called
|
||||
to say. Remember, the '255' new calls is just a mechanism to get called
|
||||
every now and then, in theory at most 255 new session-id's will have been
|
||||
added but if 100 are added every minute, you would still have
|
||||
500 in the cache before any would start being flushed (assuming a 3 minute
|
||||
@ -5628,10 +5628,10 @@ if copy is 1. Otherwise, the reference count is not modified.
|
||||
void SSL_CTX_sess_set_get_cb(ctx,cb) sets the callback and
|
||||
int (*cb)()SSL_CTX_sess_get_get_cb(ctx) returns the callback.
|
||||
|
||||
These callbacks are basically indended to be used by processes to
|
||||
These callbacks are basically intended to be used by processes to
|
||||
send their session-id's to other processes. I currently have not implemented
|
||||
non-blocking semantics for these callbacks, it is upto the appication
|
||||
to make the callbacks effiecent if they require blocking (perhaps
|
||||
non-blocking semantics for these callbacks, it is upto the application
|
||||
to make the callbacks efficient if they require blocking (perhaps
|
||||
by 'saving' them and then 'posting them' when control returns from
|
||||
the SSL_accept().
|
||||
|
||||
@ -6589,7 +6589,7 @@ This information can be used to recall the functions when the 'error'
|
||||
condition has dissapeared.
|
||||
|
||||
After the connection has been made, information can be retrived about the
|
||||
SSL session and the session-id values that have been decided apon.
|
||||
SSL session and the session-id values that have been decided upon.
|
||||
The 'peer' certificate can be retrieved.
|
||||
|
||||
The session-id values include
|
||||
|
8
e_os.h
8
e_os.h
@ -112,7 +112,7 @@ extern "C" {
|
||||
/********************************************************************
|
||||
The Microsoft section
|
||||
********************************************************************/
|
||||
/* The following is used becaue of the small stack in some
|
||||
/* The following is used because of the small stack in some
|
||||
* Microsoft operating systems */
|
||||
#if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYSNAME_WIN32)
|
||||
# define MS_STATIC static
|
||||
@ -275,14 +275,14 @@ extern "C" {
|
||||
# if !defined(OPENSSL_NO_SOCK) && defined(_WIN32_WINNT)
|
||||
/*
|
||||
* Just like defining _WIN32_WINNT including winsock2.h implies
|
||||
* certain "discipline" for maintaing [broad] binary compatibility.
|
||||
* certain "discipline" for maintaining [broad] binary compatibility.
|
||||
* As long as structures are invariant among Winsock versions,
|
||||
* it's sufficient to check for specific Winsock2 API availability
|
||||
* at run-time [DSO_global_lookup is recommended]...
|
||||
*/
|
||||
# include <winsock2.h>
|
||||
# include <ws2tcpip.h>
|
||||
/* yes, they have to be #included prior <windows.h> */
|
||||
/* yes, they have to be #included prior to <windows.h> */
|
||||
# endif
|
||||
# include <windows.h>
|
||||
# include <stdio.h>
|
||||
@ -372,7 +372,7 @@ static unsigned int _strlen31(const char *str)
|
||||
# define DEFAULT_HOME "C:"
|
||||
# endif
|
||||
|
||||
#else /* The non-microsoft world world */
|
||||
#else /* The non-microsoft world */
|
||||
|
||||
# ifdef OPENSSL_SYS_VMS
|
||||
# define VMS 1
|
||||
|
2
e_os2.h
2
e_os2.h
@ -262,7 +262,7 @@ extern "C" {
|
||||
#define OPENSSL_EXTERN OPENSSL_IMPORT
|
||||
|
||||
/* Macros to allow global variables to be reached through function calls when
|
||||
required (if a shared library version requvres it, for example.
|
||||
required (if a shared library version requires it, for example.
|
||||
The way it's done allows definitions like this:
|
||||
|
||||
// in foobar.c
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
/* Computes Diffie-Hellman key and stores it into buffer in
|
||||
* little-endian byte order as expected by both versions of GOST 94
|
||||
* algorigthm
|
||||
* algorithm
|
||||
*/
|
||||
static int compute_pair_key_le(unsigned char *pair_key,BIGNUM *pub_key,DH *dh)
|
||||
{
|
||||
|
@ -3,7 +3,7 @@
|
||||
* Copyright (c) 2005-2006 Cryptocom LTD *
|
||||
* This file is distributed under the same license as OpenSSL *
|
||||
* *
|
||||
* Implementation of GOST R 34.10-94 signature algoritgthm *
|
||||
* Implementation of GOST R 34.10-94 signature algorithm *
|
||||
* for OpenSSL *
|
||||
* Requires OpenSSL 0.9.9 for compilation *
|
||||
**********************************************************************/
|
||||
|
@ -4,7 +4,7 @@ to build with visual C++ 4.[01].
|
||||
|
||||
The results will be in the out directory.
|
||||
|
||||
These makefiles and def files were generated my typing
|
||||
These makefiles and def files were generated by typing
|
||||
|
||||
perl util\mk1mf.pl VC-NT >ms/nt.mak
|
||||
perl util\mk1mf.pl VC-NT dll >ms/ntdll.mak
|
||||
|
@ -655,7 +655,7 @@ static int ssl3_handshake_mac(SSL *s, int md_nid,
|
||||
if (!ssl3_digest_cached_records(s))
|
||||
return 0;
|
||||
|
||||
/* Search for djgest of specified type in the handshake_dgst
|
||||
/* Search for digest of specified type in the handshake_dgst
|
||||
* array*/
|
||||
for (i=0;i<SSL_MAX_DIGEST;i++)
|
||||
{
|
||||
|
@ -837,8 +837,7 @@ int ssl3_write_pending(SSL *s, int type, const unsigned char *buf,
|
||||
}
|
||||
else if (i <= 0) {
|
||||
if (s->version == DTLS1_VERSION) {
|
||||
/* For DTLS, just drop it. That's kind of the wh
|
||||
ole
|
||||
/* For DTLS, just drop it. That's kind of the whole
|
||||
point in using a datagram service */
|
||||
wb->left = 0;
|
||||
}
|
||||
|
16
test/times
16
test/times
@ -1,7 +1,7 @@
|
||||
|
||||
More number for the questions about SSL overheads....
|
||||
|
||||
The following numbers were generated on a pentium pro 200, running linux.
|
||||
The following numbers were generated on a Pentium pro 200, running Linux.
|
||||
They give an indication of the SSL protocol and encryption overheads.
|
||||
|
||||
The program that generated them is an unreleased version of ssl/ssltest.c
|
||||
@ -11,7 +11,7 @@ interface.
|
||||
|
||||
How do I read this? The protocol and cipher are reasonable obvious.
|
||||
The next number is the number of connections being made. The next is the
|
||||
number of bytes exchanged bewteen the client and server side of the protocol.
|
||||
number of bytes exchanged between the client and server side of the protocol.
|
||||
This is the number of bytes that the client sends to the server, and then
|
||||
the server sends back. Because this is all happening in one process,
|
||||
the data is being encrypted, decrypted, encrypted and then decrypted again.
|
||||
@ -55,10 +55,10 @@ SSLv3 DES-CBC3-SHA 1000 x 102400 336.61s 323.82s
|
||||
|
||||
What does this all mean? Well for a server, with no session-id reuse, with
|
||||
a transfer size of 10240 bytes, using RC4-MD5 and a 512bit server key,
|
||||
a pentium pro 200 running linux can handle the SSLv3 protocol overheads of
|
||||
a Pentium pro 200 running Linux can handle the SSLv3 protocol overheads of
|
||||
about 49 connections a second. Reality will be quite different :-).
|
||||
|
||||
Remeber the first number is 1000 full ssl handshakes, the second is
|
||||
Remember the first number is 1000 full ssl handshakes, the second is
|
||||
1 full and 999 with session-id reuse. The RSA overheads for each exchange
|
||||
would be one public and one private operation, but the protocol/MAC/cipher
|
||||
cost would be quite similar in both the client and server.
|
||||
@ -72,21 +72,21 @@ eric (adding numbers to speculation)
|
||||
killer in SSL. Often delays in the TCP protocol will make session-id
|
||||
reuse look slower that new sessions, but this would not be the case on
|
||||
a loaded server.
|
||||
- The TCP round trip latencies, while slowing indervidual connections,
|
||||
- The TCP round trip latencies, while slowing individual connections,
|
||||
would have minimal impact on throughput.
|
||||
- Instead of sending one 102400 byte buffer, one 8k buffer is sent until
|
||||
- the required number of bytes are processed.
|
||||
- The SSLv3 connections were actually SSLv2 compatable SSLv3 headers.
|
||||
- The SSLv3 connections were actually SSLv2 compatible SSLv3 headers.
|
||||
- A 512bit server key was being used except where noted.
|
||||
- No server key verification was being performed on the client side of the
|
||||
protocol. This would slow things down very little.
|
||||
- The library being used is SSLeay 0.8.x.
|
||||
- The normal mesauring system was commands of the form
|
||||
- The normal measuring system was commands of the form
|
||||
time ./ssltest -num 1000 -bytes 102400 -cipher DES-CBC-SHA -reuse
|
||||
This modified version of ssltest should be in the next public release of
|
||||
SSLeay.
|
||||
|
||||
The general cipher performace number for this platform are
|
||||
The general cipher performance number for this platform are
|
||||
|
||||
SSLeay 0.8.2a 04-Sep-1997
|
||||
built on Fri Sep 5 17:37:05 EST 1997
|
||||
|
@ -60,7 +60,7 @@ void main(int argc,char *argv[])
|
||||
des_encrypt3(&data[0],key1,key2,key3);
|
||||
}
|
||||
|
||||
printf("des %d %d (%d)\n",
|
||||
printf("des3 %d %d (%d)\n",
|
||||
e1-s1,e2-s2,((e2-s2)-(e1-s1)));
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user