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