[LON-CAPA-cvs] cvs: doc /loncapafiles bash_config_check.piml chkconfig.piml langcheck.piml loncapafiles.lpml modify_config_files.piml ntpcheck.piml picins_check.piml rpmcheck.piml sanitycheck.piml updatequery.piml verify_domconfiguser.piml webserver.piml wrap_setuid.piml

raeburn raeburn at source.lon-capa.org
Thu Oct 30 20:48:24 EDT 2025


raeburn		Fri Oct 31 00:48:24 2025 EDT

  Modified files:              
    /doc/loncapafiles	bash_config_check.piml chkconfig.piml 
                     	langcheck.piml loncapafiles.lpml 
                     	modify_config_files.piml ntpcheck.piml 
                     	picins_check.piml rpmcheck.piml sanitycheck.piml 
                     	updatequery.piml verify_domconfiguser.piml 
                     	webserver.piml wrap_setuid.piml 
  Log:
  - Support Debian 13 (trixie), Fedora 42, Fedora 43, CentOS-Stream 10,
    RHEL 10, Oracle Linux 10, Rocky Linux 10, AlmaLinux 10.
  
  
-------------- next part --------------
Index: doc/loncapafiles/bash_config_check.piml
diff -u doc/loncapafiles/bash_config_check.piml:1.6 doc/loncapafiles/bash_config_check.piml:1.7
--- doc/loncapafiles/bash_config_check.piml:1.6	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/bash_config_check.piml	Fri Oct 31 00:48:24 2025
@@ -2,7 +2,7 @@
 	"http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- bash_config_check.piml -->
 
-<!-- $Id: bash_config_check.piml,v 1.6 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: bash_config_check.piml,v 1.7 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -33,7 +33,7 @@
 <files>
 <file>
 <target dist="default">/home/httpd/perl</target>
-<perlscript mode="fg" dist="fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 debian12 ubuntu22 ubuntu24 centos9-stream rhes9 oracle9 rocky9 alma9">
+<perlscript mode="fg" dist="fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 debian12 debian13 ubuntu22 ubuntu24 centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10">
 
 use strict;
 
Index: doc/loncapafiles/chkconfig.piml
diff -u doc/loncapafiles/chkconfig.piml:1.63 doc/loncapafiles/chkconfig.piml:1.64
--- doc/loncapafiles/chkconfig.piml:1.63	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/chkconfig.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- checkconfig.piml -->
 <!-- Matthew Hall -->
 
-<!-- $Id: chkconfig.piml,v 1.63 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: chkconfig.piml,v 1.64 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -57,7 +57,8 @@
 } elsif (('<DIST />' eq 'ubuntu18') || ('<DIST />' eq 'ubuntu20') || 
          ('<DIST />' eq 'ubuntu22') || ('<DIST />' eq 'ubuntu24') || 
          ('<DIST />' eq 'sles15')   || ('<DIST />' eq 'debian10') ||
-         ('<DIST />' eq 'debian11') || ('<DIST />' eq 'debian12')) {
+         ('<DIST />' eq 'debian11') || ('<DIST />' eq 'debian12') ||
+         ('<DIST />' eq 'debian13')) {
     $webserver = 'apache2';
     $use_systemctl = 1;
     $systemctl_only = 1;
@@ -69,12 +70,16 @@
          ('<DIST />' eq 'fedora36') || ('<DIST />' eq 'fedora37') ||
          ('<DIST />' eq 'fedora38') || ('<DIST />' eq 'fedora39') ||
          ('<DIST />' eq 'fedora40') || ('<DIST />' eq 'fedora41') ||
+         ('<DIST />' eq 'fedora42') || ('<DIST />' eq 'fedora43') ||
          ('<DIST />' eq 'centos8')  || ('<DIST />' eq 'rhes8')    ||
          ('<DIST />' eq 'oracle7')  || ('<DIST />' eq 'oracle8')  |! 
          ('<DIST />' eq 'rocky8')   || ('<DIST />' eq 'alma8')    ||
          ('<DIST />' eq 'centos8-stream') || ('<DIST />' eq 'centos9-stream') ||
          ('<DIST />' eq 'rhes9')    || ('<DIST />' eq 'oracle9')  || 
-         ('<DIST />' eq 'rocky9')   || ('<DIST />' eq 'alma9'))   {
+         ('<DIST />' eq 'rocky9')   || ('<DIST />' eq 'alma9')    ||
+         ('<DIST />' eq 'centos10-stream') || ('<DIST />' eq 'rhes10') || 
+         ('<DIST />' eq 'oracle10') || ('<DIST />' eq 'rocky10')  || 
+         ('<DIST />' eq 'alma10')) {
     $use_systemctl = 1;
     $systemctl_only = 1;
 }
Index: doc/loncapafiles/langcheck.piml
diff -u doc/loncapafiles/langcheck.piml:1.39 doc/loncapafiles/langcheck.piml:1.40
--- doc/loncapafiles/langcheck.piml:1.39	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/langcheck.piml	Fri Oct 31 00:48:24 2025
@@ -2,7 +2,7 @@
         "http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- langcheck.piml -->
 
-<!-- $Id: langcheck.piml,v 1.39 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: langcheck.piml,v 1.40 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -81,7 +81,8 @@
          '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' ||
          '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || 
          '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24' ||
