History log of /systemd/src/libsystemd-network/sd-ipv4ll.c
Revision Date Author Comments Expand
4afd3348c7506dd1d36305b7bcb9feb8952b9d6b 27-Nov-2015 Lennart Poettering <lennart@poettering.net>

tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy GLIB has recently started to officially support the gcc cleanup attribute in its public API, hence let's do the same for our APIs. With this patch we'll define an xyz_unrefp() call for each public xyz_unref() call, to make it easy to use inside a __attribute__((cleanup())) expression. Then, all code is ported over to make use of this. The new calls are also documented in the man pages, with examples how to use them (well, I only added docs where the _unref() call itself already had docs, and the examples, only cover sd_bus_unrefp() and sd_event_unrefp()). This also renames sd_lldp_free() to sd_lldp_unref(), since that's how we tend to call our destructors these days. Note that this defines no public macro that wraps gcc's attribute and makes it easier to use. While I think it's our duty in the library to make our stuff easy to use, I figure it's not our duty to make gcc's own features easy to use on its own. Most likely, client code which wants to make use of this should define its own: #define _cleanup_(function) __attribute__((cleanup(function))) Or similar, to make the gcc feature easier to use. Making this logic public has the benefit that we can remove three header files whose only purpose was to define these functions internally. See #2008.

/systemd/Makefile-man.am /systemd/Makefile.am /systemd/man/sd_bus_creds_new_from_pid.xml /systemd/man/sd_bus_new.xml /systemd/man/sd_event_new.xml /systemd/man/sd_event_source_unref.xml /systemd/man/sd_login_monitor_new.xml /systemd/src/analyze/analyze-verify.c /systemd/src/analyze/analyze.c /systemd/src/bus-proxyd/driver.c /systemd/src/bus-proxyd/proxy.c /systemd/src/bus-proxyd/stdio-bridge.c /systemd/src/bus-proxyd/synthesize.c /systemd/src/cgls/cgls.c /systemd/src/cgroups-agent/cgroups-agent.c /systemd/src/cgtop/cgtop.c /systemd/src/core/automount.c /systemd/src/core/busname.c /systemd/src/core/dbus-job.c /systemd/src/core/dbus-manager.c /systemd/src/core/dbus-scope.c /systemd/src/core/dbus-unit.c /systemd/src/core/dbus.c /systemd/src/core/load-fragment.c /systemd/src/core/loopback-setup.c /systemd/src/core/main.c /systemd/src/core/manager.c /systemd/src/core/path.c /systemd/src/core/selinux-access.c /systemd/src/core/service.c /systemd/src/core/socket.c /systemd/src/core/timer.c /systemd/src/core/unit.c /systemd/src/cryptsetup/cryptsetup.c /systemd/src/fsck/fsck.c /systemd/src/hostname/hostnamectl.c /systemd/src/hostname/hostnamed.c /systemd/src/hwdb/hwdb.c /systemd/src/import/export.c /systemd/src/import/import.c /systemd/src/import/importd.c /systemd/src/import/pull.c /systemd/src/initctl/initctl.c /systemd/src/journal-remote/journal-gatewayd.c /systemd/src/journal/coredumpctl.c /systemd/src/journal/journal-internal.h /systemd/src/journal/journalctl.c /systemd/src/journal/test-journal-enum.c /systemd/src/journal/test-journal-match.c /systemd/src/journal/test-journal-stream.c dhcp-internal.h dhcp-lease-internal.h dhcp-server-internal.h dhcp6-lease-internal.h lldp-internal.c lldp-tlv.h lldp-util.h sd-dhcp-client.c sd-dhcp-lease.c sd-dhcp-server.c sd-dhcp6-client.c sd-ipv4acd.c sd-ipv4ll.c sd-lldp.c sd-ndisc.c test-acd.c test-dhcp-client.c test-dhcp-server.c test-dhcp6-client.c test-ipv4ll-manual.c test-ipv4ll.c test-lldp.c /systemd/src/libsystemd/sd-bus/bus-control.c /systemd/src/libsystemd/sd-bus/bus-convenience.c /systemd/src/libsystemd/sd-bus/bus-creds.c /systemd/src/libsystemd/sd-bus/bus-internal.h /systemd/src/libsystemd/sd-bus/bus-kernel.c /systemd/src/libsystemd/sd-bus/bus-match.c /systemd/src/libsystemd/sd-bus/bus-message.c /systemd/src/libsystemd/sd-bus/bus-objects.c /systemd/src/libsystemd/sd-bus/bus-slot.c /systemd/src/libsystemd/sd-bus/bus-track.c /systemd/src/libsystemd/sd-bus/busctl.c /systemd/src/libsystemd/sd-bus/sd-bus.c /systemd/src/libsystemd/sd-bus/test-bus-benchmark.c /systemd/src/libsystemd/sd-bus/test-bus-chat.c /systemd/src/libsystemd/sd-bus/test-bus-cleanup.c /systemd/src/libsystemd/sd-bus/test-bus-creds.c /systemd/src/libsystemd/sd-bus/test-bus-error.c /systemd/src/libsystemd/sd-bus/test-bus-gvariant.c /systemd/src/libsystemd/sd-bus/test-bus-kernel-bloom.c /systemd/src/libsystemd/sd-bus/test-bus-kernel.c /systemd/src/libsystemd/sd-bus/test-bus-marshal.c /systemd/src/libsystemd/sd-bus/test-bus-match.c /systemd/src/libsystemd/sd-bus/test-bus-objects.c /systemd/src/libsystemd/sd-bus/test-bus-proxy.c /systemd/src/libsystemd/sd-bus/test-bus-server.c /systemd/src/libsystemd/sd-device/device-enumerator.c /systemd/src/libsystemd/sd-device/device-private.c /systemd/src/libsystemd/sd-device/device-util.h /systemd/src/libsystemd/sd-device/sd-device.c /systemd/src/libsystemd/sd-event/event-util.h /systemd/src/libsystemd/sd-hwdb/hwdb-util.h /systemd/src/libsystemd/sd-hwdb/sd-hwdb.c /systemd/src/libsystemd/sd-login/sd-login.c /systemd/src/libsystemd/sd-netlink/local-addresses.c /systemd/src/libsystemd/sd-netlink/netlink-internal.h /systemd/src/libsystemd/sd-netlink/netlink-message.c /systemd/src/libsystemd/sd-netlink/netlink-socket.c /systemd/src/libsystemd/sd-netlink/netlink-util.c /systemd/src/libsystemd/sd-netlink/netlink-util.h /systemd/src/libsystemd/sd-netlink/sd-netlink.c /systemd/src/libsystemd/sd-netlink/test-netlink.c /systemd/src/libsystemd/sd-network/network-util.h /systemd/src/libsystemd/sd-resolve/resolve-util.h /systemd/src/libsystemd/sd-resolve/sd-resolve.c /systemd/src/libsystemd/sd-resolve/test-resolve.c /systemd/src/libudev/libudev-enumerate.c /systemd/src/libudev/libudev-hwdb.c /systemd/src/locale/localectl.c /systemd/src/locale/localed.c /systemd/src/login/inhibit.c /systemd/src/login/loginctl.c /systemd/src/login/logind-action.c /systemd/src/login/logind-core.c /systemd/src/login/logind-dbus.c /systemd/src/login/logind-seat-dbus.c /systemd/src/login/logind-session-dbus.c /systemd/src/login/logind-session-device.c /systemd/src/login/logind-session.c /systemd/src/login/logind-user-dbus.c /systemd/src/login/logind-user.c /systemd/src/login/logind.c /systemd/src/login/pam_systemd.c /systemd/src/login/test-inhibit.c /systemd/src/machine/machine-dbus.c /systemd/src/machine/machine.c /systemd/src/machine/machinectl.c /systemd/src/machine/machined-dbus.c /systemd/src/machine/machined.c /systemd/src/network/networkctl.c /systemd/src/network/networkd-address.c /systemd/src/network/networkd-fdb.c /systemd/src/network/networkd-link.c /systemd/src/network/networkd-manager.c /systemd/src/network/networkd-netdev-bridge.c /systemd/src/network/networkd-netdev.c /systemd/src/network/networkd-route.c /systemd/src/network/networkd-wait-online-manager.c /systemd/src/nspawn/nspawn-expose-ports.c /systemd/src/nspawn/nspawn-network.c /systemd/src/nspawn/nspawn-register.c /systemd/src/nspawn/nspawn.c /systemd/src/nss-mymachines/nss-mymachines.c /systemd/src/nss-resolve/nss-resolve.c /systemd/src/resolve-host/resolve-host.c /systemd/src/resolve/resolved-bus.c /systemd/src/resolve/resolved-manager.c /systemd/src/run/run.c /systemd/src/shared/bus-util.c /systemd/src/shared/bus-util.h /systemd/src/shared/logs-show.c /systemd/src/systemctl/systemctl.c /systemd/src/systemd/_sd-common.h /systemd/src/systemd/sd-bus.h /systemd/src/systemd/sd-device.h /systemd/src/systemd/sd-dhcp-client.h /systemd/src/systemd/sd-dhcp-lease.h /systemd/src/systemd/sd-dhcp-server.h /systemd/src/systemd/sd-dhcp6-client.h /systemd/src/systemd/sd-dhcp6-lease.h /systemd/src/systemd/sd-event.h /systemd/src/systemd/sd-hwdb.h /systemd/src/systemd/sd-ipv4acd.h /systemd/src/systemd/sd-ipv4ll.h /systemd/src/systemd/sd-journal.h /systemd/src/systemd/sd-lldp.h /systemd/src/systemd/sd-login.h /systemd/src/systemd/sd-ndisc.h /systemd/src/systemd/sd-netlink.h /systemd/src/systemd/sd-network.h /systemd/src/systemd/sd-resolve.h /systemd/src/test/test-engine.c /systemd/src/timedate/timedatectl.c /systemd/src/timedate/timedated.c /systemd/src/udev/udev-event.c /systemd/src/udev/udevadm-hwdb.c /systemd/src/udev/udevd.c /systemd/src/update-utmp/update-utmp.c
0c28d28834f71e74d5a2d8bcfb19938a34396036 17-Nov-2015 Lennart Poettering <lennart@poettering.net>

