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