From cb10664e7d7526951d97f6d9ba2f7429d20b69d4 Mon Sep 17 00:00:00 2001 From: Henri Verbeet Date: Mon, 8 Sep 2008 22:39:11 +0200 Subject: secur32: Require gnutls for schannel --- configure.ac | 21 +++++++++++++++++++++ dlls/secur32/Makefile.in | 2 ++ dlls/secur32/schannel.c | 11 +++++++++++ 3 files changed, 34 insertions(+), 0 deletions(-) diff --git a/configure.ac b/configure.ac index 46d071e..fe0a6a8 100644 --- a/configure.ac +++ b/configure.ac @@ -38,6 +38,7 @@ AC_ARG_WITH(freetype, AS_HELP_STRING([--without-freetype],[do not use the FreeT AC_ARG_WITH(gphoto, AS_HELP_STRING([--without-gphoto],[do not use gphoto (Digital Camera support)])) AC_ARG_WITH(glu, AS_HELP_STRING([--without-glu],[do not use the GLU library]), [if test "x$withval" = "xno"; then ac_cv_header_GL_glu_h=no; fi]) +AC_ARG_WITH(gnutls, AS_HELP_STRING([--without-gnutls],[do not use GnuTLS (schannel support)])) AC_ARG_WITH(hal, AS_HELP_STRING([--without-hal],[do not use HAL (dynamic device support)])) AC_ARG_WITH(jack, AS_HELP_STRING([--without-jack],[do not use the Jack sound support]), [if test "x$withval" = "xno"; then ac_cv_header_jack_jack_h=no; fi]) @@ -907,6 +908,26 @@ fi WINE_NOTICE_WITH(hal,[test "x$ac_cv_lib_soname_hal" = "x"], [libhal development files not found, no dynamic device support.]) +dnl **** Check for libgnutls **** +AC_SUBST(GNUTLSLIBS,"") +AC_SUBST(GNUTLSINCL,"") +if test "x$with_gnutls" != "xno" -a "$PKG_CONFIG" != "false" +then + ac_save_CPPFLAGS="$CPPFLAGS" + ac_gnutls_libs="`$PKG_CONFIG --libs gnutls 2>/dev/null`" + ac_gnutls_cflags="`$PKG_CONFIG --cflags gnutls 2>/dev/null`" + CPPFLAGS="$CPPFLAGS $ac_gnutls_cflags" + AC_CHECK_HEADER(gnutls/gnutls.h, + [AC_CHECK_LIB(gnutls, gnutls_global_init, + [AC_DEFINE(HAVE_GNUTLS,1,[Define if you have the libgnutls library]) + GNUTLSLIBS="$ac_gnutls_libs" + GNUTLSINCL="$ac_gnutls_cflags"],,$ac_gnutls_libs) + ]) + CPPFLAGS="$ac_save_CPPFLAGS" +fi +WINE_NOTICE_WITH(gnutls,[test "$ac_cv_lib_gnutls_gnutls_global_init" != "yes"], + [libgnutls development files not found, no schannel support.]) + dnl **** Check which curses lib to use *** CURSESLIBS="" if test "$ac_cv_header_ncurses_h" = "yes" diff --git a/dlls/secur32/Makefile.in b/dlls/secur32/Makefile.in index df9695a..9805d92 100644 --- a/dlls/secur32/Makefile.in +++ b/dlls/secur32/Makefile.in @@ -6,6 +6,8 @@ MODULE = secur32.dll IMPORTLIB = secur32 IMPORTS = netapi32 advapi32 kernel32 ntdll DELAYIMPORTS = crypt32 +EXTRALIBS = @GNUTLSLIBS@ +EXTRAINCL = @GNUTLSINCL@ C_SRCS = \ base64_codec.c \ diff --git a/dlls/secur32/schannel.c b/dlls/secur32/schannel.c index 43b0f26..eeefef4 100644 --- a/dlls/secur32/schannel.c +++ b/dlls/secur32/schannel.c @@ -18,6 +18,8 @@ * FIXME: It should be rather obvious that this file is empty of any * implementation. */ +#include "config.h" + #include #include "windef.h" #include "winbase.h" @@ -28,6 +30,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(secur32); +#ifdef HAVE_GNUTLS + static SECURITY_STATUS schan_QueryCredentialsAttributes( PCredHandle phCredential, ULONG ulAttribute, const VOID *pBuffer) { @@ -395,3 +399,10 @@ void SECUR32_initSchannelSP(void) info); } } + +#else /* HAVE_GNUTLS */ + +void SECUR32_initSchannelSP(void) {} + +#endif /* HAVE_GNUTLS */ + -- 1.5.6.4