b26fa1a2fbcfee7d03b0c8fd15ec3aa64ae70b9f |
|
10-Feb-2016 |
Daniel Mack <daniel@zonque.org> |
tree-wide: remove Emacs lines from all files
This should be handled fine now by .dir-locals.el, so need to carry that
stuff in every file. |
d813d7a37211680b3110e36b3bcaff7510a14378 |
|
28-Jan-2016 |
Lennart Poettering <lennart@poettering.net> |
shared: meanor clean-ups for logs-show.c
Some minor simplifications. Shouldn't change codepaths. |
e64c53fd05496fd9683db8f5130826ad1c6c515d |
|
13-Dec-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journal: properly handle an unexpectedly missing field
parse_field() checks if the field has the expected format, and returns
0 if it doesn't. In that case, value and size are not
set. Nevertheless, we would try to continue, and hit an assert in
safe_atou64. This case shouldn't happen, unless sd_j_get_data is borked,
so cleanly assert that we got the expected field.
Also, oom is the only way that parse_field can fail, which we log
already. Instead of outputting a debug statement and carrying on,
treat oom as fatal. |
a8fbdf5424be099ba1b2b1ec261c02b8759d6b0c |
|
06-Dec-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
shared: include what we use
The next step of a general cleanup of our includes. This one mostly
adds missing includes but there are a few removals as well. |
4afd3348c7506dd1d36305b7bcb9feb8952b9d6b |
|
27-Nov-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy
GLIB has recently started to officially support the gcc cleanup
attribute in its public API, hence let's do the same for our APIs.
With this patch we'll define an xyz_unrefp() call for each public
xyz_unref() call, to make it easy to use inside a
__attribute__((cleanup())) expression. Then, all code is ported over to
make use of this.
The new calls are also documented in the man pages, with examples how to
use them (well, I only added docs where the _unref() call itself already
had docs, and the examples, only cover sd_bus_unrefp() and
sd_event_unrefp()).
This also renames sd_lldp_free() to sd_lldp_unref(), since that's how we
tend to call our destructors these days.
Note that this defines no public macro that wraps gcc's attribute and
makes it easier to use. While I think it's our duty in the library to
make our stuff easy to use, I figure it's not our duty to make gcc's own
features easy to use on its own. Most likely, client code which wants to
make use of this should define its own:
#define _cleanup_(function) __attribute__((cleanup(function)))
Or similar, to make the gcc feature easier to use.
Making this logic public has the benefit that we can remove three header
files whose only purpose was to define these functions internally.
See #2008. |
b5efdb8af40ea759a1ea584c1bc44ecc81dd00ce |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out allocation calls into alloc-util.[ch] |
8b43440b7ef4b81c69c31de7ff820dc07a780254 |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: move string table stuff into its own string-table.[ch] |
6bedfcbb2970e06a4d3280c8fb62083d252ede73 |
|
27-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split string parsing related calls from util.[ch] into parse-util.[ch] |
c004493cdefc1f43a3956ca529e8070f8d70be56 |
|
26-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out IO related calls to io-util.[ch] |
3ffd4af22052963e7a29431721ee204e634bea75 |
|
25-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split out fd-related operations into fd-util.[ch]
There are more than enough to deserve their own .c file, hence move them
over. |
07630cea1f3a845c09309f197ac7c4f11edd3b62 |
|
24-Oct-2015 |
Lennart Poettering <lennart@poettering.net> |
util-lib: split our string related calls from util.[ch] into its own file string-util.[ch]
There are more than enough calls doing string manipulations to deserve
its own files, hence do something about it.
This patch also sorts the #include blocks of all files that needed to be
updated, according to the sorting suggestions from CODING_STYLE. Since
pretty much every file needs our string manipulation functions this
effectively means that most files have sorted #include blocks now.
Also touches a few unrelated include files. |
1fc464f6fbecfc5d8ba9f7b98d19e21fb324bfb9 |
|
22-Sep-2015 |
Lennart Poettering <lennart@poettering.net> |
cgtop: underline table header
Let's underline the header line of the table shown by cgtop, how it is
customary for tables. In order to do this, let's introduce new ANSI
underline macros, and clean up the existing ones as side effect. |
ece174c5439021e32ebcc858842de9586072c006 |
|
09-Sep-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: drop {} from one-line if blocks
Patch via coccinelle. |
25300b5a1fcf54674a69d0f4ab08925be00b0227 |
|
24-Aug-2015 |
Lennart Poettering <lennart@poettering.net> |
util: make machine_name_is_valid() a macro and move it to hostname-util.h
As it turns out machine_name_is_valid() does the exact same thing as
hostname_is_valid() these days, as it just invoked that and checked the
name length was < 64. However, hostname_is_valid() checks the length
against HOST_NAME_MAX anyway (which is 64 on Linux), hence any
additional check is redundant.
We hence replace machine_name_is_valid() by a macro that simply maps it
to hostname_is_valid() but sets the allow_trailing_dot parameter to
false. We also move this this call to hostname-util.h, to the same place
as the hostname_is_valid() declaration. |
91a8a108096164c9425e027a5876dfe51890f1e7 |
|
18-Aug-2015 |
Daniel Mack <daniel@zonque.org> |
journal: fix json output of unicode characters |
671c34195896e89f935d842b13f52a748bd8a5b4 |
|
17-Aug-2015 |
Richard Maw <richard.maw@codethink.co.uk> |
namespace helpers: Allow entering a UID namespace
To be able to use `systemd-run` or `machinectl login` on a container
that is in a private user namespace, the sub-process must have entered
the user namespace before connecting to the container's D-Bus, otherwise
the UID and GID in the peer credentials are garbage.
So we extend namespace_open and namespace_enter to support UID namespaces,
and we enter the UID namespace in bus_container_connect_{socket,kernel}.
namespace_open will degrade to a no-op if user namespaces are not enabled
in the kernel.
Special handling is required for the setns call in namespace_enter with
a user namespace, since transitioning to your own namespace is forbidden,
as it would result in re-entering your user namespace as root.
Arguably it may be valid to check this at the call site, rather than
inside namespace_enter, but it is less code to do it inside, and if the
intention of calling namespace_enter is to *be* in the target namespace,
rather than to transition to the target namespace, it is a reasonable
approach.
The check for whether the user namespace is the same must happen before
entering namespaces, as we may not be able to access /proc during the
intermediate transition stage.
We can't instead attempt to enter the user namespace and then ignore
the failure from it being the same namespace, since the error code is
not distinct, and we can't compare namespaces while mid-transition. |
07d210255b629ea97f9dc77c0fadcbc1c02be12c |
|
17-Jun-2015 |
Lennart Poettering <lennart@poettering.net> |
logs-show: print a debug message when we skip entries without MESSAGE= fields |
b56d608e6977f7731a6fccd593c50eec1a69f466 |
|
19-May-2015 |
Lennart Poettering <lennart@poettering.net> |
journalctl: clean up how we log errors
All functions should either log the errors they run into, or only return
them in which case the caller should log them.
Make sure this rule is followed, so that each error is logged precisely
once, and neither never, nor more than once. |
10a8700606d832ba88706f35e63d37b98c409d10 |
|
21-Apr-2015 |
Lennart Poettering <lennart@poettering.net> |
tree-wide: get rid of more strerror() calls |
288a74cce597f81d3ba01d8a5ca7d2ba5b654b7e |
|
11-Apr-2015 |
Ronny Chevalier <chevalier.ronny@gmail.com> |
shared: add terminal-util.[ch] |
0b452006de98294d1690f045f6ea2f7f6630ec3b |
|
10-Apr-2015 |
Ronny Chevalier <chevalier.ronny@gmail.com> |
shared: add process-util.[ch] |
6482f6269c87d2249e52e889a63adbdd50f2d691 |
|
10-Apr-2015 |
Ronny Chevalier <chevalier.ronny@gmail.com> |
shared: add formats-util.h |
a7f7d1bde43fc825c49afea3f946f5b4b3d563e0 |
|
27-Mar-2015 |
Harald Hoyer <harald@redhat.com> |
fix gcc warnings about uninitialized variables
like:
src/shared/install.c: In function ‘unit_file_lookup_state’:
src/shared/install.c:1861:16: warning: ‘r’ may be used uninitialized in
this function [-Wmaybe-uninitialized]
return r < 0 ? r : state;
^
src/shared/install.c:1796:13: note: ‘r’ was declared here
int r;
^ |
6c767d1e1a1815fbd4d2b196fb92a0d85cfde5b2 |
|
10-Mar-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
logs-show: fix check of loop_read_exact
just a typo fix |
a6dcc7e5924f9c27d3e9c6560a448b02ec28b65f |
|
10-Mar-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Introduce loop_read_exact helper
Usually when using loop_read(), we want to read the full buffer.
Add a helper that mirrors loop_write(), and returns 0 when full buffer
was read, and an error otherwise.
Use -ENODATA for the short read, to distinguish it from a read error. |
2eec67acbb00593e414549a7e5b35eb7dd776b1b |
|
23-Feb-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
remove unused includes
This patch removes includes that are not used. The removals were found with
include-what-you-use which checks if any of the symbols from a header is
in use. |
0a6f50c0afdfc434b492493bd9efab20cbee8623 |
|
12-Feb-2015 |
Thomas Hindoe Paaboel Andersen <phomes@gmail.com> |
include <poll.h> instead of <sys/poll.h>
include-what-you-use automatically does this and it makes finding
unnecessary harder to spot. The only content of poll.h is a include
of sys/poll.h so should be harmless. |
63c372cb9df3bee01e3bf8cd7f96f336bddda846 |
|
03-Feb-2015 |
Lennart Poettering <lennart@poettering.net> |
util: rework strappenda(), and rename it strjoina()
After all it is now much more like strjoin() than strappend(). At the
same time, add support for NULL sentinels, even if they are normally not
necessary. |
3c7560019e623e6e0d03a860b4f19a3a8715feca |
|
08-Jan-2015 |
Lennart Poettering <lennart@poettering.net> |
loginctl: show the 10 most recent log user/session log lines in "loginctl user-status" and "loginctl session-status" |
553d2243e2a42783b8bb94addfb752b802c23311 |
|
06-Jan-2015 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
tree-wide: remove unnecessary LOG_PRI
LOG_DEBUG is already a log level, there is no need to use LOG_PRI which
is for filtering out the facility. |
8d3d7072e609ef0e0fb37e1d19a29307d58146c3 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: a few more log_*_errno + return simplifications
The one in tmpfiles.c:create_item() even looks like it fixes a bug. |
f647962d64e844689f3e2acfce6102fc47e76df2 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: yet more log_*_errno + return simplifications
Using:
find . -name '*.[ch]' | while read f; do perl -i.mmm -e \
'local $/;
local $_=<>;
s/(if\s*\([^\n]+\))\s*{\n(\s*)(log_[a-z_]*_errno\(\s*([->a-zA-Z_]+)\s*,[^;]+);\s*return\s+\g4;\s+}/\1\n\2return \3;/msg;
print;'
$f
done
And a couple of manual whitespace fixups. |
c33b329709ebe2755181980a050d02ec7c81ed87 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: more log_*_errno() conversions, multiline calls
Basically:
find . -name '*.[ch]' | while read f; do perl -i.mmm -e \
'local $/;
local $_=<>;
s/log_(debug|info|notice|warning|error|emergency)\("([^"]*)%s"([^;]*),\s*strerror\(-?([->a-zA-Z_]+)\)\);/log_\1_errno(\4, "\2%m"\3);/gms;print;' \
$f; done
Plus manual indentation fixups. |
da927ba997d68401563b927f92e6e40e021a8e5c |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: no need to negate errno for log_*_errno()
It corrrectly handles both positive and negative errno values. |
0a1beeb64207eaa88ab9236787b1cbc2f704ae14 |
|
28-Nov-2014 |
Michal Schmidt <mschmidt@redhat.com> |
treewide: auto-convert the simple cases to log_*_errno()
As a followup to 086891e5c1 "log: add an "error" parameter to all
low-level logging calls and intrdouce log_error_errno() as log calls
that take error numbers", use sed to convert the simple cases to use
the new macros:
find . -name '*.[ch]' | xargs sed -r -i -e \
's/log_(debug|info|notice|warning|error|emergency)\("(.*)%s"(.*), strerror\(-([a-zA-Z_]+)\)\);/log_\1_errno(-\4, "\2%m"\3);/'
Multi-line log_*() invocations are not covered.
And we also should add log_unit_*_errno(). |
1248e84008028ae54326c565fcc65dcbce3556ad |
|
04-Nov-2014 |
Lennart Poettering <lennart@poettering.net> |
journal: when dumping log data with missing COMM fields, show "unknown" instead
A small readability improvement... |
affcf189153714f0de4d0986d18e2bc1b35c1b20 |
|
22-Oct-2014 |
Lennart Poettering <lennart@poettering.net> |
machine: validate machine names using machine_name_is_valid() instead of string_is_safe()
After all, we know have this as generic validator, so let's be correct
and use it wherver applicable. |
5ab99e076c72a44f2e174e48abd9945cd0180d76 |
|
08-Oct-2014 |
Lennart Poettering <lennart@poettering.net> |
time: functions named "internal" really shouldn't be exported
Also, let's try to make function names descriptive, instead of using
bools for flags. |
a62e83b48cda6a709a796a361abaf6b129650b3c |
|
03-Oct-2014 |
Jan Synacek <jsynacek@redhat.com> |
journalctl: make --utc work everywhere
The --utc option was introduced by commit
9fd290443f5f99fca0dcd4216b1de70f7d3b8db1.
Howerver, the implementation was incomplete. |
9fd290443f5f99fca0dcd4216b1de70f7d3b8db1 |
|
02-Oct-2014 |
Jan Synacek <jsynacek@redhat.com> |
journalctl: add --utc option
Introduce option to display time in UTC. |
d5099efc47d4e6ac60816b5381a5f607ab03f06e |
|
15-Sep-2014 |
Michal Schmidt <mschmidt@redhat.com> |
hashmap: introduce hash_ops to make struct Hashmap smaller
It is redundant to store 'hash' and 'compare' function pointers in
struct Hashmap separately. The functions always comprise a pair.
Store a single pointer to struct hash_ops instead.
systemd keeps hundreds of hashmaps, so this saves a little bit of
memory. |
3a43da2832dc5360a638d043f469a6dcbe025582 |
|
29-Jul-2014 |
Kay Sievers <kay@vrfy.org> |
time-util: add and use USEC/NSEC_INFINIY |
609e002e78e79ef2bf9d6a6ea22bda215abbbb14 |
|
22-May-2014 |
Lennart Poettering <lennart@poettering.net> |
time-util: make sure USEC_PER_SEC and friends are actually of type usec_t |
878cd7e95ca303f9851d227a22d2022bd49944b0 |
|
18-May-2014 |
Lennart Poettering <lennart@poettering.net> |
machined: add logic to query IP addresses of containers |
de0671ee7fe465e108f62dcbbbe9366f81dd9e9a |
|
15-May-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Remove unnecessary casts in printfs
No functional change expected :) |
0ade5ffe2778e7b238bba8d979ca4d53dee1e702 |
|
05-Apr-2014 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journal: fix export of messages containing newlines
In "export" format, newlines are significant, and messages containing
newlines must be exported as "binary". |
3d94f76c99da13e5603831d0b278f8c8c21bcb02 |
|
24-Mar-2014 |
Lennart Poettering <lennart@poettering.net> |
util: replace close_pipe() with new safe_close_pair()
safe_close_pair() is more like safe_close(), except that it handles
pairs of fds, and doesn't make and misleading allusion, as it works
similarly well for socketpairs() as for pipe()s... |
03e334a1c7dc8c20c38902aa039440763acc9b17 |
|
18-Mar-2014 |
Lennart Poettering <lennart@poettering.net> |
util: replace close_nointr_nofail() by a more useful safe_close()
safe_close() automatically becomes a NOP when a negative fd is passed,
and returns -1 unconditionally. This makes it easy to write lines like
this:
fd = safe_close(fd);
Which will close an fd if it is open, and reset the fd variable
correctly.
By making use of this new scheme we can drop a > 200 lines of code that
was required to test for non-negative fds or to reset the closed fd
variable afterwards. |
ea6c2dd1f819c3d481fc590849809aeb552c1d48 |
|
13-Mar-2014 |
Lennart Poettering <lennart@poettering.net> |
systemctl: suppress duplicate newline if there's not log output in "systemctl status" |
47d80904a1f72d559962cc5ad32fffd46672a34a |
|
27-Feb-2014 |
Uoti Urpala <uoti.urpala@pp1.inet.fi> |
logs-show: fix corrupt output with empty messages
If a message had zero length, journalctl would print no newline, and
two output lines would be concatenated. Fix. The problem was
introduced in commit 31f7bf199452 ("logs-show: print multiline
messages"). Affected short and verbose output modes.
Before fix:
Feb 09 21:16:17 glyph dhclient[1323]: Feb 09 21:16:17 glyph NetworkManager[788]: <info> (enp4s2): DHCPv4 state changed nbi -> preinit
after:
Feb 09 21:16:17 glyph dhclient[1323]:
Feb 09 21:16:17 glyph NetworkManager[788]: <info> (enp4s2): DHCPv4 state changed nbi -> preinit |
fbadf04511389c4a0687ba5e9baf0ecebdbb07f1 |
|
23-Dec-2013 |
Lennart Poettering <lennart@poettering.net> |
bus: when getting a kdbus connection into a container wait first for child, then read message
There's no EOF generated for AF_UNIX/SOCK_DGRAM sockets, hence let's
wait for the child first to see if it succeeded, only then read the socket. |
a4475f577bd0daf762d6c3b4e58bc484e0cb74af |
|
17-Dec-2013 |
Lennart Poettering <lennart@poettering.net> |
bus: when entering an existing namespace to connect to a container's system bus also switch over PID namespace
This is necessary to ensure that kdbus can collect creds of the
destination namespace when connecting. |
e04b0cdb9001edec916216e1fd7b6e814bc46fc3 |
|
14-Dec-2013 |
Lennart Poettering <lennart@poettering.net> |
util: port last code over to new namespace utility calls |
2a410422ec0c80c4ffc09f232a9b83f5a3d2a22a |
|
12-Dec-2013 |
Marc-Antoine Perennou <Marc-Antoine@Perennou.com> |
shared: add missing include
Needed for socketpair, recv |
b6741478e7661c7e580e5dcfd6a6fccd1899c1d0 |
|
11-Dec-2013 |
Lennart Poettering <lennart@poettering.net> |
journal: add ability to browse journals of running OS containers
This adds the new library call sd_journal_open_container() and a new
"-M" switch to journalctl. Particular care is taken that journalctl's
"-b" switch resolves to the current boot ID of the container, not the
host. |
69ae3ee07ee4dc7592f6d2d5f181b478a772a644 |
|
01-Oct-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show.c: show all messages for a slice |
00f117a59973f9c4e1a966252d668949f62a9265 |
|
18-Sep-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show.c: fix enum type in function declaration |
69ab80881552d5f79ca95f6b3be48ad122ab1ec2 |
|
14-Sep-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Advertise hibernation only if there's enough free swap
Condition that is checked is taken from upower:
active(anon) < free swap * 0.98
This is really stupid, because the kernel knows the situation better,
e.g. there could be two swap files, and then hibernation would be
impossible despite passing this check, or the kernel could start
supporting compressed swap and/or compressed hibernation images, and
then this this check would be too stringent. Nevertheless, until
we have something better, this should at least return a true negative
if there's no swap.
Logging of capabilities in the journal is changed to not strip leading
zeros. I consider this more readable anyway.
http://cgit.freedesktop.org/upower/tree/src/up-daemon.c#n613
https://bugzilla.redhat.com/show_bug.cgi?id=1007059 |
2a0e0692565f0435657c93498e09cbb2d3517152 |
|
22-Aug-2013 |
Shawn Landden <shawnlandden@gmail.com> |
remove hasprefix(), use startswith() |
2526d6269112ba8b4f771a2c42fa1aa28563cd48 |
|
21-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: fix condition for ellipsizing multi-line messages
falconindy> the ellipsizing seems a bit wrong here....
I got a bit carried away with putting dots everywhere :) |
cf40f0be1acc73ea7dfb9aabc213f6a762ea62d2 |
|
21-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: show source timestamp in verbose mode
This makes verbose behave like short mode, i.e. try to show
the source timestamp, and fall back to journald timestamp
only if unavailable or unparsable. I think verbose should
be like short, only showing more fields, and showing different
timestamps would be confusing. |
f02d836794d519e717e51d81501557da55915ce2 |
|
21-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: add short-precise mode with us timestamps
Also, always show us timestamps in verbose mode.
https://bugzilla.redhat.com/show_bug.cgi?id=991678 |
a6f0104a16350a4c2660837da6e0e5c2e50e2389 |
|
12-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: limit to 3 lines and use dots if not showing full message
So far, we would show up to 128 bytes from a message, simply
cutting of the rest. With multiline messages, it is quite common
for a message to be longer than that, and this model doesn't really
work anymore.
A new limit is added: up to 3 lines will be shown, unless --full is
used (c.f. first line below). The limit for bytes is extended to 300
bytes. An ellipsis will always be used, if some form of truncation
occurs. If the tail of the message is cut off, either because of
length or line limit, dots will be shown at the end of the last
line. If this last line is short, the dots will be simply appended. If
the last line is too long for that, it will be ellipsized with dots at
the very end.
Note that the limits are in bytes, not characters, and we suck at
outputting unicode strings (c.f. last three lines below).
Aug 11 10:46:21 fedora python[67]: test message
line
line...
Aug 11 10:50:47 fedora python[76]: test message word word word word word word word word word word word wor...
Aug 11 10:55:11 fedora python[83]: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...
Aug 11 11:03:21 fedora python[90]: ąąąąąąąąąąąąąąąąąąąąąąąąąąąąąą...
Aug 11 11:03:53 fedora python[97]: aąąąąąąąąąąąąąąąąąąąąąąąąąąąąąą...
Aug 11 11:25:45 fedora python[121]: aąąąąąąąąąąąąąąąąąąąąąąąąąąąąąąąąąą�... |
b4b02cbeec04b51697bce1f4e439b9b7afae5393 |
|
12-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: fix indentation for 2nd and later lines, show lines in full
Now --full will show long fields in full, like it already did
with --all. |
94e0bd7db1d7ca8ab7f738cdab1d014241f5b225 |
|
12-Aug-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
systemctl: show hint about --full when lines don't fit |
44bc6e1fe0171af19451b5586f7fdd08853ccf5b |
|
18-Jul-2013 |
Tomasz Torcz <tomek@pipebreaker.pl> |
journalctl: add ”short-iso” output format with verbose ISO8601 timestamps
Example:
2013-07-18T10:10:01+0200 sandworm CROND[20957]: (root) CMD (/usr/lib64/sa/sa1 1 1) |
4ad16808c02e3eb6c1ec8500b3d086cc28e9b75a |
|
17-Jul-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl,systemctl: fix tiny memleak |
7ac4fa7e92c782f2978260023cff64aa683e6011 |
|
27-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl: highlight MESSAGE= in verbose output
When looking at verbose output, additional "work" is required to
pick out the interesting MESSAGE= lines from all the fields.
Also, show long fields in full in verbose output mode when
OUTPUT_FULL_WIDTH is specified. |
2d0b2e8765464bc9bf4d529e25bc11d862818077 |
|
21-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl,systemctl: show messages tagged with OBJECT_SYSTEMD_[USER_]_UNIT
Replace mallocs with alloca while at it. |
fdcd37df3b97abc381c7b7a29b81cc013c7a3230 |
|
21-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Make sure we only show authentic coredump messages
Before we only checked the MESSAGE_ID and COREDUMP_UNIT.
Those are both user-controlled fields.
For COREDUMP_USER_UNIT, relax the rules a bit, and also
allow messages from _UID=0. |
fd59d9f29838c3888168554c774003e7ad6d33b0 |
|
21-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
Add hasprefix macro to check prefixes of fixed length |
8c1396b1c2dfecbb59af61064f6a0f624385004d |
|
20-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl: show lines in full with --all
In 31f7bf1 "logs-show: print multiline messages", I forgot
to take into account the fact that --all implies --full for
journalctl. |
a688baa8b71f9c74500f7883dfb137194874266a |
|
10-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journal: add ability to filter by current user
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. |
a72b63536f1da3a97677bf38590f22a962e5fe98 |
|
10-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl: fix verbose output when no logs are found
$ journalctl -o verbose _EXE=/quiet/binary -f
-- Logs begin at Sun 2013-03-17 17:28:22 EDT. --
Failed to get realtime timestamp: Cannot assign requested address
JOURNAL_FOREACH_DATA_RETVAL is added, which allows the caller
to get the return value from sd_journal_enumerate_data. I think
we might want to expose this macro like SD_JOURNAL_FOREACH_DATA,
but for now it is in journal-internal.h.
There's a change in behaviour for output_*, not only in
output_verbose, that errors in sd_j_enumerate_data are not silently
ignored anymore.
https://bugs.freedesktop.org/show_bug.cgi?id=56459 |
31f7bf1994523f5b8fd014c69b97e09d7043d9ff |
|
09-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: print multiline messages
[ 0.019862] fedora kernel: CPU0: Thermal monitoring enabled (TM1)
[ 0.019900] fedora kernel: Last level iTLB entries: 4KB 512, 2MB 0, 4MB 0
Last level dTLB entries: 4KB 512, 2MB 32, 4MB 32
tlb_flushall_shift: 5
[ 0.020118] fedora kernel: Freeing SMP alternatives: 24k freed |
5ec76417764e19486261fb8e38e8e71b28185b37 |
|
04-Jun-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
systemctl: limit logs in status to current boot
Also reworded a few debug messages for brevity, and added a log
statement which prints out the filter at debug level:
Journal filter: (((UNIT=sys-module-configfs.device AND _PID=1) OR (COREDUMP_UNIT=sys-module-configfs.device AND MESSAGE_ID=fc2e22bc6ee647b6b90729ab34a250b1) OR _SYSTEMD_UNIT=sys-module-configfs.device) AND _BOOT_ID=4e3c518ab0474c12ac8de7896fe6b154) |
7fd1b19bc9e9f5574f2877936b8ac267c7706947 |
|
18-Apr-2013 |
Harald Hoyer <harald@redhat.com> |
move _cleanup_ attribute in front of the type
http://lists.freedesktop.org/archives/systemd-devel/2013-April/010510.html |
dfb33a9737e62ab872d3937b7690b252d2892fe8 |
|
16-Apr-2013 |
Lennart Poettering <lennart@poettering.net> |
macro: rework how we define cleanup macros
There's now a generic _cleanup_ macro with an argument. The macros for
specific types are now defined using this macro, and in the header files
where they belong.
All cleanup handlers are now inline functions. |
763c7aa288485cf5ab627fe1d25ff58e76f9dacb |
|
19-Mar-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journal,shared: add _cleanup_journal_close_ |
886a64fe6903bc1ccde5c7af0eac6786918c8e49 |
|
14-Mar-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: export logic to add matches for units
After that functions which add matches, show_journal_by_unit
and show_journal_by_user_unit, become nearly identical, so
I merged them into one function. |
a4b88c1ecb2a787d44ba1a46336aa187f60293b5 |
|
07-Feb-2013 |
Mirco Tischler <mt-ml@gmx.de> |
logs-show: show messages for all unit types in systemctl status
I can't find a reason why we shouldn't try to output messages for other
unit types than .service, .socket, .mount and .swap as well. It's probably
a leftover from before we started logging UNIT= from inside PID 1. |
f9045468945cd06fad84f9fbf44019c6813fc50a |
|
07-Feb-2013 |
Mirco Tischler <mt-ml@gmx.de> |
journal: log user units for coredumps and show them in systemctl status |
1a6c43e94649b3f271502a88655f63ea85168fec |
|
18-Jan-2013 |
Mirco Tischler <mt-ml@gmx.de> |
logs-show: add show_journal_by_user_unit
Print the journal for a user session unit. For now this filters by
_SYSTEMD_USER_UNIT and USER_UNIT and additionally _UID. |
2e72983463fc0b95f5aac3528334848e8d1d0744 |
|
16-Jan-2013 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs-show: automatic cleanup |
e8bc0ea2b100158bf35c635039226235aa879068 |
|
23-Dec-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: strip TABs and ANSI color sequences from log messages when displaying them |
93b73b064c663d6248bebfbbbd82989b5ca10fc5 |
|
21-Nov-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: by default do not decompress dat objects larger than 64K
This introduces a new data threshold setting for sd_journal objects
which controls the maximum size of objects to decompress. This is
relieves the library from having to decompress full data objects even
if a client program is only interested in the initial part of them.
This speeds up "systemd-coredumpctl" drastically when invoked without
parameters. |
d4205751d4643c272059a3728045929dd0e5e800 |
|
15-Nov-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: implement message catalog
The message catalog can be used to attach short help texts to log lines,
keyed by their MESSAGE_ID= fields. This is useful to help the
administrator understand the context and cause of a message, find
possible solutions and find further related documentation.
Since this is keyed off MESSAGE_ID= this will only work for native
journal messages.
The message catalog supports i18n, and is useful to augment english
language system messages with explanations in the local language.
This commit only includes short explanatory messages for a few example
message IDs, we'll add more complete documentation for the relevant
systemd messages later on. |
d99ae53a7327e1520ea4b9a3408c2d7f938c4b37 |
|
25-Oct-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: properly serialize fields with multiple values into JSON
This now matches the JSON serialization spec from:
http://www.freedesktop.org/wiki/Software/systemd/json |
cd4b13e0bfe9281a0d2c0c3bef1c589d0684950b |
|
18-Oct-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: don't ellipsize unless on a tty |
240a5fe83e772d08d9e1f22e90163b37eea5ab45 |
|
18-Oct-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: add ability to list unique fields to gatewayd |
48383c251185c4596e9098878b28334c69e7bfd9 |
|
11-Oct-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: support epxorting the journal in a format suitable for text/event-stream |
08ace05beb1d09b6ebc5e9cafc2b972b39fa2437 |
|
28-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
logs-show: various cleanups
Among other cleanups this introduces a threshold for the size of binary
blobs we serialize as integer arrays in the JSON output. THis can be
disabled via --all. |
c198300fc44cdc62b43d7458ab9278b9c46fd733 |
|
18-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: don't choke on entries with no MESSAGE= field
https://bugs.freedesktop.org/show_bug.cgi?id=50177 |
a6e87e90ede66815989ba2db92a07102a69906fe |
|
06-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: rework JSON output mode
This splits the JSON output mode into different modes: json and
json-pretty. The former printing one entry per line, the latter showing
JSON objects nicely indented and in multiple lines to make it easier to
read for humans. |
e268b81e97833a4636dba476056fa936c4da5796 |
|
04-Sep-2012 |
Brandon Philips <brandon@ifup.org> |
shared: logs-show: fflush after each output type
journalctl -f redirected to a pipe or file wasn't working for some
output formats but was working for json. It turns out only json was
doing an fflush.
Make all output formats flush. |
1946b0bd55b356ea25bd747cb338a4b31fabeecf |
|
04-Sep-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: include logs from PID 1 about services in systemctl status |
64825d3c589cd8742887f30acde8c57eceac2001 |
|
08-Aug-2012 |
Lennart Poettering <lennart@poettering.net> |
fix a couple of issues found with llvm-analyze |
193556b69e982fd37f88209c26a5783245cf2437 |
|
03-Aug-2012 |
Shawn Landen <shawnlandden@gmail.com> |
logs-show: fix off-by-one error
Ellipsize lines that are one character too long. |
498261871dfa2a930ec84b13a176e3bdc43aa212 |
|
26-Jul-2012 |
Lennart Poettering <lennart@poettering.net> |
journalctl: hightlight log lines by priority
warn/notice = bright white
< error = red |
46b0d922256b62bc8291951d9868c243ced80c9a |
|
26-Jul-2012 |
Lennart Poettering <lennart@poettering.net> |
logs-show: fix OOM path |
0d0f0c50d3a1d90f03972a6abb82e6413daaa583 |
|
26-Jul-2012 |
Shawn Landden <shawnlandden@gmail.com> |
log.h: new log_oom() -> int -ENOMEM, use it
also a number of minor fixups and bug fixes: spelling, oom errors
that didn't print errors, not properly forwarding error codes,
few more consistency issues, et cetera |
669241a076108e0483d7d8475beaa506106d077e |
|
25-Jul-2012 |
Shawn Landden <shawnlandden@gmail.com> |
use "Out of memory." consistantly (or with "\n")
glibc/glib both use "out of memory" consistantly so maybe we should
consider that instead of this.
Eliminates one string out of a number of binaries. Also fixes extra newline
in udev/scsi_id |
b61a4660fcfb76f062c081110fb18424b0bb7b23 |
|
20-Jul-2012 |
Eelco Dolstra <eelco.dolstra@logicblox.com> |
journalctl: fix assertion failure in ellipsize_mem()
When showing the journal through "journalctl --no-pager", if the
prefix of the log message (i.e. the date and syslog identifier) is
less than 3 characters shorter than the width of the terminal, you
get:
Assertion 'new_length >= 3' failed at src/shared/util.c:3859, function ellipsize_mem(). Aborting.
because there is not enough space for the "...". This patch add the
necessary check. |
92a1fd9e95954a557d6fe27b56f5ef1b89fc2f5e |
|
17-Jul-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl: do not ellipsize when using pager
If a pager is used, ellipsization is redundant — the pager does
that better by hiding the part that cannot be shown. Pager's advantage
is that the user can press → to view the hidden part of a message,
and then ← to return. |
085d71209ba32c1e4e72ec031536be892054352e |
|
17-Jul-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs: Adapt interface in log-show.c (show_journal_by_unit)
Convert more flag arguments into one flag variable. |
25277cd7fbd77e4c8b20572570aa77c7da9abcc2 |
|
17-Jul-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
logs: Adapt interface in log-show.c (output_journal)
In preparation for adding more output switches, convert a series of
flags arguments into one flag variable. |
b59866aefa110d368460edc14f98cd6d79fe05cd |
|
13-Jul-2012 |
Lennart Poettering <lennart@poettering.net> |
man: document sd_journal_get_cutoff_realtime_usec() |
ba961854ddec8a8efcffab44540c33cc7dffebfa |
|
13-Jul-2012 |
Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> |
journalctl: show any printable Unicode character
This makes sure we are OK in outputting all valid, non-control UTF-8
characters, instead of just printable 7bit ASCII. |
e02d1cf72d115d1d61defdca5b551672d876c6bd |
|
10-Jul-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: introduce sd_journal_wait() to simplify writing synchronous clients |
089842938dd0f4080084044bb9a1a3b00137926a |
|
17-Jun-2012 |
Lennart Poettering <lennart@poettering.net> |
journal: expose and make use of cutoff times of journal
This helps explaining when the log output of "systemctl status" is
incomplete because the logs got rotated since the service was started. |
7ea07dcddafe573c699fc48171b57b912897e7e2 |
|
13-Apr-2012 |
Lennart Poettering <lennart@poettering.net> |
fix a couple of things found with the llvm static analyzer |
f33d3ec1d7521c91da8b30ad5cb345d6416bb07d |
|
12-Apr-2012 |
Kay Sievers <kay@vrfy.org> |
move more common files to shared/ and add them to shared.la |