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