]> git.ipfire.org Git - thirdparty/systemd.git/log
thirdparty/systemd.git
8 years agoMerge pull request #604 from heftig/master
Lennart Poettering [Thu, 23 Jul 2015 17:02:34 +0000 (19:02 +0200)] 
Merge pull request #604 from heftig/master

build-sys: Use slim LTO objects if possible

8 years agoMerge pull request #690 from teg/resolved-fixes-2
Lennart Poettering [Thu, 23 Jul 2015 16:48:25 +0000 (18:48 +0200)] 
Merge pull request #690 from teg/resolved-fixes-2

resolved: assorted fixes v2

8 years agoresolve: transaction - stop processing packet when found to be invalid 690/head
Tom Gundersen [Sun, 19 Jul 2015 19:42:52 +0000 (21:42 +0200)] 
resolve: transaction - stop processing packet when found to be invalid

We were stopping the transaction, but we need to stop processing the packet alltogether.

8 years agoresolved: packet - fix segfault in truncate()
Tom Gundersen [Fri, 17 Jul 2015 21:42:18 +0000 (23:42 +0200)] 
resolved: packet - fix segfault in truncate()

A size_t was being accessed as a char* due to the order of arguments being inverted.

8 years agoresolved: rr - ignore pseudo types in NSEC(3) bitmaps
Tom Gundersen [Thu, 23 Jul 2015 11:48:56 +0000 (13:48 +0200)] 
resolved: rr - ignore pseudo types in NSEC(3) bitmaps

8 years agoresolved: rr - fix parsing of NSEC3
Tom Gundersen [Thu, 23 Jul 2015 11:28:09 +0000 (13:28 +0200)] 
resolved: rr - fix parsing of NSEC3

We were appending rather than reading the bitmap.

8 years agoresolved: rr - don't read past end of RR when parsing NSEC(3)
Tom Gundersen [Thu, 23 Jul 2015 11:13:43 +0000 (13:13 +0200)] 
resolved: rr - don't read past end of RR when parsing NSEC(3)

We can never read past the end of the packet, so this seems impossible
to exploit, but let's error out early as reading past the end of the
current RR is clearly an error.

Found by Lennart, based on patch by Daniel.

8 years agoresolved: rr - SSHFP contains the fingerprint, not the key
Tom Gundersen [Thu, 23 Jul 2015 11:09:35 +0000 (13:09 +0200)] 
resolved: rr - SSHFP contains the fingerprint, not the key

Rename the field to make this clearer.

8 years agoresolved: packet - fail on invalid zero-length data
Tom Gundersen [Thu, 23 Jul 2015 10:57:58 +0000 (12:57 +0200)] 
resolved: packet - fail on invalid zero-length data

Most blobs (keys, signatures, ...) should have a specific size given by
the relevant algorithm. However, as we don't use/verify the algorithms
yet, let's just ensure that we don't read out zero-length data in cases
where this does not make sense.

The only exceptions, where zero-length data is allowed are in the NSEC3
salt field, and the generic data (which we don't know anything about,
so  better not make any assumptions).

8 years agoMerge pull request #687 from poettering/bitmap-fixes
Daniel Mack [Thu, 23 Jul 2015 14:13:51 +0000 (16:13 +0200)] 
Merge pull request #687 from poettering/bitmap-fixes

bitmap: various clean-ups

8 years agobitmap: various clean-ups 687/head
Lennart Poettering [Thu, 23 Jul 2015 13:57:54 +0000 (15:57 +0200)] 
bitmap: various clean-ups

a) use memcmp() to compare bitmaps efficiently

b) use UINT64_C() macro instead of ULL suffixes to get right suffix for
   uint64_t constants

c) add a few assert()s

d) when comparing integers with 0 we generally try to make this explicit
   with "!= 0".

e) remove redundant bitmap_isset() if check, as we don't have it in
   bitmap_isset() either.

f) It should be fine to invoke bitmap_unset() on a NULL bitmap

8 years agoMerge pull request #669 from poettering/dns-rr-memdup
Tom Gundersen [Thu, 23 Jul 2015 10:34:34 +0000 (12:34 +0200)] 
Merge pull request #669 from poettering/dns-rr-memdup

resolve: unify memdup() code when parsing RRs

8 years agonetworkd: ip6gre add support for flowlabel 683/head
Susant Sahani [Thu, 23 Jul 2015 05:44:08 +0000 (11:14 +0530)] 
networkd: ip6gre add support for flowlabel

8 years agosd-netlink: add bridge NL params
Susant Sahani [Thu, 23 Jul 2015 09:09:43 +0000 (09:09 +0000)] 
sd-netlink: add bridge NL params

