[gnome-control-center/wip/identity: 6/11] user-accounts: add kerberos implemention of identity manager interface
- From: Ray Strode <halfline src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/identity: 6/11] user-accounts: add kerberos implemention of identity manager interface
- Date: Fri, 22 Jun 2012 02:50:18 +0000 (UTC)
commit 93cb3a470cb73a2bb0e7e332d74cdc2751b05320
Author: Ray Strode <rstrode redhat com>
Date: Mon Feb 20 00:23:47 2012 -0500
user-accounts: add kerberos implemention of identity manager interface
This commits adds a concrete implementation of the identity manager
inteface using the krb5 libraries.
In the future we may add a different interface that leverages SSSD.
https://bugzilla.gnome.org/show_bug.cgi?id=671156
configure.ac | 30 ++++++++++++++++++++++++++++++
panels/user-accounts/Makefile.am | 10 ++++++++++
2 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index ce8b57a..8d57dce 100644
--- a/configure.ac
+++ b/configure.ac
@@ -62,6 +62,11 @@ else
SYSTEMD=
fi
+AC_ARG_ENABLE([kerberos],
+ AS_HELP_STRING([--enable-kerberos], [Use Kerberos]),
+ [with_kerberos=$enableval],
+ [with_kerberos=no])
+
dnl ==============================================
dnl Check that we meet the dependencies
dnl ==============================================
@@ -200,6 +205,31 @@ else
fi
AM_CONDITIONAL(BUILD_CHEESE, test x${have_cheese} = xyes)
+AC_PATH_PROG([KRB5_CONFIG], krb5-config, none, $PATH:/usr/kerberos/bin)
+
+if test "x$KRB5_CONFIG" != "xnone"; then
+ KRB5_LIBS="`${KRB5_CONFIG} --libs krb5`"
+ KRB5_CFLAGS="`${KRB5_CONFIG} --cflags krb5`"
+ have_kerberos=yes
+else
+ KRB5_LIBS=""
+ KRB5_CFLAGS=""
+ have_kerberos=no
+fi
+AC_SUBST(KRB5_CFLAGS)
+AC_SUBST(KRB5_LIBS)
+
+if test "$with_kerberos" = "yes" ; then
+ if test "$have_kerberos" = "no" ; then
+ AC_MSG_ERROR([kerberos support requested, but not available])
+ fi
+ AC_DEFINE(HAVE_KERBEROS, 1, [Define to 1 if kerberos is available])
+fi
+AM_CONDITIONAL(BUILD_KERBEROS, [test x$with_kerberos = xyes])
+
+USER_ACCOUNTS_PANEL_CFLAGS="$USER_ACCOUNTS_PANEL_CFLAGS $KRB5_CFLAGS"
+USER_ACCOUNTS_PANEL_LIBS="$USER_ACCOUNTS_PANEL_LIBS $KRB5_LIBS"
+
# wacom is disabled for s390/s390x and non Linux platforms (needs udev)
case $host_os in
linux*)
diff --git a/panels/user-accounts/Makefile.am b/panels/user-accounts/Makefile.am
index 871d3bf..f470aae 100644
--- a/panels/user-accounts/Makefile.am
+++ b/panels/user-accounts/Makefile.am
@@ -36,6 +36,7 @@ libuser_accounts_la_SOURCES = \
um-identity-manager.c \
um-identity.h \
um-identity.c \
+ $(kerberos_sources) \
um-user.h \
um-user.c \
um-user-manager.h \
@@ -68,6 +69,15 @@ libuser_accounts_la_SOURCES = \
um-realm-manager.h \
$(BUILT_SOURCES)
+if BUILD_KERBEROS
+libuser_accounts_la_SOURCES += \
+ um-kerberos-identity-manager.h \
+ um-kerberos-identity-manager.c \
+ um-kerberos-identity.h \
+ um-kerberos-identity.c
+endif
+
+
libuser_accounts_la_LIBADD = \
$(PANEL_LIBS) \
$(USER_ACCOUNTS_PANEL_LIBS) \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]