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