Backport systemd-journal-remote fix PR #11953
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openstack-ansible |
New
|
Undecided
|
Unassigned | ||
systemd |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned | ||
Disco |
Fix Released
|
Medium
|
Dan Streetman | ||
Eoan |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[impact]
upstream commit 7fdb237f5473cb8
not specify Content-Length.
[test case]
setup 2 systems, A and B. Install systemd-
On A:
$ sudo systemctl edit systemd-
in the editor, add:
[Service]
ExecStart=
ExecStart=
Then enable/start the socket:
$ sudo systemctl enable systemd-
$ sudo systemctl start systemd-
Optionally, start the service and verify it is running (not required, since the socket will start the service):
$ sudo systemctl start systemd-
$ sudo systemctl status systemd-
Active: active (running) since Thu 2019-11-14 20:08:48 UTC; 7min ago
On B:
Edit the file /etc/systemd/
[Upload]
URL=http://
Replacing the IP address with the actual ip addr of node A. Then enable/start the service:
$ sudo systemctl enable systemd-
$ sudo systemctl start systemd-
Check for failure:
ubuntu@
-- Logs begin at Thu 2019-11-14 16:34:08 UTC, end at Thu 2019-11-14 20:19:34 UTC. --
Nov 14 20:19:03 lp1847527-d systemd[1]: Started Journal Remote Upload Service.
Nov 14 20:19:03 lp1847527-d systemd-
Nov 14 20:19:03 lp1847527-d systemd[1]: systemd-
Nov 14 20:19:03 lp1847527-d systemd[1]: systemd-
[regression potential]
this limits the Transfer-Encoding to only be either unspecified, or 'chunked'. Any other value will fail. However, journal-upload.c does not ever use any other Transfer-Encoding than 'chunked', and this fix comes from upstream and has not changed since applied there.
Any regression would likely result in the failure to upload a remote journal.
[other info]
the commit that caused this is not included in Bionic, and the commit to fix this is already in Eoan; this is needed only in Disco.
original description:
--
I'm requesting that systemd 240 receive the fix in upstream PR 11953 found here https:/
This fixes remote journal shipping using systemd components. I believe only Disco (19.04) is impacted by this issue.
summary: |
- Backport journal-remote fix PR #11953 + Backport systemd-journal-remote fix PR #11953 |
Changed in systemd: | |
status: | Unknown → Fix Released |
description: | updated |
description: | updated |
Changed in systemd (Ubuntu Bionic): | |
status: | New → Invalid |
Changed in systemd (Ubuntu Disco): | |
status: | New → In Progress |
assignee: | nobody → Dan Streetman (ddstreet) |
importance: | Undecided → Medium |
description: | updated |
For those that may try to search for this bug in the future, the error I received was
Error 411: gth required
The issue is that libmicrohttpd exhibits a bug when Content-Length is omitted, even if Transfer-Encoding is set to "chunked". The HTTP/1.1 spec allows Content-Length to be omitted when the length is unknown as long as Transfer-Encoding: Chunked is specified. The proper behavior would be for journald to return an error to the client when it has received too much data.