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