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