This is the README file for the ftp directory of the fourth UNOFFICIAL release of amd, amd920824upl67, that includes many patches, new ports, and added features not available in the official release of amd. The ftp site on which I have released my sources is ftp.cs.columbia.edu and the ftp directory is /pub/amd. Please complete reading this file before proceeding further. -Erez Zadok *** WHAT'S NEW SINCE amd920824upl61 ? The most major change is my completed port to pure SVR4 networking code. I've ported amd/amq/hlfsd to use no BSD compatibility libraries (Solaris 2.2) and not even libsocket.a! The port seems stable on Solaris, but may break for other SVR4-based machines. I recommend that people hold off on getting upl67 if they have an SVR4-based machine other than Solaris -- until the amd-workers had a chance to test it thoroughly. The svr4 port represents an added 900 lines of code beyond upl61, and was a rather painful one. Other changes include fixes to nis/nisplus code, an improved port to linux, fixes to HPUX 9.01, and HPUX 6.5. *** WHAT'S NEW SINCE amd920824upl49 ? The only major change I've made was to add two new filesystem types: hsfs (cdrom) and pcfs (dos). The rest includes about 12 new patch collections (including fixing amd hanging for Solaris 2.2.) Some of the new features contributed by others include an lofs fstype (loopback), support for NIS+ on Solaris 2.x, escaped sequences in quoted strings for amd's maps, a linux port, better Sun-3/SunOS 3.x support, fixes for alpha/osf1, irix 5.x port, and more. *** WHAT'S NEW SINCE amd920824upl28 ? This is amd amd920824upl49. Once in a while there comes a release of your favorite package that contains new functionality and changes you really really were looking for. If some of the recent discussions on the amd-workers list are any indication, upl49 should make a lot of people happy. I'm quite pleased with the work I've put into amd during the past few weeks. The upl49 distribution contains the following changes *beyond* upl28. Here are the changes I've made: (1) HLFSD: a mail/nfs server that will repoint user's mail to their home directory. This is a separate program than amd, but uses some of its code. I will be posting a completely different message about hlfsd soon, and a paper is almost complete. For now you can read the sources and the man page to get an idea of what it does and how. This code has been compiled and tested only on SunOS 4.1.3 so far. (2) NFS_READDIR: modified nfs_readdir code for toplvl type so that it lists all of the entries amd could mount. You can now "ls /home" and get a listing of all of the entries that would be mounted if stat()-ed. This code is experimental. You have to define NEW_TOPLVL_READDIR while building amd to get this code included. This code has been compiled and tested only on SunOS 4.1.3 so far. (3) /DEFAULTS: modified "/defaults" processing so that it will accept selectors. This code is experimental. You have to define NEW_DEFAULTS while building amd to get this code included. This code has been compiled and tested only on SunOS 4.1.3 so far. (4) OSVER: added ${osver} variable -- O/S version number. Its default value is determined at compile time, but you can set it to anything with an added amd option: "amd -o 4.1.2". (5) NEW PORTS: AOI 4.0 (svr4 based). (6) SOLARIS: better and cleaner port to Solaris 2.1 (with gcc or unbundled sun cc.) (7) WIRE: new wire code with better names in 4 new variables: primnetname, primnetnum, subnetname, and subnetnum. We need those to distinguish between primary and subsidiary network interfaces on our servers, so we can write better amd maps. (8) BROKEN_YP_ALL: code in amd/info_nis.c to turn on if you have a broken yp_all() function (SunOS 4.x and HPUX 8.x/9.x seems to be broken.) The bad code in yp_all() never closes an open tcp connection to ypserv. You'll need to define BROKEN_YP_ALL before building amd to get the workaround code. Here are the changes I did not make, just included them from various contributors: (1) About 21 new patch collections, including hpux-9.01, JSP's code from amd930325b, osf/1+alpha fixes, and the mount-speedup code. (2) New ports: Ultrix 4.3, OSF/1, rtu6. Note that neither I nor Columbia University claim any responsibility for using my patches. Read the "Licensing" section of the Amd Reference Manual. However, I would be interested to know how my code works for you, especially for architectures I do not have access to. If you have any fixes/patches that I did not include, new ones, or fixes to what I may have broken, please let me know. Don't expect me to be able to answer all your amd questions; that's what the amd-workers@acl.lanl.gov mailing list is for. In fact, all discussion should be sent there (use amd-workers-request@acl.lanl.gov for un/subscription requests.) *** CONTENTS OF THE FTP DIRECTORY GZIP: Note that all of the files in the amd ftp directory are compressed using GNU gzip, and have the extension ".gz". You must use GNU gzip to uncompress them. If you don't have GNU gzip, see the README and GETTING_FILES files in ~ftp. The contents of this directory are as follows: README.upl49 / README: This file. README.upl28: The README file I sent out when I distributed upl28. It contains some information I did not want to repeat here. mirror: A mirror of the official amd ftp site -- usc.edu:/pub/amd. amd920824.tar.gz: The latest official release of amd. amd920824upl49.tar.gz: The latest unofficial amd from me. The 'upl49' stands for "unofficial patch level 49". amd920824upl28.tar.gz: The older unofficial amd from me. The 'upl28' stands for "unofficial patch level 28". This only exists as a complete tar file. amd920824-amd920824upl49.diffs.gz: A context diff file to be applied using the patch program, which will bring an official amd920824 to my amd920824upl49 version. untarred: A directory containing an untarred version of the latest official and latest unofficial releases of amd. patches: A directory containing all known amd patches I've collected for almost a year and a half. The patches are not cumulative. Not all patches were accepted. My own patches are not included in this directory. If you want my patches and ports, get the file amd920824upl49.tar.gz which contains them, or amd920824-amd920824upl49.diffs.gz. Read the README file inside this subdirectory for more information. checksums: A listing of checksums generated by /bin/sum for all *.gz files. All of the above described files are available *only* via anonymous ftp from ftp.cs.columbia.edu in the directory /pub/amd. I do not intend to make them available using an email server. I will not email patches to anyone nor will I post them to the net. Please don't ask me to and don't do it yourself. Just my context diff file, zipped and uuencoded, is 250Kb so the network hit may be too much, plus I don't have the time to answer personal requests for emailing the patches. It is hoped that my work will speed up amd's official transition from alpha/beta stage to a real release. I am not in direct contact with the official maintainer(s) of amd so I don't know when/if this will happen. I promise to maintain as many patches as I can on this site, and combine them into newer unofficial releases of amd. My turnaround time would be dictated by my schedule so don't expect warp speed releases. And for the last time let me remind everyone that this is a VERY UNOFFICIAL release of amd that I am providing here for the benefit of all. I am calling this a "release" and assigning "unofficial patch level" numbers for organizational reasons only. It will make it easier for everyone to get new unofficial releases and relate to the same version of amd over discussions. I'm not maintaining amd officially (not the I couldn't... :-) I hope you find my work useful. Erez Zadok. Central Research Facilities. Columbia University Department of Computer Science. --- "A wank's morning starts one jiffy | Arpa: ezk@cs.columbia.edu after midnight." | Usenet: ...!rutgers!columbia!cs!ezk -HebrewWank #1 (US meaning, not UK!) | Bitnet: erzus@cuvmb.BITNET Member of the League for Programming Freedom -- write to lpf@uunet.uu.net