]>
Commit | Line | Data |
---|---|---|
ef416fc2 | 1 | dnl |
724e1819 | 2 | dnl TLS stuff for CUPS. |
ef416fc2 | 3 | dnl |
105922ec | 4 | dnl Copyright 2007-2017 by Apple Inc. |
724e1819 | 5 | dnl Copyright 1997-2007 by Easy Software Products, all rights reserved. |
ef416fc2 | 6 | dnl |
e3101897 | 7 | dnl Licensed under Apache License v2.0. See the file "LICENSE" for more information. |
ef416fc2 | 8 | dnl |
9 | ||
bf3816c7 | 10 | AC_ARG_ENABLE(ssl, [ --disable-ssl disable SSL/TLS support]) |
ef416fc2 | 11 | AC_ARG_ENABLE(cdsassl, [ --enable-cdsassl use CDSA for SSL/TLS support, default=first]) |
12 | AC_ARG_ENABLE(gnutls, [ --enable-gnutls use GNU TLS for SSL/TLS support, default=second]) | |
ef416fc2 | 13 | |
14 | SSLFLAGS="" | |
15 | SSLLIBS="" | |
f8b3a85b | 16 | have_ssl=0 |
56138cae | 17 | CUPS_SERVERKEYCHAIN="" |
ef416fc2 | 18 | |
19 | if test x$enable_ssl != xno; then | |
20 | dnl Look for CDSA... | |
0268488e | 21 | if test $have_ssl = 0 -a "x$enable_cdsassl" != "xno"; then |
105922ec | 22 | if test $host_os_name = darwin; then |
b86bc4cf | 23 | AC_CHECK_HEADER(Security/SecureTransport.h, [ |
f8b3a85b | 24 | have_ssl=1 |
b86bc4cf | 25 | AC_DEFINE(HAVE_SSL) |
26 | AC_DEFINE(HAVE_CDSASSL) | |
56138cae | 27 | CUPS_SERVERKEYCHAIN="/Library/Keychains/System.keychain" |
b86bc4cf | 28 | |
29 | dnl Check for the various security headers... | |
eac3a0a0 MS |
30 | AC_CHECK_HEADER(Security/SecureTransportPriv.h, |
31 | AC_DEFINE(HAVE_SECURETRANSPORTPRIV_H)) | |
7cf5915e MS |
32 | AC_CHECK_HEADER(Security/SecCertificate.h, |
33 | AC_DEFINE(HAVE_SECCERTIFICATE_H)) | |
0268488e MS |
34 | AC_CHECK_HEADER(Security/SecItem.h, |
35 | AC_DEFINE(HAVE_SECITEM_H)) | |
c7017ecc | 36 | AC_CHECK_HEADER(Security/SecItemPriv.h, |
eac3a0a0 MS |
37 | AC_DEFINE(HAVE_SECITEMPRIV_H),, |
38 | [#include <Security/SecItem.h>]) | |
b86bc4cf | 39 | AC_CHECK_HEADER(Security/SecPolicy.h, |
40 | AC_DEFINE(HAVE_SECPOLICY_H)) | |
41 | AC_CHECK_HEADER(Security/SecPolicyPriv.h, | |
42 | AC_DEFINE(HAVE_SECPOLICYPRIV_H)) | |
43 | AC_CHECK_HEADER(Security/SecBasePriv.h, | |
44 | AC_DEFINE(HAVE_SECBASEPRIV_H)) | |
45 | AC_CHECK_HEADER(Security/SecIdentitySearchPriv.h, | |
ffbf1e61 | 46 | AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H))]) |
ef416fc2 | 47 | fi |
48 | fi | |
49 | ||
50 | dnl Then look for GNU TLS... | |
0268488e | 51 | if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then |
cffefbac | 52 | AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config) |
f11a948a | 53 | if $PKGCONFIG --exists gnutls; then |
eac3a0a0 MS |
54 | have_ssl=1 |
55 | SSLLIBS=`$PKGCONFIG --libs gnutls` | |
56 | SSLFLAGS=`$PKGCONFIG --cflags gnutls` | |
57 | AC_DEFINE(HAVE_SSL) | |
58 | AC_DEFINE(HAVE_GNUTLS) | |
c7017ecc | 59 | elif test "x$LIBGNUTLSCONFIG" != x; then |
eac3a0a0 MS |
60 | have_ssl=1 |
61 | SSLLIBS=`$LIBGNUTLSCONFIG --libs` | |
62 | SSLFLAGS=`$LIBGNUTLSCONFIG --cflags` | |
63 | AC_DEFINE(HAVE_SSL) | |
64 | AC_DEFINE(HAVE_GNUTLS) | |
6d2f911b MS |
65 | fi |
66 | ||
67 | if test $have_ssl = 1; then | |
56138cae | 68 | CUPS_SERVERKEYCHAIN="ssl" |
9483577f MS |
69 | |
70 | SAVELIBS="$LIBS" | |
71 | LIBS="$LIBS $SSLLIBS" | |
72 | AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION)) | |
19ba6878 | 73 | AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT)) |
9483577f | 74 | LIBS="$SAVELIBS" |
f301802f | 75 | fi |
ef416fc2 | 76 | fi |
ef416fc2 | 77 | fi |
78 | ||
eac3a0a0 | 79 | IPPALIASES="http" |
f8b3a85b | 80 | if test $have_ssl = 1; then |
f301802f | 81 | AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"]) |
82 | AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"]) | |
eac3a0a0 | 83 | IPPALIASES="http https ipps" |
724e1819 | 84 | elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then |
0268488e | 85 | AC_MSG_ERROR([Unable to enable SSL support.]) |
f301802f | 86 | fi |
87 | ||
56138cae | 88 | AC_SUBST(CUPS_SERVERKEYCHAIN) |
eac3a0a0 | 89 | AC_SUBST(IPPALIASES) |
ef416fc2 | 90 | AC_SUBST(SSLFLAGS) |
91 | AC_SUBST(SSLLIBS) | |
92 | ||
93 | EXPORT_SSLLIBS="$SSLLIBS" | |
94 | AC_SUBST(EXPORT_SSLLIBS) |