Athena 7.7 Release (AC-07.7)


Overview

In August of 1994, Information Systems released the latest version of the Athena system, Release 7.7, and also introduced several other significant changes to Athena not directly related to the system release (e.g., locker-based changes).

Apart from general operating system improvements made on the Sun (many bugs have been fixed) and simple upgrades for various pieces of Athena software (e.g., MH, Emacs, Perl, AFS), the most visible changes for typical Athena users are likely to be the following:


About This Document

This document summarizes most of the user-visible changes made this summer:

Supported Architectures summarizes what workstation types now support Athena, and what general operating system changes were made as part of Release 7.7.

Security Enhancements notes slight changes to the logout process (e.g., all remotely-connected users on public workstations are now automatically disconnected when the user at the workstation logs out), and describes new telnet clients that support net-secure remote access.

Expanded Use of X11R5 Clients describes Athena's move toward using X11R5 clients exactly as they are provided by the X Consortium, rather than continuing to generate Athena-customized X11R4 versions or vendor-supplied X11R5 versions, for the suite of common X clients such as xmh, xcalc, and xterm.

TeX and LaTeX Changes describes the significant updates to LaTeX, notably the long-overdue update and reorganization of style files.

Andrew and EZ Changes describes changes to the Andrew User Interface System and its text processor EZ.

Other Release Software Changes surveys some basic Athena software that was simply updated or relocated as part of the new release (e.g., Emacs, the MH electronic mail programs, OLH, etc).

Locker Software Upgrades summarizes the changes to key locker-based applications on Athena (FrameMaker, Maple, SAS, Xess).


For More Information

If you are a software developer or someone else who would like to know the technical details of the changes made in Release 7.7, you can look at the 7.7 System Release Notes. (That document includes technical details of the information listed here, as well as many other changes not covered here.) You can view that document via OLH:

  athena%  help @rel77:system


Supported Architectures

The Athena Computing Environment is now supported on the following architectures:

DECstation Ultrix 4.2A
IBM RISC/6000 AIX 3.2.3
SUN Solaris 2.3

This marks a change from Release 7.6 in several ways:



Security Enhancements


Improved Security on Public Workstations

The network security of Athena workstations has been enhanced by two changes.

Cleanup on Logout Improved. On public workstations (i.e., machines that have the environment variable PUBLIC set to true, which includes all workstations in public clusters), the logout process in Release 7.7 involves a more thorough "cleanup" to assure better performance of the machine and prevent inappropriate remote access. Now when you logout, the workstation performs several actions:

These changes make Athena workstations less tolerant of inappropriate remote access than before. Note in particular that when you log out of a public workstation now (except a workstation specifically configured by Information Sytems to handle multiple users, such as a dialup server), all other users of that workstation are automatically disconnected from that machine along with you.

X Server Access Control List (ACL) Default Changed. A workstation's "X server" typically controls most of what happens on the screen of the workstation itself. Under some circumstances, the local X server can also be controlled by signals from other workstations remotely connected to the local workstation, if the names of those remote machines are included in a special permission list on the local workstation called the X Server "access control list" (ACL). You add a new name to the X Server ACL of your machine by using the xhost command. (Note that, on public workstations, using xhost allows the remote machine to connect to the local workstation's X server only for the length of your session, not permanently; see the section on Cleanup above.)

In previous Athena releases, the X Server ACL was initialized by default to contain two entries: the special term "localhost", and the name of the workstation itself. This was unnecessary, of course -- the workstation itself did not need network access to its own X server, and X Windows works fine on the local machine without the name of the machine being included in the X Server ACL. But including the name of the local machine provided a convenience for people who wanted to login more than once at the local workstation (and who made these additional connections as "remote logins"). Also, having the name of the local machine in the X Server ACL did not seem to cause any problem for regular users.

However, it has since been discovered that having the name of the current workstation in the X Server ACL actually opens up an obscure but high-risk security hole. Therefore, as of Release 7.7, the X Server ACL on Athena workstations is not initialized with the name of the local workstation; instead, it is left empty by default. Having the X server ACL empty by default helps prevent the unexpected and hostile exploitation of the security hole.

Now, to enable remote access to your workstation's X server from another machine, you still use the xhost command to add the name of that remote machine to the access control list (see man xhost). Note, however, that including the name of the local workstation in the X Server ACL re-introduces the security problem and should be avoided.