sd-ipv4ll: fix error path if sd-ipv4acd allocation fails Let's make sure the destructor cannot hit the n_ref == 0 case.

933f9caeeb2b3c1b951d330e04beb04226e5a890 16-Nov-2015 Daniel Mack <daniel@zonque.org>

siphash24: let siphash24_finalize() and siphash24() return the result directly Rather than passing a pointer to return the result, return it directly from the function calls. Also, return the result in native endianess, and let the callers care about the conversion. For hash tables and bloom filters, we don't care, but in order to keep MAC addresses and DHCP client IDs stable, we explicitly convert to LE.

dbe81cbd2a93088236a2e4e41eeb33378940f7b9 16-Nov-2015 Martin Pitt <martin.pitt@ubuntu.com>

siphash24: change result argument to uint64_t Change the "out" parameter from uint8_t[8] to uint64_t. On architectures which enforce pointer alignment this fixes crashes when we previously cast an unaligned array to uint64_t*, and on others this should at least improve performance as the compiler now aligns these properly. This also simplifies the code in most cases by getting rid of typecasts. The only place which we can't change is struct duid's en.id, as that is _packed_ and public API, so we can't enforce alignment of the "id" field and have to use memcpy instead.

b5efdb8af40ea759a1ea584c1bc44ecc81dd00ce 27-Oct-2015 Lennart Poettering <lennart@poettering.net>

util-lib: split out allocation calls into alloc-util.[ch]

