networkd.c revision 85b5673b337048fa881a5afb1d00d1a7b95950fb
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering This file is part of systemd.
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering Copyright 2013 Tom Gundersen <teg@jklm.no>
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering systemd is free software; you can redistribute it and/or modify it
19adb8a3204fefd91411b5f0f350c8bc6bcf75feZbigniew Jędrzejewski-Szmek under the terms of the GNU Lesser General Public License as published by
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering (at your option) any later version.
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering systemd is distributed in the hope that it will be useful, but
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering Lesser General Public License for more details.
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering You should have received a copy of the GNU Lesser General Public License
e2b696ee9bffad34daaafc99d3a5d8ee13504288Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmekint main(int argc, char *argv[]) {
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek _cleanup_manager_free_ Manager *m = NULL;
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek const char *user = "systemd-network";
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_set_target(LOG_TARGET_AUTO);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("This program takes no arguments.");
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek r = get_user_creds(&user, &uid, &gid, NULL, NULL);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Cannot resolve user name %s: %s", user, strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek /* Always create the directories people can create inotify
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek * watches in. */
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek r = mkdir_safe_label("/run/systemd/netif", 0755, uid, gid);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not create runtime directory: %s",
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek r = mkdir_safe_label("/run/systemd/netif/links", 0755, uid, gid);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not create runtime directory 'links': %s",
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek r = mkdir_safe_label("/run/systemd/netif/leases", 0755, uid, gid);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not create runtime directory 'leases': %s",
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek (1ULL << CAP_NET_BIND_SERVICE) |
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not create manager: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not connect to udev: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not connect to rtnl: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not connect to system bus: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not load configuration files: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek r = manager_rtnl_enumerate_links(m);
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Could not enumerate links: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek "STATUS=Processing requests...");
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek log_error("Event loop failed: %s", strerror(-r));
798d3a524ea57aaf40cb53858aaa45ec702f012dZbigniew Jędrzejewski-Szmek "STATUS=Shutting down...");