]> arthur.barton.de Git - netatalk.git/blob - ChangeLog
CNID/DID patch from Uwe Hees (moderately tested)
[netatalk.git] / ChangeLog
1
2 2001-08-14  jeff b  <jeff@univrel.pr.uconn.edu>
3
4         * acconfig.h, configure.in, etc/afpd/directory.c,
5         etc/afpd/enumerate.c, etc/afpd/file.c, etc/afpd/file.h,
6         etc/afpd/filedir.c, etc/afpd/fork.c, etc/afpd/volume.c,
7         etc/afpd/volume.h, libatalk/Makefile.am,
8         libatalk/cnid/cnid_add.c, libatalk/cnid/cnid_close.c,
9         libatalk/cnid/cnid_delete.c, libatalk/cnid/cnid_lookup.c,
10         libatalk/cnid/cnid_nextid.c, libatalk/cnid/cnid_open.c,
11         libatalk/cnid/cnid_private.h, libatalk/cnid/cnid_update.c:
12         DID database and reincluding libatalk/cnid back into
13         compiled tree (Uwe Hees)
14
15         * libatalk/cnid/.cvsignore: updated .cvsignore list for
16         CNID patch (Jeff)
17
18 2001-08-09  Sam Noble <ns@shadow.org>
19
20         * configure.in, acconfig.h: Merged a patch from meeroh@mit.edu
21         to fix the kerberos uam build process.
22
23 2001-08-08  jeff b  <jeff@univrel.pr.uconn.edu>
24
25         * etc/papd/session.c: prevents papd client from aborting
26         during the submission of a print job, therefore preventing
27         the job from hanging on the Mac (Michael Boers)
28
29 2001-07-10  Lance Levsen  <lance@iworks.pwgroup.ca>
30
31         * man/man8/papd.8.tmpl: Fixed ftp URI for Adobe's PPD files.
32         
33 2001-06-30  andy m  <morgan@orst.edu>
34
35         * etc/papd/ppd.c: "unquote" ppd values by removing leading
36         and trailing quote character. This should fix bug #426141.
37
38 2001-06-27  jeff b  <jeff@univrel.pr.uconn.edu>
39
40         * many, many, files: more malformed ifdef correction, nicer
41         comments, etc, etc, etc (Jeff)
42
43         * etc/afpd/directory.c, etc/afpd/uid.c, etc/afpd/uid.h: fixes
44         for force-uidgid to compile properly. haven't tested it, but
45         no more compile errors. (Jeff)
46
47 2001-06-27  uwe hees <hees@viva.de>
48
49         * etc/uams/uams_guest.c: fixed a typo.
50
51 2001-06-26  andy m  <morgan@orst.edu>
52
53         * etc/papd/file.c: modified markline() to return 1 instead
54         of *linelength for successful completion. This should fix
55         the remaining binary printing problems in papd.  Thanks go
56         out to Dave Arnold <darn0ld@home.com> for getting me thinking
57         about the markline function.
58
59 2001-06-25  jeff b  <jeff@univrel.pr.uconn.edu>
60
61         * etc/afpd/auth.c, etc/afpd/main.c, etc/afpd/uam.c,
62         etc/uams/uams_dhx_passwd.c, etc/uams/uams_passwd.c,
63         include/atalk/uam.h: TRU64 authentication patch to allow
64         any security scheme to be used on the TRU64 side (Burkhard
65         Schmidt)
66
67         * etc/afpd/uam.c, etc/papd/uam.c: fixed DISABLE_SHELLCHECK
68         support in both afpd and papd (Jason Keltz <jas@cs.yorku.ca>)
69
70         * etc/*/*.{c,h}: corrected malformed defines, nicer comments,
71         CVS Id tags (Jeff)
72
73 2001-06-20  jeff b  <jeff@univrel.pr.uconn.edu>
74
75         * configure.in: check for linux/quota.h before enabling
76         QUOTACTL_WRAPPER (Joe Clarke) 
77
78         * acconfig.h, configure.in, include/atalk/util.h,
79         libatalk/util/module.c: removed NO_DLFCN_H in favor of
80         ifndef HAVE_DLFCN_H (Jeff)
81
82         * configure.in, etc/afpd/*.{c,h}, include/atalk/util.h:
83         major autoconf fixes for afpd, nicer commenting, etc (Jeff)
84
85 2001-06-19  jeff b  <jeff@univrel.pr.uconn.edu>
86
87         * etc/afpd/file.c, etc/afpd/parse_mtab.c, etc/afpd/parse_mtab.h,
88         etc/atalkd/route.h, etc/atalkd/rtmp.c, etc/papd/headers.c,
89         etc/papd/magics.c, libatalk/asp/asp_tickle.c: patch for
90         fixed DID calculation in etc/afpd/file.c, FreeBSD errors and
91         other miscellany (Joe Clarke) 
92
93         * minor patches and fixes to the aforementioned files, warning
94         fixes with GCC, etc (Jeff)
95
96 2001-06-18  jeff b  <jeff@univrel.pr.uconn.edu>
97
98         * configure.in, etc/uams/Makefile.am,
99         etc/uams/uams_krb4/Makefile.am: patch #433952 from Sebastian
100         Rittau to move UAM authentication to use libtool
101
102         * configure.in, bin/afppasswd/Makefile.am, config/Makefile.am,
103         contrib/shell_utils/Makefile.am, distrib/initscripts/Makefile.am,
104         etc/afpd/Makefile.am, etc/afpd/nls/Makefile.am,
105         etc/atalkd/Makefile.am, etc/papd/Makefile.am,
106         man/man5/Makefile.am, man/man8/Makefile.am: patch #433906
107         to move to pkgconfdir for package config files (Sebastian Rittau)
108
109         * configure.in: fixed error that caused --with-did not to function
110         properly
111
112 2001-06-13  Sam Noble <ns@shadow.org>
113
114         * etc/papd/{printcap,ppd,lp,file,comment}.h:
115         added #include <sys/cdefs.h> to these headers so that __P gets
116         properly defined on platforms like TRU64
117
118 2001-06-11  jeff b  <jeff@univrel.pr.uconn.edu>
119
120         * configure.in, include/atalk/adouble.h, libatalk/compat/flock.c:
121         patch #431859 to avoid ucbinclude on Solaris, with flock support,
122         thanks to Russ Allbery (rra@users.sourceforge.net)
123
124         * acconfig.h, configure.in, libatalk/util/server_child.c,
125         libatalk/util/server_lock.c, sys/netatalk/endian.h: patch #432052
126         for portability to IRIX, HP-UX, and AIX (Russ Allbery)
127
128         * etc/afpd/nls/makecode.c: patch #432137 to add codepage mapping
129         support for (C), (TM) and other characters to avoid losing them,
130         submitted by Andre Schild (aschild@users.sourceforge.net)
131
132         * configure.in: set sysconfdir as /etc/netatalk by default, and
133         uams path now pulls from sysconfdir instead of config_dir
134         (Sam Noble)
135
136 2001-06-07  jeff b  <jeff@univrel.pr.uconn.edu>
137
138         * configure.in, bin/afppasswd/Makefile.am,
139         contrib/shell_utils/Makefile.am, distrib/initscripts/Makefile.am,
140         etc/afpd/Makefile.am, etc/afpd/nls/Makefile.am,
141         etc/atalkd/Makefile.am, etc/papd/Makefile.am,
142         man/man5/Makefile, man/man8/Makefile.am: patch #422872 from
143         Sebastian Rittau to move from CONFIG_DIR to sysconfdir
144
145         * etc/psf/Makefile.am, sys/solaris/Makefile: additional removal
146         of CONFIG_DIR in favor of sysconfdir, plus patch #422860 from
147         Sebastian Rittau to correct other problems
148
149         * config/Makefile.am, config/netatalk.pamd: patch #422856 from
150         Sebastian Rittau, moving to pam_unix.so and being more proper
151
152         * etc/afpd/Makefile.am, etc/afpd/main.c: added support for
153         ${sysconfdir}/afpd.mtab to be read into memory, so that mtab
154         DID support actually works...
155
156 2001-06-06  jeff b  <jeff@univrel.pr.uconn.edu>
157
158         * etc/afpd/filedir.c, etc/afpd/unix.c: fixed dropkludge code
159         so that it properly compiles again, along with minor warning
160         fixen
161
162 2001-06-05 Dan L. (pooba53)
163
164         * Modified configure.in so references made to $ac_prefix_default
165         listed at the beginning are correct. The previous references were
166         being made to $ac_default_prefix.
167
168 2001-06-04  jeff b  <jeff@univrel.pr.uconn.edu>
169
170         * doc/README.TRU64: details about tru64 installations, from
171         Edmund Lam <epl@unimelb.edu.au> 
172
173         * etc/afpd/fork.c: implemented Sebastian Rittau's change to
174         avoid overwriting AppleDouble headers (finally)
175
176         * configure.in, etc/afpd/enumerate.c, etc/afpd/parse_mtab.c:
177         added initial support for mtab DID format. removed "lastdid"
178         configure option in favor of --with-did={last,mtab}
179
180 2001-06-01  jeff b  <jeff@univrel.pr.uconn.edu>
181         * etc/afpd/quota.c: fix for Linux compile by Sam Noble
182         <ns@shadow.org>
183
184 2001-05-25  jeff b  <jeff@univrel.pr.uconn.edu>
185         * etc/uams/uams_passwd.c: another Tru64 fix from Burkhard
186         Schmidt <bs@cpfs.mpg.de>
187
188         * configure.in, contrib/shell_utils/Makefile.am,
189         contrib/shell_utils/afpd-mtab.pl, doc/Makefile.am,
190         doc/COPYRIGHT.mtab, doc/README.mtab, doc/README.mtab.distribution,
191         etc/afpd/.cvsignore, etc/afpd/Makefile.am, etc/afpd/parse_mtab.c,
192         etc/afpd/parse_mtab.h, test_parse_mtab.c: experimental mtab
193         code from Bob Rogers to generate more persistant DIDs
194
195 2001-05-22  jeff b  <jeff@univrel.pr.uconn.edu>
196         * configure.in, etc/afpd/unix.h: more portability fixes, and
197         integration of Tru64 build fix from Edmund Lam <epl@unimelb.edu.au>
198
199         * configure.in, bin/megatron/Makefile.am,
200         distrib/initscripts/Makefile.am, etc/afpd/main.c,
201         etc/afpd/quota.c, etc/afpd/unix.h,
202         etc/uams/uams_dhx_passwd.c, etc/uams/uams_passwd.c: Another
203         round of Tru64 patches from Burkhard Schmidt <bs@cpfs.mpg.de>
204
205 2001-05-09  jeff b  <jeff@univrel.pr.uconn.edu>
206         * autogen.sh: added automake --include-deps to autogen.sh to
207         promote more portable Makefiles (thanks to Christian
208         Weisgerber <naddy@mips.inka.de> from OpenBSD)
209
210 2001-05-08  jeff b  <jeff@univrel.pr.uconn.edu>
211
212         * bin/megatron/Makefile.am, etc/uams/Makefile.am: small Makefile fixes
213         from Olaf Hering <olh@suse.de>
214
215         * etc/uams/uams_dhx_passwd.c: Tru64 fixes from Burkhard Schmidt
216         <bs@cpfs.mpg.de>
217
218 2001-05-07  jeff b  <jeff@univrel.pr.uconn.edu>
219
220         * contrib/shell_utils/netatalkshorternamelinks.pl: added script to
221         shorten names
222
223         * etc/afpd/quota.c, etc/uams/uams_passwd.c: patches from Burkhard
224         Schmidt <bs@cpfs.mpg.de> to fix typos
225
226 2001-05-03  jeff b  <jeff@univrel.pr.uconn.edu>
227
228         * etc/afpd/quota.c, etc/afpd/unix.h, etc/afpd/main.c,
229         etc/uams/uams_passwd.c: Tru64 patch from Burkhard Schmidt <bs@cpfs.mpg.de>
230
231         * configure.in, etc/afpd/quota.c, etc/afpd/unix.h: fixes for USE_*_H
232         moving to autodetected HAVE_*_H from autoconf script
233
234 2001-05-01  jeff b  <jeff@univrel.pr.uconn.edu>
235
236         * bin/aecho/aecho.c, bin/getzones/getzones.c, bin/megatron/asingle.c,
237         bin/megatron/hqx.c, bin/megatron/macbin.c, bin/megatron/megatron.c,
238         bin/megatron/nad.c, bin/megatron/updcrc.c, libatalk/atp/atp_bprint.c,
239         libatalk/util/getiface.c: warnings patch from Sebastian Rittau
240         <srittau@users.sourceforge.net> (#420300)
241
242         * bin/afile/*: replacement for old restrictive afile from Sebastian
243         Rittau <srittau@users.sourceforge.net> (#420302)
244
245         * distrib/initscripts/rc.atalk.redhat.tmpl: daemon-specific start and
246         stop messages to the redhat initscript. nbpregister and unregister
247         messages are also displayed. This patch also permits spaces in zone
248         and machine names to be used in the variables. From Ryan Cleary
249         <tryanc@users.sourceforge.net> (#418094)
250
251         * bin/megatron/Makefile.am: patch to properly create links for
252         megatron, from Sebastian Rittau <srittau@users.sourceforge.net>
253         (#420446)
254
255 2001-04-25  morgan a <morgan@orst.edu>
256
257         * etc/afpd/unix.c: in setdirowner(), changed some of the syslog
258         statements from LOG_ERR to LOG_DEBUG.  Some common "soft errors"
259         were being logged and scaring users.  :)
260
261 2001-04-24  jeff b  <jeff@univrel.pr.uconn.edu>  
262
263         * configure.in: fixed problem with tcp_wrappers support; it needed to
264         check for tcpd_warn
265
266 2001-04-20  jeff b  <jeff@univrel.pr.uconn.edu>  
267
268         * configure.in, etc/afpd/Makefile.am, etc/papd/Makefile.am: added
269         AFPD_LIBS and PAPD_LIBS to cope with libraries that don't need to
270         be used for everything
271
272 2001-04-16  jeff b  <jeff@univrel.pr.uconn.edu>  
273
274         * etc/afpd/directory.c, etc/afpd/messages.c, etc/uams/uams_dhx_pam.c:
275         merged patch from Heath Kehoe <hkehoe@users.sourceforge.net> #416371,
276         fixing an OSX issue, byteorder problems with uid/gid in directory.c,
277         and fixing the syslog()'s in uams_dhx_pam.c to not produce useless
278         errors
279
280 2001-04-12  jeff b  <jeff@univrel.pr.uconn.edu>  
281
282         Released 1.5pre6
283
284 2001-04-10  jeff b  <jeff@univrel.pr.uconn.edu>  
285
286         * configure.in, acconfig.h, etc/afpd/uam.c: patch submitted by Jason
287         Kelitz (jkeltz) to allow disabling of shell checking
288
289         * configure.in, contrib/Makefile.am: made timelord compilation
290         optional, disabled by default
291
292 2001-04-03  jeff b  <jeff@univrel.pr.uconn.edu>  
293
294         * etc/afpd/file.c: merged patch from Soren Spies <sspies@apple.com>
295         at Apple, fixing server disconnect problem upon afp_createid() call
296
297 2001-04-02  jeff b  <jeff@univrel.pr.uconn.edu>  
298
299         * contrib/shell_utils/Makefile.am, contrib/shell_utils/cleanappledouble.pl:
300         added cleanappledouble.pl script from Heath Kehoe <hakehoe@avalon.net>
301
302 2001-03-26  jeff b  <jeff@univrel.pr.uconn.edu>  
303
304         * etc/afpd/quota.c: fix compile dbtob problem on Linux from Sam
305         Noble <ns@shadow.org>
306
307         * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am:
308         moved -shared into LDSHAREDFLAGS to fix Solaris build problems
309         from Bob Rogers <rogers-netatalk-devel@rgrjr.dyndns.org> and
310         Akop Pogosian <akopps@csua.berkeley.edu>
311
312 2001-03-22  Lance Levsen  <lance.l@dontspam.home.com>
313
314         * etc/uams/Makefile.am: Added $LDFLAGS to fix broken compile due
315         to inability to find libcrypto. libcrypto is defined in LDFLAGS as
316         "-L$ssldir/lib" in configure.
317
318 2001-03-22 12:57 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
319
320         * configure.in: patch for OpenBSD compile reported by Jean-Phillipe
321         Rey <jprey@ads.ecp.fr>
322
323 2001-03-21 09:35 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
324
325         * etc/afpd/ofork.c, include/atalk/adouble.h, libatalk/adouble/ad_open.c:
326         patch from Jonathan Paisley (jonp@chem.gla.ac.uk)
327
328 2001-03-14 13:30 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
329
330         * configure.in: patch from Yoshinobu Ishizaki to fix problems with
331         Linux 2.0.x builds (Patch #408256)
332
333         * etc/afpd/file.c: used patch at http://www.avalon.net/~hakehoe/
334         to fix deleting/emptying trash problems (Patch #408218)
335
336 2001-03-14 11:00 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
337
338         * libatalk/adouble/ad_open.c: fixed O_RDWR kludge in ad_mode call
339         which was causing file creation problems
340
341 2001-03-09 09:42 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
342
343         * sys/solaris/Makefile: fixed problems noted by Akop Pogosian in Solaris
344         build, most notably paths, and reference to lp2pap.sh in the wrong
345         place
346
347 2001-03-07 15:30 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
348
349         Released 1.5pre5
350
351         * distrib/rpm/netatalk-redhat.spec, distrib/rpm/netatalk-mandrake.spec:
352         updated for 1.5pre5 release
353
354 2001-03-07 10:34 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
355
356         * etc/afpd/volume.c: changed VOLOPT_MAX to be 9 if FORCE_UIDGID is not
357         defined (thanks to Axel Bringenberg <A.Bringenberg@srz-berlin.de>)
358
359 2001-03-07 10:14 EST  jeff b  <jeff@univrel.pr.uconn.edu>  
360
361         * ChangeLog: started using timestamps in ChangeLog
362
363         * etc/uams/uams_krb4/Makefile.am: fixed reference to send_to_kdc.c typo
364         (thanks to Sebastian Rittau)
365
366 2001-03-06 13:40  Lance Levsen <l.levsen@printwest.com>
367
368         * FAQ, README, README.ASUN, INSTALL.txt: Moved FAQ, AND READMEs to
369         docs/, where they should be.
370
371         * INSTALL/INSTALL.txt: Added ./INSTALL/INSTALL.txt
372
373         * INSTALL/FAQ, README, README.ASUN: Moved README.ASUN, README,
374         FAQ to ./INSTALL
375
376 2001-03-06 11:47  Andrew Morgan <morgan@orst.edu>
377
378         * TODO: A few updates to papd entry.
379
380         * README.MORGAN: Removed README.MORGAN because that information in
381         now in papd's man page.
382
383         * man/man8/papd.8.tmpl: Updated papd man page to match current
384         code.  Added descriptions of authenticated printing and other new
385         papd options.
386
387 2001-02-28 15:43  Marc J. Millar <itlm019@mailbox.ucdavis.edu>
388
389         * libatalk/adouble/ad_open.c: AppleDouble directory creation
390         debugging
391         
392 2001-02-28  jeff b  <jeff@univrel.pr.uconn.edu>  
393
394         * etc/afpd/directory.c, etc/afpd/file.c, etc/afpd/filedir.c,
395         etc/afpd/unix.c, etc/afpd/unix.h, etc/afpd/volume.h,
396         etc/afpd/volume.c, man/man5/AppleVolumes.default.5.tmpl: added
397         "dropbox" to available option if DROPKLUDGE is used during
398         compile 
399
400 2001-02-27  jeff b  <jeff@univrel.pr.uconn.edu>  
401
402         * README: updated 1.5+ install instructions to include list of
403         required and recommended packages
404
405         * etc/uams/uams_*.c: cleanups, addition of CVS Id tag to C source
406
407         * configure.in, acconfig.h: change USE_AFS to AFS to be the same as
408         all of the defines in the codebase
409
410         * etc/uams/uams_dhx_pam.c: fixed DHX login using this module (last
411         patch made with syslog()'s didn't include any brackets) 
412         (Bug #233756)
413
414         * distrib/initscripts/.cvsignore: removed pulling of atalk
415
416         * configure.in, etc/uams/Makefile.am: conditional compilation support
417         for PGP UAM module using --enable-pgp-uam
418
419         * configure.in, etc/uams/Makefile.am, etc/uams/uams_krb4/Makefile.am,
420         etc/uams/uams_krb4/.cvsignore, etc/uams/uams_krb4/*.c: modifications
421         for future Kerberos module reintegration
422
423 2001-02-26  jeff b  <jeff@univrel.pr.uconn.edu>  
424
425         * configure.in: added /usr/local/ssl to list of SSL paths to check, to
426         help kludge compilation on Mac OS X from Marcel <lammerse@xs4all.nl>
427
428         * distrib/initscripts/rc.atalk.redhat.tmpl: adjusted to echo warning
429         instead of dumping out if appletalk module not present, from
430         Steven Karen <karelsf@users.sourceforge.net> (Bug #404087)
431
432         * configure.in, contrib/timelord/timelord.c: applied patch from Wes
433         Hardaker <hardaker@users.sourceforge.net> (Patch #402245), with
434         suitable configure.in fixes
435
436 2001-02-23  jeff b  <jeff@univrel.pr.uconn.edu>  
437
438         * etc/afpd/desktop.c, etc/afpd/codepage.c, etc/afpd/nls/makecode.c:
439         patch from Axel Barnitzek <barney@users.sourceforge.net> to fix
440         broken codepage support.
441
442         * ChangeLog: started updaing ChangeLog with important patch/fix
443         information, as it is *never* up to date.
444
445         * configure.in, acconfig.h: implemented AFS configuration option
446         patch from Wes Hardaker <hardaker@users.sourceforge.net>
447
448         * VERSION: bumped up version to 1.5pre5, since 1.5pre4 was kind of
449         paperbag-ish
450
451         * autogen.sh: make libtoolize copy instead of linking files to
452         avoid problems, thanks to Wes Hardaker <hardaker@users.sourceforge.net>
453
454 2001-02-20  jeff b  <jeff@univrel.pr.uconn.edu>
455
456         Released 1.5pre4
457         - Debian packaging in tree
458         - Numerous Makefile/build fixes
459         - .cvsignore implemented
460         - Solaris build fixes
461
462 2001-01-02  jeff b  <jeff@univrel.pr.uconn.edu>
463
464         * etc/afpd/uid.c, etc/afpd/uid.h, ...: added support for forcing
465         uid/gid per volume for afpd
466
467 2000-09-22  Roland Schulz <rdschulz@abarrach.franken.de>
468
469         * etc/afpd/volume.c (setvoltime): fix for multiple clients
470         writing to same volume.
471
472 2000-02-28  a sun  <asun@asun.cobalt.com>
473
474         * etc/afpd/directory.h (CNID_INODE): xor the inode a little
475         differently. 
476
477 2000-02-23  a sun  <asun@asun.cobalt.com>
478
479         * etc/afpd/volume.c (creatvol): / is a special case. you can't
480         share it unless you give it a name.
481
482 2000-02-21  a sun  <asun@asun.cobalt.com>
483
484         * distrib/initscripts/rc.atalk.redhat/cobalt: added changes to
485         make redhat 6.x happier.
486
487 2000-02-17  a sun  <asun@asun.cobalt.com>
488
489         * libatalk/adouble/ad_lock.c (adf_unlock): off-by-one error with
490         lock removal. this + the log right below fix ragtime.
491
492 2000-02-16  a sun  <asun@asun.cobalt.com>
493
494         * etc/afpd/fork.c (afp_bytelock): only error on bytelocks
495         positioned at 0x7FFFFFFF if there's no resource fork.
496
497 2000-02-14  a sun  <asun@asun.cobalt.com>
498
499         * libatalk/adouble/ad_lock.c: re-wrote locking bits so that
500         allocations happen in blocks. added missing case that omnis
501         database triggers.
502
503 2000-02-07  a sun  <asun@asun.cobalt.com>
504
505         * bin/nbp/Makefile (install): make nbprgstr/nbpunrgstr with 700
506         permissions. 
507
508         * include/atalk/adouble.h (sendfile): change to deal with
509         <sys/sendfile.h> 
510
511 2000-01-25  a sun  <asun@asun.cobalt.com>
512
513         * etc/afpd/ofork.c: keep track of oforks being used for each
514         directory so that we can update them if the directory tree gets
515         modified. 
516
517         * etc/afpd/directory.c (deletecurdir): remove dangling symlinks on
518         delete. 
519
520 2000-01-24  a sun  <asun@asun.cobalt.com>
521
522         * etc/afpd/directory.h (CNID): moved cnid assignment here along
523         with helpful macros.
524
525         * etc/afpd/directory.c: changed directory search to use red-black
526         trees to improve balance. parent-child tree changed to circular
527         doubly-linked list to speed up insert/remove times.  there's still
528         one obstacle to actually freeing red-black tree entries. i need to
529         add an ofork list to struct dir to minimize search times.
530
531 2000-01-18  a sun  <asun@asun.cobalt.com>
532
533         * etc/afpd/directory.c (dirinsert): detect attempts to add
534         pre-existing entries as just symbolic links. 
535
536         * etc/afpd/filedir.h (CNID): moved inode-cnid assignment here and
537         extended to directories.
538
539 2000-01-03  a sun  <asun@asun.cobalt.com>
540
541         * etc/uams/uams_pam.c (PAM_conv): surround PAM_BINARY_PROMPT with
542         an #ifdef.
543
544         * etc/afpd/status.c (status_init): fixed a bunch of problems here
545         that manifested under solaris 7.
546
547         * etc/afpd/main.c (main): use FD_SETSIZE instead of FD_SETSIZE +
548         1.
549         
550
551 1999-12-27  a sun  <asun@asun.cobalt.com>
552
553         * libatalk/util/getiface.c: moved interface detection code to here
554         so that i can use if_nameindex() or getifconf() depending upon
555         what's available.
556
557 1999-12-13  a sun  <asun@asun.cobalt.com>
558
559         * libatalk/dsi/dsi_tcp.c (dsi_tcp_init): added if_nameindex()
560         based interface code.
561
562         * etc/afpd/afp_options.c (afp_options_parseline): added
563         -server_quantum as an option. using hex would be a good idea.
564
565         * libatalk/dsi/dsi_opensess.c (dsi_opensession): added bits to set
566         the server quantum. by default, the server quantum is limited to
567         1MB due to a bug in the os 9 appleshare client.
568
569         * distrib/initscripts/rc.atalk.{cobalt,redhat}: surround nbp stuff
570         with double quotes.
571
572         * etc/uams/uams_dhx_pam.c (pam_changepw): added dhx-based password
573         changing for pam.
574
575 1999-12-06  a sun  <asun@asun.cobalt.com>
576
577         * etc/afpd/directory.c (setdirparams): don't error if we can't set
578         the desktop owner/permisssions.
579
580 1999-11-04  a sun  <asun@asun.cobaltnet.com>
581
582         * etc/afpd/fork.c (afp_openfork): had the ordering wrong on an
583         openfork. 
584
585 1999-11-02  a sun  <asun@asun.cobaltnet.com>
586
587         * etc/afpd/afp_dsi.c (afp_over_dsi): flush data for unknown dsi
588         commands. 
589
590 1999-10-28  a sun  <asun@asun.cobaltnet.com>
591
592         * etc/uams/*.c: return FPError_PARAM if the user is unknown. 
593
594 1999-10-27  a sun  <asun@asun.cobaltnet.com>
595
596         * etc/afpd/fork.c (afp_read): if sendfile isn't supported, use the
597         old looping method.
598
599 1999-10-25  a sun  <asun@asun.cobaltnet.com>
600
601         * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): fix nbp unregisters.
602
603 1999-10-21  a sun  <asun@asun.cobaltnet.com>
604
605         * etc/afpd/Makefile (install): moved install of afpd earlier per
606         suggestion by steven michaud.
607
608 1999-10-05  a sun  <asun@asun.cobaltnet.com>
609
610         * etc/uams/uams_randnum.c (afppasswd): for ~/.passwd's, turn
611         ourselves into the user so that nfs is happy.
612
613 1999-09-19  a sun  <asun@adrian5>
614
615         * libatalk/netddp/netddp_open.c, nbp/*.c: only use the bcast stuff
616         if it's on an os x server machine.
617
618 1999-09-15  a sun  <asun@adrian5>
619
620         * libatalk/nbp/nbp_unrgstr.c,nbp_lkup.c,nbp_rgstr.c: os x server
621         wants ATADDR_BCAST. that probably means that i need to do
622         multihoming appletalk a little differently. bleah.
623
624 1999-09-09    <asun@asun.cobaltnet.com>
625
626         * etc/afpd/directory.c (getdirparams), libatalk/adouble/ad_open.c
627         (ad_open): mondo lameness. i forgot that directory lookups can be
628         done with "." as the directory name. that was auto-hiding
629         them. bleah. i also figured out which bit was the invisible bit
630         for finderinfo information.
631
632 1999-09-06  Adrian Sun  <asun@glazed.cobaltnet.com>
633
634         * etc/afpd/desktop.c (mtoupath): fixed a bug in codepage support
635         that accidentally crept in.
636
637 1999-08-31  Adrian Sun  <asun@glazed.cobaltnet.com>
638
639         * etc/afpd/quota.c (getfsquota): use group quotas in quota
640         calculations if the user belongs to a single group. just use the
641         user quotas if the user belongs to multiple groups.
642
643         * etc/afpd/volume.c (getvolspace): added an options:limitsize to
644         restrict the available space to 2GB. this is for macs running
645         older versions of the operating system with newer versions of the
646         appleshare client. weird huh?
647
648         * etc/afpd/quota.c (uquota_getvolspace): bleah. 64-bit shifts
649         don't get promoted in the same way as arithmetic operations. added
650         some more casts to deal with that issue.
651
652 1999-08-24  Adrian Sun  <asun@glazed.cobaltnet.com>
653
654         * man/man?/Makefile: don't re-build .tmp files if they already
655         exist. this gets the install phase to work correctly.
656
657 1999-08-13  a sun  <asun@hecate.darksunrising.blah>
658
659         * etc/afpd/directory.c, file.c, filedir.c: illegal characters get
660         AFPERR_PARAM. also, reject names with /'s in them if the nohex
661         option is used.
662
663 1999-08-12  a sun  <asun@hecate.darksunrising.blah>
664
665         * etc/afpd/filedir.c,file.c,directory.c: changed error for
666         illegal filenames to AFPERR_EXIST.
667
668 1999-08-11  a sun  <asun@hecate.darksunrising.blah>
669
670         * etc/afpd/desktop.h (validupath): if usedots is set, .Apple* and
671         .Parent files are no longer valid file names.
672
673         * etc/afpd/volume.c (volset): added usedots and nohex as
674         options. usedots stops :hex translation of . files while nohex
675         stops :hex translation of everything but . files. in addition,
676         . files created on the unix side are by default hidden.
677
678         * libatalk/adouble/ad_open.c: initialize more bits.
679
680 1999-08-10  a sun  <asun@hecate.darksunrising.blah>
681
682         * distrib/initscripts/rc.atalk.redhat (WORKSTATION): use the
683         actual name for nbp registration rather than ATALK_NAME.
684
685         * sys/solaris/Makefile (kernel): make sure osdefs and machinedefs
686         get used when building the kernel module.
687
688         * sys/solaris: changed strings.h to string.h
689
690 1999-08-08  a sun  <asun@hecate.darksunrising.blah>
691
692         * etc/afpd/volume.c (readvolfile): changed volume options into an
693         array of structs to ease maintenance.
694
695 1999-08-05  a sun  <asun@hecate.darksunrising.blah>
696
697         * etc/afpd/status.c (status_init): change the default icon
698         depending upon whether or not it's an ASIP or an AppleTalk
699         connection. 
700
701 1999-08-04  Adrian Sun  <asun@glazed.cobaltnet.com>
702
703         * etc/atalkd/main.c (setaddr): made a failure with setaddr a 
704         little more informative.
705
706 1999-08-03  Adrian Sun  <asun@glazed.cobaltnet.com>
707
708         * yippee. someone figured what was happening with the installation
709         of the man pages. i got rid of a duplicate entry.
710
711 1999-08-02  a sun  <asun@hecate.darksunrising.blah>
712
713         * etc/afpd/volume.c (readvolfile): added a per-file way of setting
714         default options. it keys in on a :DEFAULT: label.
715
716 1999-07-30  a sun  <asun@hecate.darksunrising.blah>
717
718         * moved rc.atalk.* scripts to distrib/initscripts.
719
720 1999-07-27  a sun  <asun@hecate.darksunrising.blah>
721
722         * contrib/printing: added patch from job@uchicago.edu
723
724         * etc/afpd/file.c: forgot to initialize struct ad in
725         some places.
726
727         * etc/afpd/nls/makecode.c: added an empty mapping.
728
729         * etc/psf/Makefile (install): well cp -d didn't work either. just
730         use tar.
731
732 1999-07-26  a sun  <asun@hecate.darksunrising.blah>
733
734         * sys/solaris/tpi.c (tpi_attach): changed DDI_NT_NET to DDI_PSEUDO
735         (from denny@geekworld.com).
736
737         * distrib/rpm/netatalk-asun.spec (Summary): incorporated new spec
738         and patch files from inoue.
739
740         * sys/linux/Makefile (install-sysv): fixed up a bit.
741
742         * etc/psf/Makefile (install): use cp -d instead of cp -a to make
743         *bsd happier.
744
745         * etc/afpd/afp_options.c (afp_options_parseline): reversed meaning
746         of -icon. now it means to use the yucky bitmap instead of the
747         apple icon.
748
749         * bin/afppasswd/Makefile (all): add -Iinclude/openssl for
750         afppasswd as well. 
751
752 1999-07-18  a sun  <asun@hecate.darksunrising.blah>
753
754         * create links/mangle files in the compile rather than the install
755         phase so that rpm will be happier.
756
757 1999-07-17  a sun  <asun@hecate.darksunrising.blah>
758
759         * etc/afpd/file.c (afp_createfile), directory (afp_createdir),
760           filedir.c (afp_rename, afp_moveandrename): don't allow the
761           creation/renaming of names with certain characters if mswindows
762           compatibility is enabled.
763
764 1999-07-16  a sun  <asun@hecate.darksunrising.blah>
765
766         * rc.atalk.redhat: incorporated chkconfig from inoue.
767
768 1999-07-15  a sun  <asun@hecate.darksunrising.blah>
769
770         * etc/atalkd/config.c (getifconf): wrap check against
771         IFF_MULTICAST behind an #ifdef IFF_MULTICAST.
772
773         * sys/netbsd/Makefile (LDSHAREDFLAGS): key in on machine type.
774
775 1999-07-11  a sun  <asun@hecate.darksunrising.blah>
776
777         * contrib/ICDumpSuffixMap: added internet config perl script from
778         inoue. 
779
780         * contrib/printing: added contributed solaris printing scripts
781         from job@uchicago.edu.
782
783 1999-07-10  a sun  <asun@hecate.darksunrising.blah>
784
785         * etc/atalkd/interface.h, rtmp.h: prototyped functions.
786
787         * etc/atalkd/zip.c: converted bcopy's to memcpy's.
788
789         * etc/atalkd/nbp.c,rtmp.c: added checks for the interface for
790         dontroute cases.
791
792         * etc/atalkd/main.c: converted bzero/bcopy to memset/memcpy.
793
794 1999-07-08  a sun  <asun@hecate.darksunrising.blah>
795
796         * libatalk/nbp/nbp_rgstr.c (nbp_rgstr): return EADDRINUSE if the
797         address already exists.
798
799 1999-07-06  a sun  <asun@hecate.darksunrising.blah>
800
801         * rc.atalk.redhat: changed netatalk.config to netatalk.conf
802
803 1999-07-05  a sun  <asun@hecate.darksunrising.blah>
804
805         * etc/atalkd/nbp.c (nbp_packet): add interface to nbp struct. this
806         is so that we can filter by interface in the future. however, it
807         doesn't seem to work that well right now. bleah. 
808
809         * etc/atalkd/main.c: fixed up dontroute option so that it doesn't
810         screw up atalkd.conf. also, we need to do a bootaddr if dontroute
811         is set. 
812
813         * libatalk/atp,nbp,netddp; bin/aecho,nbp,getzones,pap;
814         etc/papd,afpd: accept -A <ddp address> as an option so that you
815         can specify the address to be used on a multihomed server. for
816         papd, you use the 'pa' option in papd.conf.
817
818 1999-07-04  a sun  <asun@hecate.darksunrising.blah>
819
820         * etc/atalkd/config.c (parseline): initialize parseline properly
821         so that we don't get extraneous junk.
822
823         * etc/afpd/afp_options.c (afp_options_parseline): do
824         gethostbyaddr/gethostbyname's for -ipaddr and -fqdn.
825
826         * etc/atalkd/config.c (getifconf/readconf): check to see if the
827         supported device can support appletalk addresses. either continue
828         or exit depending upon whether or not it's auto-configed.
829
830 1999-07-03  a sun  <asun@hecate.darksunrising.blah>
831
832         * etc/afpd/afp_options.c (afp_options_parse): -I (-[no]icon) will
833         toggle the volume icon so that it uses the apple icon instead.
834
835         * etc/afpd/config.c (AFPConfigInit): added more logic for the
836         -proxy option. here are the rules: -proxy will always try to
837         create a DDP server instance. by default, the proxy server will
838         still allow you to login with an appletalk connection. to prevent
839         that, just set the uamlist to an empty string.
840
841 1999-07-02  a sun  <asun@hecate.darksunrising.blah>
842
843         * etc/afpd/status.c (status_netaddress): added support for fqdn
844         (not available in the appleshare client yet).
845
846 1999-07-01  a sun  <asun@hecate.darksunrising.blah>
847
848         * etc/afpd/config.c (DSIConfigInit): application code for proxy
849         setup. it's the -proxy option.
850
851         * libatalk/dsi/dsi_init/tcp.c (dsi_init/dsi_tcp_init): added
852         support for proxy setup.
853
854 1999-06-30  a sun  <asun@hecate.darksunrising.blah>
855
856         * etc/afpd/filedir.c (afp_rename): fixed up some error
857         codes. quark express should be happier.
858
859         * etc/afpd/uam.c (uam_afpserver_option): added
860         UAM_OPTION_HOSTNAME. use this to set PAM_RHOST. i just got a
861         report that setting that fixes pam on solaris machines.
862
863 1999-06-28  a sun  <asun@hecate.darksunrising.blah>
864
865         * etc/afpd/ofork.c (of_alloc): report out of forks in syslog..
866
867         * etc/afpd/enumerate.c (afp_enumerate): close an opendir leak. 
868
869         * include/atalk/{dsi,asp}.h: make cmdlen and datalen ints.
870
871         * etc/afpd/fork.c (afp_write): fixed up error condition.
872
873 1999-06-26  a sun  <asun@hecate.darksunrising.blah>
874
875         * etc/uams/Makefile (install): changed install location of uams.
876
877         * sys/linux/Makefile (install-sysv): always install redhat
878         script. netatalk.config script only gets installed if it's not
879         there already.
880
881 1999-06-23  a sun  <asun@hecate.darksunrising.blah>
882
883         * rc.atalk.redhat: merged in redhat contrib rpm rc.atalk script.
884
885         * etc/afpd/afp_options.c (afp_options_init): changed default
886         maxusers to 20.
887
888 1999-06-22  a sun  <asun@hecate.darksunrising.blah>
889
890         * etc/afpd/config.c (DSIConfigInit): truncate options->server to
891         just the server name here.
892
893         * etc/afpd/volume.c (volxlate): made $s return something
894         meaningful no matter what.
895
896         * libatalk/adouble/ad_sendfile.c (ad_readfile): freebsd sendfile
897         wants an off_t.
898
899 1999-06-20  a sun  <asun@hecate.darksunrising.blah>
900
901         * etc/afpd/volume.c (volxlate): added variable substitution. if it
902         doesn't understand the variable, it just spits it back out.
903         
904         (creatvol): display truncated volume name if it's too long.
905
906         * sys/{generic,solaris}/Makefile: added NO_CRYPTLIB option to deal
907         with oses that have -lcrypt but shouldn't use it.
908
909 1999-06-11  a sun  <asun@hecate.darksunrising.blah>
910
911         * include/atalk/afp.h: added comments to FPErrors.
912
913         * etc/afpd/enumerate.c (afp_enumerate): make FPEnumerate do some
914         more error checking.
915
916         * include/atalk/util.h: server_lock() returns pid_t. 
917
918 1999-06-10  a sun  <asun@hecate.darksunrising.blah>
919
920         * README.ASUN: added location for both ssleay and openssl.
921
922         * etc/uams: moved install to LIBDIR/uams. "uams_*" now means "uam
923         server." in the future, there will be "uamc_*." changed the shared
924         library names to match.
925
926         * include/atalk/atp.h,nbp.h: forgot to include <sys/cdefs.h>
927
928         * etc/uams/Makefile: openssl-0.9.3c uses <openssl/*.h> so add that
929         to the include path.
930
931         * sys/{solaris,ultrix}/Makefile: just use -I../sys/generic instead
932         of doing a link.
933
934         * include/atalk/uam.h, etc/uams/uam_*.c, etc/afpd/uam.c: added uam
935         type field. do type check.
936
937         * etc/uams/uam_*pam.c: added a couple more error codes. 
938
939 1999-06-08  a sun  <asun@hecate.darksunrising.blah>
940
941         * etc/afpd/nls/Makefile (codepage.h): make sure that a link to
942         codepage.h gets made.
943
944         * libatalk/*/Makefile: make sure that the profiled directory gets
945         created.
946         
947         * etc/afpd/directory.c (afp_mapname): removed an extraneous line
948         that was causing mapname to fail.
949
950 1999-06-07  a sun  <asun@hecate.darksunrising.blah>
951
952         * etc/atalkd/main.c (main): added a note to check the syslog if
953         atalkd can't be setup.
954
955         * sys/linux/Makefile: added -DNEED_QUOTACTL_WRAPPER to the list of
956         auto-detected #defines.
957
958 1999-06-06  a sun  <asun@hecate.darksunrising.blah>
959
960         * etc/afpd/fork.c (afp_write): argh. i moved things around a
961         little too much and ended up with an uninitialized eid. strangely,
962         the compiler didn't complain. simplified bits a little as
963         well. also, FPWrite was returning the wrong error messages. on
964         64-bit filesystems, the offset can wraparound. so, report a disk
965         full error if that's going to happen. egcs-19990602 gets one
966         memcpy right and another wrong on my udb. bleah.
967         
968         (afp_read): fixed the error messages here as well.
969
970 1999-06-05  a sun  <asun@hecate.darksunrising.blah>
971
972         * Makefile, sys/generic, sys/{ultrix,solaris}/Makefile: create
973         some links on the fly if they're missing.
974
975         * etc/afpd/directory.c (copydir): fixed a leaking opendir and
976         re-arranged a little.
977
978 1999-06-04  a sun  <asun@hecate.darksunrising.blah>
979
980         * etc/afpd: prototyped everything here and moved the FP functions
981         into include files.
982
983         * libatalk/util/bprint.c: moved all of the bprints to here.
984
985         * libatalk/asp, include/atalk/asp.h: prototyped asp functions.
986
987         * include/atalk/atp.h, libatalk/atp: prototyped atp functions. 
988
989         * libatalk/nbp, include/atalk/nbp.h: added prototypes for nbp
990         functions. 
991
992         * bin/afppasswd/Makefile (afppasswd): fixed a misspelling in the
993         install phase.
994
995         * bin/afppasswd/afppasswd.c: added -a option so that root can add
996         new users. turned all of the options into bits. added newlines to
997         each entry.
998
999 1999-06-03  a sun  <asun@hecate.darksunrising.blah>
1000
1001         * sys/freebsd/Makefile: turn on sendfile support if running on a
1002         FreeBSD 3+ machine.
1003
1004 1999-06-02  a sun  <asun@hecate.darksunrising.blah>
1005
1006         * etc/uams/uam_dhx_pam.c: fixed memory freeing part of pam
1007         conversation function.
1008
1009         * sys/*/Makefile: check at make time to see if -lrpcsvc and
1010         -lcrypt should be included in the appropriate places. 
1011
1012 1999-05-28  a sun  <asun@hecate.darksunrising.blah>
1013
1014         * etc/afpd/file.c (deletefile): added more error checking here as
1015         well. 
1016
1017         * etc/afpd/directory.c (renamedir): added a couple a few more
1018         error bits. 
1019
1020         * sys/sunos/Makefile: sunos should really work now. 
1021
1022 1999-05-27  a sun  <asun@hecate.darksunrising.blah>
1023
1024         * include/atalk/afp.h: added in a couple new error codes (one
1025         deals with password setting policy, the other with maximum logins
1026         by any user).
1027
1028         * etc/afpd/fork.c (afp_openfork): try to re-open files on
1029         read-only volumes as read-only.
1030
1031 1999-05-26  a sun  <asun@hecate.darksunrising.blah>
1032
1033         * sys/solaris/Makefile: fixed a few bobbles here. solaris uses
1034         uname -p. other oses seem to use uname -m for the same information.
1035
1036         * etc/uams/uam_pam.c (pam_changepw): added check for same
1037         password. 
1038
1039         * etc/uams/uam_randnum.c (randnum_changepw): added in cracklib and
1040         same password checks.
1041
1042         * sys/osx/Makefile: moved the os x server stuff into its own build
1043         directory. 
1044
1045         * sys/linux/Makefile, sys/solaris/Makefile: key in on OSVERSION
1046         and MACHINETYPE for some stuff.  
1047
1048 1999-05-25  a sun  <asun@hecate.darksunrising.blah>
1049
1050         * sys/sunos/Makefile: various bits to make stuff work with sunos
1051         again. 
1052
1053 1999-05-25  a sun  <asun@purgatorius.zoology.washington.edu>
1054
1055         * etc/afpd/file.c (copyfile): only copy the header file if newname
1056         is specified. 
1057
1058         * etc/afpd/directory.c (copydir): make sure to balk if the
1059         directory already exists. in addition, make sure to preserve the
1060         timestamps. 
1061
1062 1999-05-24  a sun  <asun@hecate.darksunrising.blah>
1063
1064         * bin/afppasswd/afppasswd.c: global password updating utility for
1065         the randnum authentication method. 
1066
1067 1999-05-22  a sun  <asun@hecate.darksunrising.blah>
1068
1069         * etc/uams/uam_randnum.c (afppasswd): added in global password
1070         file for the randnum authentication method. it looks for a .key
1071         file as well to handle encryption.
1072
1073         * etc/afpd/afp_options.c (afp_options_parseline): added
1074         -passwdfile as an option so that you can specify a global randnum
1075         password file if desired.
1076
1077         * etc/afpd/volume.c (readvolfile): we now have rwlist and rolist
1078         as an AppleVolumes.* option. if the user is in the rolist, the
1079         volume gets set as readonly. if there's a rwlist, and the user
1080         isn't in it, the volume also gets set as readonly.
1081
1082 1999-05-21  a sun  <asun@hecate.darksunrising.blah>
1083
1084         * libatalk/adouble/ad_lock.c (ad_fcntl_lock): plug a leak if we
1085         can't allocate the reference counting variable.
1086
1087         * etc/uams/uam_*.c: make sure that uam_setup returns an error
1088         code. 
1089
1090 1999-05-19  a sun  <asun@hecate.darksunrising.blah>
1091
1092         * include/atalk/paths.h (_PATH_LOCKDIR): added os x server's
1093         /var/run as the lock file directory.
1094
1095         * etc/afpd/fork.c (afp_write): kanehara@tpk.toppan.co.jp reported
1096         a problem with FPWrite getting a request count of 0. that's
1097         fixed. 
1098
1099         * etc/afpd/Makefile: bleah. for some reason, pam doesn't like to
1100         load itself from a shared library. i've compensated by linking it
1101         into afpd again.
1102
1103         * etc/uams/uam_dhx_passwd.c: okay. DHX now works. something's
1104         still screwy with the dhx_pam stuff though.
1105
1106 1999-05-18  a sun  <asun@hecate.darksunrising.blah>
1107
1108         * etc/afpd/uam.c (uam_getname): i forgot that getname modified the
1109         username to fit what's in pw->pw_name if necessary.
1110
1111 1999-05-16  a sun  <asun@hecate.darksunrising.blah>
1112
1113         * etc/uams/uam_dhx_passwd/pam.c: almost ready versions of the DHX
1114         authentication method. i'm still missing a little info to get it
1115         all right.
1116
1117         * bin/megatron/nad.c (nad_header_read): if there isn't a mac name,
1118         create it from the unix name. 
1119
1120         * bin/megatron/megatron.c (megatron): oops. need to turn fdCreator
1121         and fdType into strings.
1122
1123 1999-05-16  a sun  <asun@pelvetia>
1124
1125         * etc/afpd/uam.c (uam_afpserver_option): changed the interface a
1126         little. now, you pass in an int * if you want to either get/set
1127         the size of the option. added in UAM_OPTION_RANDNUM for generic 
1128         (4-byte granularity) random number generation.
1129
1130         * etc/afpd/switch.c: added afp_logout to preauth_switch.
1131
1132 1999-05-15  a sun  <asun@hecate.darksunrising.blah>
1133
1134         * bin/megatron/macbin.c (bin_open): make error message for
1135         macbinary files more informative.
1136         
1137         (test_header): added more macbinary tests. it now has a workaround
1138         for apple's incorrectly generated macbinary files.
1139
1140 1999-05-14  a sun  <asun@hecate.darksunrising.blah>
1141
1142         * sys/solaris/Makefile: added shared library generation bits.
1143
1144         * etc/uams: moved server-side uams here. 
1145
1146         * include/netatalk/endian.h: fixed some solaris bits. 
1147
1148         * etc/afpd/config.c (configfree): don't do an asp_close. instead,
1149         do an atp_close and free the asp object. oh yeah, as afpd needs
1150         to export symbols to its modules, make sure you don't do anything
1151         more exciting than strip --strip-debug with it.
1152
1153 1999-05-12  a sun  <asun@hecate.darksunrising.blah>
1154
1155         * various places that use sigaction: zero out struct sigaction so
1156         that we don't send something confusing. also make sure that we
1157         don't set a timer unless we already have a sigaction set.
1158
1159         * etc/afpd/fork.c (afp_openfork): don't error on trying to open an
1160         empty resource fork read-only. also, added back in the bit of code
1161         that prevented locks from being attempted on non-existent resource
1162         forks.
1163
1164         * etc/afpd/afp_options.c (getoption): added a uamlist commandline
1165         option (-U list). 
1166
1167         * libatalk/netddp/netddp_open.c: don't bind if nothing was passed
1168         in. 
1169
1170         * libatalk/nbp/nbp_unrgstr.c (nbp_unrgstr): oops. forgot to
1171         convert this over to use by the netddp interface.
1172
1173 1999-05-12  a sun  <asun@pelvetia>
1174
1175         * etc/afpd/uam.c: os x server's runtime library loader is
1176         braindead. as a result, i've switched to using an exported struct
1177         with the uam's name.
1178
1179         * bin/aecho,getzones: changed these to use the netddp interface.
1180
1181         * libatalk/nbp/nbp_rgstr.c,unrgstr.c: fixed more leaky bits.
1182
1183         * libatalk/netddp: abstracted the ddp interface to netddp. besides
1184         the prior socket-driven interface, there's now an os x server
1185         interface. so, instead of calling socket/sendto/recvfrom, you call
1186         netddp_open/netddp_sendto/netddp_recvfrom.
1187
1188 1999-05-11  a sun  <asun@pelvetia>
1189
1190         * libatalk/nbp/nbp_lkup.c: oh my. nbp_lookup was fd leaky if there
1191         was a problem.
1192
1193         * etc/atalkd/main.c (main): make sure that if -dontroute is
1194         selected for all but one interface, that interface also gets
1195         -dontroute set.
1196
1197 1999-05-10  a sun  <asun@hecate.darksunrising.blah>
1198
1199         * etc/afpd/auth.c: re-wrote to deal with plug-in uams. it's much
1200         smaller than it used to be.
1201
1202 1999-05-09  a sun  <asun@hecate.darksunrising.blah>
1203
1204         * etc/afpd/uams/uam_guest.c, uam_pam.c, uam_passwd.c,
1205         uam_randnum.c: uam modules. these should probably be moved out of
1206         afpd (and into something like etc/uam_server) when the printing
1207         stuff gets uam support.
1208
1209 1999-05-08  a sun  <asun@hecate.darksunrising.blah>
1210
1211         * etc/afpd/uam.c: interface to user authentication modules.
1212         it should eventually be moved to libatalk, but that's not
1213         necessary until the printing uam stuff is done. everything is from
1214         the server-side perspective, but that's only because there aren't
1215         any client-side uses right now.
1216
1217         * libatalk/util/module.c: generic interface to run-time library
1218         loading functions. right now, the dlfcn family and os x server's
1219         NS-style way of doing things are the ones understood. in addition,
1220         there's a DLSYM_PREPEND_UNDERSCORE for those systems that need it.
1221
1222         * libatalk/asp/asp_write.c (asp_wrtcont): log both the read and
1223         write part of write continuations.
1224
1225 1999-05-07  a sun  <asun@hecate.darksunrising.blah>
1226
1227         * etc/atalkd: added the ability to turn off routing for particular
1228         interfaces. specify -dontroute for each interface that you don't
1229         want to route.
1230
1231 1999-05-06  a sun  <asun@hecate.darksunrising.blah>
1232
1233         * etc/afpd/auth.c: got rid of global clrtxtname and switched to
1234         using obj->username.
1235
1236 1999-05-04  a sun  <asun@hecate.darksunrising.blah>
1237
1238         * libatalk/dsi/dsi_write.c (dsi_write): dsi_write could loop
1239         forever if there's a problem while it's being used. that's fixed.
1240
1241 1999-05-01  a sun  <asun@hecate.darksunrising.blah>
1242
1243         * etc/afpd/directory.c (renamedir,copydir,deletedir): added bits
1244         so that renaming a directory works across filesystems.
1245
1246 1999-04-27  a sun  <asun@hecate.darksunrising.blah>
1247
1248         * etc/afpd/fork.c (getforkparams): report mtime if it's > than
1249         what's stored in the header file.
1250
1251         * config/afpd.conf: incorporated a patch by Stefan Bethke to make
1252         afpd.conf more understandable.
1253
1254         * sys/solaris/if.c: many of the firstnet/lastnet bits weren't
1255         endian converted. that's fixed.
1256
1257         * libatalk/adouble/ad_lock.c (adf_find(x)lock): F_RD/WRLCK aren't
1258         necessarily ORable, so use ADLOCK_RD/WR instead.
1259         
1260         (ad_fcntl_unlock): erk. fixed a typo that had the resource fork
1261         unlock accidentally getting the data fork locks.
1262
1263 1999-04-24  a sun  <asun@hecate.darksunrising.blah>
1264
1265         * etc/afpd/fork.c (afp_openfork): always try to create a resource
1266         fork if asked.
1267
1268 1999-04-21  a sun  <asun@hecate.darksunrising.blah>
1269
1270         * libatalk/adouble/ad_open.c, ad_read.c/ad_write.c, ad_flush.c:
1271         turned the mmapped header stuff into and #ifdef
1272         USE_MMAPPED_HEADERS option.
1273
1274         * libatalk/adouble/ad_open.c (ad_header_read): darn. i forgot that
1275         the hfs fs doesn't currently have mmappable header files. rather
1276         than implement that, i just reverted back to a modified version
1277         of the old way of reading headers.
1278
1279 1999-04-15  a sun  <asun@hecate.darksunrising.blah>
1280
1281         * etc/afpd/fork.c (afp_bytelock): byte locks become read locks on
1282         read-only files.
1283         
1284         (afp_openfork): deal with read-only data forks that don't have
1285         corresponding .AppleDouble files. we can't really do anything with
1286         deny locks in this case. just make sure that read locks are set.
1287
1288         * etc/afpd/file.c (getfilparams): oops. got the parentheses wrong
1289         around FILPBIT_FINFO. 
1290
1291         * etc/afpd/fork.c (afp_read): as we share open files now, check
1292         for fork type against of_flags instead of just checking to see if
1293         the file is open. this fixes a bug that caused resource forks to
1294         get filled with data fork information.
1295
1296 1999-04-09  a sun  <asun@porifera.zoology.washington.edu>
1297
1298         * sys/generic/Makefile: AFP/tcp now compiles on irix with quota
1299         support.
1300
1301 1999-04-09  a sun  <asun@mead1.u.washington.edu>
1302
1303         * sys/generic/Makefile: AFP/tcp now compiles on aix with quota
1304         support.
1305
1306 1999-04-09  a sun  <asun@saul6.u.washington.edu>
1307
1308         * sys/generic/Makefile: AFP/tcp part now compiles on digital unix
1309         with quota support enabled.
1310
1311 1999-04-08  a sun  <asun@hecate.darksunrising.blah>
1312
1313         * etc/afpd/volume.c, fork.c, file.c, directory.c, filedir.c,
1314         config/AppleVolumes.default: added read-only volume option.
1315
1316         * etc/afpd/quota.c (uquota_getvolspace): modified for os x
1317         server. 
1318
1319 1999-04-03  a sun  <asun@hecate.darksunrising.blah>
1320
1321         * bin/megatron/macbin.c (bin_write): only pad if we need to do so 
1322         (from <jk@espy.org>).   
1323         (bin_header_write/read): fixed up screwed up file date
1324         generation/reading with macbinary files. 
1325
1326         * bin/megatron: changed all of the bcopy/bzero/bcmp's to 
1327         memcpy/memset/memcmp's. added macbinary III support.
1328
1329         * bin/megatron/macbin.c (bin_open): added --stdout as an option so
1330         that we can stream macbinary file creation to stdout.
1331
1332         * bin/megatron/megatron.c: incorporated information patch (--header
1333           and --macheader) from <fmorton@base2inc.com>.
1334
1335
1336 1999-04-02  a sun  <asun@hecate.darksunrising.blah>
1337
1338         * etc/afpd: whee! there are no more bcopy/bcmp's in this
1339         directory. 
1340
1341         * libatalk: changed the bcopy/bzero's to memcpy/memset's. added in
1342         dummy ints for some of the files that can get compiled to empty
1343         objects. check for the type of msync() available as well.
1344
1345 1999-03-31  a sun  <asun@hecate.darksunrising.blah>
1346
1347         * INSTALL/README.GENERIC: added information for a generic
1348         architecture. It includes the information needed to get netatalk
1349         to compile on a random unix platform.
1350
1351         * etc/afpd/quota.c: moved the quota stuff here so that we can
1352         #ifdef it out on a machine without quota support.
1353
1354 1999-03-30  a sun  <asun@hecate.darksunrising.blah>
1355
1356         * libatalk/adouble/ad_lock.c: reference count the locked ranges as
1357         well. this prevents multiple read locks on the same byte range
1358         from disappearing if one user disappears.
1359         
1360         (ad_fcntl_lock): here are the current rules for file
1361         synchronization:
1362            1) if there's a appledouble header, we use the beginning
1363               of that for both data and resource forks.
1364            2) if there isn't, we use the end of the data fork (or past the
1365               end on 64-bit machines)
1366         
1367 1999-03-28  a sun  <asun@hecate.darksunrising.blah>
1368
1369         * libatalk/adouble/ad_open.c (ad_refresh): okay. mmapping the
1370         appledouble entry parts is done. 
1371
1372         * libatalk/cnid/cnid_add.c (cnid_add): prevent anyone from adding
1373         in an illegal cnid.
1374
1375 1999-03-27  a sun  <asun@hecate.darksunrising.blah>
1376
1377         * libatalk/adouble/ad_open.c (ad_refresh): started making the
1378         appledouble header parsing more generic so that we can read in
1379         arbitrary appledouble header files. i just mmap the parts that we
1380         need. 
1381
1382 1999-03-22  a sun  <asun@hecate.darksunrising.blah>
1383
1384         * etc/afpd/file.c (afp_copyfile): return the correct error
1385         response on a failed copy. also, error if the file is already open
1386         to prevent problems with locks. we really need to ad_lock
1387         this during the copy
1388
1389 1999-03-21  a sun  <asun@hecate.darksunrising.blah>
1390
1391         * etc/afpd/volume.c (readvolfile): switched volume options to
1392         using ':' as a delimiter as that's one of the characters that's
1393         not allowed as part of a mac filename.
1394         (volset): changed access to allow/deny
1395
1396         * etc/afpd/auth.c (noauth_login): make sure that the username gets
1397         set. 
1398
1399 1999-03-17  a sun  <asun@hecate.darksunrising.blah>
1400
1401         * NOTE to myself: jeremy allison said that samba uses refcounts to
1402         prevent close() from killing all the byte locks. so, i've started
1403         converting afpd to using refcounting as well. luckily, we already
1404         have of_findname, so we know when files are open. in cases where
1405         files are already open, this will replace an ad_open with a lookup
1406         into a hash table.
1407
1408         * etc/afpd/directory.c (getdirparams/getfilparams): check for
1409         NULL names when getting directory/file names.
1410
1411         * etc/afpd/directory.{c,h} (DIRDID_ROOT/DIRDID_ROOT_PARENT): make
1412         sure these are always in network byte order.
1413
1414 1999-03-15  a sun  <asun@hecate.darksunrising.blah>
1415
1416         * etc/afpd/fork.c (afp_openfork): okay, fixed the file
1417         synchronization bits. now, we use two bytes to do the read/write
1418         stuff. when access is needed, a read lock is attempted. if a deny
1419         lock is needed, a write lock is attempted. we even handle the
1420         access None mode now by saving the access modes.
1421
1422         * etc/afpd/fork.h (AFPFORK_ACCMASK): started adding bits so that
1423         we can obey all of the file synchronization rules.
1424
1425         * etc/afpd/fork.c (afp_bytelock): got the meaning of the clearbit
1426         reversed. with helios lantest's lock/unlock 4000 times test, it
1427         looks like i get <1 second overhead on my machine when using byte
1428         locks. NOTE: this will get a little worse when serialization gets
1429         added. in addition, 0x80000000 only works for 64-bit machines. i
1430         reserve the last allowable bit for 32-bit machines. 
1431
1432         actually, both 64-bit machines and 32-bit machines use 0x7FFFFFFF
1433         now as i'm able to trigger a kernel oops in linux with the 64-bit
1434         code. 
1435         
1436         (afp_read/afp_write): make sure to use the same offset when doing
1437         a tmplock.
1438
1439 1999-03-14  a sun  <asun@hecate.darksunrising.blah>
1440
1441         * libatalk/adouble/ad_lock.c: i went and implemented a bunch of
1442         stuff to get byte locks to work correctly (except for the
1443         serialization) only to discover that files that use byte locks
1444         also request a deny write mode. luckily, byte locks only cover up
1445         to 0x7FFFFFFF. so, i'll just use 0x80000000 for the
1446         synchronization locks.
1447
1448 1999-03-08  a sun  <asun@hecate.darksunrising.blah>
1449
1450         * sys/{*bsd,ultrix,solaris,linux}/Makefile (depend): surround 
1451         DEPS with double quotes so that multiple defines work.
1452
1453 1999-03-06  a sun  <asun@hecate.darksunrising.blah>
1454
1455         * libatalk/adouble/ad_write.c, ad_read.c: make off off_t in size. 
1456
1457         * libatalk/adouble/ad_flush.c (adf_fcntl_relock), ad_lock.c
1458         (adf_fcntl_locked): okay. fcntl locks now check against multiple
1459         programs on the same machine opening the same file. current
1460         problems with the mechanism that i don't want to fix unless
1461         necessary: 
1462                 1) there's a race during the relock phase. serialization
1463                    would solve that.
1464                 2) it assumes that each fd only locks a single contiguous
1465                    range at a time. keeping a list of locked ranges would
1466                    solve that. 
1467         
1468         also, i changed the default to using fcntl locks. if the above two
1469         are really necessary, i'll probably switch to something a little
1470         more featureful like the berkeley db's lock manager.
1471
1472         (note to myself: stuff new from asun2.1.3 from 1999-03-03)
1473         
1474 1999-03-05  a sun  <asun@hecate.darksunrising.blah>
1475
1476         * libatalk/adouble/ad_lock.c: got rid of the endflag checks to
1477         reduce system calls a little. 
1478
1479         * etc/afpd/auth.c (getname): do a case-insensitive compare on the
1480         login name as well.
1481
1482         * sys/solaris/Makefile: added 64-bit solaris patch from
1483         <jason@pattosoft.com.au>.
1484
1485 1999-03-03  a sun  <asun@hecate.darksunrising.blah>
1486
1487         * include/netatalk/endian.h: make solaris 2.5 complain less.
1488
1489         * bin/adv1tov2/adv1tov2.c, libatalk/adouble/ad_open.c (ad_v1tov2):
1490         fixed a couple problems with the adv1tov2 stuff.
1491
1492 1999-02-26  a sun  <asun@hecate.darksunrising.blah>
1493
1494         * etc/afpd/volume.c (afp_openvol): erk. the volume password gets
1495         aligned along an even boundary.
1496
1497 1999-02-23  a sun  <asun@hecate.darksunrising.blah>
1498
1499         * etc/afpd/volume.c (readvolfile): added volume password support. 
1500
1501 1999-02-14  a sun  <asun@hecate.darksunrising.blah>
1502
1503         * etc/atalkd/multicast.c (addmulti): added FreeBSD's data-link
1504         layer multicast setting bits.
1505
1506         * libatalk/adouble/ad_open.c (ad_v1tov2): make sure to stick in
1507         prodos field info when converting.
1508
1509         * rc.atalk.redhat: added pidof checking in case the machine
1510         crashes. also added rc.atalk.wrapper to the redhat rc script
1511         installation. 
1512
1513 1999-02-07  a sun  <asun@hecate.darksunrising.blah>
1514
1515         * etc/afpd/fork.c (afp_setforkparams): make sure to do better
1516         error detection here and more fully report error conditions.
1517         
1518         (flushfork): make sure to flush the header if necessary (rfork
1519         length changed or modification date needs to be set).
1520
1521         (afp_write): ugh. this wasn't returning the right values for the
1522         last byte written if the endflag was set. in addition, it was
1523         setting the modification date. that should be left to FPCloseFork
1524         and FPFlush(Fork). this fixes a problem that shows up with
1525         QuarkXPress. 
1526
1527         NOTE: as of now, changes to the rfork info are the only things
1528         that aren't flushed immediately when altered. 
1529
1530         * etc/afpd/fork.c (get/setforkparams), ofork.c: what ugliness. we
1531         need to report bitmap errors if we try to fiddle with the wrong
1532         fork. i added an of_flags field to keep things sorted.
1533
1534         * libatalk/adouble/ad_open.c (ad_v1tov2): oops. in all of the
1535         movement, i forgot to make sure that the pre-asun2.2.0 features
1536         still compile.
1537
1538 1999-02-06  a sun  <asun@hecate.darksunrising.blah>
1539
1540         * etc/afpd/filedir.c (afp_moveandrename): make sure to save the
1541         old name even when it's a directory.
1542
1543         * globals.h: added oldtmp and newtmp to AFPObj to reduce the
1544         number of buffers used. use these when needed in afp_* calls.
1545
1546         * etc/afpd/directory.c (deletecurdir): delete stray .AppleDouble
1547         files when deleting a directory.
1548
1549 1999-02-05  a sun  <asun@hecate.darksunrising.blah>
1550
1551         * etc/afpd/file.c (afp_createfile): fixed a hard create error
1552         check bug. 
1553
1554         * fixed up a few bobbles in the netatalk-990130 merge.
1555
1556         * the noadouble option should be pretty much implemented. here's
1557         how it goes:
1558                 when a directory is created, the corresponding
1559                 .AppleDouble directory is not.
1560                 
1561                 comments, dates, and other file attributes will get
1562                 silently ignored and not result in the creation of a new
1563                 .AppleDouble directory.
1564
1565                 however, if anything possessing a resource fork is copied
1566                 into that directory, the corresponding .AppleDouble
1567                 directory will be created. once this happens, any
1568                 other file in the directory can acquire an AppleDouble
1569                 header file in the future.
1570                 
1571 1999-02-03  a sun  <asun@hecate.darksunrising.blah>
1572
1573         * merged in the rest of netatalk-990130.
1574
1575         * sys/solaris: merged in netatalk-990130 changes.
1576
1577         * etc/afpd/file.c,fork.c,desktop.c libatalk/adouble/ad_sendfile.c:
1578         tested and fixed the sendfile bits on linux. it looks like linux
1579         doesn't permit socket -> file sendfiles yet.
1580
1581         * etc/afpd/fork.c (afp_read): we can't stream FPRead's with
1582         newline character checking on.
1583
1584 1999-02-02  a sun  <asun@hecate.darksunrising.blah>
1585
1586         * etc/afpd/fork.c (afp_flush), ofork.c (of_flush): FPFlush
1587         operates on a per-volume basis.
1588
1589 1999-01-31  a sun  <asun@hecate.darksunrising.blah>
1590
1591         * etc/afpd/file.c (copyfile): sendfile bits added here also.
1592
1593         * etc/afpd/desktop.c (afp_geticon): added sendfile bits here as
1594         well. 
1595
1596         * libatalk/adouble/ad_sendfile.c (ad_writefile/ad_readfile):
1597         implemented sendfile bits. currently, there's support for linux
1598         and freebsd. unfortunately, freebsd's implementation doesn't allow
1599         file->file or socket->file copies. bleah.
1600
1601 1999-01-30  a sun  <asun@hecate.darksunrising.blah>
1602
1603         * etc/afpd/file.c (setfilparams), directory (setdirparams),
1604         volume.c (volset): added in the beginnings of a NOADOUBLE option
1605         for those that don't want AppleDouble headers to be created by
1606         default. it doesn't really work that well right now.
1607
1608 1999-01-29  a sun  <asun@hecate.darksunrising.blah>
1609
1610         * libatalk/adouble/ad_open.c (ad_v1tov2): separated v1tov2 bits
1611         from ad_refresh. made broken v1 header checking the default. fixed
1612         broken v1 date checking. now, it just checks to see if the v1
1613         MDATE is > than st_mtime by 5 years.
1614
1615         * etc/afpd/directory.c: make date setting alter directory dates as
1616         well. 
1617
1618 1999-01-24  a sun  <asun@hecate.darksunrising.blah>
1619
1620         * etc/afpd/afp_dsi.c (alarm_handler,afp_over_dsi): added a
1621         CHILD_RUNNING flag to prevent afpd from timing out on long copies.
1622
1623 1999-01-21  a sun  <asun@hecate.darksunrising.blah>
1624
1625         * etc/afpd/volume.c (afp_openvol), libatalk/cnid/cnid_nextid.c:
1626         shift the beginning of the fake did's if necessary.
1627
1628         * libatalk/adouble/ad_open.c (ad_refresh): fixed screwed-up date
1629         detection code.
1630
1631         * libatalk/cnid/cnid_add.c,cnid_open.c,cnid_close.c: made some
1632         changes so that the CNIDs will still work even when the .AppleDB
1633         directory is read-only. if you're still allowed to create files on
1634         these volumes, you'll get a temporary id for those.
1635
1636 1999-01-20  a sun  <asun@hecate.darksunrising.blah>
1637
1638         * libatalk/cnid/{cnid_close.c,cnid_open.c}: added bits so that log
1639         files get cleared out on cnid_close() if it's the last user for a
1640         volume.
1641
1642 1999-01-18  a sun  <asun@hecate.darksunrising.blah>
1643
1644         * etc/afpd/volume.c (afp_setvolparams): added FPSetVolParms. this
1645         allows us to set the backup date on the server.
1646
1647         * etc/afpd/file.c (afp_exchangefiles): whee! we now have
1648         FPExchangeFiles. we also have FPDeleteID, so that only leaves us
1649         with FPCatSearch to do.
1650
1651 1999-01-16  a sun  <asun@hecate.darksunrising.blah>
1652
1653         * sys/solaris/ddp.c (ddp_rput): added a couple htons()'s for the
1654         net addresses.
1655
1656 1999-01-11  a sun  <asun@hecate.darksunrising.blah>
1657
1658         * etc/afpd/volume.c (volset, afp_openvol): you can now specify a
1659         dbpath= in AppleVolumes.* for the CNID database.
1660
1661         * libatalk/adouble/ad_open.c (ad_refresh): if we build in an
1662         appledouble v1 environment, turn on v1compat by default.
1663
1664 1999-01-10  a sun  <asun@hecate.darksunrising.blah>
1665
1666         * libatalk/adouble/ad_open.c (ad_refresh): added v1compat option
1667         to handle broken ad headers.
1668
1669         * etc/afpd/file.c (setfilparams): we need to make sure that we
1670         flush the file if we've created it even if there's an error.  the
1671         magic number/version don't get saved if we don't.
1672
1673         * etc/afpd/appl.c, etc/afpd/directory.c, etc/afpd/desktop.c: added
1674         DIRBITS to mkdirs.
1675
1676 1998-12-30  a sun  <asun@hecate.darksunrising.blah>
1677
1678         * etc/afpd/volume.c (afp_openvol): got rid of unnecessary v_did.
1679
1680         * etc/afpd/file.c (afp_resolveid, afp_createid): added these two
1681         in. 
1682
1683         * well, what do you know? the cnid stuff compiles in. 
1684
1685 1998-12-29  a sun  <asun@hecate.darksunrising.blah>
1686
1687         * etc/afpd/fork.c, directory.c, file.c, filedir.c, volume.c,
1688         enumerate.c: added in stubs for CNID database conditional on
1689         AD_VERSION > AD_VERSION1.
1690
1691         * etc/afpd/nls/makecode.c: added iso8859-1 mapping.
1692
1693 1998-12-27  a sun  <asun@hecate.darksunrising.blah>
1694
1695         * bin/adv1tov2/adv1tov2.c: turn non-printable ascii characters
1696         into hex code as well.
1697
1698 1998-12-21  a sun  <asun@hecate.darksunrising.blah>
1699
1700         * etc/afpd/auth.c: fixed FPChangePW for 2-way randnums.
1701
1702 1998-12-15  a sun  <asun@hecate.darksunrising.blah>
1703
1704         * etc/afpd/fork.c (read_file/write_file): do crlf translation in
1705         both directions so that we can recover from problems if
1706         necessary. 
1707
1708 1998-12-14  a sun  <asun@hecate.darksunrising.blah>
1709
1710         * bin/adv1tov2/adv1tov2.c: small utility program that recursively
1711         descends a directory and converts everything it sees into
1712         AppleDouble v2.
1713
1714 1998-12-13  a sun  <asun@hecate.darksunrising.blah>
1715
1716         * libatalk/adouble/ad_flush.c (ad_rebuild_header): moved the
1717         header rebuilding here so that ad_refresh can use it.
1718
1719         * libatalk/adouble/ad_open.c (ad_refresh): added locking to v1->v2
1720         conversion.
1721
1722         * bin/megatron/asingle.c: yuk. removed all of
1723         the duplicate stuff here and had it use the #defines in adouble.h.  
1724
1725         * libatalk/adouble/ad_open.c (ad_refresh): finished v1 -> v2
1726         conversion routine. we still need a shortname creator and a cnid
1727         database for the v2 features to be useful. 
1728
1729 1998-12-11  a sun  <asun@hecate.darksunrising.blah>
1730
1731         * libatalk/adouble/ad_open.c (ad_refresh): punt if we get a file
1732         that we don't understand.
1733
1734 1998-12-10  a sun  <asun@hecate.darksunrising.blah>
1735
1736         * etc/afpd/desktop.c (utompath,mtoupath): simplified the codepage
1737         stuff. also made sure to lower/upper the 8-bit characters as
1738         well. 
1739
1740         * libatalk/util/strdicasecmp.c: the casemapping had a few wrong
1741         characters. 
1742
1743         * etc/afpd/fork.c (getforkparams): make sure that the ROpen/DOpen
1744         attribute bits are in the correct byte ordering.
1745
1746 1998-12-09  a sun  <asun@hecate.darksunrising.blah>
1747
1748         * etc/afpd/volume.c (volset): made prodos an option to options=
1749         flag. also added crlf as an option.
1750
1751         * libatalk/adouble/ad_open.c (ad_refresh): fix up times if
1752         necessary. 
1753         (ad_open): deal correctly with 0-length files by treating them as
1754         newly created. 
1755
1756         * etc/afpd/volume.c (getvolparams), file.c (get/setfilparams),
1757         fork.c (getforkparams), directory.c (get/setdirparams): finished
1758         adding appledouble version 1 and 2 date conversion. also added
1759         attribute setting. 
1760         
1761         * etc/afpd/volume.c (getvolparams): make sure to flush the header
1762         file if we needed to fiddle with it. 
1763
1764         * libatalk/adouble/ad_date.c, ad_attr.c: date/attribute
1765         setting/retrieval code. 
1766
1767         * libatalk/adouble/ad_open.c (ad_open): initialize date
1768         structures here instead of elsewhere. 
1769
1770 1998-12-07  a sun  <asun@hecate.darksunrising.blah>
1771
1772         * etc/afpd/directory.c, fork.c, volume.c, file.c: added unix<->afp
1773         time conversion code. 
1774
1775 1998-12-05  a sun  <asun@hecate.darksunrising.blah>
1776
1777         * etc/afpd/volume.c (volset): changed prodos setting to
1778         prodos=true. 
1779
1780 1998-12-04  a sun  <asun@hecate.darksunrising.blah>
1781
1782         * etc/afpd/volume.c (volset): okay. you now have the following
1783         options to casefold: lowercase,uppercase,xlatelower,xlateupper
1784                 tolower    -> lowercases everything in both directions
1785                 toupper    -> uppercases everything in both directions
1786                 xlatelower -> client sees lowercase, server sees uppercase
1787                 xlateupper -> client sees uppercase, server sees lowercase
1788
1789         NOTE: you only should use this if you really need to do so. this
1790         and the codepage option can cause mass confusion if applied
1791         blindly to pre-existing directories.
1792         
1793 1998-12-03  a sun  <asun@hecate.darksunrising.blah>
1794
1795         * etc/afpd/desktop.c (utompath,mtoupath), etc/afpd/volume.h: added
1796         multiple options to casefold. bits 0 and 1 deal with MTOU, and
1797         bits 2 and 3 deal with UTOM. i did it that way so that you can
1798         casefold in one direction only or in both directions if
1799         desired. needless to say, setting both bits for UTOM or MTOU
1800         doesn't make any sense. right now, toupper takes precedence in
1801         MTOU, and tolower takes precedence in UTOM.
1802
1803 1998-12-02  a sun  <asun@hecate.darksunrising.blah>
1804
1805         * etc/afpd/afp_options.c (afp_options_*): added -uampath and
1806         -codepagepath to the list of available options. they specify the
1807         directories to look for uam modules and codepages,
1808         respectively. currently, -uampath doesn't do anything.
1809
1810         * etc/afpd/volume.c (readvolfile): spruced up options to
1811         AppleVolumes files. now you can have mtoufile=<codepage.x>,
1812         utomfile=<codepage.y>, casefold=<num> for volumes.
1813
1814         * etc/afpd/desktop.c (utompath,mtoupath): added
1815         codepage/casefolding support. casefold is currently an int that
1816         could have multiple actions. right now, i just lowercase in
1817         mtoupath and uppercase in utompath.
1818
1819         * etc/afpd/ofork.c (of_alloc, of_findname, of_rename): added vol
1820         as an additional specifier so that we don't have problems with
1821         the same path names on multiple volumes. 
1822
1823 1998-11-29  a sun  <asun@purgatorius.zoology.washington.edu>
1824
1825         * etc/afpd/volume.c (getvolparams): added AFP2.1 volume attribute
1826         bits. 
1827
1828 1998-11-24  a sun  <asun@purgatorius.zoology.washington.edu>
1829
1830         * etc/atalkd/config.c (readconf, getifconf): added IFF_SLAVE to
1831         prevent atalkd from trying to use a slave channel.
1832
1833 1998-11-23  a sun  <asun@purgatorius.zoology.washington.edu>
1834
1835         * etc/afpd/volume.c (getvolparams): we shouldn't set the custom
1836         icon bit by default on the root directory. that screws up pre-OS 8
1837         systems.
1838
1839 1998-11-19  a sun  <asun@purgatorius.zoology.washington.edu>
1840
1841         * libatalk/dsi/dsi_getsess.c (dsi_getsession): ignore SIGPIPE's
1842         so that we can gracefully shut down the server side.
1843
1844         * etc/afpd/afp_dsi.c (afp_over_dsi), etc/afpd/afp_options.c,
1845         libatalk/dsi/dsi_getsess.c (dsi_getsession),
1846         libatalk/asp/asp_getsess.c (asp_getsession): made the tickle timer
1847         interval an option (-tickleval <sec>).
1848         
1849         * etc/afpd/afp_dsi.c (afp_dsi_timedown): added child.die so that
1850         we don't stomp on a shutdown timer. libatalk/dsi/dsi_read.c,
1851         dsi_write.c both save/restore the old timer, so they don't really
1852         care what the actual value is. 
1853         
1854 1998-11-18  a sun  <asun@purgatorius.zoology.washington.edu>
1855
1856         * due to the recent obsession with bug fixing and low-level dsi
1857         cleanups, i've decided that this should really be asun2.1.1
1858         instead of asun2.1.0a.
1859
1860 1998-11-17  a sun  <asun@purgatorius.zoology.washington.edu>
1861
1862         * libatalk/dsi/dsi_tcp.c (dsi_tcp_open): moved the afpd connection
1863         announcement here from etc/afpd/afp_dsi.c. 
1864         
1865         * libatalk/dsi/dsi_stream.c: moved all of the read/write functions
1866         into here as they're pretty generic. now, the protocol specific
1867         stuff only handles open and close. 
1868
1869         * etc/afpd/fork.c (afp_read/write), desktop.c (afp_geticon),
1870         file.c (copyfile), include/atalk/dsi.h (dsi_writefile/readfile):
1871         added initial stubs for sendfile support. i still need to go
1872         through and calculate the appropriate offsets to use. 
1873
1874         * libatalk/dsi/dsi_read.c, dsi_write.c: disable the interval timer
1875         instead of just ignoring it.
1876
1877         * etc/afpd/desktop.c (afp_geticon), etc/afpd/fork.c (afp_read),
1878         libatalk/dsi/dsi_read.c (dsi_readinit, dsi_readinit): modified the
1879         dsi_read interface to return errors so that i can kill things
1880         gracefully. 
1881
1882 1998-11-16  a sun  <asun@purgatorius.zoology.washington.edu>
1883
1884         * libatalk/dsi/dsi_tcp.c (dsi_tcp_send/dsi_tcp_write): erk. read()
1885         and write() treat a return of 0 differently. 
1886
1887 1998-11-16  a sun  <asun@hecate.darksunrising.blah>
1888
1889         * libatalk/dsi/dsi_read.c (dsi_readinit): make sure to stick in
1890         the error code.
1891
1892 1998-11-15  a sun  <asun@purgatorius.zoology.washington.edu>
1893
1894         * etc/afpd/fork.c (afp_read): re-ordered some of the checks here
1895         to return earlier on 0-sized files.
1896
1897 1998-11-13  a sun  <asun@purgatorius.zoology.washington.edu>
1898
1899         * etc/afpd/afp_dsi.c (afp_over_dsi): moved the dsi->noreply toggle
1900         check to here from dsi_cmdreply.
1901
1902 1998-11-11  a sun  <asun@purgatorius.zoology.washington.edu>
1903
1904         * etc/atalkd/zip.c (zip_packet): make sure to copy multicast zone
1905         back out. (reported by Michael Zuelsdorff <micha@dolbyco.han.de>)
1906
1907 1998-11-09  a sun  <asun@purgatorius.zoology.washington.edu>
1908
1909         * etc/afpd/directory.c (getdirparams): changed unknown bit reply
1910         code to AFPERR_BITMAP instead of AFPERR_PARAM.
1911
1912 1998-11-06  a sun  <asun@purgatorius.zoology.washington.edu>
1913
1914         * etc/afpd/enumerate.c (afp_enumerate), directory.c (renamedir):
1915         fixed a couple of failed realloc leaks.
1916
1917         * etc/afpd/filedir.c (afp_moveandrename, afp_rename): added bits
1918         to deal with case-insensitive, case-preserving filesystems.
1919
1920 1998-10-30  a sun  <asun@purgatorius.zoology.washington.edu>
1921
1922         * etc/afpd/auth.c: fixed randnum password changing check. 
1923
1924 1998-10-27  a sun  <asun@purgatorius.zoology.washington.edu>
1925
1926         * etc/atalkd/main.c: add a check for SIOCATALKDIFADDR if
1927         SIOCDIFADDR fails.
1928         
1929         * etc/afpd/volume.c (getvolparams): ad_open had the wrong
1930         parameters. 
1931
1932         * etc/afpd/unix.c (setdeskowner): added a little extra space to
1933         prevent buffer overflows here.
1934
1935 1998-10-26  a sun  <asun@purgatorius.zoology.washington.edu>
1936
1937         * sys/linux/Makefile: fixed PAM message.
1938
1939         * sys/solaris/Makefile: make failure to ln -s a non-fatal error. 
1940
1941         * etc/papd/session.c, bin/pap/pap.c: changed sequence count to
1942         wrap from 0 -> 1 instead of from 0xFFFF -> 1.
1943
1944         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): actually, we
1945         should check against the entire unix name.
1946         
1947 1998-10-21  a sun  <asun@purgatorius.zoology.washington.edu>
1948
1949         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure
1950         to check against mac name.
1951
1952 1998-10-19  a sun  <asun@purgatorius.zoology.washington.edu>
1953
1954         * etc/afpd/auth.c (afp_changepw): make password changing deal
1955         correctly with "real" user names. also, moved seteuid() to before
1956         the pam_authenticate() bit as shadow passwords need that.
1957
1958         * etc/afpd/enumerate.c (afp_enumerate): make sure to check the mac
1959         name against MACFILELEN.
1960
1961 1998-10-16  a sun  <asun@purgatorius.zoology.washington.edu>
1962
1963         * etc/afpd/file.c (renamefile), filedir.c (afp_rename),
1964         directory.c (renamedir): use strndiacasecmp() for AFPERR_SAMEOBJ
1965         checks. also make sure test occurs before checking to see if the
1966         destination exists.
1967
1968 1998-10-15  a sun  <asun@purgatorius.zoology.washington.edu>
1969
1970         * etc/afpd/auth.c (afp_changepw): fixed a bit of brain damage. i
1971         forgot that password changing needs root privileges to work.
1972
1973         * etc/afpd/auth.c (PAM_conversation): the supplied code was
1974         incorrect. i cleaned it up a bit.
1975
1976         * sys/linux/Makefile: fixed the installation bits.
1977
1978 1998-10-14  a sun  <asun@purgatorius.zoology.washington.edu>
1979
1980         * etc/afpd/auth.c (afp_changepw): don't kill the connection here
1981         if there's a problem.
1982
1983 1998-10-10  a sun  <asun@purgatorius.zoology.washington.edu>
1984
1985         * etc/afpd/enumerate.c, fork.c, ofork.c, file.c,
1986         globals.h, directory.c, auth.c: #defined MACFILELEN and used
1987         that. also made sure that files > MACFILELEN never show up.
1988
1989 1998-09-25  a sun  <asun@purgatorius.zoology.washington.edu>
1990
1991         * etc/{afpd,papd,atalkd}/bprint.c (bprint): got rid of the
1992         spurious pointer dereference.
1993
1994         * etc/afpd/ofork.c (of_alloc/of_rename): allocate the max mac file
1995         length so that we don't need to realloc.
1996
1997         * etc/afpd/filedir.c (afp_rename, afp_moveandrename): make sure to
1998         return AFPERR_BUSY if the dest has an ofork open.
1999
2000         * etc/afpd/file.c (renamefile), directory.c (renamedir), filedir.c
2001         (afp_rename): return AFPERR_SAMEOBJ if source == dest
2002
2003 1998-09-21  a sun  <asun@purgatorius.zoology.washington.edu>
2004
2005         * etc/afpd: went through and looked for places that needed to use
2006         curdir instead of dir. i think i have them all right now.
2007
2008         * etc/afpd/filedir.c (afp_moveandrename): wasn't keeping track of
2009         curdir correctly. what this really means is that cname should be
2010         fixed to return everything it changes as opposed to changing a
2011         global variable. 
2012
2013 1998-09-19  a sun  <asun@purgatorius.zoology.washington.edu>
2014
2015         * etc/afpd/config.c (configinit): do the right thing if
2016         AFPConfigInit fails.
2017
2018 1998-09-18  a sun  <asun@purgatorius.zoology.washington.edu>
2019
2020         * etc/afpd/config.c (ASP/DSIConfigInit, configfree): how 
2021         embarrassing. i wasn't doing refcounts correctly.
2022
2023 1998-09-17  a sun  <asun@purgatorius.zoology.washington.edu>
2024
2025         * etc/afpd/nfsquota.c (getnfsquota): ultrix uses dqb_bwarn instead
2026         of dqb_btimelimit.
2027
2028         * sys/ultrix/Makefile: ultrix understands the old rquota format. 
2029
2030         * etc/afpd/ofork.c (of_findname): erk. forgot to only search in
2031         the current directory. 
2032         (of_rename): erk. changed it to handle renaming a file that has
2033         been opened multiple times.
2034
2035         * etc/atalkd: made sure that if you don't specify -router, things
2036         are as they were before. 
2037
2038 1998-09-13  a sun  <asun@purgatorius.zoology.washington.edu>
2039
2040         * etc/afpd/status.c (status_flags): forgot to turn on password
2041         setting if randnum passwords are being used.
2042
2043 1998-09-11  a sun  <asun@purgatorius.zoology.washington.edu>
2044
2045         * etc/afpd/unix.c (setdirmode): erk. make sure only to setgid on
2046         directories. 
2047
2048         * bin/aecho/aecho.c (main): incorporated -c <num> (ala ping) patch
2049         from "Fred Lindberg" <lindberg@id.wustl.edu>.
2050
2051 1998-09-03  a sun  <asun@purgatorius.zoology.washington.edu>
2052
2053         * etc/afpd/directory.c (afp_closedir, afp_opendir): added these in
2054         for more AFP 2.0 compliance. unfortunately, apple's appleshare
2055         client doesn't like non-fixed directory ids.
2056
2057 1998-08-31  a sun  <asun@purgatorius.zoology.washington.edu>
2058
2059         * etc/afpd/volume.c (accessvol): the accessible volume list can
2060         now be controlled by groups and usernames. just use something of
2061         the following form: @group,name,name2,@group2,name3
2062
2063         NOTE: you can't have any spaces, and the parser forces you to
2064         include all options. in this case, there are some apple II options
2065         that need to be entered. they need to go away soon anyway.
2066
2067         * etc/afpd/auth.c (getname): oops. i forgot to copy the gecos
2068         field into a temporary buffer before calling strtok.
2069
2070 1998-08-29  a sun  <asun@hecate.darksunrising.blah>
2071
2072         * etc/atalkd/main.c (as_timer), rtmp.c (rtmp_delzones): when the 
2073         last router on an interface goes down, we need to delete the
2074         interface's zone table.
2075
2076 1998-08-28  a sun  <asun@purgatorius.zoology.washington.edu>
2077
2078         * etc/afpd/status.c (afp_getsrvrinfo): although it's never used,
2079         i've added this in to increase AFP compliance.
2080
2081         * etc/afpd/auth.c (afp_getuserinfo): added FPGetUserInfo -- this
2082         should make afpd compatible with OS 8.5's Nav Services.
2083
2084         * etc/atalkd/config.c,main.c: -router now specifies router mode
2085         with any number of interfaces.
2086
2087 1998-08-27  a sun  <asun@purgatorius.zoology.washington.edu>
2088
2089         * etc/atalkd/main.c (as_timer): well, i figured out how to set up
2090         atalkd as a single-interface router. now, you can get zones with
2091         only single interfaces! i'm only waiting on wes for the approved
2092         configuration toggle.
2093
2094 1998-08-26  a sun  <asun@purgatorius.zoology.washington.edu>
2095
2096         * libatalk/adouble/ad_lock.c, include/atalk/adouble.h: turned the
2097         ADLOCK_* into real #defines and added translations in the
2098         lock-type specific functions. this should make it easier to
2099         recompile things without screwing up.
2100
2101 1998-08-26  a sun  <asun@hecate.darksunrising.blah>
2102
2103         * etc/atalkd/nbp.c (nbp_packet): forgot to handle another local
2104         zone case.
2105
2106 1998-08-25  a sun  <asun@hecate.darksunrising.blah>
2107
2108         * etc/afpd/status.c (status_server): changed status_server to
2109         use only the obj part of obj:type@zone-style names.
2110
2111         * etc/atalkd/nbp.c (nbp_packet): unregistering wasn't handling
2112         zones properly. it was matching on anything but the actual zone.
2113
2114 1998-08-18  a sun  <asun@purgatorius.zoology.washington.edu>
2115
2116         * etc/afpd/auth.c (clrtxt_login): added pam_set_time(PAM_TTY) so
2117         that solaris' pam session setup doesn't crap out.
2118
2119 1998-08-17  a sun  <asun@purgatorius.zoology.washington.edu>
2120
2121         * etc/atalkd/multicast.c (zone_bcast): fixed to do the right thing
2122         with zip multicast info.
2123
2124 1998-08-15  a sun  <asun@purgatorius.zoology.washington.edu>
2125
2126         * etc/afpd/nfsquota.c: made the old-style rquota fields dependent
2127         upon -DUSE_OLD_RQUOTA and defined that for sunos. also included
2128         <sys/time.h> for ultrix breakage.
2129
2130 1998-08-13  a sun  <asun@purgatorius.zoology.washington.edu>
2131
2132         * etc/afpd/filedir.c (afp_rename), etc/afpd/ofork.c (of_rename): i
2133         knew that speeding up of_findname would be useful. in any case, i
2134         discovered the source of yet another small AFP non-compliance that
2135         was confusing WordPerfect. on an afp_rename, we also need to
2136         rename the corresponding ofork. i've added an of_rename() to do
2137         this.
2138
2139 1998-08-13  a sun  <asun@hecate>
2140
2141         * etc/afpd/ofork.c (of_dealloc,of_alloc): sped up dealloc by
2142         sticking refnum in ofork.
2143
2144 1998-08-12  a sun  <asun@hecate>
2145
2146         * etc/afpd/fork.c (afp_openfork): added already open attribute
2147         bits.
2148
2149         * etc/afpd/ofork.c: added a hashed of_findname.
2150
2151 1998-08-06  a sun  <asun@purgatorius.zoology.washington.edu>
2152
2153         * etc/afpd/fork.c (afp_openfork): fixed a problem with opening
2154         forks from read-only non-appledouble media.
2155
2156 1998-07-23  a sun  <asun@purgatorius.zoology.washington.edu>
2157
2158         * etc/afpd/afs.c (afs_getvolspace), etc/afpd/volume.c
2159         (getvolspace): modified them to treak afs like the other
2160         getvolspaces w.r.t. VolSpace.
2161
2162 1998-07-21  a sun  <asun@purgatorius.zoology.washington.edu>
2163
2164         * etc/afpd/unix.c (mountp): erk. i forgot that symlinks are often
2165         used for filesystems. nfs quotas sometimes failed as a
2166         result. that's fixed now.
2167
2168 1998-07-20  a sun  <asun@purgatorius.zoology.washington.edu>
2169
2170         * etc/afpd/auth.c (login): added a -DRUN_AS_USER #define so that
2171         it's simple to run the server process as a non-root user.
2172
2173 1998-07-17  a sun  <asun@purgatorius.zoology.washington.edu>
2174
2175         * etc/afpd/nfsquota.c (callaurpc, getnfsquota), volume.h: it turns
2176         out that i was opening lots of sockets with callaurpc. now, the
2177         socket gets saved and reused.
2178
2179         NOTE: quota-1.55-9 from redhat 5.x doesn't return the correct size
2180         for rquota's bsize. unless fixed, rquota will report incorrect
2181         values. 
2182         
2183 1998-07-08  a sun  <asun@purgatorius.zoology.washington.edu>
2184
2185         * etc/afpd/uam/README: added some preliminary ideas on a
2186         plug-in uam architecture. in addition, this should allow arbitrary
2187         afp function replacement. eventually, auth.c should get a
2188         bit cleaner.
2189
2190 1998-07-07  a sun  <asun@purgatorius.zoology.washington.edu>
2191
2192         * etc/afpd/nfsquota.c: added headers and redefined a couple
2193         structure fields so that sunos4 compiles.
2194
2195         * libatalk/compat/rquota_xdr.c: compile if we're using glibc <
2196         2. this should get redhat 4.2 machines. NOTE: they're still
2197         missing librpcsvc.a, so they'll need to remove that from the
2198         etc/afpd/Makefile. 
2199
2200 1998-07-06  a sun  <asun@purgatorius.zoology.washington.edu>
2201
2202         * libatalk/compat/rquota_xdr.c: it turns out that solaris is
2203         missing a couple functions needed for rquota support. here they
2204         are. 
2205
2206         * etc/afpd/unix.c (mountp): fixed the nfs detection for
2207         solaris. we still need bsd and ultrix.
2208
2209 1998-07-05  a sun  <asun@hecate>
2210
2211         * include/atalk/adouble.h: marked out space for appledouble v2. 
2212
2213 1998-07-04  a sun  <asun@hecate>
2214
2215         * etc/afpd: plugged up some ad_open leaks. made sure that we don't
2216         get negative numbers for length fields and such.
2217         
2218 1998-07-04  a sun  <asun@hecate>
2219
2220         * etc/afpd/nfsquota.c (getnfsquota): added nfs rquota
2221         support. Robert J. Marinchick <rjm8m@majink1.itc.virginia.edu>
2222         provided the initial bits from the bsd quota program. 
2223
2224         * etc/afpd/unix.c (getquota): made getquota call getfsquota or
2225         getnfsquota depending upon the type of fs. 
2226
2227         * etc/afpd/unix.c (mountp/special): munged mountp and
2228         special to return either the nfs mount point or the fs
2229         device. set the vol->v_nfs flag if it's nfs.
2230
2231         * etc/afpd/volume.c (getvolspace): xbfree and xbtotal will now
2232         honor results returned from uquota_getvolspace.
2233         
2234 1998-06-29  a sun  <asun@purgatorius.zoology.washington.edu>
2235
2236         * etc/afpd/file.c (copyfile): mmapping the file copy only helps on
2237         multiple copies. as that's not the case here, i've reverted to
2238         just doing read + write.
2239         
2240 1998-06-28  a sun  <asun@purgatorius.zoology.washington.edu>
2241
2242         * sys/linux/Makefile: fixed the redhat-style atalk
2243         installation. also, it doesn't over-write an existing
2244         /etc/rc.d/init.d/atalk file.
2245
2246         * etc/afpd, libatalk/adouble/ad_write.c: removed <sys/file.h> and
2247         </usr/ucbinclude/sys/file.h> so that we rely upon adouble.h.
2248
2249 1998-06-19  a sun  <asun@purgatorius.zoology.washington.edu>
2250
2251         * changed sys/linux/Makefile to install a redhat-style sysv atalk
2252         script instead of the bsd one.
2253
2254         * include/atalk/adouble.h: moved same-name list stub to struct
2255         ad_adf. 
2256         
2257 Thu Jun 18 18:20:28 1998  a sun  <asun@purgatorius>
2258
2259         * changed to asunx.y.z notation as i was getting tired of
2260         increasing numbers. as this version is undergoing a fairly
2261         substantial overhaul, i bumped it to 2.1.0. don't ask why asun1.0
2262         never existed. i just started at 2.0.
2263
2264         * ofork (etc/afpd/{ofork.c,ofork.h,fork.c}: put in skeleton code
2265         for hashed-by-name oforks and oforks which group by name to help
2266         with byte locks and of_findname.
2267
2268         * adouble (include/atalk/adouble.h): started implementing
2269         appledouble v2. mostly, i added bits to headers. v2 has wonderful
2270         bits that should make prodos support much less clunky, allow
2271         persistent dids, and allow msdos support.
2272
2273         * finder info: added bits to directory.c and file.c describing the
2274         actual contents of finder info (from IM: Toolbox
2275         Essentials). also, set default directory view to an allowed value
2276         thanks to a suggestion from the appledouble v2 specs. that should
2277         help with read-only media.
2278
2279         * etc/afpd/{directory.c,volume.c,afs.c,directory.h}: added
2280         DIRDID_ROOT and DIRDID_ROOT_PARENT so people know that these did's
2281         are reserved.
2282         
2283 Wed Jun 17 11:54:49 1998  a sun  <asun@purgatorius>
2284
2285         * well, i'm starting a changelog as i keep forgetting what i've
2286         done. 
2287
2288         * locks: revamped them to be more in line with what should
2289         happen. currently, i've reverted back to flock-style locks as i'll
2290         need to stick in more code to get fcntl-style locks to work
2291         properly. specifically, i think modifying of_alloc/of_dealloc to
2292         keep track of locks, fds, and names should solve the problem with
2293         fcntl locks being process-specific and not fd specific.
2294