/systemd/Makefile.am /systemd/src/activate/activate.c /systemd/src/analyze/analyze-verify.c /systemd/src/analyze/analyze.c /systemd/src/backlight/backlight.c /systemd/src/basic/alloc-util.c /systemd/src/basic/alloc-util.h /systemd/src/basic/audit-util.c /systemd/src/basic/bitmap.c /systemd/src/basic/btrfs-util.c /systemd/src/basic/bus-label.c /systemd/src/basic/calendarspec.c /systemd/src/basic/capability-util.c /systemd/src/basic/cgroup-util.c /systemd/src/basic/copy.c /systemd/src/basic/cpu-set-util.c /systemd/src/basic/env-util.c /systemd/src/basic/escape.c /systemd/src/basic/extract-word.c /systemd/src/basic/fileio.c /systemd/src/basic/fs-util.c /systemd/src/basic/hashmap.c /systemd/src/basic/hexdecoct.c /systemd/src/basic/in-addr-util.c /systemd/src/basic/json.c /systemd/src/basic/lockfile-util.c /systemd/src/basic/log.c /systemd/src/basic/memfd-util.c /systemd/src/basic/mount-util.c /systemd/src/basic/path-util.c /systemd/src/basic/prioq.c /systemd/src/basic/proc-cmdline.c /systemd/src/basic/process-util.c /systemd/src/basic/replace-var.c /systemd/src/basic/selinux-util.c /systemd/src/basic/smack-util.c /systemd/src/basic/socket-label.c /systemd/src/basic/socket-util.c /systemd/src/basic/strbuf.c /systemd/src/basic/string-util.c /systemd/src/basic/strv.c /systemd/src/basic/terminal-util.c /systemd/src/basic/time-util.c /systemd/src/basic/unit-name.c /systemd/src/basic/user-util.c /systemd/src/basic/utf8.c /systemd/src/basic/util.c /systemd/src/basic/util.h /systemd/src/basic/virt.c /systemd/src/basic/xattr-util.c /systemd/src/binfmt/binfmt.c /systemd/src/boot/bootctl.c /systemd/src/bootchart/bootchart.c /systemd/src/bootchart/store.c /systemd/src/bootchart/svg.c /systemd/src/bus-proxyd/bus-proxyd.c /systemd/src/bus-proxyd/bus-xml-policy.c /systemd/src/bus-proxyd/driver.c /systemd/src/bus-proxyd/proxy.c /systemd/src/bus-proxyd/stdio-bridge.c /systemd/src/bus-proxyd/test-bus-xml-policy.c /systemd/src/cgls/cgls.c /systemd/src/cgtop/cgtop.c /systemd/src/core/automount.c /systemd/src/core/bus-endpoint.c /systemd/src/core/bus-policy.c /systemd/src/core/busname.c /systemd/src/core/cgroup.c /systemd/src/core/dbus-cgroup.c /systemd/src/core/dbus-execute.c /systemd/src/core/dbus-job.c /systemd/src/core/dbus-manager.c /systemd/src/core/dbus-scope.c /systemd/src/core/dbus-service.c /systemd/src/core/dbus-socket.c /systemd/src/core/dbus-timer.c /systemd/src/core/dbus-unit.c /systemd/src/core/dbus.c /systemd/src/core/device.c /systemd/src/core/execute.c /systemd/src/core/hostname-setup.c /systemd/src/core/job.c /systemd/src/core/killall.c /systemd/src/core/load-fragment.c /systemd/src/core/machine-id-setup.c /systemd/src/core/main.c /systemd/src/core/manager.c /systemd/src/core/mount-setup.c /systemd/src/core/mount.c /systemd/src/core/namespace.c /systemd/src/core/scope.c /systemd/src/core/selinux-access.c /systemd/src/core/service.c /systemd/src/core/show-status.c /systemd/src/core/shutdown.c /systemd/src/core/slice.c /systemd/src/core/smack-setup.c /systemd/src/core/snapshot.c /systemd/src/core/socket.c /systemd/src/core/swap.c /systemd/src/core/timer.c /systemd/src/core/transaction.c /systemd/src/core/umount.c /systemd/src/core/unit-printf.c /systemd/src/core/unit.c /systemd/src/cryptsetup/cryptsetup-generator.c /systemd/src/cryptsetup/cryptsetup.c /systemd/src/dbus1-generator/dbus1-generator.c /systemd/src/debug-generator/debug-generator.c /systemd/src/delta/delta.c /systemd/src/escape/escape.c /systemd/src/firstboot/firstboot.c /systemd/src/fsck/fsck.c /systemd/src/fstab-generator/fstab-generator.c /systemd/src/getty-generator/getty-generator.c /systemd/src/gpt-auto-generator/gpt-auto-generator.c /systemd/src/hibernate-resume/hibernate-resume-generator.c /systemd/src/hibernate-resume/hibernate-resume.c /systemd/src/hostname/hostnamectl.c /systemd/src/hostname/hostnamed.c /systemd/src/hwdb/hwdb.c /systemd/src/import/curl-util.c /systemd/src/import/export-raw.c /systemd/src/import/export-tar.c /systemd/src/import/export.c /systemd/src/import/import-raw.c /systemd/src/import/import-tar.c /systemd/src/import/import.c /systemd/src/import/importd.c /systemd/src/import/pull-common.c /systemd/src/import/pull-dkr.c /systemd/src/import/pull-job.c /systemd/src/import/pull-raw.c /systemd/src/import/pull-tar.c /systemd/src/import/pull.c /systemd/src/import/qcow2-util.c /systemd/src/initctl/initctl.c /systemd/src/journal-remote/journal-gatewayd.c /systemd/src/journal-remote/journal-remote-parse.c /systemd/src/journal-remote/journal-remote-write.c /systemd/src/journal-remote/journal-remote.c /systemd/src/journal-remote/journal-upload-journal.c /systemd/src/journal-remote/journal-upload.c /systemd/src/journal-remote/microhttpd-util.c /systemd/src/journal/catalog.c /systemd/src/journal/compress.c /systemd/src/journal/coredump-vacuum.c /systemd/src/journal/coredump.c /systemd/src/journal/coredumpctl.c /systemd/src/journal/journal-file.c /systemd/src/journal/journal-send.c /systemd/src/journal/journal-vacuum.c /systemd/src/journal/journal-verify.c /systemd/src/journal/journalctl.c /systemd/src/journal/journald-audit.c /systemd/src/journal/journald-console.c /systemd/src/journal/journald-native.c /systemd/src/journal/journald-rate-limit.c /systemd/src/journal/journald-server.c /systemd/src/journal/journald-stream.c /systemd/src/journal/journald-syslog.c /systemd/src/journal/journald-wall.c /systemd/src/journal/mmap-cache.c /systemd/src/journal/sd-journal.c /systemd/src/journal/stacktrace.c /systemd/src/journal/test-catalog.c /systemd/src/journal/test-compress-benchmark.c /systemd/src/journal/test-compress.c /systemd/src/journal/test-journal-flush.c /systemd/src/journal/test-journal-interleaving.c /systemd/src/journal/test-journal-match.c /systemd/src/journal/test-journal-stream.c /systemd/src/journal/test-journal-syslog.c dhcp6-option.c lldp-internal.c lldp-port.c lldp-tlv.c network-internal.c sd-dhcp-client.c sd-dhcp-lease.c sd-dhcp-server.c sd-dhcp6-client.c sd-dhcp6-lease.c sd-ipv4acd.c sd-ipv4ll.c sd-lldp.c sd-ndisc.c sd-pppoe.c test-dhcp-client.c test-dhcp-option.c test-ipv4ll-manual.c test-lldp.c /systemd/src/libsystemd/sd-bus/bus-control.c /systemd/src/libsystemd/sd-bus/bus-creds.c /systemd/src/libsystemd/sd-bus/bus-dump.c /systemd/src/libsystemd/sd-bus/bus-error.c /systemd/src/libsystemd/sd-bus/bus-internal.c /systemd/src/libsystemd/sd-bus/bus-kernel.c /systemd/src/libsystemd/sd-bus/bus-match.c /systemd/src/libsystemd/sd-bus/bus-message.c /systemd/src/libsystemd/sd-bus/bus-objects.c /systemd/src/libsystemd/sd-bus/bus-slot.c /systemd/src/libsystemd/sd-bus/bus-socket.c /systemd/src/libsystemd/sd-bus/bus-track.c /systemd/src/libsystemd/sd-bus/busctl-introspect.c /systemd/src/libsystemd/sd-bus/busctl.c /systemd/src/libsystemd/sd-bus/sd-bus.c /systemd/src/libsystemd/sd-bus/test-bus-benchmark.c /systemd/src/libsystemd/sd-bus/test-bus-chat.c /systemd/src/libsystemd/sd-bus/test-bus-gvariant.c /systemd/src/libsystemd/sd-bus/test-bus-kernel-bloom.c /systemd/src/libsystemd/sd-bus/test-bus-kernel.c /systemd/src/libsystemd/sd-bus/test-bus-marshal.c /systemd/src/libsystemd/sd-bus/test-bus-objects.c /systemd/src/libsystemd/sd-bus/test-bus-proxy.c /systemd/src/libsystemd/sd-bus/test-bus-zero-copy.c /systemd/src/libsystemd/sd-daemon/sd-daemon.c /systemd/src/libsystemd/sd-device/device-enumerator.c /systemd/src/libsystemd/sd-device/device-private.c /systemd/src/libsystemd/sd-device/sd-device.c /systemd/src/libsystemd/sd-event/sd-event.c /systemd/src/libsystemd/sd-hwdb/sd-hwdb.c /systemd/src/libsystemd/sd-login/sd-login.c /systemd/src/libsystemd/sd-login/test-login.c /systemd/src/libsystemd/sd-netlink/local-addresses.c /systemd/src/libsystemd/sd-netlink/netlink-message.c /systemd/src/libsystemd/sd-netlink/netlink-socket.c /systemd/src/libsystemd/sd-netlink/sd-netlink.c /systemd/src/libsystemd/sd-netlink/test-local-addresses.c /systemd/src/libsystemd/sd-network/network-util.c /systemd/src/libsystemd/sd-network/sd-network.c /systemd/src/libsystemd/sd-path/sd-path.c /systemd/src/libsystemd/sd-resolve/sd-resolve.c /systemd/src/libsystemd/sd-resolve/test-resolve.c /systemd/src/libudev/libudev-device.c /systemd/src/libudev/libudev-enumerate.c /systemd/src/libudev/libudev-hwdb.c /systemd/src/libudev/libudev-list.c /systemd/src/libudev/libudev-monitor.c /systemd/src/libudev/libudev-queue.c /systemd/src/libudev/libudev.c /systemd/src/locale/localed.c /systemd/src/login/inhibit.c /systemd/src/login/loginctl.c /systemd/src/login/logind-acl.c /systemd/src/login/logind-action.c /systemd/src/login/logind-button.c /systemd/src/login/logind-core.c /systemd/src/login/logind-dbus.c /systemd/src/login/logind-device.c /systemd/src/login/logind-inhibit.c /systemd/src/login/logind-seat-dbus.c /systemd/src/login/logind-seat.c /systemd/src/login/logind-session-dbus.c /systemd/src/login/logind-session-device.c /systemd/src/login/logind-session.c /systemd/src/login/logind-user-dbus.c /systemd/src/login/logind-user.c /systemd/src/login/logind-utmp.c /systemd/src/login/logind.c /systemd/src/login/pam_systemd.c /systemd/src/login/sysfs-show.c /systemd/src/machine/image-dbus.c /systemd/src/machine/machine-dbus.c /systemd/src/machine/machine.c /systemd/src/machine/machinectl.c /systemd/src/machine/machined-dbus.c /systemd/src/machine/machined.c /systemd/src/network/networkctl.c /systemd/src/network/networkd-address-pool.c /systemd/src/network/networkd-address.c /systemd/src/network/networkd-dhcp4.c /systemd/src/network/networkd-fdb.c /systemd/src/network/networkd-link-bus.c /systemd/src/network/networkd-link.c /systemd/src/network/networkd-manager-bus.c /systemd/src/network/networkd-manager.c /systemd/src/network/networkd-netdev-bond.c /systemd/src/network/networkd-netdev-tuntap.c /systemd/src/network/networkd-netdev.c /systemd/src/network/networkd-network-bus.c /systemd/src/network/networkd-network.c /systemd/src/network/networkd-route.c /systemd/src/network/networkd-wait-online-link.c /systemd/src/network/networkd-wait-online-manager.c /systemd/src/network/test-network.c /systemd/src/notify/notify.c /systemd/src/nspawn/nspawn-cgroup.c /systemd/src/nspawn/nspawn-expose-ports.c /systemd/src/nspawn/nspawn-mount.c /systemd/src/nspawn/nspawn-network.c /systemd/src/nspawn/nspawn-settings.c /systemd/src/nspawn/nspawn-setuid.c /systemd/src/nspawn/nspawn.c /systemd/src/nss-myhostname/nss-myhostname.c /systemd/src/nss-mymachines/nss-mymachines.c /systemd/src/path/path.c /systemd/src/random-seed/random-seed.c /systemd/src/rc-local-generator/rc-local-generator.c /systemd/src/resolve-host/resolve-host.c /systemd/src/resolve/resolved-bus.c /systemd/src/resolve/resolved-conf.c /systemd/src/resolve/resolved-dns-answer.c /systemd/src/resolve/resolved-dns-cache.c /systemd/src/resolve/resolved-dns-packet.c /systemd/src/resolve/resolved-dns-query.c /systemd/src/resolve/resolved-dns-question.c /systemd/src/resolve/resolved-dns-rr.c /systemd/src/resolve/resolved-dns-scope.c /systemd/src/resolve/resolved-dns-server.c /systemd/src/resolve/resolved-dns-stream.c /systemd/src/resolve/resolved-dns-transaction.c /systemd/src/resolve/resolved-dns-zone.c /systemd/src/resolve/resolved-link.c /systemd/src/resolve/resolved-manager.c /systemd/src/rfkill/rfkill.c /systemd/src/run/run.c /systemd/src/shared/acl-util.c /systemd/src/shared/acpi-fpdt.c /systemd/src/shared/apparmor-util.c /systemd/src/shared/ask-password-api.c /systemd/src/shared/base-filesystem.c /systemd/src/shared/bus-util.c /systemd/src/shared/cgroup-show.c /systemd/src/shared/condition.c /systemd/src/shared/conf-parser.c /systemd/src/shared/dev-setup.c /systemd/src/shared/dns-domain.c /systemd/src/shared/dropin.c /systemd/src/shared/efivars.c /systemd/src/shared/firewall-util.c /systemd/src/shared/fstab-util.c /systemd/src/shared/generator.c /systemd/src/shared/import-util.c /systemd/src/shared/install-printf.c /systemd/src/shared/install.c /systemd/src/shared/logs-show.c /systemd/src/shared/machine-image.c /systemd/src/shared/machine-pool.c /systemd/src/shared/path-lookup.c /systemd/src/shared/ptyfwd.c /systemd/src/shared/sleep-config.c /systemd/src/shared/specifier.c /systemd/src/shared/utmp-wtmp.c /systemd/src/socket-proxy/socket-proxyd.c /systemd/src/systemctl/systemctl.c /systemd/src/sysusers/sysusers.c /systemd/src/sysv-generator/sysv-generator.c /systemd/src/test/test-calendarspec.c /systemd/src/test/test-cap-list.c /systemd/src/test/test-cgroup-util.c /systemd/src/test/test-condition.c /systemd/src/test/test-conf-files.c /systemd/src/test/test-copy.c /systemd/src/test/test-date.c /systemd/src/test/test-device-nodes.c /systemd/src/test/test-dns-domain.c /systemd/src/test/test-ellipsize.c /systemd/src/test/test-fileio.c /systemd/src/test/test-fstab-util.c /systemd/src/test/test-hashmap-plain.c /systemd/src/test/test-hostname-util.c /systemd/src/test/test-id128.c /systemd/src/test/test-json.c /systemd/src/test/test-namespace.c /systemd/src/test/test-path-util.c /systemd/src/test/test-path.c /systemd/src/test/test-prioq.c /systemd/src/test/test-process-util.c /systemd/src/test/test-socket-util.c /systemd/src/test/test-strv.c /systemd/src/test/test-tmpfiles.c /systemd/src/test/test-uid-range.c /systemd/src/test/test-unit-file.c /systemd/src/test/test-unit-name.c /systemd/src/test/test-user-util.c /systemd/src/test/test-utf8.c /systemd/src/test/test-util.c /systemd/src/test/test-xml.c /systemd/src/timedate/timedated.c /systemd/src/timesync/timesyncd-conf.c /systemd/src/timesync/timesyncd-manager.c /systemd/src/timesync/timesyncd-server.c /systemd/src/tmpfiles/tmpfiles.c /systemd/src/tty-ask-password-agent/tty-ask-password-agent.c /systemd/src/udev/collect/collect.c /systemd/src/udev/net/link-config.c /systemd/src/udev/udev-builtin-blkid.c /systemd/src/udev/udev-builtin-hwdb.c /systemd/src/udev/udev-builtin-net_setup_link.c /systemd/src/udev/udev-builtin-path_id.c /systemd/src/udev/udev-builtin-usb_id.c /systemd/src/udev/udev-ctrl.c /systemd/src/udev/udev-event.c /systemd/src/udev/udev-rules.c /systemd/src/udev/udevadm-hwdb.c /systemd/src/udev/udevd.c /systemd/src/update-utmp/update-utmp.c /systemd/src/vconsole/vconsole-setup.c
04c0136989b7eb896bfb0fb176e11233d69e1453 24-Oct-2015 Lennart Poettering <lennart@poettering.net>

