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