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