chiark / gitweb /
elogind.git
5 years agoautogen: add "t" switch with --enable-terminal
David Herrmann [Fri, 18 Jul 2014 11:00:30 +0000 (13:00 +0200)]
autogen: add "t" switch with --enable-terminal

Just temporarily add a "t" switch to "./autogen t" runs with
--enable-terminal. Once it's compile-tested enough, we can add it to the
default flags.

5 years agojournal: reduce test-journal-send timeout from 10s to 1s
David Herrmann [Fri, 18 Jul 2014 10:58:00 +0000 (12:58 +0200)]
journal: reduce test-journal-send timeout from 10s to 1s

The sleep(10) in test-journal-send is quite aggressive. We need it only
for the journal to get our cgroup information. But even that information
is not vital to the test, so a sleep(1) should be just fine.

5 years agoterminal: add systemd-subterm example
David Herrmann [Thu, 17 Jul 2014 09:10:53 +0000 (11:10 +0200)]
terminal: add systemd-subterm example

The systemd-subterm example is a stacked terminal that shows how to
use sd-term. Instead of rendering images and displaying it via X11/etc.,
it uses its parent terminal to display the page (terminal-emulator inside
a terminal-emulator) (like GNU-screen and friends do).

This is only for testing and not installed system-wide!

5 years agoterminal: add screen-handling
David Herrmann [Tue, 8 Jul 2014 13:11:29 +0000 (15:11 +0200)]
terminal: add screen-handling

The screen-layer represents the terminal-side (compared to the host-side).
It connects term_parser with term_page and implements all the required
control sequences.

We do not implement all available control sequences. Even though our
parser recognizes them, there is no need to handle them. Most of them are
legacy or unused. We try to be as compatible to xterm, so if we missed
something, we can implement it later. However, all the VT510 / VT440 stuff
can safely be skipped (who needs terminal macros? WTF?).

The keyboard-handling is still missing. It will be added once
systemd-console is available and we pulled in the key-definitions.

5 years agoterminal: add parser state-machine
David Herrmann [Sun, 15 Jun 2014 12:50:00 +0000 (14:50 +0200)]
terminal: add parser state-machine

The term-parser is used to parse any input from TTY-clients. It reads CSI,
DCS, OSC and ST control sequences and normal escape sequences. It doesn't
do anything with the parsed data besides detecting the sequence and
returning it. The caller has to react to them.

The parser also comes with its own UTF-8 helpers. The reason for that is
that we don't want to assert() or hard-fail on parsing errors. Instead,
we treat any invalid UTF-8 sequences as ISO-8859-1. This allows pasting
invalid data into a terminal (which cannot be controlled through the TTY,
anyway) and we still deal with it in a proper manner.
This is _required_ for 8-bit and 7-bit DEC modes (including the g0-g3
mappings), so it's not just an ugly fallback because we can (it's still
horribly ugly but at least we have an excuse).

5 years agoterminal: add page handling for terminals
David Herrmann [Fri, 13 Jun 2014 17:00:29 +0000 (19:00 +0200)]
terminal: add page handling for terminals

The page-layer is a one-dimensional array of lines. Combined with the
one-dimensional lines, you get a two-dimensional page. However, both
implementations, lines and pages only deal with their own dimension. That
means, lines don't know anything about other lines, and pages don't know
anything about cells.

Apart from pages, this also introduces history objects. A history object
is a scroll-back buffer. As some pages like alt-buffers don't have
histories, we keep them separate.

Pages itself forward all cell-related operations to the related line. Only
line-related operations are directly handled by the page. This is mostly
scrolling and history. To support proper resizing, we also keep a
fill-state just like lines do for cells.

5 years agoterminal: extend RGB attributes
David Herrmann [Fri, 18 Jul 2014 10:41:37 +0000 (12:41 +0200)]
terminal: extend RGB attributes

There're 3 supported color-modes: term-color-codes, 256-color-code and
rgb-color. We now use the term-color as default so zero(attr) will do what
you'd expect. Furthermore, we split rgb and 256color so users can forward
them properly without requiring an internal RGB converter.

