qw($gMaintainerFileOverride $gPseudoMaintFile $gPseudoDescFile $gPackageSource),
qw($gVersionPackagesDir $gVersionIndex $gBinarySourceMap $gSourceBinaryMap),
qw($gVersionTimeIndex),
- qw($gSendmail $gLibPath $gSpamScan @gExcludeFromControl),
+ qw($gSimpleVersioning),
+ qw($gCVETracker),
+ qw($gSendmail @gSendmailArguments $gLibPath $gSpamScan @gExcludeFromControl),
qw(%gSeverityDisplay @gTags @gSeverityList @gStrongSeverities),
qw(%gTagsSingleLetter),
qw(%gSearchEstraier),
# untaint $ENV{DEBBUGS_CONFIG_FILE} if it's owned by us
# This enables us to test things that are -T.
if (exists $ENV{DEBBUGS_CONFIG_FILE}) {
- if (${[stat($ENV{DEBBUGS_CONFIG_FILE})]}[4] = $<) {
+# This causes all sorts of problems for mirrors of debbugs; disable
+# it.
+# if (${[stat($ENV{DEBBUGS_CONFIG_FILE})]}[4] == $<) {
$ENV{DEBBUGS_CONFIG_FILE} =~ /(.+)/;
$ENV{DEBBUGS_CONFIG_FILE} = $1;
- }
- else {
- die "Environmental variable DEBBUGS_CONFIG_FILE set, and $ENV{DEBBUGS_CONFIG_FILE} is not owned by the user running this script.";
- }
+# }
+# else {
+# die "Environmental variable DEBBUGS_CONFIG_FILE set, and $ENV{DEBBUGS_CONFIG_FILE} is not owned by the user running this script.";
+# }
}
read_config(exists $ENV{DEBBUGS_CONFIG_FILE}?$ENV{DEBBUGS_CONFIG_FILE}:'/etc/debbugs/config');
=cut
-
set_default(\%config,'subscription_domain',undef);
+
+=item cve_tracker $gCVETracker
+
+URI to CVE security tracker; in bugreport.cgi, CVE-2001-0002 becomes
+linked to http://$config{cve_tracker}CVE-2001-002
+
+Default: security-tracker.debian.org/tracker/
+
+=cut
+
+set_default(\%config,'cve_tracker','security-tracker.debian.org/tracker/');
+
+
=back
=cut
set_default(\%config,'maintainer_file',$config{config_dir}.'/Maintainers');
set_default(\%config,'maintainer_file_override',$config{config_dir}.'/Maintainers.override');
-set_default(\%config,'pseudo_maint_file',$config{config_dir}.'/pseudo-packages.maint');
+set_default(\%config,'source_maintainer_file',$config{config_dir}.'/Source_maintainers');
+set_default(\%config,'source_maintainer_file_override',undef);
+set_default(\%config,'pseudo_maint_file',$config{config_dir}.'/pseudo-packages.maintainers');
set_default(\%config,'pseudo_desc_file',$config{config_dir}.'/pseudo-packages.description');
set_default(\%config,'package_source',$config{config_dir}.'/indices/sources');
+=item simple_versioning
+
+If true this causes debbugs to ignore version information and just
+look at whether a bug is done or not done. Primarily of interest for
+debbugs installs which don't track versions. defaults to false.
+
+=cut
+
+set_default(\%config,'simple_versioning',0);
+
+
=item version_packages_dir
Location where the version package information is kept; defaults to
set_default(\%config,'sendmail','/usr/lib/sendmail');
+=item sendmail_arguments
+
+Default arguments to pass to sendmail. Defaults to C<qw(-oem -oi)>.
+
+=cut
+
+set_default(\%config,'sendmail_arguments',[qw(-oem -oi)]);
+
=item spam_scan
Whether or not spamscan is being used; defaults to 0 (not being used
sub read_config{
my ($conf_file) = @_;
+ if (not -e $conf_file) {
+ print STDERR "configuration file '$conf_file' doesn't exist; skipping it\n" if $DEBUG;
+ return;
+ }
# first, figure out what type of file we're reading in.
my $fh = new IO::File $conf_file,'r'
or die "Unable to open configuration file $conf_file for reading: $!";
$hash_name =~ s/^([\$\%\@])g//;
my $glob_type = $1;
my $glob_name = 'g'.$hash_name;
- $hash_name =~ s/(HTML|CGI)/ucfirst(lc($1))/ge;
+ $hash_name =~ s/(HTML|CGI|CVE)/ucfirst(lc($1))/ge;
$hash_name =~ s/^([A-Z]+)/lc($1)/e;
$hash_name =~ s/([A-Z]+)/'_'.lc($1)/ge;
return $hash_name unless wantarray;