Diff for /loncom/lonnet/perl/lonnet.pm between versions 1.1334 and 1.1339

version 1.1334, 2017/01/28 03:49:00 version 1.1339, 2017/02/28 05:42:12
Line 650  sub transfer_profile_to_env { Line 650  sub transfer_profile_to_env {
 sub check_for_valid_session {  sub check_for_valid_session {
     my ($r,$name,$userhashref) = @_;      my ($r,$name,$userhashref) = @_;
     my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));      my %cookies=CGI::Cookie->parse($r->header_in('Cookie'));
       my ($linkname,$pubname);
     if ($name eq '') {      if ($name eq '') {
         $name = 'lonID';          $name = 'lonID';
           $linkname = 'lonLinkID';
           $pubname = 'lonPubID';
     }      }
     my $lonid=$cookies{$name};      my $lonid=$cookies{$name};
       if (!$lonid) {
           if (($name eq 'lonID') && ($ENV{'SERVER_PORT'} != 443) && ($linkname)) {
               $lonid=$cookies{$linkname};
           }
           if (!$lonid) {
               if (($name eq 'lonID') && ($pubname)) {
                   $lonid=$cookies{$pubname};
               }
           }
       }
     return undef if (!$lonid);      return undef if (!$lonid);
   
     my $handle=&LONCAPA::clean_handle($lonid->value);      my $handle=&LONCAPA::clean_handle($lonid->value);
Line 2377  sub get_domain_defaults { Line 2390  sub get_domain_defaults {
         if (ref($domconfig{'ssl'}{'replication'}) eq 'HASH') {          if (ref($domconfig{'ssl'}{'replication'}) eq 'HASH') {
             $domdefaults{'replication'} = $domconfig{'ssl'}{'replication'};              $domdefaults{'replication'} = $domconfig{'ssl'}{'replication'};
         }          }
         if (ref($domconfig{'ssl'}{'connect'}) eq 'HASH') {          if (ref($domconfig{'ssl'}{'connto'}) eq 'HASH') {
             $domdefaults{'connect'} = $domconfig{'ssl'}{'connect'};              $domdefaults{'connect'} = $domconfig{'ssl'}{'connto'};
           }
           if (ref($domconfig{'ssl'}{'connfrom'}) eq 'HASH') {
               $domdefaults{'connect'} = $domconfig{'ssl'}{'connfrom'};
         }          }
     }      }
     if (ref($domconfig{'trust'}) eq 'HASH') {      if (ref($domconfig{'trust'}) eq 'HASH') {
Line 4550  sub get_my_adhocroles { Line 4566  sub get_my_adhocroles {
         if (($env{"user.role.dh./$cdom/"}) || ($env{"user.role.da./$cdom/"})) {          if (($env{"user.role.dh./$cdom/"}) || ($env{"user.role.da./$cdom/"})) {
             my $then=$env{'user.login.time'};              my $then=$env{'user.login.time'};
             my $update=$env{'user.update.time'};              my $update=$env{'user.update.time'};
             my $liverole = 1;              if (!$update) {
                   $update = $then;
               }
               my @liveroles;
             foreach my $role ('dh','da') {              foreach my $role ('dh','da') {
                 if ($env{"user.role.$role./$cdom/"}) {                  if ($env{"user.role.$role./$cdom/"}) {
                     my ($tstart,$tend)=split(/\./,$env{"user.role.$role./$cdom"});                      my ($tstart,$tend)=split(/\./,$env{"user.role.$role./$cdom/"});
                     my $limit = $update;                      my $limit = $update;
                     if ($env{'request.role'} eq "$role./$cdom/") {                      if ($env{'request.role'} eq "$role./$cdom/") {
                         $limit = $then;                          $limit = $then;
                     }                      }
                     if ($tstart && $tstart>$limit) { $liverole = 0; }                      my $activerole = 1;
                     if ($tend   && $tend  <$limit) { $liverole = 0; }                      if ($tstart && $tstart>$limit) { $activerole = 0; }
                     last if ($liverole);                      if ($tend   && $tend  <$limit) { $activerole = 0; }
                       if ($activerole) {
                           push(@liveroles,$role);
                       }
                 }                  }
             }              }
             if ($liverole) {              if (@liveroles) {
                 if (&homeserver($cnum,$cdom) ne 'no_host') {                  if (&homeserver($cnum,$cdom) ne 'no_host') {
                     my ($accessref,$accessinfo,%access_in_dom);                      my ($accessref,$accessinfo,%access_in_dom);
                     ($roles_by_num,$description,$accessref,$accessinfo) = &get_all_adhocroles($cdom);                      ($roles_by_num,$description,$accessref,$accessinfo) = &get_all_adhocroles($cdom);
Line 4618  sub get_my_adhocroles { Line 4640  sub get_my_adhocroles {
                                     next;                                      next;
                                 } elsif ($curraccess eq 'all') {                                  } elsif ($curraccess eq 'all') {
                                     push(@possroles,$role);                                      push(@possroles,$role);
                                   } elsif ($curraccess eq 'dh') {
                                       if (grep(/^dh$/,@liveroles)) {
                                           push(@possroles,$role);
                                       } else {
                                           next;
                                       }
                                   } elsif ($curraccess eq 'da') {
                                       if (grep(/^da$/,@liveroles)) {
                                           push(@possroles,$role);
                                       } else {
                                           next;
                                       }
                                 } elsif ($curraccess eq 'status') {                                  } elsif ($curraccess eq 'status') {
                                     if (@okstatus) {                                      if (@okstatus) {
                                         if (!@statuses) {                                          if (!@statuses) {
Line 13229  sub fetch_dns_checksums { Line 13263  sub fetch_dns_checksums {
  &purge_remembered();   &purge_remembered();
  &reset_domain_info();   &reset_domain_info();
  &reset_hosts_ip_info();   &reset_hosts_ip_info();
           undef(%internetdom);
  undef(%name_to_host);   undef(%name_to_host);
  undef(%hostname);   undef(%hostname);
  undef(%hostdom);   undef(%hostdom);
Line 13271  sub fetch_dns_checksums { Line 13306  sub fetch_dns_checksums {
         return %hostdom;          return %hostdom;
     }      }
   
       sub all_host_intdom {
           &load_hosts_tab() if (!$loaded);
           return %internetdom;
       }
   
     sub is_library {      sub is_library {
  &load_hosts_tab() if (!$loaded);   &load_hosts_tab() if (!$loaded);
   

Removed from v.1.1334  
changed lines
  Added in v.1.1339


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