Skip to content
Commits on Source (3)
.classpath
.project
/.settings/
/native/.libs/
/native/.make.dirs
/native/Makefile
/native/build-outputs.mk
/native/build/apr_common.m4
/native/build/config.guess
/native/build/config.sub
/native/build/find_apr.m4
/native/build/install.sh
/native/build/rules.mk
/native/config.log
/native/config.nice
/native/config.status
/native/configure
/native/libtcnative-1.la
/native/tcnative.pc
/native/tcnative.spec
**/*.lo
**/*.o
......@@ -2,6 +2,28 @@
This is the Changelog for Tomcat Native 1.2.
Changes in 1.2.23
* Fix: Make file fixes to enable building with APR 1.7.x. (markt)
* Fix: Switch to Windows 7 as the default target. (markt)
* Update: Update minimum OpenSSL version to 1.0.2r. (markt)
Changes in 1.2.22
* Fix: 63159: Unable to complete build when build directory is outside
of the source tree. Patch provided by Bob Huemmer. (markt)
* Fix: 63356: Fix client certificate authentication when a certificate
contains an AIA extension without an OCSP URI. Patch provided by
Milind Takawale. (markt)
* Fix: 63500: Fix JVM crash on Connector start when a certificate
revocation file or path is specified for OpenSSL. (markt)
* Add: Add support for TLS key logging when using OpenSSL 1.1.1 or
later. If the environment variable SSLKEYLOGFILE is set then the TLS
keys will be logged to that file. Patch provided by John Kelly.
(markt)
* Fix: Update build script after migration of soucre repository from
Subversion to Git. (markt)
Changes in 1.2.21
* Fix: Correct a possible JVM crash during shutdown caused by a bug in
......
......@@ -32,7 +32,7 @@ http://tomcat.apache.org/native-doc/
Documentation about the Tomcat APR connector which is based
on this library can be found at
http://tomcat.apache.org/tomcat-8.0-doc/apr.html.
http://tomcat.apache.org/tomcat-9.0-doc/apr.html.
Building
......
......@@ -18,7 +18,7 @@
# ----- Version Control Flags -----
version.major=1
version.minor=2
version.build=21
version.build=23
version.patch=0
version.suffix=
......
tomcat-native (1.2.23-1) unstable; urgency=medium
* Team upload.
* New upstream release
-- Emmanuel Bourg <ebourg@apache.org> Thu, 11 Jul 2019 22:16:02 +0200
tomcat-native (1.2.21-1) unstable; urgency=medium
* Team upload.
......
......@@ -27,10 +27,10 @@
</div><h3 id="Headlines">Headlines</h3><div class="text">
<ul>
<li><a href="news/2018.html#20181204">4 Dec 2018 - <b>TC-Native-1.2.19
<li><a href="news/2019.html#20190131">31 Jan 2019 - <b>TC-Native-1.2.21
released</b></a>
<p>The Apache Tomcat team is proud to announce the immediate availability of
Tomcat Native 1.2.19 Stable.</p>
Tomcat Native 1.2.21 Stable.</p>
<p>
The sources and the binaries for selected platforms are available from the
<a href="../download-native.cgi">Download page</a>.
......
......@@ -3,6 +3,43 @@
<p>
This is the Changelog for Tomcat Native 1.2.
</p>
</div><h3 id="Changes_in_1.2.23">Changes in 1.2.23</h3><div class="text">
<ul class="changelog">
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
Make file fixes to enable building with APR 1.7.x. (markt)
</li>
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
Switch to Windows 7 as the default target. (markt)
</li>
<li><img alt="Update: " class="icon" src="../images/update.gif">
Update minimum OpenSSL version to 1.0.2r. (markt)
</li>
</ul>
</div><h3 id="Changes_in_1.2.22">Changes in 1.2.22</h3><div class="text">
<ul class="changelog">
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=63159">63159</a>: Unable to complete build when build directory is
outside of the source tree. Patch provided by Bob Huemmer. (markt)
</li>
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=63356">63356</a>: Fix client certificate authentication when a certificate
contains an AIA extension without an OCSP URI. Patch provided by Milind
Takawale. (markt)
</li>
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
<a href="http://issues.apache.org/bugzilla/show_bug.cgi?id=63500">63500</a>: Fix JVM crash on Connector start when a certificate
revocation file or path is specified for OpenSSL. (markt)
</li>
<li><img alt="Add: " class="icon" src="../images/add.gif">
Add support for TLS key logging when using OpenSSL 1.1.1 or later. If the
environment variable SSLKEYLOGFILE is set then the TLS keys will be logged
to that file. Patch provided by John Kelly. (markt)
</li>
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
Update build script after migration of soucre repository from Subversion
to Git. (markt)
</li>
</ul>
</div><h3 id="Changes_in_1.2.21">Changes in 1.2.21</h3><div class="text">
<ul class="changelog">
<li><img alt="Fix: " class="icon" src="../images/fix.gif">
......
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="en"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="../images/docs-stylesheet.css" rel="stylesheet" type="text/css"><link href="../images/style.css" rel="stylesheet" type="text/css"><title>The Apache Tomcat Native - News - 2018 News and Status</title></head><body><div id="wrapper"><header><div id="header"><div><div><div class="logo noPrint"><a href="http://tomcat.apache.org/"><img alt="Tomcat Home" src="../images/tomcat.png"></a></div><div style="height: 1px;"></div><div class="asfLogo noPrint"><a href="http://www.apache.org/" target="_blank"><img src="../images/asf-feather.png" alt="The Apache Software Foundation" style="width: 266px; height: 83px;"></a></div><h1>The Apache Tomcat Native - News</h1><div style="height: 1px;"></div><div style="clear: left;"></div></div></div></div></header><div id="middle"><div><div id="mainLeft" class="noprint"><div><nav><div><h2><strong>Links</strong></h2><ul><li><a href="../index.html">Docs Home</a></li></ul></div><div><h2><strong>Miscellaneous Documentation</strong></h2><ul><li><a href="../miscellaneous/changelog.html">Changelog</a></li></ul></div><div><h2><strong>News</strong></h2><ul><li><a href="../news/2017.html">2017</a></li><li><a href="../news/2016.html">2016</a></li><li><a href="../news/2015.html">2015</a></li><li><a href="../news/2014.html">2014</a></li><li><a href="../news/2013.html">2013</a></li><li><a href="../news/2012.html">2012</a></li><li><a href="../news/2011.html">2011</a></li><li><a href="../news/2010.html">2010</a></li><li><a href="../news/2009.html">2009</a></li><li><a href="../news/2008.html">2008</a></li></ul></div></nav></div></div><div id="mainRight"><div id="content"><h2>2018 News and Status</h2><h3 id="2019_News_&amp;_Status">2019 News &amp; Status</h3><div class="text">
<div class="subsection"><h4 id="20190131">31 Jan 2019 - TC-Native-1.2.21 released</h4><div class="text">
<p>The Apache Tomcat team is proud to announce the immediate availability of
Tomcat Native 1.2.21. This is a bugfix release.
</p>
</div></div>
</div></div></div></div></div><footer><div id="footer">
Copyright &copy; 2008-2019, The Apache Software Foundation
</div></footer></div></body></html>
\ No newline at end of file
......@@ -14,7 +14,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.tomcat.jni;
/** Address
......
......@@ -24,8 +24,9 @@
# Default place to look for apr source. Can be overridden with
# --with-apr=[directory]
apr_src_dir=`pwd`/native/srclib/apr
SVNBASE=https://svn.apache.org/repos/asf/tomcat/native
TCJAVA_SVNBASE=https://svn.apache.org/repos/asf/tomcat/trunk
GITBASE=https://gitbox.apache.org/repos/asf/tomcat-native.git
TCJAVA_GITBASE=https://gitbox.apache.org/repos/asf/tomcat.git
# Set the environment variable that stops OSX storing extended
# attributes in tar archives etc. with a file starting with ._
......@@ -33,6 +34,7 @@ COPYFILE_DISABLE=1
export COPYFILE_DISABLE
JKJNIEXT=""
JKJNIHASH=""
JKJNIVER=""
JKJNIREL=""
JKJNIFORCE=""
......@@ -81,9 +83,9 @@ fi
if [ "x$JKJNIEXT" = "x" ]; then
echo ""
echo "Unknown SVN version"
echo "Unknown Git tag/branch"
echo "Use:"
echo " --ver=<tagged-version>|1.1.x|trunk|."
echo " --ver=<tag>|1.1.x|master|."
echo ""
exit 1
fi
......@@ -131,40 +133,38 @@ else
exit 1
fi
if [ "x$JKJNIEXT" = "xtrunk" ]; then
JKJNISVN="${SVNBASE}/trunk"
JKJNIVER=`svn info $JKJNISVN | awk '$1 == "Revision:" {print $2}'`
JKJNIVER="$JKJNIEXT-$JKJNIVER"
if [ "x$JKJNIEXT" = "xmaster" ]; then
JKJNIHASH=`git rev-parse --short origin/master`
JKJNIVER="$JKJNIEXT-$JKJNIHASH"
elif [ "x$JKJNIEXT" = "x1.1.x" ]; then
JKJNISVN="${SVNBASE}/branches/$JKJNIEXT"
JKJNIVER=`svn info $JKJNISVN | awk '$1 == "Revision:" {print $2}'`
JKJNIVER="$JKJNIEXT-$JKJNIVER"
JKJNIHASH=`git rev-parse --short origin/1.1.x`
JKJNIVER="$JKJNIEXT-$JKJNIHASH"
elif [ "x$JKJNIEXT" = "x." ]; then
JKJNISVN="."
JKJNIVER=`svn info $JKJNISVN | awk '$1 == "Revision:" {print $2}'`
JKJNIEXT=`svn info $JKJNISVN | awk '$1 == "URL:" {print $2}' | sed -e 's#.*/##'`
JKJNIVER="checkout-$JKJNIEXT-$JKJNIVER"
JKJNIHASH=`git rev-parse --short HEAD`
JKJNIVER="HEAD-$JKJNIHASH"
else
JKJNISVN="${SVNBASE}/tags/TOMCAT_NATIVE_`echo $JKJNIEXT | sed 's/\./_/g'`"
JKJNIVER=$JKJNIEXT
JKJNIHASH=`git rev-parse --short refs/tags/$JKJNIEXT`
JKJNIVER="$JKJNIEXT"
JKJNIREL=1
fi
echo "Using SVN repo : \`${JKJNISVN}'"
echo "Using version : \`${JKJNIVER}'"
echo "Using GIT repo : \`${GITBASE}\`"
echo "Using version : \`${JKJNIVER}\`"
# Checking for recentness of git subtree
git checkout ${JKJNIHASH}
if [ ! -d .git/refs/remotes/9.0.x ]; then
git remote add -f 9.0.x ${TCJAVA_GITBASE}
fi
git remote update 9.0.x
diffcount=$(git diff HEAD remotes/9.0.x/master java/org/apache/tomcat/jni | wc -l)
# Checking for recentness of svn:externals
externals_path=java/org/apache/tomcat
jni_externals=`svn propget svn:externals $JKJNISVN/$externals_path | \
grep $externals_path/jni | \
sed -e 's#.*@##' -e 's# .*##'`
jni_last_changed=`svn info --xml $TCJAVA_SVNBASE/$externals_path/jni | \
tr "\n" " " | \
sed -e 's#.*commit *revision="##' -e 's#".*##'`
if [ "x$jni_externals" != "x$jni_last_changed" ]; then
echo "WARNING: svn:externals for jni in $externals_path is '$jni_externals',"
echo " last changed revision in TC trunk is '$jni_last_changed'."
if [ $diffcount -ne 0 ]; then
echo "WARNING: git subtree is not up to date with"
echo " $TCJAVA_GITBASE"
echo " Either correct now by running"
echo " 'svn propedit svn:externals' on $externals_path to fix"
echo " 'git rm -rf java/org/apache/tomcat/jni'"
echo " 'git read-tree --prefix=java/org/apache/tomcat/jni/ -u 9.0.x/master:java/org/apache/tomcat/jni'"
echo " 'git commit'"
echo " or run this script with -f (force)"
if [ "X$JKJNIFORCE" = "X1" ]
then
......@@ -179,10 +179,10 @@ JKJNIDIST=tomcat-native-${JKJNIVER}-src
rm -rf ${JKJNIDIST}
mkdir -p ${JKJNIDIST}
svn export --force ${JKJNISVN} ${JKJNIDIST}
git archive ${JKJNIHASH} | tar -x -C ${JKJNIDIST}
if [ $? -ne 0 ]; then
echo ""
echo "svn export failed"
echo "git export failed"
echo ""
exit 1
fi
......@@ -246,10 +246,10 @@ tar -cf - ${JKJNIDIST} | gzip -c9 > ${JKJNIDIST}.tar.gz || exit 1
JKWINDIST=tomcat-native-${JKJNIVER}-win32-src
rm -rf ${JKWINDIST}
mkdir -p ${JKWINDIST}
svn export --force --native-eol CRLF ${JKJNISVN} ${JKWINDIST}
git -c core.autocrlf=true -c core.eol=crlf archive ${JKJNIHASH} | tar -x -C ${JKWINDIST}
if [ $? -ne 0 ]; then
echo ""
echo "svn export failed"
echo "git export failed"
echo ""
exit 1
fi
......
/build-outputs.mk
/configure
/tcnative.spec
......@@ -80,7 +80,7 @@ install: $(TARGET_LIB)
$(APR_MKDIR) $(DESTDIR)$(includedir) $(DESTDIR)$(libdir)/pkgconfig \
$(DESTDIR)$(libdir) $(DESTDIR)$(bindir)
$(INSTALL_DATA) tcnative.pc $(DESTDIR)$(libdir)/pkgconfig/$(TCNATIVE_PCFILE)
$(INSTALL_DATA) include/*.h $(DESTDIR)$(includedir)
$(INSTALL_DATA) $(srcdir)/include/*.h $(DESTDIR)$(includedir)
list='$(INSTALL_SUBDIRS)'; for i in $$list; do \
( cd $$i ; $(MAKE) DESTDIR=$(DESTDIR) install ); \
done
......
......@@ -30,13 +30,12 @@
# PROCESSOR_ARCHITECTURE environment variable
# or to the X86 if not specified.
# WINVER Compile for specified Windows version
# WINNT for Windows 2000 and up(default)
# WINXP for Windows XP and up
# WIN2003 for Windows 2003 and up
# VSITA for Windows Vista and up
# WIN7 for Windows 7 and up (default)
# Deprecated targets (may not even compile):
# NT4 for Windows NT4 and up
# WIN9X for Windows 95, 98 and Me
# WIN2003 for Windows 2003 and up
# VISTA for Windows Vista and up
# WINXP for Windows XP and up
# WINNT for Windows 2000 and up
# BUILD Build version
# RETAIL or RELEASE (default)
# DEBUG
......@@ -140,7 +139,7 @@ TARGET=EXE
!ENDIF
!IF !DEFINED(WINVER) || "$(WINVER)" == ""
WINVER=WINXP
WINVER=WIN7
!ENDIF
......@@ -175,7 +174,7 @@ _WIN32_IE = 0x0800
!ERROR Must specify WINVER environment variable (WINNT, WINXP, WIN2003, VISTA, WIN7)
!ENDIF
NMAKE_WINNT = -DWINNT -D_WINNT -D_WIN32_WINNT=$(NMAKE_WINVER) -DWINVER=$(NMAKE_WINVER) -D_WIN32_IE=$(_WIN32_IE)
NMAKE_WINNT = -DWINNT -D_WINNT -D_WIN32_WINNT=$(NMAKE_WINVER) -DWINVER=$(NMAKE_WINVER) -D_WIN32_IE=$(_WIN32_IE) -DPSAPI_VERSION=1
!IF !DEFINED(BUILD) || "$(BUILD)" == ""
BUILD=RELEASE
......
/apr_common.m4
/config.guess
/config.sub
/find_apr.m4
/install.sh
......@@ -511,9 +511,9 @@ AC_DEFUN([APR_TRY_COMPILE_NO_WARNING],
[int main(int argc, const char *const *argv) {]
[[$2]]
[ return 0; }]
)],
[$3], [$4])
CFLAGS=$apr_save_CFLAGS
)], [CFLAGS=$apr_save_CFLAGS
$3], [CFLAGS=$apr_save_CFLAGS
$4])
])
dnl
......@@ -974,12 +974,45 @@ fi
AC_SUBST(MKDEP)
])
dnl
dnl APR_CHECK_TYPES_FMT_COMPATIBLE(TYPE-1, TYPE-2, FMT-TAG,
dnl [ACTION-IF-TRUE], [ACTION-IF-FALSE])
dnl
dnl Try to determine whether two types are the same and accept the given
dnl printf formatter (bare token, e.g. literal d, ld, etc).
dnl
AC_DEFUN([APR_CHECK_TYPES_FMT_COMPATIBLE], [
define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_])_[][$3])
AC_CACHE_CHECK([whether $1 and $2 use fmt %$3], apr_cvname, [
APR_TRY_COMPILE_NO_WARNING([#include <sys/types.h>
#include <stdio.h>
#ifdef HAVE_STDINT_H
#include <stdint.h>
#endif
], [
$1 chk1, *ptr1;
$2 chk2, *ptr2 = &chk1;
ptr1 = &chk2;
*ptr1 = *ptr2 = 0;
printf("%$3 %$3", chk1, chk2);
], [apr_cvname=yes], [apr_cvname=no])])
if test "$apr_cvname" = "yes"; then
:
$4
else
:
$5
fi
])
dnl
dnl APR_CHECK_TYPES_COMPATIBLE(TYPE-1, TYPE-2, [ACTION-IF-TRUE])
dnl
dnl Try to determine whether two types are the same. Only works
dnl for gcc and icc.
dnl
dnl @deprecated @see APR_CHECK_TYPES_FMT_COMPATIBLE
dnl
AC_DEFUN([APR_CHECK_TYPES_COMPATIBLE], [
define([apr_cvname], apr_cv_typematch_[]translit([$1], [ ], [_])_[]translit([$2], [ ], [_]))
AC_CACHE_CHECK([whether $1 and $2 are the same], apr_cvname, [
......
This diff is collapsed.
This diff is collapsed.
......@@ -2004,6 +2004,8 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
......
......@@ -241,6 +241,10 @@
#define TLS_server_method SSLv23_server_method
#endif /* OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER) */
#if OPENSSL_VERSION_NUMBER >= 0x10101000L
#define HAVE_KEYLOG_CALLBACK
#endif
#define MAX_ALPN_NPN_PROTO_SIZE 65535
#define SSL_SELECTOR_FAILURE_CHOOSE_MY_LAST_PROTOCOL 1
......@@ -387,6 +391,9 @@ int SSL_rand_seed(const char *file);
int SSL_callback_next_protos(SSL *, const unsigned char **, unsigned int *, void *);
int SSL_callback_select_next_proto(SSL *, unsigned char **, unsigned char *, const unsigned char *, unsigned int,void *);
int SSL_callback_alpn_select_proto(SSL *, const unsigned char **, unsigned char *, const unsigned char *, unsigned int, void *);
#ifdef HAVE_KEYLOG_CALLBACK
void SSL_callback_add_keylog(SSL_CTX *);
#endif
#if (OPENSSL_VERSION_NUMBER < 0x10100000L) && ! (defined(WIN32) || defined(WIN64))
unsigned long SSL_ERR_get(void);
......
......@@ -63,7 +63,7 @@ extern "C" {
#define TCN_MINOR_VERSION 2
/** patch level */
#define TCN_PATCH_VERSION 21
#define TCN_PATCH_VERSION 23
/**
* This symbol is defined for internal, "development" copies of TCN. This
......