For example, in previous Athena releases, one way to create an additional full-screen login session on your local workstation was to use rlogin, and specify the name of the local machine at the DISPLAY prompt. Because the name of the local machine was already included in the X Server ACL, the second session was granted full permission to use the X server (e.g., you could create a new xterm, use programs that created new windows, etc.) Now, however, if you try this method, you will still be allowed to remotely login, but you will not be given access to the X server (i.e., you will not be allowed to create new windows, and you will end up in a "tty-style" session).

An "obvious" workaround might be to use xhost to add the name of the local machine to the X Server ACL before you try rlogin. However, this simply re-introduces the security risk. Instead, the appropriate solution is to not call xhost at all, and to enter the string ":0" (rather than "machine-name") at the rlogin DISPLAY prompt. This tells the new login session to use the local host's X Server, and the machine does not need to check the X Server ACL because it is no longer dealing with a "remote" connection. This method, it turns out, is also more efficient, because the X Server does not try to use the network to send instructions to itself!


Secure Remote Access: ktelnet and ktelnetd

The Kerberized remote-access programs ktelnet and ktelnetd have been made part of the standard release, replacing the "standard" (but non-authenticating) versions of these programs, telnet and telnetd. The new versions of the program support more secure remote access to Athena.

To use these more secure routines when you access Athena remotely (e.g., via dialup), make sure to call your remote access program (e.g., Kerberized rlogin or telnet on a workstation, NCSA Telnet on a Macintosh) with the authentication and encryption options enabled. For example, if you use telnet on a Linux machine to dial into Athena, and you want to protect the information you are sending across the network (including your password!), you can start telnet with the -a and -x options (or in some clients you can just use the option -safe, which combines both). Your connection to Athena will then be encrypted and you can send your password over the network without it being passed "in the clear" (i.e., readable by packet voyeurs). You will know you are in a net-secure connection because Athena will echo the message:

  What you type is protected by encryption.

If you forgot to include the encryption option (i.e., if you used telnet with -a but without -x), Athena will inform you that your connection may not be net-secure and suggest that you try again. If you do not use either -a or -x, Athena treats your connection as an old-style telnet session and does nothing special (i.e., the connection is not net-secure, and all the information you send and receive is readable by stealthy net hackers).



Expanded Use of X11R5 Clients

The X clients that we build (e.g., xmh, xclock, xterm, xcalc, and others in /usr/athena/bin with names beginning "x") have now been compiled against X11R5, rather than X11R4. On all platforms, we now use clients provided by the X Consortium rather than those provided by vendors (previously, the X clients on RS/6000s and Suns were vendor-supplied versions). This change is most noticeable on the DECstation platform, as the X clients on the other platforms were already compiled against X11R5. But note that X clients on other platforms might have a slightly different flavor from last release as well, as these clients are X-consortium versions now.

One highly visible example is the use of round-cornered "buttons" on X-consortium applications. Rounded corners have been the default for some time now, but creating rounded corners on old Athena workstations (e.g., RT and VAX) were prohibitively compute-intensive, so previous Athena releases overrode this default and used square corners, which take less computing power. Now that the core Athena workstations are much more powerful (and the RT and VAX are gone), this release of Athena finally uses the default shape (i.e., rounded corners) for buttons on applications provided by the X consortium.

Thus, basic applications such as xmh and xcalc will appear different to you if you have always used the default settings. For example, xcalc will look like this:

The X11R5 changes do not include X clients that are provided by neither the X Consortium nor the hardware vendors (e.g., the Motif binaries, or dash) -- those clients have again been built against X11R4.