Furthermore, a "hidden" field according to VT510rm manual is added.

5 years agoresolved: add LLMNR support for looking up names
Lennart Poettering [Fri, 18 Jul 2014 10:34:02 +0000 (12:34 +0200)]
resolved: add LLMNR support for looking up names

5 years agoshared: rename PROTO_ADDRESS_SIZE() to FAMILY_ADDRESS_SIZE()
Lennart Poettering [Fri, 18 Jul 2014 00:36:10 +0000 (02:36 +0200)]
shared: rename PROTO_ADDRESS_SIZE() to FAMILY_ADDRESS_SIZE()

We mostly use "family" to refer to AF_INET, AF_INET6, etc, let's use
this terminology here, too

5 years agosd-rtnl: make string returned by sd_rtnl_message_read_string() const
Lennart Poettering [Fri, 18 Jul 2014 00:35:16 +0000 (02:35 +0200)]
sd-rtnl: make string returned by sd_rtnl_message_read_string() const

5 years agotest-tables: fix build-scan
Thomas Hindoe Paaboel Andersen [Thu, 17 Jul 2014 21:53:59 +0000 (23:53 +0200)]
test-tables: fix build-scan

5 years agosd-network: fixup api
Tom Gundersen [Wed, 16 Jul 2014 09:05:25 +0000 (11:05 +0200)]
sd-network: fixup api

Do not expose link_is_loopback, people should just get this from rtnl directly.
Do not expose NTP servers as IP addresses, these must be strings.
Expose ifindex as int, not unsigned. This is what the kernel (mostly) and glibc uses.

5 years agonetworkd-wait-online: track links
Tom Gundersen [Wed, 16 Jul 2014 08:52:47 +0000 (10:52 +0200)]
networkd-wait-online: track links

Rather than refetching the link information on ever event, we liston to
rtnl to track them. Much code stolen from resolved.

This will allow us to simplify the sd-network api and don't expose
information available over rtnl.

5 years agosd-network: expose 'unmanaged' as a regular state
Tom Gundersen [Thu, 17 Jul 2014 14:49:39 +0000 (16:49 +0200)]
sd-network: expose 'unmanaged' as a regular state

This is useful to save in the consumer of the lib, unlike ENODATA/EBUSY which
means that the user should wait until a useful state is available.

5 years agoresolved: silence warnings
Thomas Hindoe Paaboel Andersen [Thu, 17 Jul 2014 19:12:39 +0000 (21:12 +0200)]
resolved: silence warnings

No need to write to r here since it will be overwritten as the first
step in parse_fail.

5 years agotest-pty: silence a warning
Thomas Hindoe Paaboel Andersen [Thu, 17 Jul 2014 18:23:53 +0000 (20:23 +0200)]
test-pty: silence a warning

5 years agoresolved: remove unused variable
Thomas Hindoe Paaboel Andersen [Thu, 17 Jul 2014 17:59:47 +0000 (19:59 +0200)]
resolved: remove unused variable

5 years agoupdate TODO
Lennart Poettering [Thu, 17 Jul 2014 17:39:23 +0000 (19:39 +0200)]
update TODO

5 years agoresolved: add DNS cache
Lennart Poettering [Thu, 17 Jul 2014 17:38:37 +0000 (19:38 +0200)]
resolved: add DNS cache

5 years agoresolved: don't trip up when an rtlink message does not include the MTU
Lennart Poettering [Thu, 17 Jul 2014 17:32:10 +0000 (19:32 +0200)]
resolved: don't trip up when an rtlink message does not include the MTU

5 years agonss-util: be a tiny bit more compatible with glibc's lookup behaviour regarding IPv6
Lennart Poettering [Thu, 17 Jul 2014 17:27:48 +0000 (19:27 +0200)]
nss-util: be a tiny bit more compatible with glibc's lookup behaviour regarding IPv6

