2 suPHP - (c)2002-2004 Sebastian Marsching <sebastian@marsching.com>
4 This file is part of suPHP.
6 suPHP is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
11 suPHP is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with suPHP; if not, write to the Free Software
18 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 #include <sys/types.h>
31 int file_exists(char *filename)
34 if ((filehandler=open(filename, O_RDONLY))==-1)
40 int file_is_symbollink(char *filename)
42 struct stat *fileinfo;
45 fileinfo = (struct stat*) malloc(sizeof(struct stat));
46 if (lstat(filename, fileinfo))
48 suphp_log_error("Could not lstat() %s", filename);
49 error_sysmsg_exit(ERRCODE_UNKNOWN, "lstat() failed", __FILE__, __LINE__);
51 if (fileinfo->st_mode & S_IFLNK)
60 uid_t file_get_uid(char *filename)
62 struct stat *fileinfo;
65 fileinfo = (struct stat*) malloc(sizeof(struct stat));
66 if (stat(filename, fileinfo))
68 suphp_log_error("Could not stat() %s", filename);
69 error_sysmsg_exit(ERRCODE_UNKNOWN, "stat() failed", __FILE__, __LINE__);
71 uid = fileinfo->st_uid;
77 gid_t file_get_gid(char *filename)
79 struct stat *fileinfo;
82 fileinfo = (struct stat*) malloc(sizeof(struct stat));
83 if (stat(filename, fileinfo))
85 suphp_log_error("Could not stat() %s", filename);
86 error_sysmsg_exit(ERRCODE_UNKNOWN, "stat() failed", __FILE__, __LINE__);
88 gid = fileinfo->st_gid;
94 uid_t file_get_uid_l(char *filename)
96 struct stat *fileinfo;
99 fileinfo = (struct stat*) malloc(sizeof(struct stat));
100 if (lstat(filename, fileinfo))
102 suphp_log_error("Could not lstat() %s", filename);
103 error_sysmsg_exit(ERRCODE_UNKNOWN, "lstat() failed", __FILE__, __LINE__);
105 uid = fileinfo->st_uid;
111 gid_t file_get_gid_l(char *filename)
113 struct stat *fileinfo;
116 fileinfo = (struct stat*) malloc(sizeof(struct stat));
117 if (lstat(filename, fileinfo))
119 suphp_log_error("Could not lstat() %s", filename);
120 error_sysmsg_exit(ERRCODE_UNKNOWN, "lstat() failed", __FILE__, __LINE__);
122 gid = fileinfo->st_gid;