aboutsummaryrefslogtreecommitdiff
path: root/Linux-PAM/libpam/pam_item.c
diff options
context:
space:
mode:
authorSteve Langasek <steve.langasek@ubuntu.com>2019-01-03 16:18:43 -0800
committerSteve Langasek <steve.langasek@ubuntu.com>2019-01-03 17:01:52 -0800
commit26ee21df2a5fe63f08cfae8c7d35c24bd3dd4f04 (patch)
treee6e25c1da5974a60660c8b2108d609fae00af126 /Linux-PAM/libpam/pam_item.c
parenta3ee6f5fc767b1b01568bce6dd31fc9ca932a8d2 (diff)
parent9727ff2a3fa0e94a42b34a579027bacf4146d571 (diff)
downloadpam-26ee21df2a5fe63f08cfae8c7d35c24bd3dd4f04.tar.gz
pam-26ee21df2a5fe63f08cfae8c7d35c24bd3dd4f04.tar.bz2
pam-26ee21df2a5fe63f08cfae8c7d35c24bd3dd4f04.zip
merge upstream version 0.99.10.0
Diffstat (limited to 'Linux-PAM/libpam/pam_item.c')
-rw-r--r--Linux-PAM/libpam/pam_item.c29
1 files changed, 28 insertions, 1 deletions
diff --git a/Linux-PAM/libpam/pam_item.c b/Linux-PAM/libpam/pam_item.c
index 41d5b816..2d7985c8 100644
--- a/Linux-PAM/libpam/pam_item.c
+++ b/Linux-PAM/libpam/pam_item.c
@@ -1,7 +1,7 @@
/* pam_item.c */
/*
- * $Id: pam_item.c,v 1.13 2006/03/12 10:26:30 kukuk Exp $
+ * $Id: pam_item.c,v 1.15 2008/01/28 14:50:21 kukuk Exp $
*/
#include "pam_private.h"
@@ -138,6 +138,25 @@ int pam_set_item (pam_handle_t *pamh, int item_type, const void *item)
pamh->fail_delay.delay_fn_ptr = item;
break;
+ case PAM_XDISPLAY:
+ RESET(pamh->xdisplay, item);
+ break;
+
+ case PAM_XAUTHDATA:
+ if (pamh->xauth.namelen) {
+ _pam_overwrite(pamh->xauth.name);
+ free(pamh->xauth.name);
+ }
+ if (pamh->xauth.datalen) {
+ _pam_overwrite_n(pamh->xauth.data,
+ (unsigned int) pamh->xauth.datalen);
+ free(pamh->xauth.data);
+ }
+ pamh->xauth = *((const struct pam_xauth_data *) item);
+ pamh->xauth.name = _pam_strdup(pamh->xauth.name);
+ pamh->xauth.data = _pam_memdup(pamh->xauth.data, pamh->xauth.datalen);
+ break;
+
default:
retval = PAM_BAD_ITEM;
}
@@ -220,6 +239,14 @@ int pam_get_item (const pam_handle_t *pamh, int item_type, const void **item)
*item = pamh->fail_delay.delay_fn_ptr;
break;
+ case PAM_XDISPLAY:
+ *item = pamh->xdisplay;
+ break;
+
+ case PAM_XAUTHDATA:
+ *item = &pamh->xauth;
+ break;
+
default:
retval = PAM_BAD_ITEM;
}