#include "missing_network.h"
#include "parse-util.h"
#include "process-util.h"
-#if HAVE_SECCOMP
-#include "seccomp-util.h"
-#endif
#include "stat-util.h"
#include "string-util.h"
#include "strv.h"
return e;
}
-#if HAVE_SECCOMP
-int parse_syscall_and_errno(const char *in, char **name, int *error) {
- _cleanup_free_ char *n = NULL;
- char *p;
- int e = -1;
-
- assert(in);
- assert(name);
- assert(error);
-
- /*
- * This parse "syscall:errno" like "uname:EILSEQ", "@sync:255".
- * If errno is omitted, then error is set to -1.
- * Empty syscall name is not allowed.
- * Here, we do not check that the syscall name is valid or not.
- */
-
- p = strchr(in, ':');
- if (p) {
- e = seccomp_parse_errno_or_action(p + 1);
- if (e < 0)
- return e;
-
- n = strndup(in, p - in);
- } else
- n = strdup(in);
-
- if (!n)
- return -ENOMEM;
-
- if (isempty(n))
- return -EINVAL;
-
- *error = e;
- *name = TAKE_PTR(n);
-
- return 0;
-}
-#endif
-
static const char *mangle_base(const char *s, unsigned *base) {
const char *k;
int parse_size(const char *t, uint64_t base, uint64_t *size);
int parse_range(const char *t, unsigned *lower, unsigned *upper);
int parse_errno(const char *t);
-#if HAVE_SECCOMP
-int parse_syscall_and_errno(const char *in, char **name, int *error);
-#endif
#define SAFE_ATO_REFUSE_PLUS_MINUS (1U << 30)
#define SAFE_ATO_REFUSE_LEADING_ZERO (1U << 29)
return SCMP_ACT_KILL; /* same as SCMP_ACT_KILL_THREAD */
}
+
+int parse_syscall_and_errno(const char *in, char **name, int *error) {
+ _cleanup_free_ char *n = NULL;
+ char *p;
+ int e = -1;
+
+ assert(in);
+ assert(name);
+ assert(error);
+
+ /*
+ * This parse "syscall:errno" like "uname:EILSEQ", "@sync:255".
+ * If errno is omitted, then error is set to -1.
+ * Empty syscall name is not allowed.
+ * Here, we do not check that the syscall name is valid or not.
+ */
+
+ p = strchr(in, ':');
+ if (p) {
+ e = seccomp_parse_errno_or_action(p + 1);
+ if (e < 0)
+ return e;
+
+ n = strndup(in, p - in);
+ } else
+ n = strdup(in);
+
+ if (!n)
+ return -ENOMEM;
+
+ if (isempty(n))
+ return -EINVAL;
+
+ *error = e;
+ *name = TAKE_PTR(n);
+
+ return 0;
+}
return "kill";
return errno_to_name(num);
}
+
+int parse_syscall_and_errno(const char *in, char **name, int *error);