8 years agoAdd bridge NL params to missing.h
Susant Sahani [Thu, 23 Jul 2015 09:09:11 +0000 (09:09 +0000)] 
Add bridge NL params to missing.h

8 years agoMerge pull request #677 from zonque/bitmap2
Tom Gundersen [Thu, 23 Jul 2015 09:35:55 +0000 (11:35 +0200)] 
Merge pull request #677 from zonque/bitmap2

basic: bitmap: use uint64_t instead if long long unsigned

8 years agoMerge pull request #674 from ssahani/tunnel
Daniel Mack [Thu, 23 Jul 2015 09:00:15 +0000 (11:00 +0200)] 
Merge pull request #674 from ssahani/tunnel

ip6 tunnel: add support for DSCP

8 years agoman: add man for DSCP 674/head
Susant Sahani [Thu, 23 Jul 2015 08:08:26 +0000 (13:38 +0530)] 
man: add man for DSCP

8 years agoMerge pull request #537 from poettering/nss-mymachines-userns
David Herrmann [Thu, 23 Jul 2015 07:53:47 +0000 (09:53 +0200)] 
Merge pull request #537 from poettering/nss-mymachines-userns

Hook up container userns with nss-mymachines

8 years agoMerge pull request #663 from poettering/tmpfiles-chattr-enotty
Daniel Mack [Thu, 23 Jul 2015 07:12:43 +0000 (09:12 +0200)] 
Merge pull request #663 from poettering/tmpfiles-chattr-enotty

tmpfiles: downgrade errors when a file system does not support file a…

8 years agoMerge pull request #673 from poettering/dns-packet-append-type-window
Daniel Mack [Thu, 23 Jul 2015 06:53:36 +0000 (08:53 +0200)] 
Merge pull request #673 from poettering/dns-packet-append-type-window

resolved: make sure we alway initialize *start in dns_packet_append_t…

8 years agobasic: bitmap: use uint64_t instead if long long unsigned 677/head
Daniel Mack [Thu, 23 Jul 2015 06:44:59 +0000 (08:44 +0200)] 
basic: bitmap: use uint64_t instead if long long unsigned

long long unsigned is always 64 bit wide, so use a more readable type.

8 years agoMerge pull request #672 from poettering/bitmap-isclear
Daniel Mack [Thu, 23 Jul 2015 06:49:14 +0000 (08:49 +0200)] 
Merge pull request #672 from poettering/bitmap-isclear

bitmap: bitmap_clear()

8 years agonetworkd: ip6 tunnel add DSCP
Susant Sahani [Thu, 23 Jul 2015 04:22:24 +0000 (09:52 +0530)] 
networkd: ip6 tunnel add DSCP

This patch adds support for setting the
DSCP field in the ip6 tunnel.

when set it inherits DSCP field between inner and outer header.

8 years agoresolved: make sure we alway initialize *start in dns_packet_append_type_window() 673/head
Lennart Poettering [Thu, 23 Jul 2015 02:54:35 +0000 (04:54 +0200)] 
resolved: make sure we alway initialize *start in dns_packet_append_type_window()

8 years agobitmap: bitmap_clear() 672/head
Lennart Poettering [Thu, 23 Jul 2015 02:51:57 +0000 (04:51 +0200)] 
bitmap: bitmap_clear()

No need to actually reset the bitmap, we can just truncate it back zero
size. That not only makes bitmap_clear() quicker, but also subsequent
bitmap_isclear().

8 years agoresolve: unify memdup() code when parsing RRs 669/head
Lennart Poettering [Thu, 23 Jul 2015 02:04:19 +0000 (04:04 +0200)] 
resolve: unify memdup() code when parsing RRs

Let's make dns_packet_read_public_key() more generic by renaming it to
dns_packet_read_memdup() (which more accurately describes what it
does...). Then, patch all cases where we memdup() RR data to use this
new call.

This specifically checks for zero-length objects, and handles them
gracefully. It will set zero length payload fields as a result.

Special care should be taken to ensure that any code using this call
can handle the returned allocated field to be NULL if the size is
specified as 0!

8 years agonspawn: Don't pass uid mount option for devpts 670/head
Mike Gilbert [Thu, 23 Jul 2015 02:34:57 +0000 (22:34 -0400)] 
nspawn: Don't pass uid mount option for devpts

Mounting devpts with a uid breaks pty allocation with recent glibc
versions, which expect that the kernel will set the correct owner for
user-allocated ptys.

The kernel seems to be smart enough to use the correct uid for root when
we switch to a user namespace.

This resolves #337.

