]> arthur.barton.de Git - netatalk.git/blob - NEWS
ffa9fba942369573156e7fb9f3ad55add61ef0fe
[netatalk.git] / NEWS
1 Changes in 2.1
2 ==============
3 * UPD: atalkd and papd are now disabled by default.
4        AppleTalk is legacy.
5 * UPD: cdb/dbd CNID backend requires BerkeleyDB >= 4.6
6 * FIX: rewritten logger
7 * FIX: afpd: UNIX permissions handling
8 * NEW: cnid_metad: options -l and -f to configure logging
9 * NEW: CNID database maintanance utility dbd
10 * NEW: support BerkeleyDB upgrade. Starting with the next release
11        after 2.1 in case of BerkeleyDB library updates, Netatalk
12        will be able to upgrade the CNID databases.
13 * NEW: AppleDouble compatible UNIX files utility suite `ad ...`.
14        With 2.1 only `ad ls`.
15 * NEW: afpd: AFP 3.2 support
16 * NEW: afpd: Extended Attributes support using AppleDouble files
17 * NEW: afpd: ACL support with ZFS
18 * NEW: afpd: ExtendedAttributes support with ZFS
19 * NEW: afpd: store and read CNIDs to/from AppleDouble files by default.
20        This is used as a cache and as a backup in case the database
21        is deleted or corrupted. It can be disabled with a new volume
22        option "nocnidcache".
23
24 Changes in 2.0.5
25 ================
26
27 * NEW: afpd: Time Machine support with new volume option "tm".
28 * FIX: papd: Remove variable expansion for BSD printers. Fixes CVE-2008-5718.
29 * FIX: afpd: .AppleDxxx folders were user accessible if option 'usedots'
30        was set 
31 * FIX: afpd: vetoed files/dirs where still accessible
32 * FIX: afpd: cnid_resolve: don't return '..' as a valid name.
33 * FIX: uniconv: -d option wasn't working
34
35 Changes in 2.0.4
36 ================
37
38 * REM: remove timeout 
39 * NEW: afpd: DHX2 uams using GNU libgcrypt.
40 * NEW: afpd: volume options 'illegalseq', 'perm' and 'invisibledots'
41        'ilegalseq'  encode illegal sequence in filename asis, ex "\217-", which is not 
42        a valid SHIFT-JIS char, is encoded  as U\217 -.
43        'perm' value OR with the client requested permissions. (help with OSX 10.5
44        strange permissions).
45        Make dot files visible by default with 'usedots', use 'invisibledots' 
46        for keeping the old behavior, ie for OS9 (OSX hide dot files on its
47        own).
48 * NEW: afpd: volume options allow_hosts/denied hosts
49 * NEW: afpd: volume options dperm/fperm default directory and file
50        permissions or with server requests.
51 * NEW: afpd: afpd.conf, allow line continuation with \ 
52 * NEW: afpd: AppleVolumes.default allow line continuation with \
53 * NEW: afpd: Mac greek encoding.
54 * NEW: afpd: CJK encoding.
55 * UPD: afpd: Default UAMs: DHX + DHX2
56 * FIX: afpd: return the right error in createfile and copyfile if the disk
57        is full.
58 * FIX: afpd: resolveid return the same error code than OSX if it's a directory
59 * FIX: afpd: server name check, test for the whole loopback subnet 
60        not only 127.0.0.1.
61 * UPD: afpd: limit comments size to 128 bytes, (workaround for Adobe CS2 bug).
62 * UPD: afpd: no more daemon icon.
63 * UPD: usedots, return an invalide name only for .Applexxx files used by netatalk not
64        all files starting with .apple.
65 * UPD: cnid: increase the number of cnid_dbd slots to 512.
66 * FIX: cnid: dbd detach the daemon from the control terminal.
67 * UPD: cnid: never ending Berkeley API changes...
68 * UPD: cnid: dbd add a timeout when reading data from afpd client.
69 * UPD: cnid: Don't wait five second after the first error when speaking to the dbd
70        backend.
71 * FIX: papd: vars use % not $
72 * FIX: papd: quote chars in popen variables expansion. security fix.
73 * FIX: papd: papd -d didn't write to stderr.
74 * FIX: papd: ps comments don't always use ()
75 * FIX: many compilation errors (solaris, AFS, Tru64, xfs quota...).
76
77 Changes in 2.0.3
78 ================
79
80 * NEW: afpd: add a cachecnid option that controls if afpd should 
81        use the IDs stored in the AD2 files as cache. Defaults
82        to off.
83 * UPD: afpd: deal with more than 32 groups.
84 * FIX: afpd: several catsearch fixes, based on patch from
85        TSUBAKIMOTO Hiroya.
86 * FIX: afpd: fix a race when a client very quickly reconnects and 
87        tries to kill its old session.
88 * FIX: afpd: OSX style symlink caused problems with Panther clients.
89 * FIX: afpd: old files with default type didn't show the right icon
90        in finder, from Shlomi Yaakobovich, slightly modified.
91 * FIX: cnid_check: disable cnid_check if CNID db was configured with
92        transactions and really bail out after the first error.
93 * FIX: admin-group configure option was broken.
94 * FIX: several problems with IDs cached in AD2 files.
95 * FIX: Ignore BIDI in UTF8 hints from OSX.
96 * FIX: Lots of gcc warning fixes.
97 * FIX: small configure script changes.
98
99
100 Changes in 2.0.2
101 ================
102
103 * NEW: cnid: Add an indexes check and rebuild, optional for dbd 
104        (parameter check default no), standalone program cnid_index for
105        cdb.
106 * UPD: Enhanced afpd's -v command line switch and added -V for more 
107        verbose information
108 * UPD: uams_gss: build the principal used by uams_gss.so from afpd's
109        configuration, don't use GSS_C_NT_HOSTBASED_SERVICE
110 * UPD: cnid_dbd: add process id in syslog and small clean up
111 * REM: remove netatalkshorternamelinks.pl cf. SF bug [ 1061396 ]
112        netatalkshorternamelinks.pl broken
113 * FIX: afpd: check for DenyRead on FPCopyFile
114 * FIX: afpd: add missing flush for AD2 Metadata on FPCopyFile, SF bug 
115        [ 1055691 ] Word 98 OS 9 Saving an existing file
116 * FIX: afpd: Deal with AFP3 connection and type 2 (non-UTF8) names.
117        reported by Gair Heaton, HI RESOLUTION SYSTEMS
118 * FIX: afpd: Broken 'crlf' option
119 * FIX: afpd: fix SF bug [ 1079622 ] afpd/dhx memory bug, 
120        by Ralf Schuchardt
121 * FIX: afpd: Return an error if we cannot get the db stamp in 
122        afp_openvol.
123 * FIX: afpd: Fix slp registration with Solaris9 slpd, from
124        hat at fa2.so-net.ne.jp
125         
126
127 Changes in 2.0.1
128 ================
129
130 * NEW: --enable-debian configure option. Will install /etc/init.d/atalk
131        to get not in conflict with standard debian /etc/init.d/netatalk.
132        Reads netatalk.conf from $ETCDIR and not from /etc/default/
133 * UPD: Disable logger code by default. Log to syslog instead
134 * UPD: changed netatalk.conf default settings to prevent problems with
135        AppleTalk zone names containing spaces
136 * FIX: insecure tempfile handling bug in etc2ps.sh,
137        found by Trustix, CAN-2004-0974.
138 * REM: remove add_netatalk_printer and netatalk.template from stable 
139        branch until fixed. (possible symlink vulnerabilities)
140 * FIX: afpd: set hasBeenInited in default finder info. This bug caused 
141        endless finder refreshes with OS9 finder if the noadouble option 
142        was used. From TSUBAKIMOTO Hiroya.
143 * FIX: afpd: fix a bug in default CREATOR/TYPE handling. Due to this bug 
144        the type/creator mappings in AppleVolumes.system were ignored, 
145        causing problems i.e. with OS9 clients.
146 * FIX: AppleVolumes.system: By default don't define a CREATOR/TYPE for a
147        file of unknown type.
148 * FIX: fix two Tru64 UNIX compilation errors, 
149        from Burkhard Schmidt bs AT cpfs.mpg.de
150 * FIX: afpd: FPMapId wasn't using UTF8 for groups if requested by client.       
151
152 Changes in 2.0.0
153 ================
154
155 * UPD: afpd: add an error message if -ipaddr parameter cannot be parsed
156 * UPD: updated documentation
157 * FIX: afpd: fix a file descriptor and memory leak with OSX ._ resource fork
158 * FIX: afpd: Prevent overwriting a file by renaming a file in the same 
159        directory to the same name. Won't work with OSX, the dest file gets 
160        deleted by OSX first.
161 * FIX: sometimes '0' was used instead of 0 for creator/type
162 * FIX: removed setpgrp check from configure, we don't use it anymore and
163        it doesn't work with cross compile.
164 * FIX: fix for Solaris "make maintainer-clean", from Alexander Barton
165 * FIX: fix username matching bug in afppasswd. from kanai at nadmin dot org
166 * FIX: reworked username check a little. Depending on the UAM, the wrong
167        username _could_ have been selected.
168
169 Changes in 2.0-rc2
170 ==================
171
172 * UPD: use 0 0 for default creator/type rather than UNIX TEXT, from
173        Shlomi Yaakobovich.
174 * UPD: updated documentation
175 * UPD: change machine type from Macintosh to Netatalk in status reply
176 * FIX: afpd: CopyFile only create a resource fork for destination if source
177        has one.
178 * FIX: afpd: mangling: for utf8 --> max filename length is 255 bytes, else 31.
179 * FIX: cnid_dbd: fix a signed/unsigned, 16/32 bits mismatch. from Burkhard
180        Schmidt, bs at cpfs.mpg.de.
181 * FIX: afpd: After ad_setid don't flush resource fork if it has not been
182        modified.
183 * FIX: NEWS: Fixed ancient NEWS entries. Removed umlauts
184 * FIX: fix macname cache, SF bug 1021642
185 * FIX: revert Makefile change from 2.0-rc1. We have to include BDB_CFLAGS
186        after CFLAGS
187
188 Changes in 2.0-rc1
189 ==================
190
191 * NEW: new manual page for asip-status.pl
192 * UPD: updated documentation
193 * UPD: uams: link uam_dhx_passwd.so to lcrypt before lcrypto. might help with
194        MD5 passwords
195 * UPD: Improved BerkeleyDB detection
196 * UPD: sys/solaris/Makefile.in: enable 'make check', from Alexander Barton
197 * UPD: tcp wrappers detection should work on OpenBSD as well now
198 * UPD: macbin: increase the maximum size of macbinary forks, as suggested by 
199        Sourceforge bug ID 829221
200 * UPD: ASP: rework getstatus. use several ASP packets if the client allows
201        it, otherwise just send as much as we can
202 * FIX: FreeBSD 5 build, from Alex Barton (alex at barton.de)
203 * FIX: OSX 10.3 build
204 * FIX: papd: workaround a problem with PJL before Postscript
205 * FIX: afpd: make sure we only disconnect on old session if the users match
206 * FIX: apfd: Quark6 mangled long filenames should work better now
207 * FIX: enhance ADv1 to ADv2 conversion. Fixed a SIGSEGV reported by Mark Baker
208 * FIX: better detection of invalid resource forks
209 * FIX: fix some linking problems on OpenBSD
210 * FIX: afpd: catsearch.c, filedir.c: fix bogus casts, from Olaf Hering 
211        (olh at suse.de)
212 * FIX: afpd: don't try to create special folders and .volinfo on read-only
213        volumes
214 * FIX: iconv/unicode enhancements. fixed a sigsegv on conversion error
215 * FIX: configure.in: fix a typo, reported by Joerg Rossdeutscher
216 * FIX: uniconv: enhanced uniconv behaviour
217 * FIX: fixed some Solaris compilation problems
218 * FIX: papd/Makefile.am: add a missing $DESTDIR, from Vlad Agranovsky
219 * FIX: afpd: quota.c: remove a c99 declaration, from Yann Rouillard
220 * FIX: configure.in: Solaris/gcc 3.0 fix, from Yann Rouillard
221 * FIX: afpd: fix a SIGSEGV when sharing home dirs without any options in 
222        AppleVolumes.
223 * FIX: numerous small bugfixes
224
225 Changes in 2.0-beta2
226 ====================
227
228 * NEW: atalkd, papd and npb tools now support nbpnames with extended
229        characters
230 * NEW: integrated CUPS support for papd
231 * NEW: optionally advertise SSH tunneling capabilties
232 * NEW: automatic logfile removal for cnid_metad
233 * NEW: asip-status.pl has been added to netatalk
234 * UPD: updated documentation
235 * UPD: we now require Berkeley DB >= 4.1
236 * UPD: 64bit Linux fixes from Stew Benedict, Mandrakesoft
237 * UPD: remove --enable-sendfile
238 * UPD: more verbose error messages
239 * FIX: better handling for resource forks without read access
240 * FIX: Tru64 build, by Burkhard Schmidt
241 * FIX: MIT Kerberos detection
242 * FIX: varios *BSD compile problems
243 * FIX: compile problem with libiconv, reported by Joe Marcus Clarke
244 * FIX: adv1tov2: make it work with the new structure
245 * FIX: afpd: filenames longer than 127 bytes were not enumerated correctly,
246        reported by Thies C. Arntzen
247 * FIX: afpd: return IP before FQDN in status reply.
248 * FIX: afpd: Mac chooser could crash on a codepage conversion error
249 * FIX: afpd: KerberosV auth with Panther clients, make long AD tickets work,
250        reported by Andrew Smith
251 * FIX: atalkd: could send invalid NBPLKUP replies, e.g with more than 15
252        printers. Reported by Almacha
253 * FIX: papd: fix papd.conf parsing problems with consecutive ':' and missing 
254        newline. Reported by Craig White.
255 * FIX: megatron: make megatron work with UTF-8 volumes
256 * FIX: timeout: running timeout with commands which accept arguments, 
257        from Yuval Yeret.
258 * FIX: uniconv: fix a SEGFAULT, reported by Matthew Geier
259 * FIX: pam detection: PAM_C/LDFLAGS were always empty, from Alexander Barton
260 * FIX: numerous small bugfixes.
261
262 Changes in 2.0-beta1
263 =====================
264
265 * NEW: OSX style adouble scheme
266 * NEW: japanese SHIFT_JIS codepage (iconv supplied)
267 * NEW: Solaris kernel module build integrated with configure
268 * NEW: Gentoo start scripts
269 * NEW: cnid_dbd doesn't use transactions by default
270 * FIX: afpd: the volume casefold option was broken
271 * FIX: afpd: update AD2 headers and keep owner on file exchange
272 * FIX: Solaris 9 and FreeBSD 4.9/5.2 compilation
273 * FIX: free space reported with groups quotas on Linux
274 * FIX: OS9/OS X didn't update free space
275 * FIX: finder crash if folder opened got deleted by another process
276 * FIX: randnum UAM wasn't AFP3 ready
277 * FIX: numerous small bugfixes.
278
279 Changes in 2.0-alpha2
280 =====================
281
282 * NEW: uniconv tool for converting volume encoding.
283 * NEW: afpd: Make sure getstatus doesn't return loopback address as server IP.
284 * NEW: afpd: Specify USEDOTS with MSWINDOWS implicitely.
285 * NEW: afpd: SRVLOC register with IP address instead of hostname by default,
286        if -fqdn is specified register with FQDN.  Added extended character 
287        support for SLP, non ASCII characters are escaped Added ZONE to registration.
288 * NEW: atalkd: Make atalkd set interfaces to ALLMULTI on linux by default.
289 * NEW: cnid_metad: Use DB_PRIVATE attribute for dbd backend without transaction.
290 * FIX: afpd: Partial workaround for an OSX client deadlock.
291 * FIX: afpd: Reenumerate folder if db is out of sync in resolveID.
292 * FIX: afpd: Don't modify modification date in copyfile.
293 * FIX: afpd: Variable $v substitution: always use name defined in config files.
294 * FIX: libatalk: Speed optimisation for byte locking was broken on resource fork.
295 * FIX: Solaris 9 compilation.
296 * FIX: Tru64 compilation fixes.
297 * FIX: AFS compilation fixes.
298 * FIX: strncpy bugfix.
299 * FIX: configure, man pages update and small bugfixes.
300
301 Changes in 2.0-alpha1
302 =====================
303
304 * NEW: afpd: We now support AFP 3.x, which features long filenames and 
305        large file support
306 * NEW: CNID handling completely reworked. We now use per Volume configurable
307        CNID backends.
308 * NEW: Two new daemons, cnid_metad and cnid_dbd to implement the dbd CNID backend.
309        Using Berkeley DB transactions with the CNID database should be safe now.
310 * NEW: The on disk format of the CNID database has changed. We now support 8 byte
311        device and inode numbers and an additinal type field that should make 
312        detection of file/directory changes outside of afpd more robust. 
313        Changed from HASH to BTREE access which speeds things up in certain cases 
314        and reduces database file size.
315 * NEW: Long file name mangling is now implemented using the CNID ID, so no database is 
316        required to map names to mangled names. This is the same method Mac OS X uses. 
317 * NEW: New format (version 2) for Metadata in AppleDouble files. We record device and  
318        inode of the underlying file as well as the CNID. This can be used for recovery
319        and speeds up access to the CNID.
320 * NEW: The old NLS codepage system has been removed. It was replaced by an iconv 
321        based conversion system, which provides much more flexibility.
322 * NEW: You can safely use extended characters in volume names and for SIGUSR2 messaging.
323 * NEW: The default volume encoding is UTF-8.
324 * NEW: All documentation is now generated using DocBook. New or completely reworked 
325        sections about installing, setting up and upgrading Netatalk replace various 
326        README files in the doc directory.
327 * FIX: Protect afpd better against unexpected signals during updates of the CNID
328        database with the cdb backend. This makes database corruption less likely.   
329 * FIX: All manpages have been reviewed and should now be up to date.
330 * FIX: Tons of bug fixes since 1.6.4. Please consults the CVS change log for details.
331
332 Changes in 1.6.4
333 ================
334
335 * NEW: afpd: Using the mswindows option now implicitly specifies usedots.
336   [Sam Noble]
337 * UPD: afpd.8: Updated the option documentation.
338   [Thomas Kaiser, Sebastian Rittau]
339 * FIX: configure: Removed broken --with-flock-locks option. [Bjoern Fernhomberg]
340 * FIX: libatalk: Do not log network probe (OSX 10.3). [Didier Gautheron]
341 * FIX: libatalk: Deadlock in signal handlers. [Didier]
342 * FIX: libatalk: Compilation with Linux kernel 2.6 fixed. [Sebastian, Bjoern]
343 * FIX: afpd: Solaris compile issues. [Bjoern]
344 * FIX: afpd: If connection broke in dsi_tickle the child did never die. [Bjoern]
345 * FIX: afpd: Catsearch, fixes a possible segmentation fault. [Bjoern]
346 * FIX: afpd: Compilation issues. [Olaf Hering, Sebastian]
347 * FIX: cnid: Fix compile problems on Tru64. [Burkhard Schmidt]
348 * FIX: megatron: Fixed an uninitialized variable. [Olaf]
349 * FIX: installation: Don't overwrite PAM file if --enable-overwrite configure
350        option is not set. [Sam, Ryan Cleary]
351 * FIX: installation: Fixed BSD installation. [Toru TAKAMIZU]
352 * FIX: docs: Removed ssl-dir/ssl-dirs confusion from doc/INSTALL. [Bjoern]
353
354 Changes in 1.6.3
355 ================
356
357 * UPD: afpd: Infrastructural support for an upcoming Kerberos 5 UAM.
358        [Sam Noble]
359 * UPD: uams_dhx_passwd: Better random seed in Tru64. [Burkhard Schmidt]
360 * FIX: afpd: Bug in AFP connection negotiation stage. [Sam]
361 * FIX: afpd: Catsearch, when Mac and unix name differ, search on attributes.
362 * FIX: afpd: Files could be opened for writing on read-only filesystems.
363 * FIX: afpd: Debugging using SIGUSR1 was broken. [Stefan Muenkner]
364 * FIX: afpd: Segfault after login. [Robby Griffin, Sean Bolton]
365 * FIX: psf: Correct path to etc2ps.sh.
366 * FIX: shell_utils: Don't distribute generated files.
367 * FIX: aecho: -A option didn't work. [Chris Shiels]
368 * FIX: configure: Berkeley DB path detection could be wrong. [Stefan]
369 * FIX: Automake build fixes.
370
371 Changes in 1.6.2
372 ================
373
374 * FIX: atalkd: Fixes for reading long configuration file lines. [Dan Wilga]
375 * FIX: afpd: CNID id allocation in a multiuser environment.
376 * FIX: papd: Fix PSSP support when PAM is enabled.
377 * FIX: macusers: Can now cope with IP addresses as well as host names.
378 * FIX: etc2ps.sh: Install correctly.
379
380 Changes in 1.6.1
381 ================
382
383 * UPD: Improve --enable-fhs. [Olaf Hering]
384 * UPD: Add BDB 4.1.x support.
385 * UPD: Add more documentation on CNID, as well as list which versions
386        of Berkeley DB are supported.
387 * FIX: Codepage file maccode.koi8-r is now correctly cleaned.
388 * FIX: Fix init script location on SuSE. [Olaf]
389 * FIX: Build fixes. [Olaf, Steven N. Hirsch]
390 * FIX: Various bugs when a user doesn't have access permission to a folder.
391        (Fixes an OSX kernel panic.)
392 * FIX: CNID, folders' DID handling with concurrent access or symlinks.
393        (Fixes an endless loop in afpd.)
394
395 Changes in 1.6.0
396 ================
397
398 * FIX: pap looks at the STDOUT file descriptor to see if it's connected to
399        a tty, instead of STDIN.
400
401 Changes in 1.6pre2
402 ==================
403
404 * UPD: Removed --with-catsearch option from configure and enable FPCatSearch
405        by default.
406 * UPD: The dbpath argument does now support variable substitution.
407 * FIX: Build fix for non-GNU-C compilers in libatalk/util/logger.c.
408 * FIX: Two directories with the same name but different case confused the
409        Mac Finder.
410 * FIX: The ROOT_PARENT directory could get invalidated.
411
412 Changes in 1.6pre1
413 ====================
414
415 * NEW: Long file name mangling support.
416 * NEW: Improved log file support.
417 * NEW: Server-side find capability ("FPCatSearch")
418 * NEW: Concurrent datastore (CDB) is now the default CNID datastore.  This
419        should be heavily tested in a multiuser environment.
420 * NEW: Variable substitution support has been added for the dbpath AppleVolume
421        option.
422 * UPD: CNID DID handling is now enabled by default.
423 * FIX: Various bug and build fixes as well as code cleanups.
424
425 Changes in 1.5.5
426 ================
427
428 * NEW: Allow afpd debugging to be enabled by sending the afpd process
429        a SIGUSR1.
430 * NEW: Allow SLP to be disabled per afpd process by adding a new -noslp flag
431        to afpd.conf.
432 * FIX: Use server name (if not NULL) for the SLP URL.
433 * FIX: papd: buffer overflow during config file read (Olaf Hering)
434
435 Changes in 1.5.4
436 ================
437
438 * FIX: File open read only and then read write (aka pb with Illustrator).
439 * FIX: Problems with unexpected EOF when reading files on a ddp connection
440        Photoshop, old finder.
441 * FIX: --with-nls-dir option does now work
442
443 Changes in 1.5.3
444 ================
445
446 * UPD: Extend the --disable-shell-check functionality to ignore users
447        with _no_ shell.  Also, send a log message if a user is refused login
448        based on the fact that they have no shell.
449 * UPD: Autoconf updates.
450 * UPD: Tru64 afpd authentication updates.
451 * UPD: As always: lots of minor code cleanups.
452 * FIX: Problems with Photoshop trying to open image files has been
453        corrected.
454 * FIX: Preserve special permission bits when creating or modifying
455        directories.
456 * FIX: afp_deleteid() now deletes the specified file and not the parent
457        directory.
458 * FIX: papd does now announce that it supports binary data to its clients.
459 * FIX: NetBSD ELF support.
460 * FIX: acleandir.rc is now installed in the bin directory.
461 * FIX: megatron does now compile even if compiled with -DDEBUG.
462 * FIX: Clean up some syslog messages.
463
464 Changes in 1.5.2
465 ================
466
467 * NEW: NetBSD support contributed by David Rankin and NetBSD contributors.
468        This includes a new configure option --enable-netbsd.
469 * NEW: Add the -client_polling afpd.conf flag to allow for clients to poll
470        the server every 10 seconds for open window updates.  Currently
471        this is the only way to get asynchronous directory updates.
472 * UPD: Use separate macro for AFS configure check.
473 * UPD: Some Perl scripts are now (partially) auto-generated. This improves
474        out-of-the-box usage of Netatalk.
475 * UPD: Solaris Kernel Makefile is now auto-generated. This fixes some path
476        issues, but isn't perfect, yet. Added some Solaris compatibility
477        fixes to the Kernel sources, too.
478 * UPD: CNID DB code sync'd with the current CVS version.  NOTE: Using this
479        code requires you to delete _all_ existing .AppleDB directories in
480        order to avoid database corruption!
481 * FIX: The file AppleVolumes.system contained wrong line breaks so that
482        not all file types were properly recognized.
483 * FIX: AFS compilation would fail due to a misnamed variable.
484 * FIX: SLP configure check was wrong so SLP did not compile.
485 * FIX: Fix the way quotas are handled under certain situations.
486 * FIX: Do not enable debugging code if debugging option is not set.
487 * FIX: Some problems with wrongly assigned DIDs were fixed.
488 * FIX: Various bug fixes and code cleanups.
489
490 Changes in 1.5.1
491 ================
492
493 * NEW: Added a program called cnid_didname_verify that can be used to
494        verify the consistency of the CNID database.
495 * NEW: New afpd option: -timeout. Warning: This still doesn't do what it's
496        supposed to!
497 * UPD: Code cleanups and compatibility fixes to macusers.
498 * UPD: AppleVolumes.system was cleaned up.
499 * FIX: Really fix Tru64 compilation (see last entry).
500 * FIX: Hand correct error value back to AFP client when deleting files or
501        directories fails.
502 * FIX: Leading or trailing spaces are now forbidden on volumes that have
503        the AFPVOL_MSWINDOWS flag set.
504 * FIX: Minor code cleanups and warning fixes.
505 * FIX: Make quota support work on FreeBSD.
506
507 Changes in 1.5.0
508 ================
509
510 * FIX: Compilation on Tru64 systems was broken, since libtool's acinclude.m4
511        file on the packagers system did not contain the necessary patch.
512 * FIX: On some systems, atalkd refuses to start, since it couldn't detect
513        any interfaces. This was caused by an overzealous validity check.
514
515 Changes in 1.5rc2
516 =================
517
518 * FIX: contrib/shell_utils/lp2pap.sh was erased when "make clean" was called.
519        Now we distribute lp2pap.sh.tmpl instead, and lp2pap.sh is automatically
520        generated during package build.
521 * FIX: Some platforms (notably Tru64) don't have the snprintf() call, which
522        was used in etc/afp/afp_config.c. This call was replaced by sprintf()
523        and prior bounds checking.
524
525 Changes from the 1.4b1 release:
526 ===============================
527
528 *   Fixed the maximum free/total volume size in afpd.
529
530 *   Made ~ the default volume in afpd.
531
532 *   Fixed pid file handling and changed setpgrp() to setpgid() in afpd,
533     papd, and atalkd.
534
535 *   Added code to afpd to set the Unix file time stamps with utime().
536
537 *   Fixed a bug in papd's printcap code which limited it to 15 or so
538     printers.
539
540 *   Fixed papd's handling of piped printers.
541
542 *   Fixed papd's handling of bad job names.
543
544 *   Fixed atalkd to send NBP LKUP packets from NBP port.
545
546 *   Added "sync;sync;sync" to Solaris kinstall to help with streams
547     file corruption.
548
549 *   Added nlocalrts to streams ddp.conf.  Thanks Thomas Tornblom.
550
551 *   Fixed signed extension infinite loop in Solaris module.
552
553 *   Moved all the config files to .../config.
554
555 Changes from the 1.3.3 release:
556 ===============================
557
558 *   Added code from Sun Microsystems, Inc (OPCOM) for Solaris support.
559     See COPYRIGHT.
560
561 *   Added support for FreeBSD, mostly changes by Mark Dawson and Julian
562     Elischer.
563
564 *   All sorts of other stuff.
565
566 Changes from the 1.3.1 release:
567 ===============================
568
569 *   Added options to psf's filter names to support accounting on HPs.
570     !!! NOTE:  The location of the filters has changed, see the man
571     page for where.
572
573 *   Added code from Alan Cox to support Linux.
574
575 *   Rewrote papd.  Now handles dropped connections better.
576     Configuration has been modernized.  !!! NOTE: The format of the
577     configuration file has changed, but NOT THE NAME.
578
579 *   Added Kerberos support to papd.
580
581 *   atalkd now removes routes on a SIGTERM.  Still can't just restart
582     it, but it's closer.
583
584 *   Changed atalkd and the kernel driver to remove a hack added to
585     support sending to 0.255.  Now the kernel will allow multiple open
586     sockets with the same port, so long as the addess associated with
587     the port is different.  atalkd now opens a socket for each port on
588     each interface.
589
590 *   atalkd now rewrites its configuration file.  If no configuration
591     file is given, one will be generated.  Permissions on the new
592     configuration file will be inherited from the old one.  If there is
593     no old one, permissions default to 644.  Won't rewrite the file if
594     the owner doesn't have write permission.
595
596 *   Removed support for the "AFS Kerberos UAM", in favor of the
597     "AuthMan UAM".  Kerberos support should now be much more
598     straight-forward.
599
600 *   Fixed a bug in afpd which would cause incorrect group calculations
601     on ultrix machines.
602
603 *   Fixed a bug in afpd which causes SimpleText and some other
604     applications to silently fail to write.  There's also a bug in
605     MacOS, but we can't fix that.
606
607 *   Fixed a bad interaction with afpd and AFS which would cause file
608     writes to not propogate between AFS clients.
609
610 *   !!! CHANGED the name(s) of afpd's config files.  The new files are
611     AppleVolumes.system and AppleVolumes.default.  If AppleVolumes.system
612     exists, it is always read, AppleVolumes.default is only read if the
613     user has no AppleVolumes file.  Included a flag "-u" to indicate
614     which file has precedence.  "-u" user wins, otherwise ".system"
615     wins.
616
617 *   Rewrote the AppleVolumes parsing code.  Now works.
618
619 *   Added a filename extension mapping to afpd.  User always takes
620     precedence, regardless of the "-u" flag.  Code to change the type
621     of all Unix files contributed by Kee Hinckley <nazgul@utopia.com>.
622
623 *   afpd now supports both UFS and AFS volumes simultaneously.  It also
624     uses access() to attempt to calculate reasonable Mac permissions
625     for AFS directories.
626
627 *   Changed reporting of file times.  Files that are written from Unix
628     now update the Mac's idea of the files modification time.  Unix
629     mtime is now reported instead of ctime.
630
631 *   Added support for a new UAM to afpd.  This requires that client
632     Macs have MacTCP and AuthMan installed.  Should make running afpd
633     for AFS easier.
634
635 *   Removed code so that otherwise valid volumes for which the mounting
636     user has no permission will appear in the volume selection dialog
637     on the Mac gray-ed out.
638
639 *   Added code from Chris Metcalf of MIT to the AppleDouble library
640     which improves permission inheritance.
641
642 *   Added code from G. Paul Ziemba of Alantec, Inc to better report
643     errors in psf.  Also changed psf to use syslog for errors that
644     users aren't interested in.
645
646 *   Added information to psf's man page to better explain the
647     interaction between psf, pap, and lpd.
648
649 *   Make psf/pap/psa do accounting when it's turnes on in
650     /etc/printcap.
651
652 *   Changed pap's error message when there is no printer specified on
653     the command line and no .paprc is found.  Also heavily modified
654     pap's man page to reflect changes in the "new" version of pap,
655     including moving it from section 8 to section 1.
656
657 *   Fixed a byte-order bug in pap's sequence numbers.  Doubt if pap has
658     ever worked right on little endian machines!
659
660 *   Added a flag to pap to optionally close before receiving EOF from
661     the printer.  Off by default.  psf calls pap with this option on.
662
663 *   Added timeouts to the nbp library calls.  This means that processes
664     won't hang when atalkd dies during boot, thus hanging your
665     machine.
666
667 Changes from the 1.3 release:
668 =============================
669
670 *   Fixed a bug in afpd which would cause APPL mappings to contain both
671     mac and unix path names.  The fixed code will handle the old
672     (corrupted) database.
673
674 *   Fixed a *very* serious bug which would cause files to be corrupted
675     when copying to afpd.
676
677 *   Fixed a bug in afpd which would cause replies to icon writes to
678     contain the written icon.
679
680 *   Filled in the function code switch in afpd.  Previously, a hacker
681     could probably have used afpd to get unauthorized access to a
682     machine running afpd.
683
684 *   Fixed a bug in the asp portion of libatalk.a which could cause the
685     malloc()/free() database to be corrupted.
686
687 *   Fixed a bug in atalkd's zip query code.  With this bug, only the
688     first N % 255 nets get queried.  However, since nets bigger than
689     255 are usually pretty unstable, the unqueried for nets will
690     eventually get done, when N drops by one.
691
692 *   Suppressed a spurious error ("route: No such process") in atalkd.
693
694 Changes from the 1.2.1 release:
695 ===============================
696
697 *   atalkd is completely rewritten for phase 2 support.  atalkd.conf
698     from previous version will not work!
699
700 *   afpd now has better AFS support.  In particular, the configuration
701     for AFS was made much easier; a number of Kerberos-related
702     byte-ordering and time problems were found; clear-text passwords
703     were added (thanks to geeb@umich.edu).
704
705 *   afpd now handles Unix permissions much better (thanks to
706     metcalf@mit.edu).
707
708 *   There are many, many more changes, but most are small bug fixes.
709
710 Changes from the 1.2 release:
711 =============================
712
713 *   The Sun support now uses loadable kernel modules (a la VDDRV)
714     instead of binary patches. As such, it should work on any sunos
715     greater than 4.1, and is confirmed to work under 4.1.1 and 4.1.2.
716
717 *   The DEC support no longer requires source. It also runs under
718     ultrix 4.1 and 4.2. It still requires patching your kernel, but the
719     patches are limited to those files available to binary-only sites
720     -- primarily hooks for things like netatalk.
721
722 *   The etc.rc script now uses changes made to nbprgstr (see below).
723
724 *   aecho now takes machine names on the command line.
725
726 *   nbplkup now takes a command line argument specifying the number of
727     responses to accept. It also takes its defaults from the NBPLKUP
728     environment variable.
729
730 *   nbprgstr may be used to register a name at any requested port.
731
732 *   afpd now logs if an illegal shell is used during login, instead of
733     silently denying service.
734
735 *   A bug in afpd which caused position information for the directory
736     children of the root of a volume to be ignored has been fixed.
737
738 *   Several typos in afpd which would cause include files necessary to
739     ultrix to be skipped have been fixed.
740
741 *   atalkd will no long propagate routes to networks whose zone
742     it doesn't know.
743
744 *   atalkd no longer dumps core if it receives a ZIP GetMyZone request
745     from a network whose zone it doesn't know. (Since this currently
746     can only happen from off net, it's not precisely a legal request.)
747
748 *   pap and papd (optionally) no longer check the connection id in PAP
749     DATA responses. Both also maintain the function code in non-first-packet
750     PAP DATA responses.  These changes are work-arounds to deal with
751     certain AppleTalk printer cards, notably the BridgePort LocalTalk
752     card for HP LJIIISIs.
753
754 *   pap no longer sends an EOF response to each PAP SENDDATA request,
755     only the first.
756
757 *   A bug in papd which would cause it to return a random value when
758     printing the procset to a piped printer has been fixed.
759
760 *   A bug relating to NBP on reverse-endian machines has been fixed.
761
762 *   atp_rsel() from libatalk now returns a correct value even if it
763     hasn't recieved anything yet.
764
765 *   atalk_addr() from libatalk no longer accepts addresses in octal
766     format, since AppleTalk addresses can have leading zeros. Also it
767     checks that the separator character is a '.'.
768
769 *   Pseudo man pages for nbplkup, nbprgstr, and nbpunrgstr, have been
770     added.
771
772 *   The example in the psf(8) man page is now correct.
773
774 *   The man pages for changed commands have been updated.
775
776 *   The README files for various machine have been updated
777     appropriately.