Check for RES_USE_INET6 before we prefer IPv6 over IPv4, for all our NSS
modules. (Not that the DNS resolver that is configured with this matters
to us, but hey, let's try to be compatible).

5 years agodetect-virt: Fix Xen domU discovery
Thomas Blume [Thu, 17 Jul 2014 09:25:37 +0000 (11:25 +0200)]
detect-virt: Fix Xen domU discovery

The conditional for detection xen virtualization contained a little mistake.
It is checking for i to be empty: 'if (!i)  {', but it must check for cap instead,
because: 'cap = strsep(&i, ",")' will set cap to the discovered value and i to
the next value after the separator.
Hence, i would be empty, if there is only control_d in domcap, leading to a wrong
domU detection.

https://bugs.freedesktop.org/show_bug.cgi?id=77271

5 years agonetworkd: fix colud typo
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2014 12:10:10 +0000 (08:10 -0400)]
networkd: fix colud typo

sztanpet> if your already there, might fixing "Colud" to Could in 53af3b7

5 years agounits: fix typo
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2014 12:08:11 +0000 (08:08 -0400)]
units: fix typo

vrutkovs> zbyszek:
http://cgit.freedesktop.org/systemd/systemd/diff/units/systemd-journal-upload.service.in?id=ad95fd1d2b9c6344864857c2ba7634fd87753f8e - typo in Group name

5 years agoui/term: add line/cell/char handling for terminal pages
David Herrmann [Thu, 12 Jun 2014 15:51:14 +0000 (17:51 +0200)]
ui/term: add line/cell/char handling for terminal pages

This commit introduces libsystemd-ui, a systemd-internal helper library
that will contain all the UI related functionality. It is going to be used
by systemd-welcomed, systemd-consoled, systemd-greeter and systemd-er.
Further use-cases may follow.

For now, this commit only adds terminal-page handling based on lines only.
Follow-up commits will add more functionality.

5 years agonspawn: fix barrier-destroy call
David Herrmann [Thu, 17 Jul 2014 09:48:03 +0000 (11:48 +0200)]
nspawn: fix barrier-destroy call

I dropped the cleanup-helper before pushing so use _cleanup_() directly.

5 years agoshared: add PTY helper
David Herrmann [Fri, 11 Jul 2014 14:29:56 +0000 (16:29 +0200)]
shared: add PTY helper

This Pty API wraps the ugliness that is POSIX PTY. It takes care of:
  - edge-triggered HUP handling (avoid heavy CPU-usage on vhangup)
  - HUP vs. input-queue draining (handle HUP _after_ draining the whole
    input queue)
  - SIGCHLD vs. HUP (HUP is no reliable way to catch PTY deaths, always
    use SIGCHLD. Otherwise, vhangup() and friends will break.)
  - Output queue buffering (async EPOLLOUT handling)
  - synchronous setup (via Barrier API)

At the same time, the PTY API does not execve(). It simply fork()s and
leaves everything else to the caller. Usually, they execve() but we
support other setups, too.

This will be needed by multiple UI binaries (systemd-console, systemd-er,
...) so it's placed in src/shared/. It's not strictly related to
libsystemd-terminal, so it's not included there.

5 years agonspawn: use Barrier API instead of eventfd-util
David Herrmann [Sun, 13 Jul 2014 10:14:45 +0000 (12:14 +0200)]
nspawn: use Barrier API instead of eventfd-util

The Barrier-API simplifies cross-fork() synchronization a lot. Replace the
hard-coded eventfd-util implementation and drop it.

Compared to the old API, Barriers also handle exit() of the remote side as
abortion. This way, segfaults will not cause the parent to deadlock.

EINTR handling is currently ignored for any barrier-waits. This can easily
be added, but it isn't needed so far so I dropped it. EINTR handling in
general is ugly, anyway. You need to deal with pselect/ppoll/... variants
and make sure not to unblock signals at the wrong times. So genrally,
there's little use in adding it.

5 years agoshared: add generic IPC barrier
David Herrmann [Thu, 10 Jul 2014 13:25:47 +0000 (15:25 +0200)]
shared: add generic IPC barrier

The "Barrier" object is a simple inter-process barrier implementation. It
allows placing synchronization points and waiting for the other side to
reach it. Additionally, it has an abortion-mechanism as second-layer
synchronization to send abortion-events asynchronously to the other side.