8 years agoMerge pull request #667 from poettering/dns-rr-memleak
Tom Gundersen [Thu, 23 Jul 2015 01:58:47 +0000 (03:58 +0200)] 
Merge pull request #667 from poettering/dns-rr-memleak

resolve: fix two minor memory leaks

8 years agoMerge pull request #666 from poettering/drop-good-dns-server
Tom Gundersen [Thu, 23 Jul 2015 01:57:10 +0000 (03:57 +0200)] 
Merge pull request #666 from poettering/drop-good-dns-server

resolve: drop dns_scope_good_dns_server()

8 years agoresolve: fix two minor memory leaks 667/head
Lennart Poettering [Thu, 23 Jul 2015 01:24:08 +0000 (03:24 +0200)] 
resolve: fix two minor memory leaks

strv_extend() already strdup()s internally, no need to to this twice.
(Also, was missing OOM check...).

Use strv_consume() when we already have a string allocated whose
ownership we want to pass to the strv.

This fixes 50f1e641a93cacfc693b0c3d300bee5df0c8c460.

8 years agoresolve: drop dns_scope_good_dns_server() 666/head
Lennart Poettering [Thu, 23 Jul 2015 01:10:42 +0000 (03:10 +0200)] 
resolve: drop dns_scope_good_dns_server()

It's not used anymore since 29815b6c608b836cada5e349d06a96b63eaa65f3,
hence let's remove it from the sources.

8 years agoMerge pull request #665 from poettering/reword-journal-size-msg
Daniel Mack [Thu, 23 Jul 2015 00:32:29 +0000 (02:32 +0200)] 
Merge pull request #665 from poettering/reword-journal-size-msg

journal: reword msg about enforced size limits a bit

8 years agojournal: reword msg about enforced size limits a bit 665/head
Lennart Poettering [Thu, 23 Jul 2015 00:04:19 +0000 (02:04 +0200)] 
journal: reword msg about enforced size limits a bit

http://lists.freedesktop.org/archives/systemd-devel/2015-July/033574.html

8 years agoMerge pull request #632 from Stebalien/cgls-nspawn
Daniel Mack [Wed, 22 Jul 2015 22:43:00 +0000 (00:43 +0200)] 
Merge pull request #632 from Stebalien/cgls-nspawn

Machines can also be services

8 years agocgls: machines can also be services 632/head
Steven Allen [Mon, 20 Jul 2015 15:57:45 +0000 (11:57 -0400)] 
cgls: machines can also be services

This makes `systemd-cgls -M <machine name>` work with nspawn containers in
systemd 222.

8 years agotmpfiles: downgrade errors when a file system does not support file attributes 663/head
Lennart Poettering [Wed, 22 Jul 2015 20:02:14 +0000 (22:02 +0200)] 
tmpfiles: downgrade errors when a file system does not support file attributes

This downgrades errors from setting file attributes via tmpfiles to
warnings and makes them non-fatal.

Also, as a special case, if a file system does not support file
attributes at all, then the message is downgraded to debug, so that it
is not seen at all.

With this change reiserfs should not see any messages at all anymore
(since it apparently does not implement file attributes at all), but XFS
will still get a warning but no failure. The warning is something the
XFS kernel folks should fix though, by adjusting their file attributes
behaviour to be identical to ext234's.

Fixes #560.

8 years agoMerge pull request #660 from michich/in-set
Michal Schmidt [Wed, 22 Jul 2015 17:57:03 +0000 (19:57 +0200)] 
Merge pull request #660 from michich/in-set

improve IN_SET macro

8 years agobasic: more optimizable IN_SET macro 660/head
Michal Schmidt [Wed, 22 Jul 2015 15:50:44 +0000 (17:50 +0200)] 
basic: more optimizable IN_SET macro

Making the array static allows gcc -O2 to generate smaller code:

"size systemd" before:
   text    data     bss     dec     hex filename
1377286  128608    2632 1508526  1704ae systemd

After:
   text    data     bss     dec     hex filename
1374326  128572    2664 1505562  16f91a systemd

(IN_SET still results in worse generated code than using
 "x == FOO || x == BAR || ...". I don't think we'll be able to match
 that with the C preprocessor.)

This change limits the use of IN_SET to sets with constant elements. All
present callers use constants. The compiler would report an "initializer
element is not constant" error otherwise.

8 years agobasic: better readable IN_SET macro
Michal Schmidt [Wed, 22 Jul 2015 15:05:41 +0000 (17:05 +0200)] 
basic: better readable IN_SET macro

Putting the set elements in an array variable and using ELEMENTSOF makes
it clearer what's going on.

Incidentally, it also makes gcc -O2 generate slightly smaller code:
"size systemd", before:
   text    data     bss     dec     hex filename
