From: Rick W. <rw...@us...> - 2007-11-17 09:07:24
|
Update of /cvsroot/vpopmail/vpopmail In directory sc8-pr-cvs9.sourceforge.net:/tmp/cvs-serv1991 Modified Files: maildirquota.c vdelivermail.c Log Message: use putenv instead of setenv in vdelivermail for portability Index: vdelivermail.c =================================================================== RCS file: /cvsroot/vpopmail/vpopmail/vdelivermail.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- vdelivermail.c 17 Nov 2007 08:36:03 -0000 1.19 +++ vdelivermail.c 17 Nov 2007 09:07:27 -0000 1.20 @@ -895,9 +895,13 @@ */ void run_command(char *prog) { + +#define MAX_ENV_BUFF 100 + int child; char *(args[4]); int wstat; + char envbuf[MAX_ENV_BUFF]; while ((*prog == ' ') || (*prog == '|')) ++prog; @@ -907,7 +911,9 @@ printf("Unable to fork: %d.", errno); vexit(EXIT_DEFER); case 0: - putenv("SHELL", "/bin/sh", 1); + + snprintf( envbuf, sizeof(envbuf), "%s=%s", "SHELL", "/bin/sh"); + putenv(envbuf); args[0] = "/bin/sh"; args[1] = "-c"; args[2] = prog; args[3] = 0; sig_catch(SIGPIPE,SIG_DFL); execv(*args,args); Index: maildirquota.c =================================================================== RCS file: /cvsroot/vpopmail/vpopmail/maildirquota.c,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- maildirquota.c 16 Nov 2007 13:02:01 -0000 1.18 +++ maildirquota.c 17 Nov 2007 09:07:27 -0000 1.19 @@ -38,16 +38,16 @@ /* private functions - no name clashes with courier */ static char *makenewmaildirsizename(const char *, int *); -static int countcurnew(const char *dir, time_t *maxtime, off_t *sizep, int *cntp) -static int countsubdir(const char *dir, const char *subdir, time_t *maxtime, -static int statcurnew(const char *dir, time_t *maxtimestamp) -static int statsubdir(const char *dir, const char *subdir, time_t *maxtime) -static int doaddquota(const char *dir, int maildirsize_fd, -static int docheckquota(const char *dir, int *maildirsize_fdptr, - const char *quota_type, long xtra_size, int xtra_cnt, int *percentage); -static int docount(const char *dir, time_t *dirstamp, off_t *sizep, int *cntp) -static int maildir_checkquota(const char *dir, int *maildirsize_fdptr, - const char *quota_type, long xtra_size, int xtra_cnt); +static int countcurnew(const char *dir, time_t *maxtime, off_t *sizep, int *cntp); +static int countsubdir(const char *dir, const char *subdir, time_t *maxtime, off_t *sizep, int *cntp); +static int statcurnew(const char *dir, time_t *maxtimestamp); +static int statsubdir(const char *dir, const char *subdir, time_t *maxtime); +static int doaddquota(const char *dir, int maildirsize_fd, const char *quota_type, + long maildirsize_size, int maildirsize_cnt, int isnew); +static int docheckquota(const char *dir, int *maildirsize_fdptr, const char *quota_type, + long xtra_size, int xtra_cnt, int *percentage); +static int docount(const char *dir, time_t *dirstamp, off_t *sizep, int *cntp); +static int maildir_checkquota(const char *dir, int *maildirsize_fdptr, const char *quota_type, long xtra_size, int xtra_cnt); /* moved into maildirquota.h as non-static static int maildir_addquota(const char *dir, int maildirsize_fd, const char *quota_type, long maildirsize_size, int maildirsize_cnt); |