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