1378318  128608    2632 1509558  1708b6 systemd

After:
   text    data     bss     dec     hex filename
1377286  128608    2632 1508526  1704ae systemd

8 years agoMerge pull request #654 from ssahani/nl
Lennart Poettering [Wed, 22 Jul 2015 17:06:36 +0000 (19:06 +0200)] 
Merge pull request #654 from ssahani/nl

network: Add tunnel params

8 years agoMerge pull request #647 from michich/job-logging
Tom Gundersen [Wed, 22 Jul 2015 12:17:12 +0000 (14:17 +0200)] 
Merge pull request #647 from michich/job-logging

Job logging fixes and improvements

8 years agoMerge pull request #651 from keszybz/ata_id-wwn-ordering
Michal Schmidt [Wed, 22 Jul 2015 11:41:33 +0000 (13:41 +0200)] 
Merge pull request #651 from keszybz/ata_id-wwn-ordering

ata_id: unreverse WWN identifier

8 years agosd-netlink: add tunnel params 654/head
Susant Sahani [Wed, 22 Jul 2015 09:29:23 +0000 (14:59 +0530)] 
sd-netlink: add tunnel params

8 years agoTunnel NL params: Add to missing.h
Susant Sahani [Wed, 22 Jul 2015 09:28:52 +0000 (14:58 +0530)] 
Tunnel NL params: Add to missing.h

8 years agoMerge pull request #652 from whot/hwdb-updates
Daniel Mack [Wed, 22 Jul 2015 08:21:46 +0000 (10:21 +0200)] 
Merge pull request #652 from whot/hwdb-updates

hwdb: add Logitech MX Master DPI settings

8 years agoata_id: unreverse WWN identifier 651/head
Zbigniew Jędrzejewski-Szmek [Wed, 22 Jul 2015 04:23:47 +0000 (00:23 -0400)] 
ata_id: unreverse WWN identifier

An endianness conversion was lost in 6024a6e302bad6bcf073fa84a41a6123305dc845.
Restore it. Now ata_id and scsi_id output match.

https://bugzilla.redhat.com/show_bug.cgi?id=1227503

8 years agohwdb: add Logitech MX Master DPI settings 652/head
Peter Hutterer [Mon, 13 Jul 2015 21:34:19 +0000 (07:34 +1000)] 
hwdb: add Logitech MX Master DPI settings

8 years agoMerge pull request #648 from michich/udev-log-priority
Tom Gundersen [Tue, 21 Jul 2015 18:17:21 +0000 (20:17 +0200)] 
Merge pull request #648 from michich/udev-log-priority

udev.log-priority crash fix and cleanup

8 years agoudev: unify reporting of invalid cmdline keys 648/head
Michal Schmidt [Tue, 21 Jul 2015 16:35:18 +0000 (18:35 +0200)] 
udev: unify reporting of invalid cmdline keys

This way it does not need distinct string literals and it also preserves
the "rd." prefix.

8 years agoudev: fix crash with invalid udev.log-priority
Michal Schmidt [Tue, 21 Jul 2015 16:26:09 +0000 (18:26 +0200)] 
udev: fix crash with invalid udev.log-priority

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1245293
8 years agocore: adjust job completion message log levels 647/head
Michal Schmidt [Tue, 21 Jul 2015 17:07:24 +0000 (19:07 +0200)] 
core: adjust job completion message log levels

We do not print all non-OK job completion status messages to the console
in red, because not all of them are plain errors. We do however log the
same messages as LOG_ERR.

Differentiate the log levels by deducing them from the job result in a
way that more or less matches the color of the console message.

8 years agocore: small refactor of job completion logging
Michal Schmidt [Tue, 21 Jul 2015 15:26:28 +0000 (17:26 +0200)] 
core: small refactor of job completion logging

Joins three log_struct() calls into one.

8 years agocore: log completion of remaining job types
Michal Schmidt [Tue, 21 Jul 2015 14:20:18 +0000 (16:20 +0200)] 
core: log completion of remaining job types

JOB_RESTART and failed JOB_VERIFY_ACTIVE completions were printed to
console but not to the log.

8 years agocore: do not log done failed-condition jobs as if unit started
Michal Schmidt [Tue, 21 Jul 2015 14:15:19 +0000 (16:15 +0200)] 
core: do not log done failed-condition jobs as if unit started

It is misleading to see "Started foo." in the log when the unit's
condition was false.

8 years agocore: remove generic job completion messages from unit vtables
Michal Schmidt [Tue, 21 Jul 2015 13:51:16 +0000 (15:51 +0200)] 
core: remove generic job completion messages from unit vtables