The API is usually used to synchronize processes during fork(). However,
it can be extended to pass state through execve() so you could synchronize
beyond execve().

Usually, it's used like this (error-handling replaced by assert() for
simplicity):

    Barrier b;

    r = barrier_init(&b);
    assert_se(r >= 0);

    pid = fork();
    assert_se(pid >= 0);
    if (pid == 0) {
            barrier_set_role(&b, BARRIER_CHILD);

            ...do child post-setup...
            if (CHILD_SETUP_FAILED)
                       exit(1);
            ...child setup done...

            barrier_place(&b);
            if (!barrier_sync(&b)) {
                    /* parent setup failed */
                    exit(1);
            }

            barrier_destroy(&b); /* redundant as execve() and exit() imply this */

            /* parent & child setup successful */
            execve(...);
    }

    barrier_set_role(&b, BARRIER_PARENT);

    ...do parent post-setup...
    if (PARENT_SETUP_FAILED) {
            barrier_abort(&b);          /* send abortion event */
            barrier_wait_abortion(&b);  /* wait for child to abort (exit() implies abortion) */
            barrier_destroy(&b);
           ...bail out...
    }
    ...parent setup done...

    barrier_place(&b);
    if (!barrier_sync(&b)) {
            ...child setup failed... ;
            barrier_destroy(&b);
            ...bail out...
    }

    barrier_destroy(&b);

    ...child setup successfull...

This is the most basic API. Using barrier_place() to place barriers and
barrier_sync() to perform a full synchronization between both processes.
barrier_abort() places an abortion barrier which superceeds any other
barriers, exit() (or barrier_destroy()) places an abortion-barrier that
queues behind existing barriers (thus *not* replacing existing barriers
unlike barrier_abort()).

This example uses hard-synchronization with wait_abortion(), sync() and
friends. These are all optional. Barriers are highly dynamic and can be
used for one-way synchronization or even no synchronization at all
(postponing it for later). The sync() call performs a full two-way
synchronization.

The API is documented and should be fairly self-explanatory. A test-suite
shows some special semantics regarding abortion, wait_next() and exit().

Internally, barriers use two eventfds and a pipe. The pipe is used to
detect exit()s of the remote side as eventfds do not allow that. The
eventfds are used to place barriers, one for each side. Barriers itself
are numbered, but the numbers are reused once both sides reached the same
barrier, thus you cannot address barriers by the index. Moreover, the
numbering is implicit and we only store a counter. This makes the
implementation itself very lightweight, which is probably negligible
considering that we need 3 FDs for a barrier..

Last but not least: This barrier implementation is quite heavy. It's
definitely not meant for fast IPC synchronization. However, it's very easy
to use. And given the *HUGE* overhead of fork(), the barrier-overhead
should be negligible.

5 years agocore: nicer message when inotify watches are exhausted
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2014 02:52:53 +0000 (22:52 -0400)]
core: nicer message when inotify watches are exhausted

inotify_add_watch returns ENOSPC, which translates to
"No space left on device", which is misleading.

https://bugs.freedesktop.org/show_bug.cgi?id=73628

5 years agoman: document yearly and annually in systemd.time(7)
Zbigniew Jędrzejewski-Szmek [Thu, 17 Jul 2014 02:17:29 +0000 (22:17 -0400)]
man: document yearly and annually in systemd.time(7)

https://bugs.freedesktop.org/show_bug.cgi?id=81158

5 years agoresolved: enforce limit on concurrent outstanding queries
Lennart Poettering [Wed, 16 Jul 2014 23:58:14 +0000 (01:58 +0200)]
resolved: enforce limit on concurrent outstanding queries

5 years agosd-login: always use "indices" as plural of "index"
Lennart Poettering [Wed, 16 Jul 2014 23:48:40 +0000 (01:48 +0200)]
sd-login: always use "indices" as plural of "index"

So far both "indexes" and "indices" was used. Let's clean this up, and
stick to indices, since it appears to be used more frequently.

5 years agosd-network: rename "index" parameter to "ifindex"
Lennart Poettering [Wed, 16 Jul 2014 23:46:21 +0000 (01:46 +0200)]
sd-network: rename "index" parameter to "ifindex"

