head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.122 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.120 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.118 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.116 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.114 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.112 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.110 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.108 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.106 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.104 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.102 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.100 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.98 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.96 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.94 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.92 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.90 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.88 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.86 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.84 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.82 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.80 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.78 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.74 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.54 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.76 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.72 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.70 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.68 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.66 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.64 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.62 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.60 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.58 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.56 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.52 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.50 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.48 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.46 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.44 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.42 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.40 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.38 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.36 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.34 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.32 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.30 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.28 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.26 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.24 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.22 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.20 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.18 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.16 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.14 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.12 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.10 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.8 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.6 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.4 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.2 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.4.0.2 pkgsrc-2010Q4-base:1.4 pkgsrc-2010Q3:1.1.1.1.0.68 pkgsrc-2010Q3-base:1.1.1.1 pkgsrc-2010Q2:1.1.1.1.0.66 pkgsrc-2010Q2-base:1.1.1.1 pkgsrc-2010Q1:1.1.1.1.0.64 pkgsrc-2010Q1-base:1.1.1.1 pkgsrc-2009Q4:1.1.1.1.0.62 pkgsrc-2009Q4-base:1.1.1.1 pkgsrc-2009Q3:1.1.1.1.0.60 pkgsrc-2009Q3-base:1.1.1.1 pkgsrc-2009Q2:1.1.1.1.0.58 pkgsrc-2009Q2-base:1.1.1.1 pkgsrc-2009Q1:1.1.1.1.0.56 pkgsrc-2009Q1-base:1.1.1.1 pkgsrc-2008Q4:1.1.1.1.0.54 pkgsrc-2008Q4-base:1.1.1.1 pkgsrc-2008Q3:1.1.1.1.0.52 pkgsrc-2008Q3-base:1.1.1.1 cube-native-xorg:1.1.1.1.0.50 cube-native-xorg-base:1.1.1.1 pkgsrc-2008Q2:1.1.1.1.0.48 pkgsrc-2008Q2-base:1.1.1.1 cwrapper:1.1.1.1.0.46 pkgsrc-2008Q1:1.1.1.1.0.44 pkgsrc-2008Q1-base:1.1.1.1 pkgsrc-2007Q4:1.1.1.1.0.42 pkgsrc-2007Q4-base:1.1.1.1 pkgsrc-2007Q3:1.1.1.1.0.40 pkgsrc-2007Q3-base:1.1.1.1 pkgsrc-2007Q2:1.1.1.1.0.38 pkgsrc-2007Q2-base:1.1.1.1 pkgsrc-2007Q1:1.1.1.1.0.36 pkgsrc-2007Q1-base:1.1.1.1 pkgsrc-2006Q4:1.1.1.1.0.34 pkgsrc-2006Q4-base:1.1.1.1 pkgsrc-2006Q3:1.1.1.1.0.32 pkgsrc-2006Q3-base:1.1.1.1 pkgsrc-2006Q2:1.1.1.1.0.30 pkgsrc-2006Q2-base:1.1.1.1 pkgsrc-2006Q1:1.1.1.1.0.28 pkgsrc-2006Q1-base:1.1.1.1 pkgsrc-2005Q4:1.1.1.1.0.26 pkgsrc-2005Q4-base:1.1.1.1 pkgsrc-2005Q3:1.1.1.1.0.24 pkgsrc-2005Q3-base:1.1.1.1 pkgsrc-2005Q2:1.1.1.1.0.22 pkgsrc-2005Q2-base:1.1.1.1 pkgsrc-2005Q1:1.1.1.1.0.20 pkgsrc-2005Q1-base:1.1.1.1 pkgsrc-2004Q4:1.1.1.1.0.18 pkgsrc-2004Q4-base:1.1.1.1 pkgsrc-2004Q3:1.1.1.1.0.16 pkgsrc-2004Q3-base:1.1.1.1 pkgsrc-2004Q2:1.1.1.1.0.14 pkgsrc-2004Q2-base:1.1.1.1 pkgsrc-2004Q1:1.1.1.1.0.12 pkgsrc-2004Q1-base:1.1.1.1 pkgsrc-2003Q4:1.1.1.1.0.10 pkgsrc-2003Q4-base:1.1.1.1 netbsd-1-6-1:1.1.1.1.0.6 netbsd-1-6-1-base:1.1.1.1 netbsd-1-6:1.1.1.1.0.8 netbsd-1-6-RELEASE-base:1.1.1.1 pkgviews:1.1.1.1.0.4 pkgviews-base:1.1.1.1 buildlink2:1.1.1.1.0.2 buildlink2-base:1.1.1.1 netbsd-1-5-PATCH003:1.1.1.1 netbsd-1-5-PATCH001:1.1.1.1 netbsd-1-5-RELEASE:1.1.1.1 netbsd-1-4-PATCH003:1.1.1.1 netbsd-1-4-PATCH002:1.1.1.1 comdex-fall-1999:1.1.1.1 netbsd-1-4-PATCH001:1.1.1.1 pkgsrc-base:1.1.1.1 TNF:1.1.1; locks; strict; comment @# @; 1.5 date 2011.01.29.19.39.14; author spz; state Exp; branches; next 1.4; 1.4 date 2010.11.10.07.51.37; author spz; state Exp; branches; next 1.3; 1.3 date 2010.11.09.06.40.13; author spz; state Exp; branches; next 1.2; 1.2 date 2010.10.30.23.48.36; author spz; state Exp; branches; next 1.1; 1.1 date 99.06.08.17.51.26; author bad; state Exp; branches 1.1.1.1; next ; 1.1.1.1 date 99.06.08.17.51.26; author bad; state Exp; branches; next ; desc @@ 1.5 log @missed three more command line config file options added descriptions to the patches @ text @$NetBSD$ bring up to perl 5.12 standard (this is old code) avoid the wrapper + -c trap --- digest.orig 2000-01-07 11:04:34.000000000 +0000 +++ digest @@@@ -72,8 +72,8 @@@@ sub receive_message { sub should_be_sent { # fudge factors for headers and footers $sum = 600 + length($HEADER) + length($HEADERS) + length($TRAILER); - $lines = 25 + ($HEADER =~ s/\n/\n/g) + ($HEADERS =~ s/\n/\n/g) + - ($TRAILER =~ s/\n/\n/g); + $lines = 25 + ($HEADER =~ s/\n/\n/gm) + ($HEADERS =~ s/\n/\n/gm) + + ($TRAILER =~ s/\n/\n/gm); ##print "start: lines = $lines\n"; $i = shift; while (1) { @@@@ -87,17 +87,17 @@@@ sub should_be_sent { # only count From/Date/Subject header fields to get a # more accurate size and line count. - $head =~ s/\n\s+/ /g; - $head =~ /^(From:\s+.*)/i && ($sum += length($1)+1, $lines++); - $head =~ /^(Subject:\s+.*)/i && ($sum += length($1)+1, $lines++); - $head =~ /^(Date:\s+.*)/i && ($sum += length($1)+1, $lines++); + $head =~ s/\n\s+/ /gm; + $head =~ /^(From:\s+.*)/im && ($sum += length($1)+1, $lines++); + $head =~ /^(Subject:\s+.*)/im && ($sum += length($1)+1, $lines++); + $head =~ /^(Date:\s+.*)/im && ($sum += length($1)+1, $lines++); $sum++, $lines++; # count the body of the message undef $/; $body = ; $sum += length($body); - $lines += ($body =~ s/\n/\n/g); # count newlines + $lines += ($body =~ s/\n/\n/gm); # count newlines $/ = "\n"; close(COUNT); @@@@ -175,35 +175,35 @@@@ sub send_digest { print STDERR "producing $V{'NAME'} V$VOLUME #$NUMBER\n"; foreach (@@files) { $message = "$V{'INCOMING'}/$_"; - open(message) || &abort("$message: $!\n"); + open(MESSAGE, $message) || &abort("$message: $!\n"); print STDERR "\tprocessing $message\n"; push(@@processed,$message); $/ = ''; - $head = ; - $head =~ s/\n\s+/ /g; + $head = ; + $head =~ s/\n\s+/ /gm; $body = ""; - $subj = ($head =~ /^Subject:\s+(.*)/i)? $1: "[none]"; - ($from) = $head =~ /^From:\s+(.*)/i; - ($date) = $head =~ /^Date:\s+(.*)/i; + $subj = ($head =~ /^Subject:\s+(.*)/im)? $1: "[none]"; + ($from) = $head =~ /^From:\s+(.*)/im; + ($date) = $head =~ /^Date:\s+(.*)/im; undef $/; - $body = ; - close(message); + $body = ; + close(MESSAGE); # trim message fronter and footers inserted by resend in # non digest version of list if ($RMHEADER) { - $body =~ s/$RMHEADER/\n/; + $body =~ s/$RMHEADER/\n/m; } if ($RMTRAILER) { - $body =~ s/$RMTRAILER/\n/; + $body =~ s/$RMTRAILER/\n/m; } # escape ^From ... $body =~ - s/^From (\S+\s+\w{3}\s+\w{3}\s+\d+\s+\d+:\d+:\d+)/>From $1/g; - $body =~ s/^-/- -/g; # escape encapsulation boundaries in message + s/^From (\S+\s+\w{3}\s+\w{3}\s+\d+\s+\d+:\d+:\d+)/>From $1/gm; + $body =~ s/^-/- -/gm; # escape encapsulation boundaries in message # trim trailing \n's $len = length($body) - 1; $len-- while (substr($body,$len,1) eq "\n"); @@@@ -291,7 +291,9 @@@@ EOF } else { $sender = $V{'ERRORS-TO'}; $mailcmd = eval qq/"$mailer"/; + print STDERR "$mailcmd $V{'REALLY-TO'} < $DIGEST\n"; system("$mailcmd $V{'REALLY-TO'} < $DIGEST"); + chmod 0664, $DIGEST; unlink(@@processed); } @@@@ -302,7 +304,6 @@@@ EOF } sub init { - $* = 1; $HOME = $ENV{"HOME"} || (getpwuid($>))[7]; chdir($HOME); &getopt("drRmpc:Cl:z") || @@@@ -322,12 +323,15 @@@@ sub readconfig { &abort("-C used without -l"); } else { # Read and execute the .cf file - $cf = $opt_c || $ENV{"MAJORDOMO_CF"} || - "/etc/majordomo.cf"; + $cf = $ENV{"MAJORDOMO_CF"} || $opt_c || "/etc/majordomo.cf"; require "$cf"; chdir($homedir); + # All these should be in the standard PERL library + unshift(@@INC, $bindir); + unshift(@@INC, $homedir); + $opt_l =~ tr/A-Z/a-z/; require "config_parse.pl"; @@@@ -360,9 +364,9 @@@@ $bounce_mailer = "$sendmail_command -f\$ &get_config($listdir, $config_opts{$opt_l,"digest_rm_fronter"}); $RMHEADER = $config_opts{$config_opts{$opt_l,"digest_rm_fronter"}, "message_fronter"}; - $RMHEADER =~ s/([^A-Za-z0-9 \001])/\\\1/g; - $RMHEADER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/g; - $RMHEADER =~ s/\001/\\n/g; + $RMHEADER =~ s/([^A-Za-z0-9 \001])/\\\1/gm; + $RMHEADER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/gm; + $RMHEADER =~ s/\001/\\n/gm; } if ($config_opts{$opt_l,"digest_rm_footer"}) { if ($config_opts{$opt_l,"digest_rm_footer"} ne @@@@ -371,16 +375,16 @@@@ $bounce_mailer = "$sendmail_command -f\$ } $RMTRAILER = $config_opts{$config_opts{$opt_l,"digest_rm_footer"}, "message_footer"}; - $RMTRAILER =~ s/([^A-Za-z0-9 \001])/\\\1/g; - $RMTRAILER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/g; - $RMTRAILER =~ s/\001/\\n/g; + $RMTRAILER =~ s/([^A-Za-z0-9 \001])/\\\1/gm; + $RMTRAILER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/gm; + $RMTRAILER =~ s/\001/\\n/gm; } # map config opts to internal variables and $V array $HEADER = $config_opts{$opt_l,"message_fronter"}; - $HEADER =~ s/\001/\n/g; + $HEADER =~ s/\001/\n/gm; $TRAILER = $config_opts{$opt_l,"message_footer"}; - $TRAILER =~ s/\001/\n/g; + $TRAILER =~ s/\001/\n/gm; $VOLUME = $config_opts{$opt_l,"digest_volume"}; $NUMBER = $config_opts{$opt_l,"digest_issue"}; $Precedence = $config_opts{$opt_l,"precedence"}; @@@@ -406,7 +410,7 @@@@ $bounce_mailer = "$sendmail_command -f\$ $from = $V{'FROM'}; $HEADERS = &config'substitute_values ( $config_opts{$opt_l,"message_headers"}, $opt_l); - $HEADERS =~ s/\001/\n/g; + $HEADERS =~ s/\001/\n/gm; } } # list is defined } else { # not using -C @@@@ -441,13 +445,13 @@@@ $bounce_mailer = "$sendmail_command -fma &abort("$program_name: can't get lock '$lockfile'\n"); $lock_set = 1; - open(header,$V{'HEADER'}) || &abort("$V{'HEADER'}: $!\n"); - $HEADER = join("",
); - close(header); - - open(trailer,$V{'TRAILER'}) || &abort("$V{'TRAILER'}: $!\n"); - $TRAILER = join("",); - close(trailer); + open(HEADER,$V{'HEADER'}) || &abort("$V{'HEADER'}: $!\n"); + $HEADER = join("",
); + close(HEADER); + + open(TRAILER,$V{'TRAILER'}) || &abort("$V{'TRAILER'}: $!\n"); + $TRAILER = join("",); + close(TRAILER); open(VOL_FILE,$V{'VOL_FILE'}) || &abort("$V{'VOL_FILE'}: $!\n"); $VOLUME = join("",); @ 1.4 log @more fixes for digest @ text @d5 2 d109 8 a116 1 @@@@ -328,6 +329,10 @@@@ sub readconfig { d127 1 a127 1 @@@@ -360,9 +365,9 @@@@ $bounce_mailer = "$sendmail_command -f\$ d140 1 a140 1 @@@@ -371,16 +376,16 @@@@ $bounce_mailer = "$sendmail_command -f\$ d162 1 a162 1 @@@@ -406,7 +411,7 @@@@ $bounce_mailer = "$sendmail_command -f\$ d171 1 a171 1 @@@@ -441,13 +446,13 @@@@ $bounce_mailer = "$sendmail_command -fma @ 1.3 log @fix error in digest I introduced @ text @d1 1 a1 1 $NetBSD: patch-ae,v 1.2 2010/10/30 23:48:36 spz Exp $ d7 35 a41 1 @@@@ -175,12 +175,12 @@@@ sub send_digest { d52 1 d54 1 a54 1 $head =~ s/\n\s+/ /g; d56 6 a61 3 $subj = ($head =~ /^Subject:\s+(.*)/i)? $1: "[none]"; @@@@ -188,8 +188,8 @@@@ sub send_digest { ($date) = $head =~ /^Date:\s+(.*)/i; d71 29 a99 1 @@@@ -302,7 +302,6 @@@@ EOF d107 1 a107 1 @@@@ -328,6 +327,10 @@@@ sub readconfig { d118 1 a118 1 @@@@ -360,7 +363,7 @@@@ $bounce_mailer = "$sendmail_command -f\$ d123 5 a127 3 + $RMHEADER =~ s/([^A-Za-z0-9 \001])/\\$1/g; $RMHEADER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/g; $RMHEADER =~ s/\001/\\n/g; d129 3 a131 1 @@@@ -371,7 +374,7 @@@@ $bounce_mailer = "$sendmail_command -f\$ d136 23 a158 3 + $RMTRAILER =~ s/([^A-Za-z0-9 \001])/\\$1/g; $RMTRAILER =~ s/\\\$(SENDER|VERSION|LIST)/\[\^\\n\]\*/g; $RMTRAILER =~ s/\001/\\n/g; d160 3 a162 1 @@@@ -441,13 +444,13 @@@@ $bounce_mailer = "$sendmail_command -fma @ 1.2 log @make the wrapper use getpwnam to determine uid and gid of the majordomo user adjust the Makefile to fit package beautification and lint shutup (like eg comments for some patches) @ text @d1 1 a1 1 $NetBSD$ d12 1 a12 1 + open(MESSAGE) || &abort("$message: $!\n"); @ 1.1 log @Initial revision @ text @d3 40 a42 3 --- ./digest.orig Wed Aug 27 08:42:52 1997 +++ ./digest Tue Jun 8 10:55:12 1999 @@@@ -320,4 +320,8 @@@@ d51 40 @ 1.1.1.1 log @Initial import of pkg for majordomo-1.94.4, the popular mailing list manager. Packaged by Brook Milligan brook@@trillium.NMSU.Edu. @ text @@