# proxies etc. are being used), and we use HMAC instead of simple
# hashing simply because that's a better signing method.
#
# proxies etc. are being used), and we use HMAC instead of simple
# hashing simply because that's a better signing method.
#
# the output from time directly (it gives a different response), so we
# forcefully stringify the argument.
my $ts = time;
# the output from time directly (it gives a different response), so we
# forcefully stringify the argument.
my $ts = time;
my $stale_nonce_text = "";
$stale_nonce_text = ", stale=\"true\"" if ($options{'StaleNonce'} // 0);
my $stale_nonce_text = "";
$stale_nonce_text = ", stale=\"true\"" if ($options{'StaleNonce'} // 0);
my $ref = $dbh->selectrow_hashref('SELECT sha1password,digest_ha1_hex FROM users WHERE username=? AND vhost=?',
undef, $user, $r->get_server_name);
my $ref = $dbh->selectrow_hashref('SELECT sha1password,digest_ha1_hex FROM users WHERE username=? AND vhost=?',
undef, $user, $r->get_server_name);
$r->content_type('text/plain; charset=utf-8');
$r->log->warn("Authentication failed for $user/$takenby");
output_401($r);
$r->content_type('text/plain; charset=utf-8');
$r->log->warn("Authentication failed for $user/$takenby");
output_401($r);