summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-07-29sd-bus: fix encoding/decoding gvariant root containerDavid Herrmann
The gvariant root container contains a 'variant' at the end, which embeds the whole message body. This variant *must* contain a structure so we are compatible to dbus1. Otherwise, it could encode at most 1 type, instead of a full signature. Our gvariant message parser already parses the variant-content as a structure, so we're mostly good. However, it does *not* include the opening and closing parantheses, nor does it parse them. This patch fixes the decoder to verify a message contains the parantheses, and also make the encoder add those parantheses into the marshaled message.
2015-07-29sd-bus: fix marshaling of unary typeDavid Herrmann
The unary type has a fixed size of 1 in gvariant. Make sure we properly encode it as such. Right now, we encode/decode it as empty sequence.
2015-07-29sd-bus: drop redundant codeDavid Herrmann
If c->item_size is 0, the next item to parse in a structure is empty. However, this also implies that the signature must be empty. The latter case is already handled just fine by enter_struct_or_dict_entry() so there is no reason to handle the same case in the caller.
2015-07-29sd-bus: don't assert() on valid signaturesDavid Herrmann
Right now sd_bus_message_skip() will abort execution if passed a signature of the unary type "()". Regardless whether this should be supported or not, we really must not abort. Drop the incorrect assertion and add a test-case for this.
2015-07-29Merge pull request #768 from poettering/resolved-localhostDaniel Mack
resolved: never attempt to resolve loopback addresses via DNS/LLMNR/mDNS
2015-07-29resolved: never attempt to resolve loopback addresses via DNS/LLMNR/mDNSLennart Poettering
We already refuse to resolve "localhost", hence we should also refuse resolving "127.0.0.1" and friends.
2015-07-29treewide: fix typosTorstein Husebø
2015-07-29Merge pull request #747 from dvdhrm/consoledDavid Herrmann
terminal: drop unfinished code
2015-07-28resolved: packet - refuse empty type bitmapsTom Gundersen
The NSEC type itself must at least be in the bitmap, so NSEC records with empty bitmaps must be bogus.
2015-07-28resolved: packet - fix read_type_window()Tom Gundersen
We were tracking the bit offset inside each byte, rather than inside the whole bitmap.
2015-07-28resolve: packet - fix append_types()Tom Gundersen
We were counting the number of bits set rather than the number of bytes they occupied.
2015-07-28Merge pull request #758 from poettering/dns-is-equalTom Gundersen
resolved: compare dns question arrays properly
2015-07-28Merge pull request #732 from ssahani/macvtapTom Gundersen
networkd: add support for Macvtap
2015-07-28resolved: compare dns question arrays properlyLennart Poettering
Let's optimize things a bit and properly compare DNS question arrays, instead of checking if they are mutual supersets. This also makes ANY query handling more accurate.
2015-07-28udev: Fix udev_builtin_run_once()Daniel Mack
Honour the boolean return value type. This was an oversight in f89d10ae4.
2015-07-28udev: check more builtins[] pointers before dereferencingDaniel Mack
Fix some more locations where pointers from builtins[] are dereferenced before checking. Related to 8cacf69b1.
2015-07-28Merge pull request #756 from ldzhong/fixDaniel Mack
udev: avoid coredump when initializing udev builtins
2015-07-28udev: avoid coredump when initializing udev builtinsLidong Zhong
If one of the macros(HAVE_BLKID/HAVE_KMOD/HAVE_ACL) is not defined, there will be a coredump
2015-07-28mount: remove obsolete -nKarel Zak
It seems that systemd still uses legacy -n option. The option has been originally designed to avoid write to /etc/mtab during boot when root FS is not ready or read-only. This is not necessary for long time, because /etc/mtab is not a real file (it's symlink) and write to the file is impossible. All utils should be able to detect the symlink and ignore mtab. This concept is supported for very long time before systemd. The userspase mount options are currently maintained by libmount (mount(8) and mount.nfs) in /run/mount) which is tmpfs initialized during early boot.
2015-07-28Merge pull request #375 from msekletar/test-install-crashersLennart Poettering
install: make unit_file_get_list aware of UNIT_FILE_INDIRECT
2015-07-28Merge pull request #362 from d-hatayama/fix_selinux_unit_check_v2Lennart Poettering
selinux: fix missing SELinux unit access check
2015-07-28Merge pull request #748 from teg/dns-name-between-4Daniel Mack
basic: dns-name - between()
2015-07-28Merge pull request #739 from intelfx/systemd-analyze-plot-user-instanceDaniel Mack
analyze: correctly draw the plot for user instances.
2015-07-28analyze: correctly draw the plot for user instancesIvan Shapovalov
Start-up timestamp of a user instance (userspace_time in struct boot_times) actually may be arbitrarily big. This, because all timestamps are offset by that value, leads to creation of arbitrarily wide SVGs which almost completely consist of blank space. Fix this by inverse-offsetting all timestamps by that value if user instance operation is requested. Fixes #740.
2015-07-28shared: dns-name - add dns_name_between()Tom Gundersen
Given three DNS names this function indicates if the second argument lies strictly between the first and the third according to the canonical DNS name order. Note that the order is circular, so the last name is considered to be before the first.
2015-07-28shared: dns-name - use the canonical dns name orderingTom Gundersen
The canonical DNS name ordering considers the rightmost label the most significant, we were considering it the least significant. This is important when implementing NSEC, which relies on the correct order.
2015-07-28shared: dns-name - introduce dns_label_unescape_suffix()Tom Gundersen
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.
2015-07-28analyze: move acquire_boot_times() above acquire_time_data()Ivan Shapovalov
Next patch will make the latter call into the former.
2015-07-27Merge pull request #744 from poettering/vnethdr-fixDaniel Mack
networkd: capitalize VNetHeader= as VnetHeader=
2015-07-27util: base32hex - explain distinction with base32Tom Gundersen
2015-07-27resolved: transaction - don't explicitly verify packet sourceTom Gundersen
This is handled by the kernel now that the socket is connect()ed.
2015-07-27resolved: transaction - don't unref server when creating TCP socketTom Gundersen
This was a bug.
2015-07-27resolved: scope - write() unicast DNS packetsTom Gundersen
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.
2015-07-27resolved: transaction - introduce dns_transaction_emit()Tom Gundersen
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.
2015-07-27networkd: capitalize VNetHeader= as VnetHeader=Lennart Poettering
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.
2015-07-27resolved: transaction - move a couple of functionsTom Gundersen
No functional change, but makes follow-up patch clearer.
2015-07-27terminal: drop unfinished codeDavid Herrmann
This drops the libsystemd-terminal and systemd-consoled code for various reasons: * It's been sitting there unfinished for over a year now and won't get finished any time soon. * Since its initial creation, several parts need significant rework: The input handling should be replaced with the now commonly used libinput, the drm accessors should coordinate the handling of mode-object hotplugging (including split connectors) with other DRM users, and the internal library users should be converted to sd-device and friends. * There is still significant kernel work required before sd-console is really useful. This includes, but is not limited to, simpledrm and drmlog. * The authority daemon is needed before all this code can be used for real. And this will definitely take a lot more time to get done as no-one else is currently working on this, but me. * kdbus maintenance has taken up way more time than I thought and it has much higher priority. I don't see me spending much time on the terminal code in the near future. If anyone intends to hack on this, please feel free to contact me. I'll gladly help you out with any issues. Once kdbus and authorityd are finished (whenever that will be..) I'll definitely pick this up again. But until then, lets reduce compile times and maintenance efforts on this code and drop it for now.
2015-07-27resolved: transaction - move DNS UDP socket creation to the scopeTom Gundersen
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.
2015-07-27resolved: transaction - close socket when changing serverTom Gundersen
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.
2015-07-27resolved: transaction - don't request PKTINFO for unicast DNSTom Gundersen
This was only ever used by LLMNR, so don't request this for unicast DNS packets.
2015-07-27resloved: transaction - unify IPv4 and IPv6 socketsTom Gundersen
A transaction can only have one socket at a time, so no need to distinguish these.
2015-07-27sd-bus: fix path of object-manager signalsDavid Herrmann
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.
2015-07-27bus-proxy: augment debug message for dropped broadcasts a bitDaniel Mack
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.
2015-07-27networkd: add support for macvtapSusant Sahani
This patch add support for macvtap. see http://virt.kernelnewbies.org/MacVTap
2015-07-27sd-netlink: Add macvtap supportSusant Sahani
2015-07-26networkd-wait-online: fix -i argumentMartin Pitt
-i (aka --interface) takes an argument. Tell getopt_long() that, so that optarg isn't NULL.
2015-07-26Merge pull request #716 from michaelolbrich/automount-fixesKay Sievers
Automount fixes
2015-07-26Merge pull request #724 from dbuch/masterKay Sievers
proxyd: downgrade to log_debug() for unmatched broadcasts
2015-07-26systemd-boot: fix whitespaceKay Sievers
2015-07-26Merge pull request #634 from icarlosvenegas/sd-boot-show-efi-cmdline_v2Kay Sievers
sd-boot: Show stub cmdline when edit (v2)