sd-*.h: clean up exported (or to-be-exported) header files Exported header files should not include internal headers. Fix that. Exported header files should not use the bool type. So far we opted to stick to C89 for exported headers, and hence use "int" for bools in them. Continue to do so. Exported header files should have #include lines for everything they use including inttypes.h and sys/types.h, so that they may be included in any order. Exported header files should have C++ guards, hence add them. Exported header files should not use gcc extensions like #pragma once, get rid of it.

07630cea1f3a845c09309f197ac7c4f11edd3b62 24-Oct-2015 Lennart Poettering <lennart@poettering.net>

util-lib: split our string related calls from util.[ch] into its own file string-util.[ch] There are more than enough calls doing string manipulations to deserve its own files, hence do something about it. This patch also sorts the #include blocks of all files that needed to be updated, according to the sorting suggestions from CODING_STYLE. Since pretty much every file needs our string manipulation functions this effectively means that most files have sorted #include blocks now. Also touches a few unrelated include files.

/systemd/Makefile.am /systemd/src/activate/activate.c /systemd/src/backlight/backlight.c /systemd/src/basic/btrfs-util.c /systemd/src/basic/calendarspec.c /systemd/src/basic/cgroup-util.c /systemd/src/basic/clock-util.c /systemd/src/basic/conf-files.c /systemd/src/basic/copy.c /systemd/src/basic/env-util.c /systemd/src/basic/fdset.c /systemd/src/basic/fileio.c /systemd/src/basic/hostname-util.c /systemd/src/basic/json.c /systemd/src/basic/locale-util.c /systemd/src/basic/log.c /systemd/src/basic/log.h /systemd/src/basic/login-util.c /systemd/src/basic/memfd-util.c /systemd/src/basic/path-util.c /systemd/src/basic/process-util.c /systemd/src/basic/rm-rf.c /systemd/src/basic/signal-util.c /systemd/src/basic/socket-util.c /systemd/src/basic/string-util.c /systemd/src/basic/string-util.h /systemd/src/basic/strv.c /systemd/src/basic/terminal-util.c /systemd/src/basic/time-util.c /systemd/src/basic/unit-name.c /systemd/src/basic/util.c /systemd/src/basic/util.h /systemd/src/basic/verbs.c /systemd/src/basic/virt.c /systemd/src/basic/xml.c /systemd/src/binfmt/binfmt.c /systemd/src/boot/bootctl.c /systemd/src/bootchart/bootchart.c /systemd/src/bootchart/store.c /systemd/src/bus-proxyd/bus-proxyd.c /systemd/src/bus-proxyd/bus-xml-policy.c /systemd/src/bus-proxyd/driver.c /systemd/src/bus-proxyd/proxy.h /systemd/src/bus-proxyd/synthesize.c /systemd/src/bus-proxyd/synthesize.h /systemd/src/bus-proxyd/test-bus-xml-policy.c /systemd/src/cgroups-agent/cgroups-agent.c /systemd/src/core/automount.c /systemd/src/core/busname.c /systemd/src/core/busname.h /systemd/src/core/cgroup.c /systemd/src/core/dbus-automount.c /systemd/src/core/dbus-busname.c /systemd/src/core/dbus-cgroup.h /systemd/src/core/dbus-execute.h /systemd/src/core/dbus-job.c /systemd/src/core/dbus-job.h /systemd/src/core/dbus-kill.h /systemd/src/core/dbus-manager.c /systemd/src/core/dbus-mount.c /systemd/src/core/dbus-mount.h /systemd/src/core/dbus-path.c /systemd/src/core/dbus-service.c /systemd/src/core/dbus-socket.c /systemd/src/core/dbus-swap.c /systemd/src/core/dbus-target.h /systemd/src/core/dbus-unit.c /systemd/src/core/dbus.c /systemd/src/core/device.c /systemd/src/core/execute.c /systemd/src/core/hostname-setup.c /systemd/src/core/job.c /systemd/src/core/job.h /systemd/src/core/killall.c /systemd/src/core/load-fragment.c /systemd/src/core/locale-setup.c /systemd/src/core/loopback-setup.c /systemd/src/core/machine-id-setup.c /systemd/src/core/manager.c /systemd/src/core/mount.c /systemd/src/core/namespace.c /systemd/src/core/path.c /systemd/src/core/scope.c /systemd/src/core/selinux-setup.c /systemd/src/core/service.c /systemd/src/core/show-status.c /systemd/src/core/shutdown.c /systemd/src/core/slice.c /systemd/src/core/smack-setup.c /systemd/src/core/snapshot.c /systemd/src/core/socket.c /systemd/src/core/swap.c /systemd/src/core/swap.h /systemd/src/core/target.c /systemd/src/core/timer.c /systemd/src/core/umount.c /systemd/src/core/unit-printf.c /systemd/src/core/unit.c /systemd/src/cryptsetup/cryptsetup-generator.c /systemd/src/cryptsetup/cryptsetup.c /systemd/src/debug-generator/debug-generator.c /systemd/src/delta/delta.c /systemd/src/escape/escape.c /systemd/src/firstboot/firstboot.c /systemd/src/fstab-generator/fstab-generator.c /systemd/src/getty-generator/getty-generator.c /systemd/src/gpt-auto-generator/gpt-auto-generator.c /systemd/src/hibernate-resume/hibernate-resume-generator.c /systemd/src/hwdb/hwdb.c /systemd/src/import/aufs-util.c /systemd/src/import/curl-util.c /systemd/src/import/curl-util.h /systemd/src/import/export-raw.c /systemd/src/import/export-tar.c /systemd/src/import/export.c /systemd/src/import/import-raw.c /systemd/src/import/import-tar.c /systemd/src/import/import.c /systemd/src/import/pull-common.c /systemd/src/import/pull-dkr.c /systemd/src/import/pull-job.c /systemd/src/import/pull-raw.c /systemd/src/import/pull-tar.c /systemd/src/import/pull.c /systemd/src/journal-remote/journal-remote-parse.c /systemd/src/journal-remote/journal-remote.c /systemd/src/journal-remote/journal-upload.c /systemd/src/journal-remote/microhttpd-util.c /systemd/src/journal/cat.c /systemd/src/journal/catalog.c /systemd/src/journal/compress.c /systemd/src/journal/coredump-vacuum.c /systemd/src/journal/coredump.c /systemd/src/journal/coredumpctl.c /systemd/src/journal/journal-file.c /systemd/src/journal/journal-internal.h /systemd/src/journal/journal-send.c /systemd/src/journal/journal-vacuum.c /systemd/src/journal/journald-audit.c /systemd/src/journal/journald-kmsg.c /systemd/src/journal/journald-native.c /systemd/src/journal/journald-rate-limit.c /systemd/src/journal/journald-server.c /systemd/src/journal/journald-stream.c /systemd/src/journal/journald-syslog.c /systemd/src/journal/journald-wall.c /systemd/src/journal/sd-journal.c /systemd/src/journal/stacktrace.c /systemd/src/journal/test-catalog.c /systemd/src/journal/test-compress-benchmark.c /systemd/src/journal/test-journal-enum.c /systemd/src/journal/test-journal-flush.c /systemd/src/journal/test-journal-match.c /systemd/src/journal/test-journal-syslog.c dhcp-identifier.c dhcp-identifier.h dhcp-internal.h dhcp6-internal.h lldp-internal.c lldp-internal.h network-internal.c sd-dhcp-client.c sd-dhcp-lease.c sd-dhcp-server.c sd-dhcp6-client.c sd-ipv4acd.c sd-ipv4ll.c sd-lldp.c sd-ndisc.c sd-pppoe.c test-dhcp-client.c test-dhcp-server.c test-dhcp6-client.c test-ipv4ll-manual.c test-ipv4ll.c test-lldp.c test-ndisc-rs.c /systemd/src/libsystemd/sd-bus/bus-control.c /systemd/src/libsystemd/sd-bus/bus-convenience.c /systemd/src/libsystemd/sd-bus/bus-creds.c /systemd/src/libsystemd/sd-bus/bus-dump.c /systemd/src/libsystemd/sd-bus/bus-error.c /systemd/src/libsystemd/sd-bus/bus-internal.c /systemd/src/libsystemd/sd-bus/bus-internal.h /systemd/src/libsystemd/sd-bus/bus-introspect.c /systemd/src/libsystemd/sd-bus/bus-kernel.c /systemd/src/libsystemd/sd-bus/bus-match.c /systemd/src/libsystemd/sd-bus/bus-match.h /systemd/src/libsystemd/sd-bus/bus-message.c /systemd/src/libsystemd/sd-bus/bus-message.h /systemd/src/libsystemd/sd-bus/bus-objects.c /systemd/src/libsystemd/sd-bus/bus-slot.c /systemd/src/libsystemd/sd-bus/bus-socket.c /systemd/src/libsystemd/sd-bus/bus-type.h /systemd/src/libsystemd/sd-bus/busctl-introspect.c /systemd/src/libsystemd/sd-bus/sd-bus.c /systemd/src/libsystemd/sd-bus/test-bus-benchmark.c /systemd/src/libsystemd/sd-bus/test-bus-chat.c /systemd/src/libsystemd/sd-bus/test-bus-cleanup.c /systemd/src/libsystemd/sd-bus/test-bus-gvariant.c /systemd/src/libsystemd/sd-bus/test-bus-kernel-bloom.c /systemd/src/libsystemd/sd-bus/test-bus-kernel.c /systemd/src/libsystemd/sd-bus/test-bus-marshal.c /systemd/src/libsystemd/sd-bus/test-bus-objects.c /systemd/src/libsystemd/sd-bus/test-bus-proxy.c /systemd/src/libsystemd/sd-bus/test-bus-server.c /systemd/src/libsystemd/sd-bus/test-bus-signature.c /systemd/src/libsystemd/sd-bus/test-bus-zero-copy.c /systemd/src/libsystemd/sd-daemon/sd-daemon.c /systemd/src/libsystemd/sd-device/device-enumerator.c /systemd/src/libsystemd/sd-device/device-private.c /systemd/src/libsystemd/sd-device/device-private.h /systemd/src/libsystemd/sd-device/sd-device.c /systemd/src/libsystemd/sd-event/event-util.h /systemd/src/libsystemd/sd-event/sd-event.c /systemd/src/libsystemd/sd-hwdb/hwdb-util.h /systemd/src/libsystemd/sd-hwdb/sd-hwdb.c /systemd/src/libsystemd/sd-id128/sd-id128.c /systemd/src/libsystemd/sd-login/sd-login.c /systemd/src/libsystemd/sd-login/test-login.c /systemd/src/libsystemd/sd-netlink/netlink-internal.h /systemd/src/libsystemd/sd-netlink/netlink-message.c /systemd/src/libsystemd/sd-netlink/netlink-socket.c /systemd/src/libsystemd/sd-netlink/netlink-util.c /systemd/src/libsystemd/sd-netlink/netlink-util.h /systemd/src/libsystemd/sd-netlink/rtnl-message.c /systemd/src/libsystemd/sd-netlink/sd-netlink.c /systemd/src/libsystemd/sd-netlink/test-netlink.c /systemd/src/libsystemd/sd-network/sd-network.c /systemd/src/libsystemd/sd-path/sd-path.c /systemd/src/libsystemd/sd-resolve/resolve-util.h /systemd/src/libsystemd/sd-resolve/sd-resolve.c /systemd/src/libsystemd/sd-resolve/test-resolve.c /systemd/src/libsystemd/sd-utf8/sd-utf8.c /systemd/src/libudev/libudev-device-internal.h /systemd/src/libudev/libudev-device-private.c /systemd/src/libudev/libudev-device.c /systemd/src/libudev/libudev-enumerate.c /systemd/src/libudev/libudev-hwdb.c /systemd/src/libudev/libudev-monitor.c /systemd/src/libudev/libudev-private.h /systemd/src/libudev/libudev-util.c /systemd/src/libudev/libudev.c /systemd/src/login/logind-acl.c /systemd/src/login/logind-acl.h /systemd/src/login/logind-action.h /systemd/src/login/logind-button.c /systemd/src/login/logind-inhibit.c /systemd/src/login/logind-seat.c /systemd/src/login/logind-session-device.c /systemd/src/login/logind.c /systemd/src/login/logind.h /systemd/src/login/sysfs-show.c /systemd/src/login/test-inhibit.c /systemd/src/machine/machined.h /systemd/src/modules-load/modules-load.c /systemd/src/network/networkctl.c /systemd/src/network/networkd-address-pool.c /systemd/src/network/networkd-address.c /systemd/src/network/networkd-dhcp6.c /systemd/src/network/networkd-link.h /systemd/src/network/networkd-manager.c /systemd/src/network/networkd-ndisc.c /systemd/src/network/networkd-netdev-bond.c /systemd/src/network/networkd-netdev-tunnel.c /systemd/src/network/networkd-netdev.c /systemd/src/network/networkd-network-bus.c /systemd/src/network/networkd-network.c /systemd/src/network/networkd-route.c /systemd/src/network/networkd-util.c /systemd/src/network/networkd-wait-online-link.c /systemd/src/notify/notify.c /systemd/src/nspawn/nspawn-cgroup.c /systemd/src/nspawn/nspawn-expose-ports.c /systemd/src/nspawn/nspawn-mount.c /systemd/src/nspawn/nspawn-network.c /systemd/src/nspawn/nspawn-setuid.c /systemd/src/nspawn/nspawn.c /systemd/src/nss-myhostname/nss-myhostname.c /systemd/src/nss-mymachines/nss-mymachines.c /systemd/src/nss-resolve/nss-resolve.c /systemd/src/path/path.c /systemd/src/quotacheck/quotacheck.c /systemd/src/random-seed/random-seed.c /systemd/src/rc-local-generator/rc-local-generator.c /systemd/src/reply-password/reply-password.c /systemd/src/resolve/resolved-conf.c /systemd/src/resolve/resolved-dns-answer.c /systemd/src/resolve/resolved-dns-rr.c /systemd/src/resolve/resolved-dns-zone.c /systemd/src/resolve/resolved-link.c /systemd/src/resolve/resolved-manager.c /systemd/src/rfkill/rfkill.c /systemd/src/shared/acl-util.c /systemd/src/shared/architecture.c /systemd/src/shared/ask-password-api.c /systemd/src/shared/base-filesystem.c /systemd/src/shared/bus-util.c /systemd/src/shared/bus-util.h /systemd/src/shared/cgroup-show.c /systemd/src/shared/clean-ipc.c /systemd/src/shared/condition.c /systemd/src/shared/conf-parser.c /systemd/src/shared/dns-domain.c /systemd/src/shared/dropin.c /systemd/src/shared/fstab-util.c /systemd/src/shared/generator.c /systemd/src/shared/import-util.c /systemd/src/shared/install.c /systemd/src/shared/logs-show.c /systemd/src/shared/machine-image.c /systemd/src/shared/machine-pool.c /systemd/src/shared/pager.c /systemd/src/shared/path-lookup.c /systemd/src/shared/seccomp-util.c /systemd/src/shared/sleep-config.c /systemd/src/shared/specifier.c /systemd/src/shared/switch-root.c /systemd/src/shared/sysctl-util.c /systemd/src/shared/utmp-wtmp.c /systemd/src/sleep/sleep.c /systemd/src/socket-proxy/socket-proxyd.c /systemd/src/sysctl/sysctl.c /systemd/src/system-update-generator/system-update-generator.c /systemd/src/systemd/sd-dhcp6-client.h /systemd/src/systemd/sd-lldp.h /systemd/src/sysusers/sysusers.c /systemd/src/sysv-generator/sysv-generator.c /systemd/src/test/test-af-list.c /systemd/src/test/test-arphrd-list.c /systemd/src/test/test-btrfs.c /systemd/src/test/test-calendarspec.c /systemd/src/test/test-cgroup-util.c /systemd/src/test/test-cgroup.c /systemd/src/test/test-condition.c /systemd/src/test/test-conf-files.c /systemd/src/test/test-conf-parser.c /systemd/src/test/test-copy.c /systemd/src/test/test-date.c /systemd/src/test/test-device-nodes.c /systemd/src/test/test-dns-domain.c /systemd/src/test/test-ellipsize.c /systemd/src/test/test-env-replace.c /systemd/src/test/test-fileio.c /systemd/src/test/test-fstab-util.c /systemd/src/test/test-hashmap-plain.c /systemd/src/test/test-hostname-util.c /systemd/src/test/test-id128.c /systemd/src/test/test-json.c /systemd/src/test/test-libudev.c /systemd/src/test/test-namespace.c /systemd/src/test/test-netlink-manual.c /systemd/src/test/test-path-lookup.c /systemd/src/test/test-path-util.c /systemd/src/test/test-path.c /systemd/src/test/test-process-util.c /systemd/src/test/test-replace-var.c /systemd/src/test/test-socket-util.c /systemd/src/test/test-strbuf.c /systemd/src/test/test-strip-tab-ansi.c /systemd/src/test/test-strv.c /systemd/src/test/test-strxcpyx.c /systemd/src/test/test-tmpfiles.c /systemd/src/test/test-udev.c /systemd/src/test/test-unit-file.c /systemd/src/test/test-unit-name.c /systemd/src/test/test-utf8.c /systemd/src/test/test-util.c /systemd/src/test/test-xml.c /systemd/src/timesync/timesyncd-conf.c /systemd/src/timesync/timesyncd-manager.c /systemd/src/tmpfiles/tmpfiles.c /systemd/src/tty-ask-password-agent/tty-ask-password-agent.c /systemd/src/udev/ata_id/ata_id.c /systemd/src/udev/cdrom_id/cdrom_id.c /systemd/src/udev/collect/collect.c /systemd/src/udev/net/link-config.c /systemd/src/udev/net/link-config.h /systemd/src/udev/scsi_id/scsi_id.c /systemd/src/udev/scsi_id/scsi_serial.c /systemd/src/udev/udev-builtin-blkid.c /systemd/src/udev/udev-builtin-btrfs.c /systemd/src/udev/udev-builtin-hwdb.c /systemd/src/udev/udev-builtin-input_id.c /systemd/src/udev/udev-builtin-keyboard.c /systemd/src/udev/udev-builtin-kmod.c /systemd/src/udev/udev-builtin-net_id.c /systemd/src/udev/udev-builtin-path_id.c /systemd/src/udev/udev-builtin-usb_id.c /systemd/src/udev/udev-builtin.c /systemd/src/udev/udev-event.c /systemd/src/udev/udev-node.c /systemd/src/udev/udev-rules.c /systemd/src/udev/udev.h /systemd/src/udev/udevadm-hwdb.c /systemd/src/udev/udevadm-info.c /systemd/src/udev/udevadm-test-builtin.c /systemd/src/udev/udevadm-test.c /systemd/src/udev/udevadm-trigger.c /systemd/src/udev/udevadm-util.c /systemd/src/udev/udevadm.c /systemd/src/udev/udevd.c /systemd/src/user-sessions/user-sessions.c /systemd/src/vconsole/vconsole-setup.c
129dc1b489d924d28956b09a06f03d7607beb8ad 11-Oct-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: allow initial address to be set explicitly This is useful in case the daemon is restarted and the state of the IPv4LL client should be serialized/deserialized.

