au_to.c revision d0fa49b78d1f40d84ec76c363cdc38cf128511dd
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#include <unistd.h>
#include <bsm/audit_record.h>
#include <priv.h>
#include <malloc.h>
#include <string.h>
#include <ucred.h>
#include <zone.h>
static token_t *au_to_exec(char **, char);
static token_t *
get_token(int s)
{
return (NULL);
return (NULL);
}
return (token);
}
/*
* au_to_header
* return s:
* pointer to header token.
*/
token_t *
{
#ifdef _LP64
#else
char data_header = AUT_HEADER32;
2 * sizeof (short));
#endif
return (NULL);
#ifdef _LP64
#else
#endif
return (token);
}
/*
* au_to_header_ex
* return s:
* pointer to header token.
*/
token_t *
{
#ifdef _LP64
#else
char data_header = AUT_HEADER32_EX;
#endif
/* If our host address can't be determined, revert to un-extended hdr */
sizeof (audit_info)) < 0)
else
#ifdef _LP64
#else
#endif
return (NULL);
#ifdef _LP64
#else
#endif
return (token);
}
/*
* au_to_trailer
* return s:
* pointer to a trailer token.
*/
token_t *
au_to_trailer(void)
{
return (NULL);
return (token);
}
/*
* au_to_arg32
* return s:
* pointer to an argument token.
*/
token_t *
{
short bytes; /* length of string */
sizeof (short) + bytes));
return (NULL);
return (token);
}
/*
* au_to_arg64
* return s:
* pointer to an argument token.
*/
token_t *
{
short bytes; /* length of string */
sizeof (short) + bytes));
return (NULL);
return (token);
}
/*
* au_to_attr
* return s:
* pointer to an attribute token.
*/
token_t *
{
#ifdef _LP64
sizeof (int32_t) * 4 +
sizeof (int64_t) * 2);
#else
char data_header = AUT_ATTR32;
sizeof (int64_t));
#endif
return (NULL);
#ifdef _LP64
#else
#endif
return (token);
}
/*
* au_to_data
* return s:
* pointer to a data token.
*/
token_t *
{
int byte_count; /* number of bytes */
return (NULL);
/*
* Check validity of print type
*/
return (NULL);
switch (unit_type) {
case AUR_SHORT:
byte_count = unit_count * sizeof (short);
break;
case AUR_INT32:
break;
case AUR_INT64:
break;
/* case AUR_CHAR: */
case AUR_BYTE:
byte_count = unit_count * sizeof (char);
break;
default:
return (NULL);
}
return (NULL);
switch (unit_type) {
case AUR_SHORT:
/* LINTED */
break;
case AUR_INT32:
/* LINTED */
break;
case AUR_INT64:
/* LINTED */
break;
/* case AUR_CHAR: */
case AUR_BYTE:
break;
}
return (token);
}
/*
* au_to_privset
*
* priv_type (LIMIT, INHERIT...) is the first string and privilege
* in translated into the second string. The format is as follows:
*
* token id adr_char
* priv type adr_string (short, string)
* priv set adr_string (short, string)
*
* return s:
* pointer to a AUT_PRIV token.
*/
token_t *
{
short t_bytes; /* length of type string */
short p_bytes; /* length of privilege string */
char *priv_string; /* privilege string */
PRIV_STR_LIT)) == NULL)
return (NULL);
+ p_bytes));
return (NULL);
return (token);
}
/*
* au_to_process
* return s:
* pointer to a process token.
*/
token_t *
{
#ifdef _LP64
sizeof (int64_t));
#else
char data_header = AUT_PROCESS32;
#endif
return (NULL);
#ifdef _LP64
#else
#endif
return (token);
}
/*
* au_to_process_ex
* return s:
* pointer to a process_ex token.
*/
token_t *
{
char data_header; /* header for this token */
#ifdef _LP64
12 * sizeof (int32_t));
} else {
8 * sizeof (int32_t));
}
#else
} else {
}
#endif
return (NULL);
#ifdef _LP64
#else
#endif
} else {
}
return (token);
}
/*
* au_to_seq
* return s:
* pointer to token chain containing a sequence token
*/
token_t *
au_to_seq(int audit_count)
{
return (NULL);
return (token);
}
/*
* au_to_socket
* return s:
* pointer to mbuf chain containing a socket token.
*/
token_t *
{
char data_header = AUT_SOCKET;
sizeof (int32_t) * 2);
return (NULL);
return (token);
}
/*
* au_to_subject
* return s:
* pointer to a process token.
*/
token_t *
{
#ifdef _LP64
8 * sizeof (int32_t));
#else
char data_header = AUT_SUBJECT32;
#endif
return (NULL);
#ifdef _LP64
#else
#endif
return (token);
}
/*
* au_to_subject_ex
* return s:
* pointer to a process token.
*/
token_t *
{
#ifdef _LP64
char data_header; /* header for this token */
12 * sizeof (int32_t));
} else {
8 * sizeof (int32_t));
}
#else
char data_header; /* header for this token */
} else {
}
#endif
return (NULL);
#ifdef _LP64
#else
#endif
} else {
}
return (token);
}
/*
* au_to_me
* return s:
* pointer to a process token.
*/
token_t *
au_to_me(void)
{
return (NULL);
}
/*
* au_to_text
* return s:
* pointer to a text token.
*/
token_t *
au_to_text(char *text)
{
short bytes; /* length of string */
return (NULL);
return (token);
}
/*
* au_to_path
* return s:
* pointer to a path token.
*/
token_t *
au_to_path(char *path)
{
short bytes; /* length of string */
return (NULL);
return (token);
}
/*
* au_to_cmd
* return s:
* pointer to an command line argument token
*/
token_t *
{
short len = 0;
short cnt = 0;
short envc = 0;
/*
* one char for the header, one short for argc,
* one short for # envp strings.
*/
len = sizeof (char) + sizeof (short) + sizeof (short);
/* get sizes of strings */
}
len += (short)sizeof (short) +
}
}
return (NULL);
}
}
return (token);
}
/*
* au_to_exit
* return s:
* pointer to a exit value token.
*/
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_return
* return s:
* pointer to a return value token.
*/
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_return
* return s:
* pointer to a return value token.
*/
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_opaque
* return s:
* pointer to a opaque token.
*/
token_t *
{
if (bytes < 1)
return (NULL);
return (NULL);
return (token);
}
/*
* au_to_in_addr
* return s:
* pointer to an internet address token
*/
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_in_addr_ex
* return s:
* pointer to an internet extended token
*/
token_t *
{
char data_header = AUT_IN_ADDR_EX;
== NULL) {
return (NULL);
}
return (token);
}
/*
* au_to_iport
* return s:
* pointer to token chain containing a ip port address token
*/
token_t *
{
return (NULL);
return (token);
}
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_tid
*
* output format depends on type; at present only IP v4 and v6 addresses
* are defined.
*
* IPv4 -- tid type, 16 bit remote port, 16 bit local port, ip type,
* 32 bit IP address.
* IPv6 -- tid type, 16 bit remote port, 16 bit local port, ip type,
* 4 x 32 bit IP address.
*
*/
token_t *
{
case AU_IPADR:
return (NULL);
break;
default:
return (NULL);
}
return (token);
}
/*
* The Modifier tokens
*/
/*
* au_to_groups
* return s:
* pointer to a group list token.
*
* This function is obsolete. Please use au_to_newgroups.
*/
token_t *
au_to_groups(int *groups)
{
return (NULL);
return (token);
}
/*
* au_to_newgroups
* return s:
* pointer to a group list token.
*/
token_t *
{
short n_groups;
return (NULL);
return (NULL);
n_groups = (short)n;
return (token);
}
/*
* au_to_exec_args
* returns:
* pointer to an exec args token.
*/
token_t *
au_to_exec_args(char **argv)
{
}
/*
* au_to_exec_env
* returns:
* pointer to an exec args token.
*/
token_t *
au_to_exec_env(char **envp)
{
}
/*
* au_to_exec
* returns:
* pointer to an exec args token.
*/
static token_t *
au_to_exec(char **v, char data_header)
{
char **p;
int32_t n = 0;
int len = 0;
for (p = v; *p != NULL; p++) {
n++;
}
for (p = v; *p != NULL; p++) {
}
return (token);
}
/*
* au_to_uauth
* return s:
* pointer to a uauth token.
*/
token_t *
au_to_uauth(char *text)
{
short bytes; /* length of string */
return (NULL);
return (token);
}
/*
* au_to_upriv
* return s:
* pointer to a use of privilege token.
*/
token_t *
{
short bytes; /* length of string */
bytes);
return (NULL);
return (token);
}
/*
* au_to_xatom
* return s:
* pointer to a xatom token.
*/
token_t *
au_to_xatom(char *atom)
{
short len;
return (NULL);
return (token);
}
/*
* au_to_xselect
* return s:
* pointer to a X select token.
*/
token_t *
{
short proplen;
short typelen;
short datalen;
return (NULL);
return (token);
}
/*
* x_common
* return s:
* pointer to a common X token.
*/
static token_t *
{
return (NULL);
return (token);
}
/*
* au_to_xcolormap
* return s:
* pointer to a X Colormap token.
*/
token_t *
{
}
/*
* au_to_xcursor
* return s:
* pointer to a X Cursor token.
*/
token_t *
{
}
/*
* au_to_xfont
* return s:
* pointer to a X Font token.
*/
token_t *
{
}
/*
* au_to_xgc
* return s:
* pointer to a X Graphic Context token.
*/
token_t *
{
}
/*
* au_to_xpixmap
* return s:
* pointer to a X Pixal Map token.
*/
token_t *
{
}
/*
* au_to_xwindow
* return s:
* pointer to a X Window token.
*/
token_t *
{
}
/*
* au_to_xproperty
* return s:
* pointer to a X Property token.
*/
token_t *
{
short proplen;
sizeof (short) + proplen);
return (NULL);
return (token);
}
/*
* au_to_xclient
* return s:
* pointer to a X Client token
*/
token_t *
{
return (NULL);
return (token);
}
/*
* au_to_label
* return s:
* pointer to a label token.
*/
token_t *
{
return (NULL);
return (NULL);
}
return (token);
}
/*
* au_to_mylabel
* return s:
* pointer to a label token.
*/
token_t *
au_to_mylabel(void)
{
return (NULL);
}
ucred_free(uc);
return (token);
}
/*
* au_to_zonename
* return s:
* pointer to a zonename token.
*/
token_t *
au_to_zonename(char *name)
{
short bytes; /* length of string */
return (NULL);
return (NULL);
return (token);
}
/*
* au_to_fmri
* return s:
* pointer to a fmri token.
*/
token_t *
au_to_fmri(char *fmri)
{
short bytes; /* length of string */
return (NULL);
return (NULL);
return (token);
}