]> arthur.barton.de Git - netatalk.git/blob - NEWS
Fix an error where catalog search gave incomplete results
[netatalk.git] / NEWS
1 Changes in 2.2.5
2 ================
3
4 * FIX: Fix errors searching volumes
5
6 Changes in 2.2.4
7 ================
8
9 * FIX: Missing UAM links
10 * FIX: Lockup in AFP logout on Fedora 17
11 * FIX: Reset signal handlers and alarm timer after successfull PAM
12        authentication. Fixes a problem with AFP disconnects caused
13        by pam_smbpass.so messing with our handlers and timer.
14 * FIX: afpd: Fix a possible problem with sendfile on Solaris derived
15        platforms
16
17 Changes in 2.2.3
18 ================
19
20 * NEW: afpd: support for mdnsresponder
21 * NEW: afpd: new LDAP config option ldap_uuid_string
22 * UPD: based on Unicode 6.1.0
23 * UPD: experimental systemd service files: always run both afpd and cnid_metad
24 * UPD: afpd: Ensure our umask is not altered by eg pam_umask
25 * UPD: afpd: Use GSS_C_NO_NAME as server principal when Kerberos options -fqdn
26        and -krb5service are not set, from Jamie Gilbertson
27 * UPD: afpd: Changed behaviour for TimeMachine volumes in case there's a problem
28        talking to the CNID daemons. Previously the volume was flagged read-only
29        and an AFP message was sent to the client. As this might result in
30        TimeMachine assuming the backup sparse bundle is damaged, we now just
31        switch the CNID database to an in-memory tdb without the additional stuff.
32 * FIX: afpd: sendfile() on FreeBSD was broken, courtesy of Denis Ahrens
33 * FIX: afpd: Dont use searchdb when doing partial name search
34 * FIX: afpd: Fix a possible bug handling disconnected sessions,
35        NetAFP Bug ID #16
36 * FIX: afpd: Close IPC fds in afpd session child inherited from the afpd
37        master process
38 * FIX: dbd: Don't remove BerkeleyDB if it's still in use by eg cnid_dbd, fixes
39        bug introduced in 2.2.2
40 * FIX: debian initscript: start avahi-daemon (if available) before atalkd
41 * FIX: Zeroconf could not advertise non-ASCII time machine volume name
42
43 Changes in 2.2.2
44 ================
45
46 * NEW: afpd: New option "adminauthuser". Specifying eg "-adminauthuser root"
47        whenever a normal user login fails, afpd tries to authenticate as
48        the specified adminauthuser. If this succeeds, a normal session is
49        created for the original connecting user. Said differently: if you
50        know the password of adminauthuser, you can authenticate as any other
51        user.
52 * NEW: configure option "--enable-suse-systemd" for openSUSE12.1 and later.
53        "--enable-redhat-systemd" and "--enable-suse-systemd" are same as
54        "--enable-systemd".
55        "--enable-suse" is renamed "--enable-suse-sysv".
56 * NEW: experimental systemd service files in distrib/systemd/
57 * UPD: afpd: Enhanced POSIX ACL mapping semantics, from Laura Mueller
58 * UPD: afpd: Reset options every time a :DEFAULT: line is found in a
59        AppleVolumes file
60 * UPD: afpd: Convert passwords from legacy encoding (wire format) to host
61        encoding, NetAFP Bug ID #14
62 * UPD: afpd: Don't set ATTRBIT_SHARED flag for directories
63 * UPD: afpd: Use sendfile() on Solaris and FreeBSD for sending data
64 * UPD: afpd: Faster volume used size calculation for "volsizelimit" option,
65        cf man AppleVolume.default for details
66 * FIX: afpd: ACL access checking
67 * FIX: afpd: Fix an error when duplicating files that lacked an AppleDouble
68        file which lead to a possible Finder crash
69 * FIX: afpd: Read-only filesystems lead to afpd processes running as root
70 * FIX: afpd: Fix for filesystem without NFSv4 ACL support on Solaris
71 * FIX: afpd: Fix catsearch bug, NetAFP Bug ID #12
72 * FIX: afpd: Fix dircache bug, NetAFP Bug ID #13
73 * FIX: dbd: Better checking for duplicated or bogus CNIDs from AppleDouble
74        files
75 * FIX: dbd: Remove BerkeleyDB database environment after running `dbd`. This
76        is crucial for the automatic BerkeleyDB database upgrade feature which
77        is built into cnid_dbd and dbd.
78 * FIX: Fix compilation error when AppleTalk support is disabled
79 * FIX: Portability fixes
80 * FIX: search of surrogate pair
81
82 Changes in 2.2.1
83 ================
84
85 * NEW: afpd: disable continous service feature by default, new option
86        -keepsessions to enable it
87 * NEW: configure option "--enable-redhat-systemd" for Fedora15 and later.
88        "--enable-redhat" is renamed "--enable-redhat-sysv".
89 * UPD: afpd: Enhance ACL support detection for volumes: enable them per volume
90        if
91        1) ACL support compiled in, 2) the volume supports ACLs, 3) the new
92        volume option "noacls" is not set for the volume.
93        The previous behaviour was to enable ACL support for a volume if
94        1) it was compiled in and 2) the volume supported ACLs. There was no way
95        to disable ACLs for a volume.
96 * UPD: afpd: add a configurable hold time option to FCE file modification event
97        generation, default is 60 s, new option "fceholdfmod" to change it
98 * UPD: afpd: add support for new NetBSD quota subsystem, Bug ID 3249879
99 * FIX: afpd: increase BerkeleyDB locks and lockobjs
100 * FIX: afpd: create special folder as root
101 * FIX: afpd: fix compilation error if --enable-ddp is used
102 * FIX: afpd: More robust IPC reconnect error handling
103 * FIX: afpd: ACL access checking
104 * FIX: afpd: fix a possible race condition between SIGCHLD handler and
105        new connection attempts
106 * FIX: afpd: fix undefined behaviour when more then ~510 connetions where
107        established
108 * FIX: afpd: fix a crash when searching for a UUID that is not a special
109        local UUID and LDAP support is not compiled in
110 * FIX: afpd: .volinfo file not created on first volume access if user in rolist
111 * FIX: afpd: possible crash at startup when registering with Avahi
112        when Avahi is not running
113 * FIX: afpd: return correct user/group type when mapping UUIDs to names
114 * FIX: afpd: for directories add DARWIN_ACE_DELETE ACE
115        if DARWIN_ACE_ADD_SUBDIRECTORY is set
116 * FIX: afpd: afpd crashed when it failed to register with Avahi because eg
117        user service registration is disabled in the Avahi config
118 * FIX: dbd: function checking and removing malformed ad:ea header files failed
119        to chdir back to the original working directory
120 * FIX: cnid_dbd: increase BerkeleyDB locks and lockobjs
121 * FIX: cnid_dbd: implement -d option, deletes CNID db
122 * FIX: dbd: better detection of local (or SMB/NFS) modifications on AFP volumes
123 * FIX: suse: initscript return better status
124 * FIX: Sourcecode distribution: add missing headers
125 * FIX: Solaris 10: missing dirfd replacement function
126 * FIX: case-conversion of surrogate pair
127 * FIX: Compilation error on GNU/kFreeBSD, fixes Bug ID 3392794 and
128        Debian #630349
129 * FIX: Fix Debian Bug#637025
130 * FIX: Multiple *BSD compilation compatibility fixes, Bug ID 3380785
131 * FIX: precompose_w() failed if tail character is decomposed surrogate pair
132
133 Changes in 2.2.0
134 ==============
135
136 * NEW: afpd: new volume option "nonetids"
137 * NEW: afpd: ACL access check caching
138 * NEW: afpd: FCE event notifications
139 * NEW: afpd: new option "-mimicmodel" for specifying Bonjour model registration
140 * UPD: Support for Berkeley DB 5.1
141 * UPD: case-conversion is based on Unicode 6.0.0
142 * UPD: cnid_metad: allow up to 4096 volumes
143 * UPD: afpd: only forward SIGTERM and SIGUSR1 from parent to childs
144 * UPD: afpd: use internal function instead of popening du -sh in order to
145        calculate the used size of a volume for option "volsizelimit"
146 * UPD: afpd: Add negative UUID caching, enhance local UUID handling
147 * FIX: afpd: configuration reload with SIGHUP
148 * FIX: afpd: crashes in the dircache
149 * FIX: afpd: Correct afp logout vs dsi eof behaviour
150 * FIX: afpd: new catsearch was broken
151 * FIX: afpd: only use volume UUIDs in master afpd
152 * FIX: dbd: Multiple fixes, reliable locking
153 * FIX: ad file suite: fix an error that resulted in CNID database
154        inconsistencies
155
156 Changes in 2.2beta4
157 ===================
158
159 * NEW: afpd: new afpd.conf options "tcprcvbuf" and "tcpsndbuf" to customize
160        the corresponding TCP socket options.
161 * NEW: afpd: new afpd.conf option "nozeroconf" which disabled automatic
162        Zeroconf service registration.
163 * FIX: afpd: generate mersenne primes for DHX2 UAM once at startup,
164        not for every login
165 * FIX: afpd: DSI streaming deadlock
166 * FIX: afpd: extended sleep
167 * FIX: afpd: directory cache
168 * FIX: Support for platforms that do not have the *at functions
169 * UPD: afpd: put POSIX write lock on volume files while reading them
170
171 Changes in 2.2beta3
172 ===================
173
174 * FIX: afpd: fix option volsizelimit to return a usefull value for the
175        volume free space using `du -sh` with popen
176 * FIX: afpd: fix idle connection disconnects
177 * FIX: afpd: don't disconnect sessions for clients if boottimes don't match
178 * FIX: afpd: better handling of very long filenames that contain many
179        multibyte UTF-8 glyphs
180
181 Changes in 2.2beta2
182 ====================
183
184 * NEW: afpd: AFP 3.3
185 * UPD: afpd: AFP 3.x can't be disabled
186
187 Changes in 2.2beta1
188 ====================
189
190 * FIX: composition of Surrogate Pair
191 * UPD: gentoo,suse,cobalt,tru64: inistscript name is "netatalk", not "atalk"
192 * UPD: gentoo: rc-update install don't hook in the Makefile
193
194 Changes in 2.2alpha5
195 ====================
196
197 * UPD: afpd: new option "searchdb" which enables fast catalog searches
198        using the CNID db.
199 * UPD: Case-insensitive fast search with the CNID db
200 * UPD: cnid_dbd: afpd now passes the volume path, not the db path when
201        connecting for a volume. cnid_dbd will read the
202        ".AppleDesktop/.volinfo" file of the volume in order to figure
203        out the CNID db path and the volume charset encoding.
204
205 Changes in 2.2alpha4
206 ====================
207
208 * NEW: Enhanced CNID "dbd" database for fast name search support.
209        Important: this makes cnidscheme "cdb" incompatible with "dbd".
210 * NEW: afpd: support for fast catalog searches
211 * NEW: ad utility: ad find
212 * UPD: afpd: CNID database versioning check for "cdb" scheme
213 * UPD: cnid_dbd: CNID database versioning and upgrading. Additional
214        CNID database index for fast name searches.
215
216 Changes in 2.2alpha3
217 ====================
218
219 * FIX: afpd: various fixes
220 * FIX: Any daemon did not run if atalkd doesn't exist (redhat/debian)
221
222 Changes in 2.2alpha2
223 ====================
224
225 * FIX: afpd: fix compilation error when ACL support is not available
226 * FIX: Ensure Appletalk manpages and config files are distributed
227
228 Changes in 2.2alpha1
229 ====================
230
231 * NEW: ad utility: ad cp
232 * NEW: ad utility: ad rm
233 * NEW: ad utility: ad mv
234 * NEW: afpd: dynamic directoy and CNID cache (new config option -dircachesize)
235 * NEW: afpd: POSIX 1e ACL support
236 * NEW: afpd: automagic Zeroconf registration with avahi, registering both
237        the service _afpovertcp._tcp and TimeMachine volumes with _adisk._tcp.
238 * UPD: afpd: ACLs usable (though not visible on the client side) without common
239        directory service, by mapping ACLs to UARight
240 * UPD: afpd: performance improvements for ACL access calculations
241 * UPD: AppleTalk is disabled by default at configuration time. If needed
242        use configure switch --enable-ddp.
243 * FIX: afpd: Solaris 10 compatibilty fix: don't use SO_SNDTIMEO/SO_RCVTIMEO,
244        use non-blocking IO and select instead.
245 * FIX: cnid_dbd: Solaris 10 compatibilty fix: don't use SO_SNDTIMEO/SO_RCVTIMEO,
246        use non-blocking IO and select instead.
247 * REM: afile/achfile/apple_cp/apple_mv/apple_rm: use ad
248
249 Changes in 2.1.6
250 ================
251
252 * FIX: afpd: Fix for LDAP user cache corruption
253 * FIX: afpd: Fix for not shown ACLs for when filesyem uid or gid
254        couldn't be resolved because (eg deleted users/groups)
255 * FIX: gentoo: cannot set $CNID_CONFIG
256 * FIX: ubuntu: servername was empty
257 * FIX: Solaris: configure script failed to enable DDP module
258 * FIX: AppleDouble buffer overrun by extremely long filename
259 * UPD: afpd: return version info with machine type in DSIGetStatus
260 * UPD: dbd: use on-disk temporary rebuild db instead of in-memory db
261 * UPD: suse: initscript update
262
263 Changes in 2.1.5
264 ================
265
266 * UPD: afpd: support newlines in -loginmesg with \n escaping syntax
267 * UPD: afpd: support for changed chmod semantics on ZFS with ACLs
268        in onnv145+
269 * FIX: afpd: fix leaking ressource when moving objects on the server
270 * FIX: afpd: backport Solaris 10 compatibilty fix from 2.2: don't use
271        SO_SNDTIMEO/SO_RCVTIMEO, use non-blocking IO and select instead.
272 * FIX: afpd: misaligned memory access on Sparc in ad_setattr, fixes
273        bug 3110004.
274 * FIX: cnid_dbd: backport Solaris 10 compatibilty fix from 2.2: don't
275        use SO_SNDTIMEO/SO_RCVTIMEO, use non-blocking IO and select instead.
276
277 Changes in 2.1.4
278 ================
279
280 * FIX: afpd: Downstream fix for FreeBSD PR 148022
281 * FIX: afpd: Fixes for bugs 3074077 and 3074078
282 * FIX: afpd: Better handling of symlinks in combination with ACLs and EAs.
283        Fixes bug 3074076.
284 * FIX: dbd: Adding a file with the CNID from it's adouble file did
285        not work in case that CNID was already occupied in the database
286 * FIX: macusers: add support for Solaris
287 * NEW: cnid_metad: use a PID lockfile
288 * NEW: afpd: prevent log flooding
289 * UPD: dbd: ignore ".zfs" snapshot directories
290 * UPD: dbd: support interrupting -re mode
291
292 Changes in 2.1.3
293 ================
294
295 * FIX: afpd: fix a serious error in networking IO code
296 * FIX: afpd: Solaris 10 compatibilty fix: don't use SO_SNDTIMEO, use
297        non-blocking IO and select instead for writing/sending data.
298 * UPD: Support for BerkeleyDB 5.0.
299
300 Changes in 2.1.2
301 ================
302
303 * FIX: afpd: fix for possible crash in case more then one server is
304        configured in afpd.conf.
305 * FIX: afpd: ExtendedAttributes in FreeBSD
306 * FIX: afpd: sharing home folders corrupted the per volume umask.
307 * UPD: afpd: umask for home folders is no longer taken from startup umask.
308 * UPD: afpd: dont and permissions with parent folder when creating new
309        directories on "upriv" volumes.
310 * UPD: afpd: use 'afpserver@fqdn' instead of 'afpserver/fqdn@realm'.
311        Prevents a crash in older GNU GSSAPI libs on eg. CentOS 5.x.
312  
313 Changes in 2.1.1
314 ================
315
316 * UPD: fallback to a temporary in memory tdb CNID database if the volume
317        database can't be opened now works with the default backend "dbd" too.
318 * FIX: afpd: afp_ldap.conf was missing from tarball. This only effected
319        [Open]Solaris.
320 * FIX: afpd: Check if options->server is set in set_signature, preventing
321        SIGSEGV.
322 * FIX: afpd: server signature wasn't initialized in some cases
323 * FIX: DESTDIR support: DESTDIR was expanded twice
324 * FIX: Fix for compilation error if header files of an older Netatalk
325        version are installed.
326
327 Changes in 2.1-release
328 ======================
329
330 * NEW: afpd: new volume option "volsizelimit" for limitting reported volume
331        size. Useful for limitting TM backup size.
332 * UPD: dbd: -c option for rebuilding volumes which prevents the creation
333        of .AppleDouble stuff, only removes orphaned files.
334
335 Changes in 2.1-beta2
336 ====================
337
338 * NEW: afpd: static generated AFP signature stored in afp_signature.conf,
339        cf man 5 afp_signature.conf
340 * NEW: afpd: clustering support: new per volume option "cnidserver".
341 * UPD: afpd: set volume defaults options "upriv" and "usedots" in the
342        volume config file AppleVolumes.default. This will only affect
343        new installations, but not upgrades.
344 * FIX: afpd: prevent security attack guessing valid server accounts. afpd
345        now returns error -5023 for unknown users, as does AppleFileServer.
346
347 Changes in 2.1-beta1
348 ====================
349
350 * NEW: afpd: AFP 3.2 support
351 * NEW: afpd: Extended Attributes support using native attributes or
352        using files inside .AppleDouble directories.
353 * NEW: afpd: ACL support with ZFS
354 * NEW: cnid_metad: options -l and -f to configure logging
355 * NEW: IPv6 support
356 * NEW: AppleDouble compatible UNIX files utility suite `ad ...`.
357        With 2.1 only `ad ls`.
358 * NEW: CNID database maintanance utility dbd
359 * NEW: support BerkeleyDB upgrade. Starting with the next release
360        after 2.1 in case of BerkeleyDB library updates, Netatalk
361        will be able to upgrade the CNID databases.
362 * NEW: afpd: store and read CNIDs to/from AppleDouble files by default.
363        This is used as a cache and as a backup in case the database
364        is deleted or corrupted. It can be disabled with a new volume
365        option "nocnidcache".
366 * NEW: afpd: sending SIGINT to a child afpd process enables debug logging
367        to /tmp/afpd.PID.XXXXXX.
368 * NEW: configure args to download and install a "private" Webmin instance
369        including only basic Webmin modules plus our netatalk.wbm.
370 * NEW: fallback to a temporary in memory tdb CNID database if the volume
371        database can't be opened.
372 * NEW: support for Unicode characters in the range above U+010000 using
373        internal surrogate pairs
374 * NEW: apple_dump: utility to dump AppleSingle and AppleDouble files
375 * NEW: afpldaptest: utility to check afp_ldap.conf.
376 * UPD: atalkd and papd are now disabled by default. AppleTalk is legacy.
377 * UPD: slp advertisement is now disabled by default. server option -slp
378        SRVLOC is legacy.
379 * UPD: cdb/dbd CNID backend requires BerkeleyDB >= 4.6
380 * UPD: afpd: default CNID backend is "dbd"
381 * UPD: afpd: try to install PAM config that pulls in system|common auth
382 * UPD: afpd: symlink handling: never followed server side, client resolves
383        them, so it's safe to use them now.
384 * UPD: afpd: Comment out all extension->type/creator mappings in
385        AppleVolumes.system. They're unmaintained, possibly wrong and
386        do not fit for OS X.
387 * FIX: rewritten logger
388 * FIX: afpd: UNIX permissions handling
389 * FIX: cnid_dbd: always use BerkeleyDB transactions
390 * FIX: initscripts installation now correctly uses autoconf paths,
391        ie they're installed to --sysconfdir.
392 * FIX: UTF-8 volume name length
393 * FIX: atalkd: workaround for broken Linux 2.6 AT kernel module:
394        Linux 2.6 sends broadcast queries to the first available socket
395        which is in our case the last configured one. atalkd now tries to
396        find the right one.
397        Note: now a misconfigured or plugged router can broadcast a wrong route !
398 * REM: afpd: removed CNID backends "db3", "hash" and "mtab"
399 * REM: cnid_maint: use dbd
400 * REM: cleanappledouble.pl: use dbd
401 * REM: nu: use `macusers` instead
402
403 Changes in 2.0.5
404 ================
405
406 * NEW: afpd: Time Machine support with new volume option "tm".
407 * FIX: papd: Remove variable expansion for BSD printers. Fixes CVE-2008-5718.
408 * FIX: afpd: .AppleDxxx folders were user accessible if option 'usedots'
409        was set 
410 * FIX: afpd: vetoed files/dirs where still accessible
411 * FIX: afpd: cnid_resolve: don't return '..' as a valid name.
412 * FIX: uniconv: -d option wasn't working
413
414 Changes in 2.0.4
415 ================
416
417 * REM: remove timeout 
418 * NEW: afpd: DHX2 uams using GNU libgcrypt.
419 * NEW: afpd: volume options 'illegalseq', 'perm' and 'invisibledots'
420        'ilegalseq'  encode illegal sequence in filename asis, ex "\217-", which is not 
421        a valid SHIFT-JIS char, is encoded  as U\217 -.
422        'perm' value OR with the client requested permissions. (help with OSX 10.5
423        strange permissions).
424        Make dot files visible by default with 'usedots', use 'invisibledots' 
425        for keeping the old behavior, ie for OS9 (OSX hide dot files on its
426        own).
427 * NEW: afpd: volume options allow_hosts/denied hosts
428 * NEW: afpd: volume options dperm/fperm default directory and file
429        permissions or with server requests.
430 * NEW: afpd: afpd.conf, allow line continuation with \ 
431 * NEW: afpd: AppleVolumes.default allow line continuation with \
432 * NEW: afpd: Mac greek encoding.
433 * NEW: afpd: CJK encoding.
434 * UPD: afpd: Default UAMs: DHX + DHX2
435 * FIX: afpd: return the right error in createfile and copyfile if the disk
436        is full.
437 * FIX: afpd: resolveid return the same error code than OSX if it's a directory
438 * FIX: afpd: server name check, test for the whole loopback subnet 
439        not only 127.0.0.1.
440 * UPD: afpd: limit comments size to 128 bytes, (workaround for Adobe CS2 bug).
441 * UPD: afpd: no more daemon icon.
442 * UPD: usedots, return an invalide name only for .Applexxx files used by netatalk not
443        all files starting with .apple.
444 * UPD: cnid: increase the number of cnid_dbd slots to 512.
445 * FIX: cnid: dbd detach the daemon from the control terminal.
446 * UPD: cnid: never ending Berkeley API changes...
447 * UPD: cnid: dbd add a timeout when reading data from afpd client.
448 * UPD: cnid: Don't wait five second after the first error when speaking to the dbd
449        backend.
450 * FIX: papd: vars use % not $
451 * FIX: papd: quote chars in popen variables expansion. security fix.
452 * FIX: papd: papd -d didn't write to stderr.
453 * FIX: papd: ps comments don't always use ()
454 * FIX: many compilation errors (solaris, AFS, Tru64, xfs quota...).
455
456 Changes in 2.0.3
457 ================
458
459 * NEW: afpd: add a cachecnid option that controls if afpd should 
460        use the IDs stored in the AD2 files as cache. Defaults
461        to off.
462 * UPD: afpd: deal with more than 32 groups.
463 * FIX: afpd: several catsearch fixes, based on patch from
464        TSUBAKIMOTO Hiroya.
465 * FIX: afpd: fix a race when a client very quickly reconnects and 
466        tries to kill its old session.
467 * FIX: afpd: OSX style symlink caused problems with Panther clients.
468 * FIX: afpd: old files with default type didn't show the right icon
469        in finder, from Shlomi Yaakobovich, slightly modified.
470 * FIX: cnid_check: disable cnid_check if CNID db was configured with
471        transactions and really bail out after the first error.
472 * FIX: admin-group configure option was broken.
473 * FIX: several problems with IDs cached in AD2 files.
474 * FIX: Ignore BIDI in UTF8 hints from OSX.
475 * FIX: Lots of gcc warning fixes.
476 * FIX: small configure script changes.
477
478
479 Changes in 2.0.2
480 ================
481
482 * NEW: cnid: Add an indexes check and rebuild, optional for dbd 
483        (parameter check default no), standalone program cnid_index for
484        cdb.
485 * UPD: Enhanced afpd's -v command line switch and added -V for more 
486        verbose information
487 * UPD: uams_gss: build the principal used by uams_gss.so from afpd's
488        configuration, don't use GSS_C_NT_HOSTBASED_SERVICE
489 * UPD: cnid_dbd: add process id in syslog and small clean up
490 * REM: remove netatalkshorternamelinks.pl cf. SF bug [ 1061396 ]
491        netatalkshorternamelinks.pl broken
492 * FIX: afpd: check for DenyRead on FPCopyFile
493 * FIX: afpd: add missing flush for AD2 Metadata on FPCopyFile, SF bug 
494        [ 1055691 ] Word 98 OS 9 Saving an existing file
495 * FIX: afpd: Deal with AFP3 connection and type 2 (non-UTF8) names.
496        reported by Gair Heaton, HI RESOLUTION SYSTEMS
497 * FIX: afpd: Broken 'crlf' option
498 * FIX: afpd: fix SF bug [ 1079622 ] afpd/dhx memory bug, 
499        by Ralf Schuchardt
500 * FIX: afpd: Return an error if we cannot get the db stamp in 
501        afp_openvol.
502 * FIX: afpd: Fix slp registration with Solaris9 slpd, from
503        hat at fa2.so-net.ne.jp
504         
505
506 Changes in 2.0.1
507 ================
508
509 * NEW: --enable-debian configure option. Will install /etc/init.d/atalk
510        to get not in conflict with standard debian /etc/init.d/netatalk.
511        Reads netatalk.conf from $ETCDIR and not from /etc/default/
512 * UPD: Disable logger code by default. Log to syslog instead
513 * UPD: changed netatalk.conf default settings to prevent problems with
514        AppleTalk zone names containing spaces
515 * FIX: insecure tempfile handling bug in etc2ps.sh,
516        found by Trustix, CAN-2004-0974.
517 * REM: remove add_netatalk_printer and netatalk.template from stable 
518        branch until fixed. (possible symlink vulnerabilities)
519 * FIX: afpd: set hasBeenInited in default finder info. This bug caused 
520        endless finder refreshes with OS9 finder if the noadouble option 
521        was used. From TSUBAKIMOTO Hiroya.
522 * FIX: afpd: fix a bug in default CREATOR/TYPE handling. Due to this bug 
523        the type/creator mappings in AppleVolumes.system were ignored, 
524        causing problems i.e. with OS9 clients.
525 * FIX: AppleVolumes.system: By default don't define a CREATOR/TYPE for a
526        file of unknown type.
527 * FIX: fix two Tru64 UNIX compilation errors, 
528        from Burkhard Schmidt bs AT cpfs.mpg.de
529 * FIX: afpd: FPMapId wasn't using UTF8 for groups if requested by client.       
530
531 Changes in 2.0.0
532 ================
533
534 * UPD: afpd: add an error message if -ipaddr parameter cannot be parsed
535 * UPD: updated documentation
536 * FIX: afpd: fix a file descriptor and memory leak with OSX ._ resource fork
537 * FIX: afpd: Prevent overwriting a file by renaming a file in the same 
538        directory to the same name. Won't work with OSX, the dest file gets 
539        deleted by OSX first.
540 * FIX: sometimes '0' was used instead of 0 for creator/type
541 * FIX: removed setpgrp check from configure, we don't use it anymore and
542        it doesn't work with cross compile.
543 * FIX: fix for Solaris "make maintainer-clean", from Alexander Barton
544 * FIX: fix username matching bug in afppasswd. from kanai at nadmin dot org
545 * FIX: reworked username check a little. Depending on the UAM, the wrong
546        username _could_ have been selected.
547
548 Changes in 2.0-rc2
549 ==================
550
551 * UPD: use 0 0 for default creator/type rather than UNIX TEXT, from
552        Shlomi Yaakobovich.
553 * UPD: updated documentation
554 * UPD: change machine type from Macintosh to Netatalk in status reply
555 * FIX: afpd: CopyFile only create a resource fork for destination if source
556        has one.
557 * FIX: afpd: mangling: for utf8 --> max filename length is 255 bytes, else 31.
558 * FIX: cnid_dbd: fix a signed/unsigned, 16/32 bits mismatch. from Burkhard
559        Schmidt, bs at cpfs.mpg.de.
560 * FIX: afpd: After ad_setid don't flush resource fork if it has not been
561        modified.
562 * FIX: NEWS: Fixed ancient NEWS entries. Removed umlauts
563 * FIX: fix macname cache, SF bug 1021642
564 * FIX: revert Makefile change from 2.0-rc1. We have to include BDB_CFLAGS
565        after CFLAGS
566
567 Changes in 2.0-rc1
568 ==================
569
570 * NEW: new manual page for asip-status.pl
571 * UPD: updated documentation
572 * UPD: uams: link uam_dhx_passwd.so to lcrypt before lcrypto. might help with
573        MD5 passwords
574 * UPD: Improved BerkeleyDB detection
575 * UPD: sys/solaris/Makefile.in: enable 'make check', from Alexander Barton
576 * UPD: tcp wrappers detection should work on OpenBSD as well now
577 * UPD: macbin: increase the maximum size of macbinary forks, as suggested by 
578        Sourceforge bug ID 829221
579 * UPD: ASP: rework getstatus. use several ASP packets if the client allows
580        it, otherwise just send as much as we can
581 * FIX: FreeBSD 5 build, from Alex Barton (alex at barton.de)
582 * FIX: OSX 10.3 build
583 * FIX: papd: workaround a problem with PJL before Postscript
584 * FIX: afpd: make sure we only disconnect on old session if the users match
585 * FIX: apfd: Quark6 mangled long filenames should work better now
586 * FIX: enhance ADv1 to ADv2 conversion. Fixed a SIGSEGV reported by Mark Baker
587 * FIX: better detection of invalid resource forks
588 * FIX: fix some linking problems on OpenBSD
589 * FIX: afpd: catsearch.c, filedir.c: fix bogus casts, from Olaf Hering 
590        (olh at suse.de)
591 * FIX: afpd: don't try to create special folders and .volinfo on read-only
592        volumes
593 * FIX: iconv/unicode enhancements. fixed a sigsegv on conversion error
594 * FIX: configure.in: fix a typo, reported by Joerg Rossdeutscher
595 * FIX: uniconv: enhanced uniconv behaviour
596 * FIX: fixed some Solaris compilation problems
597 * FIX: papd/Makefile.am: add a missing $DESTDIR, from Vlad Agranovsky
598 * FIX: afpd: quota.c: remove a c99 declaration, from Yann Rouillard
599 * FIX: configure.in: Solaris/gcc 3.0 fix, from Yann Rouillard
600 * FIX: afpd: fix a SIGSEGV when sharing home dirs without any options in 
601        AppleVolumes.
602 * FIX: numerous small bugfixes
603
604 Changes in 2.0-beta2
605 ====================
606
607 * NEW: atalkd, papd and npb tools now support nbpnames with extended
608        characters
609 * NEW: integrated CUPS support for papd
610 * NEW: optionally advertise SSH tunneling capabilties
611 * NEW: automatic logfile removal for cnid_metad
612 * NEW: asip-status.pl has been added to netatalk
613 * UPD: updated documentation
614 * UPD: we now require Berkeley DB >= 4.1
615 * UPD: 64bit Linux fixes from Stew Benedict, Mandrakesoft
616 * UPD: remove --enable-sendfile
617 * UPD: more verbose error messages
618 * FIX: better handling for resource forks without read access
619 * FIX: Tru64 build, by Burkhard Schmidt
620 * FIX: MIT Kerberos detection
621 * FIX: varios *BSD compile problems
622 * FIX: compile problem with libiconv, reported by Joe Marcus Clarke
623 * FIX: adv1tov2: make it work with the new structure
624 * FIX: afpd: filenames longer than 127 bytes were not enumerated correctly,
625        reported by Thies C. Arntzen
626 * FIX: afpd: return IP before FQDN in status reply.
627 * FIX: afpd: Mac chooser could crash on a codepage conversion error
628 * FIX: afpd: KerberosV auth with Panther clients, make long AD tickets work,
629        reported by Andrew Smith
630 * FIX: atalkd: could send invalid NBPLKUP replies, e.g with more than 15
631        printers. Reported by Almacha
632 * FIX: papd: fix papd.conf parsing problems with consecutive ':' and missing 
633        newline. Reported by Craig White.
634 * FIX: megatron: make megatron work with UTF-8 volumes
635 * FIX: timeout: running timeout with commands which accept arguments, 
636        from Yuval Yeret.
637 * FIX: uniconv: fix a SEGFAULT, reported by Matthew Geier
638 * FIX: pam detection: PAM_C/LDFLAGS were always empty, from Alexander Barton
639 * FIX: numerous small bugfixes.
640
641 Changes in 2.0-beta1
642 ====================
643
644 * NEW: OSX style adouble scheme
645 * NEW: japanese SHIFT_JIS codepage (iconv supplied)
646 * NEW: Solaris kernel module build integrated with configure
647 * NEW: Gentoo start scripts
648 * NEW: cnid_dbd doesn't use transactions by default
649 * FIX: afpd: the volume casefold option was broken
650 * FIX: afpd: update AD2 headers and keep owner on file exchange
651 * FIX: Solaris 9 and FreeBSD 4.9/5.2 compilation
652 * FIX: free space reported with groups quotas on Linux
653 * FIX: OS9/OS X didn't update free space
654 * FIX: finder crash if folder opened got deleted by another process
655 * FIX: randnum UAM wasn't AFP3 ready
656 * FIX: numerous small bugfixes.
657
658 Changes in 2.0-alpha2
659 =====================
660
661 * NEW: uniconv tool for converting volume encoding.
662 * NEW: afpd: Make sure getstatus doesn't return loopback address as server IP.
663 * NEW: afpd: Specify USEDOTS with MSWINDOWS implicitely.
664 * NEW: afpd: SRVLOC register with IP address instead of hostname by default,
665        if -fqdn is specified register with FQDN.  Added extended character 
666        support for SLP, non ASCII characters are escaped Added ZONE to registration.
667 * NEW: atalkd: Make atalkd set interfaces to ALLMULTI on linux by default.
668 * NEW: cnid_metad: Use DB_PRIVATE attribute for dbd backend without transaction.
669 * FIX: afpd: Partial workaround for an OSX client deadlock.
670 * FIX: afpd: Reenumerate folder if db is out of sync in resolveID.
671 * FIX: afpd: Don't modify modification date in copyfile.
672 * FIX: afpd: Variable $v substitution: always use name defined in config files.
673 * FIX: libatalk: Speed optimisation for byte locking was broken on resource fork.
674 * FIX: Solaris 9 compilation.
675 * FIX: Tru64 compilation fixes.
676 * FIX: AFS compilation fixes.
677 * FIX: strncpy bugfix.
678 * FIX: configure, man pages update and small bugfixes.
679
680 Changes in 2.0-alpha1
681 =====================
682
683 * NEW: afpd: We now support AFP 3.x, which features long filenames and 
684        large file support
685 * NEW: CNID handling completely reworked. We now use per Volume configurable
686        CNID backends.
687 * NEW: Two new daemons, cnid_metad and cnid_dbd to implement the dbd CNID backend.
688        Using Berkeley DB transactions with the CNID database should be safe now.
689 * NEW: The on disk format of the CNID database has changed. We now support 8 byte
690        device and inode numbers and an additinal type field that should make 
691        detection of file/directory changes outside of afpd more robust. 
692        Changed from HASH to BTREE access which speeds things up in certain cases 
693        and reduces database file size.
694 * NEW: Long file name mangling is now implemented using the CNID ID, so no database is 
695        required to map names to mangled names. This is the same method Mac OS X uses. 
696 * NEW: New format (version 2) for Metadata in AppleDouble files. We record device and  
697        inode of the underlying file as well as the CNID. This can be used for recovery
698        and speeds up access to the CNID.
699 * NEW: The old NLS codepage system has been removed. It was replaced by an iconv 
700        based conversion system, which provides much more flexibility.
701 * NEW: You can safely use extended characters in volume names and for SIGUSR2 messaging.
702 * NEW: The default volume encoding is UTF-8.
703 * NEW: All documentation is now generated using DocBook. New or completely reworked 
704        sections about installing, setting up and upgrading Netatalk replace various 
705        README files in the doc directory.
706 * FIX: Protect afpd better against unexpected signals during updates of the CNID
707        database with the cdb backend. This makes database corruption less likely.   
708 * FIX: All manpages have been reviewed and should now be up to date.
709 * FIX: Tons of bug fixes since 1.6.4. Please consults the CVS change log for details.
710
711 Changes in 1.6.4
712 ================
713
714 * NEW: afpd: Using the mswindows option now implicitly specifies usedots.
715   [Sam Noble]
716 * UPD: afpd.8: Updated the option documentation.
717   [Thomas Kaiser, Sebastian Rittau]
718 * FIX: configure: Removed broken --with-flock-locks option. [Bjoern Fernhomberg]
719 * FIX: libatalk: Do not log network probe (OSX 10.3). [Didier Gautheron]
720 * FIX: libatalk: Deadlock in signal handlers. [Didier]
721 * FIX: libatalk: Compilation with Linux kernel 2.6 fixed. [Sebastian, Bjoern]
722 * FIX: afpd: Solaris compile issues. [Bjoern]
723 * FIX: afpd: If connection broke in dsi_tickle the child did never die. [Bjoern]
724 * FIX: afpd: Catsearch, fixes a possible segmentation fault. [Bjoern]
725 * FIX: afpd: Compilation issues. [Olaf Hering, Sebastian]
726 * FIX: cnid: Fix compile problems on Tru64. [Burkhard Schmidt]
727 * FIX: megatron: Fixed an uninitialized variable. [Olaf]
728 * FIX: installation: Don't overwrite PAM file if --enable-overwrite configure
729        option is not set. [Sam, Ryan Cleary]
730 * FIX: installation: Fixed BSD installation. [Toru TAKAMIZU]
731 * FIX: docs: Removed ssl-dir/ssl-dirs confusion from doc/INSTALL. [Bjoern]
732
733 Changes in 1.6.3
734 ================
735
736 * UPD: afpd: Infrastructural support for an upcoming Kerberos 5 UAM.
737        [Sam Noble]
738 * UPD: uams_dhx_passwd: Better random seed in Tru64. [Burkhard Schmidt]
739 * FIX: afpd: Bug in AFP connection negotiation stage. [Sam]
740 * FIX: afpd: Catsearch, when Mac and unix name differ, search on attributes.
741 * FIX: afpd: Files could be opened for writing on read-only filesystems.
742 * FIX: afpd: Debugging using SIGUSR1 was broken. [Stefan Muenkner]
743 * FIX: afpd: Segfault after login. [Robby Griffin, Sean Bolton]
744 * FIX: psf: Correct path to etc2ps.sh.
745 * FIX: shell_utils: Don't distribute generated files.
746 * FIX: aecho: -A option didn't work. [Chris Shiels]
747 * FIX: configure: Berkeley DB path detection could be wrong. [Stefan]
748 * FIX: Automake build fixes.
749
750 Changes in 1.6.2
751 ================
752
753 * FIX: atalkd: Fixes for reading long configuration file lines. [Dan Wilga]
754 * FIX: afpd: CNID id allocation in a multiuser environment.
755 * FIX: papd: Fix PSSP support when PAM is enabled.
756 * FIX: macusers: Can now cope with IP addresses as well as host names.
757 * FIX: etc2ps.sh: Install correctly.
758
759 Changes in 1.6.1
760 ================
761
762 * UPD: Improve --enable-fhs. [Olaf Hering]
763 * UPD: Add BDB 4.1.x support.
764 * UPD: Add more documentation on CNID, as well as list which versions
765        of Berkeley DB are supported.
766 * FIX: Codepage file maccode.koi8-r is now correctly cleaned.
767 * FIX: Fix init script location on SuSE. [Olaf]
768 * FIX: Build fixes. [Olaf, Steven N. Hirsch]
769 * FIX: Various bugs when a user doesn't have access permission to a folder.
770        (Fixes an OSX kernel panic.)
771 * FIX: CNID, folders' DID handling with concurrent access or symlinks.
772        (Fixes an endless loop in afpd.)
773
774 Changes in 1.6.0
775 ================
776
777 * FIX: pap looks at the STDOUT file descriptor to see if it's connected to
778        a tty, instead of STDIN.
779
780 Changes in 1.6pre2
781 ==================
782
783 * UPD: Removed --with-catsearch option from configure and enable FPCatSearch
784        by default.
785 * UPD: The dbpath argument does now support variable substitution.
786 * FIX: Build fix for non-GNU-C compilers in libatalk/util/logger.c.
787 * FIX: Two directories with the same name but different case confused the
788        Mac Finder.
789 * FIX: The ROOT_PARENT directory could get invalidated.
790
791 Changes in 1.6pre1
792 ====================
793
794 * NEW: Long file name mangling support.
795 * NEW: Improved log file support.
796 * NEW: Server-side find capability ("FPCatSearch")
797 * NEW: Concurrent datastore (CDB) is now the default CNID datastore.  This
798        should be heavily tested in a multiuser environment.
799 * NEW: Variable substitution support has been added for the dbpath AppleVolume
800        option.
801 * UPD: CNID DID handling is now enabled by default.
802 * FIX: Various bug and build fixes as well as code cleanups.
803
804 Changes in 1.5.5
805 ================
806
807 * NEW: Allow afpd debugging to be enabled by sending the afpd process
808        a SIGUSR1.
809 * NEW: Allow SLP to be disabled per afpd process by adding a new -noslp flag
810        to afpd.conf.
811 * FIX: Use server name (if not NULL) for the SLP URL.
812 * FIX: papd: buffer overflow during config file read (Olaf Hering)
813
814 Changes in 1.5.4
815 ================
816
817 * FIX: File open read only and then read write (aka pb with Illustrator).
818 * FIX: Problems with unexpected EOF when reading files on a ddp connection
819        Photoshop, old finder.
820 * FIX: --with-nls-dir option does now work
821
822 Changes in 1.5.3
823 ================
824
825 * UPD: Extend the --disable-shell-check functionality to ignore users
826        with _no_ shell.  Also, send a log message if a user is refused login
827        based on the fact that they have no shell.
828 * UPD: Autoconf updates.
829 * UPD: Tru64 afpd authentication updates.
830 * UPD: As always: lots of minor code cleanups.
831 * FIX: Problems with Photoshop trying to open image files has been
832        corrected.
833 * FIX: Preserve special permission bits when creating or modifying
834        directories.
835 * FIX: afp_deleteid() now deletes the specified file and not the parent
836        directory.
837 * FIX: papd does now announce that it supports binary data to its clients.
838 * FIX: NetBSD ELF support.
839 * FIX: acleandir.rc is now installed in the bin directory.
840 * FIX: megatron does now compile even if compiled with -DDEBUG.
841 * FIX: Clean up some syslog messages.
842
843 Changes in 1.5.2
844 ================
845
846 * NEW: NetBSD support contributed by David Rankin and NetBSD contributors.
847        This includes a new configure option --enable-netbsd.
848 * NEW: Add the -client_polling afpd.conf flag to allow for clients to poll
849        the server every 10 seconds for open window updates.  Currently
850        this is the only way to get asynchronous directory updates.
851 * UPD: Use separate macro for AFS configure check.
852 * UPD: Some Perl scripts are now (partially) auto-generated. This improves
853        out-of-the-box usage of Netatalk.
854 * UPD: Solaris Kernel Makefile is now auto-generated. This fixes some path
855        issues, but isn't perfect, yet. Added some Solaris compatibility
856        fixes to the Kernel sources, too.
857 * UPD: CNID DB code sync'd with the current CVS version.  NOTE: Using this
858        code requires you to delete _all_ existing .AppleDB directories in
859        order to avoid database corruption!
860 * FIX: The file AppleVolumes.system contained wrong line breaks so that
861        not all file types were properly recognized.
862 * FIX: AFS compilation would fail due to a misnamed variable.
863 * FIX: SLP configure check was wrong so SLP did not compile.
864 * FIX: Fix the way quotas are handled under certain situations.
865 * FIX: Do not enable debugging code if debugging option is not set.
866 * FIX: Some problems with wrongly assigned DIDs were fixed.
867 * FIX: Various bug fixes and code cleanups.
868
869 Changes in 1.5.1
870 ================
871
872 * NEW: Added a program called cnid_didname_verify that can be used to
873        verify the consistency of the CNID database.
874 * NEW: New afpd option: -timeout. Warning: This still doesn't do what it's
875        supposed to!
876 * UPD: Code cleanups and compatibility fixes to macusers.
877 * UPD: AppleVolumes.system was cleaned up.
878 * FIX: Really fix Tru64 compilation (see last entry).
879 * FIX: Hand correct error value back to AFP client when deleting files or
880        directories fails.
881 * FIX: Leading or trailing spaces are now forbidden on volumes that have
882        the AFPVOL_MSWINDOWS flag set.
883 * FIX: Minor code cleanups and warning fixes.
884 * FIX: Make quota support work on FreeBSD.
885
886 Changes in 1.5.0
887 ================
888
889 * FIX: Compilation on Tru64 systems was broken, since libtool's acinclude.m4
890        file on the packagers system did not contain the necessary patch.
891 * FIX: On some systems, atalkd refuses to start, since it couldn't detect
892        any interfaces. This was caused by an overzealous validity check.
893
894 Changes in 1.5rc2
895 =================
896
897 * FIX: contrib/shell_utils/lp2pap.sh was erased when "make clean" was called.
898        Now we distribute lp2pap.sh.tmpl instead, and lp2pap.sh is automatically
899        generated during package build.
900 * FIX: Some platforms (notably Tru64) don't have the snprintf() call, which
901        was used in etc/afp/afp_config.c. This call was replaced by sprintf()
902        and prior bounds checking.
903
904 Changes from the 1.4b1 release:
905 ===============================
906
907 *   Fixed the maximum free/total volume size in afpd.
908
909 *   Made ~ the default volume in afpd.
910
911 *   Fixed pid file handling and changed setpgrp() to setpgid() in afpd,
912     papd, and atalkd.
913
914 *   Added code to afpd to set the Unix file time stamps with utime().
915
916 *   Fixed a bug in papd's printcap code which limited it to 15 or so
917     printers.
918
919 *   Fixed papd's handling of piped printers.
920
921 *   Fixed papd's handling of bad job names.
922
923 *   Fixed atalkd to send NBP LKUP packets from NBP port.
924
925 *   Added "sync;sync;sync" to Solaris kinstall to help with streams
926     file corruption.
927
928 *   Added nlocalrts to streams ddp.conf.  Thanks Thomas Tornblom.
929
930 *   Fixed signed extension infinite loop in Solaris module.
931
932 *   Moved all the config files to .../config.
933
934 Changes from the 1.3.3 release:
935 ===============================
936
937 *   Added code from Sun Microsystems, Inc (OPCOM) for Solaris support.
938     See COPYRIGHT.
939
940 *   Added support for FreeBSD, mostly changes by Mark Dawson and Julian
941     Elischer.
942
943 *   All sorts of other stuff.
944
945 Changes from the 1.3.1 release:
946 ===============================
947
948 *   Added options to psf's filter names to support accounting on HPs.
949     !!! NOTE:  The location of the filters has changed, see the man
950     page for where.
951
952 *   Added code from Alan Cox to support Linux.
953
954 *   Rewrote papd.  Now handles dropped connections better.
955     Configuration has been modernized.  !!! NOTE: The format of the
956     configuration file has changed, but NOT THE NAME.
957
958 *   Added Kerberos support to papd.
959
960 *   atalkd now removes routes on a SIGTERM.  Still can't just restart
961     it, but it's closer.
962
963 *   Changed atalkd and the kernel driver to remove a hack added to
964     support sending to 0.255.  Now the kernel will allow multiple open
965     sockets with the same port, so long as the addess associated with
966     the port is different.  atalkd now opens a socket for each port on
967     each interface.
968
969 *   atalkd now rewrites its configuration file.  If no configuration
970     file is given, one will be generated.  Permissions on the new
971     configuration file will be inherited from the old one.  If there is
972     no old one, permissions default to 644.  Won't rewrite the file if
973     the owner doesn't have write permission.
974
975 *   Removed support for the "AFS Kerberos UAM", in favor of the
976     "AuthMan UAM".  Kerberos support should now be much more
977     straight-forward.
978
979 *   Fixed a bug in afpd which would cause incorrect group calculations
980     on ultrix machines.
981
982 *   Fixed a bug in afpd which causes SimpleText and some other
983     applications to silently fail to write.  There's also a bug in
984     MacOS, but we can't fix that.
985
986 *   Fixed a bad interaction with afpd and AFS which would cause file
987     writes to not propogate between AFS clients.
988
989 *   !!! CHANGED the name(s) of afpd's config files.  The new files are
990     AppleVolumes.system and AppleVolumes.default.  If AppleVolumes.system
991     exists, it is always read, AppleVolumes.default is only read if the
992     user has no AppleVolumes file.  Included a flag "-u" to indicate
993     which file has precedence.  "-u" user wins, otherwise ".system"
994     wins.
995
996 *   Rewrote the AppleVolumes parsing code.  Now works.
997
998 *   Added a filename extension mapping to afpd.  User always takes
999     precedence, regardless of the "-u" flag.  Code to change the type
1000     of all Unix files contributed by Kee Hinckley <nazgul@utopia.com>.
1001
1002 *   afpd now supports both UFS and AFS volumes simultaneously.  It also
1003     uses access() to attempt to calculate reasonable Mac permissions
1004     for AFS directories.
1005
1006 *   Changed reporting of file times.  Files that are written from Unix
1007     now update the Mac's idea of the files modification time.  Unix
1008     mtime is now reported instead of ctime.
1009
1010 *   Added support for a new UAM to afpd.  This requires that client
1011     Macs have MacTCP and AuthMan installed.  Should make running afpd
1012     for AFS easier.
1013
1014 *   Removed code so that otherwise valid volumes for which the mounting
1015     user has no permission will appear in the volume selection dialog
1016     on the Mac gray-ed out.
1017
1018 *   Added code from Chris Metcalf of MIT to the AppleDouble library
1019     which improves permission inheritance.
1020
1021 *   Added code from G. Paul Ziemba of Alantec, Inc to better report
1022     errors in psf.  Also changed psf to use syslog for errors that
1023     users aren't interested in.
1024
1025 *   Added information to psf's man page to better explain the
1026     interaction between psf, pap, and lpd.
1027
1028 *   Make psf/pap/psa do accounting when it's turnes on in
1029     /etc/printcap.
1030
1031 *   Changed pap's error message when there is no printer specified on
1032     the command line and no .paprc is found.  Also heavily modified
1033     pap's man page to reflect changes in the "new" version of pap,
1034     including moving it from section 8 to section 1.
1035
1036 *   Fixed a byte-order bug in pap's sequence numbers.  Doubt if pap has
1037     ever worked right on little endian machines!
1038
1039 *   Added a flag to pap to optionally close before receiving EOF from
1040     the printer.  Off by default.  psf calls pap with this option on.
1041
1042 *   Added timeouts to the nbp library calls.  This means that processes
1043     won't hang when atalkd dies during boot, thus hanging your
1044     machine.
1045
1046 Changes from the 1.3 release:
1047 =============================
1048
1049 *   Fixed a bug in afpd which would cause APPL mappings to contain both
1050     mac and unix path names.  The fixed code will handle the old
1051     (corrupted) database.
1052
1053 *   Fixed a *very* serious bug which would cause files to be corrupted
1054     when copying to afpd.
1055
1056 *   Fixed a bug in afpd which would cause replies to icon writes to
1057     contain the written icon.
1058
1059 *   Filled in the function code switch in afpd.  Previously, a hacker
1060     could probably have used afpd to get unauthorized access to a
1061     machine running afpd.
1062
1063 *   Fixed a bug in the asp portion of libatalk.a which could cause the
1064     malloc()/free() database to be corrupted.
1065
1066 *   Fixed a bug in atalkd's zip query code.  With this bug, only the
1067     first N % 255 nets get queried.  However, since nets bigger than
1068     255 are usually pretty unstable, the unqueried for nets will
1069     eventually get done, when N drops by one.
1070
1071 *   Suppressed a spurious error ("route: No such process") in atalkd.
1072
1073 Changes from the 1.2.1 release:
1074 ===============================
1075
1076 *   atalkd is completely rewritten for phase 2 support.  atalkd.conf
1077     from previous version will not work!
1078
1079 *   afpd now has better AFS support.  In particular, the configuration
1080     for AFS was made much easier; a number of Kerberos-related
1081     byte-ordering and time problems were found; clear-text passwords
1082     were added (thanks to geeb@umich.edu).
1083
1084 *   afpd now handles Unix permissions much better (thanks to
1085     metcalf@mit.edu).
1086
1087 *   There are many, many more changes, but most are small bug fixes.
1088
1089 Changes from the 1.2 release:
1090 =============================
1091
1092 *   The Sun support now uses loadable kernel modules (a la VDDRV)
1093     instead of binary patches. As such, it should work on any sunos
1094     greater than 4.1, and is confirmed to work under 4.1.1 and 4.1.2.
1095
1096 *   The DEC support no longer requires source. It also runs under
1097     ultrix 4.1 and 4.2. It still requires patching your kernel, but the
1098     patches are limited to those files available to binary-only sites
1099     -- primarily hooks for things like netatalk.
1100
1101 *   The etc.rc script now uses changes made to nbprgstr (see below).
1102
1103 *   aecho now takes machine names on the command line.
1104
1105 *   nbplkup now takes a command line argument specifying the number of
1106     responses to accept. It also takes its defaults from the NBPLKUP
1107     environment variable.
1108
1109 *   nbprgstr may be used to register a name at any requested port.
1110
1111 *   afpd now logs if an illegal shell is used during login, instead of
1112     silently denying service.
1113
1114 *   A bug in afpd which caused position information for the directory
1115     children of the root of a volume to be ignored has been fixed.
1116
1117 *   Several typos in afpd which would cause include files necessary to
1118     ultrix to be skipped have been fixed.
1119
1120 *   atalkd will no long propagate routes to networks whose zone
1121     it doesn't know.
1122
1123 *   atalkd no longer dumps core if it receives a ZIP GetMyZone request
1124     from a network whose zone it doesn't know. (Since this currently
1125     can only happen from off net, it's not precisely a legal request.)
1126
1127 *   pap and papd (optionally) no longer check the connection id in PAP
1128     DATA responses. Both also maintain the function code in non-first-packet
1129     PAP DATA responses.  These changes are work-arounds to deal with
1130     certain AppleTalk printer cards, notably the BridgePort LocalTalk
1131     card for HP LJIIISIs.
1132
1133 *   pap no longer sends an EOF response to each PAP SENDDATA request,
1134     only the first.
1135
1136 *   A bug in papd which would cause it to return a random value when
1137     printing the procset to a piped printer has been fixed.
1138
1139 *   A bug relating to NBP on reverse-endian machines has been fixed.
1140
1141 *   atp_rsel() from libatalk now returns a correct value even if it
1142     hasn't recieved anything yet.
1143
1144 *   atalk_addr() from libatalk no longer accepts addresses in octal
1145     format, since AppleTalk addresses can have leading zeros. Also it
1146     checks that the separator character is a '.'.
1147
1148 *   Pseudo man pages for nbplkup, nbprgstr, and nbpunrgstr, have been
1149     added.
1150
1151 *   The example in the psf(8) man page is now correct.
1152
1153 *   The man pages for changed commands have been updated.
1154
1155 *   The README files for various machine have been updated
1156     appropriately.