&pipethrough_prep &pipethrough_run
&pipethrough_run_along &pipethrough_run_finish
&pipethrough_run_gzip
- &cgipostform &yarrgpostform);
+ &cgipostform &yarrgpostform &cgi_get_caller);
%EXPORT_TAGS = ( );
@EXPORT_OK = qw();
undef %pctb_commodmap;
foreach my $commod (keys %commods) { $commods{$commod} =~ s/b//; }
- my $c= new IO::File '_commodmap.tsv' or die $!;
+ my $c= new IO::File '_commodmap.tsv';
if (!$c) { $!==&ENOENT or die $!; return 0; }
while (<$c>) {
sub get_our_version ($$) {
my ($aref,$prefix) = @_;
$aref->{"${prefix}name"}= 'ypp-sc-tools yarrg';
- $aref->{"${prefix}fixes"}= 'lastpage';
+ $aref->{"${prefix}fixes"}= 'lastpage checkpager';
- my $version= `git-describe --tags HEAD`; $? and die $?;
+ my $version= `git-describe --tags HEAD || echo 0unknown`; $? and die $?;
chomp($version);
$aref->{"${prefix}version"}= $version;
return $aref;
+ # clientname "ypp-sc-tools"
+ # clientversion 2.1-g2e06a26 [from git-describe --tags HEAD]
+ # clientfixes "lastpage" [space separated list]
}
sub pipethrough_prep () {
return $';
} else {
my $resp= $ua->request($req);
- die $resp->status_line unless $resp->is_success;
+ die $resp->status_line."\n".$resp->content."\n "
+ unless $resp->is_success;
return $resp->content();
}
}
return @v;
}
+sub cgi_get_caller () {
+ my $caller= $ENV{'REMOTE_ADDR'};
+ $caller= 'LOCAL' unless defined $caller;
+
+ my $fwdf= $ENV{'HTTP_X_FORWARDED_FOR'};
+ if (defined $fwdf) {
+ $fwdf =~ s/\s//g;
+ $fwdf =~ s/[^0-9.,]/?/g;
+ $caller= "$fwdf";
+ }
+ return $caller;
+}
+
1;