#!/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=./ ./yarrg --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));
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 ----------
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;
$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;