diff --git a/src/include/66/constants.h b/src/include/66/constants.h index e6bbc2f919d0bfee1925558a35e1cc62fe4ea47d..99242a602db059e36c8e8c82e9f51266a552c167 100644 --- a/src/include/66/constants.h +++ b/src/include/66/constants.h @@ -23,8 +23,6 @@ #define SS_SYSTEM_LEN (sizeof SS_SYSTEM - 1) #define SS_TREE_CURRENT "current" #define SS_TREE_CURRENT_LEN (sizeof SS_TREE_CURRENT - 1) -#define SS_SERVICE "service" -#define SS_SERVICE_LEN (sizeof SS_SERVICE - 1) #define SS_MODULE "module" #define SS_MODULE_LEN (sizeof SS_MODULE - 1) #define SS_SCANDIR "scandir" @@ -43,7 +41,8 @@ /**service dir*/ #define SS_SVC "/svc" #define SS_SVC_LEN (sizeof SS_SVC - 1) - +#define SS_SERVICE "/service" +#define SS_SERVICE_LEN (sizeof SS_SERVICE - 1) #define SS_MASTER "/Master" #define SS_MASTER_LEN (sizeof SS_MASTER - 1) #define SS_CONTENTS "contents" diff --git a/src/lib66/graph/graph_build_service.c b/src/lib66/graph/graph_build_service.c index 355478972ce9ac85fc145d92d6919c0af422604d..c2a73037b75425086a94f64740775e2f8e0c15c6 100644 --- a/src/lib66/graph/graph_build_service.c +++ b/src/lib66/graph/graph_build_service.c @@ -32,9 +32,9 @@ void graph_build_service(graph_t *graph, resolve_service_t *ares, unsigned int * stralloc sa = STRALLOC_ZERO ; char const *exclude[1] = { 0 } ; - char solve[info->base.len + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1] ; + char solve[info->base.len + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1] ; - auto_strings(solve, info->base.s, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE) ; + auto_strings(solve, info->base.s, SS_SYSTEM, SS_RESOLVE, SS_SERVICE) ; if (!sastr_dir_get_recursive(&sa, solve, exclude, S_IFREG, 0)) log_dieu(LOG_EXIT_SYS, "get resolve files") ; diff --git a/src/lib66/resolve/resolve_check_g.c b/src/lib66/resolve/resolve_check_g.c index 98eccee8b49f40bb92b1b565ac9f0da946fe9767..5598d2c5fe76fdb6f9ec894ff6826493a8f013a1 100644 --- a/src/lib66/resolve/resolve_check_g.c +++ b/src/lib66/resolve/resolve_check_g.c @@ -28,11 +28,11 @@ int resolve_check_g(resolve_wrapper_t *wres, char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; + char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { - auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name) ; + auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; } else if (wres->type == DATA_TREE || wres->type == DATA_TREE_MASTER) { diff --git a/src/lib66/resolve/resolve_read_g.c b/src/lib66/resolve/resolve_read_g.c index aaff2e63a714b6926ceb909d1c9301e805c58a44..d7167779ddba98a2b8671cb5822a5f8525c2e166 100644 --- a/src/lib66/resolve/resolve_read_g.c +++ b/src/lib66/resolve/resolve_read_g.c @@ -30,11 +30,11 @@ int resolve_read_g(resolve_wrapper_t *wres, char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; + char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + 1] ; if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { - auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name) ; + auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; } else if (wres->type == DATA_TREE || wres->type == DATA_TREE_MASTER) { diff --git a/src/lib66/resolve/resolve_remove_g.c b/src/lib66/resolve/resolve_remove_g.c index 7bb4087aeaff46c53e606d4c72ada44d07220da3..ae12d424fbe1ce63907579a92aafb076281c662c 100644 --- a/src/lib66/resolve/resolve_remove_g.c +++ b/src/lib66/resolve/resolve_remove_g.c @@ -30,11 +30,11 @@ void resolve_remove_g(char const *base, char const *name, uint8_t data_type) int e = errno ; size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; + char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + 1] ; if (data_type == DATA_SERVICE || data_type == DATA_SERVICE_MASTER) { - auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name) ; + auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; resolve_remove(path, name) ; diff --git a/src/lib66/resolve/resolve_write_g.c b/src/lib66/resolve/resolve_write_g.c index 5d9d9e6130a12aaf0a309a3918c7002b50c0e34e..e0441575bffa4e5ee0dc9ec8a3f4bb3dff676ba2 100644 --- a/src/lib66/resolve/resolve_write_g.c +++ b/src/lib66/resolve/resolve_write_g.c @@ -27,11 +27,11 @@ int resolve_write_g(resolve_wrapper_t *wres, char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; + char path[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; if (wres->type == DATA_SERVICE || wres->type == DATA_SERVICE_MASTER) { - auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name) ; + auto_strings(path, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; } else if (wres->type == DATA_TREE || wres->type == DATA_TREE_MASTER) { diff --git a/src/lib66/sanitize/sanitize_system.c b/src/lib66/sanitize/sanitize_system.c index c019b4599c6bed477f545a93401a3558481bec8b..06a37c82ed75a6e5a4d1a9397580e34a36c84c9e 100644 --- a/src/lib66/sanitize/sanitize_system.c +++ b/src/lib66/sanitize/sanitize_system.c @@ -70,7 +70,7 @@ int sanitize_system(ssexec_t *info) size_t baselen = info->base.len ; uid_t log_uid ; gid_t log_gid ; - char dst[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1] ; + char dst[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1] ; auto_strings(dst,info->base.s, SS_SYSTEM) ; /** base is /var/lib/66 or $HOME/.66*/ @@ -137,7 +137,7 @@ int sanitize_system(ssexec_t *info) stralloc_free(&extra) ; } - auto_strings(dst, info->base.s, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE) ; + auto_strings(dst, info->base.s, SS_SYSTEM, SS_RESOLVE, SS_SERVICE) ; auto_check(dst) ; auto_strings(dst + baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN, SS_MASTER) ; diff --git a/src/lib66/service/service_resolve_write.c b/src/lib66/service/service_resolve_write.c index ebdf0394e27a7845907c5693257563193d6e50f4..76a69142bec82ef720651a9e4d5a733a15cfabe2 100644 --- a/src/lib66/service/service_resolve_write.c +++ b/src/lib66/service/service_resolve_write.c @@ -31,11 +31,11 @@ int service_resolve_write(resolve_service_t *res) char *name = res->sa.s + res->name ; size_t namelen = strlen(name) ; - char sym[strlen(res->sa.s + res->path.home) + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + 1] ; + char sym[strlen(res->sa.s + res->path.home) + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + 1] ; char dst[strlen(res->sa.s + res->path.tree) + SS_SVDIRS_LEN + 1] ; resolve_wrapper_t_ref wres = resolve_set_struct(DATA_SERVICE, res) ; - auto_strings(sym, res->sa.s + res->path.home, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name) ; + auto_strings(sym, res->sa.s + res->path.home, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name) ; auto_strings(dst, res->sa.s + res->path.tree, SS_SVDIRS) ; diff --git a/src/lib66/state/state_check.c b/src/lib66/state/state_check.c index 502587f4f8dfabbf027a13fe39794ee01e304cda..4985757280c495b40c70d84396a11dbad11db998 100644 --- a/src/lib66/state/state_check.c +++ b/src/lib66/state/state_check.c @@ -28,9 +28,9 @@ int state_check(char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; + char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; - auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; + auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; if (access(target, F_OK) < 0) return 0 ; diff --git a/src/lib66/state/state_read.c b/src/lib66/state/state_read.c index 6a8364912deb58be4959045a84170bb7c0b827e6..faccddb5d56299ebf15f8ccf7c4b9d0d263f1258 100644 --- a/src/lib66/state/state_read.c +++ b/src/lib66/state/state_read.c @@ -30,9 +30,9 @@ int state_read(ss_state_t *sta, char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; char pack[STATE_STATE_SIZE] ; - char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; + char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; - auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; + auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; if (openreadnclose(target, pack, STATE_STATE_SIZE) < STATE_STATE_SIZE) return 0 ; diff --git a/src/lib66/state/state_rmfile.c b/src/lib66/state/state_rmfile.c index 4c94d6b29bd6119b90238f25a2913a18f413e7f8..29162993c329c8436bcd55e371ac99cf8a9ef28a 100644 --- a/src/lib66/state/state_rmfile.c +++ b/src/lib66/state/state_rmfile.c @@ -29,9 +29,9 @@ void state_rmfile(char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; + char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; - auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; + auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE, "/", SS_STATUS) ; unlink_void(target) ; } diff --git a/src/lib66/state/state_write.c b/src/lib66/state/state_write.c index 4a29cb5c1284205d4f71a4b4b6d91dfc6d8241ec..656bef33327fb1bb0dc05e05d514396b02e7bf42 100644 --- a/src/lib66/state/state_write.c +++ b/src/lib66/state/state_write.c @@ -31,15 +31,15 @@ int state_write(ss_state_t *sta, char const *base, char const *name) size_t baselen = strlen(base) ; size_t namelen = strlen(name) ; - char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; + char target[baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN + 1 + SS_STATUS_LEN + 1] ; - auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, "/", SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE) ; + auto_strings(target, base, SS_SYSTEM, SS_RESOLVE, SS_SERVICE, "/", name, SS_SVC, "/", name, SS_STATE) ; if (access(target, F_OK) < 0) if (!dir_create_parent(target, 0755)) log_warnusys_return(LOG_EXIT_ZERO, "create directory: ", target) ; - auto_strings(target + baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + 1 + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN, "/", SS_STATUS) ; + auto_strings(target + baselen + SS_SYSTEM_LEN + SS_RESOLVE_LEN + SS_SERVICE_LEN + 1 + namelen + SS_SVC_LEN + 1 + namelen + SS_STATE_LEN, "/", SS_STATUS) ; char pack[STATE_STATE_SIZE] ; diff --git a/src/lib66/utils/name_isvalid.c b/src/lib66/utils/name_isvalid.c index 457ad0c53691c374ad25defa4b42dd0e88b88d4b..b57b80008639c644346b1c6ced50454350291a46 100644 --- a/src/lib66/utils/name_isvalid.c +++ b/src/lib66/utils/name_isvalid.c @@ -26,7 +26,7 @@ void name_isvalid(char const *name) if (!memcmp(name, SS_MASTER + 1, 6)) log_die(LOG_EXIT_USER, "service name: ", name, ": starts with reserved prefix Master") ; - if (!strcmp(name, SS_SERVICE)) + if (!strcmp(name, SS_SERVICE + 1)) log_die(LOG_EXIT_USER, "service as service name is a reserved name") ; if (!strcmp(name, SS_SERVICE "@"))