Diff for /loncom/configuration/SSL.pm between versions 1.6 and 1.7

version 1.6, 2017/05/26 03:43:43 version 1.7, 2018/08/18 22:07:53
Line 31 Line 31
 package LONCAPA::SSL;  package LONCAPA::SSL;
 use strict;  use strict;
 use lib '/home/httpd/lib/perl/';  use lib '/home/httpd/lib/perl/';
 use Apache::lonlocal();  use Apache::lonlocal;
 use Apache::lonnet();  use Apache::lonnet();
 use Apache::loncommon();  use Apache::loncommon();
 use Apache::lonhtmlcommon();  use Apache::lonhtmlcommon();
Line 48  sub print_certstatus { Line 48  sub print_certstatus {
                  'avai'     => 'Available',                   'avai'     => 'Available',
                  'yes'      => 'Yes',                   'yes'      => 'Yes',
                  'no'       => 'No',                   'no'       => 'No',
                  'cn'       => 'Common Name',                   'cn'       => 'Common Name (CN)',
                  'start'    => 'Valid From',                   'start'    => 'Valid From',
                  'end'      => 'Valid To',                   'end'      => 'Valid To',
                  'alg'      => 'Signature Algorithm',                   'alg'      => 'Signature Algorithm',
Line 62  sub print_certstatus { Line 62  sub print_certstatus {
                  'expired'  => 'Expired',                   'expired'  => 'Expired',
                  'future'   => 'Future validity',                   'future'   => 'Future validity',
                  'nokey'    => 'No key',                   'nokey'    => 'No key',
                  'otherkey' => 'No matching key',                    'otherkey' => 'No matching key',
                    'revoked'  => 'Revoked by CA',
                    'wrongcn'  => 'Incorrect CN',
     );      );
     my @files = qw(key host hostname ca);      my @files = qw(key host hostname ca);
     my @fields = qw(status cn start end alg size email);      my @fields = qw(status cn start end alg size email);
     foreach my $server (sort(keys(%{$servers}))) {      foreach my $server (sort(keys(%{$servers}))) {
         my ($result,$hashref) = &Apache::lonnet::get_servercerts_info($server,$context);          my $hostname = $servers->{$server};
           my ($result,$hashref) = &Apache::lonnet::get_servercerts_info($server,
                                                                         $hostname,
                                                                         $context);
         if ($result eq 'ok' && ref($hashref) eq 'HASH') {          if ($result eq 'ok' && ref($hashref) eq 'HASH') {
             if ($target eq 'web') {              if ($target eq 'web') {
                 my $hostname = &Apache::lonnet::hostname($server);  
                 $message .= "<fieldset><legend>$hostname ($server)</legend>".                  $message .= "<fieldset><legend>$hostname ($server)</legend>".
                             &Apache::loncommon::start_data_table().                              &Apache::loncommon::start_data_table().
                             &Apache::loncommon::start_data_table_header_row()."\n";                              &Apache::loncommon::start_data_table_header_row()."\n";
Line 81  sub print_certstatus { Line 85  sub print_certstatus {
             } else {              } else {
                 $message .= $server.':';                  $message .= $server.':';
             }              }
               my %csr;
             foreach my $file (@files) {              foreach my $file (@files) {
                 if ($target eq 'web') {                  if ($target eq 'web') {
                     $message .= &Apache::loncommon::start_data_table_row()."\n".                      $message .= &Apache::loncommon::start_data_table_row()."\n".
Line 146  sub print_certstatus { Line 151  sub print_certstatus {
                                 } elsif ($target eq 'web') {                                   } elsif ($target eq 'web') { 
                                     $display = &Apache::lonhtmlcommon::confirm_success($display);                                      $display = &Apache::lonhtmlcommon::confirm_success($display);
                                 }                                  }
                             } elsif (($display eq 'nokey') || ($display eq 'otherkey')) {                              } elsif (($display eq 'nokey') || ($display eq 'otherkey') ||
                                        ($display eq 'revoked') || ($display eq 'expired') ||
                                        ($display eq 'wrongcn')) {
                                 if ($target eq 'web') {                                  if ($target eq 'web') {
                                     $display = $lt{$display};                                       $display = $lt{$display};
                                   }
                                   if (ref($hashref->{$file.'-csr'}) eq 'HASH') {
                                       if ($hashref->{$file.'-csr'}->{$item} eq 'ok') {
                                           if ($target eq 'web') {
                                               $display .= '<br />'.&mt('(New request awaiting signature)');
                                           }
                                           $csr{$file} = 1;
                                       }
                                 }                                  }
                             }                              }
                         } elsif ($item eq 'start') {                          } elsif ($item eq 'start') {
Line 180  sub print_certstatus { Line 195  sub print_certstatus {
                     } else {                      } else {
                         $message .= 'no,';                          $message .= 'no,';
                     }                      }
                       if ((($file eq 'host') || ($file eq 'hostname')) &&
                           (ref($hashref->{$file.'-csr'}) eq 'HASH')) {
                           if ($hashref->{$file.'-csr'}->{'status'} eq 'ok') {
                               if ($target eq 'web') {
                                   my $colspan = scalar(@fields);
                                   $message .= '<td colspan="'.$colspan.'">'.
                                               &mt('Request for [_1] awaiting signature',
                                                   $lt{$file}).'</td>';
                               }
                               $csr{$file} = 1;
                           }
                       }
                     foreach my $item (@fields) {                      foreach my $item (@fields) {
                         if ($target eq 'web') {                          if ($target eq 'web') {
                             $message .= '<td>&nbsp;</td>';                              unless ($csr{$file}) {
                                   $message .= '<td>&nbsp;</td>';
                               }
                         } else {                          } else {
                             $message .= ',';                              $message .= ',';
                         }                          }
Line 198  sub print_certstatus { Line 227  sub print_certstatus {
             if ($target eq 'web') {              if ($target eq 'web') {
                 $message .= &Apache::loncommon::end_data_table().'</fieldset>';                  $message .= &Apache::loncommon::end_data_table().'</fieldset>';
             } else {              } else {
                   if (keys(%csr)) {
                       foreach my $file (keys(%csr)) {
                           if (ref($hashref->{$file.'-csr'}) eq 'HASH') {
                               $message .= $file.'-csr=yes,';
                               foreach my $item (@fields) {
                                   $message .= $hashref->{$file.'-csr'}->{$item}.',';
                               }
                               $message =~ s/,$//;
                               $message .= '&';
                           }
                       }
                   }
                 $message =~ s/\&$//;                  $message =~ s/\&$//;
             }              }
             $message .= "\n";              $message .= "\n";

Removed from v.1.6  
changed lines
  Added in v.1.7


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>