[gnome-control-center/wip/identity: 6/11] user-accounts: add kerberos implemention of identity manager interface



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]