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