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