MCPcopy Create free account
hub / github.com/apache/httpd / mk_group_dir

Function mk_group_dir

modules/md/md_store_fs.c:514–545  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

512}
513
514static apr_status_t mk_group_dir(const char **pdir, md_store_fs_t *s_fs,
515 md_store_group_t group, const char *name,
516 apr_pool_t *p)
517{
518 const perms_t *perms;
519 apr_status_t rv;
520
521 perms = gperms(s_fs, group);
522
523 rv = fs_get_dname(pdir, &s_fs->s, group, name, p);
524 if ((APR_SUCCESS != rv) || (MD_SG_NONE == group)) goto cleanup;
525
526 rv = md_util_is_dir(*pdir, p);
527 if (APR_STATUS_IS_ENOENT(rv)) {
528 md_log_perror(MD_LOG_MARK, MD_LOG_TRACE3, rv, p, "not a directory, creating %s", *pdir);
529 rv = apr_dir_make_recursive(*pdir, perms->dir, p);
530 if (APR_SUCCESS != rv) goto cleanup;
531 dispatch(s_fs, MD_S_FS_EV_CREATED, group, *pdir, APR_DIR, p);
532 }
533
534 rv = apr_file_perms_set(*pdir, perms->dir);
535 md_log_perror(MD_LOG_MARK, MD_LOG_TRACE3, rv, p, "mk_group_dir %s perm set", *pdir);
536 if (APR_STATUS_IS_ENOTIMPL(rv)) {
537 rv = APR_SUCCESS;
538 }
539cleanup:
540 if (APR_SUCCESS != rv) {
541 md_log_perror(MD_LOG_MARK, MD_LOG_ERR, rv, p, "mk_group_dir %d %s",
542 group, (*pdir? *pdir : (name? name : "(null)")));
543 }
544 return rv;
545}
546
547static apr_status_t pfs_is_newer(void *baton, apr_pool_t *p, apr_pool_t *ptemp, va_list ap)
548{

Callers 1

pfs_saveFunction · 0.85

Calls 5

gpermsFunction · 0.85
fs_get_dnameFunction · 0.85
md_util_is_dirFunction · 0.85
md_log_perrorFunction · 0.85
dispatchFunction · 0.70

Tested by

no test coverage detected