Kill the FAQ
authorRichard Levitte <levitte@openssl.org>
Tue, 17 Oct 2023 09:13:55 +0000 (11:13 +0200)
committerRichard Levitte <levitte@openssl.org>
Wed, 18 Oct 2023 09:41:11 +0000 (11:41 +0200)
It's unused and hasn't seen an update for eons.

Reviewed-by: Anton Arapov <anton@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/web/pull/431)

17 files changed:
.gitignore
.htaccess
Makefile
bin/mk-faq [deleted file]
dirdata.yaml
docs/dirdata.yaml
docs/faq-1-legal.txt [deleted file]
docs/faq-2-user.txt [deleted file]
docs/faq-3-prog.txt [deleted file]
docs/faq-4-build.txt [deleted file]
docs/faq-5-misc.txt [deleted file]
docs/faq-6-old.txt [deleted file]
docs/faq.md.tt [deleted file]
docs/index.md
inc/pandoc-body-prologue.html5
inc/screen.css
source/index.md.tt

index 6a77588c9d77cb710a12340988d96189cd54abff..a49bf67e9449d7651a7abe2bde2c4f28f4216b25 100644 (file)
@@ -16,7 +16,6 @@ community/omc.md
 community/*.html
 docs/OpenSSL300Design.html
 docs/OpenSSLStrategicArchitecture.html
-docs/faq.inc
 docs/fips.inc
 docs/man*/
 docs/manpages.md
index dc11eabe24d07586a491e7280c7ec75b17a29acc..ad8cf0af882a68066ecf9e2c6a2b01ac503327a1 100644 (file)
--- a/.htaccess
+++ b/.htaccess
@@ -6,7 +6,6 @@ Options +ExecCGI +FollowSymLinks
 Redirect permanent /about/releasestrat.html /policies/releasestrat.html
 Redirect permanent /licenses/openssl_ccla.pdf /policies/openssl_ccla.pdf
 Redirect permanent /licenses/openssl_icla.pdf /policies/openssl_icla.pdf
-Redirect permanent /support/faq.html /docs/faq.html
 Redirect permanent /licenses /policies/cla.html
 Redirect permanent /licenses/ /policies/cla.html
 Redirect permanent  /.well-known/acme-challenge/MX5CvUJNvymcKf22SNORcfjGk4oGQyIWJiBc_johfYo http://dcv.akamai.com/.well-known/acme-challenge/MX5CvUJNvymcKf22SNORcfjGk4oGQyIWJiBc_johfYo
index 0af7b627fa7e53bc49e8ea5187f4df0d558aaad1..bb9afa29bd7e426393cd3734363bb5014db9280f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -334,11 +334,6 @@ docs/mansidebar.html: docs/mansidebar.html.tt Makefile bin/from-tt
        @rm -f $@
        ./bin/from-tt releases='master $(MANSERIES)' $<
 
-docs/faq.inc: $(wildcard docs/faq-[0-9]-*.txt) Makefile bin/mk-faq
-       @rm -f $@
-       ./bin/mk-faq docs/faq-[0-9]-*txt >$@
-docs/faq.md: docs/faq.inc
-
 ######################################################################
 ##
 ##  Policy page building section
diff --git a/bin/mk-faq b/bin/mk-faq
deleted file mode 100755 (executable)
index 85a956c..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-#! /bin/sh
-
-cat <<EOF
-<div class='faq'>
-<h3><a name='toc'>Table of Contents</a></h3>
-<ol>
-EOF
-for faqfile in "$@"; do
-    anchor=`basename $faqfile .txt | cut -f3 -d- | tr '[:lower:]' '[:upper:]'`
-    title=`head -1 $faqfile | sed -e 's|^##* *||'`
-
-    cat <<EOF
-  <h4><a href='#$anchor'>$title</a></h4>
-EOF
-done
-cat <<EOF
-</ol>
-EOF
-
-for faqfile in "$@"; do
-    anchor=`basename $faqfile .txt | cut -f3 -d- | tr '[:lower:]' '[:upper:]'`
-
-    cat <<EOF
-<hr />
-EOF
-    cat $faqfile \
-       | perl -pe 'BEGIN { $count = 0 } s/^(#### )/$1|'${anchor}'|/; s/^(\* *)(?{ $count++ })/$1|'${anchor}'${count}|/' \
-       | pandoc -t html --no-highlight \
-       | sed -E -e 's/ id="[-a-z]*">/>/' \
-       | sed -E -e 's/<([^<>]*)>\|([A-Z]*[0-9]*)\|/<\1 id="\2">/'
-done
-
-cat <<EOF
-</div>
-EOF
index 2ba653aa0130dd9c30feb4ed6dcd1fc2f1ff0e0d..8dacdea09d2be1fe0502d4fc3987560bba27041c 100644 (file)
@@ -6,7 +6,7 @@ sidebar: |
 
   -   [Our Mission and Values](/community/mission.html)
   -   [Downloads: Source code](/source)
