Sorry for the late review!
Sick/work/blah.

----- Original Message -----
> TS-462: Configure checks for ServerNameIndication
>
>
> Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
> Commit:
> http://git-wip-us.apache.org/repos/asf/trafficserver/commit/cad0e9b5
> Tree:
> http://git-wip-us.apache.org/repos/asf/trafficserver/tree/cad0e9b5
> Diff:
> http://git-wip-us.apache.org/repos/asf/trafficserver/diff/cad0e9b5
>
> Branch: refs/heads/master
> Commit: cad0e9b529337ee70b52235be9065e73820c157e
> Parents: f67290f
> Author: James Peach <jpe...@apache.org>
> Authored: Wed Feb 29 22:11:40 2012 -0800
> Committer: James Peach <jpe...@apache.org>
> Committed: Tue Mar 13 20:33:15 2012 -0700
>
> ----------------------------------------------------------------------
>  build/crypto.m4        |   39
>  +++++++++++++++++++++++++++++++++++++++
>  configure.ac           |    4 ++++
>  lib/ts/ink_config.h.in |    1 +
>  3 files changed, 44 insertions(+), 0 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cad0e9b5/build/crypto.m4
> ----------------------------------------------------------------------
> diff --git a/build/crypto.m4 b/build/crypto.m4
> index 5cdc80a..3cee32f 100644
> --- a/build/crypto.m4
> +++ b/build/crypto.m4
> @@ -124,3 +124,42 @@ AC_DEFUN([TS_CHECK_CRYPTO_NEXTPROTONEG], [
>    TS_ARG_ENABLE_VAR([use], [tls-npn])
>    AC_SUBST(use_tls_npn)
>  ])
> +
> +AC_DEFUN([TS_CHECK_CRYPTO_SNI], [
> +  _sni_saved_LIBS=$LIBS
> +  enable_tls_sni=yes
> +
> +  TS_ADDTO(LIBS, [$LIBSSL])
> +  AC_CHECK_HEADERS(openssl/tls1.h openssl/ssl.h)
> +  # We are looking for SSL_CTX_set_tlsext_servername_callback, but
> it's a
> +  # macro, so AC_CHECK_FUNCS is not going to do the business.
> +  AC_MSG_CHECKING([for SSL_CTX_set_tlsext_servername_callback])
> +  AC_COMPILE_IFELSE(
> +  [
> +    AC_LANG_PROGRAM([[
> +#if HAVE_OPENSSL_SSL_H
> +#include <openssl/ssl.h>
> +#endif
> +#if HAVE_OPENSSL_TLS1_H
> +#include <openssl/tls1.h>
> +#endif
> +      ]],
> +      [[SSL_CTX_set_tlsext_servername_callback(NULL, NULL);]])
> +  ],
> +  [
> +    AC_MSG_RESULT([yes])
> +  ],
> +  [
> +    AC_MSG_RESULT([no])
> +    enable_tls_sni=no
> +  ])
> +
> +  AC_CHECK_FUNCS(SSL_get_servername, [], [enable_tls_sni=no])
> +
> +  LIBS=$_sni_saved_LIBS
> +
> +  AC_MSG_CHECKING(whether to enable ServerNameIndication TLS
> extension support)
> +  AC_MSG_RESULT([$enable_tls_sni])
> +  TS_ARG_ENABLE_VAR([use], [tls-sni])
> +  AC_SUBST(use_tls_sni)
> +])


This seems like overkill.
All you'd have to do is surround your changes in the code with

   #ifndef OPENSSL_NO_TLSEXT

At least that's how httpd does it:

http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_init.c?view=markup#l495


> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cad0e9b5/configure.ac
> ----------------------------------------------------------------------
> diff --git a/configure.ac b/configure.ac
> index 52e072f..9f849e7 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -845,6 +845,10 @@ fi
>  TS_CHECK_CRYPTO_NEXTPROTONEG
>
>  #
> +# Check for ServerNameIndication TLS extension support.
> +TS_CHECK_CRYPTO_SNI
> +
> +#
>  # Check for zlib presence and usability
>  TS_CHECK_ZLIB
>
>
> http://git-wip-us.apache.org/repos/asf/trafficserver/blob/cad0e9b5/lib/ts/ink_config.h.in
> ----------------------------------------------------------------------
> diff --git a/lib/ts/ink_config.h.in b/lib/ts/ink_config.h.in
> index 6d02b77..aa12b36 100644
> --- a/lib/ts/ink_config.h.in
> +++ b/lib/ts/ink_config.h.in
> @@ -114,6 +114,7 @@
>  #define TS_USE_HWLOC                   @use_hwloc@
>  #define TS_USE_FREELIST                @use_freelist@
>  #define TS_USE_TLS_NPN                 @use_tls_npn@
> +#define TS_USE_TLS_SNI                 @use_tls_sni@
>
>  /* OS API definitions */
>  #define GETHOSTBYNAME_R_HOSTENT_DATA
>    @gethostbyname_r_hostent_data@
>
>

--
Igor Galić

Tel: +43 (0) 664 886 22 883
Mail: i.ga...@brainsware.org
URL: http://brainsware.org/
GPG: 6880 4155 74BD FD7C B515  2EA5 4B1D 9E08 A097 C9AE

Reply via email to