diff options
author | Eric Paris <eparis@redhat.com> | 2008-01-08 10:06:53 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2008-02-01 14:06:51 -0500 |
commit | 4746ec5b01ed07205a91e4f7ed9de9d70f371407 (patch) | |
tree | 7a3a836b6178ccab24801e90b69c1159b2c23099 /include | |
parent | c2a7780efe37d01bdb3facc85a94663e6d67d4a8 (diff) |
[AUDIT] add session id to audit messages
In order to correlate audit records to an individual login add a session
id. This is incremented every time a user logs in and is included in
almost all messages which currently output the auid. The field is
labeled ses= or oses=
Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/audit.h | 2 | ||||
-rw-r--r-- | include/linux/init_task.h | 3 | ||||
-rw-r--r-- | include/linux/sched.h | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/audit.h b/include/linux/audit.h index d7c6a12f4d1c..52f1b12505a9 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h | |||
@@ -410,6 +410,7 @@ extern void auditsc_get_stamp(struct audit_context *ctx, | |||
410 | struct timespec *t, unsigned int *serial); | 410 | struct timespec *t, unsigned int *serial); |
411 | extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); | 411 | extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); |
412 | #define audit_get_loginuid(t) ((t)->loginuid) | 412 | #define audit_get_loginuid(t) ((t)->loginuid) |
413 | #define audit_get_sessionid(t) ((t)->sessionid) | ||
413 | extern void audit_log_task_context(struct audit_buffer *ab); | 414 | extern void audit_log_task_context(struct audit_buffer *ab); |
414 | extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp); | 415 | extern int __audit_ipc_obj(struct kern_ipc_perm *ipcp); |
415 | extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode); | 416 | extern int __audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode); |
@@ -489,6 +490,7 @@ extern int audit_signals; | |||
489 | #define audit_core_dumps(i) do { ; } while (0) | 490 | #define audit_core_dumps(i) do { ; } while (0) |
490 | #define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) | 491 | #define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) |
491 | #define audit_get_loginuid(t) (-1) | 492 | #define audit_get_loginuid(t) (-1) |
493 | #define audit_get_sessionid(t) (-1) | ||
492 | #define audit_log_task_context(b) do { ; } while (0) | 494 | #define audit_log_task_context(b) do { ; } while (0) |
493 | #define audit_ipc_obj(i) ({ 0; }) | 495 | #define audit_ipc_obj(i) ({ 0; }) |
494 | #define audit_ipc_set_perm(q,u,g,m) ({ 0; }) | 496 | #define audit_ipc_set_perm(q,u,g,m) ({ 0; }) |
diff --git a/include/linux/init_task.h b/include/linux/init_task.h index ea3e9efd7396..f42663eaf655 100644 --- a/include/linux/init_task.h +++ b/include/linux/init_task.h | |||
@@ -116,7 +116,8 @@ extern struct group_info init_groups; | |||
116 | 116 | ||
117 | #ifdef CONFIG_AUDITSYSCALL | 117 | #ifdef CONFIG_AUDITSYSCALL |
118 | #define INIT_IDS \ | 118 | #define INIT_IDS \ |
119 | .loginuid = -1, | 119 | .loginuid = -1, \ |
120 | .sessionid = -1, | ||
120 | #else | 121 | #else |
121 | #define INIT_IDS | 122 | #define INIT_IDS |
122 | #endif | 123 | #endif |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 5e2730389089..af6947e69b40 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -1141,6 +1141,7 @@ struct task_struct { | |||
1141 | struct audit_context *audit_context; | 1141 | struct audit_context *audit_context; |
1142 | #ifdef CONFIG_AUDITSYSCALL | 1142 | #ifdef CONFIG_AUDITSYSCALL |
1143 | uid_t loginuid; | 1143 | uid_t loginuid; |
1144 | unsigned int sessionid; | ||
1144 | #endif | 1145 | #endif |
1145 | seccomp_t seccomp; | 1146 | seccomp_t seccomp; |
1146 | 1147 | ||