From: Zbigniew Jędrzejewski-Szmek Date: Wed, 16 May 2018 11:30:37 +0000 (+0200) Subject: fuzz-journal-remote: allow fuzzer to be built without µhttpd X-Git-Tag: v239~172^2~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=63e2ebcdaa424e7ddf107312ed02edb176e2bb9f;p=thirdparty%2Fsystemd.git fuzz-journal-remote: allow fuzzer to be built without µhttpd journal-remote still requires µhttpd, but things are easier if the fuzzer can be built without. --- diff --git a/src/journal-remote/journal-remote.c b/src/journal-remote/journal-remote.c index 15e855bc8b6..e1810bec191 100644 --- a/src/journal-remote/journal-remote.c +++ b/src/journal-remote/journal-remote.c @@ -342,17 +342,21 @@ int journal_remote_server_init( return 0; } +#if HAVE_MICROHTTPD static void MHDDaemonWrapper_free(MHDDaemonWrapper *d) { MHD_stop_daemon(d->daemon); sd_event_source_unref(d->io_event); sd_event_source_unref(d->timer_event); free(d); } +#endif RemoteServer* journal_remote_server_destroy(RemoteServer *s) { size_t i; +#if HAVE_MICROHTTPD hashmap_free_with_destructor(s->daemons, MHDDaemonWrapper_free); +#endif assert(s->sources_size == 0 || s->sources); for (i = 0; i < s->sources_size; i++) diff --git a/src/journal-remote/journal-remote.h b/src/journal-remote/journal-remote.h index d4e068dad8f..884434cb4db 100644 --- a/src/journal-remote/journal-remote.h +++ b/src/journal-remote/journal-remote.h @@ -12,6 +12,8 @@ #include "hashmap.h" #include "journal-remote-parse.h" #include "journal-remote-write.h" + +#if HAVE_MICROHTTPD #include "microhttpd-util.h" typedef struct MHDDaemonWrapper MHDDaemonWrapper; @@ -23,6 +25,7 @@ struct MHDDaemonWrapper { sd_event_source *io_event; sd_event_source *timer_event; }; +#endif struct RemoteServer { RemoteSource **sources; @@ -36,8 +39,9 @@ struct RemoteServer { Writer *_single_writer; uint64_t event_count; +#if HAVE_MICROHTTPD Hashmap *daemons; - +#endif const char *output; /* either the output file or directory */ JournalWriteSplitMode split_mode; diff --git a/src/journal-remote/meson.build b/src/journal-remote/meson.build index 99b9003f3b7..940153c5fce 100644 --- a/src/journal-remote/meson.build +++ b/src/journal-remote/meson.build @@ -8,16 +8,25 @@ systemd_journal_upload_sources = files(''' journal-upload-journal.c '''.split()) +libsystemd_journal_remote_sources = files(''' + journal-remote-parse.h + journal-remote-parse.c + journal-remote-write.h + journal-remote-write.c + journal-remote.h + journal-remote.c +'''.split()) + +if conf.get('HAVE_MICROHTTPD') == 1 + libsystemd_journal_remote_sources += files(''' + microhttpd-util.h + microhttpd-util.c +'''.split()) +endif + libsystemd_journal_remote = static_library( 'systemd-journal-remote', - 'journal-remote-parse.h', - 'journal-remote-parse.c', - 'journal-remote-write.h', - 'journal-remote-write.c', - 'journal-remote.h', - 'journal-remote.c', - 'microhttpd-util.h', - 'microhttpd-util.c', + libsystemd_journal_remote_sources, include_directories : includes, dependencies : [threads, libmicrohttpd,