-  -   [Docs: FAQ, FIPS, manpages, ...](/docs)
+  -   [Docs: FIPS, manpages, ...](/docs)
   -   [News: Latest information](/news)
   -   [Roadmap: What's planned](/roadmap.html)
   -   [Policies: How we operate](/policies)
index 8100fec90a6266317904f63d2308c55eb2d38134..aa44fdc25982324ddc15d27f35f1faf0497bfdea 100644 (file)
@@ -4,7 +4,6 @@ breadcrumbs: >-
 sidebar: |
   # Documentation
 
-  -   [FAQ](faq.html)
   -   [Manpages](manpages.html)
   -   [FIPS-140 Validation](fips.html)
 ---
diff --git a/docs/faq-1-legal.txt b/docs/faq-1-legal.txt
deleted file mode 100644 (file)
index 1dfc067..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-#### Legal Questions
-
-*   Do I need patent licenses to use OpenSSL?
-
-    For information on intellectual property rights, please consult a lawyer.
-    The OpenSSL team does not offer legal advice.
-
-    You can configure OpenSSL so as not to use IDEA, MDC2 and RC5 by using
-
-        ./config no-idea no-mdc2 no-rc5
-
-*   Can I use OpenSSL with GPL software?
-
-    On many systems including the major Linux and BSD distributions, yes (the
-    GPL does not place restrictions on using libraries that are part of the
-    normal operating system distribution).
-
-    On other systems, the situation is less clear. Some GPL software copyright
-    holders claim that you infringe on their rights if you use OpenSSL with
-    their software on operating systems that don't normally include OpenSSL.
-
-    If you develop open source software that uses OpenSSL, you may find it
-    useful to choose an other license than the GPL, or state explicitly that
-    "This program is released under the GPL with the additional exemption that
-    compiling, linking, and/or using OpenSSL is allowed."  If you are using
-    GPL software developed by others, you may want to ask the copyright holder
-    for permission to use their software with OpenSSL.
-
diff --git a/docs/faq-2-user.txt b/docs/faq-2-user.txt
deleted file mode 100644 (file)
index 3bc8ff7..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-#### Using the OpenSSL application
-
-*   Why do I get a "PRNG not seeded" error message?
-
-    Cryptographic software needs a source of unpredictable data to work
-    correctly.  Many open source operating systems provide a "randomness
-    device" (/dev/urandom or /dev/random) that serves this purpose.
-    All OpenSSL versions try to use /dev/urandom by default; starting with
-    version 0.9.7, OpenSSL also tries /dev/random if /dev/urandom is not
-    available.
-
-    On other systems, applications have to call the RAND_add(3) or
-    RAND_seed(3) function with appropriate data before generating keys or
-    performing public key encryption. (These functions initialize the
-    pseudo-random number generator, PRNG.)  Some broken applications do
-    not do this.  As of version 0.9.5, the OpenSSL functions that need
-    randomness report an error if the random number generator has not been
-    seeded with at least 128 bits of randomness.  If this error occurs and
-    is not discussed in the documentation of the application you are
-    using, please contact the author of that application; it is likely
-    that it never worked correctly.  OpenSSL 0.9.5 and later make the
-    error visible by refusing to perform potentially insecure encryption.
-
-    On systems without /dev/urandom and /dev/random, it is a good idea to
-    use the Entropy Gathering Demon (EGD); see the RAND_egd(3) manpage for
-    details.  Starting with version 0.9.7, OpenSSL will automatically look
-    for an EGD socket at /var/run/egd-pool, /dev/egd-pool, /etc/egd-pool and
-    /etc/entropy.
-
-    Most components of the openssl command line utility automatically try
-    to seed the random number generator from a file.  The name of the
-    default seeding file is determined as follows: If environment variable
-    RANDFILE is set, then it names the seeding file.  Otherwise if
-    environment variable HOME is set, then the seeding file is $HOME/.rnd.
-    If neither RANDFILE nor HOME is set, versions up to OpenSSL 0.9.6 will
-    use file .rnd in the current directory while OpenSSL 0.9.6a uses no
-    default seeding file at all.  OpenSSL 0.9.6b and later will behave
-    similarly to 0.9.6a, but will use a default of "C:\" for HOME on
-    Windows systems if the environment variable has not been set.
-
-    If the default seeding file does not exist or is too short, the "PRNG
-    not seeded" error message may occur.
-
-    The openssl command line utility will write back a new state to the
-    default seeding file (and create this file if necessary) unless
-    there was no sufficient seeding.
-
-    Pointing $RANDFILE to an Entropy Gathering Daemon socket does not work.
-    Use the "-rand" option of the OpenSSL command line tools instead.
-    The $RANDFILE environment variable and $HOME/.rnd are only used by the
-    OpenSSL command line tools. Applications using the OpenSSL library
-    provide their own configuration options to specify the entropy source,
-    please check out the documentation coming the with application.
-
-*   Why do I get an "unable to write 'random state'" error message?
-
-    Sometimes the openssl command line utility does not abort with
-    a "PRNG not seeded" error message, but complains that it is
-    "unable to write 'random state'".  This message refers to the
-    default seeding file (see previous answer).  A possible reason
-    is that no default filename is known because neither RANDFILE
-    nor HOME is set.  (Versions up to 0.9.6 used file ".rnd" in the
-    current directory in this case, but this has changed with 0.9.6a.)
-
-*   Why do I get errors when trying to decrypt 1.0.2 data with 1.1.0?
-
-    A message digest is used to create the encrypt/decrypt key from
-    a human-entered passphrase.  In OpenSSL 1.1.0 we changed from MD5 to
-    SHA-256.  We did this as part of an overall change to move away from
-    the now-insecure and broken MD5 algorithm.  If you have old files,
-    use the "-md md5" flag to decrypt them.
-
-*   How do I create certificates or certificate requests?
-
-    Check out the CA.pl(1) manual page. This provides a simple wrapper round
-    the 'req', 'verify', 'ca' and 'pkcs12' utilities. For finer control check
-    out the manual pages for the individual utilities and the certificate
-    extensions documentation (in ca(1), req(1), and x509v3_config(5) ).
-
-*   Why can't I create certificate requests?
-
-    You typically get the error:
-
-        unable to find 'distinguished_name' in config
-        problems making Certificate Request
-
-    This is because it can't find the configuration file. Check out the
-    DIAGNOSTICS section of req(1) for more information.
-
-*   Why does &lt;SSL program&gt; fail with a certificate verify error?
-
-    This problem is usually indicated by log messages saying something like
-    "unable to get local issuer certificate" or "self signed certificate".
-    When a certificate is verified its root CA must be "trusted" by OpenSSL
-    this typically means that the CA certificate must be placed in a directory
-    or file and the relevant program configured to read it. The OpenSSL program
-    'verify' behaves in a similar way and issues similar error messages: check
-    the verify(1) program manual page for more information.
-
-*   How can I create DSA certificates?
-
-    Check the CA.pl(1) manual page for a DSA certificate example.
-
-*   Why can't I make an SSL connection to a server using a DSA certificate?
-
-    Typically you'll see a message saying there are no shared ciphers when
-    the same setup works fine with an RSA certificate. There are two possible
-    causes. The client may not support connections to DSA servers most web
-    browsers (including Netscape and MSIE) only support connections to servers
-    supporting RSA cipher suites. The other cause is that a set of DH parameters
-    has not been supplied to the server. DH parameters can be created with the
-    dhparam(1) command and loaded using the SSL_CTX_set_tmp_dh(3) for example:
-    check the source to s_server in apps/s_server.c for an example.
-
-*   How can I remove the passphrase on a private key?
-
-    Firstly you should be really *really* sure you want to do this. Leaving
-    a private key unencrypted is a major security risk. If you decide that
-    you do have to do this check the EXAMPLES sections of the rsa(1) and
-    dsa(1) manual pages.
-
-*   Why can't I use OpenSSL certificates with SSL client authentication?
-
-    What will typically happen is that when a server requests authentication
-    it will either not include your certificate or tell you that you have
-    no client certificates (Netscape) or present you with an empty list box
-    (MSIE). The reason for this is that when a server requests a client
-    certificate it includes a list of CAs names which it will accept. Browsers
-    will only let you select certificates from the list on the grounds that
-    there is little point presenting a certificate which the server will
-    reject.
-
-    The solution is to add the relevant CA certificate to your servers "trusted
-    CA list". How you do this depends on the server software in uses. You can
-    print out the servers list of acceptable CAs using the OpenSSL s_client tool:
-
-        openssl s_client -connect www.some.host:443 -prexit
-
-    If your server only requests certificates on certain URLs then you may need
-    to manually issue an HTTP GET command to get the list when s_client connects:
-
-        GET /some/page/needing/a/certificate.html
-
-    If your CA does not appear in the list then this confirms the problem.
-
-*   Why does my browser give a warning about a mismatched hostname?
-
-    Browsers expect the server's hostname to match the value in the commonName
-    (CN) field of the certificate. If it does not then you get a warning.
-
-*   How do I install a CA certificate into a browser?
-
-    The usual way is to send the DER encoded certificate to the browser as
-    MIME type application/x-x509-ca-cert, for example by clicking on an
-    appropriate link. On MSIE certain extensions such as .der or .cacert
-    may also work, or you can import the certificate using the
-    certificate import wizard.
-
-    You can convert a certificate to DER form using the command:
-
-        openssl x509 -in ca.pem -outform DER -out ca.der
-
-    Occasionally someone suggests using a command such as:
-
-        openssl pkcs12 -export -out cacert.p12 -in cacert.pem -inkey cakey.pem
-
-    DO NOT DO THIS! This command will give away your CAs private key and
-    reduces its security to zero: allowing anyone to forge certificates in
-    whatever name they choose.
-
-*   Why is OpenSSL x509 DN output not conformant to RFC2253?
-
-    The ways to print out the oneline format of the DN (Distinguished Name) have
-    been extended in version 0.9.7 of OpenSSL. Using the new X509_NAME_print_ex(3)
-    interface, the "-nameopt" option could be introduced. See the manual
-    page of the "openssl x509" command line tool for details. The old behaviour
-    has however been left as default for the sake of compatibility.
-
-*   Why does OpenSSL set the authority key identifier (AKID) extension
-    incorrectly?
-
-    It doesn't: this extension is often the cause of confusion.
-
-    Consider a certificate chain A->B->C so that A signs B and B signs
-    C. Suppose certificate C contains AKID.
-
-    The purpose of this extension is to identify the authority
-    certificate B. This can be done either by including the subject key
-    identifier of B or its issuer name and serial number.
-
-    In this latter case because it is identifying certificate B it must
-    contain the issuer name and serial number of B.
-
-    It is often wrongly assumed that it should contain the subject name
-    of B. If it did this would be redundant information because it would
-    duplicate the issuer name of C.
-
-*   How can I set up a bundle of commercial root CA certificates?
-
-    The OpenSSL software is shipped without any root CA certificate as the
-    OpenSSL project does not have any policy on including or excluding
-    any specific CA and does not intend to set up such a policy. Deciding
-    about which CAs to support is up to application developers or
-    administrators.
-
-    Other projects do have other policies so you can for example extract the CA
-    bundle used by Mozilla and/or modssl as described in this article:
-    https://www.mail-archive.com/modssl-users@modssl.org/msg16980.html
-
-*   Some secure servers 'hang' with OpenSSL 1.0.1, is this a bug?
-
-    OpenSSL 1.0.1 is the first release to support TLS 1.2, among other things,
-    this increases the size of the default ClientHello message to more than
-    255 bytes in length. Some software cannot handle this and hangs.
-
-*   Some secure servers emit an infinite loop of HTTP headers with an OpenSSL
-    1.1.0 client, is this a bug?
-
-    OpenSSL 1.1.0 introduced support for several new TLS extensions, including
-    encrypt-then-mac and extended-master-secret, both of which provide
-    significant security improvements.  Unfortunately, some deployed TLS
-    servers are severely broken and do not implement extensibility in a
-    standards-compliant manner; these servers may exhibit strange behavior
-    such as repeating the HTTP headers in a loop after receiving a ClientHello
-    that includes such TLS extensions unknown to them.  While these new TLS
-    extensions provide significant security benefits to clients and are
-    accordingly enabled by default in modern TLS clients, if bringing the
-    server into compliance is not possible, the extension(s) in question can
-    be disabled on a per-connection basis when talking to the buggy server, by
-    using SSL_set_options(3).
diff --git a/docs/faq-3-prog.txt b/docs/faq-3-prog.txt
deleted file mode 100644 (file)
index f93569a..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-#### Programming with OpenSSL
-
-*   Is OpenSSL thread-safe?
-
-    Yes but with some limitations; for example, an SSL connection
-    cannot be used concurrently by multiple threads.  This is true for
-    most OpenSSL objects.
-
-    For version 1.1.0 and later, there is nothing further you need do.
-
-    For earlier versions than 1.1.0, it is necessary for your
-    application to set up the thread callback functions.  To do this,
-    your application must call CRYPTO_set_locking_callback(3) and one of
-    the CRYPTO_THREADID_set... API's.  See the OpenSSL threads manpage for
-    details and "note on multi-threading" in the INSTALL file in the source
-    distribution.
-
-*   My code gets "undefined structure" or "unknown size" when building
-    with 1.1.0 or later.
-
-    In 1.1.0 we made most of the structures opaque. This means that you can
-    no longer access the fields directly, but must use settor and accessor
-    functions. You can also no longer have direct instances of the objects,
-    but can only use pointers to them.
-    For example, the first line below is wrong; the second is correct:
-
-        RSA r; /* wrong */
-        RSA *r; /* right */
-
-*   I've compiled a program under Windows and it crashes: why?
-
-    This is usually because you've missed the comment in INSTALL.W32.
-    Your application must link against the same version of the Win32
-    C-Runtime against which your openssl libraries were linked.  The
-    default version for OpenSSL is /MD - "Multithreaded DLL".
-
-    If you are using Microsoft Visual C++'s IDE (Visual Studio), in
-    many cases, your new project most likely defaulted to "Debug
-    Singlethreaded" - /ML.  This is NOT interchangeable with /MD and your
-    program will crash, typically on the first BIO related read or write
-    operation.
-
-    For each of the six possible link stage configurations within Win32,
-    your application must link  against the same by which OpenSSL was
-    built.  If you are using MS Visual C++ (Studio) this can be changed
-    by:
-
-        1. Select Settings... from the Project Menu.
-        2. Select the C/C++ Tab.
-        3. Select "Code Generation from the "Category" drop down list box
-        4. Select the Appropriate library (see table below) from the "Use
-        run-time library" drop down list box.  Perform this step for both
-        your debug and release versions of your application (look at the
-        top left of the settings panel to change between the two)
-
-        Single Threaded           /ML        -  MS VC++ often defaults to
-                                                this for the release
-                                                version of a new project.
-        Debug Single Threaded     /MLd       -  MS VC++ often defaults to
-                                                this for the debug version
-                                                of a new project.
-        Multithreaded             /MT
-        Debug Multithreaded       /MTd
-        Multithreaded DLL         /MD        -  OpenSSL defaults to this.
-        Debug Multithreaded DLL   /MDd
-
-    Note that debug and release libraries are NOT interchangeable.  If you
-    built OpenSSL with /MD your application must use /MD and cannot use /MDd.
-
-    As per 0.9.8 the above limitation is eliminated for .DLLs. OpenSSL
-    .DLLs compiled with some specific run-time option [we insist on the
-    default /MD] can be deployed with application compiled with different
-    option or even different compiler. But there is a catch! Instead of
-    re-compiling OpenSSL toolkit, as you would have to with prior versions,
-    you have to compile small C snippet with compiler and/or options of
-    your choice. The snippet gets installed as
-    &lt;install-root&gt;/include/openssl/applink.c and should be either added to
-    your application project or simply #include-d in one [and only one]
-    of your application source files. Failure to link this shim module
-    into your application manifests itself as fatal "no OPENSSL_Applink"
-    run-time error. An explicit reminder is due that in this situation
-    [mixing compiler options] it is as important to add CRYPTO_malloc_init
-    prior first call to OpenSSL.
-
-*   How do I read or write a DER encoded buffer using the ASN1 functions?
-
-    You have two options. You can either use a memory BIO in conjunction
-    with the i2d_*_bio() or d2i_*_bio() functions or you can use the
-    i2d_*(), d2i_*() functions directly. Since these are often the
-    cause of grief here are some code fragments using PKCS7 as an example:
-
-        unsigned char *buf, *p;
-        int len = i2d_PKCS7(p7, NULL);
-
-        buf = OPENSSL_malloc(len); /* error checking omitted */
-        p = buf;
-        i2d_PKCS7(p7, &p);
-
-    At this point buf contains the len bytes of the DER encoding of p7.
-
-    The opposite assumes we already have len bytes in buf:
-
-        unsigned char *p = buf;
-
-        p7 = d2i_PKCS7(NULL, &p, len);
-
-    At this point p7 contains a valid PKCS7 structure or NULL if an error
-    occurred. If an error occurred ERR_print_errors(bio) should give more
-    information.
-
-    The reason for the temporary variable 'p' is that the ASN1 functions
-    increment the passed pointer so it is ready to read or write the next
-    structure. This is often a cause of problems: without the temporary
-    variable the buffer pointer is changed to point just after the data
-    that has been read or written. This may well be uninitialized data
-    and attempts to free the buffer will have unpredictable results
-    because it no longer points to the same address.
-
-    Memory allocation and encoding can also be combined in a single
-    operation by the ASN1 routines:
-
-        unsigned char *buf = NULL;
-        int len = i2d_PKCS7(p7, &buf);
-
-        if (len < 0) {
-            /* Error */
-        }
-        /* Do some things with 'buf' */
-
-        /* Finished with buf: free it */
-        OPENSSL_free(buf);
-
-    In this special case the "buf" parameter is *not* incremented, it points
-    to the start of the encoding.
-
-*   OpenSSL uses DER but I need BER format: does OpenSSL support BER?
-
-    The short answer is yes, because DER is a special case of BER and OpenSSL
-    ASN1 decoders can process BER.
-
-    The longer answer is that ASN1 structures can be encoded in a number of
-    different ways. One set of ways is the Basic Encoding Rules (BER) with
-    various permissible encodings. A restriction of BER is the Distinguished
-    Encoding Rules (DER): these uniquely specify how a given structure is
-    encoded.
-
-    Therefore, because DER is a special case of BER, DER is an acceptable encoding
-    for BER.
-
-*   The encoding for GeneralName is wrong; why is the SEQUENCE tag missing?
-
-    In RFC 5280 GeneralName is defined in the module in Appendix A.2, and that
-    module specifies the use of IMPLICIT tagging. This means that there is not an
-    explicit SEQUENCE (30) tag following the A0 tag (you just know from the ASN.1
-    that what follows the A1 tag is a SEQUENCE). This is in contrast to the value
-    field within OtherName (test@kerberose-domain.internal), where the tag for
-    UTF8String (0C) follows the A0 tag, since EXPLICIT tagging is specified for
-    that particular field.
-
-    You will notice the same thing if you look at other choices within
-    GeneralName. If you look at the DNS names encoded in the subjectAltName
-    extension, the 82 tag (corresponding to [2]) is not followed by a tag for
-    IA5String (22). It is not needed since the ASN.1 indicates that what follows
-    the 82 tag is an IA5String. However, if the module specified EXPLICIT
-    encoding, then there would be a 16 tag after the 82 tag.
-
-    (Thanks to David Cooper for this text.)
-
-*   I tried to set a cipher list with a valid cipher, but the call fails, why?
-
-    OpenSSL 1.1.0 introduced the concept of a &ldquo;security level&rdquo;, allowing
-    for a configuration to be made more secure by excluding algorithms
-    and key sizes that are known to be flawed or susceptible to brute force at
-    a given level of work.  SSL_CTX_set_security_level(3) can be used to
-    programmatically set a security level, or the keyword "@SECLEVEL=N" can
-    be used in a TLS cipher string, for values of N from 0 to 5 (inclusive).
-    The default is level 1, which excludes MD5 as the MAC and algorithms
-    with less than 80 bits of security.  A value of 0 can be used, with appropriate
-    caution, to produce behavior compatible with previous versions of OpenSSL
-    (to the extent possible), but this is not recommended for general usage.
-
-*   I've called &lt;some function&gt; and it fails, why?
-
-    Before submitting a report or asking in one of the mailing lists, you
-    should try to determine the cause. In particular, you should call
-    ERR_print_errors(3) or ERR_print_errors_fp(3) after the failed call
-    and see if the message helps. Note that the problem may occur earlier
-    than you think -- you should check for errors after every call where
-    it is possible, otherwise the actual problem may be hidden because
-    some OpenSSL functions clear the error state.
-
-*   I just get a load of numbers for the error output, what do they mean?
-
-    The actual format is described in the ERR_print_errors(3) manual page.
-    You should call the function ERR_load_crypto_strings(3) before hand and
-    the message will be output in text form. If you can't do this (for example
-    it is a pre-compiled binary) you can use the errstr(1) utility on the error
-    code itself (the hex digits after the second colon).
-
-*   Why do I get errors about unknown algorithms?
-
-    The cause is forgetting to load OpenSSL's table of algorithms with
-    OpenSSL_add_all_algorithms(3). See the manual page for more information. This
-    can cause several problems such as being unable to read in an encrypted
-    PEM file, unable to decrypt a PKCS12 file or signature failure when
-    verifying certificates.
-
-*   Why can't the OpenSSH configure script detect OpenSSL?
-
-    Several reasons for problems with the automatic detection exist.
-    OpenSSH requires at least version 0.9.5a of the OpenSSL libraries.
-    Sometimes the distribution has installed an older version in the system
-    locations that is detected instead of a new one installed. The OpenSSL
-    library might have been compiled for another CPU or another mode (32/64 bits).
-    Permissions might be wrong.
-
-    The general answer is to check the config.log file generated when running
-    the OpenSSH configure script. It should contain the detailed information
-    on why the OpenSSL library was not detected or considered incompatible.
-
-*   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(3) will just read from
-    the underlying transport or that SSL_write(3) will just write to it --
-    it is also possible that SSL_write(3) cannot do any useful work until
-    there is data to read, or that SSL_read(3) 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(3) and
-    SSL_write(3) will try to continue any pending handshake.
-
-*   Why doesn't my server application receive a client certificate?
-
-    Due to the TLS protocol definition, a client will only send a certificate,
-    if explicitly asked by the server. Use the SSL_VERIFY_PEER flag of the
-    SSL_CTX_set_verify(3) function to enable the use of client certificates.
-
-*   I think I've detected a memory leak, is this a bug?
-
-    In most cases the cause of an apparent memory leak is an OpenSSL internal table
-    that is allocated when an application starts up. Since such tables do not grow
-    in size over time they are harmless.
-
-    Starting with OpenSSL 1.1.0, everything should be cleaned up on exit (or
-    when the shared library unloads).  If not, please find out what resource is
-    leaked and report an issue.  In previous releases, internal tables can be
-    freed up when an application closes using various
-    functions.  Currently these include following:
-
-    Thread-local cleanup functions include ERR_remove_state(3).
-    Application-global cleanup functions that are aware of usage (and therefore
-    thread-safe) include ENGINE_cleanup(3) and CONF_modules_unload(3).
-    "Brutal" (thread-unsafe) Application-global cleanup functions include:
-    ERR_free_strings(3), EVP_cleanup(3) and CRYPTO_cleanup_all_ex_data(3).
-
-*   Why doesn't a memory BIO work when a file does?
-
-    This can occur in several cases for example reading an S/MIME email message.
-    The reason is that a memory BIO can do one of two things when all the data
-    has been read from it.
-
-    The default behaviour is to indicate that no more data is available and that
-    the call should be retried, this is to allow the application to fill up the BIO
-    again if necessary.
-
-    Alternatively it can indicate that no more data is available and that EOF has
-    been reached.
-
-    If a memory BIO is to behave in the same way as a file this second behaviour
-    is needed. This must be done by calling:
-
-        BIO_set_mem_eof_return(bio, 0);
-
-    See the manual pages for more details.
-
-*   Where are the declarations and implementations of d2i_X509(3) etc?
-
-    These are defined and implemented by macros of the form:
-
-        DECLARE_ASN1_FUNCTIONS(X509) and
-        IMPLEMENT_ASN1_FUNCTIONS(X509)
-
-    The implementation passes an ASN1 "template" defining the structure into an
-    ASN1 interpreter using generalised functions such as ASN1_item_d2i(3).
-
-*   When debugging I observe SIGILL during OpenSSL initialization: why?
-
-    OpenSSL adapts to processor it executes on and for this reason has to
-    query its capabilities. Unfortunately on some processors the only way
-    to achieve this for non-privileged code is to attempt instructions
-    that can cause Illegal Instruction exceptions. The initialization
-    procedure is coded to handle these exceptions to manipulate corresponding
-    bits in capabilities vector. This normally appears transparent, except
-    when you execute it under debugger, which stops prior delivering signal
-    to handler. Simply resuming execution does the trick, but when debugging
-    a lot it might feel counterproductive. Two options. Either set explicit
-    capability environment variable in order to bypass the capability query
-    (see corresponding crypto/*cap.c for details). Or configure debugger not
-    to stop upon SIGILL exception, e.g. in gdb case add 'handle SIGILL nostop'
-    to your .gdbinit.
-
diff --git a/docs/faq-4-build.txt b/docs/faq-4-build.txt
deleted file mode 100644 (file)
index 72202b4..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-#### Questions on Building and Testing OpenSSL
-
-*   Does OpenSSL use AES-NI or other speedups?
-
-    The short answer is yes, unless you configure with "no-asm."
-
-    What OpenSSL does is not obvious.  The INSTALL document talks about the
-    no-asm configuration option.  Details about what the assembler code does
-    in terms of optimization are only available by reading the source code
-    comments in the various Perl files that generate the assembler, mostly.
-
-    On x86, the assembly code uses the CPUID instruction (see the
-    OPENSSL_ia32cap.pod manpage) to determine if various instructions (AES,
-    SSE, MMX, etc) are available and will use them if so.  For other processors,
-    similar tests are performed if at all possible.
-
-*   Why does Clang sanitizer give warnings?
-
-    You need to build with -DPEDANTIC to run sanitized tests, otherwise
-    you will get optimized assembler versions of some functions.
-
-*   Why does the linker complain about undefined symbols?
-
-    Maybe the compilation was interrupted, and make doesn't notice that
-    something is missing.  Run "make clean; make".
-
-    If you used ./Configure instead of ./config, make sure that you
-    selected the right target.  File formats may differ slightly between
-    OS versions (for example sparcv8/sparcv9, or a.out/elf).
-
-    In case you get errors about the following symbols, use the config
-    option "no-asm", as described in INSTALL:
-
-        BF_cbc_encrypt, BF_decrypt, BF_encrypt, CAST_cbc_encrypt,
-        CAST_decrypt, CAST_encrypt, RC4, RC5_32_cbc_encrypt, RC5_32_decrypt,
-        RC5_32_encrypt, bn_add_words, bn_div_words, bn_mul_add_words,
-        bn_mul_comba4, bn_mul_comba8, bn_mul_words, bn_sqr_comba4,
-        bn_sqr_comba8, bn_sqr_words, bn_sub_words, des_decrypt3,
-        des_ede3_cbc_encrypt, des_encrypt, des_encrypt2, des_encrypt3,
-        des_ncbc_encrypt, md5_block_asm_host_order, sha1_block_asm_data_order
-
-    If none of these helps, you may want to try using the current snapshot.
-    If the problem persists, please submit a bug report.
-
-*   Why does the OpenSSL compilation fail with "ar: command not found"?
-
-    Getting this message is quite usual on Solaris 2, because Sun has hidden
-    away 'ar' and other development commands in directories that aren't in
-    $PATH by default.  One of those directories is '/usr/ccs/bin'.  The
-    quickest way to fix this is to do the following (it assumes you use sh
-    or any sh-compatible shell):
-
-        PATH=${PATH}:/usr/ccs/bin; export PATH
-
-    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 for VC++ versions up to 6, one should run
-    VCVARS32.BAT which is found in the 'bin' subdirectory of the VC++
-    installation directory (somewhere under 'Program Files').  For VC++
-    version 7 (and up?), which is also called VS.NET, the file is called
-    VSVARS32.BAT instead.
-    This needs to be done prior to running NMAKE, and the changes are only
-    valid for the current DOS session.
-
-*   What is special about OpenSSL on Redhat?
-
-    Red Hat Linux (release 7.0 and later) include a preinstalled limited
-    version of OpenSSL. Red Hat has chosen to disable support for IDEA, RC5 and
-    MDC2 in this version. The same may apply to other Linux distributions.
-    Users may therefore wish to install more or all of the features left out.
-
-    To do this you MUST ensure that you do not overwrite the openssl that is in
-    /usr/bin on your Red Hat machine. Several packages depend on this file,
-    including sendmail and ssh. /usr/local/bin is a good alternative choice. The
-    libraries that come with Red Hat 7.0 onwards have different names and so are
-    not affected. (eg For Red Hat 7.2 they are /lib/libssl.so.0.9.6b and
-    /lib/libcrypto.so.0.9.6b with symlinks /lib/libssl.so.2 and
-    /lib/libcrypto.so.2 respectively).
-
-    Please note that we have been advised by Red Hat attempting to recompile the
-    openssl rpm with all the cryptography enabled will not work. All other
-    packages depend on the original Red Hat supplied openssl package. It is also
-    worth noting that due to the way Red Hat supplies its packages, updates to
-    openssl on each distribution never change the package version, only the
-    build number. For example, on Red Hat 7.1, the latest openssl package has
-    version number 0.9.6 and build number 9 even though it contains all the
-    relevant updates in packages up to and including 0.9.6b.
-
-    A possible way around this is to persuade Red Hat to produce a non-US
-    version of Red Hat Linux.
-
-*   Why does the OpenSSL test suite fail in BN_sqr test [on a 64-bit platform]?
-
-    Failure in BN_sqr test is most likely caused by a failure to configure the
-    toolkit for current platform or lack of support for the platform in question.
-    Run './config -t' and './apps/openssl version -p'. Do these platform
-    identifiers match? If they don't, then you most likely failed to run
-    ./config and you're hereby advised to do so before filing a bug report.
-    If ./config itself fails to run, then it's most likely problem with your
-    local environment and you should turn to your system administrator (or
-    similar). If identifiers match (and/or no alternative identifier is
-    suggested by ./config script), then the platform is unsupported. There might
-    or might not be a workaround. Most notably on SPARC64 platforms with GNU
-    C compiler you should be able to produce a working build by running
-    './config -m32'. I understand that -m32 might not be what you want/need,
-    but the build should be operational. For further details turn to
-    mailto:openssl-dev@openssl.org
-
-*   Why does the OpenSSL test suite fail in sha512t on x86 CPU?
-
-    If the test program in question fails withs SIGILL, Illegal Instruction
-    exception, then you more than likely to run SSE2-capable CPU, such as
-    Intel P4, under control of kernel which does not support SSE2
-    instruction extensions. See accompanying INSTALL file and
-    OPENSSL_ia32cap(3) documentation page for further information.
-
-*   Why does compiler fail to compile sha512.c?
-
-    OpenSSL SHA-512 implementation depends on compiler support for 64-bit
-    integer type. Few elder compilers [ULTRIX cc, SCO compiler to mention a
-    couple] lack support for this and therefore are incapable of compiling
-    the module in question. The recommendation is to disable SHA-512 by
-    adding no-sha512 to ./config [or ./Configure] command line. Another
-    possible alternative might be to switch to GCC.
-
-*   Test suite still fails, what to do?
-
-    Another common reason for test failures is bugs in the toolchain
-    or run-time environment. Compiler bugs often appear in rather bizarre ways,
-    they never make sense, and tend to emerge when you least expect
-    them. One thing to try is to reduce the level of optimization (such
-    as by editing the CFLAG variable line in the top-level Makefile),
-    and then recompile and re-run the test.
-
-*   I think I've found a bug, what should I do?
-
-    If you are a new user then it is quite likely you haven't found a bug and
-    something is happening you aren't familiar with. Check this FAQ, the associated
-    documentation and the mailing lists for similar queries. If you are still
-    unsure whether it is a bug or not submit a query to the openssl-users mailing
-    list.
-
-    If you think you have found a bug based on the output of static analysis tools
-    then please manually check the issue is genuine. Such tools can produce a
-    LOT of false positives.
-
-*   I'm SURE I've found a bug, how do I report it?
-
-    Please see https://www.openssl.org/community.
-
-*   I've found a security issue, how do I report it?
-
-    If you think your bug has security implications then please send it to
-    openssl-security@openssl.org if you don't get a prompt reply at least
-    acknowledging receipt then resend or mail it directly to one of the
-    more active team members (e.g. Steve). If you wish to use PGP to send
-    in a report please use one or more of the keys of the OMC listed
-    at https://www.openssl.org/community/omc.html.
-
-    Note that bugs only present in the openssl utility are not in general
-    considered to be security issues.
-
-*   How do I enable weak ciphers?
-
-    Warning: known-insecure ciphers are disabled in newer releases of OpenSSL.
-    There is good reason why these have been disabled by default. Consider upgrading
-    to more robust options as these ciphers may only provide a facade of security.
-    This option is not recommended for anyone other than maintainers of legacy
-    applications.  There are two parts to doing this.  First, you must configure
-    with "enable-weak-ssl-ciphers."  This compiles the ciphers, but does not
-    enable them at run-time; to do this you must set the "security level" flag.
-    This can be done at build time to change the default, or it can be done at
-    runtime to change it for particular SSL_CTX; see
-    https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_security_level.html
-    for details.
-
-    In other words, you should do one of the following:
-
-        ./config enable-weak-ssl-ciphers -DOPENSSL_TLS_SECURITY_LEVEL=0
-
-    or
-
-        # To configure and build
-        ./config enable-weak-ssl-ciphers
-
-        /* In your code */
-        SSL_CTX_set_security_level(ctx, 0);
-
diff --git a/docs/faq-5-misc.txt b/docs/faq-5-misc.txt
deleted file mode 100644 (file)
index 4c4265a..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-#### Miscellaneous
-
-*   Which is the current version of OpenSSL?
-
-    The current version is available from https://www.openssl.org.
-
-    In addition to the current stable release, you can also access daily
-    snapshots of the OpenSSL development version at
-    https://www.openssl.org/source/snapshot/,
-    or get it by anonymous Git access.
-
-*   Where is the documentation?
-
-    OpenSSL is a library that provides cryptographic functionality to
-    applications such as secure web servers.  Be sure to read the
-    documentation of the application you want to use.  The INSTALL file
-    explains how to install this library.
-
-    OpenSSL includes a command line utility that can be used to perform a
-    variety of cryptographic functions.  It is described in the openssl(1)
-    manpage.  Documentation for developers is currently being written. Many
-    manual pages are available; overviews of libcrypto and
-    libssl are given in the crypto(7) and
-    ssl(7) manpages.
-
-    The OpenSSL manpages are installed in /usr/local/ssl/man/ (or a
-    different directory if you specified one as described in INSTALL).
-    In addition, you can read the most current versions at
-    https://www.openssl.org/docs/. Note that the online documents refer
-    to the very latest development versions of OpenSSL and may include features
-    not present in released versions. If in doubt refer to the documentation
-    that came with the version of OpenSSL you are using. The pod format
-    documentation is included in each OpenSSL distribution under the docs
-    directory.
-
-*   I need a FIPS validated offering
-
-    Please see https://www.openssl.org/docs/fips.html.
-
-*   How can I contact the OpenSSL developers?
-
-    The README file describes how to submit bug reports and patches to
-    OpenSSL.  Information on the OpenSSL mailing lists is available from
-    https://www.openssl.org/community/mailinglists.html.
-
-*   Where can I get a compiled version of OpenSSL?
-
-    You can find pointers to binary distributions in
-    https://www.openssl.org/community/binaries.html.
-
-    Some applications that use OpenSSL are distributed in binary form.
-    When using such an application, you don't need to install OpenSSL
-    yourself; the application will include the required parts (e.g. DLLs).
-
-    If you want to build OpenSSL on a Windows system and you don't have
-    a C compiler, read the "Mingw32" section of INSTALL.W32 for information
-    on how to obtain and install the free GNU C compiler.
-
-    A number of Linux and *BSD distributions include OpenSSL.
-
-*   Why aren't tools like 'autoconf' and 'libtool' or 'cmake' used?
-
-    A number of these tools are great and wonderful, but are usually
-    centered around one or a few platforms.  'autoconf' and 'libtool' are
-    Unix centric.  'cmake' is a bit more widely spread, but not enough to
-    cover the platforms we support.
-
-    For OpenSSL 1.1, we decided to base our build system on perl,
-    information files and build file (Makefile) templates, thereby
-    covering all the systems we support.  Perl was the base language of
-    choice because we already use it in diverse scripts, and it's one of
-    the most widely spread scripting languages.
-
-*   How do I check the authenticity of the OpenSSL distribution?
-
-    We provide PGP signatures and a variety of digests on each release.
-    For example, one of the following might work on your system:
-
-        sha1sum TARBALL | awk '{print $1;}' | cmp - TARBALL.sha1
-        sha256sum TARBALL | awk '{print $1;}' | cmp - TARBALL.sha256
-
-    You can check authenticity using pgp or gpg. You need the OpenSSL OMC
-    member public key used to sign it (download it from a key server or see a
-    list of keys at https://www.openssl.org/community/omc.html). Then
-    just do:
-
-        pgp TARBALL.asc
-
-*   How does the versioning scheme work?
-
-    Please see
-    https://www.openssl.org/policies/general/versioning-policy.html.
-
-*   Do you have a bug bounty program?
-
-    The project does not.  Google runs a program
-    https://www.google.com/about/appsecurity/patch-rewards/; so does
-    HackerOne, https://hackerone.com/ibb-openssl. In general, if you
-    have found a security issue, send email to openssl-security@openssl.org.
-    Please note that we do not consider DNS configurations or Website
-    configuration to be security issues.
-
-  
diff --git a/docs/faq-6-old.txt b/docs/faq-6-old.txt
deleted file mode 100644 (file)
index 6b0e3bd..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-#### Older Versions and Platforms
-
-*   What does "old" mean here?
-
-    Any OpenSSL release before 1.0.2, and any platform that is not in wide use,
-    and doesn't get full support.  Or something like that.
-
-*   Why does compilation fail due to an undefined symbol NID_uniqueIdentifier?
-
-    For OpenSSL 0.9.7 the OID table was extended and corrected. In earlier
-    versions, uniqueIdentifier was incorrectly used for X.509 certificates.
-    The correct name according to RFC2256 (LDAP) is x500UniqueIdentifier.
-    Change your code to use the new name when compiling against OpenSSL 0.9.7.
-
diff --git a/docs/faq.md.tt b/docs/faq.md.tt
deleted file mode 100644 (file)
index be755b7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
----
-breadcrumb: Frequently Asked Questions
-header-includes: |
-  <script>
-  $(function(){
-    $(".faq ul > li").click(function(){
-      $(this).toggleClass("open");
-    });
-  });
-  </script>
----
-# Frequently Asked Questions
-
-[% INCLUDE "faq.inc" %]
index 655a06efd15a5c65d27b33fffe31703d81685ab0..b994f0664fbcc5e9e82b07cf2ef8f1366a602248 100644 (file)
@@ -3,8 +3,6 @@ breadcrumb: Documentation
 ---
 # Documentation
 
-The [frequently-asked questions (FAQ)](faq.html) page is available.
-
 A good starting point for understanding some of the key concepts in
 OpenSSL 3.0 is the libcrypto
 [manual page](https://www.openssl.org/docs/man3.0/man7/crypto.html).
index e53483b50b2e7d2dcff9c089f2c5fde940aa8202..0e498872617e31695bcd0968ab7ea2fc35d7a18d 100644 (file)
@@ -21,7 +21,7 @@
         <li><a href="$top$" title="Home page">Home</a></li>
         <li><a href="$top$blog/" title="Team blog">Blog</a></li>
         <li><a href="$top$source/" title="Source code">Downloads</a></li>
-        <li><a href="$top$docs/" title="FAQ, FIPS, manpages, ...">Docs</a></li>
+        <li><a href="$top$docs/" title="FIPS, manpages, ...">Docs</a></li>
         <li><a href="$top$news/" title="Latest information">News</a></li>
         <li><a href="$top$policies/" title="How we operate">Policies</a></li>
         <li><a href="$top$community/" title="Blog, bugs, email, ...">Community</a></li>
index ff2b4657a1cf2b544c2b5a1d1d8cda206d8a4532..eb44861452a9b0d5d970003956e34a634fe32801 100644 (file)
@@ -1577,124 +1577,3 @@ table > tr:nth-child(even), table > thead + tbody > tr:nth-child(odd), table > :
 }
 td.d { float: left; width: 20%; }
 td.t { float: right; width: 80%; }
-
-/* FAQ accordion */
-/*
- * This also needs a bit of javascript that toggles the 'open' class on a
- * 'faq ul li' element.
- * Quite of lot of the effort is really to get nice rounded boxes around
- * each entry, and the squared plus / minus sign off to the left.
- *
- * The FAQ itself is expected to looks like this:
- *
- * <div class="faq">
- *   ...
- *   <ul>
- *     <li>
- *       <p>FAQ entry title</p>
- *       <p>FAQ entry text</p>
- *       <p>more text</p>
- *       <p>more text</p>
- *       <p>more text</p>
- *     </li>
- *     ...
- *   </ul>
- *   ...
- * </div>
- *
- * One could have argued for using <dt> and <dd>, but support for it looks
- * damn ugly in Markdown, so we use this form instead, which results in the
- * above:
- *
- * *   FAQ entry title
- *
- *     FAQ entry text
- *
- *     more text
- *
- *     more text
- *
- *     more text
- */
-
-/* Styling for closed items */
-.faq ul {
-    position: relative;
-    margin-left: 0;
-    padding-left: 0;
-    list-style: none;
-}
-
-.faq ul > li {
-    margin: 5px 0 0 0;
-    padding: 0;
-    border: 1px solid #cccccc;
-    -moz-border-radius: 5px;
-    -webkit-border-radius: 5px;
-    border-radius: 5px;
-}
-
-.faq ul > li > p {
-    margin: 0;
-    padding: 5px 20px;
-}
-
-.faq ul > li > p:nth-child(1)::before {
-    position: absolute;
-    margin-left: -1em;
-    content: "\229E";
-}
-
-.faq ul > li > p:nth-child(1) {
-    background-color: #ebebeb;
-    cursor: pointer;
-    color: #666666;
-}
-
-.faq ul > li > p:nth-child(1):hover {
-    background-color: #f5f5f5;
-}
-
-.faq ul > li > p:nth-child(n+2) {
-    display: none;
-    transition: display .5s ease 0s;
-}
-
-.faq ul > li > pre {
-    display: none;
-    transition: display .5s ease 0s;
-    margin: 5px 20px;
-}
-
-/* The changes for an opened entry */
-.faq ul > li.open > p:nth-child(1)::before {
-    position: absolute;
-    margin-left: -1em;
-    content: "\229F";
-}
-
-.faq ul > li.open > p:nth-child(1) {
-    -moz-border-radius: 5px 5px 0 0;
-    -webkit-border-radius: 5px 5px 0 0;
-    border-radius: 5px 5px 0 0;
-    background-color: #cef98d;
-}
-
-.faq ul > li.open > p:nth-child(1):hover {
-    background-color: #c6f089;
-}
-
-.faq ul > li.open > p:nth-child(n+2) {
-    display: block;
-}
-
-.faq ul > li.open > pre {
-    display: block;
-}
-
-/* Hacks because we have CSS code elsewhere giving a bad result here */
-.faq code {
-    /* counteract 'li code' */
-    color: #00FF00;
-}
-
index a39f8e482c7a174e484e4f381cb6b8e5af7104d0..95a6f24bb8e484627b07f095cc04acdbec678889 100644 (file)
@@ -73,10 +73,9 @@ Guide](https://www.openssl.org/docs/man3.1/man7/migration_guide.html)
 
 When building a release for the first time, please make sure to look at
 the INSTALL file in the distribution along with any NOTES file
-applicable to your platform. If you have problems, look at the FAQ,
-which can be found [online](/docs/faq.html). If you still need more
-help, then join the [openssl-users](/community/mailinglists.html) email
-list and post a question there.
+applicable to your platform. If you have problems, then join the
+[openssl-users](/community/mailinglists.html) email list and post a
+question there.
 
 PGP keys for the signatures are available from the
 [OTC page](https://www.openssl.org/community/otc.html). Current members that