pull fix for NPN patch from upstream (r1345599)

This commit is contained in:
Joe Orton 2012-06-06 11:09:47 +01:00
parent c42f37179a
commit febac1c9c4
3 changed files with 18 additions and 14 deletions

View File

@ -1,8 +1,11 @@
# ./pullrev.sh 1332643 1345599
https://bugzilla.redhat.com//show_bug.cgi?id=809599 https://bugzilla.redhat.com//show_bug.cgi?id=809599
http://svn.apache.org/viewvc?view=revision&revision=1332643 http://svn.apache.org/viewvc?view=revision&revision=1332643
http://svn.apache.org/viewvc?view=revision&revision=1345599
--- httpd-2.4.2/modules/ssl/ssl_private.h --- httpd-2.4.2/modules/ssl/ssl_private.h
+++ httpd-2.4.2/modules/ssl/ssl_private.h +++ httpd-2.4.2/modules/ssl/ssl_private.h
@@ -139,6 +139,11 @@ @@ -139,6 +139,11 @@
@ -107,7 +110,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
} bio_filter_in_ctx_t; } bio_filter_in_ctx_t;
/* /*
@@ -1374,6 +1376,27 @@ @@ -1374,6 +1376,26 @@
APR_BRIGADE_INSERT_TAIL(bb, bucket); APR_BRIGADE_INSERT_TAIL(bb, bucket);
} }
@ -123,9 +126,8 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
+ SSL_get0_next_proto_negotiated( + SSL_get0_next_proto_negotiated(
+ inctx->ssl, &next_proto, &next_proto_len); + inctx->ssl, &next_proto, &next_proto_len);
+ ap_log_cerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, f->c, + ap_log_cerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, f->c,
+ "SSL NPN negotiated protocol: '%s'", + APLOGNO(02306) "SSL NPN negotiated protocol: '%*s'",
+ apr_pstrmemdup(f->c->pool, (const char*)next_proto, + next_proto_len, (const char*)next_proto);
+ next_proto_len));
+ modssl_run_npn_proto_negotiated_hook( + modssl_run_npn_proto_negotiated_hook(
+ f->c, (const char*)next_proto, next_proto_len); + f->c, (const char*)next_proto, next_proto_len);
+ inctx->npn_finished = 1; + inctx->npn_finished = 1;
@ -135,7 +137,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
return APR_SUCCESS; return APR_SUCCESS;
} }
@@ -1855,6 +1878,7 @@ @@ -1855,6 +1877,7 @@
inctx->block = APR_BLOCK_READ; inctx->block = APR_BLOCK_READ;
inctx->pool = c->pool; inctx->pool = c->pool;
inctx->filter_ctx = filter_ctx; inctx->filter_ctx = filter_ctx;
@ -153,10 +155,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
#include "util_md5.h" #include "util_md5.h"
static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn); static void ssl_configure_env(request_rec *r, SSLConnRec *sslconn);
@@ -2143,3 +2144,84 @@ @@ -2145,0 +2147,83 @@
return -1;
}
#endif
+ +
+#ifdef HAVE_TLS_NPN +#ifdef HAVE_TLS_NPN
+/* +/*
@ -202,7 +201,7 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
+ /* If the protocol name is too long (the length must fit in one byte), + /* If the protocol name is too long (the length must fit in one byte),
+ * then log an error and skip it. */ + * then log an error and skip it. */
+ if (length > 255) { + if (length > 255) {
+ ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, + ap_log_cerror(APLOG_MARK, APLOG_ERR, 0, c, APLOGNO(02307)
+ "SSL NPN protocol name too long (length=%u): %s", + "SSL NPN protocol name too long (length=%u): %s",
+ length, string); + length, string);
+ continue; + continue;
@ -226,6 +225,8 @@ http://svn.apache.org/viewvc?view=revision&revision=1332643
+ for (i = 0; i < num_protos; ++i) { + for (i = 0; i < num_protos; ++i) {
+ const char *string = APR_ARRAY_IDX(protos, i, const char*); + const char *string = APR_ARRAY_IDX(protos, i, const char*);
+ apr_size_t length = strlen(string); + apr_size_t length = strlen(string);
+ if (length > 255)
+ continue;
+ *start = (unsigned char)length; + *start = (unsigned char)length;
+ ++start; + ++start;
+ memcpy(start, string, length * sizeof(unsigned char)); + memcpy(start, string, length * sizeof(unsigned char));

View File

@ -8,7 +8,7 @@
Summary: Apache HTTP Server Summary: Apache HTTP Server
Name: httpd Name: httpd
Version: 2.4.2 Version: 2.4.2
Release: 12%{?dist} Release: 13%{?dist}
URL: http://httpd.apache.org/ URL: http://httpd.apache.org/
Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2 Source0: http://www.apache.org/dist/httpd/httpd-%{version}.tar.bz2
Source1: index.html Source1: index.html
@ -49,7 +49,7 @@ Patch27: httpd-2.4.2-iconlink.patch
Patch40: httpd-2.4.2-restart.patch Patch40: httpd-2.4.2-restart.patch
Patch41: httpd-2.4.2-r1327036+.patch Patch41: httpd-2.4.2-r1327036+.patch
Patch42: httpd-2.4.2-r1326980+.patch Patch42: httpd-2.4.2-r1326980+.patch
Patch43: httpd-2.4.2-r1332643.patch Patch43: httpd-2.4.2-r1332643+.patch
License: ASL 2.0 License: ASL 2.0
Group: System Environment/Daemons Group: System Environment/Daemons
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
@ -160,7 +160,7 @@ authentication to the Apache HTTP Server.
%patch40 -p1 -b .restart %patch40 -p1 -b .restart
%patch41 -p1 -b .r1327036+ %patch41 -p1 -b .r1327036+
%patch42 -p1 -b .r1326980+ %patch42 -p1 -b .r1326980+
%patch43 -p1 -b .r1332643 %patch43 -p1 -b .r1332643+
# Patch in vendor/release string # Patch in vendor/release string
sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1 sed "s/@RELEASE@/%{vstring}/" < %{PATCH20} | patch -p1
@ -565,6 +565,9 @@ rm -rf $RPM_BUILD_ROOT
%{_sysconfdir}/rpm/macros.httpd %{_sysconfdir}/rpm/macros.httpd
%changelog %changelog
* Wed Jun 6 2012 Joe Orton <jorton@redhat.com> - 2.4.2-13
- pull fix for NPN patch from upstream (r1345599)
* Thu May 31 2012 Joe Orton <jorton@redhat.com> - 2.4.2-12 * Thu May 31 2012 Joe Orton <jorton@redhat.com> - 2.4.2-12
- update suexec patch to use LOG_AUTHPRIV facility - update suexec patch to use LOG_AUTHPRIV facility

View File

@ -34,7 +34,7 @@ prev=/dev/null
for r in $*; do for r in $*; do
echo "+ fetching ${r}" echo "+ fetching ${r}"
this=`mktemp /tmp/pullrevXXXXXX` this=`mktemp /tmp/pullrevXXXXXX`
svn diff -c ${r} ${repo} | filterdiff --remove-timestamps -x 'CHANGES' \ svn diff -c ${r} ${repo} | filterdiff --remove-timestamps -x 'CHANGES' -x 'next-number' \
--addprefix="${prefix}/" > ${this} --addprefix="${prefix}/" > ${this}
next=`mktemp /tmp/pullrevXXXXXX` next=`mktemp /tmp/pullrevXXXXXX`
combinediff --quiet ${prev} ${this} > ${next} combinediff --quiet ${prev} ${this} > ${next}