Commit Graph

16100 Commits

Author SHA1 Message Date
Tom Gundersen 679b3605f0 networkd: link - fix memory leak
Make link_initialized() idempotent to avoid taking refs on several udev_device
objects.
2014-07-14 16:50:01 +02:00
Tom Gundersen 5347925a59 test: network - skip if we don't have permissions to create netdevs 2014-07-14 16:49:41 +02:00
Tom Gundersen 1231c4d238 sd-dhcp-server: make gcc happy
It complains about optoffset possibly being uninitialized. It is wrong,
but let's just initialize it.
2014-07-14 16:49:41 +02:00
Tom Gundersen 4b4923e654 sd-dhcp6-client: make gcc happy
It complains about {max,init}_retransmit_time possibly being
uninitialized. It is wrong, but let's just initialize it.
2014-07-14 16:49:41 +02:00
Tom Gundersen 3be1d7e0c5 networkd: netdev - introduce vtable for netdev kinds
Split each netdev kind into its own .h/.c.
2014-07-14 16:49:41 +02:00
Tom Gundersen 2023dc8a9a networkd: netdev - rework load_one
We now:
 - parse config
 - match on environment
 - verify and complement config
 - create netdev
2014-07-14 16:47:04 +02:00
Tom Gundersen 6235b3def8 networkd: netdev - split out bridge creation 2014-07-14 16:47:04 +02:00
Tom Gundersen 3f26503776 networkd: netdev - rename 'enslave' to 'join'
Enslave only really makes sense when referring to bridges and bonds, so try to be
a bit more neutral.
2014-07-14 16:47:04 +02:00
Tom Gundersen 7c1cff4ff7 man: systemd.netdev - make it clear that we do not touch preexisting netdevs
We will happily use bridges/bonds as master devices, but we will not change their settings if they were created by
someone else.
2014-07-14 12:25:42 +02:00
Tom Gundersen dde2efef37 networkd: add back route destination support
This was accidentally dropped when adding metric support.
2014-07-14 12:14:23 +02:00
Tom Gundersen b621239e29 networkd: bond - explicitly map to kernel mode values 2014-07-14 12:13:45 +02:00
Susant Sahani edb85f0d8d networkd: dhcp add vendor class indentifier option 60
Vendor Class Identifier be used by DHCP clients to identify
their vendor type and configuration. When using this option,
vendors can define their own specific identifier values, such
as to convey a particular hardware or operating system
configuration or other identifying information.

Vendor-specified DHCP options—features that let administrators assign
separate options to clients with similar configuration requirements.
For example, if DHCP-aware clients for example we want to separate
different gateway and option for different set of people
(dev/test/hr/finance) in a org or devices for example web/database
servers or let's say in a embedded device etc and require a different
default gateway or DNS server than the rest of clients.
2014-07-14 11:39:20 +02:00
Susant Sahani 5d8e593dce networkd: make metric of routes configurable
Now route metric can be configuted via conf file:

example conf:

[Match]
Name=em1

[Route]
Gateway=192.168.1.12
Metric=10

Test:
ip route output
default via 192.168.1.12 dev em1 metric 10

[tomegun: squash TODO update and reword man page a bit]
2014-07-14 11:39:20 +02:00
Tom Gundersen 5bdd314cd9 networkd: return 1 from successful event handlers 2014-07-14 11:04:13 +02:00
Tom Gundersen c9467d65f0 TODO: update networkd 2014-07-14 10:50:37 +02:00
Mantas Mikulėnas 0ce5a80601 fileio: quote more shell characters in envfiles
Turns out, making strings shell-proof is harder than expected:

    # machinectl set-hostname "foo|poweroff" && . /etc/machine-info

(This could be simplified by quoting *and* escaping all characters,
which is harmless in shell but unnecessary.)
2014-07-13 22:50:24 -04:00
Tanu Kaskinen 667a1cd645 path-lookup: don't make ~/.local/share/systemd/user a symlink
We already encourage upstreams to keep the default configuration
separate from user customizations for software that is installed in
the system location. Let's allow that separation also for software
that is installed in the home directory.

Some discussion:
http://thread.gmane.org/gmane.comp.sysutils.systemd.devel/19627
2014-07-13 21:14:07 -04:00
Tanu Kaskinen 91acdc17a5 man: mention XDG_DATA_HOME in systemd.unit 2014-07-13 21:14:07 -04:00
Sjoerd Simons eb34cba763 man: sysusers.d correct default user shell
For the non-root user sysusers uses nologin as the default shell, not
login. Correct the documentation to match the code.
2014-07-13 21:14:07 -04:00
Zbigniew Jędrzejewski-Szmek 5146e7e8ae man: add systemd-coredump(8) and a bunch of links 2014-07-13 21:11:07 -04:00
Zbigniew Jędrzejewski-Szmek f7f628b5db Add function to open temp files in selinux mode 2014-07-13 21:11:07 -04:00
Colin Walters a334cbba72 sysusers: preserve label of /etc/{passwd, group}
These files are specially labeled on SELinux systems, and we need to
preserve that label.
2014-07-13 21:10:56 -04:00
Jon Severinsson 3864c28549 build-sys: Do not distribute generated emergency.service
It is already in nodist_systemunit_DATA and if it is
shipped, it contains the hardcoded path to systemctl
which will cause it to fail to start when
rootprefix != prefix and rootbindir != bindir.
2014-07-11 16:10:53 -04:00
Mike Gilbert 3ce1424909 Revert "build-sys: include PolicyKit files as part of distribution"
This reverts commit 0c26bfc3d2.

src/core/org.freedesktop.systemd1.policy.in.in depends on values which
are specified at configure time, so we cannot ship the corresponding
policy file in the tarball.

