RELEASE NOTES FOR ANETD 1.6.9 ============================= Anetd 1.6.9 is primarily a bug-fix release. All users of Anetd 1.6.8 (client and server) or earlier should upgrade to version 1.6.9. In addition to bug fixes, Anetd 1.6.9 includes a new command, RELOAD, for stopping and restarting (in one step) a running EE. Currently, the RELOAD command works only for active EE processes (those recorded by Anetd as running); it cannot be used to restart a permanent EE that has terminated. See the Anetd User Guide for more information. Anetd 1.6.9 also includes some minor source code modifications to enable compilation on Red Hat Linux 7.1. RELEASE NOTES FOR ANETD 1.6.8 ============================= Anetd 1.6.8 is primarily a bug-fix release. All users of Anetd 1.6.7 (client and server) or earlier should upgrade to version 1.6.8. In addition to bug fixes, Anetd 1.6.8 includes several modifications to improve stability on the AMP node OS. Also included is a new Java-related configuration key, jlc, used to specify the top-level Java class invoked by Anetd when initiating a Java EE under the specified of the JVM. There have also been some minor modifications relating to standalone (non-ABone) use of Anetd. In particular, invoking the daemon with the switch "-s" forces Anetd to run standalone, which alters the default values of certain configuration keys and also disables the downloading of ACL/TCL files from ABOCC servers. These modifications should not be of concern to ABone node administrators. Please see the Anetd User Guide for more information. RELEASE NOTES FOR ANETD 1.6.7 ============================= Anetd 1.6.7 is primarily a bug-fix release along with several enhancements designed to ease certain aspects of remote administration of ABone nodes. All users of Anetd 1.6.6 (client and server) or earlier should upgrade to version 1.6.7. Aside from bug fixes, the most significant changes in Anetd 1.6.7 are as follows: - By default, the local date/time is included in all messages logged to standerr error. - The command "QUERY thread" has been added to provide detailed information on current threads (EEs) managed by Anetd and owned by the querying principal. Optional command arguments can be used to select specific threads by their description field (as set by the 'C=' option to the LOAD command) and to select specific items of information. Please refer to the Anetd User Guide for details. - For authorized ABone administrators (ABOCC personnel), the KILL command may be used to send (Unix) signals to the Anetd process itself. The RAISE command has been added as a convenient shorthand for sending signals to Anetd. In addition, the commands "RECONF" and "REAUTH" have been added as synonyms for "RAISE -HUP" and "RAISE -USR1", respectively. Please refer to the Anetd User Guide for more information. - A built-in self-restart capbility has been added to Anetd. For authorized ABone administrators, the RESTART command may be used to cause a full shutdown and restart of Anetd. Please refer to the Anetd User Guide for more information. RELEASE NOTES FOR ANETD 1.6.6 ============================= All users of Anetd 1.6.5 (client and server) or earlier should upgrade to version 1.6.6. The most significant changes in Anetd 1.6.6 concern Anetd startup, multiple interface support, and EE management. - By default, Anetd now runs as a daemon (executes in the background with no associated terminal) and redirects its standard output and standard error to the files ~/anetd..out and ~/anetd..err, respectively, or as specified by the "-o " and "-e " command line options. Anetd reverts to its former behavior (useful for debugging) when started with the "-n" switch. See the Anetd User Guide for additional information. - The primary Anetd process is now designated explicitly via the configuration key "primary_role" (default: anpub). In previous versions, the chronologically first Anetd process started became the primary. The primary Anetd process should still be started before any secondary processes. - Multiple instances of the "-i " option are now permitted. Equivalently, the configuration key "ip_addr" can take a list of values. Anetd will bind only the specified address(es). By default, Anetd binds 0.0.0.0 (INADDR_ANY) as before. This capability is intended to support the use of multiple simultaneous ABone node configurations ("virtual ABone nodes") on the same host. Most node administrators need not be concerned about this use of Anetd. When Anetd is used in this way, care must be taken to ensure that each configuration (set of Anetd processes) uses a separate file space. The "-c" and "-d" options are useful for this purpose. Also, each Anetd process in a given configuration should specify exactly the same list of addresses. - The command line option "-d " can be used to specify the root of the Anetd directory tree. This option overrides the value specified by the configuration key "anetd_dir". The default value remains "~/anetd". - The command line option "-l " can be used to specify the location of the Anetd command log file. This option overrides the value specified by the configuration key "log_file". The default value remains "~/anetd/var/anetd.log.". - The KILL command now accepts an optional argument specifying a Unix signal to be sent to the EE. The syntax of the KILL command is "KILL [-] ", e.g., "KILL -TERM 1234". If the optional signal argument is omitted, Anetd attempts to terminate the EE by sending it, in order, SIGINT, SIGTERM, SIGKILL, until either the EE terminates or each signal has been sent. NOTE: the enhanced KILL command requires version 1.6.6 or higher of the Anetd client (sc) and can be issued only to nodes running version 1.6.6 or higher of the Anetd server (ad). - Each EE instance started by Anetd (via the LOAD command) now has an associated "autokill" property. When autokill is set (the default), Anetd will attempt to terminate the EE automatically (by sending it the signals SIGINT, SIGTERM, and SIGKILL, as necessary) when the Anetd process terminates. In previous versions, Anetd automatically sent SIGINT to each EE upon Anetd termination. The autokill flag can be turned off at LOAD time via the privileged LOAD command option "K=0". See the Anetd User Guide for details. - The QUERY command has two additional subcommands: QUERY pid, which returns the PID of the Anetd process, and QUERY conf, which returns the values of configuration keys. In addition, the EE status information returned for the QUERY command now includes the EE working directory. See the Anetd User Guide for more information. - [Experimental] The "-a" command-line option has been modified to take an argument specifying an ABone account. The Anetd process will act in the specified ABone role. The companion "-m" option specfies the OS account of the Anetd process that acts in the "abocc" role. These options are intended to help support advanced, multiple-node-per-host Anetd configurations. These options should *not* be used on existing ABone nodes without first consulting with ABOCC. Node administrators should continue to configure their nodes according to ABOCC instructions. As part of the experimental -a and -m modifications, Anetd now exports the additional variables AD_USER, AD_ABONE_ROLE, and AD_ABOCC_USER to the environment of EEs that it invokes. These variables represent, respectively, the OS account under which Anetd (and the EE) are running, the ABone account/role in which the Anetd process is acting, and the OS account of the Anetd process acting in the abocc role. RELEASE NOTES FOR ANETD 1.6.5 ============================= Anetd 1.6.5 is a minor update of Anetd 1.6.4. All users of Anetd 1.6.4 (client and server) or earlier should upgrade to version 1.6.5. Anetd 1.6.5 changes the handling of three environment variables set by Anetd when starting an EE: - DISPLAY: previously, Anetd would override any value for DISPLAY specified (via the E option) in a LOAD command. Now, Anetd sets a default value for DISPLAY only if no value was specified in the LOAD command. See the documentation for the LOAD command in the Anetd User Guide for further details. - CLASSPATH and LD_LIBRARY_PATH: these now include the EE working directory. See the documentation for the LOAD command in the Anetd User Guide for further details. RELEASE NOTES FOR ANETD 1.6.4 ============================= Anetd 1.6.4 is mostly a bug-fix release. All users of Anetd 1.6.3 (client and server) or earlier should upgrade to 1.6.4. In addition to bug fixes and cleanups, Anetd 1.6.4 includes the following enhancements and modifications: o Added support for JDK 1.3.x (Java 2) and Kaffe o Changed the default behavior of Anetd on the ABone when the downloading of master ACL/TCL files fails, so that Anetd continues to run with the existing local copies of the master ACL/TCL files. In other words, Anetd 1.6.4 by default operates as if "-k" had been specified on the command line. This behavior is now controlled by the configuration key "halt_on_xcl_fail" (default value: no). See the Anetd User Guide for details. UPGRADING FROM ANETD 1.5 OR EARLIER: ------------------------------------ The directory structure of Anetd was reorganized in version 1.6 (see the attached Anetd 1.6 release notes for details). As a result, upgrading to Anetd 1.6.x from Anetd 1.5 or earlier must be done with care. ABone core nodes will be upgraded automatically by ABOCC. RELEASE NOTES FOR ANETD 1.6 =========================== New features/functionality -------------------------- 1. Configuration Anetd is now largely configurable at runtime via configuration files. A sample configuration file that documents the configuration file format and most configuration items of interest is included with the distribution (anetd.conf.sample in the configuration directory). A complete list of configuration items (keys) appears in the Anetd User Guide. Anetd currently supports the use of two configuration files: anetd.conf (master) and anetd.conf.local (local). The master configuration file, if present, is read first, followed by the local. The use of two configuration files is intended primarily for the ABone, where the ABOCC controls the master configuration file, while node administrators can make customizations in the local configuration file. The default location for the master configuration file depends on whether Anetd is running under one of the standard ABone accounts (anpub, abocc, anee[1-5]). If so, it looks for its master configuration file in ~abocc/anetd/etc//anetd.conf, where is the login name of the account. Otherwise, Anetd looks for its master configuration file in ~/anetd/etc/anetd.conf. The location of the master configuration file can be set via the command line option "-c ". The default location for the local configuration file (in all cases) is ~/anetd/etc/anetd.conf.local, which can be set in the *master* configuration file via the key "local_conf_file". 2. Multiple JVM support Anetd can be configured to provide access to any number of locally installed Java virtual machines. JVMs are configured via keys of the form "jdk", where is an arbitrary string that should specify the complete version number of the installed JDK/JVM. For example, adding to the configuration file the lines jdk1.1.8_v1 /path/to/jdk1.1.8_v1 jdk1.2.2 /path/to/jdk1.2.2 would make versions 1.1.8_v1 and 1.2.2 of Java available for use by EEs, assuming the JVMs are properly installed. Anetd attempts to verify upon startup the installation of each configured JDK/JVM (by checking that bin/java is present) and will permit use only of those that are verified. Two additional keys of the form java and javag specify the invocation strings for Java and Java with debugging support, respectively. The value of each key should be a list of strings, the first string specifying the location of the Java binary, and the remaining strings specifying additional arguments with Java should be invoked, for example: java1.2.2 "$(jdk1.2.2)/bin/java" javag1.2.2 "$(jdk1.2.2)/bin/java", "-Xdebug", "-Djava.compiler=NONE", "-Xbootclasspath:$(jdk1.2.2)/jre/lib/rt.jar:$(jdk1.2.2)/lib/tools.jar", "-Xrunjdwp:transport=dt_socket,server=y,suspend=n", "-Xnoagent" Appropriate settings for other JDK versions can be found in the file anetd/etc/anetd.conf.sample in the Anetd distribution. The location of a Java security policy file can be specified via keys of the form "jsp", where should match the version number of the JDK/JVM with which the security policy file is to be used. For example, the configuration entry jsp1.2.2 ~abocc/anetd/etc/java_policy would cause Anetd to tell JVM version 1.2.2, when invoked, to use the security policy file "java_policy" located in abocc's Anetd configuration directory. The same policy file can be used with multiple JVM versions by specifying "jsp" with an appropriate prefix of the version number. For example, the key "jsp1.2" could be used to specify that the same policy file applies to all JVM 1.2 releases. In general, the most specific "jsp" key matching a JDK version number is the one that applies. Authorized users of a node can issue the command "QUERY java" to determine which JVMs are configured on the node. EE developers can use the LOAD command option "V=jdk" to specify the use of a particular version of the JVM (see section "Usage changes"). 3. Automatic redundant server support Anetd now has the ability to attempt file retrieval from multiple locations, depending on its configuration, so that the unavailability of one server will not necessarily prevent Anetd from retrieving its ACL/TCL files or files requested in a LOAD command. The use of multiple redundant servers is transparent to both ABone node administrators (running Anetd) and users (issuing LOAD commands), although users can control the process to a limited extent via a LOAD command option (see section "Usage changes"). The configuration of redundant servers is primarily the responsibility of the ABOCC. The configuration of redundant ACL/TCL servers is done in the Anetd configuration file, while the configuration of redundant code servers is done in the TCL (see section "Usage changes"). Client (sc) / Server (Anetd) Compatibility ------------------------------------------ Anetd 1.6 is not compatible with sendcommand (sc) versions prior to 1.6 and will respond to such older versions of sc with an error message. Sendcommand version 1.6 is compatible with earlier versions of Anetd, so all users of sc should upgrade to the latest version. Usage changes ------------- 1. sendcommand (sc): LOAD and QUERY commands The LOAD command now has two additional options: "V=jdk" and "N=". The "V" option applies only to type "J" (Java) LOAD commands and specifies the JVM version to use. When the "V" option is not specified, the first configured JVM is used. If the JVM version is only partially specified (e.g., "V=jdk1.1"), the JVM used is the first configured JVM for which a prefix of its version matches the version specified by the "V" option is used. For example, if Anetd is configured with the two JVMs jdk1.1.6 jdk1.1.8 in that order, the option "V=jdk1.1" would select jdk1.1.6. The "N=" option applies to type "X", "J", and "F" LOAD commands and limits (to ) the maximum number of attempts Anetd will make to download files from redundant code servers. If "N=1" is specified, the effect is to force Anetd to attempt to download only from the URL(s) specified on the command line. The default (N=0) is no limit. The QUERY command now accepts the argument "java", which reports the configured JVM versions on the queried node, the argument "forward", which reports the secondary Anetds, the argument "demux", which reports the EEs that have requested demultiplex, and the argument "date", which reports the date/time on the queried node. The QUERY command with no arguments has been enhanced to report the uptime of Anetd and of all the EEs and to report only the EEs that are alive (previously Anetd didn't correctly track whether or not EEs were alive). 2. TCL format The syntax of TCL files has been modified to allow finer control over sources of downloadable code and other files. Each entry in a new-format TCL file is of the form entry { servers { . . . } } where the list of URLs is interpreted as a set of code server mirrors. Each must be of the form. http://[:]/ or file://[localhost]/ where specifies either (1) a single file, or (2) a directory that is the root of a tree from which it is permissible to retrieve any accessible file. As before, the master ACL and TCL files are maintained by the ABOCC. Node administrators may make additions in their local ACL and TCL files. Both master and local ACL/TCL files are stored in the Anetd configuration directory (~/anetd/etc). 3. "file:///" URLs In previous versions of Anetd, file URLs (for using files resident on the target of a LOAD command) were implicitly allowed from restricted areas. Starting with Anetd 1.6, file URLs must be explicitly authorized by the TCL, according to the syntax described above. Node administrators should be aware that adding local file URLs to the TCL for any ABone account makes any code and files within the scope of those URLs available to all ABone users authorized for that account. General changes --------------- 1. Directory structure The default directory structure of an Anetd 1.6 installation is anetd/ (main Anetd directory) bin/ (Anetd binaries and Java classes) etc/ (Anetd configuration directory) anpub/ (ABOCC-maintained configuration for anpub account) abocc/ (ABOCC-maintained configuration for abocc account) anee1/ (ABOCC-maintained configuration for anee1 account) anee2/ (ABOCC-maintained configuration for anee2 account) anee3/ (ABOCC-maintained configuration for anee3 account) anee4/ (ABOCC-maintained configuration for anee4 account) anee5/ (ABOCC-maintained configuration for anee5 account) var/ (Anetd runtime directory) For ABone nodes, the complete structure will normally exist only for the abocc account, while other accounts will contain only the anetd/etc/ directory (with no subdirectories) for ACL, TCL, and local configuration files, and the anetd/var/ directory, which will be created automatically by Anetd as required. NOTE: the Anetd server daemon (ad) no longer uses ~/.anetd/ as its configuration directory. However, client programs (sc, makekey, testkey) continue to use .anetd/ (in the principal's home directory) as the location for RSA key files. 2. Startup When starting Anetd, it is no longer necessary to set the working directory (cd) to the directory containing the ad binary. We recommend setting the working directory to the home directory of the account under which Anetd is run before starting Anetd. NOTE: system startup scripts that start Anetd automatically should be modified after upgrading to Anetd 1.6. Existing startup scripts should continue to function on nodes that are upgraded by ABOCC. Nevertheless, node administrators should either download new recommended rc script modifications from the ABone Web site or modify their existing startup scripts as follows: Lines of the form (cd /home//anetd/ad; su -c "./ad." &) should be changed to (su - -c "/home/abocc/anetd/bin/ad." &) modified as appropriate for your local setup.