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