Compare commits
No commits in common. "c10s" and "c8s" have entirely different histories.
@ -1 +0,0 @@
|
||||
1
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,2 +1,2 @@
|
||||
procmail-3.22.tar.gz
|
||||
/procmail-3.24.tar.gz
|
||||
SOURCES/procmail-3.22.tar.gz
|
||||
/procmail-3.22.tar.gz
|
||||
|
23
gating.yaml
23
gating.yaml
@ -1,25 +1,6 @@
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_testing
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
|
||||
#Rawhide
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- fedora-*
|
||||
decision_context: bodhi_update_push_stable
|
||||
subject_type: koji_build
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||
|
||||
#gating rhel
|
||||
--- !Policy
|
||||
product_versions:
|
||||
- rhel-*
|
||||
- rhel-8
|
||||
decision_context: osci_compose_gate
|
||||
rules:
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
|
||||
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
||||
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
|
||||
|
36
plans.fmf
36
plans.fmf
@ -1,36 +0,0 @@
|
||||
/tier1-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/tier1/internal
|
||||
|
||||
/tier1-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/tier1/public
|
||||
|
||||
/tier2-tier3-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/tier2-tier3/internal
|
||||
|
||||
/tier2-tier3-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/tier2-tier3/public
|
||||
|
||||
/others-internal:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/others/internal
|
||||
|
||||
/others-public:
|
||||
plan:
|
||||
import:
|
||||
url: https://src.fedoraproject.org/tests/procmail.git
|
||||
name: /plans/others/public
|
||||
|
18
procmail-3.22-CVE-2014-3618.patch
Normal file
18
procmail-3.22-CVE-2014-3618.patch
Normal file
@ -0,0 +1,18 @@
|
||||
diff --git a/src/formisc.c b/src/formisc.c
|
||||
index 338733b..c48df52 100644
|
||||
--- a/src/formisc.c
|
||||
+++ b/src/formisc.c
|
||||
@@ -84,12 +84,11 @@ normal: *target++= *start++;
|
||||
case '"':*target++=delim='"';start++;
|
||||
}
|
||||
;{ int i;
|
||||
- do
|
||||
+ while(*start) /* anything? */
|
||||
if((i= *target++= *start++)==delim) /* corresponding delimiter? */
|
||||
break;
|
||||
else if(i=='\\'&&*start) /* skip quoted character */
|
||||
*target++= *start++;
|
||||
- while(*start); /* anything? */
|
||||
}
|
||||
hitspc=2;
|
||||
}
|
13
procmail-3.22-CVE-2017-16844.patch
Normal file
13
procmail-3.22-CVE-2017-16844.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/src/formisc.c b/src/formisc.c
|
||||
index 5c2869d..54fd013 100644
|
||||
--- a/src/formisc.c
|
||||
+++ b/src/formisc.c
|
||||
@@ -103,7 +103,7 @@ void loadsaved(sp)const struct saved*const sp; /* load some saved text */
|
||||
}
|
||||
/* append to buf */
|
||||
void loadbuf(text,len)const char*const text;const size_t len;
|
||||
-{ if(buffilled+len>buflen) /* buf can't hold the text */
|
||||
+{ while(buffilled+len>buflen) /* buf can't hold the text */
|
||||
buf=realloc(buf,buflen+=Bsize);
|
||||
tmemmove(buf+buffilled,text,len);buffilled+=len;
|
||||
}
|
@ -1,5 +1,5 @@
|
||||
diff --git a/src/cstdio.c b/src/cstdio.c
|
||||
index d444057..5327c77 100644
|
||||
index 0a0bd5b..306a973 100644
|
||||
--- a/src/cstdio.c
|
||||
+++ b/src/cstdio.c
|
||||
@@ -15,6 +15,7 @@ static /*const*/char rcsid[]=
|
||||
@ -11,10 +11,10 @@ index d444057..5327c77 100644
|
||||
static uchar rcbuf[STDBUF],*rcbufp,*rcbufend; /* buffer for custom stdio */
|
||||
static off_t blasttell;
|
||||
diff --git a/src/foldinfo.c b/src/foldinfo.c
|
||||
index 48b83e2..88d6228 100644
|
||||
index 10fe406..d05ad84 100644
|
||||
--- a/src/foldinfo.c
|
||||
+++ b/src/foldinfo.c
|
||||
@@ -19,6 +19,7 @@ static /*const*/char rcsid[]=
|
||||
@@ -18,6 +18,7 @@ static /*const*/char rcsid[]=
|
||||
#include "goodies.h"
|
||||
#include "locking.h"
|
||||
#include "foldinfo.h"
|
||||
@ -22,7 +22,7 @@ index 48b83e2..88d6228 100644
|
||||
|
||||
static const char
|
||||
maildirtmp[]=MAILDIRtmp,maildircur[]=MAILDIRcur;
|
||||
@@ -186,8 +187,8 @@ int screenmailbox(chp,egid,doautoforward)
|
||||
@@ -186,8 +187,8 @@ int screenmailbox(chp,egid,Deliverymode)
|
||||
if(!stat(buf,&stbuf))
|
||||
{ unsigned wwsdir;
|
||||
accspooldir=(wwsdir= /* world writable spool dir? */
|
||||
@ -34,12 +34,12 @@ index 48b83e2..88d6228 100644
|
||||
uid==stbuf.st_uid); /* we own the spool dir, note it in bit 0 */
|
||||
if((CAN_toggle_sgid||accspooldir)&&privileged)
|
||||
diff --git a/src/lmtp.c b/src/lmtp.c
|
||||
index 60b7a2d..41e3c1a 100644
|
||||
index 2c5b676..2bfacc4 100644
|
||||
--- a/src/lmtp.c
|
||||
+++ b/src/lmtp.c
|
||||
@@ -52,7 +52,7 @@ static int lreaddyn P((void));
|
||||
@@ -51,7 +51,7 @@ static int lreaddyn P((void));
|
||||
|
||||
int childserverpid;
|
||||
char detaildelim='\0';
|
||||
|
||||
-static ctopfd;
|
||||
+static int ctopfd;
|
||||
@ -47,7 +47,7 @@ index 60b7a2d..41e3c1a 100644
|
||||
static size_t overlen;
|
||||
|
||||
diff --git a/src/locking.c b/src/locking.c
|
||||
index a5a0238..c6882ea 100644
|
||||
index 572719b..5740c2d 100644
|
||||
--- a/src/locking.c
|
||||
+++ b/src/locking.c
|
||||
@@ -95,7 +95,10 @@ faillock: nlog("Lock failure on");logqnl(name);
|
||||
@ -71,3 +71,16 @@ index a5a0238..c6882ea 100644
|
||||
return !!*lockp;
|
||||
}
|
||||
|
||||
diff --git a/src/mailfold.c b/src/mailfold.c
|
||||
index 6c8bcf4..23b8ac2 100644
|
||||
--- a/src/mailfold.c
|
||||
+++ b/src/mailfold.c
|
||||
@@ -378,7 +378,7 @@ void concon(ch)const int ch; /* flip between concatenated and split fields */
|
||||
}
|
||||
}
|
||||
|
||||
-void readmail(rhead,tobesent)const long tobesent;
|
||||
+void readmail(rhead,tobesent)int rhead;const long tobesent;
|
||||
{ char*chp,*pastend;static size_t contlengthoffset;
|
||||
;{ long dfilled;
|
||||
if(rhead==2) /* already read, just examine what we have */
|
58
procmail-3.22-crash-fix.patch
Normal file
58
procmail-3.22-crash-fix.patch
Normal file
@ -0,0 +1,58 @@
|
||||
diff --git a/src/cstdio.c b/src/cstdio.c
|
||||
index 7b6fe6d..0a0bd5b 100644
|
||||
--- a/src/cstdio.c
|
||||
+++ b/src/cstdio.c
|
||||
@@ -144,7 +144,7 @@ int getbl(p,end)char*p,*end; /* my gets */
|
||||
{ case '\n':case EOF:*q='\0';
|
||||
return overflow?-1:p!=q; /* did we read anything at all? */
|
||||
}
|
||||
- if(q==end) /* check here so that a trailing backslash won't be lost */
|
||||
+ if(q>=end) /* check here so that a trailing backslash won't be lost */
|
||||
q=p,overflow=1;
|
||||
*q++=i;
|
||||
}
|
||||
@@ -199,7 +199,7 @@ int getlline(target,end)char*target,*end;
|
||||
if(*(target=strchr(target,'\0')-1)=='\\')
|
||||
{ if(chp2!=target) /* non-empty line? */
|
||||
target++; /* then preserve the backslash */
|
||||
- if(target>end-2) /* space enough for getbl? */
|
||||
+ if(target>=end-2) /* space enough for getbl? */
|
||||
target=end-linebuf,overflow=1; /* toss what we have */
|
||||
continue;
|
||||
}
|
||||
diff --git a/src/formail.c b/src/formail.c
|
||||
index 1f5c9dd..49b9967 100644
|
||||
--- a/src/formail.c
|
||||
+++ b/src/formail.c
|
||||
@@ -219,7 +219,8 @@ static char*getsender(namep,fldp,headreply)char*namep;struct field*fldp;
|
||||
if(i>=0&&(i!=maxindex(sest)||fldp==rdheader)) /* found anything? */
|
||||
{ char*saddr;char*tmp; /* determine the weight */
|
||||
nowm=areply&&headreply?headreply==1?sest[i].wrepl:sest[i].wrrepl:i;chp+=j;
|
||||
- tmp=malloc(j=fldp->Tot_len-j);tmemmove(tmp,chp,j);(chp=tmp)[j-1]='\0';
|
||||
+ tmp=malloc((j=fldp->Tot_len-j) + 1);tmemmove(tmp,chp,j);(chp=tmp)[j-1]='\0';
|
||||
+ chp[j]='\0';
|
||||
if(sest[i].head==From_)
|
||||
{ char*pastad;
|
||||
if(strchr(saddr=chp,'\n')) /* multiple From_ lines */
|
||||
@@ -364,7 +365,7 @@ static PROGID;
|
||||
|
||||
int main(lastm,argv)int lastm;const char*const argv[];
|
||||
{ int i,split=0,force=0,bogus=1,every=0,headreply=0,digest=0,nowait=0,keepb=0,
|
||||
- minfields=(char*)progid-(char*)progid,conctenate=0,babyl=0,babylstart,
|
||||
+ minfields=(char*)progid-(char*)progid,conctenate=0,babyl=0,babylstart=0,
|
||||
berkeley=0,forgetclen;
|
||||
long maxlen,ctlength;FILE*idcache=0;pid_t thepid;
|
||||
size_t j,lnl,escaplen;char*chp,*namep,*escap=ESCAP;
|
||||
diff --git a/src/formisc.c b/src/formisc.c
|
||||
index c48df52..5c2869d 100644
|
||||
--- a/src/formisc.c
|
||||
+++ b/src/formisc.c
|
||||
@@ -66,7 +66,7 @@ inc: start++;
|
||||
retz: *target='\0';
|
||||
ret: return start;
|
||||
}
|
||||
- if(*start=='\\')
|
||||
+ if(*start=='\\' && *(start + 1))
|
||||
*target++='\\',start++;
|
||||
hitspc=2;
|
||||
goto normal; /* normal word */
|
56
procmail-3.22-getline.patch
Normal file
56
procmail-3.22-getline.patch
Normal file
@ -0,0 +1,56 @@
|
||||
diff -up procmail-3.22/src/fields.c.getline procmail-3.22/src/fields.c
|
||||
--- procmail-3.22/src/fields.c.getline 2001-09-11 06:57:08.000000000 +0200
|
||||
+++ procmail-3.22/src/fields.c 2009-06-30 16:10:36.000000000 +0200
|
||||
@@ -110,16 +110,16 @@ void dispfield(p)register const struct f
|
||||
/* try and append one valid field to rdheader from stdin */
|
||||
int readhead P((void))
|
||||
{ int idlen;
|
||||
- getline();
|
||||
+ get_line();
|
||||
if((idlen=breakfield(buf,buffilled))<=0) /* not the start of a valid field */
|
||||
return 0;
|
||||
if(idlen==STRLEN(FROM)&&eqFrom_(buf)) /* it's a From_ line */
|
||||
{ if(rdheader)
|
||||
return 0; /* the From_ line was a fake! */
|
||||
- for(;buflast=='>';getline()); /* gather continued >From_ lines */
|
||||
+ for(;buflast=='>';get_line()); /* gather continued >From_ lines */
|
||||
}
|
||||
else
|
||||
- for(;;getline()) /* get the rest of the continued field */
|
||||
+ for(;;get_line()) /* get the rest of the continued field */
|
||||
{ switch(buflast) /* will this line be continued? */
|
||||
{ case ' ':case '\t': /* yep, it sure is */
|
||||
continue;
|
||||
diff -up procmail-3.22/src/formail.c.getline procmail-3.22/src/formail.c
|
||||
--- procmail-3.22/src/formail.c.getline 2009-06-30 16:00:40.000000000 +0200
|
||||
+++ procmail-3.22/src/formail.c 2009-06-30 16:10:49.000000000 +0200
|
||||
@@ -819,7 +819,7 @@ splitit: { if(!lnl) /* did the p
|
||||
{ if(split) /* gobble up the next start separator */
|
||||
{ buffilled=0;
|
||||
#ifdef sMAILBOX_SEPARATOR
|
||||
- getline();buffilled=0; /* but only if it's defined */
|
||||
+ get_line();buffilled=0; /* but only if it's defined */
|
||||
#endif
|
||||
if(buflast!=EOF) /* if any */
|
||||
goto splitit;
|
||||
diff -up procmail-3.22/src/formisc.c.getline procmail-3.22/src/formisc.c
|
||||
--- procmail-3.22/src/formisc.c.getline 2001-06-29 04:20:45.000000000 +0200
|
||||
+++ procmail-3.22/src/formisc.c 2009-06-30 16:12:20.000000000 +0200
|
||||
@@ -115,7 +115,7 @@ void loadchar(c)const int c; /* a
|
||||
buf[buffilled++]=c;
|
||||
}
|
||||
|
||||
-int getline P((void)) /* read a newline-terminated line */
|
||||
+int get_line P((void)) /* read a newline-terminated line */
|
||||
{ if(buflast==EOF) /* at the end of our Latin already? */
|
||||
{ loadchar('\n'); /* fake empty line */
|
||||
return EOF; /* spread the word */
|
||||
diff -up procmail-3.22/src/formisc.h.getline procmail-3.22/src/formisc.h
|
||||
--- procmail-3.22/src/formisc.h.getline 1999-04-19 08:42:15.000000000 +0200
|
||||
+++ procmail-3.22/src/formisc.h 2009-06-30 16:10:02.000000000 +0200
|
||||
@@ -17,4 +17,4 @@ void
|
||||
char*
|
||||
skipwords P((char*start));
|
||||
int
|
||||
- getline P((void));
|
||||
+ get_line P((void));
|
@ -1,5 +1,5 @@
|
||||
diff --git a/src/autoconf b/src/autoconf
|
||||
index 7c46487..deb97c1 100755
|
||||
index 3a52e6c..ff78048 100755
|
||||
--- a/src/autoconf
|
||||
+++ b/src/autoconf
|
||||
@@ -68,8 +68,6 @@
|
||||
@ -103,7 +103,7 @@ index 7c46487..deb97c1 100755
|
||||
;{ unsigned long s=(size_t)~0;int bits;
|
||||
for(bits=1;s>>=1;bits++);
|
||||
diff --git a/src/comsat.c b/src/comsat.c
|
||||
index e3e773a..f93ebf1 100644
|
||||
index 9712e74..5082b16 100644
|
||||
--- a/src/comsat.c
|
||||
+++ b/src/comsat.c
|
||||
@@ -27,7 +27,8 @@ static /*const*/char rcsid[]=
|
||||
@ -201,11 +201,11 @@ index e3e773a..f93ebf1 100644
|
||||
yell("Notified comsat:",buf);
|
||||
}
|
||||
diff --git a/src/network.h b/src/network.h
|
||||
index 7befe94..8a711f7 100644
|
||||
index d7d08f2..b09b6c4 100644
|
||||
--- a/src/network.h
|
||||
+++ b/src/network.h
|
||||
@@ -1,19 +1,13 @@
|
||||
/*$Id$*/
|
||||
/*$Id: network.h,v 1.7 1997/04/02 03:15:41 srb Exp $*/
|
||||
|
||||
-#include <sys/socket.h> /* socket() sendto() AF_INET
|
||||
+#include <sys/socket.h> /* socket() sendto() */
|
@ -1,8 +1,6 @@
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 0be77b1..509a105 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -23,7 +23,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX)
|
||||
--- procmail-3.22/Makefile.rhconfig 2001-09-10 22:53:09.000000000 -0600
|
||||
+++ procmail-3.22/Makefile 2003-09-12 07:44:34.000000000 -0600
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
# Uncomment to install compressed man pages (possibly add extra suffix
|
||||
# to the definitions of MAN?DIR and/or MAN?SUFFIX by hand)
|
||||
@ -11,7 +9,7 @@ index 0be77b1..509a105 100644
|
||||
|
||||
############################*#
|
||||
# Things that can be made are:
|
||||
@@ -55,7 +55,7 @@ MAN5DIR = $(MANDIR)/man$(MAN5SUFFIX)
|
||||
@@ -55,7 +55,7 @@
|
||||
|
||||
LOCKINGTEST=__defaults__
|
||||
|
||||
@ -20,7 +18,7 @@ index 0be77b1..509a105 100644
|
||||
# If LOCKINGTEST is defined, autoconf will NOT
|
||||
# prompt you to enter additional directories.
|
||||
# See INSTALL for more information about the
|
||||
@@ -65,7 +65,7 @@ LOCKINGTEST=__defaults__
|
||||
@@ -65,7 +65,7 @@
|
||||
# Only edit below this line if you *think* you know what you are doing #
|
||||
########################################################################
|
||||
|
||||
@ -29,7 +27,7 @@ index 0be77b1..509a105 100644
|
||||
# it better than the autoconf lockingtests.
|
||||
# This will cause the lockingtests to be hotwired.
|
||||
# 100 to enable fcntl()
|
||||
@@ -74,8 +74,8 @@ LOCKINGTEST=__defaults__
|
||||
@@ -74,8 +74,8 @@
|
||||
# Or them together to get the desired combination.
|
||||
|
||||
# Optional system libraries we search for
|
||||
@ -40,7 +38,7 @@ index 0be77b1..509a105 100644
|
||||
# -lresolv # not really needed, is it?
|
||||
|
||||
# Informal list of directories where we look for the libraries in SEARCHLIBS
|
||||
@@ -86,8 +86,8 @@ GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \
|
||||
@@ -86,8 +86,8 @@
|
||||
#-Wimplicit -Wshadow -Wid-clash-6 #-Wuninitialized
|
||||
|
||||
# The place to put your favourite extra cc flag
|
||||
@ -51,18 +49,18 @@ index 0be77b1..509a105 100644
|
||||
# Read my libs :-)
|
||||
LIBS=
|
||||
|
||||
diff --git a/config.h b/config.h
|
||||
index 4f6b57e..eb348cd 100644
|
||||
--- a/config.h
|
||||
+++ b/config.h
|
||||
@@ -35,6 +35,7 @@
|
||||
--- procmail-3.22/config.h.rhconfig 2001-09-10 22:53:50.000000000 -0600
|
||||
+++ procmail-3.22/config.h 2003-09-12 07:41:40.000000000 -0600
|
||||
@@ -35,7 +35,8 @@
|
||||
*/
|
||||
/*#define DEFSPATH "PATH=/usr/local/bin:/bin:/usr/bin" /* */
|
||||
/*#define DEFPATH "PATH=$HOME/bin:/usr/local/bin:/bin:/usr/bin" /* */
|
||||
+#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin" /* */
|
||||
|
||||
/*#define DEFSPATH "PATH=/bin:/usr/bin" /* */
|
||||
/*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */
|
||||
-
|
||||
+#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin" /* */
|
||||
+
|
||||
/* every environment variable appearing in PRESTENV will be set or wiped
|
||||
* out of the environment (variables without an '=' sign will be thrown
|
||||
* out), e.g. you could define PRESTENV as follows:
|
||||
@@ -46,13 +47,13 @@
|
||||
*/
|
||||
#define PRESTENV {"IFS","ENV","PWD",0}
|
||||
@ -88,7 +86,7 @@ index 4f6b57e..eb348cd 100644
|
||||
/* If you set LOCKINGTEST to a binary number
|
||||
than there's no need to set these. These #defines are only useful
|
||||
if you want to disable particular locking styles but are unsure which
|
||||
@@ -98,7 +99,7 @@
|
||||
@@ -91,7 +92,7 @@
|
||||
mail present. procmail automatically suppresses this when it isn't
|
||||
needed or under heavy load. */
|
||||
|
@ -1,241 +0,0 @@
|
||||
diff --git a/initmake b/initmake
|
||||
index b901add..703d651 100755
|
||||
--- a/initmake
|
||||
+++ b/initmake
|
||||
@@ -124,7 +124,7 @@ else
|
||||
fi
|
||||
|
||||
cat >_autotst.c <<HERE
|
||||
-main()
|
||||
+int main()
|
||||
{ return 0;
|
||||
}
|
||||
HERE
|
||||
@@ -200,7 +200,7 @@ cat >_autotst.c <<HERE
|
||||
#include <sys/types.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
-main()
|
||||
+int main()
|
||||
{ struct stat buf;return!&buf;
|
||||
}
|
||||
HERE
|
||||
diff --git a/src/autoconf b/src/autoconf
|
||||
index deb97c1..c3f2576 100755
|
||||
--- a/src/autoconf
|
||||
+++ b/src/autoconf
|
||||
@@ -361,6 +361,7 @@ cat >_autotst.c <<HERE
|
||||
#include <unistd.h> /* getpid() getppid() */
|
||||
#endif
|
||||
#include <stdio.h>
|
||||
+#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <fcntl.h>
|
||||
#include <signal.h> /* SIGKILL */
|
||||
@@ -414,6 +415,16 @@ cat >_autotst.c <<HERE
|
||||
int dolock,child[NR_of_forks],timeout,fdcollect;
|
||||
char dirlocktest[]="_locktest";
|
||||
|
||||
+int killchildren()
|
||||
+{ int i;
|
||||
+ i=NR_of_forks;
|
||||
+ do
|
||||
+ if(child[--i]>0)
|
||||
+ kill(child[i],SIGTERM),child[i]=0;
|
||||
+ while(i);
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
void stimeout()
|
||||
{ timeout=1;close(fdcollect);killchildren();
|
||||
}
|
||||
@@ -435,7 +446,79 @@ unsigned sfork()
|
||||
return pid;
|
||||
}
|
||||
|
||||
-int main(argc,argv)char*argv[];
|
||||
+static int oldfdlock;
|
||||
+#ifdef F_SETLKW
|
||||
+static struct flock flck; /* why can't it be a local variable? */
|
||||
+#endif
|
||||
+#ifdef F_LOCK
|
||||
+static off_t oldlockoffset;
|
||||
+#endif
|
||||
+
|
||||
+int fdlock(int fd)
|
||||
+{ int i;unsigned gobble[GOBBLE>>2];
|
||||
+ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
|
||||
+ oldfdlock=fd;fd=0;
|
||||
+ if(MSK_fcntl&dolock)
|
||||
+#ifdef F_SETLKW
|
||||
+ { static unsigned extra;
|
||||
+ flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
|
||||
+ if(!extra--)
|
||||
+ extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
|
||||
+ flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
|
||||
+ }
|
||||
+#else
|
||||
+ fd=1;
|
||||
+#endif
|
||||
+ if(MSK_lockf&dolock)
|
||||
+#ifdef F_LOCK
|
||||
+ oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
|
||||
+#else
|
||||
+ fd=1;
|
||||
+#endif
|
||||
+ if(MSK_flock&dolock)
|
||||
+#ifdef LOCK_EX
|
||||
+ fd|=flock(oldfdlock,LOCK_EX);
|
||||
+#else
|
||||
+ fd=1;
|
||||
+#endif
|
||||
+ return fd;
|
||||
+}
|
||||
+
|
||||
+int sfdlock(int fd)
|
||||
+{ int i;unsigned gobble[GOBBLE>>2];
|
||||
+ for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
|
||||
+ return fdlock(fd);
|
||||
+}
|
||||
+
|
||||
+int fdunlock()
|
||||
+{ int i;unsigned gobble[GOBBLE];
|
||||
+ for(i=GOBBLE;i;gobble[--i]=~(unsigned)0); /* some SunOS libs mess this up */
|
||||
+ if(MSK_flock&dolock)
|
||||
+#ifdef LOCK_EX
|
||||
+ i|=flock(oldfdlock,LOCK_UN);
|
||||
+#else
|
||||
+ i=1;
|
||||
+#endif
|
||||
+ if(MSK_lockf&dolock)
|
||||
+#ifdef F_LOCK
|
||||
+ { lseek(oldfdlock,oldlockoffset,SEEK_SET);
|
||||
+ i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
|
||||
+ }
|
||||
+#else
|
||||
+ i=1;
|
||||
+#endif
|
||||
+ if(MSK_fcntl&dolock)
|
||||
+#ifdef F_SETLKW
|
||||
+ flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
|
||||
+#else
|
||||
+ i=1;
|
||||
+#endif
|
||||
+ if(!i)
|
||||
+ for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
|
||||
+ return i;
|
||||
+}
|
||||
+
|
||||
+int main(argc,argv)int argc;char*argv[];
|
||||
{ int goodlock,testlock,i,pip[2],pipw[2];time_t otimet;unsigned dtimet;
|
||||
static char filename[]="_locktst.l0";
|
||||
close(0);goodlock=0;testlock=FIRST_lock;signal(SIGPIPE,SIG_DFL);
|
||||
@@ -574,88 +657,6 @@ skip_tests:
|
||||
puts("Kernel-locking tests completed.");fprintf(stderr,"\n");
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
-
|
||||
-int killchildren()
|
||||
-{ int i;
|
||||
- i=NR_of_forks;
|
||||
- do
|
||||
- if(child[--i]>0)
|
||||
- kill(child[i],SIGTERM),child[i]=0;
|
||||
- while(i);
|
||||
- return 0;
|
||||
-}
|
||||
-
|
||||
-int sfdlock(fd)
|
||||
-{ int i;unsigned gobble[GOBBLE>>2];
|
||||
- for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
|
||||
- return fdlock(fd);
|
||||
-}
|
||||
-
|
||||
-static oldfdlock;
|
||||
-#ifdef F_SETLKW
|
||||
-static struct flock flck; /* why can't it be a local variable? */
|
||||
-#endif
|
||||
-#ifdef F_LOCK
|
||||
-static off_t oldlockoffset;
|
||||
-#endif
|
||||
-
|
||||
-int fdlock(fd)
|
||||
-{ int i;unsigned gobble[GOBBLE>>2];
|
||||
- for(i=GOBBLE>>2;i;gobble[--i]=~(unsigned)0); /* SunOS crash test */
|
||||
- oldfdlock=fd;fd=0;
|
||||
- if(MSK_fcntl&dolock)
|
||||
-#ifdef F_SETLKW
|
||||
- { static unsigned extra;
|
||||
- flck.l_type=F_WRLCK;flck.l_whence=SEEK_SET;flck.l_start=tell(oldfdlock);
|
||||
- if(!extra--)
|
||||
- extra=MIN_locks/4,flck.l_len=2,i|=fcntl(oldfdlock,F_SETLK,&flck);
|
||||
- flck.l_len=0;fd|=fcntl(oldfdlock,F_SETLKW,&flck);
|
||||
- }
|
||||
-#else
|
||||
- fd=1;
|
||||
-#endif
|
||||
- if(MSK_lockf&dolock)
|
||||
-#ifdef F_LOCK
|
||||
- oldlockoffset=tell(oldfdlock),fd|=lockf(oldfdlock,F_LOCK,(off_t)0);
|
||||
-#else
|
||||
- fd=1;
|
||||
-#endif
|
||||
- if(MSK_flock&dolock)
|
||||
-#ifdef LOCK_EX
|
||||
- fd|=flock(oldfdlock,LOCK_EX);
|
||||
-#else
|
||||
- fd=1;
|
||||
-#endif
|
||||
- return fd;
|
||||
-}
|
||||
-
|
||||
-int fdunlock()
|
||||
-{ int i;unsigned gobble[GOBBLE];
|
||||
- for(i=GOBBLE;i;gobble[--i]=~(unsigned)0); /* some SunOS libs mess this up */
|
||||
- if(MSK_flock&dolock)
|
||||
-#ifdef LOCK_EX
|
||||
- i|=flock(oldfdlock,LOCK_UN);
|
||||
-#else
|
||||
- i=1;
|
||||
-#endif
|
||||
- if(MSK_lockf&dolock)
|
||||
-#ifdef F_LOCK
|
||||
- { lseek(oldfdlock,oldlockoffset,SEEK_SET);
|
||||
- i|=lockf(oldfdlock,F_LOCK,(off_t)2);i|=lockf(oldfdlock,F_ULOCK,(off_t)0);
|
||||
- }
|
||||
-#else
|
||||
- i=1;
|
||||
-#endif
|
||||
- if(MSK_fcntl&dolock)
|
||||
-#ifdef F_SETLKW
|
||||
- flck.l_type=F_UNLCK,flck.l_len=0,i|=fcntl(oldfdlock,F_SETLK,&flck);
|
||||
-#else
|
||||
- i=1;
|
||||
-#endif
|
||||
- if(!i)
|
||||
- for(i=GOBBLE;i&&gobble[--i]==~(unsigned)0;);
|
||||
- return i;
|
||||
-}
|
||||
HERE
|
||||
|
||||
if $MAKE _autotst >_autotst.rrr 2>&1
|
||||
@@ -1029,6 +1030,10 @@ cat >_autotst.c <<HERE
|
||||
#ifndef NO_COMSAT
|
||||
#include "network.h"
|
||||
#endif
|
||||
+#include <string.h>
|
||||
+#include <unistd.h>
|
||||
+int setrgid();
|
||||
+int setresgid();
|
||||
int main(){char a[2];
|
||||
endpwent();endgrent();memmove(a,"0",1);bcopy("0",a,1);strcspn(a,"0");
|
||||
strtol("0",(char**)0,10);strchr("0",'0');strpbrk(a,"0");rename(a,"0");
|
||||
@@ -1059,7 +1064,7 @@ echo 'Testing for memmove, strchr, strpbrk, strcspn, strtol, strstr,'
|
||||
echo ' rename, setrgid, setegid, pow, opendir, mkdir, waitpid, fsync,'
|
||||
echo ' ftruncate, strtod, strncasecmp, strerror, strlcat,'
|
||||
echo ' memset, bzero, and _exit'
|
||||
-if $MAKE _autotst.$O >$DEVNULL 2>&1
|
||||
+if $MAKE _autotst.$O >_autotst.rrr 2>&1
|
||||
then
|
||||
:
|
||||
else
|
115
procmail.spec
115
procmail.spec
@ -7,26 +7,28 @@
|
||||
|
||||
Summary: Mail processing program
|
||||
Name: procmail
|
||||
Version: 3.24
|
||||
Release: 8%{?dist}
|
||||
# Dual licensed "gpl-2.0-or-later OR artistic-perl-1.0", but
|
||||
# artistic-perl-1.0 is not allowed, thus dropped from the license
|
||||
# tag as per: https://gitlab.com/fedora/legal/fedora-license-data/-/issues/423
|
||||
License: gpl-2.0-or-later
|
||||
URL: https://github.com/BuGlessRB/%{name}
|
||||
Source0: %{URL}/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||
Version: 3.22
|
||||
Release: 47%{?dist}
|
||||
License: GPLv2+ or Artistic
|
||||
Group: Applications/Internet
|
||||
# Source: ftp://ftp.procmail.org/pub/procmail/procmail-%{version}.tar.gz
|
||||
# The original source doesn't seem to be available anymore, using mirror
|
||||
Source: ftp://ftp.ucsb.edu/pub/mirrors/procmail/procmail-%{version}.tar.gz
|
||||
# Source2: http://www.linux.org.uk/~telsa/BitsAndPieces/procmailrc
|
||||
# The Telsa config file doesn't seem to be available anymore, using local copy
|
||||
Source2: procmailrc
|
||||
Patch0: procmail-3.24-rhconfig.patch
|
||||
URL: http://www.procmail.org
|
||||
Patch0: procmail-3.22-rhconfig.patch
|
||||
Patch1: procmail-3.15.1-man.patch
|
||||
Patch2: procmail-3.22-truncate.patch
|
||||
Patch3: procmail-3.24-ipv6.patch
|
||||
Patch4: procmail-3.24-coverity-scan-fixes.patch
|
||||
# https://github.com/BuGlessRB/procmail/pull/7
|
||||
Patch5: procmail-3.24-gcc-14-fix.patch
|
||||
BuildRequires: make
|
||||
BuildRequires: gcc
|
||||
Patch2: procmail_3.22-8.debian.patch
|
||||
Patch4: procmail-3.22-truncate.patch
|
||||
Patch5: procmail-3.22-ipv6.patch
|
||||
Patch6: procmail-3.22-getline.patch
|
||||
Patch7: procmail-3.22-CVE-2014-3618.patch
|
||||
Patch8: procmail-3.22-crash-fix.patch
|
||||
Patch9: procmail-3.22-CVE-2017-16844.patch
|
||||
Patch10: procmail-3.22-coverity-scan-fixes.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
%description
|
||||
Procmail can be used to create mail-servers, mailing lists, sort your
|
||||
@ -37,7 +39,17 @@ chimes on your workstation for different types of mail) or selectively
|
||||
forward certain incoming mail automatically to someone.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
%setup -q
|
||||
%patch0 -p1 -b .rhconfig
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch4 -p1 -b .truncate
|
||||
%patch5 -p1 -b .ipv6
|
||||
%patch6 -p1 -b .getline
|
||||
%patch7 -p1 -b .CVE-2014-3618
|
||||
%patch8 -p1 -b .crash-fix
|
||||
%patch9 -p1 -b .CVE-2017-16844
|
||||
%patch10 -p1 -b .coverity-scan-fixes
|
||||
|
||||
find examples -type f | xargs chmod 644
|
||||
|
||||
@ -54,11 +66,16 @@ make \
|
||||
BASENAME=${RPM_BUILD_ROOT}%{_prefix} MANDIR=${RPM_BUILD_ROOT}%{_mandir} \
|
||||
install
|
||||
|
||||
cp debian/mailstat.1 ${RPM_BUILD_ROOT}%{_mandir}/man1
|
||||
cp -p %{SOURCE2} telsas_procmailrc
|
||||
|
||||
|
||||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%files
|
||||
%doc Artistic COPYING FAQ FEATURES HISTORY README KNOWN_BUGS examples telsas_procmailrc
|
||||
%defattr(-,root,root)
|
||||
%doc Artistic COPYING FAQ FEATURES HISTORY README KNOWN_BUGS examples telsas_procmailrc debian/QuickStart debian/README.Maildir
|
||||
|
||||
%{_bindir}/formail
|
||||
%attr(2755,root,mail) %{_bindir}/lockfile
|
||||
@ -68,67 +85,9 @@ cp -p %{SOURCE2} telsas_procmailrc
|
||||
%{_mandir}/man[15]/*
|
||||
|
||||
%changelog
|
||||
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3.24-8
|
||||
- Bump release for October 2024 mass rebuild:
|
||||
Resolves: RHEL-64018
|
||||
|
||||
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.24-7
|
||||
- Bump release for June 2024 mass rebuild
|
||||
|
||||
* Wed Jan 31 2024 Jaroslav Škarvada <jskarvad@redhat.com> - 3.24-6
|
||||
- Fixed FTBFS with gcc-14
|
||||
Resolves: rhbz#2261530
|
||||
|
||||
* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.24-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.24-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Tue Dec 12 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.24-3
|
||||
- Converted license tag to SPDX
|
||||
|
||||
* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.24-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Jan 12 2023 Jaroslav Škarvada <jskarvad@redhat.com> - 3.24-1
|
||||
- Switched to the github fork
|
||||
- New version
|
||||
Resolves: rhbz#2143702
|
||||
|
||||
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-57
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-56
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-55
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-54
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-53
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jan 30 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-52
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Jul 26 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-51
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-50
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Dec 6 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.22-49
|
||||
* Fri Dec 7 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.22-47
|
||||
- Fixed issues found by Coverity Scan
|
||||
|
||||
* Fri Jul 20 2018 Jaroslav Škarvada <jskarvad@redhat.com> - 3.22-48
|
||||
- Fixed FTBFS by adding gcc requirement
|
||||
Resolves: rhbz#1606850
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-47
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
Resolves: rhbz#1602666
|
||||
|
||||
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.22-46
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
950
procmail_3.22-8.debian.patch
Normal file
950
procmail_3.22-8.debian.patch
Normal file
@ -0,0 +1,950 @@
|
||||
--- procmail-3.22.orig/examples/advanced
|
||||
+++ procmail-3.22/examples/advanced
|
||||
@@ -251,14 +251,14 @@
|
||||
--------------------------------------------------------
|
||||
|
||||
There are many different reasons why more and more sites decide not to
|
||||
-store mail in /usr/spool/mail or /usr/mail anymore.
|
||||
+store mail in /var/spool/mail or /var/mail anymore.
|
||||
Some of the obvious advantages when storing mail in the recipient's home
|
||||
directory are:
|
||||
- Mail is automatically subject to the user's quota limitations.
|
||||
- Often there is more room on the home partition(s) than on that
|
||||
- one /usr/mail partition.
|
||||
+ one /var/mail partition.
|
||||
|
||||
-The quota limitations also apply to /usr/spool/mail or /usr/mail if procmail
|
||||
+The quota limitations also apply to /var/spool/mail or /var/mail if procmail
|
||||
does the delivery. These quota limitations often do not work with the
|
||||
regular /bin/mail since that usually writes the mailbox with root permissions
|
||||
(eluding the quota restrictions).
|
||||
@@ -276,7 +276,7 @@
|
||||
defined SYSTEM_MBOX to be. Some braindamaged mail programs
|
||||
do not pick up the MAIL environment variable, these either
|
||||
have to be patched/recompiled or you have to create symbolic
|
||||
- links in /usr/mail to every person's new mailbox.
|
||||
+ links in /var/mail to every person's new mailbox.
|
||||
|
||||
---
|
||||
|
||||
--- procmail-3.22.orig/man/procmail.man
|
||||
+++ procmail-3.22/man/procmail.man
|
||||
@@ -166,7 +166,8 @@
|
||||
accept an unlimited number of arguments.@ETCRCS_desc@
|
||||
For some advanced usage of this option you should look in the
|
||||
.B EXAMPLES
|
||||
-section below.@LMTPOPTdesc@.SH ARGUMENTS
|
||||
+section below.@LMTPOPTdesc@
|
||||
+.SH ARGUMENTS
|
||||
Any arguments containing an '=' are considered to be environment variable
|
||||
assignments, they will
|
||||
.I all
|
||||
@@ -723,6 +724,15 @@
|
||||
.fi
|
||||
.ad
|
||||
.PP
|
||||
+Some mailers (notably exim) do not currently accept the above syntax.
|
||||
+In such case use this instead:
|
||||
+.PP
|
||||
+.na
|
||||
+.nf
|
||||
+|/usr/bin/procmail
|
||||
+.fi
|
||||
+.ad
|
||||
+.PP
|
||||
Procmail can also be invoked to postprocess an already filled system
|
||||
mailbox. This can be useful if you don't want to or can't use a
|
||||
$HOME/@DOT_FORWARD@ file (in which case the following script could
|
||||
@@ -754,7 +764,7 @@
|
||||
.SS "A sample small @PROCMAILRC@:"
|
||||
.na
|
||||
.nf
|
||||
-PATH=/bin:/usr/bin:@BINDIR@
|
||||
+PATH=/usr/local/bin:/usr/bin:/bin
|
||||
MAILDIR=$HOME/Mail #you'd better make sure it exists
|
||||
DEFAULT=$MAILDIR/mbox #completely optional
|
||||
LOGFILE=$MAILDIR/from #recommended
|
||||
--- procmail-3.22.orig/man/procmailrc.man
|
||||
+++ procmail-3.22/man/procmailrc.man
|
||||
@@ -779,7 +779,7 @@
|
||||
.PP
|
||||
Some non-optimal and non-obvious regexps set MATCH to an incorrect
|
||||
value. The regexp can be made to work by removing one or more unneeded
|
||||
-'*', '+', or '?' operator on the left-hand side of the \e/ token.
|
||||
+\&'*', '+', or '?' operator on the left-hand side of the \e/ token.
|
||||
.SH MISCELLANEOUS
|
||||
If the regular expression contains `\fB@TO_key@\fP' it will be substituted by
|
||||
.na
|
||||
--- procmail-3.22.orig/src/comsat.c
|
||||
+++ procmail-3.22/src/comsat.c
|
||||
@@ -92,7 +92,7 @@
|
||||
}
|
||||
if(newvalid) /* so far, so good */
|
||||
{ int s;
|
||||
- if(!*chp) /* no service */
|
||||
+ if(!chad||!*chp) /* no service */
|
||||
chp=BIFF_serviceport; /* new balls please! */
|
||||
s=strtol(chp,&chad,10);
|
||||
if(chp!=chad) /* the service is not numeric */
|
||||
@@ -120,7 +120,7 @@
|
||||
{ int s;const char*p;
|
||||
if(!csvalid||!buf) /* is comat on and set to a valid address? */
|
||||
return;
|
||||
- if(!*cslgname||strlen(cslgname)+2>linebuf) /* is $LOGNAME bogus? */
|
||||
+ if(!cslgname||!*cslgname||strlen(cslgname)+2>linebuf)/* is $LOGNAME bogus? */
|
||||
return;
|
||||
if(!(p=folder?folder:cslastf)) /* do we have a folder? */
|
||||
return;
|
||||
--- procmail-3.22.orig/src/formail.c
|
||||
+++ procmail-3.22/src/formail.c
|
||||
@@ -758,9 +758,9 @@
|
||||
lputssn(buf,buffilled),ctlength-=buffilled,buffilled=lnl=0;
|
||||
;{ int tbl=buflast,lwr='\n';
|
||||
while(--ctlength>=0&&tbl!=EOF) /* skip Content-Length: bytes */
|
||||
- lnl=lwr==tbl&&lwr=='\n',putcs(lwr=tbl),tbl=getchar();
|
||||
+ lnl=lwr==tbl&&lwr=='\n',lputcs(lwr=tbl),tbl=getchar();
|
||||
if((buflast=tbl)=='\n'&&lwr!=tbl) /* just before a line break? */
|
||||
- putcs('\n'),buflast=getchar(); /* wrap up loose end */
|
||||
+ lputcs('\n'),buflast=getchar(); /* wrap up loose end */
|
||||
}
|
||||
if(!quiet&&ctlength>0)
|
||||
{ charNUM(num,ctlength);
|
||||
--- procmail-3.22.orig/src/memblk.c
|
||||
+++ procmail-3.22/src/memblk.c
|
||||
@@ -51,11 +51,11 @@
|
||||
{
|
||||
#ifdef USE_MMAP
|
||||
if(mb->fd>=0)
|
||||
- { long len=mb->len+1;
|
||||
- if(munmap(mb->p,len))
|
||||
- mmapfailed(len); /* don't want to continue here */
|
||||
- if((mb->p=mmap(0,len,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED)
|
||||
- mmapfailed(len);
|
||||
+ { long mlen=mb->len+1;
|
||||
+ if(munmap(mb->p,mlen))
|
||||
+ mmapfailed(mlen); /* don't want to continue here */
|
||||
+ if((mb->p=mmap(0,mlen,PROT_READ,MAP_PRIVATE,mb->fd,(off_t)0))==MAP_FAILED)
|
||||
+ mmapfailed(mlen);
|
||||
close(mb->fd);
|
||||
mb->fd=ropen(devnull,O_RDWR,0); /* XXX Perhaps -1 is better? */
|
||||
}
|
||||
@@ -77,8 +77,8 @@
|
||||
strcpy(filename,MMAP_DIR);
|
||||
if(unique(filename,strchr(filename,'\0'),MMAP_FILE_LEN,MMAP_PERM,0,0)&&
|
||||
(mb->fd=ropen(filename,O_RDWR,MMAP_PERM),unlink(filename),mb->fd>=0))
|
||||
- { mb->filelen=len;
|
||||
- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
|
||||
+ { mb->filelen=len+1;
|
||||
+ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
|
||||
dropf: { close(mb->fd);mb->fd= -1;
|
||||
if(verbose)nlog("Unable to extend or use tempfile");
|
||||
}
|
||||
@@ -98,9 +98,9 @@
|
||||
}
|
||||
}
|
||||
if(mb->fd>=0)
|
||||
- { if(len>mb->filelen) /* need to extend? */
|
||||
- { mb->filelen=len;
|
||||
- if(lseek(mb->fd,mb->filelen-1,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
|
||||
+ { if(len>=mb->filelen) /* need to extend? */
|
||||
+ { mb->filelen=len+1;
|
||||
+ if(lseek(mb->fd,len,SEEK_SET)<0||1!=rwrite(mb->fd,empty,1))
|
||||
{ char*p=malloc(len+1); /* can't extend, switch to malloc */
|
||||
tmemmove(p,mb->p,mb->len);
|
||||
munmap(mb->p,mb->len+1);
|
||||
@@ -124,9 +124,9 @@
|
||||
}
|
||||
else
|
||||
mb->p=realloc(mb->p,len+1);
|
||||
- mb->len=len+1;
|
||||
- mb->p[len]='\0';
|
||||
+ mb->len=len;
|
||||
ret1:
|
||||
+ mb->p[len]='\0';
|
||||
return 1;
|
||||
}
|
||||
|
||||
--- procmail-3.22.orig/src/autoconf
|
||||
+++ procmail-3.22/src/autoconf
|
||||
@@ -1470,15 +1470,14 @@
|
||||
grep 'Mlocal.*procmail' >$DEVNULL ||
|
||||
echo '#define CF_no_procmail_yet' >>$ACONF
|
||||
|
||||
-cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
|
||||
- grep '^V' >$DEVNULL ||
|
||||
- echo '#define buggy_SENDMAIL' >>$ACONF
|
||||
+# cat /usr/lib/sendmail.cf /etc/sendmail.cf /etc/mail/sendmail.cf 2>$DEVNULL |
|
||||
+# grep '^V' >$DEVNULL ||
|
||||
+# echo '#define buggy_SENDMAIL' >>$ACONF
|
||||
|
||||
lpath='/bin'
|
||||
bins="/bin"
|
||||
|
||||
-for newd in /usr/bin /usr/ucb /usr/5bin $BINDIR /local/bin /usr/local/bin \
|
||||
- /global/bin /usr/bin/X11 /usr/X*/bin
|
||||
+for newd in /usr/bin $BINDIR /usr/bin/X11 /usr/X*/bin
|
||||
do
|
||||
if test -d $newd
|
||||
then
|
||||
--- procmail-3.22.orig/src/procmail.c
|
||||
+++ procmail-3.22/src/procmail.c
|
||||
@@ -652,8 +652,7 @@
|
||||
nrcond= -1;
|
||||
if(tolock) /* clear temporary buffer for lockfile name */
|
||||
free(tolock);
|
||||
- for(i=maxindex(flags);i;i--) /* clear the flags */
|
||||
- flags[i]=0;
|
||||
+ bbzero(flags,sizeof(flags)); /* clear the flags */
|
||||
for(tolock=0,locknext=0;;)
|
||||
{ chp=skpspace(chp);
|
||||
switch(i= *chp++)
|
||||
--- procmail-3.22.orig/src/pipes.c
|
||||
+++ procmail-3.22/src/pipes.c
|
||||
@@ -145,7 +145,9 @@
|
||||
if(Stdout)
|
||||
{ *(eq=strchr(Stdout,'\0')-1)='\0'; /* chop the '=' */
|
||||
if(!(backblock=getenv(Stdout))) /* no current value? */
|
||||
- PRDB=PWRB= -1;
|
||||
+ { PRDB=PWRB= -1;
|
||||
+ backlen=0;
|
||||
+ }
|
||||
else
|
||||
{ backlen=strlen(backblock);
|
||||
goto pip;
|
||||
@@ -155,9 +157,7 @@
|
||||
pip: rpipe(pbackfd);
|
||||
rpipe(pinfd); /* main pipes setup */
|
||||
if(!(pidchild=sfork())) /* create a sending procmail */
|
||||
- { if(Stdout&&backblock)
|
||||
- backlen=strlen(backblock);
|
||||
- else
|
||||
+ { if(!Stdout)
|
||||
backblock=source,backlen=len;
|
||||
childsetup();rclose(PRDI);rclose(PRDB);
|
||||
rpipe(poutfd);rclose(STDOUT);
|
||||
@@ -194,7 +194,7 @@
|
||||
makeblock(&temp,Stdfilled);
|
||||
tmemmove(temp.p,Stdout,Stdfilled);
|
||||
readdyn(&temp,&Stdfilled,Stdfilled+backlen+1);
|
||||
- Stdout=realloc(Stdout,&Stdfilled+1);
|
||||
+ Stdout=realloc(Stdout,Stdfilled+1);
|
||||
tmemmove(Stdout,temp.p,Stdfilled+1);
|
||||
freeblock(&temp);
|
||||
retStdout(Stdout,pwait&&pipw,!backblock);
|
||||
--- procmail-3.22.orig/src/memblk.h
|
||||
+++ procmail-3.22/src/memblk.h
|
||||
@@ -1,6 +1,6 @@
|
||||
typedef struct memblk {
|
||||
char*p; /* where it starts */
|
||||
- long len; /* currently allocated size */
|
||||
+ long len; /* current size, not including trailing NUL */
|
||||
#ifdef USE_MMAP
|
||||
off_t filelen; /* how long is the file */
|
||||
int fd; /* file which is mmap()ed */
|
||||
--- procmail-3.22.orig/src/manconf.c
|
||||
+++ procmail-3.22/src/manconf.c
|
||||
@@ -233,7 +233,7 @@
|
||||
\2-@PRESERVOPT@\1and\1.BR \2-@FROMWHOPT@ .\1");
|
||||
pc("LMTPOPT",LMTPOPT);
|
||||
#else
|
||||
- ps("LMTPOPTdesc","");ps("LMTPusage","");
|
||||
+ ps("LMTPOPTdesc","");ps("LMTPusage","\1");
|
||||
#endif
|
||||
pname("INIT_UMASK",0);printf("0%lo/g\n",(unsigned long)INIT_UMASK);lines--;
|
||||
pn("DEFlinebuf",DEFlinebuf);
|
||||
--- procmail-3.22.orig/src/recommend.c
|
||||
+++ procmail-3.22/src/recommend.c
|
||||
@@ -47,7 +47,7 @@
|
||||
printf("chmod %lo %s\n",(unsigned long)(sgid|PERMIS),argv[2]);
|
||||
else if(chmdir==1)
|
||||
goto nogchmod;
|
||||
- if(chmdir)
|
||||
+ if(0)
|
||||
printf("chmod %c+w %s/.\n",chmdir==1?'g':'a',mailspooldir);
|
||||
nogchmod:
|
||||
return EXIT_SUCCESS;
|
||||
--- procmail-3.22.orig/src/foldinfo.h
|
||||
+++ procmail-3.22/src/foldinfo.h
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
#define ft_lock(type) ((type)>ft_MAILDIR) /* kernel lock fd */
|
||||
#define ft_atime(type) ((type)==ft_FILE) /* force atime < mtime */
|
||||
-#define ft_dotlock(type) ((type)==ft_FILE) /* dotlock $DEFAULT */
|
||||
+#define ft_dotlock(type) ((type)>ft_MAILDIR) /* dotlock $DEFAULT */
|
||||
#define ft_delim(type) ((type)==ft_FILE) /* add MMDF delim */
|
||||
#define ft_checkcloser(type) ((type)>ft_MH)
|
||||
#define ft_forceblank(type) ((type)!=ft_MAILDIR) /* force blank line at end */
|
||||
--- procmail-3.22.orig/src/mailfold.c
|
||||
+++ procmail-3.22/src/mailfold.c
|
||||
@@ -378,7 +378,8 @@
|
||||
dfilled=mailread=0;
|
||||
else if(rhead) /* only read in a new header */
|
||||
{ memblk new;
|
||||
- dfilled=mailread=0;makeblock(&new,0);readdyn(&new,&dfilled,0);
|
||||
+ dfilled=mailread=0;makeblock(&new,0);
|
||||
+ readdyn(&new,&dfilled,thebody-themail.p);
|
||||
if(tobesent>dfilled&&isprivate) /* put it in place here */
|
||||
{ tmemmove(themail.p+dfilled,thebody,filled-=tobesent);
|
||||
tmemmove(themail.p,new.p,dfilled);
|
||||
--- procmail-3.22.orig/FAQ
|
||||
+++ procmail-3.22/FAQ
|
||||
@@ -57,8 +57,8 @@
|
||||
Forward to |/usr/bin/procmail
|
||||
or if that doesn't work, try:
|
||||
Pipe to /usr/bin/procmail
|
||||
- as the only line in your mail spool file (e.g. /usr/mail/$LOGNAME), as
|
||||
- well as doing a "chmod 06660 /usr/mail/$LOGNAME". For more information
|
||||
+ as the only line in your mail spool file (e.g. /var/mail/$LOGNAME), as
|
||||
+ well as doing a "chmod 06660 /var/mail/$LOGNAME". For more information
|
||||
on such systems, do a "man mail".
|
||||
|
||||
If all of this doesn't work, procmail can be called on a periodical
|
||||
@@ -210,14 +210,14 @@
|
||||
procmail with both the fcntl() and lockf() locking method
|
||||
disabled (see config.h).
|
||||
|
||||
-17. I sometimes get these `Lock failure on "/usr/mail/$LOGNAME.lock"' errors
|
||||
+17. I sometimes get these `Lock failure on "/var/mail/$LOGNAME.lock"' errors
|
||||
from procmail. What do I do about it?
|
||||
|
||||
The problem here is that as long as procmail has not read a
|
||||
$HOME/.procmailrc file, it can hang on to the sgid mail permission
|
||||
- (which it needs in order to create a lockfile in /usr/mail).
|
||||
+ (which it needs in order to create a lockfile in /var/mail).
|
||||
I.e. if procmail delivers mail to a user without a $HOME/.procmailrc
|
||||
- file, procmail *can* (and does) use the /usr/mail/$LOGNAME.lock file.
|
||||
+ file, procmail *can* (and does) use the /var/mail/$LOGNAME.lock file.
|
||||
|
||||
If, however, it finds a $HOME/.procmailrc file, procmail has to let go
|
||||
of the sgid mail permission because otherwise any ordinary user could
|
||||
@@ -226,7 +226,7 @@
|
||||
There are several solutions to this problem:
|
||||
- Some systems support the sticky bit on directories (when set only
|
||||
allows the owner of a file in that directory to rename or remove
|
||||
- it). This enables you to make /usr/spool/mail drwxrwxrwt. It is
|
||||
+ it). This enables you to make /var/mail drwxrwxrwt. It is
|
||||
thus effectively world writable, but all the mailboxes in it are
|
||||
protected because only the mailbox owner can remove or rename it.
|
||||
- If your system did not exhibit the !@#$%^&* POSIX semantics for
|
||||
@@ -245,9 +245,9 @@
|
||||
:0
|
||||
$DEFAULT
|
||||
|
||||
- - You could, instead of using /usr/mail/$LOGNAME, use a file below
|
||||
+ - You could, instead of using /var/mail/$LOGNAME, use a file below
|
||||
your home directory as your default mailbox.
|
||||
- - Or, you could still use /usr/mail/$LOGNAME as the mailbox, but
|
||||
+ - Or, you could still use /var/mail/$LOGNAME as the mailbox, but
|
||||
simply instruct procmail to use a different lockfile. This can
|
||||
be achieved by putting following recipe at the bottom of
|
||||
your .procmailrc file:
|
||||
--- procmail-3.22.orig/Makefile
|
||||
+++ procmail-3.22/Makefile
|
||||
@@ -79,7 +79,7 @@
|
||||
# -lresolv # not really needed, is it?
|
||||
|
||||
# Informal list of directories where we look for the libraries in SEARCHLIBS
|
||||
-LIBPATHS=/lib /usr/lib /usr/local/lib
|
||||
+LIBPATHS=/lib /usr/lib
|
||||
|
||||
GCC_WARNINGS = -O2 -pedantic -Wreturn-type -Wunused -Wformat -Wtraditional \
|
||||
-Wpointer-arith -Wconversion -Waggregate-return \
|
||||
--- procmail-3.22.orig/debian/changelog
|
||||
+++ procmail-3.22/debian/changelog
|
||||
@@ -0,0 +1,294 @@
|
||||
+procmail (3.22-8) unstable; urgency=low
|
||||
+
|
||||
+ * Fixed strange formail -l behaviour when there is a Content-Length: header.
|
||||
+ Thanks a lot to Henning Makholm for the patch (Closes: #217853).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Mon, 3 Nov 2003 20:01:24 +0100
|
||||
+
|
||||
+procmail (3.22-7) unstable; urgency=low
|
||||
+
|
||||
+ * Fixed bad nroff syntax in procmailrc(5), closes: #147173.
|
||||
+ * Added missing newline in procmail(1), closes: #180477.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Mon, 10 Mar 2003 00:09:20 +0100
|
||||
+
|
||||
+procmail (3.22-6) unstable; urgency=low
|
||||
+
|
||||
+ * Standards-Version: 3.5.8.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Thu, 26 Dec 2002 18:27:08 +0100
|
||||
+
|
||||
+procmail (3.22-5) stable; urgency=medium
|
||||
+
|
||||
+ * Patched pipes.c to fix a memory allocation bug (Closes: #171514).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Thu, 26 Dec 2002 18:09:38 +0100
|
||||
+
|
||||
+procmail (3.22-4) unstable; urgency=low
|
||||
+
|
||||
+ * Fixed a typo in procmail(1). Patch by the author (Closes: #142983).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Tue, 16 Apr 2002 19:16:20 +0200
|
||||
+
|
||||
+procmail (3.22-3) unstable; urgency=medium
|
||||
+
|
||||
+ * Fixed off-by-one bug in procmail.c which made the raw flag not to be
|
||||
+ cleared properly. Thanks to Gregory Stark (Closes: #134341).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Sun, 17 Feb 2002 16:43:02 +0100
|
||||
+
|
||||
+procmail (3.22-2) unstable; urgency=medium
|
||||
+
|
||||
+ * Modified mailfold.c to fix a segfault problem. Patch by the author.
|
||||
+ * The system-wide mail directory is /var/mail as per policy.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Thu, 29 Nov 2001 09:39:04 +0100
|
||||
+
|
||||
+procmail (3.22-1) unstable; urgency=low
|
||||
+
|
||||
+ * New upstream release, which uses the `standard' format for Maildir
|
||||
+ filenames and retries on name collision. It also contains some
|
||||
+ bug fixes from the 3.23pre snapshot dated 2001-09-13.
|
||||
+ * Removed `sendmail' from the Recommends field, since we already
|
||||
+ have `exim' (the default Debian MTA) and `mail-transport-agent'.
|
||||
+ * Removed suidmanager support. Conflicts: suidmanager (<< 0.50).
|
||||
+ * Added support for DEB_BUILD_OPTIONS in the source package.
|
||||
+ * README.Maildir: Do not use locking on the example recipe,
|
||||
+ since it's wrong to do so in this case.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Wed, 21 Nov 2001 09:40:20 +0100
|
||||
+
|
||||
+procmail (3.15.2-1) stable; urgency=high
|
||||
+
|
||||
+ * New upstream release, with improved security and robustness involving
|
||||
+ signal handlers. Author recommends upgrading to this version on
|
||||
+ any system where it is installed setuid or setgid.
|
||||
+ * This release fixes also Bug #108417: procmail -p -m resets PATH.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Thu, 30 Aug 2001 20:05:06 +0200
|
||||
+
|
||||
+procmail (3.15.1-4) unstable; urgency=low
|
||||
+
|
||||
+ * Don't add an extra newline when delivering to a Maildir folder.
|
||||
+ Please note that the MTA may still add a newline on their own.
|
||||
+ Exim users should check the `suffix' variable, for example.
|
||||
+ Patch by the author. Closes: #78623.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Sat, 14 Apr 2001 17:18:29 +0200
|
||||
+
|
||||
+procmail (3.15.1-3) unstable; urgency=low
|
||||
+
|
||||
+ * Clarified formail -X behaviour, patch by the author (Closes: #77388).
|
||||
+ * Updated QuickStart.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Sun, 25 Mar 2001 10:45:56 +0200
|
||||
+
|
||||
+procmail (3.15.1-2) unstable; urgency=low
|
||||
+
|
||||
+ * Fixed lockfile -l endless loop (Closes: #82006). Patch by the author.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Sun, 28 Jan 2001 19:44:49 +0100
|
||||
+
|
||||
+procmail (3.15.1-1) unstable; urgency=low
|
||||
+
|
||||
+ * New upstream release. A race to create the mailspool would bounce one of
|
||||
+ the messages due to an internal error.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Mon, 8 Jan 2001 20:09:34 +0100
|
||||
+
|
||||
+procmail (3.15-3) unstable; urgency=low
|
||||
+
|
||||
+ * Fixed formatting error in procmailrc(5). Patch by the author.
|
||||
+ (Closes: #80437).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Sun, 31 Dec 2000 17:20:47 +0100
|
||||
+
|
||||
+procmail (3.15-2) unstable; urgency=low
|
||||
+
|
||||
+ * formail -l is now documented. Patch by the author (Closes: #72275).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Fri, 1 Dec 2000 19:54:22 +0100
|
||||
+
|
||||
+procmail (3.15-1) unstable; urgency=low
|
||||
+
|
||||
+ * New upstream release. Maildir support is now built-in.
|
||||
+ * Really change default PATH to "$HOME/bin:/usr/local/bin:/usr/bin:/bin".
|
||||
+ * Modified the note in QuickStart about refiltering an old mail folder.
|
||||
+ * Use SEARCHLIBS="" in debian/rules clean target to speed it up.
|
||||
+ * Modified ft_dotlock in src/foldinfo.h to be in compliance with
|
||||
+ locking policy, following a hint by the author.
|
||||
+ * Removed (versioned) dependency on debianutils, since mailstat
|
||||
+ does not use temporary files anymore.
|
||||
+ * Made the .forward example in procmail(1) not to depend on the build
|
||||
+ environment by modifying src/autoconf so that buggy_SENDMAIL is
|
||||
+ never defined.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Mon, 28 Aug 2000 12:51:05 +0200
|
||||
+
|
||||
+procmail (3.13.1-4) stable; urgency=high
|
||||
+
|
||||
+ * Fixed weird formail -rk behavior (patch from the author, backported
|
||||
+ from procmail-3.15). Thanks to Ben Collins for the report.
|
||||
+ * s/smail/exim/ in `Recommends:' field.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@debian.org> Tue, 22 Aug 2000 13:04:50 +0200
|
||||
+
|
||||
+procmail (3.13.1-3) unstable; urgency=medium
|
||||
+
|
||||
+ * Standards-Version: 3.1.1
|
||||
+ * Updated location of licenses in copyright file.
|
||||
+ * LOCKINGTEST=100 again, to use fcntl() and dot-locking, as required by
|
||||
+ latest policy.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Wed, 1 Dec 1999 12:37:35 +0100
|
||||
+
|
||||
+procmail (3.13.1-2) unstable; urgency=low
|
||||
+
|
||||
+ * Modified procmail(1) and QuickStart to reflect the fact that exim does
|
||||
+ not accept the exec keyword in .forward files (Bugs #33460 and #37771).
|
||||
+ * Modified formail to recognize exim's Envelope-To: header (Bug#40718).
|
||||
+ Patch by Philip Guenther.
|
||||
+ * Standards-Version: 3.0.0.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Mon, 19 Jul 1999 20:09:25 +0200
|
||||
+
|
||||
+procmail (3.13.1-1) stable unstable; urgency=high
|
||||
+
|
||||
+ * New upstream release, 3.13 missed a couple possible overflows.
|
||||
+ * Applied `procmail-locking.patch' from Bruce Guenter, since
|
||||
+ no directory delivery mechanism requires locking (Bug #35210).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Thu, 8 Apr 1999 13:56:33 +0200
|
||||
+
|
||||
+procmail (3.13-1) stable unstable; urgency=high
|
||||
+
|
||||
+ * New upstream release. procmail 3.12 breaks smartlist (Bug #35115).
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Fri, 2 Apr 1999 14:24:24 +0200
|
||||
+
|
||||
+procmail (3.12-1) frozen unstable; urgency=high
|
||||
+
|
||||
+ * New upstream release. Fixes some security bugs.
|
||||
+ * #define GROUP_PER_USER in config.h to allow writeable rcfiles when
|
||||
+ the group is the user's default group.
|
||||
+ * Added KNOWN_BUGS to the doc directory.
|
||||
+ * suid procmail to avoid non-suidness window when upgrading.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Thu, 4 Mar 1999 10:28:28 +0100
|
||||
+
|
||||
+procmail (3.10.7-7) frozen unstable; urgency=medium
|
||||
+
|
||||
+ * New Maildir patches from Bruce Guenter.
|
||||
+ Should fix Bug #30320: procmail: maildir does not use From_ lines.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Thu, 31 Dec 1998 13:27:20 +0100
|
||||
+
|
||||
+procmail (3.10.7-6) frozen unstable; urgency=medium
|
||||
+
|
||||
+ * Patched mailfold.c to avoid the unnecessary one second wait when
|
||||
+ delivering to MH folders (patch by the author).
|
||||
+ * src/locking.c: Applied a bugfix patch from the author.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Wed, 13 May 1998 21:50:19 +0200
|
||||
+
|
||||
+procmail (3.10.7-5) frozen unstable; urgency=medium
|
||||
+
|
||||
+ * Added a patch for Maildir support. The "new" procmail should be
|
||||
+ completely backwards compatible with the "previous" one, in the
|
||||
+ sense that its behaviour should be just the same for already
|
||||
+ existing .procmailrc files which do not use the new syntax for
|
||||
+ Maildir folders.
|
||||
+ * Added a small README.Maildir explaining how to use this feature.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Mon, 4 May 1998 19:39:55 +0200
|
||||
+
|
||||
+procmail (3.10.7-4) frozen unstable; urgency=low
|
||||
+
|
||||
+ * Added a small note in QuickStart about refiltering an old mail folder.
|
||||
+ * mailstat(1): The log file is truncated to zero length (Bug #21022).
|
||||
+ * PATH=/usr/local/bin:/usr/bin:/bin for the example in procmail(1).
|
||||
+ * Standards-Version: 2.4.1.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Fri, 17 Apr 1998 18:00:14 +0200
|
||||
+
|
||||
+procmail (3.10.7-3) frozen unstable; urgency=medium
|
||||
+
|
||||
+ * Patched src/recommend.c so that the mail spool directory is not
|
||||
+ touched. This will allow the package to be built using fakeroot.
|
||||
+ * Patched mailstat so that it uses tempfile.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Tue, 24 Mar 1998 21:43:08 +0100
|
||||
+
|
||||
+procmail (3.10.7-2) unstable; urgency=low
|
||||
+
|
||||
+ * Default PATH is now "$HOME/bin:/usr/local/bin:/usr/bin:/bin".
|
||||
+ * Added "fetchmail" to the Recommends: line as one more option.
|
||||
+ * Added /usr/doc/procmail/QuickStart (experimental).
|
||||
+ * Compressed changelog.Debian.
|
||||
+ * Removed debstd dependency.
|
||||
+ * Pristine source.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Sat, 31 Jan 1998 20:30:06 +0100
|
||||
+
|
||||
+procmail (3.10.7-1) unstable; urgency=low
|
||||
+
|
||||
+ * Upgraded to 3.11pre7. Sources are now GPLed, hurrah!
|
||||
+ * Added explicit SEARCHLIBS, to avoid unneeded dependency on libdl.
|
||||
+ * First libc6 release.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Wed, 18 Jun 1997 20:43:28 +0200
|
||||
+
|
||||
+procmail (3.10.4-2) frozen unstable; urgency=low
|
||||
+
|
||||
+ * Rebuilt using latest debmake to avoid a problem with suidmanager.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Sat, 17 May 1997 20:52:59 +0200
|
||||
+
|
||||
+procmail (3.10.4-1) frozen unstable; urgency=low
|
||||
+
|
||||
+ * Upgraded to 3.11pre4. Side effect: It can be built using libc6.
|
||||
+ * Removed NFS_ATIME_HACK patch, since it is no longer needed.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Sat, 12 Apr 1997 19:06:46 +0200
|
||||
+
|
||||
+procmail (3.10-8) unstable; urgency=low
|
||||
+
|
||||
+ * Rewritten copyright file.
|
||||
+ * initmake unmodified (source).
|
||||
+ * Patched to recognize NFS_ATIME_HACK variable in .procmailrc or
|
||||
+ /etc/procmailrc. Default value is "yes" (i.e. wait a second).
|
||||
+ * Added a small note about this in /usr/doc/procmail/README.Debian.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Sun, 23 Mar 1997 12:04:34 +0100
|
||||
+
|
||||
+procmail (3.10-7) unstable; urgency=low
|
||||
+
|
||||
+ * Put CFLAGS settings &c in ./Makefile, not in debian/rules.
|
||||
+ * Removed fix-substvars script, since it's no longer needed with
|
||||
+ new libc5-5.4.20.
|
||||
+ * Man page for mailstat changed slightly.
|
||||
+ * Some minor debian/rules changes.
|
||||
+ * Added MD5 sums.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Fri, 21 Feb 1997 20:53:30 +0100
|
||||
+
|
||||
+procmail (3.10-6) unstable; urgency=low
|
||||
+
|
||||
+ * Use debmake.
|
||||
+ * suidmanager support.
|
||||
+ * Removed `mailstat' from examples, it's already in /usr/bin.
|
||||
+ * Removed also `dirname' (which was "for the deprived").
|
||||
+ * Added `fix-substvars' script to depend on libc5 >= 5.4.0.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Mon, 23 Dec 1996 16:34:02 +0100
|
||||
+
|
||||
+procmail (3.10-5) unstable; urgency=low
|
||||
+
|
||||
+ * Updated to Standards-Version 2.1.2.2.
|
||||
+ * Changed "Depends: MTA" to "Recommends: MTA".
|
||||
+ * Added extended package description in control file.
|
||||
+ * Added the symlink changelog.gz -> HISTORY.gz.
|
||||
+ * Added an "experimental" man page for mailstat.
|
||||
+ * New maintainer.
|
||||
+
|
||||
+ -- Santiago Vila <sanvila@ctv.es> Sat, 21 Dec 1996 23:32:11 +0100
|
||||
--- procmail-3.22.orig/debian/control
|
||||
+++ procmail-3.22/debian/control
|
||||
@@ -0,0 +1,18 @@
|
||||
+Source: procmail
|
||||
+Section: mail
|
||||
+Priority: standard
|
||||
+Maintainer: Santiago Vila <sanvila@debian.org>
|
||||
+Standards-Version: 3.6.1
|
||||
+
|
||||
+Package: procmail
|
||||
+Architecture: any
|
||||
+Depends: ${shlibs:Depends}
|
||||
+Conflicts: suidmanager (<< 0.50)
|
||||
+Recommends: exim | mail-transport-agent | fetchmail
|
||||
+Description: Versatile e-mail processor
|
||||
+ Can be used to create mail-servers, mailing lists, sort your incoming
|
||||
+ mail into separate folders/files (real convenient when subscribing to one
|
||||
+ or more mailing lists or for prioritising your mail), preprocess your
|
||||
+ mail, start any programs upon mail arrival (e.g. to generate different
|
||||
+ chimes on your workstation for different types of mail) or selectively
|
||||
+ forward certain incoming mail automatically to someone.
|
||||
--- procmail-3.22.orig/debian/copyright
|
||||
+++ procmail-3.22/debian/copyright
|
||||
@@ -0,0 +1,41 @@
|
||||
+This is the Debian prepackaged version of the "procmail" mail-processing
|
||||
+program written by Stephen van den Berg.
|
||||
+
|
||||
+This package is currently maintained by Santiago Vila <sanvila@debian.org>.
|
||||
+The source for this release was downloaded from:
|
||||
+
|
||||
+ftp://ftp.procmail.org/pub/procmail/procmail-3.22.tar.gz
|
||||
+
|
||||
+This package was first put together by Bruce Perens <bruce@hams.com>,
|
||||
+who added Debian package maintenance system files, and edited config.h
|
||||
+to configure for Debian.
|
||||
+
|
||||
+Copyright:
|
||||
+
|
||||
+Procmail & formail mail processing package.
|
||||
+Copyright (c) 1990-1999, S.R. van den Berg, The Netherlands.
|
||||
+Copyright (c) 1999-2001, Philip Guenther, The United States of America
|
||||
+
|
||||
+This package is open source software; you can redistribute it and/or
|
||||
+modify it under the terms of either:
|
||||
+- the GNU General Public License as published by the Free Software Foundation
|
||||
+ and can be found in the included file called "COPYING"; either version 2,
|
||||
+ or (at your option) any later version, or
|
||||
+- the "Artistic License" which can be found in the included file called
|
||||
+ "Artistic".
|
||||
+
|
||||
+This package is distributed in the hope that it will be useful, but without
|
||||
+any warranty; without even the implied warranty of merchantability or fitness
|
||||
+for a particular purpose. See either the GNU General Public License or the
|
||||
+Artistic License for more details.
|
||||
+
|
||||
+For those of you that choose to use the GNU General Public License,
|
||||
+my interpretation of the GNU General Public License is that no procmailrc
|
||||
+script falls under the terms of the GPL unless you explicitly put
|
||||
+said script under the terms of the GPL yourself.
|
||||
+
|
||||
+
|
||||
+On Debian systems, the complete text of the GNU General Public License
|
||||
+can be found in `/usr/share/common-licenses/GPL', and the complete
|
||||
+text of the "Artistic License" can be found in
|
||||
+`/usr/share/common-licenses/Artistic'.
|
||||
--- procmail-3.22.orig/debian/mailstat.1
|
||||
+++ procmail-3.22/debian/mailstat.1
|
||||
@@ -0,0 +1,40 @@
|
||||
+.TH MAILSTAT 1
|
||||
+.SH NAME
|
||||
+mailstat \- shows mail-arrival statistics
|
||||
+.SH SYNOPSIS
|
||||
+.B mailstat
|
||||
+[\-klmots] [logfile]
|
||||
+.SH DESCRIPTION
|
||||
+.B mailstat
|
||||
+parses a procmail-generated $LOGFILE and displays
|
||||
+a summary about the messages delivered to all folders
|
||||
+(total size, average size, nr of messages).
|
||||
+The $LOGFILE is truncated to zero length, unless the
|
||||
+.B -k
|
||||
+option is used.
|
||||
+Exit code 0 if mail arrived, 1 if no mail arrived.
|
||||
+.SH OPTIONS
|
||||
+.TP
|
||||
+.I \-k
|
||||
+keep logfile intact
|
||||
+.TP
|
||||
+.I \-l
|
||||
+long display format
|
||||
+.TP
|
||||
+.I \-m
|
||||
+merge any errors into one line
|
||||
+.TP
|
||||
+.I \-o
|
||||
+use the old logfile
|
||||
+.TP
|
||||
+.I \-t
|
||||
+terse display format
|
||||
+.TP
|
||||
+.I \-s
|
||||
+silent in case of no mail
|
||||
+.SH NOTES
|
||||
+Customise to your heart's content, this program is only provided as a
|
||||
+guideline.
|
||||
+.SH AUTHOR
|
||||
+This manual page was written by Santiago Vila <sanvila@debian.org>
|
||||
+for the Debian GNU/Linux distribution (but may be used by others).
|
||||
--- procmail-3.22.orig/debian/QuickStart
|
||||
+++ procmail-3.22/debian/QuickStart
|
||||
@@ -0,0 +1,97 @@
|
||||
+procmail QuickStart
|
||||
+===================
|
||||
+
|
||||
+* procmail is not an `interactive' program. It has to run automatically
|
||||
+when the mail arrives. Therefore the first thing to do is to tell our MTA
|
||||
+that we want procmail to "eat" all our mail messages. The way of doing
|
||||
+this depends on the MTA we are using. For example, if we are using
|
||||
+sendmail, it will suffice to have a .forward file like this in our home
|
||||
+directory:
|
||||
+
|
||||
+"|exec /usr/bin/procmail"
|
||||
+
|
||||
+(don't forget the quotes, they are needed in this case).
|
||||
+
|
||||
+If you are using exim, use this instead as your .forward file:
|
||||
+
|
||||
+|/usr/bin/procmail
|
||||
+
|
||||
+The step of creating a .forward file is not needed if the MTA already
|
||||
+performs the delivery using procmail. For example, Debian sendmail will
|
||||
+automatically use procmail for mail delivering if the sendmail.cf is
|
||||
+generated from a sendmail.mc file containing this line:
|
||||
+
|
||||
+FEATURE(local_procmail)dnl
|
||||
+
|
||||
+
|
||||
+* If we have a stand-alone system with no permanent net connection (like
|
||||
+PPP), and we are using fetchmail to get mail from a server, we don't
|
||||
+really need a MTA. Just adding --mda "formail -s procmail" to the
|
||||
+fetchmail command line (or using the `mda' keyword) will tell it to
|
||||
+deliver through procmail.
|
||||
+
|
||||
+
|
||||
+* Next, we have to write a ~/.procmailrc file in our home directory. This
|
||||
+file is a set of filtering rules, based on regular expressions. The
|
||||
+complete syntax is explained in procmailrc(5). Let's see a real example
|
||||
+just to get started. Let's suppose you are subscribed to the following two
|
||||
+mailing lists:
|
||||
+
|
||||
+linux-kernel@vger.kernel.org
|
||||
+debian-user@lists.debian.org
|
||||
+
|
||||
+The first list is managed by Majordomo. Messages coming from a Majordomo
|
||||
+list often include a header field "Sender: " which allow easy filtering.
|
||||
+
|
||||
+The second list is managed my SmartList. Messages coming from a SmartList
|
||||
+list may include several headers that can be used to filter it. One of
|
||||
+them (in fact, the only that it is not X-whatever) is "Resent-Sender: ".
|
||||
+
|
||||
+So the following .procmailrc will first filter the mailing lists, and
|
||||
+any remaining message will go to the default folder:
|
||||
+
|
||||
+*--------------------------------->8------------------------------------
|
||||
+PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin
|
||||
+MAILDIR=$HOME/mail # you'd better make sure it exists
|
||||
+DEFAULT=$MAILDIR/mbox # completely optional
|
||||
+LOGFILE=$MAILDIR/procmail.log # recommended
|
||||
+
|
||||
+:0:
|
||||
+* ^Sender:.*linux-kernel-owner@vger.kernel.org
|
||||
+linux-kernel
|
||||
+
|
||||
+:0:
|
||||
+* ^Resent-Sender:.*debian-user-request@lists.debian.org
|
||||
+debian-user
|
||||
+*--------------------------------->8------------------------------------
|
||||
+
|
||||
+From this example additional rules for mailing lists may be created
|
||||
+easily.
|
||||
+
|
||||
+
|
||||
+* Once you have received lots of messages you will want to know where
|
||||
+did they go. That's what the LOGFILE is for. There is a tool named
|
||||
+mailstat which parses this file and shows a summary:
|
||||
+
|
||||
+mailstat procmail.log
|
||||
+
|
||||
+The mailstat command that this package provides does really come from the
|
||||
+examples directory and it is installed by default. You may have your own
|
||||
+modified copy in $HOME/bin, if you like.
|
||||
+
|
||||
+
|
||||
+If you have to refilter an old mail folder according to your current
|
||||
+~/.procmailrc file, you may do the following:
|
||||
+
|
||||
+cat mbox | formail -s procmail
|
||||
+
|
||||
+But of course if your mbox file is the target of a procmail recipe you should
|
||||
+do this instead:
|
||||
+
|
||||
+mv mbox whatever
|
||||
+cat whatever | formail -s procmail
|
||||
+
|
||||
+See formail(1) for details.
|
||||
+
|
||||
+
|
||||
+Santiago Vila <sanvila@debian.org>
|
||||
--- procmail-3.22.orig/debian/README.Maildir
|
||||
+++ procmail-3.22/debian/README.Maildir
|
||||
@@ -0,0 +1,12 @@
|
||||
+This version of procmail supports Maildir folders.
|
||||
+
|
||||
+To make procmail to deliver into a Maildir folder, just append
|
||||
+a slash (/) to the name of the maildir folder in your ~/.procmailrc file.
|
||||
+For example, the following rule:
|
||||
+
|
||||
+:0
|
||||
+* ^Resent-Sender.*debian-user-request@lists.debian.org
|
||||
+debian-user/
|
||||
+
|
||||
+will deliver all mail from the debian-user mailing list to the Maildir
|
||||
+folder "debian-user".
|
||||
--- procmail-3.22.orig/debian/rules
|
||||
+++ procmail-3.22/debian/rules
|
||||
@@ -0,0 +1,76 @@
|
||||
+#!/usr/bin/make -f
|
||||
+
|
||||
+package = procmail
|
||||
+docdir = debian/tmp/usr/share/doc/$(package)
|
||||
+
|
||||
+CC = gcc
|
||||
+CFLAGS0 = -g
|
||||
+LDFLAGS0 =
|
||||
+SEARCHLIBS = -lm
|
||||
+STRIP = true
|
||||
+
|
||||
+ifeq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||
+ CFLAGS0 += -O2
|
||||
+endif
|
||||
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
|
||||
+ STRIP = strip --remove-section=.comment --remove-section=.note
|
||||
+endif
|
||||
+
|
||||
+build:
|
||||
+ $(checkdir)
|
||||
+ $(MAKE) CC="$(CC)" CFLAGS0="$(CFLAGS0)" LDFLAGS0="$(LDFLAGS0)" \
|
||||
+ SEARCHLIBS="$(SEARCHLIBS)"
|
||||
+ touch build
|
||||
+
|
||||
+clean:
|
||||
+ $(checkdir)
|
||||
+ rm -f build
|
||||
+ -$(MAKE) realclean SEARCHLIBS=""
|
||||
+ rm -f `find . -name "*~"`
|
||||
+ rm -rf debian/tmp debian/files* core debian/substvars
|
||||
+
|
||||
+binary-indep: checkroot build
|
||||
+ $(checkdir)
|
||||
+
|
||||
+binary-arch: checkroot build
|
||||
+ $(checkdir)
|
||||
+ rm -rf debian/tmp
|
||||
+ install -d debian/tmp/DEBIAN $(docdir)/examples
|
||||
+ cd debian/tmp && install -d usr/bin
|
||||
+ $(MAKE) BASENAME=`pwd`/debian/tmp/usr install.man install-suid
|
||||
+ $(STRIP) debian/tmp/usr/bin/procmail
|
||||
+ $(STRIP) debian/tmp/usr/bin/lockfile
|
||||
+ $(STRIP) debian/tmp/usr/bin/formail
|
||||
+ cp -p debian/copyright $(docdir)
|
||||
+ cp -p debian/changelog $(docdir)/changelog.Debian
|
||||
+ install -m 644 debian/mailstat.1 debian/tmp/usr/man/man1
|
||||
+ cp -p FEATURES HISTORY README FAQ KNOWN_BUGS \
|
||||
+ debian/QuickStart debian/README.Maildir $(docdir)
|
||||
+ cp -p examples/* $(docdir)/examples
|
||||
+ cd $(docdir)/examples && rm -f dirname mailstat procmail-rpm.spec
|
||||
+ cd $(docdir) && gzip -9 HISTORY changelog.Debian
|
||||
+ ln -s HISTORY.gz $(docdir)/changelog.gz
|
||||
+ mv debian/tmp/usr/man debian/tmp/usr/share
|
||||
+ gzip -r9 debian/tmp/usr/share/man
|
||||
+ dpkg-shlibdeps debian/tmp/usr/bin/*
|
||||
+ dpkg-gencontrol -isp
|
||||
+ cd debian/tmp && \
|
||||
+ md5sum `find * -type f ! -regex "DEBIAN/.*"` > DEBIAN/md5sums
|
||||
+ chown -R root:root debian/tmp
|
||||
+ chmod -R go=rX debian/tmp
|
||||
+ chgrp mail debian/tmp/usr/bin/procmail debian/tmp/usr/bin/lockfile
|
||||
+ chmod 6755 debian/tmp/usr/bin/procmail
|
||||
+ chmod 2755 debian/tmp/usr/bin/lockfile
|
||||
+ dpkg --build debian/tmp ..
|
||||
+
|
||||
+define checkdir
|
||||
+ test -f src/$(package).c -a -f debian/rules
|
||||
+endef
|
||||
+
|
||||
+binary: binary-indep binary-arch
|
||||
+
|
||||
+checkroot:
|
||||
+ $(checkdir)
|
||||
+ test root = "`whoami`"
|
||||
+
|
||||
+.PHONY: binary binary-arch binary-indep clean checkroot
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (procmail-3.24.tar.gz) = ce3763205d7e34c8a096c411487de296ecfb190ba817ad07926d44811222e689faedb97a3d4e85989db70e5a2298b26fff70c9d0cb0324a447ddc8988d7fe8ea
|
||||
SHA512 (procmail-3.22.tar.gz) = 3d0658329a55957a8d5741e03b0853b030c4524acef30641663213aa9eefc8264f8cc2b68a00a89e5f9f0f7c916c41a42e1b6c8df562c545ba97d8ab9049a936
|
||||
|
Loading…
Reference in New Issue
Block a user