makes things a bit clearer and avoids any clashes with libc's index()
symbol.

5 years agosd-network: if a boolean is mising, we should just take it as false
Lennart Poettering [Wed, 16 Jul 2014 23:41:03 +0000 (01:41 +0200)]
sd-network: if a boolean is mising, we should just take it as false

That way, we can deprecate fields later on without problems

5 years agosd-network: remove redundant array size parameter from functions that return arrays
Lennart Poettering [Wed, 16 Jul 2014 23:39:46 +0000 (01:39 +0200)]
sd-network: remove redundant array size parameter from functions that return arrays

As long as the number of array entries is relatively small it's nicer to
simply return the number of entries directly, instead of using a size_t*
return parameter for it.

5 years agoresolved: fix check for mdns names
Lennart Poettering [Wed, 16 Jul 2014 23:14:19 +0000 (01:14 +0200)]
resolved: fix check for mdns names

5 years agoresolved: we are never authoritative for localhost
Lennart Poettering [Wed, 16 Jul 2014 23:14:07 +0000 (01:14 +0200)]
resolved: we are never authoritative for localhost

5 years agoresolved: properly handle MTU logic
Lennart Poettering [Wed, 16 Jul 2014 23:13:22 +0000 (01:13 +0200)]
resolved: properly handle MTU logic

5 years agodns-domain: enforce maximum DNS domain name length
Lennart Poettering [Wed, 16 Jul 2014 23:10:47 +0000 (01:10 +0200)]
dns-domain: enforce maximum DNS domain name length

5 years agosd-network: fix parameter order for sd_network_monitor_new()
Lennart Poettering [Wed, 16 Jul 2014 23:07:17 +0000 (01:07 +0200)]
sd-network: fix parameter order for sd_network_monitor_new()

Constructors should return the object they created as first parameter,
except when they are generated as a child/member object of some other
object in which case that should be first.

5 years agopo: add Ukrainian translation
Daniel Korostil [Wed, 16 Jul 2014 23:07:29 +0000 (02:07 +0300)]
po: add Ukrainian translation

5 years agojournal/verify: flush progress bar, print offset in more places
Zbigniew Jędrzejewski-Szmek [Tue, 8 Jul 2014 13:55:15 +0000 (09:55 -0400)]
journal/verify: flush progress bar, print offset in more places

Before, fragments of the progress bar would remain when
errors or warnings were printed.

5 years agotest-tables: add new entries
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jul 2014 02:29:24 +0000 (22:29 -0400)]
test-tables: add new entries

One missing string found.

A few things had to be moved around to make it possible to test them.

5 years agotty-ask-password-agent: modernization
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 22:37:52 +0000 (18:37 -0400)]
tty-ask-password-agent: modernization

5 years agoBe more careful when checking for empty files
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 22:59:49 +0000 (18:59 -0400)]
Be more careful when checking for empty files

If we want to avoid reading a totally empty file, it seems better
to check after we have opened the file, not before.

5 years agoLet config_parse open file where applicable
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 22:27:12 +0000 (18:27 -0400)]
Let config_parse open file where applicable

Special care is needed so that we get an error message if the
file failed to parse, but not when it is missing. To avoid duplicating
the same error check in every caller, add an additional 'warn' boolean
to tell config_parse whether a message should be issued.
This makes things both shorter and more robust wrt. to error reporting.

5 years agoresolved: do not free() sd_dhcp_lease_get_dns() results
Kay Sievers [Wed, 16 Jul 2014 21:50:45 +0000 (23:50 +0200)]
resolved: do not free() sd_dhcp_lease_get_dns() results

5 years agoupdate TODO
Lennart Poettering [Wed, 16 Jul 2014 20:51:29 +0000 (22:51 +0200)]
update TODO

5 years agoresolved: properly pass canonical name information to resolving client
Lennart Poettering [Wed, 16 Jul 2014 20:50:41 +0000 (22:50 +0200)]
resolved: properly pass canonical name information to resolving client

Also, hook up nss-resolve to make use of this information

