diff options
Diffstat (limited to 'sqmail-4.3.07/src/instcheck.c')
-rw-r--r-- | sqmail-4.3.07/src/instcheck.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/sqmail-4.3.07/src/instcheck.c b/sqmail-4.3.07/src/instcheck.c deleted file mode 100644 index e47da87..0000000 --- a/sqmail-4.3.07/src/instcheck.c +++ /dev/null @@ -1,73 +0,0 @@ -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include "logmsg.h" -#include "exit.h" -#include "hier.h" - -extern void hier(); - -#define WHO "instcheck" - -void perm(char *prefix1,char *prefix2,char *prefix3,char *file,int type,int uid,int gid,int mode) -{ - struct stat st; - - if (stat(file,&st) == -1) { - if (errno == ENOENT) - logmsg(WHO,0,WARN,B("file does nost exist:",prefix1,prefix2,prefix3,file)); - else - logmsg(WHO,errno,WARN,B("unable to stat: ../",file)); - return; - } - - if ((uid != -1) && (st.st_uid != uid)) - logmsg(WHO,0,WARN,B("file has wrong owner: ",prefix1,prefix2,prefix3,file)); - if ((gid != -1) && (st.st_gid != gid)) - logmsg(WHO,0,WARN,B("file has wrong group: ",prefix1,prefix2,prefix3,file)); - if ((st.st_mode & 07777) != mode) - logmsg(WHO,0,WARN,B("file has wrong permissions: ",prefix1,prefix2,prefix3,file)); - if ((st.st_mode & S_IFMT) != type) - logmsg(WHO,0,WARN,B("file has wrong type: ",prefix1,prefix2,prefix3,file)); -} - -void h(char *home,int uid,int gid,int mode) -{ - perm("","","",home,S_IFDIR,uid,gid,mode); -} - -void d(char *home,char *subdir,int uid,int gid,int mode) -{ - if (chdir(home) == -1) - logmsg(WHO,111,FATAL,B("unable to switch to: ",home)); - perm("",home,"/",subdir,S_IFDIR,uid,gid,mode); -} - -void p(char *home,char *fifo,int uid,int gid,int mode) -{ - if (chdir(home) == -1) - logmsg(WHO,111,FATAL,B("unable to switch to: ",home)); - perm("",home,"/",fifo,S_IFIFO,uid,gid,mode); -} - -void c(char *home,char *subdir,char *file,int uid,int gid,int mode) -{ - if (chdir(home) == -1) - logmsg(WHO,111,FATAL,B("unable to switch to: ",home)); - if (chdir(subdir) == -1) - logmsg(WHO,111,FATAL,B("unable to switch to: ",home,"/",subdir)); - perm(".../",subdir,"/",file,S_IFREG,uid,gid,mode); -} - -void z(char *home,char *file,int len,int uid,int gid,int mode) -{ - if (chdir(home) == -1) - logmsg(WHO,111,FATAL,B("unable to switch to: ",home)); - perm("",home,"/",file,S_IFREG,uid,gid,mode); -} - -int main() -{ - hier(); - _exit(0); -} |