chiark / gitweb /
Merge branch 'stable-5.x'
[ypp-sc-tools.db-test.git] / yarrg / dictionary-update-receiver
index d088236b7429f2cb080b22624aa4949212ae7628..3baef669ddf6b4eefcc7a7942cb709118a9fc9dc 100755 (executable)
@@ -1,34 +1,33 @@
 #!/usr/bin/perl -w
 #
-# This script is invoked when the YPP SC PCTB client talks to the
+# This script is invoked when the yarrg wants to send an update to the
 # dictionary server.  See README.privacy.
 
-# This is part of ypp-sc-tools, a set of third-party tools for assisting
-# players of Yohoho Puzzle Pirates.
+# This is part of the YARRG website.  YARRG is a tool and website
+# for assisting players of Yohoho Puzzle Pirates.
 #
 # Copyright (C) 2009 Ian Jackson <ijackson@chiark.greenend.org.uk>
 #
 # This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
 #
 # This program is distributed in the hope that it will be useful,
 # but WITHOUT ANY WARRANTY; without even the implied warranty of
 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
+# GNU Affero General Public License for more details.
 #
-# You should have received a copy of the GNU General Public License
+# You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 # Yohoho and Puzzle Pirates are probably trademarks of Three Rings and
 # are used without permission.  This program is not endorsed or
 # sponsored by Three Rings.
 
-
 # upload testing runes:
 #
-# YPPSC_PCTB_DICT_UPDATE=./ YPPSC_PCTB_DICT_SUBMIT=./ ./ypp-commodities --ocean midnight --pirate aristarchus --find-island --same --raw-tsv >raw.tsv  
+# YPPSC_YARRG_DICT_UPDATE=./ YPPSC_YARRG_DICT_SUBMIT=./ ./yarrg --ocean midnight --pirate aristarchus --find-island --same --raw-tsv >raw.tsv  
 # ./dictionary-manager --debug --approve-updates '' . .
 
 use strict (qw(vars));
@@ -41,6 +40,15 @@ use CGI qw/:standard -private_tempfiles/;
 use IO::Pipe;
 use IO::Handle;
 
+use Commods;
+
+if (param('get_source')) {
+    # There's another copy of this in commod-update-receiver.  Sorry.
+    print header('application/octet-stream') or die $!;
+    source_tarball('..', sub { print $_[0] or die $!; });
+    exit 0;
+}
+
 my $aadepth=2;
 
 #---------- pixmaps ----------
@@ -187,7 +195,7 @@ my $version= param('version');
 my $spec_aadepth= param('depth');
 if ($version ne '3'  ||  $spec_aadepth ne $aadepth) {
     print header('text/plain',
-                "403 YPP SC PCTB client is out of date".
+                "403 yarrg client is out of date".
                 " ($version, $spec_aadepth)");
     print "\nYour YPP SC client is out of date.\n";
     exit 0;
@@ -205,15 +213,7 @@ if (defined $ocean && defined $pirate) {
     $pirate= '';
 }
 
-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,$pirate";
-}
+my $caller= cgi_get_caller();
 
 my $kind;
 my @xa;