summaryrefslogtreecommitdiff
path: root/src/journal/journal-gatewayd.c
AgeCommit message (Collapse)Author
2014-07-15Move network-related journal programs to src/journal-remote/Zbigniew Jędrzejewski-Szmek
Directory src/journal has become one of the largest directories, and since systemd-journal-gatewayd, systemd-journal-remote, and forthcoming systemd-journal-upload are all closely related, create a separate directory for them.
2014-07-15microhttp-util: rework gnutls loggingZbigniew Jędrzejewski-Szmek
2014-06-13os-release: define /usr/lib/os-release as fallback for /etc/os-releaseLennart Poettering
The file should have been in /usr/lib/ in the first place, since it describes the OS container in /usr (and not the configuration in /etc), hence, let's support os-release files in /usr/lib as fallback if no version in /etc exists, following the usual override logic. A prior commit already enabled tmpfiles to create /etc/os-release as a symlink to /usr/lib/os-release should it be missing, thus providing nice compatibility with applications only checking in /etc. While it's probably a good idea if all apps check both locations via a fallback logic, it is only necessary in the early boot process, as long as the /etc/os-release symlink has not been restored, in case we boot with an empty /etc.
2014-03-17microhttpd-util: use static buffer for static messagesZbigniew Jędrzejewski-Szmek
Most of the messages we send do not require a allocating and freeing a buffer, to optimize this by using const strings. Also, rename respond_error to mhd_respond*, since it is used not only for errors. Make use of information from printf to avoid one extra call to strlen.
2014-03-17journal-remote: tool to receive messages over the networkZbigniew Jędrzejewski-Szmek
2014-03-17journal-gatewayd: check if certificate is signed by CAZbigniew Jędrzejewski-Szmek
If --trust=ca.crt is used, only clients presenting certificates signed by the ca will be allowed to proceed. No hostname matching is performed, so any client wielding a signed certificate will be authorized. Error functions are moved from journal-gateway to microhttp-util and made non-static, since now they are used in two source files.
2014-03-17journal-gatewayd: log to journal from gnutlsZbigniew Jędrzejewski-Szmek
Prefix "gnutls: " is added. Some semi-random mapping of gnutls levels to syslog levels is done, but since gnutls levels seem to be used rather loosely, most end up as debug.
2014-03-17journal-gatewayd: ask clients to provide certificatesZbigniew Jędrzejewski-Szmek
A certificate authority certificate will be presented to clients, causing them to present their client certificate, if it is signed by this authority (default behaviour of most clients). No certificate checking is actually performed.
2014-02-19make gcc shut upLennart Poettering
If -flto is used then gcc will generate a lot more warnings than before, among them a number of use-without-initialization warnings. Most of them without are false positives, but let's make them go away, because it doesn't really matter.
2013-12-14Add more _printf_'s for format-nonliteralsThomas Hindoe Paaboel Andersen
Clang is a bit more strict wrt format-nonliterals: http://clang.llvm.org/docs/LanguageExtensions.html#format-string-checking Adding these extra printf attributes also makes gcc able to find more problems. E.g. this patch uncovers a format issue in udev-builtin-path_id.c Some parts looked intetional about breaking the format-nonliteral check. I added some supression for warnings there.
2013-11-12bus: introduce concept of a default bus for each thread and make use of it ↵Lennart Poettering
everywhere We want to emphasize bus connections as per-thread communication primitives, hence introduce a concept of a per-thread default bus, and make use of it everywhere.
2013-11-07bus: use new property retrieval calls everywhereLennart Poettering
2013-11-06clients: unify how we invoke getopt_long()Lennart Poettering
Among other things this makes sure we always expose a --version command and show it in the help texts.
2013-10-16timedated: use libsystemd-bus instead of libdbus for bus communicationLennart Poettering
Among other things this also adds a few things necessary for the change: - Considerably more powerful error returning APIs in libsystemd-bus - Adapter for connecting an sd_bus to an sd_event - As I reworked the PolicyKit logic to the new library I also made it asynchronous, so that PolicyKit requests of one user cannot block out another user anymore. - We always use the macro names for common bus error. That way it is harder to mistype them since the compiler will notice
2013-08-11systemctl: show hint about --full when lines don't fitZbigniew Jędrzejewski-Szmek
2013-06-10Use stdint.h macros instead of casts to print uint64_t valuesZbigniew Jędrzejewski-Szmek
Casts are visually heavy, and can obscure unwanted truncations.
2013-06-10journal: add ability to filter by current userZbigniew Jędrzejewski-Szmek
This is the just the library part. SD_JOURNAL_CURRENT_USER flags is added to sd_j_open(), to open files from current user. SD_JOURNAL_SYSTEM_ONLY is renamed to SD_JOURNAL_SYSTEM, and changed to mean to (also) open system files. This way various flags can be combined, which gives them nicer semantics, especially if other ones are added later. Backwards compatibility is kept, because SD_JOURNAL_SYSTEM_ONLY is equivalent to SD_JOURNAL_SYSTEM if used alone, and before there we no other flags.
2013-05-07hostname: only suppress setting of pretty hostname if it is non-equal to the ↵Lennart Poettering
static hostname and if the static hostname is set, too https://bugzilla.redhat.com/show_bug.cgi?id=957814
2013-04-18move _cleanup_ attribute in front of the typeHarald Hoyer
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html
2013-04-05bus: add convenience functions for constructing and sending method ↵Lennart Poettering
calls/signals in one call
2013-03-31journal-gatewayd: query PID 1 for virtalizationLennart Poettering
Since journal-gatewayd is now running unprivileged, and detecting virtalization requires privileges, query PID1 via D-Bus for the used virtualization. This is also the first time we use libsystemd-bus for more than just testing. https://bugs.freedesktop.org/show_bug.cgi?id=62173
2013-03-20macro: don't redefine CLAMP if it is already defined by glib or some other ↵Lennart Poettering
library
2013-02-14added some missing include for a5c32cff1f56afe6f0c6c70d91a88a7a8238b2d7Harald Hoyer
2013-01-18journal-gatewayd,man: document new HTTPS optionsZbigniew Jędrzejewski-Szmek
2013-01-18journal-gatewayd: return nice error on unsupported methodsZbigniew Jędrzejewski-Szmek
Returns "HTTP/1.0 406 Not Acceptable" instead of silently closing the connection.
2013-01-18journal-gatewayd: allow pipeliningZbigniew Jędrzejewski-Szmek
The request must not be answered immediately (at first call to response_handler()), but on the second. This is also important for authentication, which cannot be performed on the first call. Before: % wget -O/dev/null -S https://localhost:19531/ --2012-11-28 18:29:43-- https://localhost:19531/ Resolving localhost (localhost)... 127.0.0.1 Connecting to localhost (localhost)|127.0.0.1|:19531... connected. HTTP request sent, awaiting response... HTTP/1.1 301 Moved Permanently Connection: close Content-Length: 87 Location: /browse Content-Type: text/html Date: Wed, 28 Nov 2012 17:29:44 GMT Location: /browse [following] --2012-11-28 18:29:43-- https://localhost:19531/browse Connecting to localhost (localhost)|127.0.0.1|:19531... connected. HTTP request sent, awaiting response... HTTP/1.1 200 OK Connection: close Content-Length: 23260 Content-Type: text/html Date: Wed, 28 Nov 2012 17:29:44 GMT Length: 23260 (23K) [text/html] After: % wget --no-check-certificate -O/dev/null -S https://localhost:19531/ --2012-11-28 18:30:05-- https://localhost:19531/ Resolving localhost (localhost)... 127.0.0.1 Connecting to localhost (localhost)|127.0.0.1|:19531... connected. HTTP request sent, awaiting response... HTTP/1.1 301 Moved Permanently Content-Length: 87 Location: /browse Content-Type: text/html Date: Wed, 28 Nov 2012 17:30:05 GMT Location: /browse [following] --2012-11-28 18:30:05-- https://localhost:19531/browse Reusing existing connection to localhost:19531. HTTP request sent, awaiting response... HTTP/1.1 200 OK Content-Length: 23260 Content-Type: text/html Date: Wed, 28 Nov 2012 17:30:06 GMT Length: 23260 (23K) [text/html]
2013-01-18journal-gatewayd: always log oom() in addition to returning errorZbigniew Jędrzejewski-Szmek
2013-01-18journal-gatewayd: redirect microhttpd messages to journalZbigniew Jędrzejewski-Szmek
A prefix ("microhttpd: ") is added to the log lines to make it easy to distinguish the source.
2013-01-18journal-gatewayd: SSL supportZbigniew Jędrzejewski-Szmek
For now the certificates are passed around as options to the program. This might not be the most convenient under "production", but makes for fairly easy testing.
2013-01-18journal-gatewayd: unify two code pathsZbigniew Jędrzejewski-Szmek
In preparation for adding more options, split out the option handling code.
2012-11-25journal-gatewayd: minor cleanupZbigniew Jędrzejewski-Szmek
2012-11-12remove duplicate semicolonsThomas Hindoe Paaboel Andersen
2012-10-18journal: add high-level match option to filter by current boot idLennart Poettering
2012-10-18journal: add ability to list unique fields to gatewaydLennart Poettering
2012-10-13journal-gatewayd: rename variables to avoid -Wshadow warningZbigniew Jędrzejewski-Szmek
2012-10-11journal: support epxorting the journal in a format suitable for ↵Lennart Poettering
text/event-stream
2012-10-10journal: when browsing the journal via browse.html allow clicking on entries ↵Lennart Poettering
to show their details
2012-10-10journal: fix seeking backwards in gateway daemonLennart Poettering
2012-10-09journal: implement follow mode for HTTP GET in gatewaydLennart Poettering
2012-10-09journal: add matching support to gatewaydLennart Poettering
2012-10-02journald: assert target instead of pageLukas Nykryn
page is a local, yet unitialized, variable.
2012-09-28journal: add minimal journal gateway daemon based on GNU libmicrohttpdLennart Poettering
This minimal HTTP server can serve journal data via HTTP. Its primary purpose is synchronization of journal data across the network. It serves journal data in three formats: text/plain: the text format known from /var/log/messages application/json: the journal entries formatted as JSON application/vnd.fdo.journal: the binary export format of the journal The HTTP server also serves a small HTML5 app that makes use of the JSON serialization to present the journal data to the user. Examples: This downloads the journal in text format: # systemctl start systemd-journal-gatewayd.service # wget http://localhost:19531/entries Same for JSON: # curl -H"Accept: application/json" http://localhost:19531/entries Access via web browser: $ firefox http://localhost:19531/