cgi/ip: Be a FastCGI program.
[odin-cgi] / cgi / ip
diff --git a/cgi/ip b/cgi/ip
index 026617b..c2c8cc0 100755 (executable)
--- a/cgi/ip
+++ b/cgi/ip
@@ -1,7 +1,39 @@
-#! /usr/bin/perl
-print <<EOF;
+#! /usr/bin/cgi-fcgi-interp /usr/bin/perl
+### -*-perl-*-
+###
+### IP-address reporting webservice for Odin
+###
+### (c) 2017 Mark Wooding
+###
+
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the `odin.gg' service, `odin-cgi'.
+###
+### `odin-cgi' is free software; you can redistribute it and/or modify
+### 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.
+###
+### `odin-cgi' 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 Affero General Public License for more details.
+###
+### You should have received a copy of the GNU Affero General Public
+### License along with `odin-cgi'; if not, see
+### <http://www.gnu.org/licenses/>.
+
+use lib 'lib';
+use Odin;
+use CGI::Fast;
+
+while (my $cgi = CGI::Fast->new) {
+  my $addr = $cgi->remote_addr;
+  print <<EOF;
 Content-type: text/plain; charset=us-ascii
+X-AGPL-Source: $Odin::SRCURL
 
-$ENV{REMOTE_ADDR}
+$addr
 EOF
-exit 0;
+}