my %o;
if (param('get_source')) {
- header('application/octet-stream');
+ # There's another copy of this in dictionary-update-receiver. Sorry.
+ print header('application/octet-stream') or die $!;
source_tarball('..', sub { print $_[0] or die $!; });
exit 0;
}
$o{'clientname'}= must_param('clientname',$re_any);
my $clientinfo= $clients{$o{'clientname'}};
-fail('unknown client') unless defined $clientinfo;
+fail('unknown client '.errsan($o{'clientname'})) unless defined $clientinfo;
my $clientfixes= must_param('clientfixes', "^([-0-9a-z ]*)\$");
my @clientfixes= sort grep { m/./ } split /\s+/, $clientfixes;
$o{'island'}= must_param('island', $re_any);
my $arches= $oceans{$o{'ocean'}};
-fail("unknown ocean") unless $arches;
+fail("unknown ocean ".errsan($o{'ocean'})) unless $arches;
parse_info_serverside_ocean($o{'ocean'});
die if $island_found;
$island_found= $sources;
}
-fail("unknown island") unless $island_found;
+fail("unknown island ".errsan($o{'island'})) unless $island_found;
$o{'timestamp'}= must_param('timestamp', "^([1-9]\\d{1,20})\$");
-fail("clock skew") if $o{'timestamp'} >= $now;
+fail("clock skew") if $o{'timestamp'} > $now;
my $indatafh= upload('data');
defined $indatafh or fail("data is not a file");