summaryrefslogtreecommitdiffstats
path: root/contrib/openbsm/libbsm/audit_submit.3
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/openbsm/libbsm/audit_submit.3')
-rw-r--r--contrib/openbsm/libbsm/audit_submit.329
1 files changed, 25 insertions, 4 deletions
diff --git a/contrib/openbsm/libbsm/audit_submit.3 b/contrib/openbsm/libbsm/audit_submit.3
index 80a2578..b6c28a7 100644
--- a/contrib/openbsm/libbsm/audit_submit.3
+++ b/contrib/openbsm/libbsm/audit_submit.3
@@ -27,7 +27,7 @@
.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
.\" POSSIBILITY OF SUCH DAMAGE.
.\"
-.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#15 $
+.\" $P4: //depot/projects/trustedbsd/openbsm/libbsm/audit_submit.3#17 $
.\"
.Dd January 18, 2008
.Dt audit_submit 3
@@ -98,14 +98,28 @@ or
#include <stdarg.h>
#include <errno.h>
-int
+void
audit_bad_su(char *from_login, char *to_login)
{
+ struct auditinfo_addr aia;
+ struct auditinfo ai;
+ au_id_t aid;
int error;
- error = audit_submit(AUE_su, getuid(), 1, EPERM,
+ error = getaudit_addr(&aia, sizeof(aia));
+ if (error < 0 && errno == ENOSYS) {
+ error = getaudit(&ai);
+ if (error < 0)
+ err(1, "getaudit");
+ aid = ai.ai_auid;
+ } else if (error < 0)
+ err(1, "getaudit_addr");
+ else
+ aid = aia.ai_auid;
+ error = audit_submit(AUE_su, aid, EPERM, 1,
"bad su from %s to %s", from_login, to_login);
- return (error);
+ if (error != 0)
+ err(1, "audit_submit");
}
.Ed
.Pp
@@ -117,6 +131,13 @@ text,bad su from from csjp to root
return,failure : Operation not permitted,1
trailer,94
.Ed
+.Sh RETURN VALUES
+If successful,
+.Nm
+will return zero.
+Otherwise a -1 is returned and the global variable
+.Va errno
+is set to indicate the error.
.Sh SEE ALSO
.Xr auditon 2 ,
.Xr getaudit 2 ,
OpenPOWER on IntegriCloud