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