be19c5b5e0c0f78b8429b126936fa15856550a23 22-Sep-2015 David Herrmann <dh.herrmann@gmail.com>

sd-ipv4ll: fix namespacing Prefix all exported constants with SD_IPV4LL_* to avoid namespacing conflicts.

2237aa02f3e2739a1ebe9c0bc224b5125f5eb292 22-Sep-2015 David Herrmann <dh.herrmann@gmail.com>

sd-ipv4acd: fix namespacing Prefix all exported constants with SD_IPV4ACD to prevent namespacing conflicts.

56065db4214a62a4d9ed4465333fcded35322aa8 21-Sep-2015 Ronny Chevalier <chevalier.ronny@gmail.com>

sd-ipv4ll: do not assert_return when seed == 0 Now that seed is an unsigned and not an array, we do not need to assert on it.

e3dca0089b7b50e2ec21409d1292727921d06102 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4acd: introduce new library split out from sd-ipv4ll This splits the Address Conflict Detection out of the Link Local library so that we can reuse it for DHCP and static addresses in the future. Implements RFC5227.

6af9144f5ff65cb9f6ae9999e7e0a9edc4841b2b 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: simplify conflict handling Use stop() and start() to drop some pulicate code.

b45e4eb679ad0c9a77c4fe6e404c8842d4097fdb 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: rework callbacks Firstly, no longer distinguish between STOP and INIT states. Secondly, do not trigger STOP events when calls to sd_ipv4ll_*() fail. The caller is the one who would receive the event and will already know that the call to sd_ipv4ll_*() has failed, so it is redundant. STOP events will now only be triggered by calling sd_ipv4ll_stop() explicitly or by some internal error in the library triggered by receiving a packet or an expiring timeout (i.e., any error that would otherwise not be reported back to the consumer of the library). Lastly, follow CODING_STYLE and always return NULL on unref. Protect from objects being destroyed in callbacks accordingly.

