Tom Gundersen [Mon, 20 Jul 2015 14:01:03 +0000 (16:01 +0200)]
shared: dns-name - introduce dns_label_unescape_suffix()
Intended to be called repeatedly, and returns then successive unescaped labels
from the most to the least significant (left to right).
This is slightly inefficient as it scans the string three times (two would be
sufficient): once to find the end of the string, once to find the beginning
of each label and lastly once to do the actual unescaping. The latter two
could be done in one go, but that seemed unnecessarily convoluted.
Daniel Mack [Mon, 27 Jul 2015 19:34:28 +0000 (21:34 +0200)]
NEWS: follow VNetHeader rename
VnetHeader was renamed to VNetHeader just now. Update NEWS accordingly.
Daniel Mack [Mon, 27 Jul 2015 19:34:11 +0000 (21:34 +0200)]
Merge pull request #744 from poettering/vnethdr-fix
networkd: capitalize VNetHeader= as VnetHeader=
Lennart Poettering [Mon, 27 Jul 2015 19:16:27 +0000 (21:16 +0200)]
Merge pull request #746 from teg/resolved-connect-udp
resolved: UDP fixes
Tom Gundersen [Thu, 23 Jul 2015 16:45:49 +0000 (18:45 +0200)]
util: base32hex - explain distinction with base32
Tom Gundersen [Sat, 25 Jul 2015 03:14:08 +0000 (05:14 +0200)]
resolved: transaction - don't explicitly verify packet source
This is handled by the kernel now that the socket is connect()ed.
Tom Gundersen [Sat, 25 Jul 2015 03:12:49 +0000 (05:12 +0200)]
resolved: transaction - don't unref server when creating TCP socket
This was a bug.
Tom Gundersen [Sat, 25 Jul 2015 03:11:34 +0000 (05:11 +0200)]
resolved: scope - write() unicast DNS packets
As we have connect()ed to the desired DNS server, we no longer need to pass
control messages manually when sending packets. Simplify the logic accordingly.
Tom Gundersen [Wed, 15 Jul 2015 17:22:29 +0000 (19:22 +0200)]
resolved: transaction - introduce dns_transaction_emit()
This function emits the UDP packet via the scope, but first it will
determine the current server (and connect to it) and store the
server in the transaction.
This should not change the behavior, but simplifies the code.
Lennart Poettering [Mon, 27 Jul 2015 18:24:31 +0000 (20:24 +0200)]
networkd: capitalize VNetHeader= as VnetHeader=
Even when we use shortened, combined words, we still should uppercase
where a new word starts. I couldn't find a canonically capitalized
version of this term, hence I think we should follow our naming rules
here.
Tom Gundersen [Mon, 27 Jul 2015 18:18:43 +0000 (20:18 +0200)]
resolved: transaction - move a couple of functions
No functional change, but makes follow-up patch clearer.
Tom Gundersen [Wed, 15 Jul 2015 17:22:29 +0000 (19:22 +0200)]
resolved: transaction - move DNS UDP socket creation to the scope
With access to the server when creating the socket, we can connect()
to the server and hence simplify message sending and receiving in
follow-up patches.
Tom Gundersen [Sat, 25 Jul 2015 02:45:26 +0000 (04:45 +0200)]
resolved: transaction - close socket when changing server
Close the socket when changing the server in a transaction, in
order for it to be reopened with the right server when we send
the next packet.
This fixes a regression where we could get stuck with a failing
server.
Tom Gundersen [Sat, 25 Jul 2015 02:38:25 +0000 (04:38 +0200)]
resolved: transaction - don't request PKTINFO for unicast DNS
This was only ever used by LLMNR, so don't request this for unicast DNS packets.
Tom Gundersen [Wed, 15 Jul 2015 16:48:17 +0000 (18:48 +0200)]
resloved: transaction - unify IPv4 and IPv6 sockets
A transaction can only have one socket at a time, so no need to distinguish these.
David Herrmann [Tue, 21 Jul 2015 10:59:56 +0000 (12:59 +0200)]
sd-bus: fix path of object-manager signals
Each signal of the ObjectManager interface carries the path of the object
in question as an argument. Therefore, a caller will deduce the object
this signal is generated for, by parsing the _argument_. A caller will
*not* use the object-path of the message itself (i.e., message->path).
This is done on purpose, so the caller can rely on message->path to be
the path of the actual object-manager that generated this signal, instead
of the path of the object that triggered this signal.
This commit fixes all InterfacesAdded/Removed signals to use the path of
the closest object-manager as message->path. 'closest' in this case means
closest parent with at least one object-manager registered.
This fix raises the question what happens if we stack object-managers in
a hierarchy. Two implementations are possible: First, we report each
object only on the nearest object-manager. Second, we report it on each
parent object-manager. This patch chooses the former. This is compatible
with other existing ObjectManager implementations, which are required to
call GetManagedObjects() recursively on each object they find, which
implements the ObjectManager interface.
Daniel Mack [Mon, 27 Jul 2015 17:09:22 +0000 (19:09 +0200)]
NEWS: group systemd-networkd items
… for better readability.
Kay Sievers [Mon, 27 Jul 2015 16:20:54 +0000 (18:20 +0200)]
NEWS: fix typos
Daniel Mack [Mon, 27 Jul 2015 16:18:16 +0000 (18:18 +0200)]
Merge pull request #738 from poettering/machined-caps
units: add more caps to machined
David Herrmann [Mon, 27 Jul 2015 16:13:37 +0000 (18:13 +0200)]
NEWS: add entries for v223
New features and API changes for v223. Please review carefully and amend!
Lennart Poettering [Mon, 27 Jul 2015 15:45:45 +0000 (17:45 +0200)]
units: add more caps to machined
Otherwise copying full directory trees between container and host won't
work, as we cannot access some fiels and cannot adjust the ownership
properly on the destination.
Of course, adding these many caps to the daemon kinda defeats the
purpose of the caps lock-down... but well...
Fixes #433
Daniel Mack [Mon, 27 Jul 2015 13:41:53 +0000 (15:41 +0200)]
bus-proxy: augment debug message for dropped broadcasts a bit
Add the PID we are proxying for, as well as the message's sender and
destination string, to the debug message that is printed when the proxy
drops unmatched broadcasts.
Martin Pitt [Sun, 26 Jul 2015 13:37:42 +0000 (15:37 +0200)]
networkd-wait-online: fix -i argument
-i (aka --interface) takes an argument. Tell getopt_long() that, so that optarg
isn't NULL.
Kay Sievers [Sun, 26 Jul 2015 11:56:50 +0000 (13:56 +0200)]
Merge pull request #716 from michaelolbrich/automount-fixes
Automount fixes
Kay Sievers [Sun, 26 Jul 2015 09:43:13 +0000 (11:43 +0200)]
Merge pull request #724 from dbuch/master
proxyd: downgrade to log_debug() for unmatched broadcasts
Kay Sievers [Sat, 25 Jul 2015 22:38:01 +0000 (00:38 +0200)]
systemd-boot: fix whitespace
Kay Sievers [Sat, 25 Jul 2015 22:35:23 +0000 (00:35 +0200)]
Merge pull request #634 from icarlosvenegas/sd-boot-show-efi-cmdline_v2
sd-boot: Show stub cmdline when edit (v2)
Tom Gundersen [Sat, 25 Jul 2015 21:27:44 +0000 (23:27 +0200)]
Merge pull request #727 from phomes/master
man: typo fixes
Tom Gundersen [Sat, 25 Jul 2015 21:25:30 +0000 (23:25 +0200)]
Merge pull request #725 from keszybz/network-file-masking
man: describe masking of .network files better
Thomas Hindoe Paaboel Andersen [Sat, 25 Jul 2015 21:15:05 +0000 (23:15 +0200)]
man: typo fixes
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 17:03:44 +0000 (13:03 -0400)]
man: describe masking of .network files better
This should clear up some confusion in
https://github.com/systemd/systemd/issues/717.
This basically copies the description from systemd.unit to this
man page. Masking can happen also in /run, so strike the part
about /etc, and also add the magic work "mask".
Daniel Buch [Sat, 25 Jul 2015 12:12:39 +0000 (14:12 +0200)]
proxyd: downgrade to log_debug() for unmatched broadcasts
Daniel Mack [Sat, 25 Jul 2015 08:48:43 +0000 (10:48 +0200)]
Merge pull request #722 from keszybz/networkd-clarifications
Networkd clarifications
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 03:12:20 +0000 (23:12 -0400)]
networkd: rename RootBlock to AllowPortToBeRoot
Justification is similar to BPDUGuard rename. "Positive" values
are easier. This is a rather uncommon option, so using a slightly
longer name should not be a problem, and may in fact may make it
easier to guess what the option does without reading the
documentation.
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 03:04:57 +0000 (23:04 -0400)]
networkd: turn UnicastFlood on by default
Looking at the kernel commit, "on" seems to be the default value:
commit
867a59436fc35593ae0e0efcd56cc6d2f8506586
Author: Vlad Yasevich <vyasevic@redhat.com>
Date: Wed Jun 5 10:08:01 2013 -0400
bridge: Add a flag to control unicast packet flood.
Add a flag to control flood of unicast traffic. By default, flood is
on and the bridge will flood unicast traffic if it doesn't know
the destination. When the flag is turned off, unicast traffic
without an FDB will not be forwarded to the specified port.
... and it seems to be the reasonable thing to do by default.
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 02:52:26 +0000 (22:52 -0400)]
networkd: rename BPDUGuard to UseBPDU
Rename to follow the follow the style of other options.
In general "positive" options are preferred to "negative" ones,
because they are easier to describe and easier for humans to
parse (c.f. the shortening on the man page entry).
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 02:37:04 +0000 (22:37 -0400)]
man: reword new Bridge descriptions
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 02:26:00 +0000 (22:26 -0400)]
network: rename DiffServiceCodePoint to CopyDSCP
Old name was slightly misleading, because this flag does not determine
whether DSCP is used overall, but only if it is copied to the
decapsulated packet. Rename to better reflect that.
"Copy" does not imply direction. This is on purpose, because we might
later on enhance the setting to allow/disallow copying in the other
direction, to the encapsulated packet. If that is implemented,
CopyDSCP could understand additional values. This is nicer than
having two separate settings and follows the example of DHCP=.
Also, we try to avoid abbreviations, but we allow acronyms
like MTU, in DiscoverPathMTU=.
This setting was recently added, so it's fine to rename it without
backwards compat.
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 01:57:32 +0000 (21:57 -0400)]
man: try to better describe DiffServiceCodePoint= setting
http://marc.info/?l=linux-netdev&m=
109507453227993&w=2
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 01:41:35 +0000 (21:41 -0400)]
netlink-types: use consistent whitespace at EOL
Follow up for v222-124-g79e27dbcb1.
Zbigniew Jędrzejewski-Szmek [Sat, 25 Jul 2015 01:38:24 +0000 (21:38 -0400)]
man: reword description of Hostname=
Also add dots at the end of sentences.
Kay Sievers [Sat, 25 Jul 2015 01:26:32 +0000 (03:26 +0200)]
bootctl: add missing newline
Daniel Mack [Sat, 25 Jul 2015 00:08:00 +0000 (02:08 +0200)]
Merge pull request #718 from phomes/master
ata_id: remove unused union member
Thomas Hindoe Paaboel Andersen [Fri, 24 Jul 2015 20:32:33 +0000 (22:32 +0200)]
ata_id: remove unused union member
The last use of octa was removed in
01f61d331bb5038f0c877ac03c54333328b6ea28
Michael Olbrich [Fri, 24 Jul 2015 20:25:28 +0000 (22:25 +0200)]
automount: handle state changes of the corresponding mount unit correctly
The expire timeout must be started/stopped if the corresponding mount unit
changes its state, e.g. it is started via local-fs.target or stopped by a
manual umount.
Michael Olbrich [Fri, 24 Jul 2015 20:21:59 +0000 (22:21 +0200)]
automount: don't try to umount if it already happened
Return the token immediately instead. Otherwise the token is never returned
to the kernel, because the umount job is a noop and will not trigger a
state change.
Daniel Mack [Wed, 15 Jul 2015 18:37:42 +0000 (14:37 -0400)]
resolved: fix DNS_TYPE_ANY vs DNS_CLASS_ANY confusion
Assigning a TPYE enum value to a class variable is certainly wrong.
However, they both have the same value, so the result was correct
nevertheless.
Daniel Mack [Fri, 24 Jul 2015 17:49:29 +0000 (19:49 +0200)]
Merge pull request #704 from richardmaw-codethink/empty-arg-unquote
unquote_first_word: parse ` '' ` as an empty argument instead of no arg
Tom Gundersen [Fri, 24 Jul 2015 17:15:54 +0000 (19:15 +0200)]
Merge pull request #714 from zonque/automount
automount: do not start expiration timer for TimeoutIdleSec=0
Daniel Mack [Fri, 24 Jul 2015 15:40:55 +0000 (17:40 +0200)]
automount: do not start expiration timer for TimeoutIdleSec=0
The timer value for automount unit specified with TimeoutIdleSec= is rounded
up to one second if that directive is set to 0.
Fix this by bailing early in automount_enter_runnning() in case no timeout is
requested.
Lennart Poettering [Fri, 24 Jul 2015 15:10:02 +0000 (17:10 +0200)]
Merge pull request #713 from daurnimator/577-sd_bus-vtable-methods-do-not-have-offset
sd-bus: remove _VTABLE from new method vtable initialiser
daurnimator [Fri, 24 Jul 2015 12:59:19 +0000 (22:59 +1000)]
sd-bus: remove _VTABLE from new method vtable initialiser
Lennart Poettering [Fri, 24 Jul 2015 12:53:21 +0000 (14:53 +0200)]
Merge pull request #712 from daurnimator/577-sd_bus-vtable-methods-do-not-have-offset
sd-bus: Add offset member for vtable methods
daurnimator [Fri, 24 Jul 2015 12:22:54 +0000 (22:22 +1000)]
sd-bus: add 'offset' member for vtable methods
Defaults to zero, which retains the current behaviour.
Fixes #577
Daniel Mack [Fri, 24 Jul 2015 12:01:10 +0000 (14:01 +0200)]
Merge pull request #711 from zonque/const
tree-wide: do not use _cleanup_free_ on const pointers
Daniel Mack [Fri, 24 Jul 2015 11:49:11 +0000 (13:49 +0200)]
tree-wide: do not use _cleanup_free_ on const pointers
free() cannot be used with const pointers. However, our _cleanup_free_
handler features cast logic that hides that qualifier, so we don't get a
warning.
David Herrmann [Fri, 24 Jul 2015 10:37:12 +0000 (12:37 +0200)]
sd-bus: don't treat KDBUS_ITEM_TIMESTAMP as unknown item
In bus_kernel_translate_message(), we print a DEBUG message on unknown
items. But right now, we also print this message for KDBUS_ITEM_TIMESTAMP
despite parsing it properly. Fix this!
Daniel Mack [Fri, 24 Jul 2015 10:50:56 +0000 (12:50 +0200)]
Merge pull request #606 from dvdhrm/bus-proxy-pedantic-matches2
bus-proxy: never pass on unmatched broadcasts (v2)
Daniel Mack [Fri, 24 Jul 2015 10:04:30 +0000 (12:04 +0200)]
Merge pull request #695 from poettering/journal-fixes
Journal fixes
Daniel Mack [Fri, 24 Jul 2015 09:59:30 +0000 (11:59 +0200)]
Merge pull request #702 from ldzhong/fix
udev: fix parameter process
Richard Maw [Fri, 24 Jul 2015 09:29:46 +0000 (09:29 +0000)]
unquote_first_word: parse ` '' ` as an empty argument instead of no argument
Lidong Zhong [Fri, 24 Jul 2015 08:37:17 +0000 (16:37 +0800)]
udev: fix parameter process
Daniel Mack [Fri, 24 Jul 2015 08:20:40 +0000 (10:20 +0200)]
Merge pull request #699 from ysbnim/master
exit-status: add missing string for EXIT_SMACK_PROCESS_LABEL
Daniel Mack [Fri, 24 Jul 2015 08:09:06 +0000 (10:09 +0200)]
Merge pull request #696 from poettering/automount-expiry-freq
automount: lower the idle polling frequency a bit
Daniel Mack [Fri, 24 Jul 2015 08:08:44 +0000 (10:08 +0200)]
Merge pull request #697 from poettering/service-bus-name
core: print a nicer warning when two units have the same BusName= set…
Sungbae Yoo [Thu, 23 Jul 2015 05:17:03 +0000 (14:17 +0900)]
exit-status: add a missing string for EXIT_SMACK_PROCESS_LABEL
Lennart Poettering [Fri, 24 Jul 2015 01:50:36 +0000 (03:50 +0200)]
core: print a nicer warning when two units have the same BusName= setting
This should make issues like #609 easier to debug.
Lennart Poettering [Fri, 24 Jul 2015 01:13:57 +0000 (03:13 +0200)]
automount: lower the idle polling frequency a bit
The autofs kernel idle logic requires us to poll the kernel for
idleness. This is of course suboptimal, but cannot be fixed without
kernel change.
Currently the polling frequency is set to 1/10 of the idle timeout. This
is quite high, as seen in #571. Let's lower this to 1/3.
Lennart Poettering [Fri, 24 Jul 2015 00:18:13 +0000 (02:18 +0200)]
journal: uppercase first character in verify error messages
In the english language the first character of a sentence is supposed to
be uppercase. Let's make sure this also applies to the journal
verification error messages.
Lennart Poettering [Fri, 24 Jul 2015 00:10:32 +0000 (02:10 +0200)]
journalctl: properly detect empty journal files
When we encounter a journal file with exactly zero entries, print a nice
message and exit, and don't print a weird error message.
Lennart Poettering [Fri, 24 Jul 2015 00:02:07 +0000 (02:02 +0200)]
journal: explain the error when we find a non-DATA object that is compressed
Only objects of type DATA may be compressed, generate a message about
that, like we do for all other errros.
Lennart Poettering [Fri, 24 Jul 2015 00:00:43 +0000 (02:00 +0200)]
journal: when verifying journal files, handle empty ones nicely
A journal file that carries no objects should be considered valid.
Lennart Poettering [Thu, 23 Jul 2015 23:55:45 +0000 (01:55 +0200)]
journal: avoid mapping empty data and field hash tables
When a new journal file is created we write the header first, then sync
and only then create the data and field hash tables in them. That means
to other processes it might appear that the files have a valid header
but not data and field hash tables. Our reader code should be able to
deal with this.
With this change we'll not map the two hash tables right-away after
opening a file for reading anymore (because that will of course fail if
the objects are missing), but delay this until the first time we access
them. On top of that, when we want to look something up in the hash
tables and we notice they aren't initialized yet, we consider them
empty.
This improves handling of some journal files reported in #487.
Lennart Poettering [Thu, 23 Jul 2015 23:40:44 +0000 (01:40 +0200)]
journal-verify: don't hit SIGFPE when determining progress
If we determine the progress based on a number of objects available,
don't blindly devide by the number of objects, given that it might be 0.
Daniel Mack [Thu, 23 Jul 2015 22:22:56 +0000 (00:22 +0200)]
Merge pull request #539 from poettering/tmpfiles-journal-acl
tmpfiles: don't recursively descend into journal directories in /var
Daniel Mack [Thu, 23 Jul 2015 22:04:49 +0000 (00:04 +0200)]
Merge pull request #694 from poettering/fileio-fixes
Fileio fixes
Lennart Poettering [Thu, 23 Jul 2015 21:47:54 +0000 (23:47 +0200)]
process: an empty environment block should be returned as such
An empty env block is completely valid, hence return it as such, and
don't turn it into an error.
Lennart Poettering [Thu, 23 Jul 2015 21:44:40 +0000 (23:44 +0200)]
process: return ESRCH when a PID is not valid anymore
so far, when we read something from /proc/$PID we would pass on the
ENOENT from the kernel as error, if the process was missing. With this
change we systematically convert this to ESRCH, which is the more
appropriate error code, and what all the other glibc/syscalls like
kill() use.
All code that calls these functions should be fine with this change. In
fact, one invocation of get_process_exe() in bus-creds.c already assumed
ESRCH would be returned if a process is missing, and this assumption is
now validated after the change.
Lennart Poettering [Thu, 23 Jul 2015 21:36:34 +0000 (23:36 +0200)]
fileio: get_status_field() don't clobber arg on OOM
According to our coding style guidelines we shouldn't clobber
pass-by-ref arguments on failure, hence don't do so here either.
Daniel Mack [Thu, 23 Jul 2015 21:20:18 +0000 (23:20 +0200)]
Merge pull request #692 from poettering/fd-copy-directory-all
copy: when we recursively copy a directory tree, copy everything
Lennart Poettering [Thu, 23 Jul 2015 19:41:22 +0000 (21:41 +0200)]
copy: when we recursively copy a directory tree, copy everything
Don't ignore hidden files and directories.
Fixes #386
Tom Gundersen [Thu, 23 Jul 2015 20:46:07 +0000 (22:46 +0200)]
Merge pull request #683 from ssahani/tun1
networkd: ip6gre add support for flowlabel
Lennart Poettering [Thu, 23 Jul 2015 19:56:09 +0000 (21:56 +0200)]
Merge pull request #670 from floppym/ptsuid
nspawn: Don't pass uid mount option for devpts
Lennart Poettering [Thu, 23 Jul 2015 19:38:01 +0000 (21:38 +0200)]
Merge pull request #678 from eworm-de/oracle-kvm
Oracle kvm
Daniel Mack [Thu, 23 Jul 2015 19:23:49 +0000 (21:23 +0200)]
Merge pull request #691 from teg/networkd-after-sysctl
units: order networkd after sysctl
Christian Hesse [Thu, 23 Jul 2015 19:18:36 +0000 (21:18 +0200)]
virt: handle Virtualbox 5.0 with kvm hypervisor
Virtualbox 5.0 now supports kvm hypervisor. In this case cpuid
identidies as "kvm", which breaks units depending on
ConditionVirtualization=oracle.
So return "oracle" even with kvm hypervisor.
Lennart Poettering [Thu, 23 Jul 2015 19:07:57 +0000 (21:07 +0200)]
Merge pull request #682 from ssahani/bridge
networkd: add bridge link properties
Tom Gundersen [Thu, 23 Jul 2015 18:58:33 +0000 (20:58 +0200)]
units: order networkd after sysctl
This way networkd will correctly and race-freely inherit the default settings
applied by sysctl.
Suggested in issue #468.
Susant Sahani [Thu, 23 Jul 2015 18:03:40 +0000 (23:33 +0530)]
man: add man for bridge params
Susant Sahani [Thu, 23 Jul 2015 18:01:58 +0000 (23:31 +0530)]
networkd: add bridge link properties
new bridge properties
br.network
[Match]
Name=enp0s25
[Network]
Bridge=br-test
[Bridge]
Cost=332
BPDUGuard = true
HairPin = true
FastLeave = true
RootBlock = true
UnicastFlood = true
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
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
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.
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.
Tom Gundersen [Thu, 23 Jul 2015 11:48:56 +0000 (13:48 +0200)]
resolved: rr - ignore pseudo types in NSEC(3) bitmaps
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.
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.
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.
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).
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