1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
|
--- 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
@@ -723,6 +723,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 +763,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/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/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/authenticate.c
+++ procmail-3.22/src/authenticate.c
@@ -39,13 +39,13 @@
#include "authenticate.h"
#ifndef MAILSPOOLDIR
-#define MAILSPOOLDIR "/var/spool/mail/" /* watch the trailing / */
+#define MAILSPOOLDIR "/var/mail/" /* watch the trailing / */
#endif
#ifndef MAILSPOOLSUFFIX
#define MAILSPOOLSUFFIX "" /* suffix to force maildir or MH style */
#endif
#ifndef MAILSPOOLHASH
-#define MAILSPOOLHASH 0 /* 2 would deliver to /var/spool/mail/b/a/bar */
+#define MAILSPOOLHASH 0 /* 2 would deliver to /var/mail/b/a/bar */
#endif
/*#define MAILSPOOLHOME "/.mail" /* watch the leading / */
/* delivers to $HOME/.mail */
--- procmail-3.22.orig/src/autoconf
+++ procmail-3.22/src/autoconf
@@ -89,7 +89,7 @@
# #define NOfcntl_lock
#Ok #define USElockf
#Ok #define USEflock
-#Ok #define MAILSPOOLDIR "/var/spool/mail/"
+#Ok #define MAILSPOOLDIR "/var/mail/"
#Ok #define SENDMAIL "/usr/sbin/sendmail"
# #define buggy_SENDMAIL
# #define DEFflagsendmail ""
@@ -1416,14 +1416,14 @@
found=no
-for a in /var/spool/mail /usr/spool/mail /var/mail /usr/mail /spool/mail
+for a in /var/mail /var/spool/mail /usr/spool/mail /usr/mail /spool/mail
do
test -d $a -a $found != yes &&
echo '#define MAILSPOOLDIR "'$a'/"' >>$ACONF && found=yes
done
if test $found != yes
then
- echo '#define MAILSPOOLDIR "/var/spool/mail/"' >>$ACONF
+ echo '#define MAILSPOOLDIR "/var/mail/"' >>$ACONF
echo Could not find the system-mailbox directory, supplied default.
fi
@@ -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/FEATURES
+++ procmail-3.22/FEATURES
@@ -30,7 +30,7 @@
per message, the similar MH directory folders (numbered files),
and Maildir directory folders (a multi-directory format that requires
no locking)
- + Native support for /var/spool/mail/b/a/bar type mailspools
+ + Native support for /var/mail/b/a/bar type mailspools
+ Variable assignment and substitution is an extremely complete subset
of the standard /bin/sh syntax
+ Provides a mail log file, which logs all mail arrival, shows
--- procmail-3.22.orig/Makefile
+++ procmail-3.22/Makefile
@@ -65,7 +65,7 @@
# Only edit below this line if you *think* you know what you are doing #
########################################################################
-#LOCKINGTEST=100 # Uncomment (and change) if you think you know
+LOCKINGTEST=100 # Uncomment (and change) if you think you know
# it better than the autoconf lockingtests.
# This will cause the lockingtests to be hotwired.
# 100 to enable fcntl()
@@ -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/config.h
+++ procmail-3.22/config.h
@@ -33,8 +33,8 @@
* override those settings you should uncomment and possibly change the
* DEFSPATH and DEFPATH defines below
*/
-/*#define DEFSPATH "PATH=/bin:/usr/bin" /* */
-/*#define DEFPATH "PATH=$HOME/bin:/bin:/usr/bin" /* */
+#define DEFSPATH "PATH=/usr/local/bin:/usr/bin:/bin" /* */
+#define DEFPATH "PATH=$HOME/bin:/usr/local/bin:/usr/bin:/bin" /* */
/* every environment variable appearing in PRESTENV will be set or wiped
* out of the environment (variables without an '=' sign will be thrown
@@ -46,7 +46,7 @@
*/
#define PRESTENV {"IFS","ENV","PWD",0}
-/*#define GROUP_PER_USER /* uncomment this if each
+#define GROUP_PER_USER /* uncomment this if each
user has his or her own
group and procmail can therefore trust a $HOME/.procmailrc that
is group writable or contained in a group writable home directory
@@ -98,7 +98,7 @@
mail present. procmail automatically suppresses this when it isn't
needed or under heavy load. */
-/*#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if
+#define DEFsendmail "/usr/sbin/sendmail" /* uncomment and/or change if
the autoconfigured default
SENDMAIL is not suitable. This program should quack like a sendmail:
it should accept the -oi flag (to tell it to _not_ treat a line
--- procmail-3.22.orig/debian/changelog
+++ procmail-3.22/debian/changelog
@@ -0,0 +1,278 @@
+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
+
+Local variables:
+mode: debian-changelog
+End:
--- 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.5.6
+
+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/mk-symlinks
+++ procmail-3.22/debian/mk-symlinks
@@ -0,0 +1,28 @@
+#!/bin/sh
+package=$1
+debiandir=debian/tmp/DEBIAN
+if [ "$2" != "" ]; then
+ debiandir=debian/$2/DEBIAN
+fi
+if [ ! -f $debiandir/postinst ]; then
+ echo "#!/bin/sh" > $debiandir/postinst
+ echo "set -e" >> $debiandir/postinst
+ chmod 755 $debiandir/postinst
+fi
+if [ ! -f $debiandir/prerm ]; then
+ echo "#!/bin/sh" > $debiandir/prerm
+ echo "set -e" >> $debiandir/prerm
+ chmod 755 $debiandir/prerm
+fi
+cat << EOF >> $debiandir/postinst
+if [ "\$1" = "configure" ]; then
+ if [ -d /usr/doc -a ! -e /usr/doc/$package -a -d /usr/share/doc/$package ]; then
+ ln -sf ../share/doc/$package /usr/doc/$package
+ fi
+fi
+EOF
+cat << EOF >> $debiandir/prerm
+if [ \( "\$1" = "upgrade" -o "\$1" = "remove" \) -a -L /usr/doc/$package ]; then
+ rm -f /usr/doc/$package
+fi
+EOF
--- 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,77 @@
+#!/usr/bin/make -f
+
+package = procmail
+docdir = debian/tmp/usr/share/doc/$(package)
+
+CC = gcc
+CFLAGS0 = -O2
+LDFLAGS0 =
+SEARCHLIBS = -lm
+STRIP = true
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+ CFLAGS0 += -g
+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/*
+ sh debian/mk-symlinks $(package)
+ 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
|