The other possibility is that you installed your SSL library
in a non-standard place. Use the --with-ssl
directive when running configure to tell it where this
directory is.
Note this is the directory in which you have a certs
subdirectory, and the SSL libraries. If your certs directory is not
inside your SSL library directory, then you must make a link to the
certs directory inside your SSL directory.
ssl.c: In function `context_init': ssl.c:205: too few arguments to function `PEM_read_bio_DHparams'
OpenSSL 0.9.4 changed the parameters sent to the PEM_read_bio_DHparams function. You can apply a patch contributed by Mark D. Baushke:
To use it, save the
patch into a file called
'stunnel-openssl.patch'
in the directory in which you unpacked stunnel. Then run the command
patch < stunnel-openssl.patch
and recompile stunnel.
If you do not have (or feel comfortable with) patch, you could
simply change line 205 of ssl.c from
if(!(dh=PEM_read_bio_DHparams(bio, NULL, NULL))) {
to
if(!(dh=PEM_read_bio_DHparams(bio, NULL, NULL, NULL))) {
The patch above is much more portable however.
gcc -g -O2 -Wall -I/usr/include -Dlibdir=\"/usr/local/lib\" -c ssl.c ssl.c:83: lhash.h: No such file or directory ssl.c:84: ssl.h: No such file or directory ssl.c:85: err.h: No such file or directory
--with-ssl=PATH'
to specify the actual locations of your ssl installation.
configure isn't finding my tcp wrapper
installation
Let's say you had your tcp wrappers installed in /opt/tcpd_7.6.
To help gcc find your include files and libraries, you'd want to set three
environment variables as follows:
CFLAGS="$CFLAGS -I/opt/tcpd_7.6/include"
CPPFLAGS="$CPPFLAGS -I/opt/tcpd_7.6/include"
LDFLAGS="$LDFLAGS -L/opt/tcpd_7.6/lib"
export CFLAGS CPPFLAGS LDFLAGS
And then re-run configure. This is the generic way
to have configure find specific libraries, and is not
specific to stunnel itself.
-D 7
-f
SSL_accept: error:00000000::lib(0) :func(0) :reason(0)
What does it mean?
Alternitively you could use a different protocol. For example
you could use SSHv1 which contains a program
called scp which operates
much like rcp, or the newer SSHv2
which also includes a program called sftp.
SSL_accept:error:140760F8:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol SSL_accept:error:1409B0AB:SSL routines:SSL3_SEND_SERVER_KEY_EXCHANGE:missing tmp rsa key
It is not determined if this applies to merely Outlook, or Windows 2000 in general, however it's a good idea to update your machine.
stunnel -c -r www:443then it will not work.
The newest version of OpenSSL, 0.9.5, which was released Feb 28, 2000, claims it supports this now. If anyone can try and report back that would be wonderful.
*** ssl.c~ Mon Mar 6 03:47:13 2000
--- ssl.c Mon Mar 6 03:50:44 2000
***************
*** 322,327 ****
--- 322,332 ----
SSL_set_session_id_context(ssl, sid_ctx, strlen(sid_ctx));
#endif
if(options.option&OPT_CLIENT) {
+ /* Attempt to use the most recent id in the session cache */
+ if ( ctx->session_cache_head )
+ if ( ! SSL_set_session(ssl, ctx->session_cache_head) )
+ log(LOG_WARNING, "Cannot set most recent session id");
+
SSL_set_fd(ssl, remote);
SSL_set_connect_state(ssl);
if(SSL_connect(ssl)<=0) {
I've tested it rather exensively, and it seems to work fine.
Michal hasn't addressed this yet in stunnel, but is expected to in the next version. It only affects certain operating systems.
The problem is that stunnel is hard-coded to use /dev/urandom
currently, and cannot look elsewhere. Thus, save from making
patches to the stunnel source, you must have your entropy available
in that file.
There are two main possibilies:
egd /path/to/socketThis starts the daemon, listening on that socket, for example
/tmp/entropy. You then need to get the
entropy out of the daemon. There is a script called
egc.pl that comes with egd which
is almost perfect for the purpose. However it outputs the
entropy encoded in the ascii set 0-9a-f, which is very
unrandom. However, to modify the script to suit our needs
change the line in egc.pl that reads
print "got $count bytes of entropy: ",unpack("H*",$buf),"\n";
to read
print $bufand simply run it as
egc.pl /path/to/socket read 256 > /dev/urandomIt's not difficult to put the
egc.pl line
just before you call stunnel in a script, however all this
section should be unnecessary in the next version of stunnel.
SUNski package from
Sun, patch 105710-01 (Sparc). It will enable /etc/random.
This was noted by Tim Nibbe on the
OpenSSL list. Then create a link to it as /dev/urandom.
Note: The following patches have not been tested or verified by Michael or the FAQ maintainer
I do not believe the last two fix the problem correctly, however it would seem that the random number generator wasn't seeded with anything at all on some operating systems in the current versions of stunnel, so it's no worse than before.