xref: /illumos-gate/usr/src/lib/libbsm/common/audit_private.h (revision bb57d1f5164aca913cbd286ae1b61c896167cfa7)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  *
25  * Do not add to this file unless it is to cover an existing private
26  * interface and do not write new code that depends on this header
27  * file or the interfaces contained in it.
28  *
29  * This is a private interface, subject to change.  It exists solely
30  * as a way of making certain existing clients of libbsm lint clean.
31  * As the related interfaces are replaced with the adt.* interfaces,
32  * this header should shrink to zero.
33  */
34 
35 #ifndef _AUDIT_PRIVATE_H
36 #define	_AUDIT_PRIVATE_H
37 
38 #pragma ident	"%Z%%M%	%I%	%E% SMI"
39 
40 #ifdef	__cplusplus
41 extern "C" {
42 #endif
43 
44 #include <bsm/libbsm.h>
45 #include <pwd.h>
46 
47 /*
48  * audit_settid.c
49  * interface users
50  * rexecd
51  * rlogind
52  * rshd
53  * telnetd
54  * rexd
55  */
56 extern	int	audit_settid(int);
57 
58 /*
59  * audit_allocate.c
60  * interface user
61  * allocate
62  */
63 extern	void	audit_allocate_argv(int, int, char *[]);
64 extern	int	audit_allocate_record(int);
65 extern	void	audit_allocate_list(char *);
66 extern	void	audit_allocate_device(char *);
67 
68 /*
69  * audit_ftpd.c
70  * interface user
71  * ftpd
72  */
73 extern	void	audit_ftpd_bad_pw(char *uname);
74 extern	void	audit_ftpd_excluded(char *uname);
75 extern	void	audit_ftpd_failure(char *uname);
76 extern	void	audit_ftpd_no_anon(void);
77 extern	void	audit_ftpd_success(char *uname);
78 extern	void	audit_ftpd_unknown(char *uname);
79 extern	void	audit_ftpd_logout(void);
80 
81 /*
82  * audit_rexecd.c
83  * interface user
84  * rexecd
85  */
86 extern	void	audit_rexecd_setup(void);
87 extern	void	audit_rexecd_success(char *, char *, char *);
88 extern	void	audit_rexecd_fail(char *, char *, char *, char *);
89 
90 /*
91  * audit_rshd.c
92  * interface user
93  * rshd
94  */
95 extern	int	audit_rshd_setup(void);
96 extern	int	audit_rshd_success(char *, char *, char *, char *);
97 extern	int	audit_rshd_fail(char *, char *, char *, char *, char *);
98 
99 /*
100  * audit_at.c
101  * interface users
102  * atrm
103  * at
104  */
105 extern	int	audit_at_delete(char *, char *, int);
106 extern	int	audit_at_create(char *, int);
107 
108 /*
109  * audit_crontab.c
110  * interface user
111  * crontab
112  */
113 extern	int	audit_crontab_modify(char *, char *, int);
114 extern	int	audit_crontab_delete(char *, int);
115 extern	int	audit_crontab_not_allowed(uid_t, char *);
116 extern	int	audit_crontab_process_not_audited(void);
117 
118 /*
119  * audit_cron.c
120  * interface users
121  * cron
122  * at
123  */
124 extern	int	audit_cron_session(char *, char *, uid_t, gid_t, char *);
125 extern	void	audit_cron_new_job(char *, int, void *);
126 extern	void	audit_cron_bad_user(char *);
127 extern	void	audit_cron_user_acct_expired(char *);
128 extern	int	audit_cron_create_anc_file(char *, char *, char *, uid_t);
129 extern	int	audit_cron_delete_anc_file(char *, char *);
130 extern	int	audit_cron_is_anc_name(char *);
131 extern	int	audit_cron_mode(void);
132 extern	char	*audit_cron_make_anc_name(char *);
133 extern	int	audit_cron_setinfo(char *, auditinfo_addr_t *);
134 
135 /*
136  * audit_mountd.c
137  * interface user
138  * mountd
139  */
140 extern	void	audit_mountd_setup(void);
141 extern	void	audit_mountd_mount(char *, char *, int);
142 extern	void	audit_mountd_umount(char *, char *);
143 
144 /*
145  * audit_halt.c
146  * interface user
147  * halt
148  */
149 extern	int	audit_halt_setup(int, char **);
150 extern	int	audit_halt_success(void);
151 extern	int	audit_halt_fail(void);
152 
153 /*
154  * audit_shutdown.c
155  * interface user
156  * shutdown
157  */
158 extern	int	audit_shutdown_setup(int, char **);
159 extern	int	audit_shutdown_success(void);
160 extern	int	audit_shutdown_fail(void);
161 
162 /*
163  * audit_reboot.c
164  * interface user
165  * halt
166  */
167 extern	int	audit_reboot_setup(void);
168 extern	int	audit_reboot_success(void);
169 extern	int	audit_reboot_fail(void);
170 
171 /*
172  * audit_rexd.c
173  * interface users
174  * rpc.rexd
175  */
176 extern	void 	audit_rexd_fail(char *, char *, char *, uid_t, gid_t,
177     char *, char **);
178 extern	void	audit_rexd_success(char *, char *, uid_t, gid_t,
179     char *, char **);
180 extern	void	audit_rexd_setup(void);
181 
182 #ifdef	__cplusplus
183 }
184 #endif
185 
186 #endif	/* _AUDIT_PRIVATE_H */
187