+ if ($auth =~ /^Basic ([a-zA-Z0-9+\/]+=*)$/) {
+ return check_basic_auth($r, $1);
+ }
+ output_401($r);
+ return undef;
+}
+
+sub output_401 {
+ my $r = shift;
+ $r->content_type('text/plain; charset=utf-8');
+ $r->status(401);
+ $r->headers_out->{'www-authenticate'} = 'Basic realm="pr0n.sesse.net"';
+ $r->print("Need authorization\n");
+}
+
+sub check_basic_auth {
+ my ($r, $auth) = @_;
+
+ my ($user, $pass) = split /:/, MIME::Base64::decode_base64($auth);