Since we need to regenerate one policy file, we might as well generate
them all.
2014-07-11 16:10:53 -04:00
Lennart Poettering 92daebc0d0 sd-event: don't require a signal event source to be enabled for the child event source to work 2014-07-11 16:50:10 +02:00
David Herrmann eea1aadb5b gitignore: ignore .swp files
vim places them in the source-tree while editing files. Ignore them.
2014-07-11 16:43:53 +02:00
David Herrmann b63c8d4f03 sd-event: always call epoll_ctl() on mask-updates if edge-triggered
A call to sd_event_source_set_io_events() skipps calling into the kernel
if the new event-mask matches the old one. This is safe for
level-triggered sources as the kernel moves them onto the ready-list
automatically if events change. However, edge-triggered sources might not
be on the ready-list even though events are present.

A call to sd_event_source_set_io_events() with EPOLLET set might thus be
used to just move the io-source onto the ready-list so the next poll
will return it again. This is very useful to avoid starvation in
priority-based event queues.

Imagine a read() loop on an edge-triggered fd. If we cannot read data fast
enough to drain the receive queue, we might decide to skip reading for now
and schedule it for later. On edge-triggered io-sources we have to make
sure it's put on the ready-list so the next dispatch-round will return it
again if it's still the highest priority task. We could make sd-event
handle edge-triggered sources directly and allow marking them ready again.
However, it's much simpler to let the kernel do that for now via
EPOLL_CTL_MOD.
2014-07-11 16:43:53 +02:00
David Herrmann 1ca5fd003f shared: fix coding-style for ring-buffer implementation
We use "typedef struct Ring Ring" with camel-case for internal objects.
So rename "struct ring" to "Ring".
2014-07-11 16:43:53 +02:00
David Herrmann 7df23077e4 shared: add MIN3 macro
This is like MIN but evaluates 3 arguments. We already have MAX3, so add
the equivalent for MIN.
2014-07-11 16:43:53 +02:00
Zbigniew Jędrzejewski-Szmek 3b1a55e110 Fix build without any compression enabled 2014-07-11 10:42:27 -04:00
Lennart Poettering 6017365a1d endian: explicitly include endian.h wherever we want to use __BYTE_ORDER 2014-07-11 16:13:13 +02:00
Lennart Poettering 4f4b92ba7a always check for __BYTE_ORDER == __BIG_ENDIAN when checking for endianess
Let's always stick to glibc's way to determine byte order, and not mix
autoconf-specific checks with gcc checks.
2014-07-11 15:56:16 +02:00
Lennart Poettering ce0f1493c3 hostnamed: introduce new location machin-info field, too 2014-07-11 15:50:32 +02:00
Lennart Poettering 1e5b1aaa4c hostnamed: drop nss-myhostname check
The check only cares about whether the module is installed, not enabled.
But installation we should know anyway, after all we ship the module
with systemd these days...
2014-07-11 15:38:17 +02:00
Lennart Poettering c2142cf1d1 hostnamed: make use of in_charset() to verify charset 2014-07-11 15:37:11 +02:00
Lennart Poettering d4c9895d93 nss-myhostname: simplify array building a bit 2014-07-11 15:35:22 +02:00
Lennart Poettering d77ab3f7e3 hostnamed: minor modernization 2014-07-11 15:35:22 +02:00
Lennart Poettering 46b131574f journald: turn ForwardToSyslog= off by default
After all, rsyslog and friends nowadays read their data directly from
the journal, hence the forwarding is unnecessary in most cases.
2014-07-11 15:34:40 +02:00
Zbigniew Jędrzejewski-Szmek 1cb1767a29 util: fix has cc check and add test 2014-07-11 09:22:01 -04:00
Zbigniew Jędrzejewski-Szmek ccb03ac39d shell-completion: add hostnamectl set-deployment 2014-07-11 09:22:01 -04:00
Jóhann B. Guðmundsson 799298d651 Add DEPLOYMENT to hostnamectl
[zj: remove the check against a fixed list of environments.]
2014-07-11 09:22:01 -04:00
Zbigniew Jędrzejewski-Szmek 1ed7749564 shell-completion,man: beef up chassis completions and description
Parameters to hostnamectl command are not optional and should not be marked
as such in the man page.
2014-07-11 09:22:00 -04:00
Zbigniew Jędrzejewski-Szmek dc5cd2b772 man: document x-systemd.device-timeout for crypttab
https://bugs.freedesktop.org/show_bug.cgi?id=54210
2014-07-10 22:52:23 -04:00
Zbigniew Jędrzejewski-Szmek 8e8ba962c7 man: proper link for dmesg 2014-07-10 22:52:23 -04:00
Zbigniew Jędrzejewski-Szmek 938a560b76 sysusers: allow overrides in /etc and /run
An administrator might want to block a certain sysusers config file from
being executed, e.g. to block the creation of a certain user.

Only a relatively short description is added in the man page, since
overrides should be relatively rare.
2014-07-10 22:51:41 -04:00
Lennart Poettering cabb0bc6b1 nss-mymachines: add new NSS module for automatically resolving addresses of all local containers 2014-07-11 03:15:21 +02:00
Lennart Poettering 2de30868ed build-sys: export sd_path APIs 2014-07-11 03:13:24 +02:00
Lennart Poettering c9fdc26e96 nss-myhostname: move NSS boilerplate to nss-util.h 2014-07-10 23:33:55 +02:00
Lennart Poettering f48e75cb9a machinectl: show network interface name for containers
Also, append the if indexes as scope field to the addresses we show.
That way they may be used for connecting to the containers directly.
2014-07-10 23:12:32 +02:00
Lennart Poettering 5aa4bb6b5b nspawn: register external network interface with machined 2014-07-10 22:48:30 +02:00