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