+Changes from 1.5.4
+==================
+
+* NEW: Allow afpd debugging to be enabled by sending the afpd process
+ a SIGUSR1.
+* NEW: Allow SLP to be disabled per afpd process by adding a new -noslp flag
+ to afpd.conf.
+* FIX: Use server name (if not NULL) for the SLP URL.
+* FIX: papd: buffer overflow during config file read (Olaf Hering)
+
Changes from 1.5.3
==================
-* NEW: Add the ability to enable debugging at runtime by sending afpd a
- SIGUSR1.
-* NEW: Add support for long filename mangling.
-* NEW: Add a -noslp option to disable SLP per afpd instance.
-* NEW: Added -d option for pap to enable debugging at runtime rather than
- compile time.
-* NEW: Add the ability to use Concurrent Data Store instead of full
- transactional data store with the CNID DID calculation scheme.
-* FIX: Cleaned up pap man page, eliminating duplicate pap man page (8).
-* FIX: Print out pap status in postscript (%%[..]%%) format for LPRng
- compatibility.
-
+* FIX: File open read only and then read write (aka pb with Illustrator).
+* FIX: Problems with unexpected EOF when reading files on a ddp connection
+ Photoshop, old finder.
+* FIX: --with-nls-dir option does now work
+
Changes from 1.5.2
==================
* UPD: Extend the --disable-shell-check functionality to ignore users
with _no_ shell. Also, send a log message if a user is refused login
based on the fact that they have no shell.
+* UPD: Autoconf updates.
+* UPD: Tru64 afpd authentication updates.
+* UPD: As always: lots of minor code cleanups.
* FIX: Problems with Photoshop trying to open image files has been
corrected.
* FIX: Preserve special permission bits when creating or modifying
directories.
* FIX: afp_deleteid() now deletes the specified file and not the parent
directory.
+* FIX: papd does now announce that it supports binary data to its clients.
+* FIX: NetBSD ELF support.
+* FIX: acleandir.rc is now installed in the bin directory.
+* FIX: megatron does now compile even if compiled with -DDEBUG.
* FIX: Clean up some syslog messages.
Changes from 1.5.1
* FIX: Some platforms (notably Tru64) don't have the snprintf() call, which
was used in etc/afp/afp_config.c. This call was replaced by sprintf()
and prior bounds checking.
+
+Changes from the 1.4b1 release:
+
+ Fixed the maximum free/total volume size in afpd.
+
+ Made ~ the default volume in afpd.
+
+ Fixed pid file handling and changed setpgrp() to setpgid() in afpd,
+ papd, and atalkd.
+
+ Added code to afpd to set the Unix file time stamps with utime().
+
+ Fixed a bug in papd's printcap code which limited it to 15 or so
+ printers.
+
+ Fixed papd's handling of piped printers.
+
+ Fixed papd's handling of bad job names.
+
+ Fixed atalkd to send NBP LKUP packets from NBP port.
+
+ Added "sync;sync;sync" to Solaris kinstall to help with streams
+ file corruption.
+
+ Added nlocalrts to streams ddp.conf. Thanks Thomas Tornblom.
+
+ Fixed signed extension infinite loop in Solaris module.
+
+ Moved all the config files to .../config.
+
+Changes from the 1.3.3 release:
+
+ Added code from Sun Microsystems, Inc (OPCOM) for Solaris support.
+ See COPYRIGHT.
+
+ Added support for FreeBSD, mostly changes by Mark Dawson and Julian
+ Elischer.
+
+ All sorts of other stuff.
+
+Changes from the 1.3.1 release:
+
+ Added options to psf's filter names to support accounting on HPs.
+ !!! NOTE: The location of the filters has changed, see the man
+ page for where.
+
+ Added code from Alan Cox to support Linux.
+
+ Rewrote papd. Now handles dropped connections better.
+ Configuration has been modernized. !!! NOTE: The format of the
+ configuration file has changed, but NOT THE NAME.
+
+ Added Kerberos support to papd.
+
+ atalkd now removes routes on a SIGTERM. Still can't just restart
+ it, but it's closer.
+
+ Changed atalkd and the kernel driver to remove a hack added to
+ support sending to 0.255. Now the kernel will allow multiple open
+ sockets with the same port, so long as the addess associated with
+ the port is different. atalkd now opens a socket for each port on
+ each interface.
+
+ atalkd now rewrites its configuration file. If no configuration
+ file is given, one will be generated. Permissions on the new
+ configuration file will be inherited from the old one. If there is
+ no old one, permissions default to 644. Won't rewrite the file if
+ the owner doesn't have write permission.
+
+ Removed support for the "AFS Kerberos UAM", in favor of the
+ "AuthMan UAM". Kerberos support should now be much more
+ straight-forward.
+
+ Fixed a bug in afpd which would cause incorrect group calculations
+ on ultrix machines.
+
+ Fixed a bug in afpd which causes SimpleText and some other
+ applications to silently fail to write. There's also a bug in
+ MacOS, but we can't fix that.
+
+ Fixed a bad interaction with afpd and AFS which would cause file
+ writes to not propogate between AFS clients.
+
+ !!! CHANGED the name(s) of afpd's config files. The new files are
+ AppleVolumes.system and AppleVolumes.default. If AppleVolumes.system
+ exists, it is always read, AppleVolumes.default is only read if the
+ user has no AppleVolumes file. Included a flag "-u" to indicate
+ which file has precedence. "-u" user wins, otherwise ".system"
+ wins.
+
+ Rewrote the AppleVolumes parsing code. Now works.
+
+ Added a filename extension mapping to afpd. User always takes
+ precedence, regardless of the "-u" flag. Code to change the type
+ of all Unix files contributed by Kee Hinckley <nazgul@utopia.com>.
+
+ afpd now supports both UFS and AFS volumes simultaneously. It also
+ uses access() to attempt to calculate reasonable Mac permissions
+ for AFS directories.
+
+ Changed reporting of file times. Files that are written from Unix
+ now update the Mac's idea of the files modification time. Unix
+ mtime is now reported instead of ctime.
+
+ Added support for a new UAM to afpd. This requires that client
+ Macs have MacTCP and AuthMan installed. Should make running afpd
+ for AFS easier.
+
+ Removed code so that otherwise valid volumes for which the mounting
+ user has no permission will appear in the volume selection dialog
+ on the Mac gray-ed out.
+
+ Added code from Chris Metcalf of MIT to the AppleDouble library
+ which improves permission inheritance.
+
+ Added code from G. Paul Ziemba of Alantec, Inc to better report
+ errors in psf. Also changed psf to use syslog for errors that
+ users aren't interested in.
+
+ Added information to psf's man page to better explain the
+ interaction between psf, pap, and lpd.
+
+ Make psf/pap/psa do accounting when it's turnes on in
+ /etc/printcap.
+
+ Changed pap's error message when there is no printer specified on
+ the command line and no .paprc is found. Also heavily modified
+ pap's man page to reflect changes in the "new" version of pap,
+ including moving it from section 8 to section 1.
+
+ Fixed a byte-order bug in pap's sequence numbers. Doubt if pap has
+ ever worked right on little endian machines!
+
+ Added a flag to pap to optionally close before receiving EOF from
+ the printer. Off by default. psf calls pap with this option on.
+
+ Added timeouts to the nbp library calls. This means that processes
+ won't hang when atalkd dies during boot, thus hanging your
+ machine.
+
+Changes from the 1.3 release:
+
+ Fixed a bug in afpd which would cause APPL mappings to contain both
+ mac and unix path names. The fixed code will handle the old
+ (corrupted) database.
+
+ Fixed a *very* serious bug which would cause files to be corrupted
+ when copying to afpd.
+
+ Fixed a bug in afpd which would cause replies to icon writes to
+ contain the written icon.
+
+ Filled in the function code switch in afpd. Previously, a hacker
+ could probably have used afpd to get unauthorized access to a
+ machine running afpd.
+
+ Fixed a bug in the asp portion of libatalk.a which could cause the
+ malloc()/free() database to be corrupted.
+
+ Fixed a bug in atalkd's zip query code. With this bug, only the
+ first N % 255 nets get queried. However, since nets bigger than
+ 255 are usually pretty unstable, the unqueried for nets will
+ eventually get done, when N drops by one.
+
+ Suppressed a spurious error ("route: No such process") in atalkd.
+
+Changes from the 1.2.1 release:
+
+ atalkd is completely rewritten for phase 2 support. atalkd.conf
+ from previous version will not work!
+
+ afpd now has better AFS support. In particular, the configuration
+ for AFS was made much easier; a number of Kerberos-related
+ byte-ordering and time problems were found; clear-text passwords
+ were added (thanks to geeb@umich.edu).
+
+ afpd now handles Unix permissions much better (thanks to
+ metcalf@mit.edu).
+
+ There are many, many more changes, but most are small bug fixes.
+
+Changes from the 1.2 release:
+
+ The Sun support now uses loadable kernel modules (a la VDDRV)
+ instead of binary patches. As such, it should work on any sunos
+ greater than 4.1, and is confirmed to work under 4.1.1 and 4.1.2.
+
+ The DEC support no longer requires source. It also runs under
+ ultrix 4.1 and 4.2. It still requires patching your kernel, but the
+ patches are limited to those files available to binary-only sites
+ -- primarily hooks for things like netatalk.
+
+ The etc.rc script now uses changes made to nbprgstr (see below).
+
+ aecho now takes machine names on the command line.
+
+ nbplkup now takes a command line argument specifying the number of
+ responses to accept. It also takes its defaults from the NBPLKUP
+ environment variable.
+
+ nbprgstr may be used to register a name at any requested port.
+
+ afpd now logs if an illegal shell is used during login, instead of
+ silently denying service.
+
+ A bug in afpd which caused position information for the directory
+ children of the root of a volume to be ignored has been fixed.
+
+ Several typos in afpd which would cause include files necessary to
+ ultrix to be skipped have been fixed.
+
+ atalkd will no long propagate routes to networks whose zone
+ it doesn't know.
+
+ atalkd no longer dumps core if it receives a ZIP GetMyZone request
+ from a network whose zone it doesn't know. (Since this currently
+ can only happen from off net, it's not precisely a legal request.)
+
+ pap and papd (optionally) no longer check the connection id in PAP
+ DATA responses. Both also maintain the function code in non-first-packet
+ PAP DATA responses. These changes are work-arounds to deal with
+ certain AppleTalk printer cards, notably the BridgePort LocalTalk
+ card for HP LJIIISIs.
+
+ pap no longer sends an EOF response to each PAP SENDDATA request,
+ only the first.
+
+ A bug in papd which would cause it to return a random value when
+ printing the procset to a piped printer has been fixed.
+
+ A bug relating to NBP on reverse-endian machines has been fixed.
+
+ atp_rsel() from libatalk now returns a correct value even if it
+ hasn't recieved anything yet.
+
+ atalk_addr() from libatalk no longer accepts addresses in octal
+ format, since AppleTalk addresses can have leading zeros. Also it
+ checks that the separator character is a '.'.
+
+ Pseudo man pages for nbplkup, nbprgstr, and nbpunrgstr, have been
+ added.
+
+ The example in the psf(8) man page is now correct.
+
+ The man pages for changed commands have been updated.
+
+ The README files for various machine have been updated
+ appropriately.