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