-         '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12') {
+         '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12' ||
+         '<DIST />' eq 'debian13') {
     if (open(PIPE,"cat /etc/default/locale |grep '^LANG' |")) {
         print "Checking OS language";
         if (<PIPE> =~ /^LANG="?en/) {
@@ -100,11 +101,14 @@
          '<DIST />' eq 'fedora33' || '<DIST />' eq 'fedora34' || '<DIST />' eq 'fedora35' || 
          '<DIST />' eq 'fedora36' || '<DIST />' eq 'fedora37' || '<DIST />' eq 'fedora38' ||
          '<DIST />' eq 'fedora39' || '<DIST />' eq 'fedora40' || '<DIST />' eq 'fedora41' ||
-         '<DIST />' eq 'scientific7' || '<DIST />' eq 'rhes7' || '<DIST />' eq 'centos7'  ||
-         '<DIST />' eq 'rhes8'    || '<DIST />' eq 'centos8'  || '<DIST />' eq 'oracle7'  ||
-         '<DIST />' eq 'oracle8'  || '<DIST />' eq 'rocky8'   || '<DIST />' eq 'alma8'    ||
-         '<DIST />' eq 'centos8-stream' || '<DIST />' eq 'centos9-stream' || '<DIST />' eq 'rhes9' ||
-         '<DIST />' eq 'oracle9'  || '<DIST />' eq 'rocky9'  || '<DIST />' eq 'alma9')  {
+         '<DIST />' eq 'fedora42' || '<DIST />' eq 'fedora43' || '<DIST />' eq 'scientific7' ||
+         '<DIST />' eq 'rhes7'    || '<DIST />' eq 'centos7'  || '<DIST />' eq 'rhes8'    ||
+         '<DIST />' eq 'centos8'  || '<DIST />' eq 'oracle7'  || '<DIST />' eq 'oracle8'  ||
+         '<DIST />' eq 'rocky8'   || '<DIST />' eq 'alma8'    || '<DIST />' eq 'centos8-stream' ||
+         '<DIST />' eq 'centos9-stream' || '<DIST />' eq 'rhes9' || '<DIST />' eq 'oracle9' ||
+         '<DIST />' eq 'rocky9'   || '<DIST />' eq 'alma9'    || '<DIST />' eq 'rhes10' ||
+         '<DIST />' eq 'oracle10' || '<DIST />' eq 'rocky10'  || '<DIST />' eq 'alma10' ||
+         '<DIST />' eq 'centos10-stream')  {
     if (open(PIPE,"cat /etc/locale.conf |grep '^LANG' |")) {
         print "Checking OS language";
         if (<PIPE> =~ /^LANG="?en/) {
Index: doc/loncapafiles/loncapafiles.lpml
diff -u doc/loncapafiles/loncapafiles.lpml:1.1083 doc/loncapafiles/loncapafiles.lpml:1.1084
--- doc/loncapafiles/loncapafiles.lpml:1.1083	Thu Oct 30 23:57:58 2025
+++ doc/loncapafiles/loncapafiles.lpml	Fri Oct 31 00:48:24 2025
@@ -2,7 +2,7 @@
  "http://lpml.sourceforge.net/DTD/lpml.dtd">
 <!-- loncapafiles.lpml -->
 
-<!-- $Id: loncapafiles.lpml,v 1.1083 2025/10/30 23:57:58 raeburn Exp $ -->
+<!-- $Id: loncapafiles.lpml,v 1.1084 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -259,7 +259,7 @@
   <protectionlevel>never_delete</protectionlevel>
   <targetdir dist='default'>etc/httpd/conf</targetdir>
   <targetdir dist='suse9.2 suse9.3 sles9'>etc/httpd</targetdir>
-  <targetdir dist='debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>etc/apache2</targetdir>
+  <targetdir dist='debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>etc/apache2</targetdir>
   <categoryname>standard</categoryname>
   <description>web configuration files</description>
 </directory>
@@ -267,7 +267,7 @@
   <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>etc/httpd/conf/rewrites</targetdir>
   <targetdir dist='suse9.2 suse9.3 sles9'>etc/httpd/rewrites</targetdir>
-  <targetdir dist='debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>etc/apache2/rewrites</targetdir>
+  <targetdir dist='debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>etc/apache2/rewrites</targetdir>
   <categoryname>standard</categoryname>
   <description>
   default configuration files to enable/disable http:// -> https:// rewrites
@@ -390,17 +390,6 @@
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/html/lon-status/loncchld</targetdir>
-  <categoryname>server standard</categoryname>
-  <description>
-Used by a loncnew child which has negotiated a lond connection, to store its
-pid so loncron can send a QUIT signal to any created with insecure key exchange
-following SSL certificate verification failure, to accommodate installation of
-of updated certificate(s) on remote hosts.
-  </description>
-</directory>
-<directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/perl/tmp</targetdir>
   <categoryname>server standard</categoryname>
   <description>location where temporary files (for caching) are stored
@@ -434,12 +423,6 @@
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/lonLTItmp</targetdir>
-  <categoryname>server standard</categoryname>
-  <description>for temporary storage of LTI nonces</description>
-</directory>
-<directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/webdav</targetdir>
   <categoryname>server standard</categoryname>
   <description>for storage of webdav DAVLock files</description>
@@ -478,12 +461,6 @@
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/lib/perl/Apache/math_parser</targetdir>
-  <categoryname>server readonly</categoryname>
-  <description>location of LON-CAPA math parser</description>
-</directory>
-<directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/lib/perl/HTML</targetdir>
   <categoryname>server readonly</categoryname>
   <description>location of HTML specific perl module fixes and additions
@@ -503,12 +480,6 @@
   <description>cookie jar</description>
 </directory>
 <directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/ltiIDs</targetdir>
-  <categoryname>server standard</categoryname>
-  <description>stores LTI callback IDs for session logout</description>
-</directory>
-<directory dist='default'>
    <protectionlevel>modest_delete</protectionlevel>
  <targetdir dist='default'>home/httpd/balanceIDs</targetdir>
   <categoryname>server standard</categoryname>
@@ -533,12 +504,6 @@
   <description>lonc's sockets (delayed)</description>
 </directory>
 <directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/sockets/nosslverify</targetdir>
-  <categoryname>server standard</categoryname>
-  <description>Remote hosts where SSL certificate verification failed</description>
-</directory>
-<directory dist='default'>
   <protectionlevel>never_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/cgi-bin</targetdir>
   <categoryname>standard</categoryname>
@@ -642,24 +607,12 @@
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/html/adm/quicksearch</targetdir>
-  <categoryname>server readonly</categoryname>
-  <description>Author space quick search</description>
-</directory>
-<directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/html/adm/LC_math_editor </targetdir>
   <categoryname>server readonly</categoryname>
   <description>LON-CAPA math editor</description>
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
-  <targetdir dist='default'>home/httpd/html/adm/daxe</targetdir>
-  <categoryname>server readonly</categoryname>
-  <description>Daxe XML editor</description>
-</directory>
-<directory dist='default'>
-  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/html/ckeditor</targetdir>
   <categoryname>server readonly</categoryname>
   <description>Rich Text Editor</description>
@@ -750,6 +703,8 @@
   <categoryname>server readonly</categoryname>
   <description>jQuery addons</description>
 </directory>
+
+ 
 <!-- JQuery spellchecker plugin -->
 
 <directory dist='default'>
@@ -868,7 +823,6 @@
   <categoryname>server readonly</categoryname>
   <description>error warnings and icons</description>
 </directory>
-
 <directory dist='default'>
   <protectionlevel>never_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/lonUsers</targetdir>
@@ -941,6 +895,12 @@
 </directory>
 <directory dist='default'>
   <protectionlevel>modest_delete</protectionlevel>
+  <targetdir dist='default'>home/httpd/html/adm/lonLCDfont</targetdir>
+  <categoryname>server readonly</categoryname>
+  <description>LCD font for remote control</description>
+</directory>
+<directory dist='default'>
+  <protectionlevel>modest_delete</protectionlevel>
   <targetdir dist='default'>home/httpd/html/adm/lonDomLogos</targetdir>
   <categoryname>server readonly</categoryname>
   <description>Logos for LON-CAPA domains</description>
@@ -1065,7 +1025,7 @@
 <file>
 <source>loncom/loncapa.conf</source>
 <target dist='default'>etc/httpd/conf/loncapa.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa.conf</target>
 <categoryname>conf</categoryname>
 <description>
 <p>
@@ -1108,7 +1068,7 @@
 <file type="postaboutversion">
 <source>loncom/loncapa_apache.conf</source>
 <target dist='default'>etc/httpd/conf/loncapa_apache.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_apache.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_apache.conf</target>
 <categoryname>static conf</categoryname>
 <description>
 The goal of this file is to implement all LON-CAPA specific
@@ -1128,7 +1088,7 @@
 <file>
 <source>loncom/loncapa_apache_local.conf</source>
 <target dist='default'>etc/httpd/conf/loncapa_apache_local.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_apache_local.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_apache_local.conf</target>
 <categoryname>static conf</categoryname>
 <description>
 Documentation file describing how to add domain-specific Apache configuration
@@ -1141,7 +1101,7 @@
 <file>
 <source>loncom/startup.pl</source>
 <target dist='default'>etc/httpd/conf/startup.pl</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/startup.pl</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/startup.pl</target>
 <categoryname>static conf</categoryname>
 <description>
 This file provides initializations for perl handlers.  It adjusts what
@@ -1152,7 +1112,7 @@
 </file>
 <link>
 <linkto>etc/apache2</linkto>
-<target dist='debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>
+<target dist='debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>
 etc/apache2/conf
 </target>
 <categoryname>symbolic link</categoryname>
@@ -1163,7 +1123,7 @@
 <file>
 <source>loncom/rewrites/loncapa_rewrite_off.conf</source>
 <target dist='default'>etc/httpd/conf/loncapa_rewrite.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_rewrite.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/loncapa_rewrite.conf</target>
 <categoryname>conf</categoryname>
 <description>
 Default rewrite file. 
@@ -1175,7 +1135,7 @@
 <source>loncom/rewrites/loncapa_rewrite_on.conf</source>
 <target dist='default'>etc/httpd/conf/rewrites/loncapa_rewrite_on.conf</target>
 <target dist='sles9'>etc/apache/rewrites/loncapa_rewrite_on.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/rewrites/loncapa_rewrite_on.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/rewrites/loncapa_rewrite_on.conf</target>
 <categoryname>static conf</categoryname>
 <description>
 File to copy to /etc/apache2/loncapa_rewrite.conf (SuSE/SLES/Debian/Ubuntu LTS) or to  /etc/httpd/conf/loncapa_rewrite.conf to enable rewriting of
@@ -1186,7 +1146,7 @@
 <source>loncom/rewrites/loncapa_rewrite_off.conf</source>
 <target dist='default'>etc/httpd/conf/rewrites/loncapa_rewrite_off.conf</target>
 <target dist='sles9'>etc/apache/rewrites/loncapa_rewrite_off.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/rewrites/loncapa_rewrite_off.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/rewrites/loncapa_rewrite_off.conf</target>
 <categoryname>static conf</categoryname>
 <description>
 File to copy to /etc/apache2/loncapa_rewrite.conf (SuSE/SLES/Debian/Ubuntu LTS) or to  /etc/httpd/conf/loncapa_rewrite.conf to disable rewriting of
@@ -1243,16 +1203,6 @@
 </description>
 </file>
 <file>
-<source>loncom/cgi/archive.pl</source>
-<target dist='default'>home/httpd/cgi-bin/archive.pl</target>
-<categoryname>script</categoryname>
-<description>
-Create an archive file of specified files in an Authoring Space,
-for download by the author. Archive file is either a tar file 
-(with gzip, bzip2 or xz compression), or a zip file.
-</description>
-</file>
-<file>
 <source>loncom/cgi/decompress.pl</source>
 <target dist='default'>home/httpd/cgi-bin/decompress.pl</target>
 <categoryname>script</categoryname>
@@ -1365,21 +1315,12 @@
 <target dist='default'>home/httpd/cgi-bin/lonmodulecheck.pl</target>
 <categoryname>script</categoryname>
 <description>
-utility cgi script to check for differences between currently 
-installed versions of LON-CAPA modules and those expected for the 
+utility cgi script to check for differences between currently
+installed versions of LON-CAPA modules and those expected for the
 LON-CAPA release installed on the server.
 </description>
 </file>
 <file>
-<source>loncom/cgi/loncertstatus.pl</source>
-<target dist='default'>home/httpd/cgi-bin/loncertstatus.pl</target>
-<categoryname>script</categoryname>
-<description>
-utility cgi script to display status of LON-CAPA SSL certificates 
-installed on domain's servers
-</description>
-</file>
-<file>
 <source>loncom/cgi/ping.pl</source>
 <target dist='default'>home/httpd/cgi-bin/ping.pl</target>
 <categoryname>script</categoryname>
@@ -1854,30 +1795,6 @@
 </file>
 
 <file>
-  <source>loncom/connectionrules.tab</source>
-  <target dist='default'>home/httpd/lonTabs/connectionrules.tab</target>
-  <categoryname>www conf</categoryname>
-  <description>
-File containing contection rules for outbound (lonc) and inbound (lond) 
-connections for this host. Updated by loncron using domain configuration
-for host's domain from primary library server for domain. Called by lonssl.pm
-and used by lond and LondConnection.pm.
-  </description>
-</file>
-
-<file>
-  <source>loncom/hosttypes.tab</source>
-  <target dist='default'>home/httpd/lonTabs/hosttypes.tab</target>
-  <categoryname>www conf</categoryname>
-  <description>
-File containing classification of other hosts in the cluster into one of:
-dom, intdom, other (if shares this host's domain, if shares this host's 
-"internet domain", or neither, respectively). Updated by loncron.
-Called by lonssl.pm and used by LondConnection.pm.
-  </description>
-</file>
-
-<file>
 <source>loncom/spare.tab</source>
 <target dist='default'>home/httpd/lonTabs/spare.tab</target>
 <categoryname>conf</categoryname>
@@ -1990,7 +1907,7 @@
 Perl script run by cron to check:
 (a) for differences between currently installed versions of LON-CAPA modules
 and those expected for the particular LON-CAPA release
-(b) if an updated LON-CAPA release is available from install.loncapa.org  
+(b) if an updated LON-CAPA release is available from install.loncapa.org
 </description>
 </file>
 <file>
@@ -1998,7 +1915,7 @@
 <target dist='default'>home/httpd/perl/debug/rebuild_lastlogin.pl</target>
 <categoryname>script</categoryname>
 <description>
-Perl script run as www to populate nohist_crslastlogin.db for course(s) on 
+Perl script run as www to populate nohist_crslastlogin.db for course(s) on
 a library server to record most recent "log-in" by each user in a course.
 
 This script is intended to be run after installation of LON-CAPA
@@ -2071,15 +1988,6 @@
     </description>
 </file>
 <file>
-    <source>loncom/manage_ssl_certs.pl</source>
-    <target dist='default'>home/httpd/lonCerts/manage_ssl_certs.pl</target>
-    <categoryname>script</categoryname>
-    <description>
-       Script to create LON-CAPA SSL key, and/or LON-CAPA SSL 
-       certificate signing requests for hostId, and/or hostname.
-    </description>
-</file>    
-<file>
 <source>loncom/lond</source>
 <target dist='default'>home/httpd/perl/lond</target>
 <categoryname>script</categoryname>
@@ -2168,7 +2076,7 @@
 <source>loncom/cgi/quotacheck.pl</source>
 <target dist='default'>home/httpd/cgi-bin/quotacheck.pl</target>
 <categoryname>script</categoryname>
-<description>CGI script to display disk usage and quota for content  
+<description>CGI script to display disk usage and quota for content
 uploaded directly to a course/community via the Course Editor.
 </description>
 </file>
@@ -2177,10 +2085,10 @@
 <target dist='default'>home/httpd/cgi-bin/enrollqueued.pl</target>
 <categoryname>script</categoryname>
 <description>CGI script to process a queued self-enrollment request
-and output a web address which should be provided as a link the 
+and output a web address which should be provided as a link the
 the student follows to access the course. Can support validation
 of self-enrollment requests on a third party system/server which
-handles payment etc.  
+handles payment etc.
 </description>
 </file>
 <file>
@@ -2194,7 +2102,7 @@
 has been configued to have a six character code associated with
 it, the will be output also, (e.g., for recording locally, and/or
 display to the requester). The script was implemented to support
-validation of course requests on a third party system/server which 
+validation of course requests on a third party system/server which
 handles payment etc.
 </description>
 </file>
@@ -2528,16 +2436,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/loncourseauthor.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/loncourseauthor.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Support ajax requests with json response for listing of directories and/or files
-stored in /home/httpd/html/priv/<domain>/<courseID> on course's home sever. 
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/interface/lonchat.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonchat.pm</target>
 <categoryname>handler</categoryname>
@@ -2628,80 +2526,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/lonexttool.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonexttool.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to allow LON-CAPA to operate as an LTI Consumer 
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/ltiauth.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/ltiauth.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to allow LON-CAPA to operate as an LTI Provider
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/ltiroster.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/ltiroster.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to allow LON-CAPA to service roster requests, as an LTI Consumer.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/ltipassback.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/ltipassback.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to allow LON-CAPA to service pass back of scores from a Tool Provider,
-as an LTI Consumer.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/ltilogout.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/ltilogout.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to logout a LON-CAPA user session on callback from an LTI Consumer 
-which launched the session, when user logs out of session on Consumer.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/ltiutils.pm</source>
-<target dist='default'>home/httpd/lib/perl/LONCAPA/ltiutils.pm</target>
-<categoryname>system file</categoryname>
-<description>
-Common routines for LTI (Consumer or Provider)
-</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/lti/templates/LTIstandard.tool.meta</source>
-<target dist='default'>home/httpd/html/res/lib/templates/LTIstandard.tool.meta</target>
-<categoryname>interface file</categoryname>
-<description>
-Meta file which specifies package source for external tool (LTI) without passback
-of grades 
-</description>
-</file>
-<file>
-<source>loncom/lti/templates/LTIpassback.tool.meta</source>
-<target dist='default'>home/httpd/html/res/lib/templates/LTIpassback.tool.meta</target>
-<categoryname>interface file</categoryname>
-<description>
-Meta file which specifies package source for external tool (LTI) which supports passback
-of grades, and storable parameters.
-</description>
-</file>
-<file>
   <source>loncom/interface/lonpickcode.pm</source>
   <target dist='default'>home/httpd/lib/perl/Apache/lonpickcode.pm</target>
   <categoryname>handler</categoryname>
@@ -2738,15 +2562,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/lonpickresource.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonpickresource.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to pick a resource or folder from the course contents
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/interface/lonpickuser.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonpickuser.pm</target>
 <categoryname>handler</categoryname>
@@ -2756,15 +2571,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/loncourseuser.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/loncourseuser.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to check if a user has a role (active, future or previous) in a course.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/interface/loncourserespicker.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/loncourserespicker.pm</target>
 <categoryname>handler</categoryname>
@@ -2904,14 +2710,6 @@
 </description>
 </file>
 <file>
-<source>loncom/html/adm/help/loncapa.html</source>
-<target dist='default'>home/httpd/html/adm/help/loncapa.html</target>
-<categoryname>interface file</categoryname>
-<description>
-Language reference, generated from loncapa.xsd.
-</description>
-</file>
-<file>
 <source>doc/help/author.manual.access.tex</source>
 <target dist='default'>home/httpd/html/adm/help/tex/author.manual.access.tex
 </target>
@@ -3122,7 +2920,6 @@
 anno.gif;
 anot.gif;
 anot2.gif;
-archive.gif;
 authorRemote.gif;
 author_example_directory.gif;
 author_new_content.gif;
@@ -3145,11 +2942,6 @@
 creatingANewCourse.gif;
 creatingNewProblemResource.gif;
 crsconf.gif;
-daxecollapsible.gif;
-daxeleftpanel.gif;
-daxeradio.gif;
-daxetoolbar.gif;
-daxeui.gif;
 delete.gif;
 docs.gif;
 document-open.gif;
@@ -3223,14 +3015,12 @@
 optionResponseProblem.gif;
 page.gif;
 parm.gif;
-pdfsafari.gif;
 pgrd.gif;
 port.gif;
 pref.gif;
 preferences-desktop-font.gif;
 preferences-desktop-locale.gif;
 preferences-desktop-theme.gif;
-printout.gif;
 problem_editing_colorful.gif;
 problem_editing_xml.gif;
 problem_testing.gif;
@@ -3345,7 +3135,6 @@
 anno.eps;
 anot.eps;
 anot2.eps;
-archive.eps;
 authorRemote.eps;
 author_example_directory.eps;
 author_new_content.eps;
@@ -3368,11 +3157,6 @@
 creatingANewCourse.eps;
 creatingNewProblemResource.eps;
 crsconf.eps;
-daxecollapsible.eps;
-daxeleftpanel.eps;
-daxeradio.eps;
-daxetoolbar.eps;
-daxeui.eps;
 delete.eps;
 docs.eps;
 document-open.eps;
@@ -3446,7 +3230,6 @@
 optionResponseProblem.eps;
 page.eps;
 parm.eps;
-pdfsafari.eps;
 pgrd.eps;
 port.eps;
 preferences-desktop-font.eps;
@@ -3557,24 +3340,10 @@
 Answer_Date.tex;
 Answer_Display_Overview.tex;
 Annotation.tex;
-Archiving_Directory_Options.tex;
 Authentication.tex;
 Auth_Options.tex;
 Authoring_Adding_Pictures.tex;
-Authoring_Archiving_Directory.tex;
-Authoring_CustomResponse.tex;
 Authoring_DataResponse.tex;
-Authoring_Daxe_CSS.tex;
-Authoring_Daxe_FAQ.tex;
-Authoring_Daxe_Introduction.tex;
-Authoring_Daxe_Left_Panel.tex;
-Authoring_Daxe_Math.tex;
-Authoring_Daxe_Menus.tex;
-Authoring_Daxe_Radiobuttonresponse.tex;
-Authoring_Daxe_Templates.tex;
-Authoring_Daxe_Toolbar.tex;
-Authoring_Daxe_UI.tex;
-Authoring_Daxe_Variables.tex;
 Authoring_Dynamic_Plot_Axes.tex;
 Authoring_Dynamic_Plot_Color_Selection.tex;
 Authoring_Dynamic_Plot_Curve_Data.tex;
@@ -3588,10 +3357,8 @@
 Authoring_Dynamic_Plot_Tics.tex;
 Authoring_Dynamic_Plot_Title_X_Y_Label.tex;
 Authoring_Equations.tex;
-Authoring_EssayResponse.tex;
 Authoring_ExternalResponse.tex;
 Authoring_Foil_Structure_Tags.tex;
-Authoring_FormulaResponse.tex;
 Authoring_Hint_Tags.tex;
 Authoring_HTML_vs_Tex.tex;
 Authoring_ImageResponse.tex;
@@ -3599,23 +3366,18 @@
 Authoring_Internal_Tags.tex;
 Authoring_Intro.tex;
 Authoring_Library_Scripts.tex;
-Authoring_MatchResponse.tex;
 Authoring_Math_Editor.tex;
 Authoring_Multilingual_Problems.tex;
 Authoring_NumericalResponse.tex;
 Authoring_OptionResponse.tex;
-Authoring_OrganicResponse.tex;
 Authoring_Output_Tags.tex;
 Authoring_Pictures_EPS.tex;
 Authoring_Piecewise_Plot.tex;
 Authoring_RadiobuttonResponse.tex;
-Authoring_RankResponse.tex;
-Authoring_ReactionResponse.tex;
 Authoring_Response_Attributes.tex;
 Authoring_Responseparam_Parameter.tex;
 Authoring_Response_Tag_Intro.tex;
 Authoring_Scripting_Tags.tex;
-Authoring_StringResponse.tex;
 Authoring_Structure_Tags.tex;
 Authoring_Surveys.tex;
 Authoring_WebDAV.tex;
@@ -3673,7 +3435,6 @@
 Chart_Student_Data.tex;
 Chatting.tex;
 Clicker_Registration.tex;
-Clone_Tiny_URLs.tex;
 Coauthor.tex;
 Construction_Space_Overview.tex;
 Content_Page_Overview.tex;
@@ -3693,7 +3454,6 @@
 Course_Critical_Message.tex;
 Course_Deleting.tex;
 Course_Disable_Discussion.tex;
-Course_Disable_Anonymous_Discussion.tex;
 Course_Discussion_Board.tex;
 Course_Drop_Student.tex;
 Course_Edit_Content.tex;
@@ -3714,14 +3474,11 @@
 Course_Parameter_Table_Mode.tex;
 Course_Prefs_Bridgetasks.tex;
 Course_Prefs_Display.tex;
-Course_Prefs_ExternalTools.tex;
 Course_Prefs_Grading.tex;
 Course_Prefs_Printouts.tex;
 Course_Prefs_Classlists.tex;
 Course_Prefs_Feedback.tex;
 Course_Prefs_Language.tex;
-Course_Prefs_Linkprotection.tex;
-Course_Prefs_Menus.tex;
 Course_Prefs_Spreadsheet.tex;
 Course_Prefs_Discussions.tex;
 Course_Prefs_General.tex;
@@ -3779,7 +3536,6 @@
 Docs_About_Syllabus.tex;
 Docs_Adding_Course_Doc.tex;
 Docs_Adding_External_Resource.tex;
-Docs_Adding_External_Tool.tex;
 Docs_Adding_Folders.tex;
 Docs_Adding_Pages.tex;
 Docs_Adding_Syllabus.tex;
@@ -3804,9 +3560,7 @@
 Docs_Radio.tex;
 Docs_Score_Upload_Form.tex;
 Docs_Search.tex;
-Docs_Short_URLs.tex;
 Docs_Simple_Problem.tex;
-Docs_Standard_Problem.tex;
 Docs_String_Response.tex;
 Docs_Supplemental.tex;
 Docs_Uploading_From_Harddrive.tex;
@@ -3815,7 +3569,6 @@
 Docs_Web_Page.tex;
 Domain_Change_Logs.tex;
 Domain_Change_Privileges.tex;
-Domain_Configuration_Author_Defaults.tex;
 Domain_Configuration_Auto_Creation.tex;
 Domain_Configuration_Auto_Enrollment.tex;
 Domain_Configuration_Auto_Updates.tex;
@@ -3829,8 +3582,6 @@
 Domain_Configuration_LangTZAuth.tex;
 Domain_Configuration_Load_Balancing.tex;
 Domain_Configuration_Login_Page.tex;
-Domain_Configuration_LTI_Provider.tex;
-Domain_Configuration_LTI_Tools.tex;
 Domain_Configuration_Passwords.tex;
 Domain_Configuration_Quotas.tex;
 Domain_Configuration_Request_Author.tex;
@@ -3840,10 +3591,8 @@
 Domain_Configuration_Selfenrollment.tex;
 Domain_Configuration_Server_Status.tex;
 Domain_Configuration_SSL.tex;
-Domain_Configuration_Trust.tex;
 Domain_Configuration_User_Creation.tex;
 Domain_Configuration_User_Modification.tex;
-Domain_Configuration_User_Privacy.tex;
 Domain_Configuration_User_Sessions.tex;
 Domain_Configuration_WAF_Proxy.tex;
 Domain_Coordination_Intro.tex;
@@ -3852,8 +3601,6 @@
 Domain_Crontab_Entries.tex;
 Domain_Editing_Custom_Roles.tex;
 Domain_Manual_Title_Page.tex;
-Domain_Modify_Course.tex;
-Domain_Modify_Community.tex;
 Domain_Role_Approvals.tex;
 Domain_Role_Logs.tex;
 Domain_User_Access_Logs.tex;
@@ -3924,7 +3671,6 @@
 Help.tex;
 Helper_Course_Initialization.tex;
 How_To_Edit_Existing_Content_Pages.tex;
-Inline_Menu.tex;
 Institutional_Integration_Authentication.tex;
 Institutional_Integration_CAS.tex;
 Institutional_Integration_Course_Codes.tex;
@@ -3945,18 +3691,13 @@
 Modify_Community_Owner.tex;
 Modify_Course_Chgpasswd.tex;
 Modify_Course_Credithours.tex;
-Modify_Course_Crsauthor.tex;
 Modify_Course_Defaultauth.tex;
-Modify_Course_External_Tool.tex;
 Modify_Course_Instcode.tex;
-Modify_Course_LTI_Authen.tex;
 Modify_Course_Owner.tex;
 Modify_Course_Quota.tex;
-Modify_Course_Resource_Editors.tex;
 Modify_Course_Selfenrolladmin.tex;
 Modify_Course_Table_Lifetime.tex;
 Modify_Course_Upload_Quota.tex;
-Modify_Postsubmit_Config.tex;
 Navigation_Screen.tex;
 Navmap_Host_Down.tex;
 NavMaps_MarkPosts_Read.tex;
@@ -3982,13 +3723,11 @@
 Option_Response_Simple.tex;
 Other_Symbols.tex;
 Parameter_encrypturl.tex;
-Parameter_grace.tex;
 Parameter_Helper.tex;
 Parameter_Manager.tex;
 Parameter_Overview.tex;
 Parameter_Set_Folder.tex;
 Part_Tag_Edit_Help.tex;
-PDF_Display_Safari.tex;
 Personal_Info_Page.tex;
 Physical_Units.tex;
 Portfolio_About.tex;
@@ -4004,7 +3743,6 @@
 Portfolio_ShareFile_ChangeSetting.tex;
 Portfolio_ShareFile_Conditional.tex;
 Portfolio_ShareFile_Group.tex;
-Portfolio_ShareFile_Off.tex;
 Portfolio_ShareFile_SetAccess.tex;
 Portfolio_ShareFile_StopAccess.tex;
 Portfolio_ShareFile.tex;
@@ -4036,6 +3774,7 @@
 Radio_Response_Randomization.tex;
 Ranking_Problems.tex;
 Receipt.tex;
+Remote_Menu.tex;
 Resource_Discussion.tex;
 Resource_Types.tex;
 Roles_About.tex;
@@ -4282,19 +4021,6 @@
 unicover.txt;
   </filenames>
 </fileglob>
-
-<fileglob>
-    <glob>*.js</glob>
-    <sourcedir>loncom/html/adm/quicksearch/</sourcedir>
-    <targetdir dist='default'>home/httpd/html/adm/quicksearch/</targetdir>
-    <description>
-Search to enable the quicksearch function in the author space
-    </description>
-    <filenames>
-quicksearch.js
-    </filenames>
-</fileglob>
-
 <file>
 <source>loncom/html/adm/fonts/AUTHORS</source>
 <target dist='default'>home/httpd/html/adm/fonts/AUTHORS</target>
@@ -4687,14 +4413,6 @@
 </dependencies>
 </file>
 <file>
-<source>loncom/publisher/loncoursepub.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/loncoursepub.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler for asynchronous file upload via colorful editor ("Course Authoring" space).
-</description>
-</file>
-<file>
 <source>loncom/interface/lonmeta.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonmeta.pm</target>
 <categoryname>handler</categoryname>
@@ -5113,23 +4831,6 @@
 </file>
 
 <file>
-  <source>loncom/html/adm/daxe/daxe.tar.gz</source>
-  <target dist='default'>home/httpd/html/adm/daxe</target>
-  <categoryname>script</categoryname>
-  <description>
-   Daxe XML editor
-  </description>
-  <installscript>
-commands
-  </installscript>
-  <dependencies>
-loncom/html/adm/daxe/commands;
-loncom/html/adm/daxe/daxe.tar.gz;
-loncom/html/adm/daxe/VERSION;
-  </dependencies>
-</file>
-
-<file>
   <source>loncom/javascriptlib/file_upload.js</source>
   <target dist='default'>home/httpd/html/res/adm/includes/file_upload.js</target>
   <categoryname>interface file</categoryname>
@@ -5317,8 +5018,8 @@
   <filenames>
     jquery.countdown-ar.js;
     jquery.countdown-bg.js;
-    jquery.countdown-bn.js;
     jquery.countdown-bs.js;
+    jquery.countdown-bn.js;
     jquery.countdown-ca.js;
     jquery.countdown-cs.js;
     jquery.countdown-cy.js;
@@ -5406,7 +5107,7 @@
   </filenames>
 </fileglob>
 <fileglob>
-    <glob>*.*</glob>
+    <glob>*.js</glob>
     <sourcedir>loncom/html/adm/jQuery/addons/</sourcedir>
     <targetdir>home/httpd/html/adm/jQuery/addons/</targetdir>
     <categoryname>script</categoryname>
@@ -5470,7 +5171,6 @@
   </filenames>
 </fileglob>
 
-
 <fileglob>
   <glob>*.*</glob>
   <sourcedir>loncom/html/adm/jQuery/js/</sourcedir>
@@ -5480,8 +5180,8 @@
 jQuery custom distribution of version 3.7.1, UI version 1.13.3
   </description>
   <filenames>
-        jquery-3.7.1.min.js;
-        jquery-ui-1.13.3.custom.min.js;
+	jquery-3.7.1.min.js;
+	jquery-ui-1.13.3.custom.min.js;
   </filenames>
 </fileglob>
 
@@ -5792,15 +5492,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/lonindexcourse.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonindexcourse.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Course/community Indexer
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/interface/lonmysql.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonmysql.pm</target>
 <categoryname>handler</categoryname>
@@ -6032,23 +5723,11 @@
 </dependencies>
 </file>
 <file>
-<source>loncom/publisher/lonpubdisplay.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonpubdisplay.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler for publishing a LON-CAPA educational resource complete with metadata
-(authorship, language, copyright, creation date, etc). Uses subroutines and
-package variables in lonpublisher.pm
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/publisher/lonpublisher.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonpublisher.pm</target>
 <categoryname>handler</categoryname>
 <description>
-Subroutines and package variables used by lonpubdisplay.pm to publish 
-a LON-CAPA educational resource complete with metadata
+Publishes an LON-CAPA educational resource complete with metadata
 (authorship, language, copyright, creation date, etc).
 </description>
 <status>works/unverified</status>
@@ -6103,31 +5782,22 @@
   <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/portfolio.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/portfolio.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Handler to manage user portfolios
-</description>
-<status>unverified</status>
-</file>
-<file>
-<source>loncom/interface/lonplacementtest.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonplacementtest.pm</target>
+<source>loncom/interface/lonremote.pm</source>
+<target dist='default'>home/httpd/lib/perl/Apache/lonremote.pm</target>
 <categoryname>handler</categoryname>
 <description>
-Placement test status and completion.
+Handler to launch and collapse the remote control.
 </description>
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/interface/lonviewcoauthors.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonviewcoauthors.pm</target>
+<source>loncom/interface/portfolio.pm</source>
+<target dist='default'>home/httpd/lib/perl/Apache/portfolio.pm</target>
 <categoryname>handler</categoryname>
 <description>
-Allows co-authors and assistant co-authors to view co-authors in an Authoring Space.
+Handler to manage user portfolios
 </description>
-<status>works/unverified</status>
+<status>unverified</status>
 </file>
 <file>
 <source>rat/lonpageflip.pm</source>
@@ -6164,6 +5834,15 @@
 <status>works/unverified</status>
 </file>
 <file>
+<source>loncom/html/res/adm/pages/homeworkmenu.html</source>
+<target dist='default'>home/httpd/html/res/adm/pages/homeworkmenu.html</target>
+<categoryname>handler</categoryname>
+<description>
+Homework remote control.
+</description>
+<status>works/unverified</status>
+</file>
+<file>
 <source>loncom/html/res/adm/pages/chatroom.html</source>
 <target dist='default'>home/httpd/html/res/adm/pages/chatroom.html</target>
 <categoryname>handler</categoryname>
@@ -6494,240 +6173,6 @@
   <status>works/unverified</status>
 </file>
 <file>
-  <source>loncom/homework/loncapamath.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/loncapamath.pm</target>
-  <categoryname>handler</categoryname>
-  <description>
-    lm element implementation, using the math parser package
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/units.json</source>
-  <target dist='default'>home/httpd/lonTabs/units.json</target>
-  <categoryname>static conf</categoryname>
-  <description>
-    Math parser: units
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/constants.json</source>
-  <target dist='default'>home/httpd/lonTabs/constants.json</target>
-  <categoryname>static conf</categoryname>
-  <description>
-    Math parser: constants
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/CalcEnv.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/CalcEnv.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Calculation environment
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/CalcException.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/CalcException.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Calculation exception
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Definitions.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Definitions.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Operator definitions
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/ENode.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/ENode.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Parsed tree node.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Operator.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Operator.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Parser operator
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/ParseException.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/ParseException.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Parse exception
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Parser.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Parser.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Equation parser
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/QInterval.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/QInterval.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: An interval of quantities
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/QIntervalUnion.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/QIntervalUnion.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A union of possibly disjoint intervals
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/QMatrix.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/QMatrix.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A matrix of quantities
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/QSet.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/QSet.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A set of quantities
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Quantity.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Quantity.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A quantity (value and units)
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/QVector.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/QVector.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A vector of quantities
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Token.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Token.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: A parser token.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Tokenizer.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Tokenizer.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: String tokenizer
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/math_parser/Units.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/math_parser/Units.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Math parser: Loads and converts units
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/daxepage.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/daxepage.pm</target>
-  <categoryname>handler</categoryname>
-  <description>
-    Handler displaying Daxe and the problem preview
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/daxeopen.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/daxeopen.pm</target>
-  <categoryname>handler</categoryname>
-  <description>
-    Handler sending a file for Daxe, converting problems if necessary
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/daxesave.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/daxesave.pm</target>
-  <categoryname>handler</categoryname>
-  <description>
-    Handler saving a file edited with Daxe
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/cleanxml/pre_xml.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/pre_xml.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    First step to clean a file before Daxe editing.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/cleanxml/html_to_xml.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/html_to_xml.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Second step to clean a file before Daxe editing.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/cleanxml/post_xml.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/post_xml.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Third step to clean a file before Daxe editing.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
-  <source>loncom/homework/cleanxml/xml_to_loncapa.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/xml_to_loncapa.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-    Takes a well-formed XML file content and converts it to LON-CAPA syntax.
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
 <source>loncom/xml/Safe.pm</source>
 <target dist='default'>home/httpd/lib/perl/Safe.pm</target>
 <categoryname>handler</categoryname>
@@ -6974,14 +6419,7 @@
 <source>loncom/auth/blockedaccess.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/blockedaccess.pm</target>
 <categoryname>handler</categoryname>
-<description>Information about course-based blocking conditions for files with blocked access (currently affects portfolio files) and resources in a course</description>
-<status>works/unverified</status>
-</file>
-<file>
-<source>loncom/auth/lonprotected.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonprotected.pm</target>
-<categoryname>handler</categoryname>
-<description>Information about deeplink-only access for a resource</description>
+<description>Information about course-based blocking conditions for files with blocked access (currently affects portfolio files)</description>
 <status>works/unverified</status>
 </file>
 <file>
@@ -6999,16 +6437,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/auth/lonslotcheck.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonslotcheck.pm</target>
-<categoryname>handler</categoryname>
-<description>Checks if access to a non-gradable external tool uses slots. 
-Disable subsequent PerlHandlers if a slot is in use, and slot status does
-not currently allow access.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
   <source>loncom/auth/publiccheck.pm</source>
   <target dist='default'>home/httpd/lib/perl/Apache/publiccheck.pm</target>
   <categoryname>handler</categoryname>
@@ -7030,16 +6458,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/auth/lonlinkexit.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lonlinkexit.pm</target>
-<categoryname>handler</categoryname>
-<description>
-logout session launched via deep link and escape iframe and redirect
-(for LTI-protected link and appropriate Link Protection setting in course)
-</description>
-<status>works/unverified</status>
-</file>
-<file>
   <source>loncom/auth/migrateuser.pm</source>
   <target dist='default'>home/httpd/lib/perl/Apache/migrateuser.pm</target>
   <categoryname>handler</categoryname>
@@ -7068,16 +6486,6 @@
   <status>works/unverified</status>
 </file>
 <file>
-  <source>loncom/auth/lonrelaunch.pm</source>
-  <target dist='default'>home/httpd/lib/perl/Apache/lonrelaunch.pm</target>
-  <categoryname>handler</categoryname>
-  <description>For a deep link protected by LTI where username is included
-               in launch payload, expire user's current session if username
-               from payload does not match username in LON-CAPA session. 
-  </description>
-  <status>works/unverified</status>
-</file>
-<file>
   <source>loncom/auth/lonshibauth.pm</source>
   <target dist='default'>home/httpd/lib/perl/Apache/lonshibauth.pm</target>
   <categoryname>handler</categoryname>
@@ -7168,17 +6576,6 @@
 </dependencies>
 </file>
 <file>
-<source>loncom/interface/lontiny.pm</source>
-<target dist='default'>home/httpd/lib/perl/Apache/lontiny.pm</target>
-<categoryname>handler</categoryname>
-<description>
-Extract domain, courseID, and symb from a shortened URL and and switch role 
-to a role in designated course.  If the user has multiple active roles in a 
-course, and one is a Coordinator role, that role will be selected, otherwise
-a list of available roles will be displayed for the user to select one.
-</description>
-</file>
-<file>
 <source>loncom/interface/lonsource.pm</source>
 <target dist='default'>home/httpd/lib/perl/Apache/lonsource.pm</target>
 <categoryname>handler</categoryname>
@@ -7313,7 +6710,7 @@
 <file>
 <source>loncom/mime.types</source>
 <target dist='default'>etc/httpd/conf/mime.types</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/mime.types</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>etc/apache2/mime.types</target>
 <categoryname>www static conf</categoryname>
 <description>Expanded mime.types</description>
 </file>
@@ -7596,7 +6993,6 @@
 eps_big.gif;
 exam.gif;
 exam_big.gif;
-externallink.gif;
 face-angel.png;
 face-angry.png;
 face-cool.png;
@@ -7862,16 +7258,6 @@
   <status>works/verified</status>
 </file>
 <file>
-  <source>loncom/LWPReq.pm</source>
-  <target dist='default'>home/httpd/lib/perl/LONCAPA/LWPReq.pm</target>
-  <categoryname>system file</categoryname>
-  <description>
-     Wrapper for LWP UserAgent to support enabling/disabling certificate
-     verification and/or hostname validation on any of LWP 5.83X and LWP 6.X 
-  </description>
-  <status>works/verified</status>
-</file>
-<file>
   <source>loncom/Lond.pm</source>
   <target dist='default'>home/httpd/lib/perl/LONCAPA/Lond.pm</target>
   <categoryname>system file</categoryname>
@@ -7968,16 +7354,6 @@
 <status>works/unverified</status>
 </file>
 <file>
-<source>loncom/configuration/SSL.pm</source>
-<target dist='default'>home/httpd/lib/perl/LONCAPA/SSL.pm</target>
-<categoryname>system file</categoryname>
-<description>
-Provides routine to generate display of status of LON-CAPA SSL certificates
-installed on domain's servers.
-</description>
-<status>works/unverified</status>
-</file>
-<file>
 <source>loncom/ConfigFileEdit.pm</source>
 <target dist='default'>home/httpd/lib/perl/LONCAPA/ConfigFileEdit.pm</target>
 <categoryname>system file</categoryname>
@@ -8405,6 +7781,61 @@
 </fileglob>
 <fileglob>
 <glob>*.gif</glob>
+<sourcedir>loncom/html/adm/lonLCDfont/</sourcedir>
+<targetdir dist='default'>home/httpd/html/adm/lonLCDfont/</targetdir>
+<categoryname>graphic file</categoryname>
+<description>LON-CAPA remote control LCD font</description>
+<filenames>
+0.gif;
+1.gif;
+2.gif;
+3.gif;
+4.gif;
+5.gif;
+6.gif;
+7.gif;
+8.gif;
+9.gif;
+a.gif;
+b.gif;
+c.gif;
+d.gif;
+e.gif;
+f.gif;
+g.gif;
+h.gif;
+i.gif;
+j.gif;
+k.gif;
+l.gif;
+m.gif;
+n.gif;
+o.gif;
+p.gif;
+q.gif;
+r.gif;
+s.gif;
+t.gif;
+u.gif;
+v.gif;
+w.gif;
+x.gif;
+y.gif;
+z.gif;
+ä.gif;
+ö.gif;
+ü.gif;
+ä.gif;
+ö.gif;
+ü.gif;
+colon.gif;
+hyphen.gif;
+slash.gif;
+space.gif;
+</filenames>
+</fileglob>
+<fileglob>
+<glob>*.gif</glob>
 <sourcedir>loncom/html/res/adm/pages/pt/</sourcedir>
 <targetdir dist='default'>home/httpd/html/res/adm/pages/pt/</targetdir>
 <categoryname>graphic file</categoryname>
@@ -8434,7 +7865,6 @@
 prt_pt.gif;
 res_pt.gif;
 roles_pt.gif;
-sbkm_pt.gif;
 spacer_pt.gif;
 sprs_pt.gif;
 src_pt.gif;
@@ -8449,35 +7879,100 @@
 <categoryname>graphic file</categoryname>
 <description>icons used for the entire LON-CAPA user interface</description>
 <filenames>
+alnk.gif;
+anno.gif;
+anot.gif;
+anot2.gif;
+back.gif;
+bchat.gif;
+bkm.gif;
+blog.gif;
+brws.gif;
+catalog.gif;
+ccat.gif;
+ccrs.gif;
 chat.gif;
+chrt.gif;
 close-all-folders.gif;
+close-navigation.gif;
+clst.gif;
+com.gif;
+conf.gif;
+courses.gif;
+cprv.gif;
+crsconf.gif;
+cstr.gif;
+del.gif;
+dempty.gif;
 dempty.gif;
+docs.gif;
 edittoplevel.gif;
+egrd.gif;
 empty.gif;
+enrl.gif;
+eval.gif;
+fdbk.gif;
 feedback.gif;
+forw.gif;
+grds.gif;
+grps.gif;
 group.gif;
 help.gif;
 info.gif;
+keys.gif;
 ledblink.gif;
 ledgreen.gif;
 ledoff.gif;
 ledon.gif;
+ledsend.gif;
+list.gif;
+logout.gif;
+mail.gif;
+mcrs.gif;
 mark-discussionentries-read.gif;
 minitabmenu_bg.gif;
 minitabmenu_left.gif;
 minitabmenu_left_on.gif;
 minitabmenu_right.gif;
 minitabmenu_right_on.gif;
+mrk.gif;
+nav.gif;
+new.gif;
 next.gif;
 nothumb.gif;
 open-all-folders.gif;
 open-first-problem.gif;
-printout.gif;
+pdfupload.gif;
+parm.gif;
+pcstr.gif;
+pgrd.gif;
+port.gif;
+pparm.gif;
+pref.gif;
+prt.gif;
+pub.gif;
 qempty.gif;
+rcrs.gif;
 refresh.gif;
+reload.gif;
+remotebg.gif;
+res.gif;
+roles.gif;
+rsrv.gif;
+rtrv.gif;
+sctr.gif;
 show-all.gif;
 show-incomplete-problems.gif;
+slnk.gif;
+spacer.gif;
+sprs.gif;
+src.gif;
+srvr.gif;
 star.gif;
+start-navigation.gif;
+stat.gif;
+subm.gif;
+title.gif;
 </filenames>
 </fileglob>
 <fileglob>
@@ -8511,7 +8006,6 @@
 anot2.png;
 blog.png;
 chrt.png;
-copy.png;
 cprv.png;
 del.png;
 egrd.png;
@@ -8523,8 +8017,8 @@
 port.png;
 prt.png;
 rcrs.png;
-rename.png;
 rsrv.png;
+slnk.png;
 src.png;
 srvr.png;
 subm.png;
@@ -8558,7 +8052,6 @@
 prob_ana.png;
 process-stop.png;
 role_hotlist.png;
-reload.png;
 self_enroll.png;
 survey_rep.png;
 subdocs.png;
@@ -8573,24 +8066,18 @@
 <categoryname>graphic file</categoryname>
 <description>graphical icons used in submenus</description>
 <filenames>
-archive.png;
+alnk.png;
 aboutme.png;
-accesstimes.png;
 addClickerInfoFile.png;
 anonsurveythreshold.png;
 bubblesheet.png;
-camanager.png;
 ccatconf.png;
 ccat-22x22.png;
 chat.png;
-coauthors.png;
-collapsed.png;
 comblock.png;
 contact-new.png;
 contact-new-22x22.png;
 coprplot.png;
-crsauthor.png;
-crseditors.png;
 crsnew.png;
 dialog-information.png;
 docs-22x22.png;
@@ -8612,9 +8099,7 @@
 emblem-photos.png;
 emblem-readonly.png;
 emblem-system.png;
-expanded.png;
 extres.png;
-exttool.png;
 folder-new.png;
 folder-new-22x22.png;
 format-justify-fill.png;
@@ -8628,7 +8113,6 @@
 grp_settings.png;
 grp_tools.png;
 helpdesk-access.png;
-impcrsau.png;
 ims.png;
 imsexport.png;
 link-new-22x22.png;
@@ -8645,15 +8129,14 @@
 navigation.png;
 network-workgroup.png;
 page.png;
-passback.png;
 preferences-desktop-font.png;
 preferences-desktop-locale.png;
 preferences-desktop-remote-desktop.png;
 preferences-desktop-theme.png;
 preferences-desktop-wallpaper.png;
 preferences-system-windows.png;
-rcrs-22x22.png;
 receipt_number.png;
+rcrs-22x22.png;
 recover.png;
 remotecontrol.png;
 resversion.png;
@@ -8664,7 +8147,6 @@
 selfenrl-queue.png;
 selfenrl-queue-22x22.png;
 sequence.png;
-shorturls.png;
 simple.png;
 simpprob.png;
 start-here.png;
@@ -8675,15 +8157,12 @@
 system-lock-screen.png;
 system-users.png;
 timer.png;
-timezone.png;
 trck-22x22.png;
 ungrade_sub.png;
-updategrace.png;
 uplcrs.png;
 uploadscores.png;
 verify.png;
 view-mode-22x22.png;
-viewuser.png;
 wishlist.png;
 wishlist-link.png;
 wishlist-link-lighter.png;
@@ -8698,6 +8177,14 @@
 </description>
 </file>
 <file>
+<source>loncom/html/res/adm/pages/imgmaps.html</source>
+<target dist='default'>home/httpd/html/res/adm/pages/imgmaps.html</target>
+<categoryname>interface file</categoryname>
+<description>
+image maps for the LON-CAPA remote control
+</description>
+</file>
+<file>
 <source>loncom/html/res/adm/pages/index.html</source>
 <target dist='default'>home/httpd/html/res/adm/pages/index.html</target>
 <categoryname>interface file</categoryname>
@@ -8705,6 +8192,14 @@
 welcoming page to the LON-CAPA system upon login
 </description>
 </file>
+<file>
+<source>loncom/html/res/adm/pages/menu.html</source>
+<target dist='default'>home/httpd/html/res/adm/pages/menu.html</target>
+<categoryname>interface file</categoryname>
+<description>
+renders the HTML (including image maps) for the LON-CAPA remote control
+</description>
+</file>
 <fileglob>
 <glob>*.gif</glob>
 <sourcedir>loncom/html/res/adm/pages/indexericons/</sourcedir>
@@ -8936,7 +8431,7 @@
 <source>loncom/init.d/loncontrol</source>
 <target dist='default'>etc/rc.d/init.d/loncontrol</target>
 <target dist='suse9.2 suse9.3 sles9 sles10 sles11 sles12 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16'>etc/init.d/loncontrol</target>
-<target dist='fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 sles15 debian10 debian11 debian12 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9'>home/httpd/perl/loncontrol</target>
+<target dist='fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 sles15 debian10 debian11 debian12 debian13 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10'>home/httpd/perl/loncontrol</target>
 <categoryname>root script</categoryname>
 <description>
 Controls the launching/halting of lonc, lond, and lonsql processes.
@@ -8945,7 +8440,7 @@
 <file>
 <source>loncom/init.d/loncontrol.service</source>
 <target dist='default'>home/httpd/perl/systemd/loncontrol.service</target>
-<target dist='fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 sles15 debian10 debian11 debian12 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9'>etc/systemd/system/loncontrol.service</target>
+<target dist='fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 sles15 debian10 debian11 debian12 debian13 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10'>etc/systemd/system/loncontrol.service</target>
 <categoryname>static conf</categoryname>
 <description>
 Controls the launching/halting of lon-capa daemons by loncontrol in systemd
@@ -8985,7 +8480,6 @@
 symbolic links to /etc/rc.d/init.d/loncontrol (redhat/fedora) or /etc/init.d/loncontrol (suse/debian) for run-levels
 </description>
 </link>
-
 <file dist="suse9.2 suse9.3 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 sles9 sles10 sles11 sles12">
   <source>loncom/init.d/loncontrol</source>
   <target>etc/rc.d/</target>
@@ -8999,16 +8493,16 @@
 loncom/init.d/loncontrol
   </dependencies>
 </file>
-<file dist="fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 sles15 debian10 debian11 debian12 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9">
+<file dist="fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 sles15 debian10 debian11 debian12 debian13 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10">
 <source>loncom/init.d/loncontrol.service</source>
 <target>etc/systemd/system/loncontrol.service</target>
 <description>
 Controls the launching/halting of lon-capa daemons by loncontrol in systemd
 </description>
-  <installscript dist="fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 sles15 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9">
+  <installscript dist="fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 sles15 rhes8 centos8 oracle7 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10">
 -c '/usr/bin/systemctl enable loncontrol.service'
   </installscript>
-  <installscript dist="debian10 debian11 debian12 ubuntu18 ubuntu20 ubuntu22 ubuntu24">
+  <installscript dist="debian10 debian11 debian12 debian13 ubuntu18 ubuntu20 ubuntu22 ubuntu24">
 -c '/bin/systemctl enable loncontrol.service'
   </installscript>
   <dependencies>loncom/init.d/loncontrol.service</dependencies>
@@ -9269,7 +8763,7 @@
 <target dist='default'>home/httpd/lib/perl/Apache/lonrelrequtils.pm</target>
 <categoryname>handler</categoryname>
 <description>
-Utilities to update information about LON-CAPA version requirements 
+Utilities to update information about LON-CAPA version requirements
 in a course.</description>
 <status>works/unverified</status>
 </file>
Index: doc/loncapafiles/modify_config_files.piml
diff -u doc/loncapafiles/modify_config_files.piml:1.57 doc/loncapafiles/modify_config_files.piml:1.58
--- doc/loncapafiles/modify_config_files.piml:1.57	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/modify_config_files.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- modify_config_files.piml -->
 <!-- Matthew Hall -->
 
-<!-- $Id: modify_config_files.piml,v 1.57 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: modify_config_files.piml,v 1.58 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -63,14 +63,18 @@
          ('<DIST />' eq 'fedora35')    || ('<DIST />' eq 'fedora36') ||
          ('<DIST />' eq 'fedora37')    || ('<DIST />' eq 'fedora38') ||
          ('<DIST />' eq 'fedora39')    || ('<DIST />' eq 'fedora40') ||
-         ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'centos8')  ||
+         ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'fedora42') ||
+         ('<DIST />' eq 'fedora43')    || ('<DIST />' eq 'centos8')  ||
          ('<DIST />' eq 'rhes8')       || ('<DIST />' eq 'oracle7')  ||
          ('<DIST />' eq 'oracle8')     || ('<DIST />' eq 'rocky8')   ||
          ('<DIST />' eq 'alma8')       || ('<DIST />' eq 'centos8-stream') ||
          ('<DIST />' eq 'centos9-stream') || ('<DIST />' eq 'rhes9') ||
          ('<DIST />' eq 'oracle9')     || ('<DIST />' eq 'rocky9')   ||
-         ('<DIST />' eq 'alma9')       || ('<DIST />' eq 'debian10') ||
-         ('<DIST />' eq 'debian11')    || ('<DIST />' eq 'debian12')) {
+         ('<DIST />' eq 'alma9')       || ('<DIST />' eq 'centos10-stream') || 
+         ('<DIST />' eq 'rhes10')      || ('<DIST />' eq 'oracle10') ||
+         ('<DIST />' eq 'rocky10')     || ('<DIST />' eq 'alma10')   ||
+         ('<DIST />' eq 'debian10')    || ('<DIST />' eq 'debian11') ||
+         ('<DIST />' eq 'debian12')    || ('<DIST />' eq 'debian13')) {
     $mysqlcmd = '/bin/systemctl restart mariadb.service';
 } elsif (('<DIST />' eq 'ubuntu18') || ('<DIST />' eq 'ubuntu20') || 
          ('<DIST />' eq 'ubuntu22') || ('<DIST />' eq 'ubuntu24')) {
Index: doc/loncapafiles/ntpcheck.piml
diff -u doc/loncapafiles/ntpcheck.piml:1.59 doc/loncapafiles/ntpcheck.piml:1.60
--- doc/loncapafiles/ntpcheck.piml:1.59	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/ntpcheck.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- ntpcheck.piml -->
 <!-- Matthew Hall -->
 
-<!-- $Id: ntpcheck.piml,v 1.59 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: ntpcheck.piml,v 1.60 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -44,6 +44,7 @@
     ('<DIST />' eq 'fedora36') || ('<DIST />' eq 'fedora37') || 
     ('<DIST />' eq 'fedora38') || ('<DIST />' eq 'fedora39') ||
     ('<DIST />' eq 'fedora40') || ('<DIST />' eq 'fedora41') || 
+    ('<DIST />' eq 'fedora42') || ('<DIST />' eq 'fedora43') ||
     ('<DIST />' eq 'sles15')   || ('<DIST />' eq 'centos8')  || 
     ('<DIST />' eq 'rhes8')    || ('<DIST />' eq 'oracle7')  ||
     ('<DIST />' eq 'oracle8')  || ('<DIST />' eq 'ubuntu18') ||
@@ -52,8 +53,11 @@
     ('<DIST />' eq 'alma8')    || ('<DIST />' eq 'centos8-stream') ||
     ('<DIST />' eq 'centos9-stream') || ('<DIST />' eq 'rhes9') ||
     ('<DIST />' eq 'oracle9')  || ('<DIST />' eq 'rocky9')   ||
-    ('<DIST />' eq 'alma9')    || ('<DIST />' eq 'debian10') ||
-    ('<DIST />' eq 'debian11') || ('<DIST />' eq 'debian12')) {
+    ('<DIST />' eq 'alma9')    || ('<DIST />' eq 'centos10-stream') || 
+    ('<DIST />' eq 'rhes10')   || ('<DIST />' eq 'oracle10') || 
+    ('<DIST />' eq 'rocky10')  || ('<DIST />' eq 'alma10')   ||
+    ('<DIST />' eq 'debian10') || ('<DIST />' eq 'debian11') ||
+    ('<DIST />' eq 'debian12') || ('<DIST />' eq 'debian13')) {
     print "For more information on chronyd please see https://chrony.tuxfamily.org/\n";
 } else {
     print "For more information on ntpd please see http://www.ntp.org/\n";
@@ -76,7 +80,8 @@
     ('<DIST />' eq 'fedora35')    || ('<DIST />' eq 'fedora36') ||
     ('<DIST />' eq 'fedora37')    || ('<DIST />' eq 'fedora38') ||
     ('<DIST />' eq 'fedora39')    || ('<DIST />' eq 'fedora40') ||
-    ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'centos7')  ||
+    ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'fedora42') ||
+    ('<DIST />' eq 'fedora43')    || ('<DIST />' eq 'centos7')  ||
     ('<DIST />' eq 'rhes7')       || ('<DIST />' eq 'oracle7')  ||
     ('<DIST />' eq 'scientific7') || ('<DIST />' eq 'sles12')   ||
     ('<DIST />' eq 'sles15')      || ('<DIST />' eq 'ubuntu18') ||
@@ -87,14 +92,17 @@
     ('<DIST />' eq 'centos8-stream') || ('<DIST />' eq 'centos9-stream') ||
     ('<DIST />' eq 'rhes9')       || ('<DIST />' eq 'oracle9')  ||
     ('<DIST />' eq 'rocky9')      || ('<DIST />' eq 'alma9')    ||
-    ('<DIST />' eq 'debian10')    || ('<DIST />' eq 'debian11') || 
-    ('<DIST />' eq 'debian12')) {
+    ('<DIST />' eq 'centos10-stream') || ('<DIST />' eq 'rhes10') ||
+    ('<DIST />' eq 'oracle10')    || ('<DIST />' eq 'rocky10')  ||
+    ('<DIST />' eq 'alma10')      || ('<DIST />' eq 'debian10') ||  
+    ('<DIST />' eq 'debian11')    || ('<DIST />' eq 'debian12') || 
+    ('<DIST />' eq 'debian13')) {
     $NTPD = 'ntpd';
     my $binname = $NTPD;
     if (('<DIST />' eq 'ubuntu18') || ('<DIST />' eq 'ubuntu20') || 
         ('<DIST />' eq 'ubuntu22') || ('<DIST />' eq 'ubuntu24') ||
         ('<DIST />' eq 'debian10') || ('<DIST />' eq 'debian11') ||
-        ('<DIST />' eq 'debian12')) { 
+        ('<DIST />' eq 'debian12') || ('<DIST />' eq 'debian13')) { 
         $NTPD = 'chrony';
         $name = $NTPD;
         $binname = 'chronyd';
@@ -106,13 +114,16 @@
              ('<DIST />' eq 'fedora36') || ('<DIST />' eq 'fedora37') ||
              ('<DIST />' eq 'fedora38') || ('<DIST />' eq 'fedora39') ||
              ('<DIST />' eq 'fedora40') || ('<DIST />' eq 'fedora41') || 
+             ('<DIST />' eq 'fedora42') || ('<DIST />' eq 'fedora43') ||
              ('<DIST />' eq 'sles15')   || ('<DIST />' eq 'rhes8')    ||
              ('<DIST />' eq 'centos8')  || ('<DIST />' eq 'oracle7')  ||
              ('<DIST />' eq 'oracle8')  || ('<DIST />' eq 'rocky8')   ||
              ('<DIST />' eq 'alma8')    || ('<DIST />' eq 'centos8-stream') || 
              ('<DIST />' eq 'centos9-stream') || ('<DIST />' eq 'rhes9') ||
              ('<DIST />' eq 'oracle9')  || ('<DIST />' eq 'rocky9')   ||
-             ('<DIST />' eq 'alma9')) {
+             ('<DIST />' eq 'alma9')    || ('<DIST />' eq 'centos10-stream') ||
+             ('<DIST />' eq 'rhes10')   || ('<DIST />' eq 'oracle10') ||
+             ('<DIST />' eq 'rocky10'   || '<DIST />' eq 'alma10'))  {
         $NTPD = 'chronyd';
         $name = $NTPD;
         $binname = $NTPD;
@@ -168,7 +179,8 @@
     ('<DIST />' eq 'fedora35')    || ('<DIST />' eq 'fedora36') ||
     ('<DIST />' eq 'fedora37')    || ('<DIST />' eq 'fedora38') ||
     ('<DIST />' eq 'fedora39')    || ('<DIST />' eq 'fedora40') ||
-    ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'centos7')  ||
+    ('<DIST />' eq 'fedora41')    || ('<DIST />' eq 'fedora42') ||
+    ('<DIST />' eq 'fedora43')    || ('<DIST />' eq 'centos7')  ||
     ('<DIST />' eq 'scientific7') || ('<DIST />' eq 'rhes7')    ||
     ('<DIST />' eq 'oracle7')     || ('<DIST />' eq 'sles12')   ||
     ('<DIST />' eq 'sles15')      || ('<DIST />' eq 'ubuntu18') ||
@@ -179,8 +191,11 @@
     ('<DIST />' eq 'centos8-stream') || ('<DIST />' eq 'centos9-stream') ||
     ('<DIST />' eq 'rhes9')       || ('<DIST />' eq 'oracle9')  ||
     ('<DIST />' eq 'rocky9')      || ('<DIST />' eq 'alma9')    ||
-    ('<DIST />' eq 'debian10')    || ('<DIST />' eq 'debian11') ||
-    ('<DIST />' eq 'debian12')) {
+    ('<DIST />' eq 'centos10-stream') || ('<DIST />' eq 'rhes10') ||
+    ('<DIST />' eq 'oracle10')    || ('<DIST />' eq 'rocky10') ||
+    ('<DIST />' eq 'alma10')      || ('<DIST />' eq 'debian10') 
+    ('<DIST />' eq 'debian11')    || ('<DIST />' eq 'debian12') ||
+    ('<DIST />' eq 'debian13')) {
     if (!-l "/etc/systemd/system/multi-user.target.wants/$NTPD.service") {  
         print "**** WARNING: $NTPD is not configured to run at boot.  To correct this run:\nsystemctl enable $NTPD.service\n";
     }
Index: doc/loncapafiles/picins_check.piml
diff -u doc/loncapafiles/picins_check.piml:1.59 doc/loncapafiles/picins_check.piml:1.60
--- doc/loncapafiles/picins_check.piml:1.59	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/picins_check.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- picins_check.piml -->
 <!-- Stuart Raeburn -->
 
-<!-- $Id: picins_check.piml,v 1.59 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: picins_check.piml,v 1.60 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -32,7 +32,7 @@
 <piml>
 <files>
 <file>
-<perlscript mode="fg" dist="fedora9 fedora10 fedora11 fedora12 fedora13 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora 23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 rhes6 scientific6 centos6 oracle6 rhes7 scientific7 centos7 oracle7 rhes8 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 sles11 sles12 sles15 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24">
+<perlscript mode="fg" dist="fedora9 fedora10 fedora11 fedora12 fedora13 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora 23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 rhes6 scientific6 centos6 oracle6 rhes7 scientific7 centos7 oracle7 rhes8 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10 sles11 sles12 sles15 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24">
     my $picinspath = '/usr/share/texmf/tex/latex/picins'; 
     my $file = 'picins.sty';
     if (!-e "$picinspath/$file") {
@@ -59,8 +59,11 @@
                     '<DIST />' eq 'ubuntu24' || '<DIST />' eq 'centos9-stream' ||
                     '<DIST />' eq 'rhes9'    || '<DIST />' eq 'oracle9' ||
                     '<DIST />' eq 'rocky9'   || '<DIST />' eq 'alma9' ||
-                    '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' ||
-                    '<DIST />' eq 'debian12') {
+                    '<DIST />' eq 'centos10-stream' || '<DIST />' eq 'rhes10' ||
+                    '<DIST />' eq 'oracle10' || '<DIST />' eq 'rocky10' ||
+                    '<DIST />' eq 'alma10'   || '<DIST />' eq 'debian10' |
+                    '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12' ||
+                    '<DIST />' eq 'debian13') {
                     system('/usr/bin/mktexlsr');
                     die("Can't run /usr/bin/mktexlsr") if $?;
                     print "$picinspath/$file created and /usr/bin/mktexlsr ran successfully.\n";
Index: doc/loncapafiles/rpmcheck.piml
diff -u doc/loncapafiles/rpmcheck.piml:1.64 doc/loncapafiles/rpmcheck.piml:1.65
--- doc/loncapafiles/rpmcheck.piml:1.64	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/rpmcheck.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- rpmcheck.piml -->
 <!-- Matthew Hall -->
 
-<!-- $Id: rpmcheck.piml,v 1.64 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: rpmcheck.piml,v 1.65 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -81,7 +81,7 @@
     }
 }
 </perlscript>