5 years agoresolved: add CNAME lookup support
Lennart Poettering [Wed, 16 Jul 2014 20:09:00 +0000 (22:09 +0200)]
resolved: add CNAME lookup support

5 years agomissing.h: add IFLA_MACVLAN_FLAGS
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 20:44:45 +0000 (16:44 -0400)]
missing.h: add IFLA_MACVLAN_FLAGS

Now we are getting into kernel < 3.4 territory...

https://bugs.freedesktop.org/show_bug.cgi?id=80095

5 years agoupdate TODO
Lennart Poettering [Wed, 16 Jul 2014 18:16:30 +0000 (20:16 +0200)]
update TODO

5 years agoresolved: support for TCP DNS queries
Lennart Poettering [Wed, 16 Jul 2014 18:15:47 +0000 (20:15 +0200)]
resolved: support for TCP DNS queries

5 years agodns-packet: allow dynamic resizing of DNS packets
Lennart Poettering [Wed, 16 Jul 2014 16:04:14 +0000 (18:04 +0200)]
dns-packet: allow dynamic resizing of DNS packets

5 years agodns-domain: introduce macros for accessing all DNS header fields
Lennart Poettering [Wed, 16 Jul 2014 16:03:46 +0000 (18:03 +0200)]
dns-domain: introduce macros for accessing all DNS header fields

5 years agoupdate TODO
Lennart Poettering [Wed, 16 Jul 2014 15:24:43 +0000 (17:24 +0200)]
update TODO

5 years agojournal: add systemd-journal-remote to sysusers
Kay Sievers [Wed, 16 Jul 2014 13:14:46 +0000 (15:14 +0200)]
journal: add systemd-journal-remote to sysusers

5 years agojournal-remote: remove obsolete variable
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 11:52:41 +0000 (07:52 -0400)]
journal-remote: remove obsolete variable

5 years agojournal-remote: fix double typedef and add missing header
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 11:49:21 +0000 (07:49 -0400)]
journal-remote: fix double typedef and add missing header

5 years agoshared: include stdbool.h in mkdir.h
Sjoerd Simons [Wed, 16 Jul 2014 10:09:56 +0000 (12:09 +0200)]
shared: include stdbool.h in mkdir.h

5 years agobuild-sys: don't move libgudev to /lib
Michael Biebl [Wed, 16 Jul 2014 10:09:47 +0000 (12:09 +0200)]
build-sys: don't move libgudev to /lib

It depends on libgobject and libgmodule which are installed in /usr/lib.

5 years agotest-compress-benchmark: add missing % before PRIu64 format
Thomas Hindoe Paaboel Andersen [Wed, 16 Jul 2014 06:59:13 +0000 (08:59 +0200)]
test-compress-benchmark: add missing % before PRIu64 format

5 years agotest-socket-util: silence warnings
Thomas Hindoe Paaboel Andersen [Wed, 16 Jul 2014 06:52:11 +0000 (08:52 +0200)]
test-socket-util: silence warnings

5 years agounits/serial-getty@.service: use the default RestartSec
Michael Olbrich [Tue, 15 Jul 2014 16:28:10 +0000 (18:28 +0200)]
units/serial-getty@.service: use the default RestartSec

For pluggable ttys such as USB serial devices, the getty is restarted
and exits in a loop until the remove event reaches systemd. Under
certain circumstances the restart loop can overload the system in a
way that prevents the remove event from reaching systemd for a long
time (e.g. at least several minutes on a small embedded system).

Use the default RestartSec to prevent the restart loop from
overloading the system. Serial gettys are interactive units, so
waiting an extra 100ms really doesn't make a difference anyways
compared to the time it takes the user to log in.

5 years agoresolve: avoid use of uninitalized variable
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 02:47:03 +0000 (22:47 -0400)]
resolve: avoid use of uninitalized variable

5 years agotest-compress-benchmark: silence warnings
Marc-Antoine Perennou [Wed, 16 Jul 2014 01:13:06 +0000 (10:13 +0900)]
test-compress-benchmark: silence warnings

and btw make it pass for 32bits where size_t != uint64_t

