Commit ee57d0da authored by Jeff Trawick's avatar Jeff Trawick
Browse files

mod_ssl, ab: Support OpenSSL compiled without SSLv2 support.

Submitted by: sf
Reviewed by: trawick, wrowe


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.2.x@1092246 13f79535-47bb-0310-9956-ffa450edef68
parent 9e569b87
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
                                                         -*- coding: utf-8 -*-
Changes with Apache 2.2.18

  *) mod_ssl, ab: Support OpenSSL compiled without SSLv2 support.
     [Stefan Fritsch]

  *) core: AllowEncodedSlashes new option NoDecode to allow encoded slashes
     in request URL path info but not decode them. PR 35256,
     PR 46830.  [Dan Poirier]
+0 −6
Original line number Diff line number Diff line
@@ -96,12 +96,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
     2.2.x patch: Trunk version of patch works with fuzz
     +1: sf, trawick, wrowe

  * mod_ssl/ab: Support OpenSSL compiled without SSLv2 support
     Trunk patch: http://svn.apache.org/viewvc?view=revision&revision=1090367
     2.2.x patch: http://people.apache.org/~sf/support-openssl-without-sslv2.patch
     +1: sf, trawick, wrowe


PATCHES PROPOSED TO BACKPORT FROM TRUNK:
  [ New proposals should be added at the end of the list ]

+5 −0
Original line number Diff line number Diff line
@@ -1273,6 +1273,11 @@ static const char *ssl_cmd_protocol_parse(cmd_parms *parms,
        }

        if (strcEQ(w, "SSLv2")) {
#ifdef OPENSSL_NO_SSL2
            if (action != '-') {
                return "SSLv2 not supported by this version of OpenSSL";
            }
#endif
            thisopt = SSL_PROTOCOL_SSLV2;
        }
        else if (strcEQ(w, "SSLv3")) {
+4 −1
Original line number Diff line number Diff line
@@ -465,13 +465,16 @@ static void ssl_init_ctx_protocol(server_rec *s,
    ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, s,
                 "Creating new SSL context (protocols: %s)", cp);

#ifndef OPENSSL_NO_SSL2
    if (protocol == SSL_PROTOCOL_SSLV2) {
        method = mctx->pkp ?
            SSLv2_client_method() : /* proxy */
            SSLv2_server_method();  /* server */
        ctx = SSL_CTX_new(method);  /* only SSLv2 is left */
    }
    else {
    else
#endif
    {
        method = mctx->pkp ?
            SSLv23_client_method() : /* proxy */
            SSLv23_server_method();  /* server */
+4 −0
Original line number Diff line number Diff line
@@ -218,7 +218,11 @@ typedef int ssl_opt_t;
#define SSL_PROTOCOL_SSLV2 (1<<0)
#define SSL_PROTOCOL_SSLV3 (1<<1)
#define SSL_PROTOCOL_TLSV1 (1<<2)
#ifndef OPENSSL_NO_SSL2
#define SSL_PROTOCOL_ALL   (SSL_PROTOCOL_SSLV2|SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
#else
#define SSL_PROTOCOL_ALL   (SSL_PROTOCOL_SSLV3|SSL_PROTOCOL_TLSV1)
#endif
typedef int ssl_proto_t;

/**
Loading