X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=FAQ;h=ecce985a44420b0df880ddfc8975d495e9061c1a;hp=29acc8afdf5be9f58c0bce13c58259e6b522414b;hb=f7a059316f4433cf339b5dce7ff034a9862df490;hpb=0e8f2fdfddd08b16c5240f881a232fbdc7af69ad diff --git a/FAQ b/FAQ index 29acc8afdf..ecce985a44 100644 --- a/FAQ +++ b/FAQ @@ -6,6 +6,7 @@ OpenSSL - Frequently Asked Questions * How can I contact the OpenSSL developers? * Do I need patent licenses to use OpenSSL? * Is OpenSSL thread-safe? +* Can I use OpenSSL's SSL library with non-blocking I/O? * Why do I get a "PRNG not seeded" error message? * Why does the linker complain about undefined symbols? * Where can I get a compiled version of OpenSSL? @@ -27,6 +28,8 @@ OpenSSL - Frequently Asked Questions * Why does the OpenSSL test fail with "bc: 1 no implemented"? * Why does the OpenSSL compilation fail on Alpha True64 Unix? * Why does the OpenSSL compilation fail with "ar: command not found"? +* Why does the OpenSSL compilation fail on Win32 with VC++? +* Why aren't tools like 'autoconf' and 'libtool' used? * Which is the current version of OpenSSL? @@ -101,6 +104,20 @@ Multi-threaded applications must provide two callback functions to OpenSSL. This is described in the threads(3) manpage. +* Can I use OpenSSL's SSL library with non-blocking I/O? + +Yes; make sure to read the SSL_get_error(3) manual page! + +A pitfall to avoid: Don't assume that SSL_read() will just read from +the underlying transport or that SSL_write() will just write to it -- +it is also possible that SSL_write() cannot do any useful work until +there is data to read, or that SSL_read() cannot do anything until it +is possible to send data. One reason for this is that the peer may +request a new TLS/SSL handshake at any time during the protocol, +requiring a bi-directional message exchange; both SSL_read() and +SSL_write() will try to continue any pending handshake. + + * Why do I get a "PRNG not seeded" error message? Cryptographic software needs a source of unpredictable data to work @@ -430,3 +447,29 @@ and then redo the compilation. What you should really do is make sure '/usr/ccs/bin' is permanently in your $PATH, for example through your '.profile' (again, assuming you use a sh-compatible shell). + +* Why does the OpenSSL compilation fail on Win32 with VC++? + +Sometimes, you may get reports from VC++ command line (cl) that it +can't find standard include files like stdio.h and other weirdnesses. +One possible cause is that the environment isn't correctly set up. +To solve that problem, one should run VCVARS32.BAT which is found in +the 'bin' subdirectory of the VC++ installation directory (somewhere +under 'Program Files'). This needs to be done prior to running NMAKE, +and the changes are only valid for the current DOS session. + + +* Why aren't tools like 'autoconf' and 'libtool' used? + +autoconf is a nice tool, but is unfortunately very Unix-centric. +Although one can come up with solution to have ports keep in track, +there's also some work needed for that, and can be quite painful at +times. If there was a 'autoconf'-like tool that generated perl +scripts or something similarly general, it would probably be used +in OpenSSL much earlier. + +libtool has repeatadly been reported by some members of the OpenSSL +development and others to be a pain to use. So far, those in the +development team who have said anything about this have expressed +a wish to avoid libtool for that reason. +