-<perlscript dist="fedora1 fedora2 fedora3 fedora4 fedora5 fedora6 fedora7 fedora8 fedora9 fedora10 fedora11 fedora12 fedora13 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 rhes5 rhes6 rhes7 rhes8 centos5 scientific5 scientific6 centos6 oracle6 scientific7 centos7 oracle7 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 suse9.2 suse9.3 suse10.1 suse10.2 suse10.3 sles9 sles10 sles11 sles12 sles15 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2" mode="fg">
+<perlscript dist="fedora1 fedora2 fedora3 fedora4 fedora5 fedora6 fedora7 fedora8 fedora9 fedora10 fedora11 fedora12 fedora13 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 rhes5 rhes6 rhes7 rhes8 centos5 scientific5 scientific6 centos6 oracle6 scientific7 centos7 oracle7 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10 suse9.2 suse9.3 suse10.1 suse10.2 suse10.3 sles9 sles10 sles11 sles12 sles15 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2" mode="fg">
 my $hasprereqs = 0;
 if (open(PIPE,"rpm -q LONCAPA-prerequisites|")) {
     my @lines = (<PIPE>);
@@ -98,7 +98,7 @@
     print "**** WARNING: LONCAPA-prerequisites does not appear to be installed.\n";
 }
 </perlscript>
