summaryrefslogtreecommitdiff
path: root/mail/sendmail
diff options
context:
space:
mode:
authoritojun <itojun>2002-10-03 03:59:24 +0000
committeritojun <itojun>2002-10-03 03:59:24 +0000
commitedb2245b51d139ec159d0a9f9b376c3fa98f9a3f (patch)
tree31184349cd8c35d629dff6e71b99df50901a942a /mail/sendmail
parent55747e8384975ac7eca94fd6c31bbedcbb142487 (diff)
downloadpkgsrc-edb2245b51d139ec159d0a9f9b376c3fa98f9a3f.tar.gz
http://www.sendmail.org/smrsh.adv.txt
Diffstat (limited to 'mail/sendmail')
-rw-r--r--mail/sendmail/Makefile.common3
-rw-r--r--mail/sendmail/distinfo3
-rw-r--r--mail/sendmail/patches/patch-ag62
3 files changed, 66 insertions, 2 deletions
diff --git a/mail/sendmail/Makefile.common b/mail/sendmail/Makefile.common
index e5bef7704ec..e6627fcc303 100644
--- a/mail/sendmail/Makefile.common
+++ b/mail/sendmail/Makefile.common
@@ -1,10 +1,11 @@
-# $NetBSD: Makefile.common,v 1.1 2002/09/23 12:56:57 markd Exp $
+# $NetBSD: Makefile.common,v 1.2 2002/10/03 03:59:24 itojun Exp $
#
# Makefile fragment shared with libmilter
#
DISTNAME= sendmail.${DIST_VERS}
CATEGORIES= mail
+PKGREVISION= 1
MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ \
ftp://ftp.fu-berlin.de/pub/unix/mail/sendmail/ \
ftp://ftp.kyoto.wide.ad.jp/pub/mail/sendmail/
diff --git a/mail/sendmail/distinfo b/mail/sendmail/distinfo
index 9a49a1a8e3f..e6e168c8fd3 100644
--- a/mail/sendmail/distinfo
+++ b/mail/sendmail/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2002/09/23 12:56:58 markd Exp $
+$NetBSD: distinfo,v 1.9 2002/10/03 03:59:24 itojun Exp $
SHA1 (sendmail.8.12.6.tar.gz) = 17680259264ba7fd42739ce77cab68dd9e099df9
Size (sendmail.8.12.6.tar.gz) = 1867436 bytes
@@ -8,3 +8,4 @@ SHA1 (patch-ac) = 96c19300b4188dbcbd202768eea912f675dadc27
SHA1 (patch-ad) = 7232cc7ceb46a2dbf631d61185e4c6ca4af18a13
SHA1 (patch-ae) = ae06caa125fe4d4fc85123dc0a5d0016cd099ebd
SHA1 (patch-af) = d26481845328adad6d46fdf797785ec2ad003e28
+SHA1 (patch-ag) = dbc5fc93448239f56471b482818e16668de4aa83
diff --git a/mail/sendmail/patches/patch-ag b/mail/sendmail/patches/patch-ag
new file mode 100644
index 00000000000..a11b100b9cf
--- /dev/null
+++ b/mail/sendmail/patches/patch-ag
@@ -0,0 +1,62 @@
+$NetBSD: patch-ag,v 1.4 2002/10/03 03:59:24 itojun Exp $
+
+http://www.sendmail.org/smrsh.adv.txt
+
+--- smrsh/smrsh.c.orig Sat May 25 11:41:31 2002
++++ smrsh/smrsh.c Thu Oct 3 12:56:10 2002
+@@ -57,6 +57,8 @@
+ #include <sm/limits.h>
+ #include <sm/string.h>
+ #include <sys/file.h>
++#include <sys/types.h>
++#include <sys/stat.h>
+ #include <string.h>
+ #include <ctype.h>
+ #include <errno.h>
+@@ -145,6 +147,7 @@
+ char *newenv[2];
+ char pathbuf[1000];
+ char specialbuf[32];
++ struct stat st;
+
+ #ifndef DEBUG
+ # ifndef LOG_MAIL
+@@ -302,6 +305,38 @@
+ (void) sm_io_fprintf(smioout, SM_TIME_DEFAULT,
+ "Trying %s\n", cmdbuf);
+ #endif /* DEBUG */
++ if (stat(cmdbuf, &st) < 0)
++ {
++ /* can't stat it */
++ fprintf(stderr,
++ "%s: %s not available for sendmail programs (stat failed)\n",
++ prg, cmd);
++ if (p != NULL)
++ *p = ' ';
++#ifndef DEBUG
++ syslog(LOG_CRIT, "uid %d: attempt to use %s (stat failed)",
++ (int) getuid(), cmd);
++#endif /* ! DEBUG */
++ exit(EX_UNAVAILABLE);
++ }
++ if (!S_ISREG(st.st_mode)
++#ifdef S_ISLNK
++ && !S_ISLNK(st.st_mode)
++#endif /* S_ISLNK */
++ )
++ {
++ /* can't stat it */
++ fprintf(stderr,
++ "%s: %s not available for sendmail programs (not a file)\n",
++ prg, cmd);
++ if (p != NULL)
++ *p = ' ';
++#ifndef DEBUG
++ syslog(LOG_CRIT, "uid %d: attempt to use %s (not a file)",
++ (int) getuid(), cmd);
++#endif /* ! DEBUG */
++ exit(EX_UNAVAILABLE);
++ }
+ if (access(cmdbuf, X_OK) < 0)
+ {
+ /* oops.... crack attack possiblity */