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