-<perlscript dist="debian5 debian6 debian10 debian11 debian12 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24" mode="fg">
+<perlscript dist="debian5 debian6 debian10 debian11 debian12 debian13 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24" mode="fg">
 my $hasprereqs = 0;
 if (open(PIPE,"dpkg -l loncapa-prerequisites|")) {
     my @lines = (<PIPE>);
Index: doc/loncapafiles/sanitycheck.piml
diff -u doc/loncapafiles/sanitycheck.piml:1.51 doc/loncapafiles/sanitycheck.piml:1.52
--- doc/loncapafiles/sanitycheck.piml:1.51	Thu Jun 20 04:04:55 2024
+++ doc/loncapafiles/sanitycheck.piml	Fri Oct 31 00:48:24 2025
@@ -2,7 +2,7 @@
 	"http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- sanitycheck.piml -->
 
-<!-- $Id: sanitycheck.piml,v 1.51 2024/06/20 04:04:55 raeburn Exp $ -->
+<!-- $Id: sanitycheck.piml,v 1.52 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -61,7 +61,7 @@
 <file>
 <target dist='default'>/var/lib/mysql/mysql.sock</target>
 <target dist='suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 sles12 sles15'>/var/run/mysql/mysql.sock</target>
-<target dist='debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/var/run/mysqld/mysqld.sock</target>
+<target dist='debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/var/run/mysqld/mysqld.sock</target>
 <perlscript mode='fg'>
 unless
     (-e '<TARGET />') # Does file exist?
@@ -113,7 +113,7 @@
 </file>
 <file>
 <target dist='default'>/etc/httpd/conf/loncapa.conf</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/loncapa.conf</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/loncapa.conf</target>
 <perlscript mode='fg'>
 open IN, "<<TARGET />";
 my $hbug=-1;
Index: doc/loncapafiles/updatequery.piml
diff -u doc/loncapafiles/updatequery.piml:1.98 doc/loncapafiles/updatequery.piml:1.99
--- doc/loncapafiles/updatequery.piml:1.98	Sat Jul  6 16:00:22 2024
+++ doc/loncapafiles/updatequery.piml	Fri Oct 31 00:48:24 2025
@@ -1,6 +1,6 @@
 <!-- updatequery.piml -->
 
-<!-- $Id: updatequery.piml,v 1.98 2024/07/06 16:00:22 raeburn Exp $ -->
+<!-- $Id: updatequery.piml,v 1.99 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -34,628 +34,6 @@
 <perlscript mode='fg'>
 $|=1;
 use strict;
-use lib '/home/httpd/lib/perl/';
-use LONCAPA::Configuration;
-use LONCAPA::Lond;
-use LONCAPA::SSL;
-use LONCAPA;
-use GDBM_File;
-use Storable qw(thaw);
-use Term::ReadKey;
-use Locale::Country;
-
-sub get_new_sslkeypass {
-    my $sslkeypass;
-    my $flag=0;
-# get Password for SSL key
-    while (!$flag) {
-        $sslkeypass = &make_passphrase();
-        if ($sslkeypass) {
-            $flag = 1;
-        } else {
-            print "Invalid input (a password is required for the SSL key).\n";
-        }
-    }
-    return $sslkeypass;
-}
-
-sub get_static_config {
-# get LCperlvars from loncapa_apache.conf
-    my $confdir = '/etc/httpd/conf/';
-    if ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'sles15' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2' || '<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24' || '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12') {
-        $confdir = '/etc/apache2/';
-    }
-    my $filename='loncapa_apache.conf';
-    my %LCperlvar;
-    if (-e "$confdir$filename") {
-        open(CONFIG,'<'.$confdir.$filename) or die("Can't read $confdir$filename");
-        while (my $configline=<CONFIG>) {
-            if ($configline =~ /^[^\#]?PerlSetVar/) {
-                my ($unused,$varname,$varvalue)=split(/\s+/,$configline);
-                chomp($varvalue);
-                $LCperlvar{$varname}=$varvalue;
-            }
-        }
-        close(CONFIG);
-    }
-    return \%LCperlvar;
-}
-
-sub get_domain_config {
-    my ($dom,$primaryserver,$isprimary,$url,$perlvarref) = @_;
-    my %confhash;
-    if ($isprimary) {
-        if (ref($perlvarref) eq 'HASH') {
-            my $lonusersdir = $perlvarref->{'lonUsersDir'};
-            my $fname = $lonusersdir.'/'.$dom.'/configuration.db';
-            if (-e $fname) {
-                my $dbref=&LONCAPA::locking_hash_tie($fname,&GDBM_READER());
-                if (ref($dbref) eq 'HASH') {
-                    foreach my $key (sort(keys(%{$dbref}))) {
-                        my $value = $dbref->{$key};
-                        if ($value =~ s/^__FROZEN__//) {
-                            $value = thaw(&LONCAPA::unescape($value));
-                        } else {
-                            $value = &LONCAPA::unescape($value);
-                        }
-                        $confhash{$key} = $value;
-                    }
-                    &LONCAPA::locking_hash_untie($dbref);
-                }
-            }
-        }
-    } else {
-        if (open(PIPE,"wget --no-check-certificate '$url?primary=$primaryserver&format=raw' |")) {
-            my $config = '';
-            while (<PIPE>) {
-                $config .= $_;
-            }
-            close(PIPE);
-            if ($config) {
-                my @pairs=split(/\&/,$config);
-                foreach my $item (@pairs) {
-                    my ($key,$value)=split(/=/,$item,2);
-                    my $what = &LONCAPA::unescape($key);
-                    if ($value =~ s/^__FROZEN__//) {
-                        $value = thaw(&LONCAPA::unescape($value));
-                    } else {
-                        $value = &LONCAPA::unescape($value); 
-                    }
-                    $confhash{$what}=$value;
-                }
-            }
-        }
-    }
-    return (\%confhash);
-}
-
-sub make_passphrase {
-    my ($got_passwd,$firstpass,$secondpass,$passwd);
-    my $maxtries = 10;
-    my $trial = 0;
-    while ((!$got_passwd) && ($trial < $maxtries)) {
-        $firstpass = &get_password('Enter a password for the SSL key (at least 6 characters long)');
-        if (length($firstpass) < 6) {
-            print('Password too short.'."\n".
-              'Please choose a password with at least six characters.'."\n".
-              'Please try again.'."\n");
-        } elsif (length($firstpass) > 30) {
-            print('Password too long.'."\n".
-                  'Please choose a password with no more than thirty characters.'."\n".
-                  'Please try again.'."\n");
-        } else {
-            my $pbad=0;
-            foreach (split(//,$firstpass)) {if ((ord($_)<32)||(ord($_)>126)){$pbad=1;}}
-            if ($pbad) {
-                print('Password contains invalid characters.'."\n".
-                      'Password must consist of standard ASCII characters.'."\n".
-                      'Please try again.'."\n");
-            } else {
-                $secondpass = &get_password('Enter password a second time');
-                if ($firstpass eq $secondpass) {
-                    $got_passwd = 1;
-                    $passwd = $firstpass;
-                } else {
-                    print('Passwords did not match.'."\n".
-                          'Please try again.'."\n");
-                }
-            }
-        }
-        $trial ++;
-    }
-    return $passwd;
-}
-
-sub get_password {
-    my ($prompt) = @_;
-    local $| = 1;
-    print $prompt.': ';
-    my $newpasswd = '';
-    ReadMode 'raw';
-    my $key;
-    while(ord($key = ReadKey(0)) != 10) {
-        if(ord($key) == 127 || ord($key) == 8) {
-            chop($newpasswd);
-            print "\b \b";
-        } elsif(!ord($key) < 32) {
-            $newpasswd .= $key;
-            print '*';
-        }
-    }
-    ReadMode 'normal';
-    print "\n";
-    return $newpasswd;
-}
-
-sub send_mail {
-    my ($hostname,$recipient,$subj,$file) = @_;
-    my $from = 'www@'.$hostname;
-    my $certmail = "To: $recipient\n".
-                   "From: $from\n".
-                   "Subject: ".$subj."\n".
-                   "Content-type: text/plain\; charset=UTF-8\n".
-                   "MIME-Version: 1.0\n\n";
-    if (open(my $fh,"<$file")) {
-        while (<$fh>) {
-            $certmail .= $_;
-        }
-        close($fh);
-        $certmail .= "\n\n";
-        if (open(my $mailh, "|/usr/lib/sendmail -oi -t -odb")) {
-            print $mailh $certmail;
-            close($mailh);
-            print "Mail sent ($subj) to $recipient\n";
-        } else {
-            print "Sending mail ($subj) to $recipient failed.\n";
-        }
-    }
-    return;
-}
-
-sub mail_csr {
-    my ($types,$lonCluster,$lonHostID,$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarref) = @_;
-    my ($camail,$flag);
-    if ($lonCluster eq 'production' || $lonCluster eq 'development') {
-        $camail = $perlvarref->{'SSLEmail'};
-    } else {
-        $flag=0;
-# get Certificate Authority E-mail
-        while (!$flag) {
-            print(<<END);
-
-ENTER EMAIL ADDRESS TO SEND CERTIFICATE SIGNING REQUESTS
-END
-
-            my $choice=<>;
-            chomp($choice);
-            if ($choice ne '') {
-                open(OUT,'>>/tmp/loncapa_updatequery.out');
-                print(OUT 'Certificate Authority Email Address'."\t".$choice."\n");
-                close(OUT);
-                $camail=$choice;
-                $flag=1;
-            } else {
-                print "Invalid input (an email address is required).\n";
-            }
-        }
-    }
-    if ($camail) {
-        my $subj;
-        if (($types eq 'both') || ($types = 'host')) {
-            if (-e "$certsdir/$connectcsr") {
-                $subj = "Certificate Request ($lonHostID)";
-                print(&send_mail($desiredhostname,$camail,$subj,"$certsdir/$connectcsr"));
-            }
-        }
-        if (($types eq 'both') || ($types = 'hostname')) {
-            if (-e "$certsdir/$replicatecsr") {
-                $subj = "Certificate Request (internal-$desiredhostname)";
-                print(&send_mail($desiredhostname,$camail,$subj,"$certsdir/$replicatecsr"));
-            }
-        }
-    }
-}
-
-sub ssl_info {
-    print(<<END);
-
-****** Information about Country, State or Province and City *****
-
-A two-letter country code, e.g., US, CA, DE etc. as defined by ISO 3166,
-is required. A state or province, and a city are also required.
-This locality information is included in two SSL certificates used internally
-by LON-CAPA, unless you are running standalone.
-
-If your server will be part of either the production or development
-clusters, then the certificate will need to be signed by the official
-LON-CAPA Certificate Authority (CA).  If you will be running your own
-cluster then the cluster will need to create its own CA.
-
-END
-}
-
-sub get_country {
-    my ($desiredhostname) = @_;
-# get Country
-    my ($posscountry,$country);
-    if ($desiredhostname =~ /\.(edu|com|org)$/) {
-        $posscountry = 'us';
-    } else {
-        ($posscountry) = ($desiredhostname =~ /\.(a-z){2}$/);
-    }
-    if ($posscountry) {
-        my $countrydesc = &Locale::Country::code2country($posscountry);
-        if ($countrydesc eq '') {
-            undef($posscountry);
-        }
-    }
-
-    my $flag=0;
-    while (!$flag) {
-        if ($posscountry) {
-            $posscountry = uc($posscountry);
-            print "ENTER TWO-LETTER COUNTRY CODE [$posscountry]:\n";
-        } else {
-            print "ENTER TWO-LETTER COUNTRY CODE:\n";
-        }
-        my $choice=<>;
-        chomp($choice);
-        if ($choice ne '') {
-            if (&Locale::Country::code2country(lc($choice))) {
-                open(OUT,'>>/tmp/loncapa_updatequery.out');
-                print(OUT 'country'."\t".uc($choice)."\n");
-                close(OUT);
-                $country=uc($choice);
-                $flag=1;
-            } else {
-                print "Invalid input -- a valid two letter country code is required\n";
-            }
-        } elsif (($choice eq '') && ($posscountry ne '')) {
-            open(OUT,'>>/tmp/loncapa_updatequery.out');
-            print(OUT 'country'."\t".$posscountry."\n");
-            close(OUT);
-            $country = $posscountry;
-            $flag = 1;
-        } else {
-            print "Invalid input -- a country code is required\n";
-        }
-    }
-    return $country;
-}
-
-sub get_state {
-# get State or Province
-    my $flag=0;
-    my $state = '';
-    while (!$flag) {
-        print(<<END);
-
-ENTER STATE OR PROVINCE NAME:
-END
-
-        my $choice=<>;
-        chomp($choice);
-        if ($choice ne '') {
-            open(OUT,'>>/tmp/loncapa_updatequery.out');
-            print(OUT 'state'."\t".$choice."\n");
-            close(OUT);
-            $state=$choice;
-            $flag=1;
-        } else {
-            print "Invalid input (a state or province name is required).\n";
-        }
-    }
-    return $state;
-}
-
-sub get_city {
-# get City
-    my $flag=0;
-    my $city = '';
-    while (!$flag) {
-        print(<<END);
-
-ENTER CITY NAME:
-END
-
-        my $choice=<>;
-        chomp($choice);
-        if ($choice ne '') {
-            open(OUT,'>>/tmp/loncapa_updatequery.out');
-            print(OUT 'city'."\t".$choice."\n");
-            close(OUT);
-            $city=$choice;
-            $flag=1;
-        } else {
-            print "Invalid input (a city is required).\n";
-        }
-    }
-    return $city;
-}
-
-sub confirm_locality {
-    my ($domainDescription,$country,$state,$city) = @_;
-    my $flag = 0;
-    while (!$flag) {
-        print(<<END);
-
-The domain description, country, state and city will be
-used in the SSL certificates
-
-1) Domain Description: $domainDescription
-2) Country: $country
-3) State or Province: $state
-4) City: $city
-5) Everything is correct up above
-
-ENTER A CHOICE OF 1-4 TO CHANGE, otherwise ENTER 5:
-END
-        my $choice=<>;
-        chomp($choice);
-        if ($choice == 1) {
-            print(<<END);
-1) Domain Description: $domainDescription
-ENTER NEW VALUE
-END
-            my $choice2=<>;
-            chomp($choice2);
-            $domainDescription=$choice2;
-        } elsif ($choice == 2) {
-            print(<<END);
-2) Country: $country
-ENTER NEW VALUE (this should be a two-character code, e,g, US, CA, DE)
-END
-            my $choice2=<>;
-            chomp($choice2);
-            $country = uc($choice2);
-        } elsif ($choice == 3) {
-            print(<<END);
-3) State or Province: $state
-ENTER NEW VALUE:
-END
-            my $choice2=<>;
-            chomp($choice2);
-            $state=$choice2;
-        } elsif ($choice == 4) {
-            print(<<END);
-4) City: $city
-ENTER NEW VALUE:
-END
-            my $choice2=<>;
-            chomp($choice2);
-            $city=$choice2;
-        } elsif ($choice == 5) {
-            $flag=1;
-            $state =~ s{/}{ }g;
-            $city =~ s{/}{ }g;
-            $domainDescription =~ s{/}{ }g;
-        } else {
-            print "Invalid input.\n";
-        }
-    }
-    return ($domainDescription,$country,$state,$city);
-}
-
-sub make_key {
-    my ($certsdir,$privkey,$sslkeypass) = @_;
-# generate SSL key
-    if ($certsdir && $privkey) {
-        if (-f "$certsdir/lonKey.enc") {
-            my $mode = 0600;
-            chmod $mode, "$certsdir/lonKey.enc";
-        }
-        open(PIPE,"openssl genrsa -des3 -passout pass:$sslkeypass -out $certsdir/lonKey.enc 2048 2>&1 |");
-        close(PIPE);
-        if (-f "$certsdir/$privkey") {
-            my $mode = 0600;
-            chmod $mode, "$certsdir/$privkey";
-        }
-        open(PIPE,"openssl rsa -in $certsdir/lonKey.enc -passin pass:$sslkeypass -out $certsdir/$privkey -outform PEM |");
-        close(PIPE);
-        if (-f "$certsdir/lonKey.enc") {
-            my $mode = 0400;
-            chmod $mode, "$certsdir/lonKey.enc";
-        }
-        if (-f "$certsdir/$privkey") {
-            my $mode = 0400;
-            chmod $mode, "$certsdir/$privkey";
-        }
-    } else {
-        print "Key creation failed.  Missing one or more of: certificates directory, key name\n";
-    }
-}
-
-sub encrypt_key {
-    my ($certsdir,$privkey,$sslkeypass) = @_;
-    if ($certsdir && $privkey) { 
-        if ((-f "$certsdir/$privkey") && (!-f "$certsdir/lonKey.enc")) {
-            open(PIPE,"openssl rsa -des3 -in $certsdir/$privkey -out $certsdir/lonKey.enc |");
-        }
-    }
-    return; 
-}
-
-sub make_host_csr {
-    my ($certsdir,$sslkeypass,$connectcsr,$connectsubj) = @_;
-# generate SSL csr for hostID
-    if ($certsdir && $connectcsr && $connectsubj) {
-        open(PIPE,"openssl req -key $certsdir/lonKey.enc -passin pass:$sslkeypass -new -batch -subj \"$connectsubj\" -out $certsdir/$connectcsr |");
-        close(PIPE);
-    } else {
-        print "Creation of certificate signing request failed.  Missing one or more of: certificates directory, CSR name, or locality information.\n";
-    }
-}
-
-sub make_hostname_csr {
-    my ($certsdir,$sslkeypass,$replicatecsr,$replicatesubj) = @_;
-# generate SSL csr for internal hostname
-    if ($certsdir && $replicatecsr && $replicatesubj) {
-        open(PIPE,"openssl req -key $certsdir/lonKey.enc -passin pass:$sslkeypass -new -batch -subj \"$replicatesubj\" -out $certsdir/$replicatecsr |");
-        close(PIPE);
-    } else {
-        print "Creation of certificate signing request failed.  Missing one or more of: certificates directory, CSR name, or locality information.\n";
-    }
-}
-
-sub securesetting {
-    my (%perlvar) = @_;
-    my ($securestatus,$securenum);
-    if (($perlvar{'loncAllowInsecure'}) && ($perlvar{'londAllowInsecure'})) {
-        $securenum = 4;
-        $securestatus = 'Allow insecure connections - inbound and outbound';
-    } elsif (($perlvar{'loncAllowInsecure'}) && (!$perlvar{'londAllowInsecure'})) {
-        $securenum = 3;
-        $securestatus = 'Outbound: allow insecure connections; Inbound: secure only';
-    } elsif ((!$perlvar{'loncAllowInsecure'}) && ($perlvar{'londAllowInsecure'})) {
-        $securenum = 2;
-        $securestatus = 'Outbound: secure connections only; Inbound: allow insecure';
-    } elsif ((!$perlvar{'loncAllowInsecure'}) && (!$perlvar{'londAllowInsecure'})) {
-        $securenum = 1;
-        $securestatus = 'Secure connections only - inbound and outbound ';
-    }
-    return ($securestatus,$securenum);
-}
-
-sub get_sslnames {
-    my %sslnames = (
-                      key      => 'lonnetPrivateKey',
-                      host     => 'lonnetCertificate',
-                      hostname => 'lonnetHostnameCertificate',
-                      ca       => 'lonnetCertificateAuthority',
-                   );
-    return %sslnames;
-}
-
-sub get_ssldesc {
-    my %ssldesc = (
-                    key      => 'Private Key',
-                    host     => 'Connections Certificate',
-                    hostname => 'Replication Certificate',
-                    ca       => 'LON-CAPA CA Certificate',
-                  );
-    return %ssldesc;
-}
-
-sub get_cert_status {
-    my ($lonHostID,$hostname,$perlvarstatic) = @_;
-    my $currcerts = &LONCAPA::SSL::print_certstatus({$lonHostID => $hostname,},'text','install');
-    my ($lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,%sslstatus);
-    my $output = '';
-    if ($currcerts eq "$lonHostID:error") {
-        $output .= "No information available for SSL certificates\n";
-        $sslstatus{'key'} = -1;
-        $sslstatus{'host'} = -1;
-        $sslstatus{'hostname'} = -1;
-        $sslstatus{'ca'} = -1;
-        $lonkeystatus = 'unknown status';
-        $lonhostcertstatus = 'unknown status';
-        $lonhostnamecertstatus = 'unknown status';
-    } else {
-        my %sslnames = &get_sslnames();
-        my %ssldesc = &get_ssldesc();
-        my %csr;
-        my ($lonhost,$info) = split(/\:/,$currcerts,2);
-        if ($lonhost eq $lonHostID) {
-            my @items = split(/\&/,$info);
-            foreach my $item (@items) {
-                my ($key,$value) = split(/=/,$item,2);
-                if ($key =~ /^(host(?:|name))\-csr$/) {
-                    $csr{$1} = $value;
-                }
-                my @data = split(/,/,$value);
-                if (grep(/^\Q$key\E$/,keys(%sslnames))) {
-                    my ($checkcsr,$comparecsr);
-                    if (lc($data[0]) eq 'yes') {
-                        $output .= "$ssldesc{$key} ".$perlvarstatic->{$sslnames{$key}}." available with status = $data[1]\n";
-                        if ($key eq 'key') {
-                            $lonkeystatus = "status: $data[1]";
-                            if ($data[1] =~ /ok$/) {
-                                $sslstatus{$key} = 1;
-                            }
-                        } else {
-                            my $setstatus;
-                            if (($key eq 'host') || ($key eq 'hostname')) { 
-                                if ($data[1] eq 'otherkey') {
-                                    $sslstatus{$key} = 4;
-                                    $setstatus = 1;
-                                    if ($key eq 'host') {
-                                        $lonhostcertstatus = "status: created with different key";
-                                    } elsif ($key eq 'hostname') {
-                                        $lonhostnamecertstatus = "status: created with different key"; 
-                                    }
-                                } elsif ($data[1] eq 'nokey') {
-                                    $sslstatus{$key} = 5;
-                                    $setstatus = 1;
-                                    if ($key eq 'host') {
-                                        $lonhostcertstatus = "status: created with missing key";
-                                    } elsif ($key eq 'hostname') {
-                                        $lonhostnamecertstatus = "status: created with missing key";
-                                    }
-                                }
-                                if ($setstatus) {
-                                    $comparecsr = 1;
-                                }
-                            }
-                            unless ($setstatus) {
-                                if ($data[1] eq 'expired') {
-                                    $sslstatus{$key} = 2;
-                                } elsif ($data[1] eq 'future') {
-                                    $sslstatus{$key} = 3;
-                                } else {
-                                    $sslstatus{$key} = 1;
-                                }
-                                if ($key eq 'host') {
-                                    $lonhostcertstatus = "status: $data[1]";
-                                } elsif ($key eq 'hostname') {
-                                    $lonhostnamecertstatus = "status: $data[1]";
-                                }
-                            }
-                        }
-                    } else {
-                        $sslstatus{$key} = 0;
-                        $output .= "$ssldesc{$key} ".$perlvarstatic->{$sslnames{$key}}." not available\n";
-                        if ($key eq 'key') {
-                            $lonkeystatus = 'still needed';
-                        } elsif (($key eq 'host') || ($key eq 'hostname')) {
-                            $checkcsr = 1;
-                        }
-                    }
-                    if (($checkcsr) || ($comparecsr)) {
-                        my $csrfile = $perlvarstatic->{$sslnames{$key}};
-                        $csrfile =~s /\.pem$/.csr/;
-                        my $csrstatus;
-                        if (-e $perlvarstatic->{'lonCertificateDirectory'}."/$csrfile") {
-                            open(PIPE,"openssl req -text -noout -verify -in ".$perlvarstatic->{'lonCertificateDirectory'}."/$csrfile 2>&1 |");
-                            while(<PIPE>) {
-                                chomp();
-                                $csrstatus = $_;
-                                last;
-                            }
-                            close(PIPE);
-                            if ((($comparecsr) && ($csr{$key})) || ($checkcsr)) {
-                                $output .= "Certificate signing request for $ssldesc{$key} available with status = $csrstatus\n\n";
-                                if ($key eq 'host') {
-                                    $lonhostcertstatus = 'awaiting signature';
-                                } else {
-                                    $lonhostnamecertstatus = 'awaiting signature';
-                                }
-                                $sslstatus{$key} = 3;
-                            }
-                        } elsif ($checkcsr) {
-                            $output .= "No certificate signing request available for $ssldesc{$key}\n\n";
-                            if ($key eq 'host') {
-                                $lonhostcertstatus = 'still needed';
-                            } else {
-                                $lonhostnamecertstatus = 'still needed';
-                            }
-                        }
-                    }
-                }
-            }
-        }
-    }
-    return ($output,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,\%sslstatus);
-}
 
   print(<<END);
 
@@ -672,39 +50,16 @@
 
 END
 #sleep(3);
-
 </perlscript>
 </file>
 <file>
-<target dist='default'>../../loncom/hosts.tab</target>
+<target dist='default'>loncom/hosts.tab</target>
 <perlscript mode='fg'>
 my $lonCluster;
-my $currCluster;
-
-if (-l "<TARGET />") {
-  my $currlink = readlink("<TARGET />");
-  if ($currlink =~ /^new_(existing|standalone|development|production)_hosts\.tab$/) {
-      $currCluster = $1;
-  }
-  my %clustertypes = (
-                       production  => 'PRODUCTION',
-                       standalone  => 'STAND-ALONE',
-                       development => 'DEVELOPMENT',
-                       existing    => 'RUNNING YOUR OWN CLUSTER',
-                     );
-  if (($currCluster) && (exists($clustertypes{$currCluster}))) {
-      print(<<END);
-
-The cluster type for this server is currently: $clustertypes{$currCluster}
-END
-
-  }
-}
-
-print(<<END);
+unless (-l "<TARGET />") {
+  print(<<END);
 
 ===============================================================================
-
 Which cluster option would you like to have installed?
 IMPORTANT: to take advantage of the cluster options 1) and 3),
 you must contact loncapa\@loncapa.org.
@@ -762,6 +117,7 @@
     $lonCluster='rawhide'; $flag=1;
   }
 }
+}
 </perlscript>
 </file>
 <file>
@@ -774,9 +130,6 @@
 my $protocol;
 my $intdom;
 my $desiredhostname;
-my $city;
-my $state;
-my $country;
 my @libservers = ();
 unless (-e "<TARGET />") {
   print(<<END);
@@ -786,7 +139,7 @@
 or contact helpdesk\@loncapa.org.
 
 ===============================================================================
-The following 10 values are needed to configure LON-CAPA:
+The following 8 values are needed to configure LON-CAPA:
 * Machine Role
 * LON-CAPA Domain Name
 * LON-CAPA Machine ID Name
@@ -795,8 +148,6 @@
 * Web Server Protocol
 * Internet Domain Name of Your Institution
 * Hostname
-* City, State, Country for LON-CAPA SSL certificate 
-* Password for key for creating SSL certificates
 ===============================================================================
 
 In addition, a Support E-mail Address can also be included. If
@@ -915,9 +266,9 @@
     close(OUT);
     $lonDefDomain=$choice;
     $flag=1;
-  } elsif (length($choice)>35) {
+  } elsif (length($choice)>35) {
     print "Name too long\n";
-  } elsif (length($choice)<2) {
+  } elsif (length($choice)<2) {
     print "Name too short\n";
   } elsif ($bad_domain_flag) {
     print "Invalid input ('$choice' conflicts with LON-CAPA namespace).\n";
@@ -1002,9 +353,9 @@
     close(OUT);
     $lonHostID=$choice;
     $flag=1;
-  } elsif (length($choice)>45) {
+  } elsif (length($choice)>45) {
     print "Name too long\n";
-  } elsif (length($choice)<4) {
+  } elsif (length($choice)<4) {
     print "Name too short\n";
   } elsif ($choice!~/\_/ and $choice=~/^[\w\-.]+$/) {
     open(OUT,'>>/tmp/loncapa_updatequery.out');
@@ -1042,7 +393,7 @@
         print(<<END);
 ENTER DOMAIN'S PRIMARY LIBRARY SERVER ID [$primaryLibServer]:
 END
-    } elsif (@libservers > 0) {
+    } elsif (@libservers > 0) {
         print(<<END);
 ENTER DOMAIN'S PRIMARY LIBRARY SERVER ID [$libservers[0]]
 END
@@ -1060,9 +411,9 @@
         print(OUT 'primaryLibServer'."\t".$choice."\n");
         close(OUT);
         $flag=1;
-    } elsif (length($choice)>35) {
+    } elsif (length($choice)>35) {
         print "Name too long\n";
-    } elsif (length($choice)<4) {
+    } elsif (length($choice)<4) {
         print "Name too short\n";
     } elsif ($choice!~/\_/ and $choice=~/^[\w\-.]+$/) {
         open(OUT,'>>/tmp/loncapa_updatequery.out');
@@ -1083,7 +434,7 @@
 while (!$flag) {
   print(<<END);
 
-**** Server Administrator's E-mail ****
+**** Server Administrators E-mail ****
 E-mail address of the person who will manage this machine
 [should be in the form somebody\@somewhere]
 ENTER ADMIN E-MAIL ADDRESS:
@@ -1215,7 +566,7 @@
 ****** Hostname of the server/VM *****
 
 The hostname of the server/VM is required. This will be similar to:
-somename.ustate.edu or somename.department.ustate.edu, and would be
+somename.ustate.edu or somename.department.ustate.edu, and would be 
 the web address which users would point their web browsers at to
 access the server.
 
@@ -1247,61 +598,9 @@
   }
 }
 
-&ssl_info();
-
-$country = &get_country($desiredhostname);
-
-$state = &get_state();
-
-$city = &get_city();
-
-($domainDescription,$country,$state,$city) = &confirm_locality($domainDescription,$country,$state,$city);
-
-my $perlstaticref = &get_static_config();
-if (ref($perlstaticref) eq 'HASH') {
-  my ($certsdir,$privkey,$connectcsr,$replicatecsr);
-  $certsdir = $perlstaticref->{'lonCertificateDirectory'};
-  $privkey = $perlstaticref->{'lonnetPrivateKey'};
-  $connectcsr = $perlstaticref->{'lonnetCertificate'};
-  $connectcsr =~ s/\.pem$/.csr/;
-  $replicatecsr = $perlstaticref->{'lonnetHostnameCertificate'};
-  $replicatecsr =~ s/\.pem$/.csr/;
-
-  print(<<END);
-
-****** SSL Certificates *****
-
-You need to provide a password to be used for the openssl key which
-will be stored in $certsdir, and will be used when creating two
-certificate signing requests: $connectcsr and $replicatecsr
-
-END
-
-  my $sslkeypass = &get_new_sslkeypass();
-
-  if ($certsdir && $privkey) {
-    my $connectsubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=$lonHostID/OU=LONCAPA/emailAddress=$lonAdmEMail";
-    my $replicatesubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=internal-$desiredhostname/OU=LONCAPA/emailAddress=$lonAdmEMail";
-
-# generate SSL key
-    &make_key($certsdir,$privkey,$sslkeypass);
-# generate SSL csr for hostID
-    &make_host_csr($certsdir,$sslkeypass,$connectcsr,$connectsubj);
-# generate SSL csr for internal hostname
-    &make_hostname_csr($certsdir,$sslkeypass,$replicatecsr,$replicatesubj);
-# mail csr files to certificate at lon-capa.org (production or dev clusters).
-    &mail_csr('both',$lonCluster,$lonHostID,$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlstaticref);
-
-    } else {
-        print "Could not acquire standard names for SSL Certificate files from loncapa_apache.conf\n";
-    }
-} else {
-    print "Could not acquire standard names for SSL Certificate files from loncapa_apache.conf\n";
-}
-
 # update loncapa.conf
 my $confdir = '/etc/httpd/conf/';
-if ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'sles15' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2' || '<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24' || '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12') {
+if ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'sles15' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1' || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2' || '<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24' || '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12' || '<DIST />' eq 'debian13') {
      $confdir = '/etc/apache2/';
 }   
 my $filename='loncapa.conf';
@@ -1358,12 +657,28 @@
 </file>
 <file>
 <target dist='default'>/etc/httpd/conf/</target>
-<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/</target>
+<target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 debian5 debian6 debian10 debian11 debian12 debian13 ubuntu6 ubuntu8 ubuntu10 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/</target>
 <perlscript mode='fg'>
+sub securesetting {
+    my (%perlvar)=@_;
+    my $securestatus='unknown';
+    my $securenum='';
+    if      ( $perlvar{'loncAllowInsecure'}&&  $perlvar{'londAllowInsecure'}) {
+	$securestatus='no';                  $securenum='4';
+    } elsif ( $perlvar{'loncAllowInsecure'}&& !$perlvar{'londAllowInsecure'}) {
+	$securestatus='lond';                $securenum='3';
+    } elsif (!$perlvar{'loncAllowInsecure'}&&  $perlvar{'londAllowInsecure'}) {
+	$securestatus='lonc';                $securenum='2';
+    } elsif (!$perlvar{'loncAllowInsecure'}&& !$perlvar{'londAllowInsecure'}) {
+	$securestatus='yes (lond and lonc)'; $securenum='1';
+    }
+    return ($securestatus,$securenum);
+}
 # read values from loncapa.conf
 my $confdir = "<TARGET />";
 my $filename='loncapa.conf';
 my %perlvar;
+my ($securestatus,$securenum);
     if (-e "$confdir$filename") {
 	open(CONFIG,'<'.$confdir.$filename) or 
           die("Can't read $confdir$filename");
@@ -1391,7 +706,7 @@
     unless ($perlvar{'loncAllowInsecure'} and $perlvar{'loncAllowInsecure'}!~/\{\[\[\[\[/) {
        $perlvar{'loncAllowInsecure'}='1';
     }
-    my ($securestatus,$securenum)=&securesetting(%perlvar);
+    ($securestatus,$securenum)=&securesetting(%perlvar);
     unless ($perlvar{'lonReceipt'} and $perlvar{'lonReceipt'}!~/\{\[\[\[\[/) {
        my $lonReceipt='';
        srand(time ^ $$ ^ unpack "%L*", `ps axww | gzip`);
@@ -1401,7 +716,19 @@
        }
        $perlvar{'lonReceipt'}=$lonReceipt;
     }
-    my $perlvarstatic = &get_static_config();
+my %perlvarstatic;
+    if (-e "${confdir}loncapa_apache.conf") {
+	open(CONFIG,'<'.$confdir.'loncapa_apache.conf') or 
+          die("Can't read ${confdir}loncapa_apache.conf");
+	while (my $configline=<CONFIG>) {
+	    if ($configline =~ /^[^\#]*PerlSetVar/) {
+		my ($unused,$varname,$varvalue)=split(/\s+/,$configline);
+		chomp($varvalue);
+		$perlvarstatic{$varname}=$varvalue;
+	    }
+	}
+	close(CONFIG);
+    }
 
     my (@hosts_files, @domain_files);
     if ( $lonCluster ne 'existing') {
@@ -1415,7 +742,6 @@
     push(@hosts_files,'/home/httpd/lonTabs/hosts.tab',
          '/home/httpd/lonTabs/dns_hosts.tab');
 
-    my @poss_hosts_files = @hosts_files;
     if (!$domainDescription) {
 	foreach my $file (@domain_files) {
 	    open(IN,'<'.$file);
@@ -1469,7 +795,6 @@
         }
     }
 
-    my (%hostnames,%protocols);
     while(!$primaryLibServer && (@hosts_files || @domain_files)) {
 	my $file = shift(@domain_files);
         open(IN,'<'.$file);
@@ -1484,143 +809,23 @@
 	$file = shift(@hosts_files);
 	open(IN,'<'.$file);
 	while(my $line = <IN>) {
-	    if ($line =~ /^([^\:]+)\:\Q$perlvar{'lonDefDomain'}\E\:library\:([^\:]+)/) {
+	    if ($line =~ /^([^\:]+)\:\Q$perlvar{'lonDefDomain'}\E\:library\:/) {
 		push(@libservers,$1);
-                $hostnames{$1} = $2;
 	    }
 	}
 	# make list unique
-	@libservers = keys(%{{ map { $_ => 1 } (@libservers) }});
+	@libservers = keys(%{{ map { $_ => 1 } (@libservers) }});
 	close(IN);
 	if (@libservers == 1) {
 	    $primaryLibServer = $libservers[0];
 	}
     }
-
-# get hostname of primaryLibServer
-    my ($primary_hostname,$primary_protocol);
-    if ($primaryLibServer) {
-        if ($hostnames{$primaryLibServer}) {
-            $primary_hostname = $hostnames{$primaryLibServer};
-            $primary_protocol = $protocols{$primaryLibServer};
-        } else {
-            foreach my $file (@poss_hosts_files) {
-                open(IN,'<'.$file);
-                while (my $line = <IN>) {
-                    if ($line =~ /^([^\:]+)\:\Q$perlvar{'lonDefDomain'}\E\:library\:([^\:]+):(https?)/) {
-                        if ($1 eq $primaryLibServer) {
-                            $primary_hostname = $2;
-                            $primary_protocol = $3;
-                            last;
-                        }
-                    }
-                }
-                close(IN);
-                last if ($primary_hostname);
-            }
-        }
-    }
    
 # implement editing logic below, interactively
-# update loncapa.conf until 18 is entered
+# update loncapa.conf until 15 is entered
 
 my $flag=0;
 
-#
-# Changes to 5, 6, and 14 not supported if configuration.db set on primary library server.
-# (requires either this machine to be primary library server or for LON-CAPA and Apache
-# to be running on primary library server).
-#
-
-my ($isprimary,$domconf,$url,$gotdomconf,$adminmail,$supportmail,$connectssl,%setbygui);
-if ($primaryLibServer eq $perlvar{'lonHostID'}) {
-    $isprimary = 1;
-} else {
-    unless ($primary_protocol eq 'https') {
-        $primary_protocol = 'http';
-    } 
-    $url = $primary_protocol.'://'.$primary_hostname.'/cgi-bin/listdomconfig.pl';
-}
-
-my %sslnames = &get_sslnames();
-my %ssldesc = &get_ssldesc();
-
-my $domconf = &get_domain_config($perlvar{'lonDefDomain'},$primaryLibServer,$isprimary,
-                                 $url,$perlvarstatic);
-if (ref($domconf)) {
-    $gotdomconf = 1;
-    if (ref($domconf->{'contacts'}) eq 'HASH') {
-        if (exists($domconf->{'contacts'}->{'adminemail'})) {
-            $adminmail = $domconf->{'contacts'}->{'adminemail'};
-        }
-        if (exists($domconf->{'contacts'}->{'supportemail'})) {
-            $supportmail = $domconf->{'contacts'}->{'supportemail'};
-        }
-    }
-    if (ref($domconf->{'ssl'}) eq 'HASH') {
-        foreach my $connect ('connto','connfrom') { 
-            if (ref($domconf->{'ssl'}->{$connect}) eq 'HASH') {       
-                my ($sslreq,$sslnoreq,$currsetting);
-                my %contypes; 
-                foreach my $type ('dom','intdom','other') {
-                    my $key;
-                    if ($domconf->{'ssl'}->{'connect'}->{$type} eq 'req') {
-                        $key = 'yes';
-                    } else {
-                        $key = 'no';
-                    }
-                    if ($type eq 'dom') {
-                        $contypes{$key} .= ' own domain,';
-                    } elsif ($type eq 'intdom') {
-                        $contypes{$key} .= ' own institution,';
-                    } elsif ($type eq 'other') { 
-                        $contypes{$key} .= ' other domains,';
-                    }
-                }
-                foreach my $key (sort(keys(%contypes))) {
-                    $contypes{$key} =~ s/^\s//;
-                    $contypes{$key} =~ s/,$//;
-                    if ($key eq 'yes') {
-                        $currsetting .= ' Yes ('.$contypes{$key}.'),';
-                    } elsif ($key eq 'no') {
-                        $currsetting .= ' No ('.$contypes{$key}.')';
-                    }
-                    $currsetting =~ s/,$//;
-                }
-                if ($currsetting ne '') {
-                    $connectssl = $sslnames{$connect}.' -- '.$currsetting.' | '; 
-                }
-            }
-        }
-        $connectssl =~ s/\s\|\s$//; 
-    }
-}
-if ($connectssl) {
-    $setbygui{'securestatus'} = 1;
-    $securestatus = 'Set by domain configuration via web GUI. Currently: '.$connectssl; 
-}
-if ($adminmail) {
-    $adminmail = 'Set by domain configuration via web GUI. Currently: '.$adminmail;
-    $setbygui{'lonAdmEMail'} = 1;
-} else {
-    $adminmail = $perlvar{'lonAdmEMail'};
-}
-if ($supportmail) {
-    $supportmail = 'Set by domain configuration via web GUI. Currently: '.$supportmail;
-    $setbygui{'lonSupportEMail'} = 1;
-} else {
-    $supportmail = $perlvar{'lonSupportEMail'};
-}
-
-print "\nRetrieving status information for SSL key and certificates ...\n\n";
-my ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) = 
-    &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-print $certinfo;
-my %sslstatus;
-if (ref($sslref) eq 'HASH') {
-    %sslstatus = %{$sslref};
-}
-
 while (!$flag) {
   print(<<END);
 
@@ -1630,26 +835,23 @@
  2) Domain Description: $domainDescription
  3) Machine Name: $perlvar{'lonHostID'}
  4) ID of primary library server for domain: $primaryLibServer
- 5) Server Administrator's E-mail Address: $adminmail
- 6) Support E-mail Address: $supportmail
+ 5) Server Administrator's E-mail Address: $perlvar{'lonAdmEMail'}
+ 6) Support E-mail Address: $perlvar{'lonSupportEMail'}
  7) Web Server Protocol (http or https): $protocol 
  8) Internet Domain Name: $intdom 
  9) Hostname: $desiredhostname
 10) Role: $perlvar{'lonRole'}
-11) Cache Expiration Time: $perlvar{'lonExpire'} (seconds)
+11) Cache Expiration Time: $perlvar{'lonExpire'}
 12) Server Load: $perlvar{'lonLoadLim'}
 13) User Load: $perlvar{'lonUserLoadLim'}
-14) LON-CAPA "internal" connections: $securestatus
-15) Private Key for SSL: $lonkeystatus
-16) SSL Certificate for LON-CAPA server connections: $lonhostcertstatus
-17) SSL Certificate for Content Replication: $lonhostnamecertstatus
-18) Everything is correct up above
+14) Allow only secure connections: $securestatus 
+15) Everything is correct up above
 END
 
 my @error;
 foreach my $v ($perlvar{'lonDefDomain'},$perlvar{'lonHostID'}) {
-   if (length($v)>35) { push(@error,"Name $v too long"); }		
-   if (length($v)<2) { push(@error,"Name $v too short"); }
+   if (length($v)>35) { push(@error,"Name $v too long"); }		
+   if (length($v)<2) { push(@error,"Name $v too short"); }
    if ($v=~/capa/i) {
 	if ($v!~/^oucapa\d+$/ && 
 	    ($v!~/^capa\d+$/ && $perlvar{'lonDefDomain'} eq 'uwsp')) {
@@ -1685,14 +887,14 @@
 }
 
 if (!defined($primaryLibServer)) {
-   if (@libservers > 0) {
+   if (@libservers > 0) {
        push(@error,"No primary library server ID designated. Choose from: ".join(',',sort(@libservers)));
    } else {
        push(@error,"No library servers in this domain (including current server)");
    }
 } else {
-   if (length($primaryLibServer)>35) { push(@error,"Primary Library Server ID:  $primaryLibServer too long"); }
-   if (length($primaryLibServer)<2) { push(@error,"Primary Library Server ID:  $primaryLibServer too short"); }
+   if (length($primaryLibServer)>35) { push(@error,"Primary Library Server ID:  $primaryLibServer too long"); }
+   if (length($primaryLibServer)<2) { push(@error,"Primary Library Server ID:  $primaryLibServer too short"); }
    if ($primaryLibServer =~/capa/i) {
         if ($primaryLibServer!~/^oucapa\d+$/ &&
             ($primaryLibServer!~/^capa\d+$/ && $perlvar{'lonDefDomain'} eq 'uwsp')) {
@@ -1707,17 +909,9 @@
 }
 
 
-my ($certsdir,$privkey,$connectcsr,$replicatecsr);
-$certsdir = $perlvarstatic->{'lonCertificateDirectory'};
-$privkey = $perlvarstatic->{'lonnetPrivateKey'};
-$connectcsr = $perlvarstatic->{'lonnetCertificate'};
-$connectcsr =~ s/\.pem$/.csr/;
-$replicatecsr = $perlvarstatic->{'lonnetHostnameCertificate'};
-$replicatecsr =~ s/\.pem$/.csr/;
-
 if (@error) { print "\n*** ERRORS: \n\t".join("\n\t", at error)."\n"; }
   print(<<END);
-ENTER A CHOICE OF 1-17 TO CHANGE, otherwise ENTER 18:
+ENTER A CHOICE OF 1-14 TO CHANGE, otherwise ENTER 15:
 END
 my $choice=<>;
 chomp($choice);
@@ -1770,38 +964,22 @@
     $primaryLibServer=$choice2;
   }
   elsif ($choice==5) {
-    if ($setbygui{'lonAdmEMail'}) {
-      print(<<END);
-5) Server Administrator's E-mail Address: $adminmail
-Use the web GUI (as domain coordinator) to make changes after completing the UPDATE.
-END
-    } else {
-      print(<<END);
+  print(<<END);
 5) Server Administrator's E-mail Address: $perlvar{'lonAdmEMail'}
 ENTER NEW VALUE:
 END
-      my $choice2=<>;
-      chomp($choice2);
-      $perlvar{'lonAdmEMail'}=$choice2;
-      $adminmail=$perlvar{'lonAdmEMail'};
-    }
+    my $choice2=<>;
+    chomp($choice2);
+    $perlvar{'lonAdmEMail'}=$choice2;
   }
   elsif ($choice==6) {
-    if ($setbygui{'lonSupportEMail'}) {
-      print(<<END);
-6) Support E-mail Address: $supportmail
-Use the web GUI (as domain coordinator) to make changes after completing the UPDATE.
-END
-    } else {    
-      print(<<END);
+  print(<<END);
 6) Support E-mail Address: $perlvar{'lonSupportEMail'}
 ENTER NEW VALUE:
 END
-      my $choice2=<>;
-      chomp($choice2);
-      $perlvar{'lonSupportEMail'}=$choice2;
-      $supportmail=$perlvar{'lonSupportEMail'};
-    }
+    my $choice2=<>;
+    chomp($choice2);
+    $perlvar{'lonSupportEMail'}=$choice2;
   }
   elsif ($choice==7) {
   print(<<END);
@@ -1873,13 +1051,7 @@
     $perlvar{'lonUserLoadLim'}=$choice2;
   }
   elsif ($choice==14) {
-    if ($setbygui{'securestatus'}) {
-      print(<<END);
-14) Allow only secure connections: $securestatus
-Use the web GUI (as domain coordinator) to make changes after completing the UPDATE.
-END
-    } else {
-      print(<<END);
+  print(<<END);
 14) Allow only secure connections: $securestatus 
 The Lon-CAPA communication daemons lonc and lond can be configured to
 allow only secure connections by default.
