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