diff options
-rw-r--r-- | extra/procmail/.footprint | 6 | ||||
-rw-r--r-- | extra/procmail/.md5sum | 2 | ||||
-rw-r--r-- | extra/procmail/Pkgfile | 16 | ||||
-rw-r--r-- | extra/procmail/procmail-getline.patch | 57 |
4 files changed, 81 insertions, 0 deletions
diff --git a/extra/procmail/.footprint b/extra/procmail/.footprint new file mode 100644 index 000000000..9b5adf84e --- /dev/null +++ b/extra/procmail/.footprint @@ -0,0 +1,6 @@ +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/formail +-rwxr-sr-x root/root usr/bin/lockfile +-rwxr-xr-x root/root usr/bin/mailstat +-rwsr-sr-x root/root usr/bin/procmail diff --git a/extra/procmail/.md5sum b/extra/procmail/.md5sum new file mode 100644 index 000000000..b44c4a0f3 --- /dev/null +++ b/extra/procmail/.md5sum @@ -0,0 +1,2 @@ +1678ea99b973eb77eda4ecf6acae53f1 procmail-3.22.tar.gz +bb28a5240503d37a1776d3f02818e01e procmail-getline.patch diff --git a/extra/procmail/Pkgfile b/extra/procmail/Pkgfile new file mode 100644 index 000000000..51c67962b --- /dev/null +++ b/extra/procmail/Pkgfile @@ -0,0 +1,16 @@ +# Description: MDA - agent de livraison de mail - possibilité d'y configurer des filtres +# URL: http://www.procmail.org/$name-$version.tar.gz) +# Maintainer: NuTyX core team +# Packager: skingrapher at legtux dot org +# Depends on: +name=procmail +version=3.22 +release=1 +source=(http://www.procmail.org/$name-$version.tar.gz) + +build() { +cd $name-$version + sed -i 's/getline/get_line/' src/{fields.c,formail.c,formisc.{c,h}} + make LOCKINGTEST=/tmp install all + make BASENAME=$PKG/usr MANDIR=$PKG/usr/share/man install-suid +} diff --git a/extra/procmail/procmail-getline.patch b/extra/procmail/procmail-getline.patch new file mode 100644 index 000000000..e795dd787 --- /dev/null +++ b/extra/procmail/procmail-getline.patch @@ -0,0 +1,57 @@ + diff -Nru procmail-3.22.orig/src/fields.c procmail-3.22/src/fields.c + --- procmail-3.22.orig/src/fields.c 2009-05-15 21:59:51.768416278 +0200 + +++ procmail-3.22/src/fields.c 2009-05-15 22:00:58.128416259 +0200 + @@ -110,16 +110,16 @@ + /* 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 -Nru procmail-3.22.orig/src/formail.c procmail-3.22/src/formail.c + --- procmail-3.22.orig/src/formail.c 2009-05-15 21:59:51.768416278 +0200 + +++ procmail-3.22/src/formail.c 2009-05-15 22:01:23.778416754 +0200 + @@ -819,7 +819,7 @@ + { 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 -Nru procmail-3.22.orig/src/formisc.c procmail-3.22/src/formisc.c + --- procmail-3.22.orig/src/formisc.c 2009-05-15 21:59:51.768416278 +0200 + +++ procmail-3.22/src/formisc.c 2009-05-15 22:02:00.538416155 +0200 + @@ -115,7 +115,7 @@ + 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 -Nru procmail-3.22.orig/src/formisc.h procmail-3.22/src/formisc.h + --- procmail-3.22.orig/src/formisc.h 2009-05-15 21:59:51.768416278 +0200 + +++ procmail-3.22/src/formisc.h 2009-05-15 22:02:12.028416164 +0200 + @@ -17,4 +17,4 @@ + char* + skipwords P((char*start)); + int + - getline P((void)); + + get_line P((void)); + |