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