5707940ed31272d44ba2dcf0a74a3024256d2875 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: don't allow changing MAC address whilst running This requires the caller to stop and restart the statemachine if they want to change the MAC address.

94a355a1306ef51ab6c7f5264aaac35a54d5b54a 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: code cleanups Simplify timeout handling.

028e0b20563cbe5a7adb350e670181c77f4c9050 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: remove duplicate packet verification Most packets are filtered out by the BPF, so only check for the parts that may actually differ.

25d6213b4331e9cbf355f4e851fc5b4ee2ae4c0f 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: minor cleanups

b26f7e8ec922f0d55733ab8d5b6c41212e5a4575 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: split out on_conflict() from on_packet()

8e5787b5e045e40c961ce97003f440090f545c1c 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: split run_state_machine() into on_packet() and on_timeout() Simplify the code a bit, no functional change.

996d16975b4d802335188a3be2bbc3635c1287f3 18-Sep-2015 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: filter out unwanted ARP packets in the kernel We currently process every ARP packet, but we should only care about the ones relating to our IP address. Also rename ipv4ll helpers to apr-utils.[ch], and rework the helpers a bit.

ece174c5439021e32ebcc858842de9586072c006 09-Sep-2015 Lennart Poettering <lennart@poettering.net>

tree-wide: drop {} from one-line if blocks Patch via coccinelle.

