File Coverage

blib/lib/Mojolicious/Plugin/Ident/Response.pm
Criterion Covered Total %
statement 20 21 95.2
branch 8 10 80.0
condition 6 9 66.6
subroutine 7 7 100.0
pod 2 2 100.0
total 43 49 87.7


line stmt bran cond sub pod time code
1             package Mojolicious::Plugin::Ident::Response;
2              
3 9     9   15654 use strict;
  9         15  
  9         283  
4 9     9   38 use warnings;
  9         11  
  9         189  
5 9     9 1 902 use AnyEvent::Ident::Response;
  9         1117  
  9         1980  
6             our @ISA = qw( AnyEvent::Ident::Response );
7              
8             # ABSTRACT: Ident response object
9             our $VERSION = '0.31'; # VERSION
10              
11              
12             my $server_user_uid;
13             my $server_user_name;
14              
15 1     1   5 sub _server_user_uid { $server_user_uid }
16 1     1   332 sub _server_user_name { $server_user_name }
17              
18             sub _setup
19             {
20 8 50   8   2083 if($^O eq 'MSWin32')
21             {
22 0         0 $server_user_name = $ENV{USERNAME};
23             }
24             else
25             {
26 8         23 $server_user_uid = $<;
27 8         3778 $server_user_name = scalar getpwuid($<);
28             }
29 8 50 33     93 die "could not determine username"
30             unless defined $server_user_name
31             && $server_user_name;
32             }
33              
34              
35             sub same_user
36             {
37 6     6 1 967 my($self) = @_;
38 6 100       26 return unless $self->{remote_address} eq '127.0.0.1';
39 4 100       9 return 1 if $self->username eq $server_user_name;
40 3 100 66     20 return 1 if defined $server_user_uid && $self->username =~ /^\d+$/ && $self->username == $server_user_uid;
      100        
41 2         32 return;
42             }
43              
44             1;
45              
46             __END__