]>
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, | |
46 | AC_DEFINE(HAVE_SECIDENTITYSEARCHPRIV_H)) | |
47 | ||
eb66bc71 MS |
48 | AC_DEFINE(HAVE_CSSMERRORSTRING) |
49 | AC_DEFINE(HAVE_SECKEYCHAINOPEN)]) | |
ee6226a5 | 50 | |
105922ec | 51 | if test $host_os_version -ge 150; then |
ee6226a5 MS |
52 | AC_DEFINE(HAVE_SSLSETENABLEDCIPHERS) |
53 | fi | |
ef416fc2 | 54 | fi |
55 | fi | |
56 | ||
57 | dnl Then look for GNU TLS... | |
0268488e | 58 | if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then |
cffefbac | 59 | AC_PATH_TOOL(LIBGNUTLSCONFIG,libgnutls-config) |
f11a948a | 60 | if $PKGCONFIG --exists gnutls; then |
eac3a0a0 MS |
61 | have_ssl=1 |
62 | SSLLIBS=`$PKGCONFIG --libs gnutls` | |
63 | SSLFLAGS=`$PKGCONFIG --cflags gnutls` | |
64 | AC_DEFINE(HAVE_SSL) | |
65 | AC_DEFINE(HAVE_GNUTLS) | |
c7017ecc | 66 | elif test "x$LIBGNUTLSCONFIG" != x; then |
eac3a0a0 MS |
67 | have_ssl=1 |
68 | SSLLIBS=`$LIBGNUTLSCONFIG --libs` | |
69 | SSLFLAGS=`$LIBGNUTLSCONFIG --cflags` | |
70 | AC_DEFINE(HAVE_SSL) | |
71 | AC_DEFINE(HAVE_GNUTLS) | |
6d2f911b MS |
72 | fi |
73 | ||
74 | if test $have_ssl = 1; then | |
56138cae | 75 | CUPS_SERVERKEYCHAIN="ssl" |
9483577f MS |
76 | |
77 | SAVELIBS="$LIBS" | |
78 | LIBS="$LIBS $SSLLIBS" | |
79 | AC_CHECK_FUNC(gnutls_transport_set_pull_timeout_function, AC_DEFINE(HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION)) | |
19ba6878 | 80 | AC_CHECK_FUNC(gnutls_priority_set_direct, AC_DEFINE(HAVE_GNUTLS_PRIORITY_SET_DIRECT)) |
9483577f | 81 | LIBS="$SAVELIBS" |
f301802f | 82 | fi |
ef416fc2 | 83 | fi |
ef416fc2 | 84 | fi |
85 | ||
eac3a0a0 | 86 | IPPALIASES="http" |
f8b3a85b | 87 | if test $have_ssl = 1; then |
f301802f | 88 | AC_MSG_RESULT([ Using SSLLIBS="$SSLLIBS"]) |
89 | AC_MSG_RESULT([ Using SSLFLAGS="$SSLFLAGS"]) | |
eac3a0a0 | 90 | IPPALIASES="http https ipps" |
724e1819 | 91 | elif test x$enable_cdsa = xyes -o x$enable_gnutls = xyes; then |
0268488e | 92 | AC_MSG_ERROR([Unable to enable SSL support.]) |
f301802f | 93 | fi |
94 | ||
56138cae | 95 | AC_SUBST(CUPS_SERVERKEYCHAIN) |
eac3a0a0 | 96 | AC_SUBST(IPPALIASES) |
ef416fc2 | 97 | AC_SUBST(SSLFLAGS) |
98 | AC_SUBST(SSLLIBS) | |
99 | ||
100 | EXPORT_SSLLIBS="$SSLLIBS" | |
101 | AC_SUBST(EXPORT_SSLLIBS) |