These units' message format strings are identical to the generic
strings. Since we can always rely on the fallback, these are now
redundant.

8 years agocore: try harder to get job completion messages too
Michal Schmidt [Tue, 21 Jul 2015 12:54:24 +0000 (14:54 +0200)] 
core: try harder to get job completion messages too

This is similar to "core: always try harder to get unit status
message format string", but for job completion status messages.
It makes generic status messages applicable for printing to the console.
And it rewrites the functions in a more table-based style.

8 years agocore: unit_get_status_message_format() never returns NULL
Michal Schmidt [Mon, 20 Jul 2015 16:36:12 +0000 (18:36 +0200)] 
core: unit_get_status_message_format() never returns NULL

unit_get_status_message_format() is used only with one of JOB_START,
JOB_STOP, JOB_RELOAD, all of which have fallback message strings
defined, so the function may never return NULL.

8 years agobootchart: fix negative 'timeleft' condition
Daniel Mack [Tue, 21 Jul 2015 13:30:47 +0000 (15:30 +0200)] 
bootchart: fix negative 'timeleft' condition

Fix the overrun case in sample acquistion and negative number calculations.

Reported by Stefan Sauer.

Fixes #642

8 years agoMerge pull request #643 from zonque/fileio
Daniel Mack [Tue, 21 Jul 2015 15:20:55 +0000 (17:20 +0200)] 
Merge pull request #643 from zonque/fileio

basic/fileio: fix write_string_file() fallout

8 years agouser-sessions: fix write_string_file() fallout 643/head
Daniel Mack [Mon, 20 Jul 2015 21:17:37 +0000 (23:17 +0200)] 
user-sessions: fix write_string_file() fallout

WRITE_STRING_FILE_ATOMIC is only valid if WRITE_STRING_FILE_CREATE is also
given. IOW, an atomic file write operation is only possible when creating a
file is also being asked for.

This is a regression from the recent write_string_file() rework.

8 years agologind: fix write_string_file() fallout
Daniel Mack [Mon, 20 Jul 2015 21:17:37 +0000 (23:17 +0200)] 
logind: fix write_string_file() fallout

WRITE_STRING_FILE_ATOMIC is only valid if WRITE_STRING_FILE_CREATE is also
given. IOW, an atomic file write operation is only possible when creating a
file is also being asked for.

This is a regression from the recent write_string_file() rework.

8 years agocore: always try harder to get unit status message format string
Michal Schmidt [Mon, 20 Jul 2015 15:18:13 +0000 (17:18 +0200)] 
core: always try harder to get unit status message format string

The starting/stopping messages are printed to the console only if the
corresponding format string is defined in the unit's vtable. To avoid
excessive messages on the console, the unit types whose start/stop
jobs are instantaneous had the format strings intentionally undefined.
When logging the same event to the journal, a fallback to generic
Starting/Stopping/Reloading messages is used.

