mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-03 01:57:58 +02:00
audit: use DBUS_SYSTEM_LOG_WARNING if we cannot open the audit fd
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89225 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
This commit is contained in:
parent
327a52e4eb
commit
e3e388a1ef
3 changed files with 14 additions and 6 deletions
14
bus/audit.c
14
bus/audit.c
|
|
@ -49,20 +49,26 @@ static int audit_fd = -1;
|
|||
* Open the libaudit fd if appropriate.
|
||||
*/
|
||||
void
|
||||
bus_audit_init(void)
|
||||
bus_audit_init (BusContext *context)
|
||||
{
|
||||
#ifdef HAVE_LIBAUDIT
|
||||
audit_fd = audit_open ();
|
||||
|
||||
if (audit_fd < 0)
|
||||
{
|
||||
int e = errno;
|
||||
|
||||
/* If kernel doesn't support audit, bail out */
|
||||
if (errno == EINVAL || errno == EPROTONOSUPPORT || errno == EAFNOSUPPORT)
|
||||
if (e == EINVAL || e == EPROTONOSUPPORT || e == EAFNOSUPPORT)
|
||||
return;
|
||||
|
||||
/* If user bus, bail out */
|
||||
if (errno == EPERM && getuid() != 0)
|
||||
if (e == EPERM && getuid () != 0)
|
||||
return;
|
||||
_dbus_warn ("Failed opening connection to the audit subsystem");
|
||||
|
||||
bus_context_log (context, DBUS_SYSTEM_LOG_WARNING,
|
||||
"Failed to open connection to the audit subsystem: %s",
|
||||
_dbus_strerror (e));
|
||||
}
|
||||
#endif /* HAVE_LIBAUDIT */
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,9 @@
|
|||
|
||||
#include <dbus/dbus.h>
|
||||
|
||||
void bus_audit_init (void);
|
||||
#include "bus.h"
|
||||
|
||||
void bus_audit_init (BusContext *context);
|
||||
int bus_audit_get_fd (void);
|
||||
void bus_audit_shutdown (void);
|
||||
|
||||
|
|
|
|||
|
|
@ -973,7 +973,7 @@ bus_context_new (const DBusString *config_file,
|
|||
goto failed;
|
||||
}
|
||||
|
||||
bus_audit_init ();
|
||||
bus_audit_init (context);
|
||||
}
|
||||
|
||||
dbus_server_free_data_slot (&server_data_slot);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue