Diff for /loncom/lond between versions 1.578 and 1.581

version 1.578, 2023/06/02 01:20:28 version 1.581, 2024/06/22 14:29:36
Line 5265  sub encrypted_get_domain_handler { Line 5265  sub encrypted_get_domain_handler {
 #   0       - Exit.  #   0       - Exit.
 #  Side effects:  #  Side effects:
 #     The reply will contain an LTI itemID, if the signed LTI payload  #     The reply will contain an LTI itemID, if the signed LTI payload
 #     could be verified using the consumer key and the shared secret   #     could be verified using the consumer key and the shared secret
 #     available for that key (for the itemID) for either the course or domain,   #     available for that key (for the itemID) for either the course or domain,
 #     depending on values for cnum and context. The reply is encrypted before   #     depending on values for cnum and context. The reply is encrypted before
 #     being written to $client.  #     being written to $client.
 #  #
 sub lti_handler {  sub lti_handler {
Line 5308  sub lti_handler { Line 5308  sub lti_handler {
 &register_handler("lti", \&lti_handler, 1, 1, 0);  &register_handler("lti", \&lti_handler, 1, 1, 0);
   
 #  #
 # LTI data for launch payload (received encrypted) are unencrypted and  # Data for LTI payload (received encrypted) are unencrypted and
 # then signed with the appropriate key and secret, before re-encrypting  # then signed with the appropriate key and secret, before re-encrypting
 # for sending as the signed payload to the client (caller lonnet::sign_lti()).  # the signed payload which is sent to the client for unencryption by
   # the caller: lonnet::sign_lti()) before dispatch either to a web browser
   # (launch) or to a remote web service (roster, logout, or grade).  
 #  #
 # Parameters:  # Parameters:
 #   $cmd             - Command request keyword (signlti).  #   $cmd             - Command request keyword (signlti).
 #   $tail            - Tail of the command.  This is a colon-separated list  #   $tail            - Tail of the command.  This is a colon-separated list
 #                      consisting of the domain, coursenum (if for an External  #                      consisting of the domain, coursenum (if for an External
 #                      Tool defined in a course), crsdef (true if defined in  #                      Tool defined in a course), crsdef (true if defined in
 #                      a course), context (launch, roster, logout, or grade),  #                      a course), type (linkprot or lti)
   #                      context (launch, roster, logout, or grade),
 #                      escaped launch URL, numeric ID of external tool,  #                      escaped launch URL, numeric ID of external tool,
 #                      version number for encryption key (if tool's LTI secret was  #                      version number for encryption key (if tool's LTI secret was
 #                      encrypted before storing), a frozen hash of LTI launch   #                      encrypted before storing), a frozen hash of LTI launch 
Line 5331  sub lti_handler { Line 5334  sub lti_handler {
 #  Side effects:  #  Side effects:
 #     The reply will contain the LTI payload, as & separated key=value pairs,  #     The reply will contain the LTI payload, as & separated key=value pairs,
 #     where value is itself a frozen hash, if the required key and secret  #     where value is itself a frozen hash, if the required key and secret
 #     for the apecific tool ID are available. The payload data are retrived from  #     for the specific tool ID are available. The payload data are retrieved from
 #     a call to Lond::sign_lti_payload(), and the reply is encrypted before being  #     a call to Lond::sign_lti_payload(), and the reply is encrypted before being
 #     written to $client.  #     written to $client.
 #  #
Line 5340  sub sign_lti_handler { Line 5343  sub sign_lti_handler {
   
     my $userinput = "$cmd:$tail";      my $userinput = "$cmd:$tail";
   
     my ($cdom,$cnum,$crsdef,$context,$escurl,$ltinum,$keynum,$paramsref,$inforef) = split(/:/,$tail);      my ($cdom,$cnum,$crsdef,$type,$context,$escurl,
           $ltinum,$keynum,$paramsref,$inforef) = split(/:/,$tail);
     my $url = &unescape($escurl);      my $url = &unescape($escurl);
     my $params = &Apache::lonnet::thaw_unescape($paramsref);      my $params = &Apache::lonnet::thaw_unescape($paramsref);
     my $info = &Apache::lonnet::thaw_unescape($inforef);      my $info = &Apache::lonnet::thaw_unescape($inforef);
     my $res =      my $res =
         &LONCAPA::Lond::sign_lti_payload($cdom,$cnum,$crsdef,$context,$url,$ltinum,$keynum,          &LONCAPA::Lond::sign_lti_payload($cdom,$cnum,$crsdef,$type,$context,$url,$ltinum,
                                          $perlvar{'lonVersion'},$params,$info);                                           $keynum,$perlvar{'lonVersion'},$params,$info);
     my $result;      my $result;
     if (ref($res) eq 'HASH') {      if (ref($res) eq 'HASH') {
         foreach my $key (keys(%{$res})) {          foreach my $key (keys(%{$res})) {
Line 7521  undef $perlvarref; Line 7525  undef $perlvarref;
 # ----------------------------- Make sure this process is running from user=www  # ----------------------------- Make sure this process is running from user=www
 my $wwwid=getpwnam('www');  my $wwwid=getpwnam('www');
 if ($wwwid!=$<) {  if ($wwwid!=$<) {
    my $emailto="$perlvar{'lonAdmEMail'},$perlvar{'lonSysEMail'}";     my $emailto="$perlvar{'lonAdmEMail'} $perlvar{'lonSysEMail'}";
    my $subj="LON: $currenthostid User ID mismatch";     my $subj="LON: $currenthostid User ID mismatch";
    system("echo 'User ID mismatch.  lond must be run as user www.' |".     system("echo 'User ID mismatch.  lond must be run as user www.' |".
           " mail -s '$subj' $emailto > /dev/null");            " mail -s '$subj' $emailto > /dev/null");
Line 8876  sub currentversion { Line 8880  sub currentversion {
     if (-e $ulsdir) {      if (-e $ulsdir) {
  if(-d $ulsdir) {   if(-d $ulsdir) {
     if (opendir(LSDIR,$ulsdir)) {      if (opendir(LSDIR,$ulsdir)) {
                   if (-e $fname) {
                       $version=0;
                   }
  my $ulsfn;   my $ulsfn;
  while ($ulsfn=readdir(LSDIR)) {   while ($ulsfn=readdir(LSDIR)) {
 # see if this is a regular file (ignore links produced earlier)  # see if this is a regular file (ignore links produced earlier)

Removed from v.1.578  
changed lines
  Added in v.1.581


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