The problem of excessive console messages with instantaneous jobs
is already resolved in a nicer way ("core: fix confusing logging of
instantaneous jobs"), so there's no longer a need to have two ways of
getting the format strings. Let's fold them into one function with
the fallback to generic message strings.

8 years agocore: correct return value from reload methods
Michal Schmidt [Thu, 16 Jul 2015 19:39:56 +0000 (21:39 +0200)] 
core: correct return value from reload methods

Return 1 from *_reload() methods to signify "we did something", just
like in *_start(). This causes "Reloading foo..." messages to be logged.
"Reloaded foo." messages are already logged.

8 years agocore: fix confusing logging of instantaneous jobs
Michal Schmidt [Thu, 16 Jul 2015 18:08:30 +0000 (20:08 +0200)] 
core: fix confusing logging of instantaneous jobs

For instantaneous jobs (e.g. starting of targets, sockets, slices, or
Type=simple services) the log shows the job completion
before starting:

        systemd[1]: Created slice -.slice.
        systemd[1]: Starting -.slice.
        systemd[1]: Created slice System Slice.
        systemd[1]: Starting System Slice.
        systemd[1]: Listening on Journal Audit Socket.
        systemd[1]: Starting Journal Audit Socket.
        systemd[1]: Reached target Timers.
        systemd[1]: Starting Timers.
        ...

The reason is that the job completes before the ->start() method returns
and only then does unit_start() print the "Starting ..." message.
The same thing happens when stopping units.

Rather than fixing the order of the messages, let's just not emit the
Starting/Stopping message at all when the job completes instantaneously.
The job completion message is sufficient in this case.

8 years agoMerge pull request #636 from ssahani/tunnel
Tom Gundersen [Tue, 21 Jul 2015 09:19:00 +0000 (11:19 +0200)] 
Merge pull request #636 from ssahani/tunnel

networkd: ip6 tunnel add support for flowlabel

8 years agoman: add man ipv6 flowlabel support for ip6 tunnels 636/head
Susant Sahani [Tue, 21 Jul 2015 04:37:10 +0000 (10:07 +0530)] 
man: add man ipv6 flowlabel support for ip6 tunnels

8 years agonetworkd: ip6 tunnel add support for flowlabel
Susant Sahani [Tue, 21 Jul 2015 04:36:44 +0000 (10:06 +0530)] 
networkd: ip6 tunnel add support for flowlabel

Add Pv6 Flow Label support. The 20-bit Flow Label field in the IPv6
header[RFC2460] is used by a  node to label packets of a flow.

8 years agoMerge pull request #625 from ssahani/tun2
Tom Gundersen [Mon, 20 Jul 2015 20:30:18 +0000 (22:30 +0200)] 
Merge pull request #625 from ssahani/tun2

sd-netlink: add tunnel parameters

8 years agosd-boot:Show stub cmdline when edit 634/head
Jose Carlos Venegas Munoz [Thu, 16 Jul 2015 20:39:44 +0000 (15:39 -0500)] 
sd-boot:Show stub cmdline when edit

If Linux efi stub is used, embedded cmdline in efi stub is
not shown. As a result, it is required to rewrite all the
line, if is only required to modify it. This behavior only
happen using Linux efi stub.

This patch allows boot loader to show embedded cmdline when
'e' key is pressed to edit boot loader options.

8 years agoMerge pull request #630 from namhyung/use-isempty
Tom Gundersen [Mon, 20 Jul 2015 16:08:13 +0000 (18:08 +0200)] 
Merge pull request #630 from namhyung/use-isempty

sd-bus: use isempty() consistently

8 years agoMerge pull request #549 from ssahani/dhcp
Tom Gundersen [Mon, 20 Jul 2015 15:58:45 +0000 (17:58 +0200)] 
Merge pull request #549 from ssahani/dhcp

networkd: allow hostname override

8 years agosd-bus: use isempty() consistently 630/head
Namhyung Kim [Fri, 3 Jul 2015 03:40:11 +0000 (12:40 +0900)] 
sd-bus: use isempty() consistently

Instead of open-coding, use isempty() to check NULL or empty string
for consistency.

8 years agoMerge pull request #626 from systemd-mailing-devs/1437135133-9646-2-git-send-email...
Daniel Mack [Mon, 20 Jul 2015 10:16:32 +0000 (12:16 +0200)] 
Merge pull request #626 from systemd-mailing-devs/1437135133-9646-2-git-send-email-vivenzio.pagliari@nokia.com

man: Typo fix in systemd.preset manpage

8 years agoadd NL parameters to missing.h 625/head
Susant Sahani [Mon, 20 Jul 2015 04:47:50 +0000 (10:17 +0530)] 
add NL parameters to missing.h

8 years agosd-netlink: add tunnel NL parameters
Susant Sahani [Mon, 20 Jul 2015 04:47:14 +0000 (10:17 +0530)] 
sd-netlink: add tunnel NL parameters

8 years agoMerge pull request #614 from teg/bitmap-overflow
Daniel Mack [Sun, 19 Jul 2015 06:53:23 +0000 (02:53 -0400)] 
Merge pull request #614 from teg/bitmap-overflow

basic: bitmap - complete fix for bitshift overflow

8 years agobasic: bitmap - complete fix for bitshift overflow 614/head
Tom Gundersen [Fri, 17 Jul 2015 16:30:41 +0000 (18:30 +0200)] 
basic: bitmap - complete fix for bitshift overflow

The bug found by David existed in several places, fix them all. Also
extend the tests to cover these cases.

8 years agoTypo fix in systemd.preset manpage 626/head
Vivenzio Pagliari [Fri, 17 Jul 2015 12:12:13 +0000 (14:12 +0200)] 
Typo fix in systemd.preset manpage

8 years agoMerge pull request #611 from dvdhrm/bitmap-fixes
Tom Gundersen [Fri, 17 Jul 2015 10:33:49 +0000 (12:33 +0200)] 
Merge pull request #611 from dvdhrm/bitmap-fixes

Bitmap fixes

8 years agoMerge pull request #607 from ssahani/vxlan1
David Herrmann [Fri, 17 Jul 2015 10:26:32 +0000 (12:26 +0200)] 
Merge pull request #607 from ssahani/vxlan1

networkd: move config parsers to specific header files

8 years agoMerge pull request #610 from utezduyar/include-signal-header
David Herrmann [Fri, 17 Jul 2015 10:24:26 +0000 (12:24 +0200)] 
Merge pull request #610 from utezduyar/include-signal-header

cgtop: include missing signal.h for sigwinch

8 years agobitmap: avoid 32bit integer overflow in shift 611/head
David Herrmann [Fri, 17 Jul 2015 10:19:06 +0000 (12:19 +0200)] 
bitmap: avoid 32bit integer overflow in shift

We really must use 64bit integers to calculate long-long shifts.
Otherwise, we will never get higher masks than 2^31.

8 years agobitmap: allow bitmap_iterate() on NULL bitmap
David Herrmann [Fri, 17 Jul 2015 10:18:13 +0000 (12:18 +0200)] 
bitmap: allow bitmap_iterate() on NULL bitmap

Make sure we properly treat NULL bitmaps as empty. Right now, we don't
(which really looks like a typo).

8 years agocgtop: include missing signal.h for sigwinch 610/head
Umut Tezduyar Lindskog [Fri, 17 Jul 2015 08:38:31 +0000 (10:38 +0200)] 
cgtop: include missing signal.h for sigwinch

8 years agologind: never select closing sessions for a VT
David Herrmann [Thu, 16 Jul 2015 16:46:12 +0000 (18:46 +0200)] 
logind: never select closing sessions for a VT

If a session is in closing state (and already got rid of its VT), then
never re-select it for that VT. There is no reason why we should grant
something to a session that is already going away *AND* already got rid
of exactly that.

8 years agobuild: add ./test-bitmap to .gitignore
David Herrmann [Thu, 16 Jul 2015 16:30:05 +0000 (18:30 +0200)] 
build: add ./test-bitmap to .gitignore

Make sure to ignore build files of Tom's recent test-bitmap addition.

8 years agologind: prefer new sessions over older ones on VT switches
David Herrmann [Thu, 16 Jul 2015 16:18:01 +0000 (18:18 +0200)] 
logind: prefer new sessions over older ones on VT switches

Our seat->positions[] array keeps track of the 'preferred' session on a
VT. The only situation this is used, is to select the session to activate
when a VT is activated. In the normal case, there's only one session per
VT so the selection is trivial.

Older greeters, however, implement take-overs when they start sessions on
the same VT that the greeter ran on. We recently limited such take-overs
to VTs where a greeter is running on, to force people to never share VTs
in new code that is written.

For legacy reasons, we need to be compatible to old greeters, though.
Hence, we allow those greeters to implement take-over. In such take-overs,
however, we should really make sure that the new sessions gets preferred
over the old one under all circumstances. Hence, make sure we override
the previous preferred session with a new session.

8 years agoMerge pull request #605 from dvdhrm/test-bus-proxy
Tom Gundersen [Thu, 16 Jul 2015 16:17:57 +0000 (18:17 +0200)] 
Merge pull request #605 from dvdhrm/test-bus-proxy

sd-bus: add new test for NameAcquired via proxy/dbus-daemon

8 years agonetworkd: move config_parse_tunnel_address 607/head
Susant Sahani [Thu, 16 Jul 2015 14:46:53 +0000 (20:16 +0530)] 
networkd: move config_parse_tunnel_address

move config_parse_tunnel_address from networkd.h to

tunnel specific file networkd-netdev-tunnel.h

8 years agonetworkd: move config_parse_vxlan_group_address
Susant Sahani [Thu, 16 Jul 2015 14:44:05 +0000 (20:14 +0530)] 
networkd: move config_parse_vxlan_group_address

move config_parse_vxlan_group_address from
networkd.h to networkd-netdev-vxlan.h

8 years agobus-proxy: never pass on unmatched broadcasts 606/head
David Herrmann [Thu, 16 Jul 2015 13:14:43 +0000 (15:14 +0200)] 
bus-proxy: never pass on unmatched broadcasts

The lovely libvirtd goes into crazy mode if it receives broadcasts that
it didn't subscribe to. With bus-proxyd, this might happen in 2 cases:

    1) The kernel passes us an unmatched signal due to a false-positive
       bloom-match.

    2) We generate NameOwnerChanged/NameAcquired/NameLost locally even
       though the peer didn't subscribe to it.

