Only in krb5-auth-dialog-0.6.cvs20060212.sxw: debugfiles.list
Only in krb5-auth-dialog-0.6.cvs20060212.sxw: debugsources.list
Only in krb5-auth-dialog-0.6.cvs20060212/etpo: lexer.c
Only in krb5-auth-dialog-0.6.cvs20060212.sxw: krb5-auth-dialog.lang
Only in krb5-auth-dialog-0.6.cvs20060212: krb5-auth-dialog.spec
Only in krb5-auth-dialog-0.6.cvs20060212.sxw/po: stamp-it
diff -ur krb5-auth-dialog-0.6.cvs20060212/src/krb5-auth-dialog.c krb5-auth-dialog-0.6.cvs20060212.sxw/src/krb5-auth-dialog.c
--- krb5-auth-dialog-0.6.cvs20060212/src/krb5-auth-dialog.c	2006-02-13 04:42:17.000000000 +0000
+++ krb5-auth-dialog-0.6.cvs20060212.sxw/src/krb5-auth-dialog.c	2006-07-30 20:42:34.000000000 +0100
@@ -35,6 +35,11 @@
 #include <libnm_glib.h>
 #endif
 
+
+#include <security/pam_appl.h>
+#include <sys/types.h>
+#include <pwd.h>
+
 static GladeXML *xml = NULL;
 static krb5_context kcontext;
 static krb5_principal kprincipal;
@@ -405,6 +410,49 @@
 	/* krb5_get_init_creds_opt_set_address_list(opts, creds->addresses); */
 }
 
+static int simple_conv( int n, const struct pam_message **msg, struct pam_response **resp, void *data)
+{
+	return (PAM_CONV_ERR);
+}
+
+static struct pam_conv simplepamconv = { simple_conv, NULL };
+
+static int
+update_pam ( void )
+{
+	struct passwd *pwd;
+	char * envstr;
+	pam_handle_t *pamh = NULL;
+	int retval;
+
+        pwd = getpwuid(getuid());
+        if (pwd == NULL) 
+		goto out;
+
+	retval = pam_start("krb5-auth-dialog", pwd->pw_name, &simplepamconv, 
+			   &pamh);
+	if (retval)
+		goto out;
+
+	if (getenv("KRB5CCNAME")) {
+		char *envstr;
+
+	   	envstr = g_strdup_printf("KRB5CCNAME=%s", getenv("KRB5CCNAME"));
+		if (!envstr)
+			goto out;
+		retval = pam_putenv(pamh, envstr);
+		if (retval)
+			goto out;
+	}
+	retval = pam_setcred(pamh, PAM_ESTABLISH_CRED);
+
+out:
+	if (pamh)
+		pam_end(pamh, PAM_SUCCESS);
+
+	return retval;
+}
+
 static int
 renew_credentials (void)
 {
@@ -463,6 +511,8 @@
 	if (retval)
 		goto out;
 
+	update_pam();
+
 	creds_expiry = my_creds.times.endtime;
 
 out:
Only in krb5-auth-dialog-0.6.cvs20060212.sxw/src: krb5-auth-dialog.c.orig
diff -ur krb5-auth-dialog-0.6.cvs20060212/src/Makefile.am krb5-auth-dialog-0.6.cvs20060212.sxw/src/Makefile.am
--- krb5-auth-dialog-0.6.cvs20060212/src/Makefile.am	2006-01-31 05:30:04.000000000 +0000
+++ krb5-auth-dialog-0.6.cvs20060212.sxw/src/Makefile.am	2006-07-30 20:43:34.000000000 +0100
@@ -13,7 +13,7 @@
 	krb5-auth-dialog.c      \
 	dummy-strings.c
 
-krb5_auth_dialog_LDADD = @NETWORK_MANAGER_LIBS@ @KRB5_LIBS@ @GNOME_LIBS@
+krb5_auth_dialog_LDADD = @NETWORK_MANAGER_LIBS@ @KRB5_LIBS@ @GNOME_LIBS@ -lpam
 
 gladedir = $(datadir)/krb5-auth-dialog
 glade_DATA =			\
diff -ur krb5-auth-dialog-0.6.cvs20060212/src/Makefile.in krb5-auth-dialog-0.6.cvs20060212.sxw/src/Makefile.in
--- krb5-auth-dialog-0.6.cvs20060212/src/Makefile.in	2006-02-13 04:43:28.000000000 +0000
+++ krb5-auth-dialog-0.6.cvs20060212.sxw/src/Makefile.in	2006-07-30 20:46:57.000000000 +0100
@@ -207,7 +207,7 @@
 	dummy-strings.c
 
 
-krb5_auth_dialog_LDADD = @NETWORK_MANAGER_LIBS@ @KRB5_LIBS@ @GNOME_LIBS@
+krb5_auth_dialog_LDADD = @NETWORK_MANAGER_LIBS@ @KRB5_LIBS@ @GNOME_LIBS@ -lpam
 
 gladedir = $(datadir)/krb5-auth-dialog
 glade_DATA = \
