X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fload-fragment.c;h=a7e16ca1b9f8da6762f2fa79286cf03c4f833f62;hb=4fe60156fc45e34c7bcba4779123e15620532dff;hp=8635bdb226b6eee2397ee290120fa122e1db703e;hpb=3d57c6ab801f4437f12948e29589e3d00c3ad9db;p=elogind.git diff --git a/src/load-fragment.c b/src/load-fragment.c index 8635bdb22..a7e16ca1b 100644 --- a/src/load-fragment.c +++ b/src/load-fragment.c @@ -220,6 +220,15 @@ static int config_parse_listen( } path_kill_slashes(p->path); + } else if (streq(lvalue, "ListenNetlink")) { + p->type = SOCKET_SOCKET; + + if (socket_address_parse_netlink(&p->address, rvalue) < 0) { + log_error("[%s:%u] Failed to parse address value, ignoring: %s", filename, line, rvalue); + free(p); + return 0; + } + } else { p->type = SOCKET_SOCKET; @@ -1851,6 +1860,8 @@ static int load_from_path(Unit *u, const char *path) { { "RefuseManualStop", config_parse_bool, 0, &u->meta.refuse_manual_stop, "Unit" }, { "AllowIsolate", config_parse_bool, 0, &u->meta.allow_isolate, "Unit" }, { "DefaultDependencies", config_parse_bool, 0, &u->meta.default_dependencies, "Unit" }, + { "OnFailureIsolate", config_parse_bool, 0, &u->meta.on_failure_isolate, "Unit" }, + { "IgnoreOnIsolate", config_parse_bool, 0, &u->meta.ignore_on_isolate, "Unit" }, { "JobTimeoutSec", config_parse_usec, 0, &u->meta.job_timeout, "Unit" }, { "ConditionPathExists", config_parse_condition_path, CONDITION_PATH_EXISTS, u, "Unit" }, { "ConditionPathIsDirectory", config_parse_condition_path, CONDITION_PATH_IS_DIRECTORY, u, "Unit" }, @@ -1891,6 +1902,7 @@ static int load_from_path(Unit *u, const char *path) { { "ListenDatagram", config_parse_listen, 0, &u->socket, "Socket" }, { "ListenSequentialPacket", config_parse_listen, 0, &u->socket, "Socket" }, { "ListenFIFO", config_parse_listen, 0, &u->socket, "Socket" }, + { "ListenNetlink", config_parse_listen, 0, &u->socket, "Socket" }, { "BindIPv6Only", config_parse_socket_bind, 0, &u->socket, "Socket" }, { "Backlog", config_parse_unsigned, 0, &u->socket.backlog, "Socket" }, { "BindToDevice", config_parse_bindtodevice, 0, &u->socket, "Socket" }, @@ -1943,6 +1955,8 @@ static int load_from_path(Unit *u, const char *path) { { "PathChanged", config_parse_path_spec, 0, &u->path, "Path" }, { "DirectoryNotEmpty", config_parse_path_spec, 0, &u->path, "Path" }, { "Unit", config_parse_path_unit, 0, &u->path, "Path" }, + { "MakeDirectory", config_parse_bool, 0, &u->path.make_directory, "Path" }, + { "DirectoryMode", config_parse_mode, 0, &u->path.directory_mode, "Path" }, /* The [Install] section is ignored here. */ { "Alias", NULL, 0, NULL, "Install" },