> It is not just 'undeliverable message' part... Admin body/headers work
> just fine but these taboo headers are omitted somehow.
Whoops, was localizing $gonna_bounce in the wrong place. Here's a
patch to fix that, and bump the alpha to 7. I've placed this on the
ftp sites.
--Chan
*** majordomo-1.94a6/resend Thu May 23 23:54:04 1996
--- 1.94a7/resend Fri May 24 16:26:27 1996
***************
*** 1,12 ****
#!/bin/perl
! # $Modified: Thu May 23 22:03:50 1996 by cwilson $
# Copyright 1992, D. Brent Chapman. All Rights Reserved. For use by
# permission only.
#
! # /usr/people/cwilson/src/cvsrepos/majordomo/resend,v
! # 1.59
! # 1996/05/23 21:54:04
# cwilson
# Exp
#
--- 1,12 ----
#!/bin/perl
! # $Modified: Fri May 24 16:24:38 1996 by cwilson $
# Copyright 1992, D. Brent Chapman. All Rights Reserved. For use by
# permission only.
#
! # /sources/cvsrepos/majordomo/resend,v
! # 1.60
! # 1996/05/24 14:26:27
# cwilson
# Exp
#
***************
*** 500,506 ****
--- 500,512 ----
#
sub parse_header {
+ local($gonna_bounce);
+
print "$0: parse_header: enter.\n" if $DEBUG;
+ print "$0: parse_header: taboo_headers = $is_taboo_header\n" if $DEBUG;
+ print "$0: parse_header: global_taboo_headers = $is_global_taboo_header\n" if $DEBUG;
+ print "$0: parse_header: admin_headers = $is_admin_header\n" if $DEBUG;
+
while (<IN>) {
print "$0: parse_header: [$.: $_]" if $DEBUG;
***************
*** 509,527 ****
next if /^\s*$/; # skip leading blank lines; usually only there if this is a
# restart after an in-body "Approved:" line
local($kept_last) = 0; # our return flag/string.
- local($gonna_bounce) = '';
print "$0: parse_header: [$.] taboo_header check\n"
if $DEBUG;
# check for taboo_headers or approved header
#
! if ($#taboo_headers >= $[ && !defined($approved) &&
eval $is_taboo_header) {
$gonna_bounce .= "taboo header: $taboo";
}
! if ($#global_taboo_headers >= $[ && !defined($approved) &&
eval $is_global_taboo_header) {
$gonna_bounce .= "global taboo header: $taboo";
}
# check for administative headers:
--- 515,534 ----
next if /^\s*$/; # skip leading blank lines; usually only there if this is a
# restart after an in-body "Approved:" line
local($kept_last) = 0; # our return flag/string.
print "$0: parse_header: [$.] taboo_header check\n"
if $DEBUG;
# check for taboo_headers or approved header
#
! if ($#taboo_headers >= $[ && !$approved &&
eval $is_taboo_header) {
$gonna_bounce .= "taboo header: $taboo";
+ print "$0: parse_header: [$.: boing: $gonna_bounce\n" if $DEBUG;
}
! if ($#global_taboo_headers >= $[ && !$approved &&
eval $is_global_taboo_header) {
$gonna_bounce .= "global taboo header: $taboo";
+ print "$0: parse_header: [$.: boing: $gonna_bounce\n" if $DEBUG;
}
# check for administative headers:
***************
*** 530,538 ****
print "$0: parse_header: [$.] administrative_header check\n"
if $DEBUG;
! if ($#admin_headers >= $[ && !defined($approved) &&
eval $is_admin_header) {
$gonna_bounce .= "Admin request: $taboo";
}
print "$0: parse_header: Approved check\n" if $DEBUG;
--- 537,546 ----
print "$0: parse_header: [$.] administrative_header check\n"
if $DEBUG;
! if ($#admin_headers >= $[ && !$approved &&
eval $is_admin_header) {
$gonna_bounce .= "Admin request: $taboo";
+ print "$0: parse_header: [$.: boing: $gonna_bounce\n" if $DEBUG;
}
print "$0: parse_header: Approved check\n" if $DEBUG;
***************
*** 545,550 ****
--- 553,559 ----
if ($approved ne $opt_a # check the p/w given against approve_passwd
&& !(&main'valid_passwd($listdir, $opt_l, $approved))) { # and also against admin_passwd ')
$gonna_bounce .= "Invalid 'Approved:' header";
+ print "$0: parse_header: [$.: boing: $gonna_bounce\n" if $DEBUG;
} else {
# reset the bounce counter, so that we return cleanly.
# this allows a message with a taboo_header or admin_header
***************
*** 609,615 ****
#
# return $gonna_bounce if length($gonna_bounce);
! print "$0: parse_header: [$.: $_] adding header fields\n"
if $DEBUG;
# add new header fields
--- 618,625 ----
#
# return $gonna_bounce if length($gonna_bounce);
!
! print "$0: parse_header: adding header fields\n"
if $DEBUG;
# add new header fields
***************
*** 629,634 ****
--- 639,646 ----
$headers =~ s/\001/\n/g;
print OUT $headers;
}
+ print "$0: parse_header: returning with '$gonna_bounce'\n" if $DEBUG;
+
" $gonna_bounce ";
}
*** majordomo-1.94a6/majordomo_version.pl Thu May 23 23:53:44 1996
--- 1.94a7/majordomo_version.pl Fri May 24 16:27:10 1996
***************
*** 1,5 ****
! # /usr/people/cwilson/src/cvsrepos/majordomo/majordomo_version.pl,v 1.10 1996/05/23 21:53:44 cwilson Exp
! $majordomo_version = "1.94-alpha6";
1;
--- 1,5 ----
! # /sources/cvsrepos/majordomo/majordomo_version.pl,v 1.11 1996/05/24 14:27:10 cwilson Exp
! $majordomo_version = "1.94-alpha7";
1;
|
|