diff options
author | Ross Lagerwall <rosslagerwall@gmail.com> | 2015-06-11 23:05:08 +0100 |
---|---|---|
committer | Ross Lagerwall <rosslagerwall@gmail.com> | 2015-06-17 22:34:44 +0100 |
commit | 600558ec7927d75ea045f3093a7db0a4778c76fe (patch) | |
tree | 2d53264c2fda26aa1a0f99d1a6b0fd7e456dd94a | |
parent | 7deded463b8cc148103c55460a84a6b23342c941 (diff) | |
download | gvfs-600558ec7927d75ea045f3093a7db0a4778c76fe.tar.gz |
build: Make GCR optional
Make using GCR optional by compiling with --disable-gcr. This makes
gvfs strict when checking SSL certificates, so don't silently disable it
if the library is not found, only disable it if --disable-gcr is given.
https://bugzilla.gnome.org/show_bug.cgi?id=750706
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | daemon/gvfsdaemonutils.c | 14 | ||||
-rw-r--r-- | daemon/gvfsdaemonutils.h | 2 |
3 files changed, 26 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac index 93e33748..8459e341 100644 --- a/configure.ac +++ b/configure.ac @@ -74,7 +74,17 @@ AC_SUBST(DBUS_SERVICE_DIR) giomodulesdir=$libdir/gio/modules AC_SUBST(giomodulesdir) -PKG_CHECK_MODULES(GCR, gcr-base-3) +dnl ********************* +dnl *** Check for gcr *** +dnl ********************* + +AC_ARG_ENABLE(gcr, AS_HELP_STRING([--disable-gcr],[build without gcr])) +msg_gcr=no + +if test "x$enable_gcr" != "xno"; then + PKG_CHECK_MODULES(GCR, gcr-base-3, msg_gcr=yes) + AC_DEFINE(HAVE_GCR, 1, [Define to 1 if gcr is available]) +fi dnl **************************** dnl *** Checks for intltool *** @@ -946,6 +956,7 @@ echo " Build udisks2 volume monitor: $msg_udisks2 Build GOA volume monitor: $msg_goa Use libsystemd-login: $msg_libsystemd_login + Use GCR: $msg_gcr GNOME Keyring support: $msg_keyring GTK+ support: $msg_gtk Bash-completion support: $msg_bash_completion diff --git a/daemon/gvfsdaemonutils.c b/daemon/gvfsdaemonutils.c index 7db18411..49999a8a 100644 --- a/daemon/gvfsdaemonutils.c +++ b/daemon/gvfsdaemonutils.c @@ -35,6 +35,10 @@ #include <glib/gi18n.h> #include <gio/gio.h> +#ifdef HAVE_GCR +#define GCR_API_SUBJECT_TO_CHANGE +#include <gcr/gcr-base.h> +#endif #include "gvfsdaemonutils.h" #include "gvfsdaemonprotocol.h" @@ -238,6 +242,7 @@ gvfs_seek_type_to_lseek (GSeekType type) } } +#ifdef HAVE_GCR /* Convert GTlsCertificateFlags into a message to display to the user. */ static char * certificate_flags_to_string (GTlsCertificateFlags errors) @@ -350,3 +355,12 @@ gvfs_accept_certificate (GMountSource *mount_source, return FALSE; } +#else +gboolean +gvfs_accept_certificate (GMountSource *mount_source, + GTlsCertificate *certificate, + GTlsCertificateFlags errors) +{ + return FALSE; +} +#endif diff --git a/daemon/gvfsdaemonutils.h b/daemon/gvfsdaemonutils.h index f28e2ba2..73ec0c0c 100644 --- a/daemon/gvfsdaemonutils.h +++ b/daemon/gvfsdaemonutils.h @@ -25,8 +25,6 @@ #include <glib-object.h> #include <gmountsource.h> -#define GCR_API_SUBJECT_TO_CHANGE -#include <gcr/gcr-base.h> G_BEGIN_DECLS |