diff options
author | Tomas Mraz <tm@t8m.info> | 2007-12-06 20:20:07 +0000 |
---|---|---|
committer | Tomas Mraz <tm@t8m.info> | 2007-12-06 20:20:07 +0000 |
commit | 632dffe99cc8e3aefb4410aec2a3091df48a6f46 (patch) | |
tree | a143da18fc11f9f9dbec7a9f514ea9bec110bcad /libpam/include | |
parent | 337e34ff7407327700ae3ddf2bdda00698386e13 (diff) | |
download | pam-632dffe99cc8e3aefb4410aec2a3091df48a6f46.tar.gz pam-632dffe99cc8e3aefb4410aec2a3091df48a6f46.tar.bz2 pam-632dffe99cc8e3aefb4410aec2a3091df48a6f46.zip |
Relevant BUGIDs:
Purpose of commit: new feature
Commit summary:
---------------
2007-12-06 Eamon Walsh <ewalsh@tycho.nsa.gov>
* libpam/include/security/_pam_macros.h: Add _pam_overwrite_n()
macro.
* libpam/include/security/_pam_types.h: Add PAM_XDISPLAY,
PAM_XAUTHDATA items, pam_xauth_data struct.
* libpam/pam_item.c (pam_set_item, pam_get_item): Handle
PAM_XDISPLAY and PAM_XAUTHDATA items.
* libpam/pam_end.c (pam_end): Destroy the new items.
* libpam/pam_private.h (pam_handle): Add data members for new
items. Add prototype for _pam_memdup.
* libpam/pam_misc.c: Add _pam_memdup.
* doc/man/Makefile.am: Add pam_xauth_data.3. Replace
pam_item_types.inc.xml with pam_item_types_std.inc.xml and
pam_item_types_ext.inc.xml.
* doc/man/pam_get_item.3.xml: Replace pam_item_types.inc.xml
with pam_item_types_std.inc.xml and pam_item_types_ext.inc.xml.
* doc/man/pam_set_item.3.xml: Likewise.
* doc/man/pam_item_types.inc.xml: Removed file.
* doc/man/pam_item_types_ext.inc.xml: New file.
* doc/man/pam_item_types_std.inc.xml: New file.
Diffstat (limited to 'libpam/include')
-rw-r--r-- | libpam/include/security/_pam_macros.h | 9 | ||||
-rw-r--r-- | libpam/include/security/_pam_types.h | 14 |
2 files changed, 23 insertions, 0 deletions
diff --git a/libpam/include/security/_pam_macros.h b/libpam/include/security/_pam_macros.h index f7da10a7..72aaf468 100644 --- a/libpam/include/security/_pam_macros.h +++ b/libpam/include/security/_pam_macros.h @@ -25,6 +25,15 @@ do { \ *__xx__++ = '\0'; \ } while (0) +#define _pam_overwrite_n(x,n) \ +do { \ + register char *__xx__; \ + register int __i__ = 0; \ + if ((__xx__=(x))) \ + for (;__i__<n; __i__++) \ + __xx__[__i__] = 0; \ +} while (0) + /* * Don't just free it, forget it too. */ diff --git a/libpam/include/security/_pam_types.h b/libpam/include/security/_pam_types.h index 45bae97b..2f7e807f 100644 --- a/libpam/include/security/_pam_types.h +++ b/libpam/include/security/_pam_types.h @@ -138,8 +138,11 @@ typedef struct pam_handle pam_handle_t; #define PAM_OLDAUTHTOK 7 /* The old authentication token */ #define PAM_RUSER 8 /* The remote user name */ #define PAM_USER_PROMPT 9 /* the prompt for getting a username */ +/* Linux-PAM extensions */ #define PAM_FAIL_DELAY 10 /* app supplied function to override failure delays */ +#define PAM_XDISPLAY 11 /* X display name */ +#define PAM_XAUTHDATA 12 /* X server authentication data */ /* -------------- Special defines used by Linux-PAM -------------- */ @@ -279,6 +282,17 @@ struct pam_conv { void *appdata_ptr; }; +/* Used by the PAM_XAUTHDATA pam item. Contains X authentication + data used by modules to connect to the user's X display. Note: + this structure is intentionally compatible with xcb_auth_info_t. */ + +struct pam_xauth_data { + int namelen; + char *name; + int datalen; + char *data; +}; + /* ... adapted from the pam_appl.h file created by Theodore Ts'o and * * Copyright Theodore Ts'o, 1996. All rights reserved. |