API_EXPORT(uid_t) ap_uname2id(const char *name);
API_EXPORT(gid_t) ap_gname2id(const char *name);
API_EXPORT(int) ap_is_directory(const char *name);
-API_EXPORT(int) ap_can_exec(const struct stat *);
API_EXPORT(void) ap_chdir_file(const char *file);
+API_EXPORT(int) ap_get_max_daemons(void);
+API_EXPORT(const server_rec *) ap_get_server_conf(void);
#ifndef HAVE_CANONICAL_FILENAME
/*
return (x ? 1 : 0); /* If the first character is ':', it's broken, too */
}
-API_EXPORT(int) ap_can_exec(const struct stat *finfo)
-{
-#ifdef MULTIPLE_GROUPS
- int cnt;
-#endif
-#if defined(OS2) || defined(WIN32)
- /* OS/2 dosen't have Users and Groups */
- return 1;
-#else
- if (ap_user_id == finfo->st_uid)
- if (finfo->st_mode & S_IXUSR)
- return 1;
- if (ap_group_id == finfo->st_gid)
- if (finfo->st_mode & S_IXGRP)
- return 1;
-#ifdef MULTIPLE_GROUPS
- for (cnt = 0; cnt < NGROUPS_MAX; cnt++) {
- if (group_id_list[cnt] == finfo->st_gid)
- if (finfo->st_mode & S_IXGRP)
- return 1;
- }
-#endif
- return (finfo->st_mode & S_IXOTH);
-#endif
-}
-
#ifdef NEED_STRDUP
char *strdup(const char *str)
{