chiark / gitweb /
only one "none" in each island dropdown
[ypp-sc-tools.db-live.git] / yarrg / Commods.pm
index 62c1f5e6e94dd21d468d19923d5ea3e4840a7dbd..b90e6d7bff2f27e25689d8b3be7e91be3b52e32b 100644 (file)
@@ -41,7 +41,7 @@ BEGIN {
                      &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();
@@ -220,6 +220,9 @@ sub get_our_version ($$) {
     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 () {
@@ -340,4 +343,17 @@ sub check_tsv_line ($$) {
     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;