/systemd/coccinelle/empty-if.cocci /systemd/src/analyze/analyze.c /systemd/src/basic/strv.c /systemd/src/bootchart/bootchart.c /systemd/src/bootchart/svg.c /systemd/src/core/load-fragment.c /systemd/src/core/main.c /systemd/src/core/manager.c /systemd/src/core/service.c /systemd/src/core/transaction.c /systemd/src/cryptsetup/cryptsetup.c /systemd/src/hostname/hostnamed.c /systemd/src/import/importd.c /systemd/src/journal-remote/journal-gatewayd.c /systemd/src/journal-remote/journal-upload-journal.c /systemd/src/journal/journald-audit.c /systemd/src/journal/test-journal-verify.c sd-ipv4ll.c /systemd/src/libsystemd/sd-bus/bus-creds.c /systemd/src/libsystemd/sd-netlink/netlink-message.c /systemd/src/login/logind-button.c /systemd/src/machine/machinectl.c /systemd/src/network/networkd-netdev-bond.c /systemd/src/random-seed/random-seed.c /systemd/src/resolve-host/resolve-host.c /systemd/src/resolve/resolved-dns-cache.c /systemd/src/shared/logs-show.c /systemd/src/systemctl/systemctl.c /systemd/src/udev/net/ethtool-util.c /systemd/src/udev/scsi_id/scsi_serial.c /systemd/src/udev/udev-ctrl.c /systemd/src/udev/udev-rules.c /systemd/src/udev/udevd.c /systemd/src/update-utmp/update-utmp.c /systemd/src/user-sessions/user-sessions.c
9c8e3101ceef00342263d57dce3fa61956824985 27-Aug-2015 Lennart Poettering <lennart@poettering.net>

network: get rid of more RefCnt usage A follow-up to 3733eec3e292e4ddb4cba5eb8d3bd8cbee7102d8

756775814cf69471f74ce853745bba69f2ba94ef 06-Aug-2015 Thomas Hindoe Paaboel Andersen <phomes@gmail.com>

tree-wide: do not return error codes as bool

38a03f06a7393d2721c23f23f0589d2f6d0904af 03-Aug-2015 Lennart Poettering <lennart@poettering.net>

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.

3df3e884ae1237ef0d4d23b0e80f4ffda95ac135 11-Apr-2015 Ronny Chevalier <chevalier.ronny@gmail.com>

shared: add random-util.[ch]

f0c4b1c3fd827b429ba36aa45fd39e0a023cbf2c 13-Jan-2015 Tom Gundersen <teg@jklm.no>

refcnt: refcnt is unsigned, fix comparisons This does not make a difference, but the code was confusing.

356779df90a2ecab5da2cb310ad0f8ebc9ca9f46 04-Nov-2014 Lennart Poettering <lennart@poettering.net>

sd-event: rename sd_event_source_set_name() to sd_event_source_get_name() To mirror the recent name change of the concept for sd_bus objects, follow the same logic for sd_event_source objects, too.

f697185e5b45287b6a62592129e726d8a636d3ff 30-Aug-2014 Tom Gundersen <teg@jklm.no>

sd-ipv4ll: name the correct source

9021bb9f935c93b516b10c88db2a212a9e3a8140 28-Aug-2014 Tom Gundersen <teg@jklm.no>

sd-event: name event sources used in libraries This should help in debugging failing event sources.

fa94c34b083b5b4019975624453e53d0cbad2a5d 24-Jul-2014 Tom Gundersen <teg@jklm.no>

libsystemd-network: use CLOCK_BOOTTIME instead of CLOCK_MONOTONIC where possible The timeouts in the networking library (DHCP lease timeouts and similar) should not be affected by suspend. In the cases where CLOCK_BOOTTIME is not implemented, it is still safe to fallback to CLOCK_MONOTONIC, as the consumers of the library (i.e., networkd) _should_ renew the leases when coming out of suspend.

d9bf4f8c6c47b8620ffa1a056208eb15118b78d5 27-Apr-2014 Umut Tezduyar Lindskog <umut.tezduyar@axis.com>

