diff options
Diffstat (limited to 'usr/src/lib/libbsm/common/au_to.c')
-rw-r--r-- | usr/src/lib/libbsm/common/au_to.c | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/usr/src/lib/libbsm/common/au_to.c b/usr/src/lib/libbsm/common/au_to.c index 9ee2dd7b7a..2e77248b4b 100644 --- a/usr/src/lib/libbsm/common/au_to.c +++ b/usr/src/lib/libbsm/common/au_to.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2009 Sun Microsystems, Inc. All rights reserved. + * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -1211,6 +1211,34 @@ au_to_upriv(char sorf, char *priv) } /* + * au_to_user + * return s: + * pointer to a user token. + */ +token_t * +au_to_user(uid_t uid, char *username) +{ + token_t *token; /* local token */ + adr_t adr; /* adr memory stream header */ + char data_header = AUT_USER; /* header for this token */ + short bytes; /* length of string */ + + bytes = (short)strlen(username) + 1; + + token = get_token(sizeof (char) + sizeof (uid_t) + sizeof (short) + + bytes); + if (token == NULL) + return (NULL); + adr_start(&adr, token->tt_data); + adr_char(&adr, &data_header, 1); + adr_uid(&adr, &uid, 1); + adr_short(&adr, &bytes, 1); + adr_char(&adr, username, bytes); + + return (token); +} + +/* * au_to_xatom * return s: * pointer to a xatom token. |