diff options
Diffstat (limited to 'mail/sendmail812/files/patch-sendmail-deliver.c')
-rw-r--r-- | mail/sendmail812/files/patch-sendmail-deliver.c | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/mail/sendmail812/files/patch-sendmail-deliver.c b/mail/sendmail812/files/patch-sendmail-deliver.c deleted file mode 100644 index a6c81e12774c..000000000000 --- a/mail/sendmail812/files/patch-sendmail-deliver.c +++ /dev/null @@ -1,64 +0,0 @@ -diff -u -r8.928 deliver.c ---- sendmail/deliver.c 2002/01/10 03:23:29 8.928 -+++ sendmail/deliver.c 2002/02/04 23:32:05 -@@ -5141,11 +5141,17 @@ - } - (void) sm_strlcpy(targetfile, SafeFileEnv, sizeof targetfile); - realfile = targetfile + len; -- if (targetfile[len - 1] != '/') -- (void) sm_strlcat(targetfile, "/", sizeof targetfile); - if (*filename == '/') - filename++; -- (void) sm_strlcat(targetfile, filename, sizeof targetfile); -+ if (*filename != '\0') -+ { -+ /* paranoia: trailing / should be removed in readcf */ -+ if (targetfile[len - 1] != '/') -+ (void) sm_strlcat(targetfile, -+ "/", sizeof targetfile); -+ (void) sm_strlcat(targetfile, filename, -+ sizeof targetfile); -+ } - } - else if (mailer->m_rootdir != NULL) - { -@@ -5388,6 +5394,9 @@ - - if (realfile != targetfile) - { -+ char save; -+ -+ save = *realfile; - *realfile = '\0'; - if (tTd(11, 20)) - sm_dprintf("mailfile: chroot %s\n", targetfile); -@@ -5397,7 +5406,7 @@ - targetfile); - RETURN(EX_CANTCREAT); - } -- *realfile = '/'; -+ *realfile = save; - } - - if (tTd(11, 40)) ---- sendmail/readcf.c 2002/01/30 19:56:37 8.595 -+++ sendmail/readcf.c 2002/02/04 23:32:05 -@@ -2950,6 +2950,17 @@ - break; - - case O_SAFEFILEENV: /* chroot() environ for writing to files */ -+ if (*val == '\0') -+ break; -+ -+ /* strip trailing slashes */ -+ p = val + strlen(val) - 1; -+ while (p >= val && *p == '/') -+ *p-- = '\0'; -+ -+ if (*val == '\0') -+ break; -+ - SafeFileEnv = newstr(val); - break; - - |