-Changes from 1.5.0
+Changes in 1.6.3
+================
+
+* FIX: afpd: Files could be opened for writing on read-only filesystems.
+* FIX: shell_utils: Don't distribute generated files.
+* FIX: automake build fixes
+
+Changes in 1.6.2
+================
+
+* FIX: atalkd: Fixes for reading long configuration file lines. [Dan Wilga]
+* FIX: afpd: CNID id allocation in a multiuser environment.
+* FIX: papd: Fix PSSP support when PAM is enabled.
+* FIX: macusers: Can now cope with IP addresses as well as host names.
+* FIX: etc2ps.sh: Install correctly.
+
+Changes in 1.6.1
+================
+
+* UPD: Improve --enable-fhs. [Olaf Hering]
+* UPD: Add BDB 4.1.x support.
+* UPD: Add more documentation on CNID, as well as list which versions
+ of Berkeley DB are supported.
+* FIX: Codepage file maccode.koi8-r is now correctly cleaned.
+* FIX: Fix init script location on SuSE. [Olaf]
+* FIX: Build fixes. [Olaf, Steven N. Hirsch]
+* FIX: Various bugs when a user doesn't have access permission to a folder.
+ (Fixes an OSX kernel panic.)
+* FIX: CNID, folders' DID handling with concurrent access or symlinks.
+ (Fixes an endless loop in afpd.)
+
+Changes in 1.6.0
+================
+
+* FIX: pap looks at the STDOUT file descriptor to see if it's connected to
+ a tty, instead of STDIN.
+
+Changes in 1.6pre2
==================
+* UPD: Removed --with-catsearch option from configure and enable FPCatSearch
+ by default.
+* UPD: The dbpath argument does now support variable substitution.
+* FIX: Build fix for non-GNU-C compilers in libatalk/util/logger.c.
+* FIX: Two directories with the same name but different case confused the
+ Mac Finder.
+* FIX: The ROOT_PARENT directory could get invalidated.
+
+Changes in 1.6pre1
+====================
+
+* NEW: Long file name mangling support.
+* NEW: Improved log file support.
+* NEW: Server-side find capability ("FPCatSearch")
+* NEW: Concurrent datastore (CDB) is now the default CNID datastore. This
+ should be heavily tested in a multiuser environment.
+* NEW: Variable substitution support has been added for the dbpath AppleVolume
+ option.
+* UPD: CNID DID handling is now enabled by default.
+* FIX: Various bug and build fixes as well as code cleanups.
+
+Changes in 1.5.5
+================
+
+* 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 in 1.5.4
+================
+
+* 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 in 1.5.3
+================
+
+* 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 in 1.5.2
+================
+
+* NEW: NetBSD support contributed by David Rankin and NetBSD contributors.
+ This includes a new configure option --enable-netbsd.
+* NEW: Add the -client_polling afpd.conf flag to allow for clients to poll
+ the server every 10 seconds for open window updates. Currently
+ this is the only way to get asynchronous directory updates.
+* UPD: Use separate macro for AFS configure check.
+* UPD: Some Perl scripts are now (partially) auto-generated. This improves
+ out-of-the-box usage of Netatalk.
+* UPD: Solaris Kernel Makefile is now auto-generated. This fixes some path
+ issues, but isn't perfect, yet. Added some Solaris compatibility
+ fixes to the Kernel sources, too.
+* UPD: CNID DB code sync'd with the current CVS version. NOTE: Using this
+ code requires you to delete _all_ existing .AppleDB directories in
+ order to avoid database corruption!
+* FIX: The file AppleVolumes.system contained wrong line breaks so that
+ not all file types were properly recognized.
+* FIX: AFS compilation would fail due to a misnamed variable.
+* FIX: SLP configure check was wrong so SLP did not compile.
+* FIX: Fix the way quotas are handled under certain situations.
+* FIX: Do not enable debugging code if debugging option is not set.
+* FIX: Some problems with wrongly assigned DIDs were fixed.
+* FIX: Various bug fixes and code cleanups.
+
+Changes in 1.5.1
+================
+
* NEW: Added a program called cnid_didname_verify that can be used to
verify the consistency of the CNID database.
* NEW: New afpd option: -timeout. Warning: This still doesn't do what it's
* FIX: Minor code cleanups and warning fixes.
* FIX: Make quota support work on FreeBSD.
-Changes from 1.5rc2
-===================
+Changes in 1.5.0
+================
* FIX: Compilation on Tru64 systems was broken, since libtool's acinclude.m4
file on the packagers system did not contain the necessary patch.
* FIX: On some systems, atalkd refuses to start, since it couldn't detect
any interfaces. This was caused by an overzealous validity check.
-Changes from 1.5rc1
-===================
+Changes in 1.5rc2
+=================
* FIX: contrib/shell_utils/lp2pap.sh was erased when "make clean" was called.
Now we distribute lp2pap.sh.tmpl instead, and lp2pap.sh is automatically
* 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.