Zbigniew Jędrzejewski-Szmek [Thu, 6 Aug 2015 01:01:06 +0000 (21:01 -0400)]
Merge branch 'hostnamectl-dot-v2'
Manual merge of https://github.com/systemd/systemd/pull/751.
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:37:52 +0000 (22:37 -0400)]
hostname-util: ignore case when checking if hostname is localhost
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:36:36 +0000 (22:36 -0400)]
hostname-util: get rid of unused parameter of hostname_cleanup()
All users are now setting lowercase=false.
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:30:06 +0000 (22:30 -0400)]
hostnamectl: allow trailing dot on fqdn
When the user requests to set hostname, and we are setting both
pretty and static hostnames, and the name is a valid FQDN, we
use it as the static hostname, and unset the pretty hostname.
The change is that a FQDN with a trailing dot is accepted and ignored.
https://bugzilla.redhat.com/show_bug.cgi?id=1238246
Lowercasing of the static name is not done anymore.
$ hostnamectl set-hostname Foobar.
=> static is "Foobar", pretty is "Foobar."
$ hostnamectl set-hostname Foobar.org.
=> static is "Foobar.org", pretty is unset
$ hostnamectl set-hostname Foobar.org..
=> static is "Foobar.org", pretty is "Foobar.org.."
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:21:07 +0000 (22:21 -0400)]
networkd: allow trailing dot on fqdn in config file
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:20:46 +0000 (22:20 -0400)]
firstboot: allow a trailing dot on fqdn
Zbigniew Jędrzejewski-Szmek [Tue, 28 Jul 2015 02:15:26 +0000 (22:15 -0400)]
hostname-util: add relax parameter to hostname_is_valid
Tests are modified to check behaviour with relax and without relax.
New tests are added for hostname_cleanup().
Tests are moved a new file (test-hostname-util) because there's
now a bunch of them.
New parameter is not used anywhere, except in tests, so there should
be no observable change.
Daniel Mack [Thu, 6 Aug 2015 00:13:37 +0000 (02:13 +0200)]
Merge pull request #885 from keszybz/logitech-g500
hwdb: add Logitech G500 (another version)
Zbigniew Jędrzejewski-Szmek [Wed, 5 Aug 2015 23:15:05 +0000 (19:15 -0400)]
hwdb: add Logitech G500 (another version)
https://github.com/systemd/systemd/issues/562
Daniel Mack [Wed, 5 Aug 2015 23:13:21 +0000 (01:13 +0200)]
Merge pull request #881 from jrobeson/remove-fedup-todos
TODO: remove obsolete fedup related todos
Daniel Mack [Wed, 5 Aug 2015 23:12:45 +0000 (01:12 +0200)]
Merge pull request #883 from phomes/bool_vs_error_codes
tree-wide: do not return error codes as bool
Daniel Mack [Wed, 5 Aug 2015 23:12:05 +0000 (01:12 +0200)]
Merge pull request #882 from phomes/indentation
tree-wide: fix indentation
Thomas Hindoe Paaboel Andersen [Wed, 5 Aug 2015 22:32:25 +0000 (00:32 +0200)]
tree-wide: do not return error codes as bool
Thomas Hindoe Paaboel Andersen [Wed, 5 Aug 2015 22:31:09 +0000 (00:31 +0200)]
tree-wide: fix indentation
Johnny Robeson [Wed, 5 Aug 2015 21:28:29 +0000 (17:28 -0400)]
TODO: remove obsolete fedup related todos
Fedup is being replaced by a dnf plugin that relies on systemd offline
updates as per
https://fedoraproject.org/wiki/Changes/DNF_System_Upgrades
Tom Gundersen [Wed, 5 Aug 2015 20:58:55 +0000 (22:58 +0200)]
Merge pull request #878 from poettering/network-dhcp-array-fix
network: make enough space for string
Lennart Poettering [Wed, 5 Aug 2015 19:25:12 +0000 (22:25 +0300)]
network: make enough space for string
Follow-up for PR #877.
Lennart Poettering [Wed, 5 Aug 2015 19:20:36 +0000 (22:20 +0300)]
Merge pull request #877 from crawford/dhcp-private-options-v4
networkd: save private-zone DHCP options
Kay Sievers [Wed, 5 Aug 2015 18:33:48 +0000 (20:33 +0200)]
udev: uaccess - do not log error when device node disappears
https://github.com/systemd/systemd/issues/875
Alex Crawford [Sat, 1 Aug 2015 04:48:47 +0000 (21:48 -0700)]
networkd: clean up duplicate code
Alex Crawford [Sat, 1 Aug 2015 03:18:51 +0000 (20:18 -0700)]
networkd: serialize the private options
Save the private options along side the rest of the options in the lease
files.
Alex Crawford [Sat, 1 Aug 2015 03:02:22 +0000 (20:02 -0700)]
networkd: add private options to lease struct
This stores private-zone DHCP options inside of their respective DHCP
lease. These options aren't used by networkd (what would it do with
them?), but saving them will allow other programs to query the values.
To improve performance, the options are stored in ascending order by
tag.
Lennart Poettering [Wed, 5 Aug 2015 15:48:45 +0000 (18:48 +0300)]
Merge pull request #876 from zonque/logind
logind: switch to sd_bus_track helper
Daniel Mack [Wed, 5 Aug 2015 13:58:39 +0000 (15:58 +0200)]
logind: switch to sd_bus_track helper
Let logind use the sd_bus_track helper object to track the controllers of
sessions. This does not only remove quite some code but also kills the
unconditional matches for all NameOwnerChanged signals.
The latter is something we should never ever do, as it wakes up the daemon
every time a client connects, which doesn't scale.
Lennart Poettering [Wed, 5 Aug 2015 12:11:27 +0000 (15:11 +0300)]
Merge pull request #874 from richardmaw-codethink/doc-nspawn-machine-search-path-v2
man: Reference the canonical location of the search path in systemd-nspawn's documentation of the --machine option. (v2)
Richard Maw [Wed, 5 Aug 2015 08:40:36 +0000 (08:40 +0000)]
man: point nspawn --machine to machinectl search-path
The --machine option used to describe searching for machines in
/var/lib/machines, which is not the whole story, so let's link to where
it's described in more detail.
Daniel Mack [Wed, 5 Aug 2015 09:09:48 +0000 (11:09 +0200)]
Merge pull request #871 from poettering/journald-meta-fields
journald: fix count of object meta fields
Lennart Poettering [Wed, 5 Aug 2015 08:40:34 +0000 (11:40 +0300)]
Merge pull request #864 from phomes/master
hwdb: add Logitech LX8 DPI and wheel click settings
Lennart Poettering [Wed, 5 Aug 2015 08:31:52 +0000 (11:31 +0300)]
journald: fix count of object meta fields
There are 12 object meta fields created in dispatch_message_real(), but
we only allocated space for 11. Fix this.
Fixes #866.
Daniel Mack [Wed, 5 Aug 2015 08:12:29 +0000 (10:12 +0200)]
Merge pull request #869 from poettering/tmpfiles-enoent
sysctl: reword warning message a bit
Lennart Poettering [Wed, 5 Aug 2015 08:02:24 +0000 (11:02 +0300)]
sysctl: reword warning message a bit
Let's make this less dramatic, in order to not confuse people too much
making them think that this was something to actually fix.
Lennart Poettering [Wed, 5 Aug 2015 07:58:54 +0000 (10:58 +0300)]
Merge pull request #868 from jsynacek/jsynacek/sysctl
sysctl: bump loglevel when attempting to write invalid values [v2]
Jan Synacek [Tue, 4 Aug 2015 13:46:34 +0000 (15:46 +0200)]
sysctl: bump loglevel when attempting to write invalid values
Daniel Mack [Wed, 5 Aug 2015 05:38:08 +0000 (07:38 +0200)]
Merge pull request #865 from mattst88/alpha-getxpid
Use getxpid syscall on alpha for raw_getpid()
Matt Turner [Tue, 4 Aug 2015 21:47:01 +0000 (14:47 -0700)]
Use getxpid syscall on alpha for raw_getpid()
Alpha does not have a getpid syscall, but rather has getxpid to match
OSF/1.
Lennart Poettering [Tue, 4 Aug 2015 21:13:27 +0000 (00:13 +0300)]
Merge pull request #855 from richardmaw-codethink/machinectl-copy-to-from-relative-paths-v2
Allow relative paths in `machinectl copy-{from,to}` (v2)
Thomas Hindoe Paaboel Andersen [Tue, 4 Aug 2015 20:36:21 +0000 (22:36 +0200)]
gpt-auto-generator: remove unused variable
Thomas Hindoe Paaboel Andersen [Tue, 4 Aug 2015 20:12:35 +0000 (22:12 +0200)]
hwdb: add Logitech LX8 DPI and wheel click settings
Kay Sievers [Tue, 4 Aug 2015 15:26:20 +0000 (17:26 +0200)]
Merge pull request #857 from dvdhrm/proxy-reload
bus-proxy: add ExecReload=
Daniel Mack [Tue, 4 Aug 2015 12:27:09 +0000 (14:27 +0200)]
Merge pull request #860 from walyong/smack_v11
Smack v11: set only the default smack process label if the command path has no execute label
Daniel Mack [Tue, 4 Aug 2015 12:23:17 +0000 (14:23 +0200)]
Merge pull request #858 from dvdhrm/proxy-env
bus-proxy: discard invalid environment updates
WaLyong Cho [Mon, 27 Jul 2015 17:55:35 +0000 (02:55 +0900)]
core: set default process label only exec label is none
When command path has access label and no SmackProcessLabel= is not
set, default process label will be set. But if the default process
label has no rule for the access label of the command path then smack
access error will be occurred.
So, if the command path has execute label then the child have to set
its label to the same of execute label of command path instead of
default process label.
WaLyong Cho [Mon, 27 Jul 2015 17:43:55 +0000 (02:43 +0900)]
smack-util: revise smack-util apis and add read smack attr apis
- Add smack xattr lookup table
- Unify all of mac_smack_apply_xxx{_fd}() to mac_smack_apply() and
mac_smack_apply_fd().
- Add smack xattr read apis similar with apply apis as
mac_smack_read{_fd}().
WaLyong Cho [Mon, 27 Jul 2015 17:40:50 +0000 (02:40 +0900)]
util: add getxattr helper apis
To get xattr of given path or fd on newly allocated buffer, add new
helper api getxattr_malloc() and fgetxattr_malloc().
David Herrmann [Tue, 4 Aug 2015 11:36:03 +0000 (13:36 +0200)]
bus-proxy: discard invalid environment updates
If the caller provides invalid assignments via
UpdateActivationEnvironment=, we now drop it and warn loudly about it. We
need this to be compatible to dbus1, but we also clearly want to tell the
caller that they better ought to follow POSIX recommendations and use
valid labels only.
Fixes #826.
David Herrmann [Tue, 4 Aug 2015 11:19:50 +0000 (13:19 +0200)]
bus-proxy: add ExecReload=
Make sure we support ExecReload= for bus-proxyd to reload configuration
during runtime. This is *really* handy when hacking on kdbus.
Package-managers are still recommended to run
`busctl --address=unix:path=` directly.
Daniel Mack [Tue, 4 Aug 2015 10:24:33 +0000 (12:24 +0200)]
Merge pull request #856 from richardmaw-codethink/doc-invalid-environmentfile-lines
man: Document invalid lines in EnvironmentFile
Alex Crawford [Wed, 4 Mar 2015 03:07:31 +0000 (19:07 -0800)]
networkd: add DHCP options for private zone
Alex Crawford [Tue, 4 Aug 2015 06:11:53 +0000 (23:11 -0700)]
basic: add LIST_INSERT_BEFORE
Similar in function to LIST_INSERT_AFTER, this will insert a new element
into the list before the specified position. If the specified position
is NULL, the element is added as the tail of the list.
Richard Maw [Tue, 4 Aug 2015 09:58:50 +0000 (09:58 +0000)]
man: Document invalid lines in EnvironmentFile
If a line doesn't contain an = separator, it is skipped, rather than
raising an error.
This is potentially useful, so let's document this behaviour.
Richard Maw [Fri, 31 Jul 2015 15:24:09 +0000 (15:24 +0000)]
machinectl: support relative host paths in copy-{from,to}
Richard Maw [Tue, 4 Aug 2015 08:55:04 +0000 (08:55 +0000)]
machined: Relax path checks for Copy{From,To}
Absolute paths should be sufficient to prevent funny business,
and while path_is_safe() checks this, it also checks whether the path
contains . or .. components, which while odd, aren't a security risk.
Daniel Mack [Tue, 4 Aug 2015 06:42:25 +0000 (08:42 +0200)]
Merge pull request #850 from ssahani/dhcp
networkd: DHCP fix CID 1315105
Susant Sahani [Tue, 4 Aug 2015 06:01:03 +0000 (11:31 +0530)]
networkd: DHCP fix CID 1315105
CID 1315105: Resource leaks (RESOURCE_LEAK)
/src/libsystemd-network/sd-dhcp-server.c: 800 in
dhcp_server_handle_message()
*** CID 1315105: Resource leaks (RESOURCE_LEAK)
/src/libsystemd-network/sd-dhcp-server.c: 800 in
Zbigniew Jędrzejewski-Szmek [Tue, 4 Aug 2015 04:03:55 +0000 (00:03 -0400)]
Update bugtracker address
Daniel Mack [Mon, 3 Aug 2015 18:57:19 +0000 (20:57 +0200)]
Merge pull request #845 from poettering/terminal-o-nonblock
add O_NONBLOCK to terminal handling
Daniel Mack [Mon, 3 Aug 2015 17:26:07 +0000 (19:26 +0200)]
tree-wide: convert some more mfree() candidates
Lennart Poettering [Mon, 3 Aug 2015 17:06:01 +0000 (19:06 +0200)]
terminal-util: no real reason to assert on O_CREAT
That's just handle this as a normal error.
Lennart Poettering [Mon, 3 Aug 2015 17:05:43 +0000 (19:05 +0200)]
terminal-util: cast a couple of ioctl()s to void
Lennart Poettering [Mon, 3 Aug 2015 17:04:08 +0000 (19:04 +0200)]
terminal-util: when resetting terminals, don't wait for carrier
In case of non-CLOCAL lines (i.e. those with carrier detect configured)
we shouldnt wait for a carrier if all we try to do is reset the TTY.
Hence, whenever we open such a TTY pass O_NONBLOCK.
Note that we continue to open ttys we intend to write to without
O_ONBLOCK, we only add it in cases we invoke ioctl()s or other terminal
operations without reading or writing to the device.
Fixes #835.
Tom Gundersen [Mon, 3 Aug 2015 15:58:54 +0000 (17:58 +0200)]
Merge pull request #844 from poettering/clock-boottime2
tree-wide: convert bootchart and lldp code to use clock_boottime_or_m…
Tom Gundersen [Mon, 3 Aug 2015 15:57:26 +0000 (17:57 +0200)]
Merge pull request #843 from poettering/clock-boottime
sd-event: make sure sd_event_now() cannot fail
Lennart Poettering [Mon, 3 Aug 2015 14:43:29 +0000 (16:43 +0200)]
tree-wide: convert bootchart and lldp code to use clock_boottime_or_monotonic()
We should avoid using CLOCK_BOOTTIME directly unless we actually can
sensible distuingish it from CLOCK_MONOTONIC. CLOCK_BOOTTIME is only
fully feature on very recent Linux kernels, hence we should stick to a
fallback logic, which is already available in the
clock_boottime_or_monotonic() call.
Lennart Poettering [Mon, 3 Aug 2015 15:34:54 +0000 (17:34 +0200)]
Merge pull request #840 from systemd-mailing-devs/
1438566907-9544-1-git-send-email-wangkefeng.wang@huawei.com
logind: add standard gpio power button support
Lennart Poettering [Mon, 3 Aug 2015 15:29:09 +0000 (17:29 +0200)]
sd-event: make sure sd_event_now() cannot fail
Previously, if the event loop never ran before sd_event_now() would
fail. With this change it will instead fall back to invoking now(). This
way, the function cannot fail anymore, except for programming error when
invoking it with wrong parameters.
This takes into account the fact that many callers did not handle the
error condition correctly, and if the callers did, then they kept simply
invoking now() as fall back on their own. Hence let's shorten the code
using this call, and make things more robust, and let's just fall back
to now() internally.
Whether now() is used or the cache timestamp may still be detected via
the return value of sd_event_now(). If > 0 is returned, then the fall
back to now() was used, if == 0 is returned, then the cached value was
returned.
This patch also simplifies many of the invocations of sd_event_now():
the manual fall back to now() can be removed. Also, in cases where the
call is invoked withing void functions we can now protect the invocation
via assert_se(), acknowledging the fact that the call cannot fail
anymore except for programming errors with the parameters.
This change is inspired by #841.
Daniel Mack [Mon, 3 Aug 2015 14:32:40 +0000 (16:32 +0200)]
Merge pull request #841 from teg/resolved-exponential-resend
resolved: exponential backoff of packet resend
Tom Gundersen [Mon, 3 Aug 2015 12:25:49 +0000 (14:25 +0200)]
resolved: transaction - increase number of retry attempts
With the exponential backoff, we can perform more requests in the same amount of time,
so bump this a bit.
In case of large RTT this may be necessary in order not to regress, and in case
of large packet-loss it will make us more robust. The latter is particularly
relevant once we start probing for features (and hence may see packet-loss
until we settle on the right feature level).
Tom Gundersen [Tue, 28 Jul 2015 00:32:24 +0000 (02:32 +0200)]
resolved: transaction - exponentially increase retry timeouts
Rather than fixing this to 5s for unicast DNS and 1s for LLMNR, start
at a tenth of those values and increase exponentially until the old
values are reached. For LLMNR the recommended timeout for IEEE802
networks (which basically means all of the ones we care about) is 100ms,
so that should be uncontroversial. For unicast DNS I have found no
recommended value. However, it seems vastly more likely that hitting a
500ms timeout is casued by a packet loss, rather than the RTT genuinely
being greater than 500ms, so taking this as a startnig value seems
reasonable to me.
In the common case this greatly reduces the latency due to normal packet
loss. Moreover, once we get support for probing for features, this means
that we can send more packets before degrading the feature level whilst
still allowing us to settle on the correct feature level in a reasonable
timeframe.
The timeouts are tracked per server (or per scope for the multicast
protocols), and once a server (or scope) receives a successfull package
the timeout is reset. We also track the largest RTT for the given
server/scope, and always start our timouts at twice the largest
observed RTT.
Tom Gundersen [Tue, 28 Jul 2015 00:45:04 +0000 (02:45 +0200)]
resolved: cache - use clock_boottime_or_monotonic()
We cannot rely on CLOCK_BOOTTIME being supported by the kernel, so fallack
to CLOCK_MONOTONIC if the former is not supported.
Daniel Mack [Mon, 3 Aug 2015 07:55:41 +0000 (09:55 +0200)]
Merge pull request #837 from ssahani/dhcp
networkd: fix neworkd crash
Kefeng Wang [Mon, 3 Aug 2015 01:55:07 +0000 (09:55 +0800)]
logind: add standard gpio power button support
Many boards like hisilicon D02 board use standard gpio key to power down system.
A description of gpio-key in dts shown below,
gpio_keys {
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pwrbutton {
label = "Power Button";
gpios = <&porta 8 1>;
linux,code = <116>; // KEY_POWER, used by SC System Power Down
};
};
-bash-4.3# udevadm info -a /dev/input/event3
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/gpio_keys/input/input3/event3':
KERNEL=="event3"
SUBSYSTEM=="input"
DRIVER==""
looking at parent device '/devices/platform/gpio_keys/input/input3':
KERNELS=="input3"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="gpio_keys"
ATTRS{phys}=="gpio-keys/input0"
ATTRS{uniq}==""
ATTRS{properties}=="0"
looking at parent device '/devices/platform/gpio_keys':
KERNELS=="gpio_keys"
SUBSYSTEMS=="platform"
DRIVERS=="gpio-keys"
ATTRS{keys}=="116"
ATTRS{switches}==""
ATTRS{driver_override}=="(null)"
ATTRS{disabled_keys}==""
ATTRS{disabled_switches}==""
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
Daniel Mack [Sun, 2 Aug 2015 20:54:13 +0000 (22:54 +0200)]
Merge pull request #836 from mbiebl/man-fix-typo-systemd-fsck
man: fix typo in systemd-fsck@
Michael Biebl [Sun, 2 Aug 2015 20:22:15 +0000 (22:22 +0200)]
man: fix typo in systemd-fsck@
David Herrmann [Sun, 2 Aug 2015 17:32:21 +0000 (19:32 +0200)]
Merge pull request #834 from namhyung/sdbus-cleanup-v2
sd-bus: Small cleanups (v2)
Namhyung Kim [Sat, 1 Aug 2015 15:59:42 +0000 (00:59 +0900)]
sd-bus: cleanup bus_reset_parsed_address()
Both strv_free() and mfree() return NULL pointer after free.
Namhyung Kim [Sat, 1 Aug 2015 15:59:42 +0000 (00:59 +0900)]
sd-bus: use mfree() in bus_reset_queues()
Recently mfree() was introduced to reduce work of tedious free + reset
pointers. Use it in bus_reset_queues() too.
Namhyung Kim [Sat, 1 Aug 2015 15:35:22 +0000 (00:35 +0900)]
sd-bus: cleanup bus_close_fds()
The safe_close() already checks the fd and returns -1.
Susant Sahani [Sat, 1 Aug 2015 18:46:02 +0000 (00:16 +0530)]
networkd: fix neworkd crash
fix issue #827
hostname should be init to NULL.
Daniel Mack [Sat, 1 Aug 2015 11:39:20 +0000 (13:39 +0200)]
Merge pull request #822 from hobbitalastair/master
hwdb: add resolution information for Dell Vostro 1510 touchpad
Alastair Hughes [Sat, 1 Aug 2015 08:03:51 +0000 (20:03 +1200)]
hwdb: add resolution information for Dell Vostro 1510 touchpad
Dell Vostro 1510, AlpsPS/2 ALPS GlidePoint touchpad.
Relevant issue: #763
Lennart Poettering [Fri, 31 Jul 2015 18:24:47 +0000 (20:24 +0200)]
Merge pull request #813 from dvdhrm/bus-client
busctl: make sure --address connects as bus-client
David Herrmann [Fri, 31 Jul 2015 18:23:19 +0000 (20:23 +0200)]
Merge pull request #812 from zonque/test
Add some more tests
Daniel Mack [Fri, 31 Jul 2015 18:17:33 +0000 (20:17 +0200)]
Merge pull request #814 from dvdhrm/mfree
tree-wide: introduce mfree()
Daniel Mack [Fri, 31 Jul 2015 18:07:11 +0000 (20:07 +0200)]
Merge pull request #815 from poettering/coding-style-for
CODING_STYLE: say that "for (;;)" is better than "while (1)"
David Herrmann [Fri, 31 Jul 2015 17:58:19 +0000 (19:58 +0200)]
busctl: make sure --address connects as bus-client
There is really no reason to use `busctl` to connect to legacy private
bus endpoints. Fix this and make sure `busctl --address=unix:path=/foo`
works!
Lennart Poettering [Fri, 31 Jul 2015 18:00:07 +0000 (20:00 +0200)]
CODING_STYLE: say that "for (;;)" is better than "while (1)"
Daniel Mack [Thu, 30 Jul 2015 20:29:59 +0000 (22:29 +0200)]
test-socket-util: add test for in_addr_is_null()
Daniel Mack [Thu, 30 Jul 2015 20:10:05 +0000 (22:10 +0200)]
test-util: add more tests
Add tests for safe_ato[iu]16() and some more unbase32hexmem() torture.
Daniel Mack [Thu, 30 Jul 2015 19:07:25 +0000 (21:07 +0200)]
test: add test for static lists
Test af-list and arphdr-list.
David Herrmann [Fri, 31 Jul 2015 17:56:38 +0000 (19:56 +0200)]
tree-wide: introduce mfree()
Pretty trivial helper which wraps free() but returns NULL, so we can
simplify this:
free(foobar);
foobar = NULL;
to this:
foobar = mfree(foobar);
Daniel Mack [Fri, 31 Jul 2015 17:40:57 +0000 (19:40 +0200)]
Merge pull request #811 from namhyung/busctl-misc-v2
busctl: Misc cleanups and a fix (v2)
Daniel Mack [Fri, 31 Jul 2015 17:21:51 +0000 (19:21 +0200)]
Merge pull request #810 from mamikk/bitmap-fixes-v2
Bitmap fixes v2
Namhyung Kim [Fri, 31 Jul 2015 15:44:07 +0000 (00:44 +0900)]
busctl: fix assertion failure on --size option
Using --size option triggers an assert failure below because
parse_size() requires the second argument, base, being either 1000 or
1024. As it's for a packet size, it'd be better using IEC binary
suffix (base 1024) IMHO.
$ busctl --size 2048
Assertion 'base == 1000 || base == 1024' failed at src/basic/util.c:2222,
function parse_size(). Aborting.
Aborted (core dumped)
Namhyung Kim [Fri, 31 Jul 2015 15:38:22 +0000 (00:38 +0900)]
busctl: add missing description of --size option
The size option was to specify maximum captured patch length but was
missing its description in the command line help. Add it.
Namhyung Kim [Fri, 31 Jul 2015 15:23:47 +0000 (00:23 +0900)]
busctl: add and use strcmp_ptr()
In member_compare_func(), it compares interface, type and name of
members. But as it can contain NULL pointer, it needs to check them
before calling strcmp(). So make it as a separate strcmp_ptr
function (named after streq_ptr) so that it can be used by others.
Also let streq_ptr() to use it in order to make the code simpler.
Marcel Holtmann [Fri, 31 Jul 2015 17:12:24 +0000 (19:12 +0200)]
hwdb: Update database of Bluetooth company identifiers
Martin Mikkelsen [Fri, 31 Jul 2015 17:01:34 +0000 (19:01 +0200)]
bitmap: make bitmap_clear free the bitmap array
Given two bitmaps and the following code:
Bitmap *a = bitmap_new(), *b = bitmap_new();
bitmap_set(a, 1);
bitmap_clear(a);
bitmap_set(a, 0);
bitmap_set(b, 0);
These two bitmaps should now have the same bits set and they should be
equal but bitmap_equal() will return false in this case because while
bitmap_clear() resets the number of elements in the array it does not
clear the array and bitmap_set() expects the array to be cleared.
GREEDY_REALLOC0 looks at the allocated size and not the actual size so
it does not clear any memory.
Fix this by freeing the allocated memory and resetting the whole Bitmap
to an initial state in bitmap_clear().
This also adds test code for this issue.
Martin Mikkelsen [Fri, 31 Jul 2015 16:56:35 +0000 (18:56 +0200)]
bitmap: fix bitmap_equal on bitmaps with unset bits
Given two bitmaps and the following code:
Bitmap *a = bitmap_new(), *b = bitmap_new();
bitmap_set(a, 0);
bitmap_unset(a, 0);
These two bitmaps should now have the same bits set and they should be
equal but bitmap_equal() will return false in this case because the
bitmaps array in a is larger because of the bit which was previously
set.
Fix this by comparing only the bits which exists in both bitmaps and
then check that the rest of the bits (if any) is all zero.
This also adds test code for this issue.
David Herrmann [Fri, 31 Jul 2015 16:56:38 +0000 (18:56 +0200)]
bus-proxy: allow empty arguments to UpdateActivationEnvironment()
There is no reason to prevent empty argument lists on
UpdateActivationEnvironment(). Make sure we don't fail, but still skip
the call to pid1.
David Herrmann [Fri, 31 Jul 2015 16:21:19 +0000 (18:21 +0200)]
NEWS: update
Add new functionality and behavior changes to NEWS for the imminent bugfix
release 224.