5 years agojournal-remote: avoid copying input data
Zbigniew Jędrzejewski-Szmek [Sat, 12 Jul 2014 03:20:08 +0000 (23:20 -0400)]
journal-remote: avoid copying input data

Instead of copying fields into new memory allocations, simply keep pointers
into the receive buffer. Data in this buffer is only copied when there is not
enough space for new data and a large chunk of the buffer contains old data.

5 years agoClear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX
Zbigniew Jędrzejewski-Szmek [Mon, 14 Jul 2014 20:53:23 +0000 (16:53 -0400)]
Clear up confusion wrt. ENTRY_SIZE_MAX and DATA_SIZE_MAX

Define DATA_SIZE_MAX to mean the maximum size of a single
field, and ENTRY_SIZE_MAX to mean the size of the whole
entry, with some rough calculation of overhead over the payload.

Check if entries are not too big when processing native journal
messages.

5 years agoµhttp-util: fix compilation without gnutls
Zbigniew Jędrzejewski-Szmek [Sat, 12 Jul 2014 03:17:57 +0000 (23:17 -0400)]
µhttp-util: fix compilation without gnutls

5 years agoman: describe new filename rules for journal-remote
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jul 2014 19:03:28 +0000 (15:03 -0400)]
man: describe new filename rules for journal-remote

5 years agoman: document systemd-journal-upload
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jul 2014 18:50:50 +0000 (14:50 -0400)]
man: document systemd-journal-upload

5 years agojournal-upload: add config file
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 02:22:05 +0000 (22:22 -0400)]
journal-upload: add config file

5 years agojournal-remote: let user specify just the main part of the url
Zbigniew Jędrzejewski-Szmek [Thu, 10 Jul 2014 05:39:49 +0000 (01:39 -0400)]
journal-remote: let user specify just the main part of the url

We can append /upload ourselves.

5 years agojournal-remote: rework fd and writer reference handling
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jul 2014 04:15:37 +0000 (00:15 -0400)]
journal-remote: rework fd and writer reference handling

5 years agojournal-remote: improve some messages
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jul 2014 03:18:44 +0000 (23:18 -0400)]
journal-remote: improve some messages

5 years agoFix problem with allocating large buffers and log leftovers
Zbigniew Jędrzejewski-Szmek [Wed, 2 Jul 2014 03:07:45 +0000 (23:07 -0400)]
Fix problem with allocating large buffers and log leftovers

5 years agoConstify ConfigTableItem tables
Zbigniew Jędrzejewski-Szmek [Wed, 16 Jul 2014 01:03:11 +0000 (21:03 -0400)]
Constify ConfigTableItem tables

5 years agojournal-remote: allow splitting incoming logs by source host
Zbigniew Jędrzejewski-Szmek [Sun, 22 Jun 2014 17:36:31 +0000 (13:36 -0400)]
journal-remote: allow splitting incoming logs by source host

Previously existing scheme where the file name would be based on
the source was just too ugly and unpredicatable. Now there are
only two options:
  1. just one file (until rotation),
  2. one file per source host, using the hostname as filename part.
For the cases where the source is specified by the user, only
option one is allowed, and the full of the file must be specified.

5 years agoAllow addresses to be specified for --listen-... args
Zbigniew Jędrzejewski-Szmek [Mon, 30 Jun 2014 05:11:32 +0000 (01:11 -0400)]
Allow addresses to be specified for --listen-... args

Hostnames still aren't accepted.

5 years agoAdd simple generator of fake journal export stream
Zbigniew Jędrzejewski-Szmek [Mon, 30 Jun 2014 04:57:15 +0000 (00:57 -0400)]
Add simple generator of fake journal export stream

5 years agoshared/socket-label: fix error message
Zbigniew Jędrzejewski-Szmek [Mon, 30 Jun 2014 02:06:48 +0000 (22:06 -0400)]
shared/socket-label: fix error message

Was: Failed to listen on [::]:2000: Success

5 years agoshared/socket-util: add function to query remote address
Zbigniew Jędrzejewski-Szmek [Sun, 29 Jun 2014 23:24:56 +0000 (19:24 -0400)]
shared/socket-util: add function to query remote address

