aboutsummaryrefslogtreecommitdiffstats
path: root/acme-webserver
diff options
context:
space:
mode:
authorGuilhem Moulin <guilhem@fripost.org>2015-12-18 01:40:56 +0100
committerGuilhem Moulin <guilhem@fripost.org>2015-12-18 01:41:58 +0100
commit29b96a13f83fcb95dac1d320cce071790fb98e0c (patch)
treeda338012d0b73854f00e54668d79b61b7fd61629 /acme-webserver
parent970ffbb595b6c07b3c03730c54de53189e3368b7 (diff)
acme-slave → client; acme-webserver → webserver
Diffstat (limited to 'acme-webserver')
-rwxr-xr-xacme-webserver50
1 files changed, 0 insertions, 50 deletions
diff --git a/acme-webserver b/acme-webserver
deleted file mode 100755
index e5e040d..0000000
--- a/acme-webserver
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/perl -T
-
-#----------------------------------------------------------------------
-# Let's Encrypt ACME client (minimal webserver for answering challenges)
-# Copyright © 2015 Guilhem Moulin <guilhem@fripost.org>
-#
-# 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.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#----------------------------------------------------------------------
-
-use strict;
-use warnings;
-
-my $ROOT = '/.well-known/acme-challenge';
-
-$_ = <STDIN> // exit;
-my $proto = s/ HTTP\/(1\.[01])\r\n\z// ? $1 : die "Error: Bad request\n";
-my $method = s/\A(GET|HEAD) // ? $1 : die "Error: Bad request\n";
-
-# Consume the headers (and ignore them)
-while (defined (my $h = <STDIN>)) { last if $h eq "\r\n" };
-
-my ($status_line, $content_type, $content);
-if (/\A\Q$ROOT\E\/([A-Za-z0-9_\-]+)\z/ and -f $1) {
- if (open my $fh, '<', $1) {
- ($status_line, $content_type) = ('200 OK', 'application/jose+json');
- $content = do { local $/ = undef; <$fh> };
- close $fh;
- }
- else {
- $status_line = '403 Forbidden';
- }
-}
-
-print "HTTP/$proto ", ($status_line // '404 Not Found'), "\r\n";
-print "Content-Type: $content_type\r\n" if defined $content_type;
-print "Content-Length: ".length($content)."\r\n" if defined $content;
-print "Connection: close\r\n";
-print "\r\n";
-print $content if defined $content and $method eq 'GET';