dbus-daemon is reliable in what signals it passes on. So make sure we
follow that style. Never ever send a signal to a local peer if it doesn't
match an installed filter of that peer.

8 years agosd-bus: add new test for NameAcquired via proxy/dbus-daemon 605/head
David Herrmann [Thu, 16 Jul 2015 14:33:22 +0000 (16:33 +0200)] 
sd-bus: add new test for NameAcquired via proxy/dbus-daemon

This adds test-bus-proxy which should be used to test correct behavior of
systemd-bus-proxyd. The first test that was added is to verify we actually
receive NameAcquired signals for ourselves on bus-connect.

8 years agobuild-sys: Use slim LTO objects if possible 604/head
Jan Alexander Steffens (heftig) [Thu, 16 Jul 2015 13:27:57 +0000 (15:27 +0200)] 
build-sys: Use slim LTO objects if possible

While 235c6e6 gets LTO builds running again, it goes back to using fat
LTO objects instead of using gcc-{ar,nm,ranlib}. Building these fat
objects takes significantly more time.

Use the suggested solution and look for gcc-{ar,nm,ranlib}, which launch
the binutils tools with the appropriate --plugin parameter. GCC versions
that do not ship these should either default to -ffat-lto-objects or do
not support LTO at all.

On another note, nm from binutils 2.25 seems to be smart enough to load
the LTO plugin when needed without having to specify --plugin.

