[LON-CAPA-cvs] cvs: loncom / lond

raeburn raeburn at source.lon-capa.org
Wed Jun 7 10:21:52 EDT 2023


raeburn		Wed Jun  7 14:21:52 2023 EDT

  Modified files:              
    /loncom	lond 
  Log:
  - Bug 6754 and 6907
    Correction to changes in rev. 1.578
    Add omitted arg ($type) to colon-separated items retrieved from $tail,
    and to args passed to Lond::sign_lti_payload().
  - Update documentation and remove some trailing white space.
  
  
Index: loncom/lond
diff -u loncom/lond:1.578 loncom/lond:1.579
--- loncom/lond:1.578	Fri Jun  2 01:20:28 2023
+++ loncom/lond	Wed Jun  7 14:21:52 2023
@@ -2,7 +2,7 @@
 # The LearningOnline Network
 # lond "LON Daemon" Server (port "LOND" 5663)
 #
-# $Id: lond,v 1.578 2023/06/02 01:20:28 raeburn Exp $
+# $Id: lond,v 1.579 2023/06/07 14:21:52 raeburn Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -65,7 +65,7 @@
 my $status='';
 my $lastlog='';
 
-my $VERSION='$Revision: 1.578 $'; #' stupid emacs
+my $VERSION='$Revision: 1.579 $'; #' stupid emacs
 my $remoteVERSION;
 my $currenthostid="default";
 my $currentdomainid;
@@ -5265,9 +5265,9 @@
 #   0       - Exit.
 #  Side effects:
 #     The reply will contain an LTI itemID, if the signed LTI payload
-#     could be verified using the consumer key and the shared secret 
-#     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 
+#     could be verified using the consumer key and the shared secret
+#     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
 #     being written to $client.
 #
 sub lti_handler {
@@ -5308,16 +5308,19 @@
 &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
-# 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:
 #   $cmd             - Command request keyword (signlti).
 #   $tail            - Tail of the command.  This is a colon-separated list
 #                      consisting of the domain, coursenum (if for an External
 #                      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,
 #                      version number for encryption key (if tool's LTI secret was
 #                      encrypted before storing), a frozen hash of LTI launch 
@@ -5331,7 +5334,7 @@
 #  Side effects:
 #     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
-#     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
 #     written to $client.
 #
@@ -5340,13 +5343,14 @@
 
     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 $params = &Apache::lonnet::thaw_unescape($paramsref);
     my $info = &Apache::lonnet::thaw_unescape($inforef);
     my $res =
-        &LONCAPA::Lond::sign_lti_payload($cdom,$cnum,$crsdef,$context,$url,$ltinum,$keynum,
-                                         $perlvar{'lonVersion'},$params,$info);
+        &LONCAPA::Lond::sign_lti_payload($cdom,$cnum,$crsdef,$type,$context,$url,$ltinum,
+                                         $keynum,$perlvar{'lonVersion'},$params,$info);
     my $result;
     if (ref($res) eq 'HASH') {
         foreach my $key (keys(%{$res})) {




More information about the LON-CAPA-cvs mailing list