summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2015-07-14resolved: use one UDP socket per transactionTom Gundersen
We used to have one global socket, use one per transaction instead. This has the side-effect of giving us a random UDP port per transaction, and hence increasing the entropy and making cache poisoining significantly harder to achieve. We still reuse the same port number for packets belonging to the same transaction (resent packets).
2015-07-14resolved: implement RFC5452Tom Gundersen
This improves the resilience against cache poisoning by being stricter about only accepting responses that match precisely the requst they are in reply to. It should be noted that we still only use one port (which is picked at random), rather than one port for each transaction. Port randomization would improve things further, but is not required by the RFC.
2015-07-14resolved: pin the server used in a transactionTom Gundersen
We want to discover information about the server and use that in when crafting packets to be resent.
2015-07-14resolved: reference count the dns serversTom Gundersen
We want to reference the servers from their active transactions, so make sure they stay around as long as the transaction does.
2015-07-14resolved: packet - ensure there is space for IP+UDP headersTom Gundersen
Currently we only make sure our links can handle the size of the payload witohut taking the headers into account.
2015-07-13resolved: make LLMNR checks conditionalDaniel Mack
Make all LLMNR related packet inspections conditional to p->protocol. Use switch-case statements while at it, which will make future additions more readable.
2015-07-13resolved: separate LLMNR specific header bitsDaniel Mack
The C and T bits in the DNS packet header definitions are specific to LLMNR. In regular DNS, they are called AA and RD instead. Reflect that by calling the macros accordingly, and alias LLMNR specific macros. While at it, define RA, AD and CD getters as well.
2015-07-13resolved: use a #define for LLMNR portDaniel Mack
De-duplicate some magic numbers.
2015-07-13resolved: move LLMNR related functions into separate fileDaniel Mack
2015-07-12dhcp: add support for vendor specific DHCP optionBeniamino Galvani
This adds support for option 43 (Vendor Specific Information) to libsystemd-network DHCP code. The option carries an opaque object of n octets, interpreted by vendor-specific code on the clients and servers. [@zonque: adopted to new unhexmem() API]
2015-07-12basic: util - add base64mem() function similar to hexmem()Tom Gundersen
This implements RFC4648 for a slightly more compact representation of binary data compared to hex (6 bits per character rather than 4).
2015-07-12basic: util - fix errorhandling in unhexmem()Tom Gundersen
We were ignoring failures from unhexchar, which meant that invalid hex characters were being turned into garbage rather than the string rejected. Fix this by making unhexmem return an error code, also change the API slightly, to return the size of the returned memory, reflecting the fact that the memory is a binary blob,and not a string. For convenience, still append a trailing NULL byte to the returned memory (not included in the returned size), allowing callers to treat it as a string without doing a second copy.
2015-07-12Merge pull request #558 from poettering/logind-bus-policyTom Gundersen
logind: bring bus policy up-to-date
2015-07-11logind: some firmware implementations remove OsIndications if it is unsetLennart Poettering
We shouldn't fall over that, and just assume it is 0 in this case. Fixes #499.
2015-07-11logind: bring bus policy up-to-dateLennart Poettering
A while back we opened up all of logind's bus calls to unprivileged users, via PK. However, the dbus1 policy wasn't updated accordingly. With this change, the dbus1 policy is opened up for all bus calls that should be available to unprivileged clients. (also rearranges some calls in the vtable, to make more sense, and be in line with the order in the bus policy file) Fixes #471.
2015-07-11Merge pull request #551 from poettering/fopen-temporary-noerrnoDaniel Mack
util: make sure we don't clobber errno in error path
2015-07-11Merge pull request #552 from poettering/path-is-mount-point-simplificationDaniel Mack
basic: simplify path_is_mount_point() a bit
2015-07-11basic: simplify path_is_mount_point() a bitLennart Poettering
This removes two uses of the ternary operator.
2015-07-11util: make sure we don't clobber errno in error pathLennart Poettering
2015-07-10Merge pull request #548 from vcaputo/fix_path_state_debug_msgDaniel Mack
core: include unit in path state transition debug logging.
2015-07-10core: include unit in path state transition debug logging.Vito Caputo
2015-07-10logind: rename 'pos' to 'position'David Herrmann
Spell out the proper name. Use 'pos' over 'position', and also update the logind state file to do the same. Note that this breaks live updates. However, we only save 'POSITION' on non-seat0, so this shouldn't bother anyone for real. If you run multi-seat setups, you better restart a machine on updates, anyway.
2015-07-10logind: allow greeters to take over VTsDavid Herrmann
Make sure a greeter can forcefully spawn a session on a VT that is in-use. A recent patch prevented this (this used to be possible for all session types) as it is highly fragile. However, as it turns out, greeters seem to rely on that feature. Therefore, make sure we allow it explicitly for greeters.
2015-07-09Merge pull request #531 from dvdhrm/boot-buildidLennart Poettering
boot: use BUILD_ID if VERSION_ID is not available
2015-07-09Merge pull request #532 from dvdhrm/bus-managed-rootLennart Poettering
sd-bus: include queried path in GetManagedObjects
2015-07-09basic/util.c fopen_temporary(): close fd if failedcee1
2015-07-09Merge pull request #529 from dvdhrm/bus-slot-descriptionLennart Poettering
sd-bus: sd_bus_slot_get_description() should return const strings
2015-07-09sd-bus: include queried path in GetManagedObjectsDavid Herrmann
If GetManagedObjects is called on /foo/bar, then it should also include the object /foo/bar, if it exists. Right now, we only include objects underneath /foo/bar/. This follows the behavior of existing dbus implementations. Obsoletes #527 and fixes #525. Reported by: Nathaniel McCallum
2015-07-09boot: use BUILD_ID if VERSION_ID is not presentDavid Herrmann
According to os-release(5), VERSION_ID is not mandatory and BUILD_ID only needs to be unique underneath VERSION_ID. Therefore, assuming a missing VERSION_ID field means 'empty', we can rely on BUILD_ID to be unique. Use BUILD_ID if VERSION_ID is not present. This way, rolling-release distros can still provide a proper os-release entry without crafting random VERSION_ID strings. This fixes #186.
2015-07-09boot: fix memleaks in os-release parserDavid Herrmann
There is no guarantee that the os-release section contains each key only once, nor any guarantee that all keys are present. Make sure we properly free memory in both cases. Not that it matters much, as we're short-living, anyway. But correct code is always nicer to read..
2015-07-09sd-bus: sd_bus_slot_get_description() should return const stringsDavid Herrmann
All other *_get_description() functions use 'const char**', so make sure sd_bus_slot_get_description() does the same. This changes API, but ABI stays stable. I think this is fine, but I wouldn't mind bumping SONAME. Reported in #528.
2015-07-09Reload manager defaults at daemon-reloadThomas Blume
"systemctl daemon-reload" should also update the manager defaults from /etc/systemd/system.conf. For details, see: http://lists.freedesktop.org/archives/systemd-devel/2015-June/033062.html Amended to use manager_set_defaults() as common function.
2015-07-08machine: remove unused variablesThomas Hindoe Paaboel Andersen
2015-07-08Merge pull request #516 from utezduyar/consistent-get-callback-returnLennart Poettering
property callback returns are consistent
2015-07-08Merge pull request #500 from zonque/fileioLennart Poettering
fileio: consolidate write_string_file*()
2015-07-08Merge pull request #514 from teg/resolved-rrsig-marshalLennart Poettering
resolved: fix marshalling of RRSIG records
2015-07-08Merge pull request #510 from zonque/journal-gatewaydTom Gundersen
journal-gatewayd: fix tmpfile logic
2015-07-08Merge pull request #501 from keszybz/remove-python-systemdDaniel Mack
Remove python-systemd
2015-07-08property callback returns are consistentUmut Tezduyar Lindskog
It is no different to return 0 over 1 in the property callback. It is confusing to return 1 which made me think 1 has a special purpose. This way code is consistent with the rest of the tree.
2015-07-08resolved: fix marshalling of RRSIG recordsTom Gundersen
The key tag is 16, not 8 bits.
2015-07-07journal-gatewayd: fix tmpfile logicDaniel Mack
"rw" is not a valid mode string for f*open(). This got broken in cc02a7b33049 ("journal-gatewayd: factor out opening of temp file").
2015-07-07logind: fail on CreateSession if already in sessionDavid Herrmann
Right now, if you're already in a session and call CreateSession, we return information about the current session of yours. This is highy confusing and a nasty hack. Avoid that, and instead return a commonly known error, so the caller can detect that. This has the side-effect, that we no longer override XDG_VTNR and XDG_SEAT in pam_systemd, if you're already in a session. But this sounds like the right thing to do, anyway.
2015-07-07logind: allow sessions to share a VT if it's a greeterDavid Herrmann
Old gdm and lightdm start the user-session during login before they destroy the greeter-session. Therefore, the user-session will take over the VT from the greeter. We recently prevented this by never allowing multiple sessions on the same VT. Fix this now, by explicitly allowing this if the owning session is a GREETER. Note that gdm no longer behaves like this. Instead, due to wayland, they always use a different VT for each session. All other login-managers are highly encouraged to destroy the greeter-session _before_ starting the user-session. We now work around this, but this will probably not last forever (and will already have nasty side-effects on the greeter-session).
2015-07-07Remove repeated 'the'sZbigniew Jędrzejewski-Szmek
2015-07-06Merge pull request #502 from keszybz/login-small-cleanupDaniel Mack
Login small cleanup
2015-07-06Remove python-systemdZbigniew Jędrzejewski-Szmek
python-system has moved to it's own repository: https://github.com/systemd/python-systemd
2015-07-06treewide: fix typos of let'sZbigniew Jędrzejewski-Szmek
2015-07-06login: use normal comparison to zero for integersZbigniew Jędrzejewski-Szmek
! is supposed to be used for booleans and pointers.
2015-07-06tree-wide: fix write_string_file() user that should not create filesDaniel Mack
The latest consolidation cleanup of write_string_file() revealed some users of that helper which should have used write_string_file_no_create() in the past but didn't. Basically, all existing users that write to files in /sys and /proc should not expect to write to a file which is not yet existant.
2015-07-06fileio: consolidate write_string_file*()Daniel Mack
Merge write_string_file(), write_string_file_no_create() and write_string_file_atomic() into write_string_file() and provide a flags mask that allows combinations of atomic writing, newline appending and automatic file creation. Change all users accordingly.