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