@@ -1894,217 +1066,23 @@
 4) allow insecure connections
 ENTER NEW VALUE (currently $securenum):
 END
-      my $choice2=<>;
-      chomp($choice2);
-      if      ($choice2 eq '1') {
-	  $perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=0;
-      } elsif ($choice2 eq '2') {
-	  $perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=1;
-      } elsif ($choice2 eq '3') {
-	  $perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=0;
-      } elsif ($choice2 eq '4') {
-	  $perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=1;
-      }
-      ($securestatus,$securenum)=&securesetting(%perlvar);
+    my $choice2=<>;
+    chomp($choice2);
+    if      ($choice2 eq '1') {
+	$perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=0;
+    } elsif ($choice2 eq '2') {
+	$perlvar{'loncAllowInsecure'}=0;$perlvar{'londAllowInsecure'}=1;
+    } elsif ($choice2 eq '3') {
+	$perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=0;
+    } elsif ($choice2 eq '4') {
+	$perlvar{'loncAllowInsecure'}=1;$perlvar{'londAllowInsecure'}=1;
     }
-  } elsif ($choice==15) {
-      if ($sslstatus{'key'} == 1) {
-          print(<<END);
-15) Private Key for SSL: $lonkeystatus
-
-POSSIBLE CHOICES:
-1) overwrite existing key
-2) make no change
-ENTER NEW VALUE
-END
-          my $choice2=<>;
-          chomp($choice2);
-          if ($choice2 eq '1') {
-              my $sslkeypass = &get_new_sslkeypass();
-              &make_key($certsdir,$privkey,$sslkeypass);
-          }
-      } elsif ($sslstatus{'key'} == 0) {
-          print(<<END);
-15) Private Key for SSL: $lonkeystatus
-END
-          my $sslkeypass = &get_new_sslkeypass();
-          &make_key($certsdir,$privkey,$sslkeypass);
-          print "\nRetrieving status information for SSL key and certificates ...\n\n";
-          ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) =
-             &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-          if (ref($sslref) eq 'HASH') {
-              %sslstatus = %{$sslref};
-          }
-      }
-  } elsif ($choice==16) {
-      if (($sslstatus{'host'} == 1) || ($sslstatus{'host'} == 2) || ($sslstatus{'host'} == 3)) {
-          print(<<END);
-16) SSL Certificate for LON-CAPA server connections: $lonhostcertstatus
-
-POSSIBLE CHOICES:
-1) create new certificate signing request with new key
-2) create new certificate signing request with existing key
-3) resend current certificate signing request
-4) make no change
-ENTER NEW VALUE
-END
-
-          my $choice2=<>;
-          chomp($choice2);
-          if (($choice2 eq '1') || ($choice2 eq '2')) {
-              &ssl_info();
-              my $country = &get_country($desiredhostname);
-              my $state = &get_state();
-              my $city = &get_city();
-              my $connectsubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=$perlvar{'lonHostID'}/OU=LONCAPA/emailAddress=$adminmail";
-              ($domainDescription,$country,$state,$city) = &confirm_locality($domainDescription,$country,$state,$city);
-              my $sslkeypass;
-              if ($choice2 eq '1') {
-                  $sslkeypass = &get_new_sslkeypass();
-                  &make_key($certsdir,$privkey,$sslkeypass);
-              } elsif ($choice2 eq '2') {
-                  $sslkeypass = &get_password('Enter existing password for SSL key');
-                  &encrypt_key($certsdir,$privkey,$sslkeypass);
-              }
-              &make_host_csr($certsdir,$sslkeypass,$connectcsr,$connectsubj);
-              &mail_csr('host',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-              print "\nRetrieving status information for SSL key and certificates ...\n\n";
-              ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) =
-                  &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-              if (ref($sslref) eq 'HASH') {
-                  %sslstatus = %{$sslref};
-              }
-          } elsif ($choice2 eq '3') {
-              if (-e "$certsdir/$connectcsr") {
-                  &mail_csr('host',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-              }
-          }
-      } elsif (($sslstatus{'host'} == 0) || ($sslstatus{'host'} == 4) || ($sslstatus{'host'} == 5)) {
-          my $sslkeypass;
-          if ($sslstatus{'key'} == 1) {
-              print(<<END);
-16) SSL Certificate for LON-CAPA server connections: $lonhostcertstatus
-
-POSSIBLE CHOICES:
-1) create new certificate signing request with new key
-2) create new certificate signing request with existing key
-3) make no change
-ENTER NEW VALUE
-END
-              my $choice2=<>;
-              chomp($choice2);
-              if ($choice2 eq '1') {
-                  $sslkeypass = &get_new_sslkeypass();
-                  &make_key($certsdir,$privkey,$sslkeypass);
-              } elsif ($choice2 eq '2') {
-                  $sslkeypass = &get_password('Enter existing password for SSL key');
-                  &encrypt_key($certsdir,$privkey,$sslkeypass);
-              }
-          } else {
-              print(<<END);
-16) SSL Certificate for LON-CAPA server connections: $lonhostcertstatus
-END
-              $sslkeypass = &get_new_sslkeypass();
-          }
-          &ssl_info();
-          my $country = &get_country($desiredhostname);
-          my $state = &get_state();
-          my $city = &get_city();
-          my $connectsubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=$perlvar{'lonHostID'}/OU=LONCAPA/emailAddress=$adminmail";
-          &make_host_csr($certsdir,$sslkeypass,$connectcsr,$connectsubj);
-          &mail_csr('host',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-          print "\nRetrieving status information for SSL key and certificates ...\n\n";
-          ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) =
-              &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-          if (ref($sslref) eq 'HASH') {
-              %sslstatus = %{$sslref};
-          }
-      }
-  } elsif ($choice==17) {
-      if (($sslstatus{'hostname'} == 1) || ($sslstatus{'hostname'} == 2) || ($sslstatus{'hostname'} == 3)) {
-          print(<<END);
-17) SSL Certificate for Content Replication: $lonhostnamecertstatus
-
-POSSIBLE CHOICES:
-1) create new certificate signing request with new key
-2) create new certificate signing request with existing key
-3) resend current certificate signing request
-4) make no change
-ENTER NEW VALUE
-END
-          my $choice2=<>;
-          chomp($choice2);
-          if (($choice2 eq '1') || ($choice2 eq '2')) {
-              &ssl_info();
-              my $country = &get_country($desiredhostname);
-              my $state = &get_state();
-              my $city = &get_city();
-              my $replicatesubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=internal-$desiredhostname/OU=LONCAPA/emailAddress=$adminmail";
-              my $sslkeypass;
-              if ($choice2 eq '1') {
-                  $sslkeypass = &get_new_sslkeypass();
-                  &make_key($certsdir,$privkey,$sslkeypass);
-              } elsif ($choice2 eq '2') {
-                  $sslkeypass = &get_password('Enter existing password for SSL key');
-                  &encrypt_key($certsdir,$privkey,$sslkeypass);
-              }
-              &make_hostname_csr($certsdir,$sslkeypass,$replicatecsr,$replicatesubj);
-              &mail_csr('hostname',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-              print "\nRetrieving status information for SSL key and certificates ...\n\n";
-              ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) =
-                  &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-              if (ref($sslref) eq 'HASH') {
-                  %sslstatus = %{$sslref};
-              }
-          } elsif ($choice2 eq '3') {
-              if (-e "$certsdir/$replicatecsr") {
-                  &mail_csr('hostname',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-              }
-          }
-      } elsif (($sslstatus{'hostname'} == 0) || ($sslstatus{'hostname'} == 4) || ($sslstatus{'hostname'} == 5)) {
-          my $sslkeypass;
-          if ($sslstatus{'key'} == 1) {
-              print(<<END);
-17) SSL Certificate for Content Replication: $lonhostnamecertstatus
-
-POSSIBLE CHOICES:
-1) create new certificate signing request with new key
-2) create new certificate signing request with existing key
-3) make no change
-ENTER NEW VALUE
-END
-              my $choice2=<>;
-              chomp($choice2);
-              if ($choice2 eq '1') {
-                  $sslkeypass = &get_new_sslkeypass();
-                  &make_key($certsdir,$privkey,$sslkeypass);
-              } elsif ($choice2 eq '2') {
-                  $sslkeypass = &get_password('Enter existing password for SSL key');
-                  &encrypt_key($certsdir,$privkey,$sslkeypass);
-              }
-          } else {
-              print(<<END);
-17) SSL Certificate for Content Replication: $lonhostnamecertstatus
-END
-              $sslkeypass = &get_new_sslkeypass();
-          }
-          &ssl_info();
-          my $country = &get_country($desiredhostname);
-          my $state = &get_state();
-          my $city = &get_city();
-          my $replicatesubj = "/C=$country/ST=$state/O=$domainDescription/L=$city/CN=internal-$desiredhostname/OU=LONCAPA/emailAddress=$adminmail";
-          &make_hostname_csr($certsdir,$sslkeypass,$replicatecsr,$replicatesubj);
-          &mail_csr('hostname',$lonCluster,$perlvar{'lonHostID'},$desiredhostname,$certsdir,$connectcsr,$replicatecsr,$perlvarstatic);
-          print "\nRetrieving status information for SSL key and certificates ...\n\n";
-          ($certinfo,$lonkeystatus,$lonhostcertstatus,$lonhostnamecertstatus,$sslref) =
-              &get_cert_status($perlvar{'lonHostID'},$desiredhostname,$perlvarstatic);
-          if (ref($sslref) eq 'HASH') {
-              %sslstatus = %{$sslref};
-          }
-      }
-  } elsif (($choice==18) && (!@error)) {
+    ($securestatus,$securenum)=&securesetting(%perlvar);
+  }
+  elsif (($choice==15) && (!@error)) {
     $flag=1;
-  } else {
+  }
+  else {
     print "Invalid input.\n";
   }
 }
@@ -2117,7 +1095,7 @@
       if ($value eq '') {
           $line = '#'.$line;
       }
-      print(OUT <<END) unless ($perlvarstatic->{$key});
+      print(OUT <<END) unless $perlvarstatic{$key};
 $line
 END
     }
Index: doc/loncapafiles/verify_domconfiguser.piml
diff -u doc/loncapafiles/verify_domconfiguser.piml:1.32 doc/loncapafiles/verify_domconfiguser.piml:1.33
--- doc/loncapafiles/verify_domconfiguser.piml:1.32	Fri Jun 28 15:27:56 2024
+++ doc/loncapafiles/verify_domconfiguser.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- verify_domconfiguser.piml -->
 <!-- Stuart Raeburn -->
 
-<!-- $Id: verify_domconfiguser.piml,v 1.32 2024/06/28 15:27:56 raeburn Exp $ -->
+<!-- $Id: verify_domconfiguser.piml,v 1.33 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -40,7 +40,7 @@
 my @conffiles = ('loncapa.conf','loncapa_apache.conf');
 my %perlvar;
 my $confdir = '/etc/httpd/conf/';
-if ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'sles15' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1'  || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2' || '<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24') {
+if ('<DIST />' eq 'sles10' || '<DIST />' eq 'sles11' || '<DIST />' eq 'sles12' || '<DIST />' eq 'sles15' || '<DIST />' eq 'suse10.1' || '<DIST />' eq 'suse10.2' || '<DIST />' eq 'suse10.3' || '<DIST />' eq 'suse11.1'  || '<DIST />' eq 'suse11.2' || '<DIST />' eq 'suse11.3' || '<DIST />' eq 'suse11.4' || '<DIST />' eq 'suse12.1' || '<DIST />' eq 'suse12.2' || '<DIST />' eq 'suse12.3' || '<DIST />' eq 'suse13.1' || '<DIST />' eq 'suse13.2' || '<DIST />' eq 'debian5' || '<DIST />' eq 'debian6' || '<DIST />' eq 'debian10' || '<DIST />' eq 'debian11' || '<DIST />' eq 'debian12' || '<DIST />' eq 'debian13' || '<DIST />' eq 'ubuntu6' || '<DIST />' eq 'ubuntu8' || '<DIST />' eq 'ubuntu10' || '<DIST />' eq 'ubuntu12' || '<DIST />' eq 'ubuntu14' || '<DIST />' eq 'ubuntu16' || '<DIST />' eq 'ubuntu18' || '<DIST />' eq 'ubuntu20' || '<DIST />' eq 'ubuntu22' || '<DIST />' eq 'ubuntu24') {
      $confdir = '/etc/apache2/';
 }
 foreach my $filename (@conffiles) {
Index: doc/loncapafiles/webserver.piml
diff -u doc/loncapafiles/webserver.piml:1.62 doc/loncapafiles/webserver.piml:1.63
--- doc/loncapafiles/webserver.piml:1.62	Mon Aug  5 15:45:16 2024
+++ doc/loncapafiles/webserver.piml	Fri Oct 31 00:48:24 2025
@@ -2,7 +2,7 @@
 	"http://lpml.sourceforge.net/DTD/piml.dtd">
 <!-- webserver.piml -->
 
-<!-- $Id: webserver.piml,v 1.62 2024/08/05 15:45:16 raeburn Exp $ -->
+<!-- $Id: webserver.piml,v 1.63 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -48,7 +48,7 @@
 <target dist='suse9.2 suse9.3 sles9'>/etc/httpd/httpd.conf</target>
 <target dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>/etc/apache2/default-server.conf</target>
 <target dist='debian5 debian6 ubuntu6 ubuntu8 ubuntu10 ubuntu12'>/etc/apache2/sites-available/loncapa</target>
-<target dist='debian10 debian11 debian12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/conf-available/loncapa.conf</target>
+<target dist='debian10 debian11 debian12 debian13 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>/etc/apache2/conf-available/loncapa.conf</target>
 <note>This is for Apache 1.X for Red Hat 4ES, Fedora 2, 3 and 4, SusSE 9.2 and 9.3, and SLES 9 distributions. This is for Apache 2.X for Fedora 5, Red Hat 5, CentOS 5, Scientific Linux 5, Oracle Linux 5, SuSE 10.1, SLES 10, Debian 5, Ubuntu LTS 8 and later distributions</note>
 <dependencies dist='default'>
 /etc/httpd/conf/httpd.conf
@@ -59,7 +59,7 @@
 <dependencies dist='debian5 debian6 ubuntu6 ubuntu8 ubuntu10 ubuntu12'>
 /etc/apache2/sites-available/loncapa
 </dependencies>
-<dependencies dist='debian10 debian11 debian12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>
+<dependencies dist='debian10 debian11 debian12 debian13 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24'>
 /etc/apache2/conf-available/loncapa.conf
 </dependencies>
 <dependencies dist='sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2'>
@@ -149,7 +149,7 @@
       $absolute_link = 1;
     }
   }
-  if ($absolute_link) {
+  if ($absolute_link) { 
     # For SuSE and SLES /etc/apache2/default-server.conf needs to include:
     # Include /etc/apache2/loncapa_apache.conf
     # instead of:
Index: doc/loncapafiles/wrap_setuid.piml
diff -u doc/loncapafiles/wrap_setuid.piml:1.58 doc/loncapafiles/wrap_setuid.piml:1.59
--- doc/loncapafiles/wrap_setuid.piml:1.58	Fri Nov 15 16:25:30 2024
+++ doc/loncapafiles/wrap_setuid.piml	Fri Oct 31 00:48:24 2025
@@ -3,7 +3,7 @@
 <!-- wrap_setuid.piml -->
 <!-- Guy Albertelli -->
 
-<!-- $Id: wrap_setuid.piml,v 1.58 2024/11/15 16:25:30 raeburn Exp $ -->
+<!-- $Id: wrap_setuid.piml,v 1.59 2025/10/31 00:48:24 raeburn Exp $ -->
 
 <!--
 
@@ -37,7 +37,7 @@
 <perlscript mode="fg" dist="default">
 #print("Not wrapping setuid scripts\n");
 </perlscript>
-<perlscript mode="fg" dist="suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 debian10 debian11 debian12 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes7 centos7 scientific7 oracle7 rhes8 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9">
+<perlscript mode="fg" dist="suse9.2 suse9.3 sles9 sles10 sles11 sles12 sles15 suse10.1 suse10.2 suse10.3 suse11.1 suse11.2 suse11.3 suse11.4 suse12.1 suse12.2 suse12.3 suse13.1 suse13.2 fedora14 fedora15 fedora16 fedora17 fedora18 fedora19 fedora20 fedora21 fedora22 fedora23 fedora24 fedora25 fedora26 fedora27 fedora28 fedora29 fedora30 fedora31 fedora32 fedora33 fedora34 fedora35 fedora36 fedora37 fedora38 fedora39 fedora40 fedora41 fedora42 fedora43 debian10 debian11 debian12 debian13 ubuntu12 ubuntu14 ubuntu16 ubuntu18 ubuntu20 ubuntu22 ubuntu24 rhes7 centos7 scientific7 oracle7 rhes8 centos8 oracle8 rocky8 alma8 centos8-stream centos9-stream rhes9 oracle9 rocky9 alma9 centos10-stream rhes10 oracle10 rocky10 alma10">
 
 $fslist='<TARGET />';
 open(FIND,  "find <TARGET /> -xdev -type f \\( -perm -04000 -o -perm -02000 \\) -print|");


More information about the LON-CAPA-cvs mailing list