Note that X11R5 made a number of corrections to the default resource specifications that might impact customizing users. Specifically, some default X resource settings have been "weakened" somewhat -- that is, certain default resource specifications that were previously inappropriately specific have finally been made more general (and hence easier to override in specific cases). If you use an ~/.Xresources file, you may find certain customizations working slightly differently because resource changes you made some time ago (that didn't work previously, and that you probably forgot about long ago!) may actually work now -- the weakened default resource specifications may no longer override those customized specifications.



TeX and LaTeX Changes

A number of highly-visible changes were made to the TeX style files and some of the TeX-related programs (dvi2ps, xdvi) as part of Release 7.7. These changes, some of which may actually make things seem broken if you don't take appropriate actions, include:

Style Files Updated. Most of the TeX style files on Athena were very old (newer styles have been available in the sipb, consult, and tex-contrib lockers, but not all users were aware of them). The style files on Athena have been completely revised to include the latest versions, including major additions (e.g., AMSLaTeX, useful for typesetting scientific/mathematical documents, etc.) Users who have been using the style files from various lockers are now encouraged to use the newer Athena versions of these files, available directly in the release (see next bullet for the appropriate path).

Style Files Moved. In addition to adding new styles, the new release also reorganized the style files into new subdirectories -- taking advantage of the fact that TeX now has the ability to search subdirectories for style files without your having to explicitly specify every directory. This reorganization of files will not cause any problem for you unless you have been using the TEXINPUTS environment variable to tell TeX/LaTeX where to find the style files. In this case, you might fail to find styles you have been using successfully before because the style files have moved and your TEXINPUTS settings do not include the new locations. If this problem happens to you, you will need to revise your TEXINPUTS variable. To do this, you will need to understand how the TEXINPUTS variable is used.

The TEXINPUTS variable is a path list of directories to search, separated by colons. For example, a typical command for a LaTeX user in Athena 7.6 might have been the following (this might have been issued in the user's ~/.environment file, for instance):

  setenv TEXINPUTS .:/mit/sipb/lib/tex/macros:/usr/athena/lib/tex/macros

This command specifies that TeX should search three directories in turn to find specific style files: first the current directory (.), then the tex/macros directory in the sipb locker, then the tex/macros directory in the release. With this command, TeX will search only these three directories and not look at any of the subdirectories.

In the new release, however, many of the style files are now available in subdirectories of the /usr/athena/lib/tex/macros directory, not in that directory itself. Thus the TEXINPUTS variable will need to somehow indicate those subdirectories as well. An obvious answer would be to include the new subdirectories explicity in a setenv command. But this is not necessary.

In Athena 7.7, you can indicate that TeX should search subdirectories of a given directory by ending the pathname in the TEXINPUTS variable with a double slash, //, rather than a single slash, /. For example, you could use the following command to adjust the previous command to have TeX search all of the style directories in the release, including subdirectories (it would still search only one directory in the sipb locker):

  setenv TEXINPUTS .:/mit/sipb/lib/tex/macros:/usr/athena/lib/tex/macros//

Because the release directories are the default location for TeX to search, you could also revise this command to take advantage of a new special meaning of a "blank" entry in the TEXINPUTS string. A colon followed by nothing now indicates that TeX should search the default search path for style files. Thus the above command could be shortened to:

  setenv TEXINPUTS .:/mit/sipb/lib/tex/macros:

The final colon is essential -- it indicates a "blank" entry at the end of the list; this tells TeX to use the system default directories (now /usr/athena/lib/tex/macros and below) as its third directory to search for style files. If the final colon were not present, the last item in the list would be the sipb directory -- there would only be two rather than three entries. (Note, by the way, that a "blank" entry in the TEXINPUTS path list need not be the last item in the list; it can come anywhere in the list.)

Of the two formats listed above, the latter form (ending with just a colon, rather than listing the default style files explicitly) is the recommended form. Unless you want to explicitly avoid the default styles, it is best to have the system determine the location of the default style files. That way, if the path changes in future Athena releases, you will not have to adjust your TEXINPUTS variable again.

Of course, because the Athena style files are now quite inclusive, you may not need a TEXINPUTS variable that points off to the sipb or consult locker anymore. Instead, you may want to let TeX use its default search path and not set the TEXINPUTS variable at all. Not setting TEXINPUTS is equivalent to issuing either of the following commands:

  setenv TEXINPUTS .:/usr/athena/lib/tex/macros//
  setenv TEXINPUTS .:

Of course, if this is what you want, you had best not set the TEXINPUTS variable at all; for example, you could delete the setenv callout in your ~/.environment file or, for a particular session, issue the command unsetenv TEXINPUTS. (If for some obscure reason you nevertheless decided to issue one of the setenv commands listed above, remember that the latter form -- in which the default files are implied rather than explicit -- is the recommended form, as noted earlier.)

dvips Replaces dvi2ps. The old dvi2ps program has finally been replaced by dvips in the main release. (dvips had been available for some time from SIPB.) dvips is a generally better program, but you should be aware of some differences:

For information, type man dvips. (Also, most Athena consultants are already familiar with dvips, as they have been recommending it over dvi2ps for some time now.)

Other TeX/LaTeX Changes. The xdvi display program has also been upgraded, and support was finally added for the HP printers, which can handle 600 dpi fonts.



Andrew and EZ Changes

All the Andrew User Interface System clients (ez, eos, grade, etc.) and other assorted files were updated from version 5.2 to version 6.2. This release fixes many core dumps, and includes several user-visible changes.


User-Visible Changes

This version of Andrew introduces three significant user-visible changes:


Noteworthy Bug Fixes

Some Andrew bug fixes that might be of interest to general users who ran into the original problems (or who are interested in the features represented) include the following:


Improvements to the figure Program

Several noteworthy revisions have been made to figure, the drawing editor:


Changes of Interest to Power Users

Other changes that represent new functionality (mostly of interest to advanced Andrew users) include the following:


For More Information

The preceding notes just summarize some of the more visible changes. To see the exhaustive list of all the changes that CMU made to Andrew/EZ since Version 5.2, type the following commands:

  athena% attach andydevo
  athena% ez /mit/andydevo/src62/Changes.ez


Other Release Software Changes

In addition to the revisions of X11, LaTeX, and EZ-related programs, several other significant Athena programs were upgraded or relocated as part of Release 7.7:

AFS. The AFS client software has been upgraded to AFS 3.3 (except on the DECstation, where the kernel is still running an older version of AFS). The new version of AFS is more reliable and stable, and includes changes to the AFS cache-manager locking that improve the performance on "slow" multi-user machines (e.g., Athena timesharing dialup servers).

Perl. The Perl text-extracting/reporting program has been upgraded from version 4.019 to version 4.036.

Emacs. Emacs has been upgraded from version 18.57 by merging Athena modifications into the 18.59 sources. This version includes a number of minor bugfixes (e.g., some inappropriate error messages on the Sun workstations have finally been eliminated). Although version 18.59 is not the latest available version (version 19 is already available for testing in the emacs19 locker), it is the most advanced version that is not significantly different from the versions of Emacs previously running on Athena. In other words, it is the latest version that does not involve significant user interface differences.

MH (e-mail). All the MH electronic mail command-line clients (inc, comp, send, etc.) plus the programs that are based on these command-line clients (xmh, mh-rmail, etc.) were upgraded from MH version 6.6 to version 6.8.

Moira. All of the Moira clients (moira, listmaint, mailmaint, blanche, etc.) were moved to the moira locker (i.e., the directory /afs/athena/system/moira). These clients are server-dependent and so need to be revised as the Moira server changes, which may not coincide with the Athena release cycle. (Having these programs in the special "system" directory -- which is not tied to the release cycle -- allows them to be changed as needed.) Symbolic links were left in the old locations of these clients to make this change transparent to users.

OLH. The OLH suite of programs has likewise been moved to the help locker (i.e., the directory /afs/athena/system/help) to allow changes to the programs outside of the release cycle. Symbolic links were left in the old locations to make the change transparent to users.

OLC. The source code used to build the OLC clients and servers in the release has been updated from sources known to produce a working server. There are only a few user-visible changes in the client (most notably, the addition of line editing capabilities).

dsmail. The dsmail program (for automatically posting e-mail messages to a Discuss meeting) has been updated with the ability to chain transactions by subject and to recognize chaining to a transaction in a specific meeting. (This is primarily of interest to maintainers of discuss servers.)



Locker Software Upgrades

Several important locker-based Athena applications were significantly changed over the summer. (Strictly speaking, changes to locker software are not "Athena release changes", because this software is not tied in with the basic Athena release. Instead, locker changes are simply "changes to Athena application software." These changes are described in these Release Notes because they happen to coincide with the Athena 7.7 Release.) The changes include revisions to:


FrameMaker

The FrameMaker document preparation software has been upgraded to version 4 on Sun and RS/6000 workstations. (DECstations will continue to run only version 3.)

Documents created in FrameMaker version 3 are automatically readable in FrameMaker 4, but not vice versa. (To make a Framemaker 4 document readable in version 3, you can use the Save As command in FrameMaker 4 to save the file in .mif format. Such files can be opened by FrameMaker 3, although of course version 4-based features will not be available.)

The changes in FrameMaker 4 include the following:

For a complete list of the differences between FrameMaker version 3 and version 4, read the online help manual, "What's New in FrameMaker 4." To access the manual, click on the Help button in the FrameMaker main window, then click on the Online Manual pop-up menu and choose the document.


Maple

The Maple program for symbolic mathematical computation has been upgraded to Maple V Release 3 (MVR3) on all platforms. This version looks much like its predecessor (Release 2), with only a few significant user-visible changes.

The most notable revision is that the formats of the .m files and worksheet files have been changed. Because worksheets are automatically converted by MVR3 when you read them in, most users will not notice this change. However, if you have any .m files without the original ASCII Maple source commands, then you will need to first manually restore the source commands to the files by using the m2src program, then bring the files up in MVR3 as usual.

Some of the useful improvements in MVR3 to take note of include:

Maple's on-line help includes a summary of changes in MVR3. To view it, enter the following command at the Maple > prompt:

  ?updates,v5.3

While the older version (Maple V Release 2) will eventually be removed, you can still access it by adding the maple.vr2 locker, and entering the command maple.


SAS

The SAS statistical analysis program is now supported in two versions on Athena:

You get the default version of SAS by entering the commands add sas; sas. On the RS/6000s, you can get the newer version of SAS by using the commands:

  athena% add sas; sas609

The changes introduced in Version 6.09 of SAS include the following:

For more detailed information on what's different between Version 6.07 and 6.09, see the README file in the sas locker:

  athena% attach sas
  athena% more README.v609

Xess

The Xess spreadsheet program has been upgraded to version 3.0 on all platforms. New features of Xess include:

Spreadsheets created with Xess 3.0 will be saved in the new format with the filename extension .xs3. You can load spreadsheets that have been created using Xess 2.0 (and that have the extension .xs) by selecting File Format XS in the Open dialog box.

If you need to run the old version of Xess (version 2.0) for some reason, add the locker xess.old, then enter the command xess.



Other User-Visible Changes

In addition to the changes to specific applications (whether release or locker-based), several other user-visible changes were made to Athena in the Summer of 1994:

Quota Increased. The default user disk quota was doubled, from 5 Meg to 10 Meg. Users with quota less than 10 Meg were automatically increased to 10 Meg, and all new users will be given 10 Meg by default. Users who already had more quota than 10 Meg (e.g., seniors doing theses) are not affected.

Group Memberships Curtailed. Although in principle you can become a member of any number of Hesiod "groups" (member-based file-access permission lists), particular platforms can only recognize a set number of groups at a time. This limiting number differs from platform to platform. In order to support cross-platform compatability, the number of groups recognized by the different platforms has been purposefully reduced in some cases. For example, Athena DECstations used to recognize 29 groups -- they now recognize only 13 groups. Thus, if you remotely log into a DECstation and you belong to a large number of groups, you may receive a message of the form:

  Too many groups.

This means that you belong to more groups than the platform supports. In this case, groups beyond the number that the platform supports will be ignored. (They still exist in the Hesiod database, but the local system does not recognize the extra groups for the course of your session.) If you are in "too many groups" and you need to have the system recognize some group membership of yours, you will need to reduce the number of groups you are a member of (e.g., using blanche) until the group you want is included within the first part of your groups list. You can see your group memberships by entering the following command at your athena% prompt:

  hesinfo $user grplist

Group limits affects only particular UNIX file systems, such as NFS -- a typical Athena session involving AFS directories (no matter what Athena platform) would not typically run into this problem.

@sys Link Name Changed for Sun Workstations. Developers who use the @sys scheme for referring to different platforms will experience errors in Athena 7.7, because the Sun link name has been changed to sun4c_53. The @sys scheme is not recommended to begin with (developers are advised to use the standard decmipsbin/rsaixbin/sun4bin organization that Athena developers use; this scheme was not affected by 7.7). Developers who have nevertheless chosen to use the @sys scheme will need to change their programs now to use the new value for Suns.