diff --git a/TODO b/TODO
index 466dadc092..494f991aaf 100644
--- a/TODO
+++ b/TODO
@@ -25,6 +25,8 @@ F15:
Features:
+* allow port = 0 in .socket units
+
* rename systemd-logger to systemd-stdio-syslog-bridge
* introduce /usr/lib/binfmt.d/, /usr/lib/tmpfiles.d/
diff --git a/man/systemd.exec.xml b/man/systemd.exec.xml
index fb8496f54a..5b0d2ce37b 100644
--- a/man/systemd.exec.xml
+++ b/man/systemd.exec.xml
@@ -558,7 +558,10 @@
various resource limits for executed
processes. See
setrlimit2
- for details.
+ for details. Use the string
+ infinity to
+ configure no limit on a specific
+ resource.
diff --git a/src/load-fragment.c b/src/load-fragment.c
index eea545c8d9..8635bdb226 100644
--- a/src/load-fragment.c
+++ b/src/load-fragment.c
@@ -30,6 +30,8 @@
#include
#include
#include
+#include
+#include
#include "unit.h"
#include "strv.h"
@@ -965,7 +967,9 @@ static int config_parse_limit(
assert(rvalue);
assert(data);
- if (safe_atollu(rvalue, &u) < 0) {
+ if (streq(rvalue, "infinity"))
+ u = (unsigned long long) RLIM_INFINITY;
+ else if (safe_atollu(rvalue, &u) < 0) {
log_error("[%s:%u] Failed to parse resource value, ignoring: %s", filename, line, rvalue);
return 0;
}