Tom Gundersen [Mon, 22 Feb 2016 16:38:34 +0000 (17:38 +0100)]
Merge pull request #2685 from poettering/lldp-fixes2
lldp fixes, second iteration
Lennart Poettering [Mon, 22 Feb 2016 15:16:05 +0000 (16:16 +0100)]
Merge pull request #2695 from mustrumr/fix-calendarspec-skip
calendarspec: fix find_next skipping times
Zbigniew Jędrzejewski-Szmek [Mon, 22 Feb 2016 13:59:39 +0000 (08:59 -0500)]
Merge pull request #2692 from ssahani/tunnel
networkd: tunnel fix tunnel address
Lennart Poettering [Mon, 22 Feb 2016 13:33:27 +0000 (14:33 +0100)]
Merge pull request #2694 from zonque/proxyarp-missing
missing.h: Explicitly check for IFLA_BRPORT_PROXYARP
Hristo Venev [Mon, 22 Feb 2016 13:02:48 +0000 (08:02 -0500)]
calendarspec: fix find_next skipping times
reset usec when bumping hours/minutes
Daniel Mack [Mon, 22 Feb 2016 12:10:16 +0000 (13:10 +0100)]
missing.h: Explicitly check for IFLA_BRPORT_PROXYARP
RHEL explicitly disables IFLA_BRPORT_PROXYARP by renaming the enum value.
In order to support unpatched builds, we have two options:
a) redefine the enum value through missing.h and ignore the fact that it
is really unsupported, or
b) omit that enum value on rtnl_prot_info_bridge_port_types[]
As we are not actually using this netlink type anywhere, and because it
is only hooked up for the sake of completeness, this patch opts for the
former.
Daniel Mack [Mon, 22 Feb 2016 08:59:07 +0000 (09:59 +0100)]
Merge pull request #2687 from poettering/resolved-fix-2683
networkd: make sure we allocate the NTA set before we add items to it
Daniel Mack [Mon, 22 Feb 2016 08:58:23 +0000 (09:58 +0100)]
Merge pull request #2686 from poettering/github-templates
add github issue template
Zbigniew Jędrzejewski-Szmek [Mon, 22 Feb 2016 02:29:41 +0000 (21:29 -0500)]
Merge pull request #2688 from poettering/calendar-fix-2678
A fix for #2678
Lennart Poettering [Sun, 21 Feb 2016 22:27:20 +0000 (23:27 +0100)]
util-lib: fix returned error code
Make sure we propagate errors properly.
Lennart Poettering [Sun, 21 Feb 2016 22:25:38 +0000 (23:25 +0100)]
util-lib: add (void) cast to indicate that we don't care about the normalization success
After all, we verify that every calendar part is not out of bounds later on,
and it's fully OK if the normalization has no effect.
Lennart Poettering [Sun, 21 Feb 2016 21:27:01 +0000 (22:27 +0100)]
networkd: make sure we allocate the NTA set before we add items to it
See: #2683
Lennart Poettering [Sun, 21 Feb 2016 20:35:50 +0000 (21:35 +0100)]
Merge pull request #2650 from vcaputo/async_fsync
Perform journal offlines asynchronously when possible
Lennart Poettering [Sun, 21 Feb 2016 20:22:55 +0000 (21:22 +0100)]
Merge pull request #2681 from keszybz/udev-rules
udev-rules cleanup and coverity warning silencing
Lennart Poettering [Sun, 21 Feb 2016 20:15:17 +0000 (21:15 +0100)]
github: add a basic issue template
As documented here:
https://help.github.com/articles/creating-an-issue-template-for-your-repository/
Lennart Poettering [Sun, 21 Feb 2016 20:05:02 +0000 (21:05 +0100)]
github: move CONTRIBUTING.md into .github subdirectory
As suggested by:
https://github.com/blog/2111-issue-and-pull-request-templates
Lennart Poettering [Sun, 21 Feb 2016 19:58:01 +0000 (20:58 +0100)]
man: document the new EmitLLDP= .network setting
Also, beef up the LLDP documentation a bit.
Lennart Poettering [Thu, 18 Feb 2016 21:54:57 +0000 (22:54 +0100)]
update TODO
Lennart Poettering [Sun, 21 Feb 2016 19:38:39 +0000 (20:38 +0100)]
sd-lldp: beef up callback logic
Instead of just notifying about the fact that something changed in the
database, actually inform the callback what precisely changed. This is useful,
so that the LLDP tx logic can be put into "fast" mode as soon as a previously
unknown peer appears, as suggested by the LLDP spec.
Lennart Poettering [Sun, 21 Feb 2016 13:31:51 +0000 (14:31 +0100)]
networkctl: ellipsize long LLDP fields in table output
Lennart Poettering [Sun, 21 Feb 2016 13:27:06 +0000 (14:27 +0100)]
networkctl: add missing newline to printf() format string
Lennart Poettering [Sun, 21 Feb 2016 13:06:08 +0000 (14:06 +0100)]
network: turn on LLDP tx+rx for the default container network configuration
Containers are relatively trusted and the veth tunnels are small networks,
hence let's turn on LLDP both ways for them.
Lennart Poettering [Sun, 21 Feb 2016 13:14:08 +0000 (14:14 +0100)]
networkd: add basic LLDP transmission support
Let's add some minimalistic LLDP sender support. The idea is that this is
either on or off, and all fields determined automatically rather than
configured explicitly.
Lennart Poettering [Sun, 21 Feb 2016 13:11:34 +0000 (14:11 +0100)]
sd-lldp: filter out LLDP messages coming from our own MAC address
Let's not get confused should we be connected to some bridge that mirrors back
our packets.
Lennart Poettering [Sat, 20 Feb 2016 23:10:55 +0000 (00:10 +0100)]
import: don't claim we had copied a settings file if we didn't
Lennart Poettering [Sat, 20 Feb 2016 22:45:19 +0000 (23:45 +0100)]
man: update references to fedora cloud image
We are now at F23, hence let's use that as example.
Lennart Poettering [Sat, 20 Feb 2016 22:27:57 +0000 (23:27 +0100)]
networkd: make a couple of functions static
These functions are nowadays used only within networkd-link.c, hence ther's no
point in littering our public namespace with them.
Lennart Poettering [Sat, 20 Feb 2016 21:35:02 +0000 (22:35 +0100)]
networkd: rework when LLDP reception is enabled
Being on the link-layer LLDP is nothing we should turn on only when there's a
link beat. Instead, turn it on, whenever the iface is UP regardless if there's
a link beat or not. This closes the race between a link beat being available
and us subscribing to LLDP as a result.
Lennart Poettering [Sat, 20 Feb 2016 21:25:43 +0000 (22:25 +0100)]
networkctl: print a nice warning when networkd isn't running
Lennart Poettering [Sat, 20 Feb 2016 21:12:14 +0000 (22:12 +0100)]
networkctl: if there's no data from networkd about an iface show as "unmanaged"
After all, if we know that an interface exists but networkd did not store any
info about it, then it's definitely unmanaged by it.
(Note that we add this fix-up to networkctl, and not to sd-network, simply
because a missing file might also be result of the interface not existing.)
Lennart Poettering [Sat, 20 Feb 2016 21:06:12 +0000 (22:06 +0100)]
sd-network: use xsprintf() instead of asprintf() where we can
Lennart Poettering [Sat, 20 Feb 2016 20:34:38 +0000 (21:34 +0100)]
networkctl: add a couple of (void) casts
Where we knowingly ignore possible error results, let's cast to void.
Lennart Poettering [Fri, 19 Feb 2016 19:43:03 +0000 (20:43 +0100)]
networkd: rework how carrier bindings are serialized
Instead of serializing the interface name, expose the interface index, since
that's the only stable identifier.
Lennart Poettering [Fri, 19 Feb 2016 18:59:32 +0000 (19:59 +0100)]
networkd: turn on LLDP reception by default, in "routers-only" mode
This way "networkctl status" becomes a bit more useful by default, as router
information is just visible, without any further configuration.
LLDP reception is fully passive and relatively low simple and low traffic,
hence this should be safe to enable by default.
Lennart Poettering [Fri, 19 Feb 2016 18:50:14 +0000 (19:50 +0100)]
networkctl: extend "networkctl status" per-interface output to include LLDP info
This adds a small and useful field to the "systemctl status" output: the
router(s) the interface is connected to as reported via LLDP. Example output:
● 2: enp0s25
Link File: /usr/lib/systemd/network/99-default.link
Type: ether
State: degraded (configured)
Path: pci-0000:00:19.0
Driver: e1000e
Connected To: GS1900 on port 2 (foobar)
i.e. the last line is the relevant one.
Lennart Poettering [Fri, 19 Feb 2016 18:24:16 +0000 (19:24 +0100)]
networkctl: make use of xsprintf() where we can
Lennart Poettering [Fri, 19 Feb 2016 18:21:30 +0000 (19:21 +0100)]
networkctl: simplify networkctl
Move decode_and_sort_links() into acquire_info_all() which is the only place
this is used. The result is then nicely symmetric to acquire_info_strv().
Lennart Poettering [Fri, 19 Feb 2016 18:18:12 +0000 (19:18 +0100)]
networkctl: rework interface data acquisition
Let's always use the same calls to acquire interface data. Specifically port
"networkctl status" to use acquire_link_info_strv() and acquire_link_info_all()
like the other calls.
Lennart Poettering [Fri, 19 Feb 2016 17:57:11 +0000 (18:57 +0100)]
networkctl: extend "networkctl list" and "networctl lldp" to optionally take interface names
This way, the output may be reduced to only show data about the specified
interfaces.
Lennart Poettering [Fri, 19 Feb 2016 17:26:18 +0000 (18:26 +0100)]
networkctl: add new call that unifies link data acquisition between "status" and "lldp" verbs
Lennart Poettering [Fri, 19 Feb 2016 17:21:17 +0000 (18:21 +0100)]
networkctl: fix dispatch_verb() table
VERB_DEFAULT may only appear once.
Lennart Poettering [Fri, 19 Feb 2016 17:20:40 +0000 (18:20 +0100)]
networkctl: split out system status stuff into its own function
Lennart Poettering [Fri, 19 Feb 2016 16:58:52 +0000 (17:58 +0100)]
sd-lldp: rework sd-lldp API
This reworks the sd-lldp substantially, simplifying things on one hand, and
extending the logic a bit on the other.
Specifically:
- Besides the sd_lldp object only one other object is maintained now,
sd_lldp_neighbor. It's used both as storage for literal LLDP packets, and for
maintainging info about peers in the database. Separation between packet, TLV
and chassis data is not maintained anymore. This should be a major
simplification.
- The sd-lldp API has been extended so that a couple of per-neighbor fields may
be queried directly, without iterating through the object. Other fields that
may appear multiple times, OTOH have to be iterated through.
- The maximum number of entries in the neighbor database is now configurable
during runtime.
- The generation of callbacks from sd_lldp objects is more restricted:
callbacks are only invoked when actual data changed.
- The TTL information is now hooked with a timer event, so that removals from
the neighbor database due to TTLs now result in a callback event.
- Querying LLDP neighbor database will now return a strictly ordered array, to
guarantee stability.
- A "capabilities" mask may now be configured, that selects what type of LLDP
neighbor data is collected. This may be used to restrict collection of LLDP
info about routers instead of all neighbors. This is now exposed via
networkd's LLDP= setting.
- sd-lldp's API to serialize the collected data to text files has been removed.
Instead, there's now an API to extract the raw binary data from LLDP neighbor
objects, as well as one to convert this raw binary data back to an LLDP
neighbor object. networkd will save this raw binary data to /run now, and the
client side can simply parse the information.
- support for parsing the more exotic TLVs has been removed, since we are not
using that. Instead there are now APIs to extract the raw data from TLVs.
Given how easy it is to parse the TLVs clients should do so now directly
instead of relying on our APIs for that.
- A lot of the APIs that parse out LLDP strings have been simplified so that
they actually return strings, instead of char arrays with a length. To deal
with possibly dangerous characters the strings are escaped if needed.
- APIs to extract and format the chassis and port IDs as strings has been
added.
- lldp.h has been simplified a lot. The enums are anonymous now, since they
were never used as enums, but simply as constants. Most definitions we don't
actually use ourselves have eben removed.
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 15:04:36 +0000 (10:04 -0500)]
udev-rules: use _cleanup_ for fclose
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 05:26:32 +0000 (00:26 -0500)]
udev-rules: make error messages about rules more uniform
Also downgrade non-fatal warnings to log_warning.
Previously rule_add_key() would check the output array and log a cryptic
error and return -1. Most of the time the return value was ignored. This
does not seems right, because the buffer can overflow with enough rules.
It would also check if we have enough space for the *next* rule, even if
there might be not next rule, i.e. off-by-one.
Replace this with a check that we have enough space for a next rule before
we start parsing.
Normally using macros to alter flow is not allowed, but in this case I
think it is worth it, because it allows lots of boilerplate code to be
removed and hides repeated boring parameters, making function logic much
easier to follow.
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 04:00:45 +0000 (23:00 -0500)]
udev-rules: rewrite function to avoid clobbering arguments
If the attribute wasn't found, the last filename looked at was returned in
the input/output argument. This just seems bad style.
The return value was ignored, so change function to return void.
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 01:40:41 +0000 (20:40 -0500)]
udev-rules: modernize syntax a bit
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 01:09:34 +0000 (20:09 -0500)]
udev-rules: log_oom() on memory error and abort processing of event
CID #1313566.
Also, change the return value to void, because it is ignored anyway.
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 00:16:01 +0000 (19:16 -0500)]
sd-device: use (void) before set_iterate calls
set_iterate sets the output argument to NULL on error, and the return
value is not used in this case.
CID #1306804-09.
Zbigniew Jędrzejewski-Szmek [Sun, 21 Feb 2016 00:10:38 +0000 (19:10 -0500)]
time-util: check for overflow in conversion from ts to nsec_t
CID #1320855.
Lennart Poettering [Thu, 18 Feb 2016 21:51:23 +0000 (22:51 +0100)]
core: exclude .slice units from "systemctl isolate"
Fixes: #1969
Lennart Poettering [Thu, 18 Feb 2016 21:49:48 +0000 (22:49 +0100)]
networkd: fix logging of error codes
Lennart Poettering [Thu, 18 Feb 2016 21:49:02 +0000 (22:49 +0100)]
networkd: enable LLDP only on ethernet
Lennart Poettering [Thu, 18 Feb 2016 21:47:34 +0000 (22:47 +0100)]
sd-netlink: fix ifi_iftype type
The iftype is an unsigned short, and not just an unsigned.
Lennart Poettering [Thu, 18 Feb 2016 21:45:22 +0000 (22:45 +0100)]
sd-lldp: fix how we create the LLDP listening socket
Specifiy the ethernet family, and make sure we se the O_CLOEXEC and O_NONBLOCK
bits how we should for all fds.
Lennart Poettering [Tue, 16 Feb 2016 19:05:15 +0000 (20:05 +0100)]
tree-wide: place #pragma once at the same place everywhere
Usually, we place the #pragma once before the copyright blurb in header files,
but in a few cases we didn't. Move those around, so that we do the same thing
everywhere.
Lennart Poettering [Tue, 16 Feb 2016 18:47:25 +0000 (19:47 +0100)]
sd-lldp: simplify lldp_network_bind_raw_socket() a bit
Let's constify the filter program, drop a few includes and structure
definitions.
Lennart Poettering [Tue, 16 Feb 2016 18:46:28 +0000 (19:46 +0100)]
sd-lldp: move ETHERTYPE_LLDP to missing.h
After all, most ETHERTYPE variables are defined in the system headers, hence
define these where we defined all other fill-ins for system headers.
Lennart Poettering [Tue, 16 Feb 2016 18:36:47 +0000 (19:36 +0100)]
test-lldp: fix error checking expressions
Lennart Poettering [Tue, 16 Feb 2016 18:33:36 +0000 (19:33 +0100)]
libsystemd-network: sd-event uses 64bit priorities, expose them in the APIs as such
Lennart Poettering [Tue, 16 Feb 2016 18:26:40 +0000 (19:26 +0100)]
sd-lldp: drop "port" object
Let's just keep the few parts we actually need of it in the main sd_lldp
object, so that we can simplify things quite a bit.
While we are at it, remove ifname and mac fields which we make no use of
whatsoever.
Lennart Poettering [Tue, 16 Feb 2016 18:05:35 +0000 (19:05 +0100)]
sd-lldp: drop keeping of statistics
We don't expose them, and they are only of questionnable use.
Lennart Poettering [Tue, 16 Feb 2016 17:58:51 +0000 (18:58 +0100)]
libsystemd-network: don't abbreviate "callback" as "cb" needlessly
This isn't an excercise in creating APIs that are hard to understand, hence
let's call a callback a callback.
Lennart Poettering [Tue, 16 Feb 2016 17:56:37 +0000 (18:56 +0100)]
sd-lldp: drop state field
There's really no point in maintaining a state, the state machine is trivial,
and we actually never look at the state anyway, we just keep updating it.
Zbigniew Jędrzejewski-Szmek [Sat, 20 Feb 2016 21:28:42 +0000 (16:28 -0500)]
test-siphash24: add a test for concatenating very short buffers
coverity seems to think that our siphash code can read past the
end of a short buffer. Add a test which adds very short buffers
with different combinations of length to the hash. Hashing is done
twice, once with zeros following "data", and once with some other
bytes following "data". The two results are then compared to
verify that the result does not depend on bytes past the specified
data length.
(This test passes.)
Susant Sahani [Sat, 20 Feb 2016 12:33:31 +0000 (18:03 +0530)]
networkd: tunnel fix tunnel address
this fixes 2655
Daniel Mack [Sat, 20 Feb 2016 11:27:48 +0000 (12:27 +0100)]
Merge pull request #2675 from samueltardieu/llmnr-typo
Fix typo on systemd-resolved log message
Samuel Tardieu [Sat, 20 Feb 2016 07:54:57 +0000 (08:54 +0100)]
systemd-resolved: fix typo on log message
Vito Caputo [Thu, 18 Feb 2016 01:37:10 +0000 (17:37 -0800)]
journal: defer journal closes on rotate
When we rotate journals, we must set offline and close the current one,
but don't generally need to wait for this to complete.
Instead, we'll initiate an asynchronous offline via
journal_file_set_offline(oldfile, false), and add the file to a
per-server set of deferred closes to be closed later when they
won't block.
There's one complication however; journal_file_open() via
journal_file_verify_header() assumes that any writable journal in the
online state is the product of an unclean shutdown or other form of
corruption.
Thus there's a need for journal_file_open() to be aware of deferred
closes and synchronize with their completion when opening preexisting
journals for writing. To facilitate this the deferred closes set is
supplied to the journal_file_open() function where the deferred closes
may be closed synchronously before verifying the header in such
circumstances.
Vito Caputo [Fri, 12 Feb 2016 12:59:57 +0000 (04:59 -0800)]
journal: asynchronous journal_file_set_offline()
This adds a wait flag to journal_file_set_offline(), when false the offline is
performed asynchronously in a separate thread.
When wait is true, if an asynchronous offline is already in-progress it is
restarted and waited for. Otherwise the offline is performed synchronously
without the use of a thread.
journal_file_set_online() cancels or waits for the asynchronous offline to
complete if in-flight, depending on where in the offline process the thread
happens to be. If the thread is in the fsync() phase, it is cancelled and
waiting is unnecessary. Otherwise, the thread is joined before proceeding.
A new offline_state member is added to JournalFile which is used via
atomic operations for communicating between the offline thread and the
journal_file_set_{offline,online}() functions.
Vito Caputo [Sat, 20 Feb 2016 00:51:41 +0000 (16:51 -0800)]
journal: add void cast to journal_file_close() calls
Vito Caputo [Sat, 20 Feb 2016 00:36:27 +0000 (16:36 -0800)]
journal: add void cast to fsync() calls
Zbigniew Jędrzejewski-Szmek [Fri, 19 Feb 2016 20:18:40 +0000 (15:18 -0500)]
Merge pull request #2666 from keszybz/coverity-fixes
Coverity fixes
Zbigniew Jędrzejewski-Szmek [Fri, 19 Feb 2016 20:13:03 +0000 (15:13 -0500)]
Merge pull request #2670 from hbrueckner/for-upstream
udev/path_id: correct segmentation fault due to missing NULL check
Daniel Mack [Fri, 19 Feb 2016 14:52:43 +0000 (15:52 +0100)]
Merge pull request #2668 from samueltardieu/systemd-resolve-manual-typo
Fix typo in systemd-resolve man page
Hendrik Brueckner [Fri, 19 Feb 2016 14:21:18 +0000 (15:21 +0100)]
udev/path_id: correct segmentation fault due to missing NULL check
Running "udevadm test-builtin path_id /sys/devices/platform/" results
in a segmentation fault.
The problem is that udev_device_get_subsystem(dev) might return NULL
in a streq() call. Solve this problem by using streq_ptr() instead.
Samuel Tardieu [Fri, 19 Feb 2016 13:42:38 +0000 (14:42 +0100)]
systemd-resolve: fix typo in man page
Zbigniew Jędrzejewski-Szmek [Fri, 19 Feb 2016 12:35:35 +0000 (07:35 -0500)]
Use (void) to silenc coverity on proc title changes
This is a cosmetic best-effort thing anyway.
Zbigniew Jędrzejewski-Szmek [Fri, 19 Feb 2016 12:27:43 +0000 (07:27 -0500)]
resolved: fix NULL dereference in debug stmt
CID #1351544, #1351545.
Daniel Mack [Fri, 19 Feb 2016 11:29:23 +0000 (12:29 +0100)]
Merge pull request #2661 from nwmcsween/nwmcsween
Include and internal struct member fixes.
Daniel Mack [Fri, 19 Feb 2016 11:23:43 +0000 (12:23 +0100)]
Merge pull request #2660 from keszybz/memleaks-and-ubsan
Memleaks and ubsan
Daniel Mack [Fri, 19 Feb 2016 11:19:18 +0000 (12:19 +0100)]
Merge pull request #2662 from keszybz/activate-setenv
activate: fix -E option parsing
Martin Pitt [Fri, 19 Feb 2016 06:50:50 +0000 (07:50 +0100)]
Merge pull request #2648 from keszybz/dnssec-work
Better support for DANE, shell completion
Zbigniew Jędrzejewski-Szmek [Fri, 19 Feb 2016 02:54:31 +0000 (21:54 -0500)]
activate: fix -E option parsing
Fixes #2658.
Zbigniew Jędrzejewski-Szmek [Tue, 16 Feb 2016 18:15:34 +0000 (13:15 -0500)]
time-util: rewrite check in a way that does not confuse gcc
gcc thinks that multiplier might be unitialized. Split out the inner
loop to make the function easier to grok.
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 23:59:27 +0000 (18:59 -0500)]
test-hashmap: fix undefined behaviour on string constants
The test was failing at -O2+ with gcc 5.3 and 6.0.
"val1" == "val1" and "val1" != "val1" are both valid.
http://stackoverflow.com/questions/4843640/why-is-a-a-in-c
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 22:37:17 +0000 (17:37 -0500)]
journal/catalog: fix memory leaks
Various buffers were lost because finish_item() either consumed
the buffer or allocated a new one (if an entry with the same key existed).
The caller would simply forget the buffer in either case.
Also add a check for the case when a valid identifier is followed by
an empty body. We should not allow this.
Also be more consistent in error handling and always print an error
message.
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 22:33:10 +0000 (17:33 -0500)]
basic/strbuf: do not call bsearch with a null argument
Das ist verboten!
src/basic/strbuf.c:162:23: runtime error: null pointer passed as argument 2,
which is declared to never be null
Nathan McSween [Thu, 18 Feb 2016 23:35:22 +0000 (23:35 +0000)]
Don't use internal struct member names
Nathan McSween [Thu, 18 Feb 2016 23:34:30 +0000 (23:34 +0000)]
Remove/add (un)needed includes
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 20:32:22 +0000 (15:32 -0500)]
Merge pull request #2644 from 0xAX/check-alloc-overflow-macro
alloc-util: extract overflow check into inline function
Alexander Kuleshov [Tue, 16 Feb 2016 17:51:43 +0000 (23:51 +0600)]
alloc-util: cleanups
This patch contains a set of little cleanups for alloc-util.h:
1. The malloc_multiply(), realloc_multiply() and memdup_multiply()
functions check allocation related parameters on overflow. Let's
move them to the separate size_multiply_overflow() function for
simplicity, code duplication prevention and possible reuse in future.
2. use SIZE_MAX from stdlib instead of ((size_t) - 1) to be more
clear.
3. The 'a'/'b' variables are renamed to 'size' and 'need' to be
more clear.'
Martin Pitt [Thu, 18 Feb 2016 18:20:14 +0000 (19:20 +0100)]
Merge pull request #2621 from keszybz/wheel-group
build-sys: allow wheel group name to be specified
Zbigniew Jędrzejewski-Szmek [Tue, 16 Feb 2016 23:17:01 +0000 (18:17 -0500)]
systemd-resolve: initial shell completion
v2:
- use /sys/class/net to list interfaces,
also copy the same code to systemd-nspawn
v3:
- do not propose "any" twice for --type
Zbigniew Jędrzejewski-Szmek [Wed, 17 Feb 2016 01:55:23 +0000 (20:55 -0500)]
resolve: also allow SSHFP payload to be exported
Zbigniew Jędrzejewski-Szmek [Wed, 17 Feb 2016 01:36:10 +0000 (20:36 -0500)]
resolve: print TLSA packets in hexadecimal
https://tools.ietf.org/html/rfc6698#section-2.2 says:
> The certificate association data field MUST be represented as a string
> of hexadecimal characters. Whitespace is allowed within the string of
> hexadecimal characters
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 02:08:57 +0000 (21:08 -0500)]
systemd-resolve: easy querying of TLSA records
$ systemd-resolve --tlsa fedoraproject.org
_443._tcp.fedoraproject.org IN TLSA 0 0 1 GUAL5bejH7czkXcAeJ0vCiRxwMnVBsDlBMBsFtfLF8A=
-- Cert. usage: CA constraint
-- Selector: Full Certificate
-- Matching type: SHA-256
$ systemd-resolve --tlsa=tcp fedoraproject.org:443
_443._tcp.fedoraproject.org IN TLSA 0 0 1 GUAL5bejH7czkXcAeJ0vCiRxwMnVBsDlBMBsFtfLF8A=
...
$ systemd-resolve --tlsa=udp fedoraproject.org
_443._udp.fedoraproject.org: resolve call failed: '_443._udp.fedoraproject.org' not found
v2:
- use uint16_t
- refuse port 0
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 15:24:16 +0000 (10:24 -0500)]
Merge pull request #2646 from evverx/fix-2637
Fix #2637 (doubled specifier expansion in ExecStart=)
Martin Pitt [Thu, 18 Feb 2016 15:11:03 +0000 (16:11 +0100)]
Merge pull request #2653 from keszybz/test-dns-domain
build-sys: remove duplicated entry in tests
Zbigniew Jędrzejewski-Szmek [Thu, 18 Feb 2016 13:30:18 +0000 (08:30 -0500)]
build-sys: remove duplicated entry in tests
test-dns-domain should be built and run even without ENABLE_RESOLVED.