diff options
author | Ćukasz Stelmach <l.stelmach@samsung.com> | 2017-05-09 12:57:04 +0200 |
---|---|---|
committer | Krzysztof Opasiak <k.opasiak@samsung.com> | 2017-05-10 20:49:58 +0200 |
commit | 551bb180997e53282dbef29425f6622a56855101 (patch) | |
tree | cfc29ccd5de0f01245a514bb2bcd26cbf7bb2882 | |
parent | 7e61b14646c563e469aae8fa1a85e044976b47cc (diff) | |
download | faultd-sandbox/kopasiak/rebased_with_coding_style.tar.gz faultd-sandbox/kopasiak/rebased_with_coding_style.tar.bz2 faultd-sandbox/kopasiak/rebased_with_coding_style.zip |
Use bson as the event serialisation formatsandbox/kopasiak/rebased_with_coding_style
As of this commit faultd depends on ejdb package.
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | configure.ac | 7 | ||||
-rw-r--r-- | packaging/faultd.spec | 3 | ||||
-rw-r--r-- | src/core/event.c | 5 | ||||
-rw-r--r-- | src/core/event.h | 7 | ||||
-rw-r--r-- | src/event_types/decision_made_event.c | 4 | ||||
-rw-r--r-- | src/event_types/resource_violation_event.c | 4 | ||||
-rw-r--r-- | src/event_types/service_failed_event.c | 4 |
8 files changed, 27 insertions, 9 deletions
diff --git a/Makefile.am b/Makefile.am index f5b2ca8..5cf9734 100644 --- a/Makefile.am +++ b/Makefile.am @@ -47,5 +47,5 @@ faultd_SOURCES = \ src/listeners/systemd.c \ src/util/log.c \ src/util/notify_queue.c -faultd_LDADD = $(LIBSYSTEMD_LIBS) ${AUDIT_LIBS} +faultd_LDADD = $(LIBSYSTEMD_LIBS) $(AUDIT_LIBS) $(LIBEJDB_LIBS) diff --git a/configure.ac b/configure.ac index 97e68f0..e3c5ecd 100644 --- a/configure.ac +++ b/configure.ac @@ -43,6 +43,13 @@ PKG_CHECK_MODULES(AUDIT, AS_IF([test "x$have_audit" = "xno"], AC_MSG_ERROR([audit not found])) +PKG_CHECK_MODULES(LIBEJDB, + [libejdb >= 1.2.12], + have_libejdb=yes, + have_libejdb=no) +AS_IF([test "x$have_libejdb" = "xno"], + AC_MSG_ERROR([EJDB version 1.2.12 or newer not found])) + AC_CHECK_FUNCS([ \ printf\ ]) diff --git a/packaging/faultd.spec b/packaging/faultd.spec index 88d0779..72de608 100644 --- a/packaging/faultd.spec +++ b/packaging/faultd.spec @@ -6,8 +6,9 @@ Source0: %{name}-%{version}.tar.xz Source1001: %{name}.manifest Summary: Fault detection daemon Group: System/Monitoring -BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(audit) +BuildRequires: pkgconfig(libejdb) +BuildRequires: pkgconfig(libsystemd) %description faultd monitors system services, detects their abnormal execution and diff --git a/src/core/event.c b/src/core/event.c index 67b347d..358b80c 100644 --- a/src/core/event.c +++ b/src/core/event.c @@ -16,6 +16,9 @@ * limitations under the License. */ +#define _GNU_SOURCE 1 + +#include <ejdb/bson.h> #include <errno.h> #include <systemd/sd-id128.h> @@ -126,7 +129,7 @@ int faultd_event_init_internal(struct faultd_event_type *ev_type, return 0; } -void faultd_event_serialize_internal(struct faultd_event *ev, void **out) +void faultd_event_serialize_internal(struct faultd_event *ev, bson *out) { /* call from e.g. .serialize in service_failed_event */ /* serialize faultd_event structure */ diff --git a/src/core/event.h b/src/core/event.h index c796098..388d18e 100644 --- a/src/core/event.h +++ b/src/core/event.h @@ -19,6 +19,7 @@ #ifndef FAULTD_EVENT_H #define FAULTD_EVENT_H +#include <ejdb/bson.h> #include <string.h> #include <systemd/sd-id128.h> #include <time.h> @@ -33,7 +34,7 @@ struct faultd_event; struct faultd_event_ops { char *(*to_string)(struct faultd_event *); void (*release)(struct faultd_event *); - void (*serialize)(struct faultd_event*, void**); + void (*serialize)(struct faultd_event*, bson*); }; struct faultd_event_type { @@ -115,7 +116,7 @@ static inline char *faultd_event_to_string(struct faultd_event *ev) return ev->ops.to_string(ev); } -static inline void faultd_event_serialize(struct faultd_event *ev, void **out) +static inline void faultd_event_serialize(struct faultd_event *ev, bson *out) { ev->ops.serialize(ev, out); } @@ -125,6 +126,6 @@ int faultd_event_init_internal(struct faultd_event_type *ev_type, static inline void faultd_event_cleanup_internal(struct faultd_event *ev) {} -void faultd_event_serialize_internal(struct faultd_event *ev, void **out); +void faultd_event_serialize_internal(struct faultd_event *ev, bson *out); #endif /* FAULTD_EVENT_H */ diff --git a/src/event_types/decision_made_event.c b/src/event_types/decision_made_event.c index b293a01..b472a5f 100644 --- a/src/event_types/decision_made_event.c +++ b/src/event_types/decision_made_event.c @@ -17,6 +17,8 @@ */ #define _GNU_SOURCE 1 + +#include <ejdb/bson.h> #include <stdio.h> #include <errno.h> #include <malloc.h> @@ -96,7 +98,7 @@ static char *dm_event_to_string(struct faultd_event *ev) return ret > 0 ? str : NULL; } -void dm_event_serialize(struct faultd_event *ev, void **out) +static void dm_event_serialize(struct faultd_event *ev, bson *out) { struct decision_made_event *dm_ev = to_decision_made_event(ev); diff --git a/src/event_types/resource_violation_event.c b/src/event_types/resource_violation_event.c index 548eb8f..cb02f7e 100644 --- a/src/event_types/resource_violation_event.c +++ b/src/event_types/resource_violation_event.c @@ -17,6 +17,8 @@ */ #define _GNU_SOURCE 1 + +#include <ejdb/bson.h> #include <stdio.h> #include <errno.h> #include <malloc.h> @@ -81,7 +83,7 @@ static char *rv_event_to_string(struct faultd_event *ev) return ret > 0 ? str : NULL; } -void rv_event_serialize(struct faultd_event *ev, void **out) +static void rv_event_serialize(struct faultd_event *ev, bson *out) { struct resource_violation_event *rv_ev = to_resource_violation_event(ev); diff --git a/src/event_types/service_failed_event.c b/src/event_types/service_failed_event.c index 8b0bc59..58ddc15 100644 --- a/src/event_types/service_failed_event.c +++ b/src/event_types/service_failed_event.c @@ -17,6 +17,8 @@ */ #define _GNU_SOURCE 1 + +#include <ejdb/bson.h> #include <stdio.h> #include <errno.h> #include <malloc.h> @@ -79,7 +81,7 @@ static char *sf_event_to_string(struct faultd_event *ev) return ret > 0 ? str : NULL; } -void sf_event_serialize(struct faultd_event *ev, void **out) +static void sf_event_serialize(struct faultd_event *ev, bson *out) { struct service_failed_event *sf_ev = to_service_failed_event(ev); |