libnetworkd: add link local tests - Also only allow positive ifindex on both dhcp and ipv4ll [tomegun: the kernel always sets a positive ifindex, but some APIs accept ifindex=0 with various meanings, so we should protect against accidentally passing ifindex=0 along.]

4d978a46693e4f23bc73da6a0bafacfcff2aba05 11-Apr-2014 Patrik Flykt <patrik.flykt@linux.intel.com>

sd-ipv4ll: Add an explicit stop state for IPv4LL Add an explicit stop state for IPv4LL so that the user can stop the IPv4LL client from the callback. When returning from the callback, check also the stop state in order to halt any further protocol processing.

56cd007ab83749b85670c9c7f560e083980c2ff4 11-Apr-2014 Patrik Flykt <patrik.flykt@linux.intel.com>

sd-ipv4ll: Add reference counting for IPv4LL Similar to DHCP, the IPv4LL library user can decide to free the LL client any time the callback is called. Guard against freeing the LL client in the callback by introducing proper reference counting. Also update code using the IPv4LL library to properly handle a returned NULL from the notify and stop functions if the IPv4LL client was freed.

aba496a58acf9d9c61314de71353550e579f85ee 03-Apr-2014 Umut Tezduyar Lindskog <umut.tezduyar@axis.com>

networkd: smooth transition from ipv4ll to dhcp address Currently when both ipv4ll and dhcp are enabled, ipv4ll address (if one has been claimed) is removed when dhcp address is aquired. This is not the best thing to do since there might be clients unaware of the removal trying to communicate. This patch provides a smooth transition between ipv4ll and dhcp. If ipv4ll address was claimed [1] before dhcp, address is marked as deprecated. Deprecated address is still a valid address and packets can be received on it but address cannot be selected as a source address. If dhcp lease cannot be extended, then ipv4ll address is marked as valid again. [1] If there is no collision, claiming IPv4LL takes between 4 to 7 seconds.

6a0f1f6d5af7c7300d3db7a0ba2b068f8abd222b 24-Mar-2014 Lennart Poettering <lennart@poettering.net>

sd-event: rework API to support CLOCK_REALTIME_ALARM and CLOCK_BOOTTIME_ALARM, too

b5db00e52ee2e20578839e4e4488f7b9af9abc38 21-Mar-2014 Umut Tezduyar Lindskog <umut.tezduyar@axis.com>

sd-ipv4ll/networkd: generate predictable addresses Increase the chance of using the same link local address between reboots. The pseudo random sequence of addresses we attempt is now seeded with data that is very likely to stay the same between reboots, but at the same time be unique to the specific machine/nic. First we try to use the ID_NET_NAME_* data from the udev db combined with the machin-id, which is guaranteed to be unique and persistent, if available. If that is not possible (e.g., in containers where we don't have access to the udev db) we fallback to using the MAC address of the interface, which is guaranteed to be unique, and likely to be persistent. [tomegun: three minor changes: - don't expose HASH_KEY in the siphash24 header - get rid of some compile-warnings (and some casts at the same time), by using uint8_t[8] rather than uint64_t in the api - added commit message]

4644fee04fb515787bcfbba53b3cabe58c81d317 21-Mar-2014 Tom Gundersen <teg@jklm.no>

sd-dhcp-client/sd-ipv4ll: allow mac address to be updated at any time If necessary, restart the clients to deal with a changing mac address at runtime. This will solve the problem of starting clients on bridges before they have received their final MAC address.

03e334a1c7dc8c20c38902aa039440763acc9b17 18-Mar-2014 Lennart Poettering <lennart@poettering.net>

util: replace close_nointr_nofail() by a more useful safe_close() safe_close() automatically becomes a NOP when a negative fd is passed, and returns -1 unconditionally. This makes it easy to write lines like this: fd = safe_close(fd); Which will close an fd if it is open, and reset the fd variable correctly. By making use of this new scheme we can drop a > 200 lines of code that was required to test for non-negative fds or to reset the closed fd variable afterwards.

/systemd/src/core/audit-fd.c /systemd/src/core/automount.c /systemd/src/core/busname.c /systemd/src/core/cgroup.c /systemd/src/core/dbus.c /systemd/src/core/execute.c /systemd/src/core/ima-setup.c /systemd/src/core/load-fragment.c /systemd/src/core/machine-id-setup.c /systemd/src/core/main.c /systemd/src/core/manager.c /systemd/src/core/path.c /systemd/src/core/service.c /systemd/src/core/smack-setup.c /systemd/src/core/socket.c /systemd/src/core/switch-root.c /systemd/src/core/umount.c /systemd/src/fsck/fsck.c /systemd/src/initctl/initctl.c /systemd/src/journal/cat.c /systemd/src/journal/catalog.c /systemd/src/journal/coredumpctl.c /systemd/src/journal/journal-authenticate.c /systemd/src/journal/journal-file.c /systemd/src/journal/journal-send.c /systemd/src/journal/journal-verify.c /systemd/src/journal/journalctl.c /systemd/src/journal/journald-console.c /systemd/src/journal/journald-kmsg.c /systemd/src/journal/journald-server.c /systemd/src/journal/journald-stream.c /systemd/src/journal/sd-journal.c /systemd/src/journal/test-journal-verify.c /systemd/src/journal/test-mmap-cache.c dhcp-network.c ipv4ll-network.c sd-dhcp-client.c sd-ipv4ll.c /systemd/src/libsystemd/sd-bus/bus-container.c /systemd/src/libsystemd/sd-bus/bus-kernel.c /systemd/src/libsystemd/sd-bus/bus-message.c /systemd/src/libsystemd/sd-bus/bus-socket.c /systemd/src/libsystemd/sd-bus/sd-bus.c /systemd/src/libsystemd/sd-bus/sd-memfd.c /systemd/src/libsystemd/sd-bus/test-bus-chat.c /systemd/src/libsystemd/sd-bus/test-bus-kernel-benchmark.c /systemd/src/libsystemd/sd-bus/test-bus-kernel.c /systemd/src/libsystemd/sd-event/sd-event.c /systemd/src/libsystemd/sd-login/sd-login.c /systemd/src/libsystemd/sd-resolve/sd-resolve.c /systemd/src/libsystemd/sd-rtnl/sd-rtnl.c /systemd/src/login/logind-button.c /systemd/src/login/logind-inhibit.c /systemd/src/login/logind-session.c /systemd/src/login/logind.c /systemd/src/login/pam-module.c /systemd/src/login/test-inhibit.c /systemd/src/machine/machinectl.c /systemd/src/network/sd-network.c /systemd/src/nspawn/nspawn.c /systemd/src/readahead/readahead-collect.c /systemd/src/readahead/readahead-common.c /systemd/src/readahead/readahead-replay.c /systemd/src/reply-password/reply-password.c /systemd/src/shared/ask-password-api.c /systemd/src/shared/fdset.c /systemd/src/shared/install.c /systemd/src/shared/log.c /systemd/src/shared/logs-show.c /systemd/src/shared/spawn-polkit-agent.c /systemd/src/shared/util.c /systemd/src/shared/util.h /systemd/src/shared/watchdog.c /systemd/src/shutdownd/shutdownd.c /systemd/src/socket-proxy/socket-proxyd.c /systemd/src/test/test-util.c /systemd/src/tmpfiles/tmpfiles.c /systemd/src/tty-ask-password-agent/tty-ask-password-agent.c /systemd/src/udev/net/link-config.c /systemd/src/vconsole/vconsole-setup.c
5c1d3fc93d91384bbac29adf01074fa4375317ea 03-Mar-2014 Umut Tezduyar Lindskog <umut.tezduyar@axis.com>

sd-network: IPv4 link-local support [v2] Implements IPv4LL with respect to RFC 3927 (http://tools.ietf.org/rfc/rfc3927.txt) and integrates it with networkd. Majority of the IPv4LL state machine is taken from avahi (http://avahi.org/) project's autoip. IPv4LL can be enabled by IPv4LL=yes under [Network] section of .network file. IPv4LL works independent of DHCP but if DHCP lease is aquired, then LL address will be dropped. [tomegun: removed a trailing newline and a compiler warning]