diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2017-03-12 11:59:43 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2017-03-12 11:59:43 +0000 |
| commit | c60ebd422171808ad58b936914055397bb205bef (patch) | |
| tree | 7db3e5728d72ad209f8e22b9eb9f337e0b0c3e58 /src/libs6/s6_accessrules_backend_fs.c | |
| parent | e28fe5908a91d8795ca9923d64eeed7d3e898434 (diff) | |
| download | s6-c60ebd422171808ad58b936914055397bb205bef.tar.gz | |
Adapt to skalibs-2.5.0.0
Diffstat (limited to 'src/libs6/s6_accessrules_backend_fs.c')
| -rw-r--r-- | src/libs6/s6_accessrules_backend_fs.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/libs6/s6_accessrules_backend_fs.c b/src/libs6/s6_accessrules_backend_fs.c index 17119c9..614f42b 100644 --- a/src/libs6/s6_accessrules_backend_fs.c +++ b/src/libs6/s6_accessrules_backend_fs.c @@ -1,10 +1,8 @@ /* ISC license. */ -#include <sys/types.h> +#include <string.h> #include <unistd.h> #include <errno.h> -#include <skalibs/bytestr.h> -#include <skalibs/fmtscan.h> #include <skalibs/stralloc.h> #include <skalibs/djbunix.h> #include <s6/accessrules.h> @@ -12,25 +10,25 @@ s6_accessrules_result_t s6_accessrules_backend_fs (char const *key, size_t keylen, void *data, s6_accessrules_params_t *params) { char *dir = data ; - size_t dirlen = str_len(dir) ; + size_t dirlen = strlen(dir) ; size_t envbase = params->env.len ; int wasnull = !params->env.s ; { char tmp[dirlen + keylen + 10] ; - byte_copy(tmp, dirlen, dir) ; + memcpy(tmp, dir, dirlen) ; tmp[dirlen] = '/' ; - byte_copy(tmp + dirlen + 1, keylen, key) ; - byte_copy(tmp + dirlen + keylen + 1, 7, "/allow") ; + memcpy(tmp + dirlen + 1, key, keylen) ; + memcpy(tmp + dirlen + keylen + 1, "/allow", 7) ; if (access(tmp, R_OK) < 0) { if ((errno != EACCES) && (errno != ENOENT)) return S6_ACCESSRULES_ERROR ; - byte_copy(tmp + dirlen + keylen + 2, 5, "deny") ; + memcpy(tmp + dirlen + keylen + 2, "deny", 5) ; return (access(tmp, R_OK) == 0) ? S6_ACCESSRULES_DENY : (errno != EACCES) && (errno != ENOENT) ? S6_ACCESSRULES_ERROR : S6_ACCESSRULES_NOTFOUND ; } - byte_copy(tmp + dirlen + keylen + 2, 4, "env") ; + memcpy(tmp + dirlen + keylen + 2, "env", 4) ; if ((envdir(tmp, ¶ms->env) < 0) && (errno != ENOENT)) return S6_ACCESSRULES_ERROR ; if (!stralloc_readyplus(¶ms->exec, 4097)) @@ -39,9 +37,9 @@ s6_accessrules_result_t s6_accessrules_backend_fs (char const *key, size_t keyle else params->env.len = envbase ; return S6_ACCESSRULES_ERROR ; } - byte_copy(tmp + dirlen + keylen + 2, 5, "exec") ; + memcpy(tmp + dirlen + keylen + 2, "exec", 5) ; { - register ssize_t r = openreadnclose(tmp, params->exec.s + params->exec.len, 4096) ; + ssize_t r = openreadnclose(tmp, params->exec.s + params->exec.len, 4096) ; if ((r < 0) && (errno != EACCES) && (errno != ENOENT)) { if (wasnull) stralloc_free(¶ms->env) ; |
