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