8 years agoMerge pull request #602 from teg/bitmap-iterator
David Herrmann [Thu, 16 Jul 2015 13:12:26 +0000 (15:12 +0200)] 
Merge pull request #602 from teg/bitmap-iterator

bitmap: use external iterator

8 years agosd-bus: properly match ID changes
David Herrmann [Thu, 16 Jul 2015 12:37:08 +0000 (14:37 +0200)] 
sd-bus: properly match ID changes

If the caller does not specify arg1 for NameOwnerChanged matches, we
really must take the ID from arg2 or arg3, if provided. They are
guaranteed to be identical to arg1 if either is supplied, but there is no
strict requiredment that arg1 is supplied. Hence, make sure to always
take the more restrictive match. Otherwise, we install rather wide
matches without anyone requiring them.

8 years agosd-bus: destination-matches cannot match NameOwnerChanged
David Herrmann [Thu, 16 Jul 2015 12:35:15 +0000 (14:35 +0200)] 
sd-bus: destination-matches cannot match NameOwnerChanged

Make sure we don't install NameOwnerChanged matches if the caller passed
a destination='' match (except if it is the broadcast address). Per spec,
all NameOwnerChanged signals are broadcasts.

Only the NameLost/NameAcquired signals are unicasts, but those are never
received through sd-bus. Instead, the bus-proxy synthesizes them and it
already installs proper matches for them.

8 years agosd-bus: fix invalid stack access on test-bus-marshal
David Herrmann [Thu, 16 Jul 2015 12:57:59 +0000 (14:57 +0200)] 
sd-bus: fix invalid stack access on test-bus-marshal

Make sure we actually parse "unsigned long long" if we encode a uint64_t.
Otherwise, we will get random data from the stack.

8 years agobitmap: use external iterator 602/head
Tom Gundersen [Thu, 16 Jul 2015 12:06:11 +0000 (14:06 +0200)] 
bitmap: use external iterator

Reuse the Iterator object from hashmap.h and expose a similar API.

This allows us to do

{
    Iterator i;
    unsigned n;

    BITMAP_FOREACH(n, b, i) {
        Iterator j;
        unsigned m;

        BITMAP_FOREACH(m, b, j) {
            ...
        }
    }
}

without getting confused. Requested by David.

8 years agosd-bus: fix gvariant structure encoding
David Herrmann [Thu, 16 Jul 2015 09:00:55 +0000 (11:00 +0200)] 
sd-bus: fix gvariant structure encoding

In gvariant, all fixed-size objects need to be sized a multiple of their
alignment. If a structure has only fixed-size members, it is required to
be fixed size itself. If you imagine a structure like (ty), you have an
8-byte member followed by an 1-byte member. Hence, the overall inner-size
is 9. The alignment of the object is 8, though. Therefore, the specs
mandates final padding after fixed-size structures, to make sure it's
sized a multiple of its alignment (=> 16).

On the gvariant decoder side, we already account for this in
bus_gvariant_get_size(), as we apply overall padding to the size of the
structure. Therefore, our decoder correctly skips such final padding when
parsing fixed-size structure.

On the gvariant encoder side, however, we don't account for this final
padding. This patch fixes the structure and dict-entry encoders to
properly place such padding at the end of non-uniform fixed-size
structures.

The problem can be easily seen by running:
    $ busctl --user monitor
and
    $ busctl call --user org.freedesktop.systemd1 / org.foobar foobar "(ty)" 777 8

The monitor will fail to parse the message and print an error. With this
patch applied, everything works fine again.

This patch also adds a bunch of test-cases to force non-uniform
structures with non-pre-aligned positions.

Thanks to Jan Alexander Steffens <jan.steffens@gmail.com> for spotting
this and narrowing it down to non-uniform gvariant structures. Fixes #597.