if config/me is absent, Qpsmtpd.pm will consult sub config's %defaults.
In scalar context, those defaults will return correctly, but in array
context, this produces the error
@400000003f1edacd2400aacc 32000 FATAL PLUGIN ERROR: Can't use string
("dumbo.pobox.com") as an ARRAY ref while "strict refs" in use at lib/Qpsmtpd.pm line
41, <STDIN> line 3.
This patch defines the default config values in [], and returns the
first element when they are used in scalar context.
*** Qpsmtpd.pm.~1.24.~ Mon Jul 7 23:10:48 2003
--- Qpsmtpd.pm Wed Jul 23 15:00:10 2003
***************
*** 29,36 ****
#warn "SELF->config($c) ", ref $self;
my %defaults = (
! me => hostname,
! timeout => 1200,
);
my ($rc, @config) = $self->run_hooks("config", $c);
--- 29,36 ----
#warn "SELF->config($c) ", ref $self;
my %defaults = (
! me => [hostname],
! timeout => [1200],
);
my ($rc, @config) = $self->run_hooks("config", $c);
***************
*** 42,48 ****
return @config;
}
else {
! return ($config[0] || $self->get_qmail_config($c, $type) || $defaults{$c});
}
}
--- 42,48 ----
return @config;
}
else {
! return ($config[0] || $self->get_qmail_config($c, $type) ||
$defaults{$c}->[0]);
}
}