5 years agojournal-remote: add units and read certs from default locations
Zbigniew Jędrzejewski-Szmek [Mon, 31 Mar 2014 03:08:02 +0000 (23:08 -0400)]
journal-remote: add units and read certs from default locations

5 years agojournal-upload: add watchdog support
Zbigniew Jędrzejewski-Szmek [Wed, 2 Apr 2014 00:30:13 +0000 (20:30 -0400)]
journal-upload: add watchdog support

5 years agojournal-upload: make state persistent
Zbigniew Jędrzejewski-Szmek [Tue, 1 Apr 2014 13:09:35 +0000 (09:09 -0400)]
journal-upload: make state persistent

5 years agojournal-upload: use journal as the source
Zbigniew Jędrzejewski-Szmek [Sat, 29 Mar 2014 04:37:25 +0000 (00:37 -0400)]
journal-upload: use journal as the source

5 years agojournal-upload: HTTPS support
Zbigniew Jędrzejewski-Szmek [Sat, 29 Mar 2014 04:44:48 +0000 (00:44 -0400)]
journal-upload: HTTPS support

5 years agojournal-upload: a tool to push messages to systemd-journal-remote
Zbigniew Jędrzejewski-Szmek [Tue, 18 Mar 2014 02:54:28 +0000 (22:54 -0400)]
journal-upload: a tool to push messages to systemd-journal-remote

5 years agojournal-remote: reject fields above maximum size
Zbigniew Jędrzejewski-Szmek [Mon, 31 Mar 2014 02:35:37 +0000 (22:35 -0400)]
journal-remote: reject fields above maximum size

Also fix an infinite loop on E2BIG.

Remember what range we already scanned for '\n', to avoid
quadratic behaviour on long "text" fields.

5 years agojournal-remote: small fixes
Zbigniew Jędrzejewski-Szmek [Sun, 23 Mar 2014 16:36:05 +0000 (12:36 -0400)]
journal-remote: small fixes

5 years agobuild-sys: add check for libcurl
Zbigniew Jędrzejewski-Szmek [Tue, 18 Mar 2014 02:52:53 +0000 (22:52 -0400)]
build-sys: add check for libcurl

5 years agoMove network-related journal programs to src/journal-remote/
Zbigniew Jędrzejewski-Szmek [Wed, 26 Mar 2014 02:30:24 +0000 (22:30 -0400)]
Move network-related journal programs to src/journal-remote/

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.

5 years agomicrohttp-util: rework gnutls logging
Zbigniew Jędrzejewski-Szmek [Sat, 29 Mar 2014 15:58:11 +0000 (11:58 -0400)]
microhttp-util: rework gnutls logging

5 years agojournal: allow files with no data whatsoever
Zbigniew Jędrzejewski-Szmek [Sun, 30 Mar 2014 18:20:34 +0000 (14:20 -0400)]
journal: allow files with no data whatsoever

If a file was opened for writing, and then closed immediately without
actually writing any entries, on subsequent opening, it would be
considered "corrupted". This should be totally fine, and even in
read mode, an empty file can become non-empty later on.

5 years agoresolved: add busname unit file
Kay Sievers [Wed, 16 Jul 2014 01:48:10 +0000 (03:48 +0200)]
resolved: add busname unit file

5 years agoresolved: add legacy dbus service and policy files
Kay Sievers [Wed, 16 Jul 2014 01:39:09 +0000 (03:39 +0200)]
resolved: add legacy dbus service and policy files

5 years agoupdate TODO
Lennart Poettering [Wed, 16 Jul 2014 01:32:29 +0000 (03:32 +0200)]
update TODO

5 years agoresolved: add small NSS module that uses resolved to resolve DNS names
Lennart Poettering [Wed, 16 Jul 2014 01:31:30 +0000 (03:31 +0200)]
resolved: add small NSS module that uses resolved to resolve DNS names

5 years agonss: various minor fixes to nss-myhostname + nss-mymachines
Lennart Poettering [Wed, 16 Jul 2014 01:30:40 +0000 (03:30 +0200)]
nss: various minor fixes to nss-myhostname + nss-mymachines